Czy pliki tekstowe są bezpieczne?

Pliki z rozszerzeniem TXT są zwykle uważane za bezpieczne. Czy to prawda?

Pracownicy, którzy otrzymują wiadomości e-mail z zewnątrz, zwykle są poinformowani o tym, które pliki są potencjalnie niebezpieczne. Na przykład pliki EXE są domyślnie uważane za stwarzające zagrożenie, podobnie jak pliki DOCX i XLSX, które mogą zawierać szkodliwe makra. Ogólnie pliki tekstowe są uważane za nieszkodliwe, ponieważ nie mogą zawierać nic oprócz zwykłego tekstu. Jednak nie zawsze tak jest.

Badacze znaleźli sposób na wykorzystanie luki w zabezpieczeniach (która została już załatana) tego formatu. W rzeczywistości to nie format pliku jest problemem; chodzi o sposób, w jaki programy obsługują pliki TXT.

Luka CVE-2019-8761 w zabezpieczeniach systemu macOS

Badacz Paulos Yibelo opisał ciekawy sposób atakowania komputerów z systemem macOS przy użyciu plików tekstowych. Podobnie jak wiele innych rozwiązań zabezpieczających, wbudowany w macOS system bezpieczeństwa o nazwie Gatekeeper oznacza pliki tekstowe jako zaufane. Użytkownicy mogą pobrać je i otworzyć za pomocą wbudowanego edytora TextEdit, a żadna dodatkowa kontrola nie jest konieczna.

Jednak TextEdit ma nieco więcej możliwości niż przeznaczony dla systemu Microsoft Windows program Notepad. Może on np. wyświetlać tekst pogrubioną czcionką czy umożliwiać użytkownikom zmianę koloru czcionki. Z racji tego, że format TXT nie jest przeznaczony do przechowywania informacji związanych ze stylem, TextEdit korzysta z dodatkowych informacji technicznych, aby mógł wykonać zadanie. Na przykład jeśli plik rozpoczyna się od wiersza <!DOCTYPE HTML><html><head></head><body>, TextEdit zaczyna obsługiwać znaczniki HTML, nawet w pliku z rozszerzeniem .txt.

Umieszczenie na początku pliku tekstowego kodu HTML zmusza program TextEdit do przetworzenia tego kodu, a przynajmniej jego niektórych elementów.

Ataki możliwe do przeprowadzenia z użyciem plików tekstowych

Po dokładnym sprawdzeniu wszystkich możliwości, jakie ma potencjalna osoba planująca atak z wykorzystaniem tej metody, Yibelo okrył, że luka ta umożliwia:

  • Przeprowadzenie ataku DoS. Gatekeeper nie blokuje otwierania plików lokalnych z obiektu z rozszerzeniem TXT. Z tego względu otwieranie szkodliwego pliku tekstowego może doprowadzić do przeciążenia komputera, np. poprzez używanie kodu HTML w celu uzyskania dostępu do pliku /dev/zero, niewyczerpanego źródła pustych znaków.
  • Poznanie prawdziwego adresu IP użytkownika. Kod w pliku tekstowym może odwołać się do AutoFS, standardowego programu służącego do montowania systemów plików, który może zapewnić dostęp do dysku zewnętrznego. Chociaż działanie to samo w sobie jest nieszkodliwe (proces automatycznego montowania zmusza jądro systemu do wysłania żądania TCP, nawet jeśli użytkownik jest za serwerem proxy), twórca szkodliwego pliku tekstowego może poznać dokładny czas jego otwarcia i poznać prawdziwy adres IP.
  • Kradzież pliku. W dokumencie tekstowym zawierającym <iframedoc> mogą zostać umieszczone całe pliki. Z tego względu szkodliwy plik tekstowy może uzyskać dostęp do dowolnego pliku znajdującego się na komputerze ofiary, a następnie przesłać jego zawartość przy użyciu ataku „dangling markup”. Użytkownik musi tylko otworzyć plik.

Luka ta została zgłoszona firmie Apple w grudniu 2019 roku i otrzymała oznaczenie CVE-2019-8761W poście, którego autorem jest Paulos Yibelo, można znaleźć więcej informacji na temat wykorzystania omawianej luki w zabezpieczeniach.

Jak zadbać o bezpieczeństwo

Aktualizacja z 2020 roku załatała lukę CVE-2019-8761, jednak w oprogramowaniu tym mogą znajdować się inne błędy związane z TXT. Może nikt o niech jeszcze nie wie, a może ktoś już zastanawia się, jak je wykorzystać. A zatem, poprawna odpowiedź na pytanie: „Czy ten plik tekstowy jest bezpieczny?” brzmi mniej więcej tak: „Na tę chwilę tak. Ale nie trać czujności”.

Dlatego zalecamy zorganizowanie szkolenia dla wszystkich pracowników, podczas którego nauczą się oni traktować każdy plik jako potencjalnie niebezpieczny, nawet jeśli wygląda on jak nieszkodliwy plik tekstowy.

Ponadto warto zlecić kontrolę nad wszystkimi informacjami otrzymywanymi spoza firmy wewnętrznemu lub zewnętrznemu zespołowi SOC.

Porady