Stan zagrożeń w internecie znajduje się obecnie na poziomie standardowym. Nie występują duże epidemie a eksperci z Kaspersky Lab nie zanotowali żadnych poważnych incydentów związanych z bezpieczeństwem. Poziom zagrożenia: 1

Rozwój złośliwego oprogramowania: luki w MacOS X 2005 - 2006

Tagi:

Claudiu Dumitru

Artykuł ten stanowi przegląd luk wykrytych w systemie MacOS X w pierwszej połowie 2006 roku. Porównanie tych luk z lukami wykrytymi w pierwszej połowie 2005 roku ukazuje, w jaki sposób ewoluowały zagrożenia dla tej coraz popularniejszej platformy.

Wstęp

Apple Macintosh staje się coraz popularniejszy. Jednak najnowsze raporty na temat bezpieczeństwa systemów MacOS X wywołały sporo dyskusji wśród ekspertów bezpieczeństwa. Osoby, które wyrażały obawy w związku z rosnącą liczbą luk wykrywanych w MacOS X oskarżane były o przesadną reakcję. Z drugiej strony, ci, którzy nie przyjmują takiego stanowiska, posądzani są o brak zdrowego rozsądku. Artykuł ten analizuje różne aspekty ewolucji zagrożeń dla systemu MacOS X, aby czytelnicy mogli lepiej zrozumieć toczącą się dyskusję dotyczącą tego, jak bezpieczne są w rzeczywistości Macintoshe i jak bezpieczne pozostaną.

Według mnie, komputery out-of-the-box działające pod kontrolą systemu MacOS X, są bezpieczniejsze niż te działające pod kontrolą innych platform. Uniksowy model bezpieczeństwa systemu MacOS X jest domyślnie tak skonfigurowany, aby chronił system przed zagrożeniami, które są powszechne dla innych platform, dla których ten rodzaj bezpieczeństwa i konfiguracji nie jest standardem. Można powiedzieć, że system MacOS X od początku projektowany był z myślą o bezpieczeństwie. Jednak chociaż podejście to wydaje się dopuszczać o wiele mniej luk, które mogłyby zostać wykorzystane, zakładanie, że system ten wolny jest od problemów bezpieczeństwa jest bardzo beztroskie. Jak każda inna platforma, system MacOS X zawiera błędy. Takie błędy nieuchronnie przyciągają uwagę złośliwych użytkowników, szczególnie gdy użytkownicy uważają, że nie muszą kłopotać się zabezpieczeniem przed potencjalnymi zagrożeniami.

Jednym z interesujących aspektów zidentyfikowanych luk są komponenty, w który są one obecne. Liczba luk wykrytych w komponentach, w których możliwe jest przeprowadzenie zdalnych ataków, wzrosła w porównaniu z takim samym okresem w zeszłym roku. Świadczy to o coraz większym zainteresowaniu możliwymi wektorami ataków.

Statystyki

0607_macos_chart1_en.jpg

Rysunek 1: Porównanie liczby luk w systemie MacOS X i produktach pokrewnych w pierwszej połowie (styczeń - maj) 2005 roku oraz pierwszej połowie 2006 roku.

Liczba luk zidentyfikowanych w jądrze systemu operacyjnego oraz związanych z nim komponentach jest mniejsza niż w 2005 roku. Wzrosła jednak liczba luk dotyczących aplikacji Safari i Mail, które mogą zostać wykorzystane do przeprowadzenia ataku za pośrednictwem Internetu. To samo odnosi się do QuickTime, który w pierwszej połowie 2006 roku stanowił popularny temat wśród ekspertów ds. bezpieczeństwa.

Diagram powyżej uwzględnia również serię luk wykrytych w produktach innych producentów, które działają pod kontrolą MacOS X. Do kategorii tej należą również aplikacje, które instalowane są w systemie operacyjnym domyślnie, ale nie są typowe dla MacOS X. Na przykład w okresie tym wykryto kilka luk w Java VM firmy Sun, które mogą być groźne dla MacOS X, ale również wszystkich innych systemów operacyjnych obsługujących implementację Javy firmy Sun.

Jednym z interesujących rezultatów porównania jest spadek liczby luk w jądrze MacOS X (Mach) oraz pokrewnych komponentach / bibliotekach w stosunku do 2005 roku. Liczba wykrytych luk wciąż jest jednak spora. Najpopularniejszy był prawdopodobnie lokalny exploit "passwd" (exploit oparty na luce zero day) zgłoszony 3 lutego 2006 roku, który został wykorzystany do włamania się do systemu Dave'a Schroedera podczas konkurencji “rm-my-mac”.

Złośliwe programy atakujące MacOS X

Złośliwe programy atakujące MacOS X są stosunkowo mało rozpowszechnione. Społeczność "makowa" była zaskoczona, gdy 13 lutego 2006 roku pojawił się pierwszy robak dla MacOS X. Szkodnik został nazwany IM-Worm.OSX.Leap.a. Leap jest robakiem rozprzestrzeniającym się za pośrednictwem komunikatora internetowego, który potrafi również infekować aplikacje MacOS X. Jednak z powodu błędu w kodzie szkodnika zainfekowane programy przestają działać.

Robak został po raz pierwszy zauważony na forach MacRumors (http://forums.macrumors.com/) wieczorem 13 lutego 2006 roku. Pierwotna wiadomość miała następującą treść: "Domniemane zrzuty ekranu OS 10.5 Leopard" i była to oczywista próba skłonienia podstępem niczego niepodejrzewających użytkowników do uruchomienia złośliwego kodu.

Robak wykorzystuje do rozprzestrzeniania się komunikator internetowy Apple'a "iChat". Alternatywnymi sposobami przedostania się do systemu może być pobranie i bezpośrednie uruchomienie przez użytkownika kodu robaka lub uruchomienie zainfekowanej aplikacji ze zdalnej lokalizacji. Ponieważ robak nie potrafi infekować systemu automatycznie, nazywany był również "trojanem", chociaż nie jest całkowicie właściwa klasyfikacja. Żaden trojan nie jest zdolny do rozprzestrzeniania się, podczas gdy Leap.a jest.

Robak rozprzestrzenia się jako archiwum TAR.GZ o nazwie "latestpics.tgz". Po rozpakowaniu archiwum (wykorzystując narzędzie wiersza poleceń 'tar' lub klikając je dwukrotnie w oknie Findera) użytkownik otrzyma coś, co wygląda jak plik JPEG:

0607_macos_pic1.jpg

W rzeczywistości jest to plik wykonywalny dla platformy PowerPC, o czym można się przekonać otwierając okno "Get info" w Finderze:

0607_macos_pic2.jpg

"Latestpics" jest aplikacją wiersza poleceń, dlatego przy uruchamianiu otwiera okno terminalu.

Z pewnych doniesień wynika, że gdy robak zostanie uruchomiony przez normalnego użytkownika, system operacyjny zapyta o prawa administracyjne. Nasze testy tego nie potwierdziły - uruchomienie robaka przebiega identycznie, niezależnie od konta, z którego korzysta użytkownik. Szkodnik będzie jednak mógł infekować tylko te pliki, dla których bieżący użytkownik posiada prawo zapisu.

Kolejną czynnością wykonywaną przez robaka jest wypakowanie z własnego kodu wtyczki InputManager o nazwie "apphook" . Jeżeli bieżący użytkownik posiada uprawnienia administratora, robak skopiuje wtyczkę do foldera "Library/InputManagers". W przeciwnym wypadku kopia robaka znajdzie się w folderze użytkownika "~/Library/InputManagers". Konsekwencje są następujące: wtyczki InputManagers z foldera głównego "/Library" będą ładowane do aplikacji uruchamianych przez wszystkich użytkowników, natomiast w drugim przypadku będą one ładowane do aplikacji uruchamianych wyłącznie przez użytkownika bieżącego.

Zadaniem wtyczki "apphook" jest rozprzestrzenianie robaka poprzez komunikator internetowy. Podejmuje ona próbę przechwycenia pewnych funkcji aplikacji iChat i wysyła kopię szkodnika do znajomych użytkownika zainfekowanego komputera.

Po zakończeniu instalacji wtyczki "apphook" kod robaka kontynuuje infekowanie lokalnych aplikacji. Przy użyciu systemowego składnika "Spotlight" szkodnik szuka listy najczęściej uruchamianych programów i próbuje je zainfekować. Procedura infekcji jest bardzo prosta: Leap nadpisuje swoim kodem główny plik wykonywalny, zapisując jednocześnie oryginalny kod aplikacji w części pliku przeznaczonej dla zasobów.

Przy uruchomieniu zainfekowanej aplikacji uruchamia się główny kod robaka i próbuje rozprzestrzeniać się w wyżej opisany sposób. Leap usiłuje wykonać oryginalną aplikację, jednak z powodu błędu w swoim kodzie - próby te są bezskutecznie. Oznacza to, że zainfekowane aplikacje przestają działać, co jest bardzo oczywistą oznaką infekcji.

Wydaje się, że autor robaka planował dodanie funkcji rozprzestrzeniania się za pośrednictwem poczty elektronicznej. Nie udało mu się jednak tego zrealizować, zanim kod pojawił się na forum MacRumors. Poza uszkadzaniem aplikacji podczas infekcji (co wydaje się efektem niezamierzonym) nie ma oznak innych funkcji destrukcyjnych zawartych w kodzie robaka.

18 lutego 2006 roku pojawił się kolejny robak dla systemu MacOS X. Inqtana rozprzestrzenia się poprzez Bluetooth wysyłając do potencjalnej ofiary żądanie transmisji danych Object Exchange (OBEX) Push. Jeżeli użytkownik zaakceptuje żądanie, robak wykorzysta lukę "Bluetooth File and Object Exchange Directory Traversal" w celu uzyskania dostępu do plików i folderów poza ścieżką systemową Bluetooth File and Object Exchange.

Robak umieszcza w folderze LaunchAgents dwa pliki: com.openbundle.plist oraz com.pwned.plist, co zapewnia mu uruchomienie wraz z każdym restartem komputera ofiary. W folderze /Users/ umieszczany jest plik w0rm-support.tgz zawierający komponenty robaka.

Po ponownym uruchomieniu systemu operacyjnego com.openbundle.plist wypakowuje składniki robaka, a com.pwned.plist uruchamia jego główną bibliotekę. Następnie Inqtana próbuje rozmnażać się poprzez skanowanie w poszukiwaniu urządzeń z włączoną usługą Bluetooth i wysyła własne kopie na każde znalezione urządzenie, które obsługuje żądania Object Exchange (OBEX) Push.

Z czasem okazało się, że autorem robaka Inqtana był specjalista ds. bezpieczeństwa Kevin Finisterre, który stworzył go jako "proof of concept".

21 lutego pojawiły się dwa exploity zero-day atakujące system MacOS X: Exploit.OSX.Safari.a został wykryty przez Michaela Lehna, a Exploit.OSX.ScriptEx.a. - przez Kevina Finisterre'a (autora Inqtana). Oba eksploity były szeroko komentowane w mediach IT.

Exploit.OSX.Safari atakuje przeglądarkę internetową firmy Apple Safari. Pewna funkcja przeglądarki umożliwia stworzenie określonych typów plików ZIP, które - jeśli zostaną pobrane z Internetu - spowodują wykonanie kodu. Luka ta została załatana w Aktualizacji Zabezpieczeń Apple'a 2006-001.

Exploit.OSX.ScriptEx.a wykorzystuje lukę w kliencie pocztowym Apple Mail dla systemu Mac OS X. Uruchomienie tego exploita następuje po wysłaniu specjalnie spreparowanego załącznika za pośrednictwem poczty elektronicznej. Wykorzystywana luka to przepełnienie bufora, które może nastąpić podczas przetwarzania komponentu Real Name pliku MIME Encapsulated Macintosh. Staranne wybranie rozmiaru i zawartości Real Name może spowodować wykonanie dowolnego kodu, który może następnie zostać wykorzystany do zainstalowania trojana lub innego złośliwego programu na komputerze ofiary. Exploit może zatem zostać użyty do uzyskania całkowitej kontroli nad komputerem użytkownika. Problem ten został naprawiony w Aktualizacji Zabezpieczeń Apple'a 2006-002.

19 kwietnia, Tom Ferris, specjalista ds. bezpieczeństwa, wykrył sześć kolejnych luk "zero-day", które pozwalały zdalnemu szkodliwemu użytkownikowi na uszkodzenie lub "porwanie" komputera ofiary.

Wniosek

Ogólnie można powiedzieć, że złośliwe programy przeszły ogromną ewolucję w ciągu ostatnich kilku lat. W przeszłości większość twórców złośliwego oprogramowania motywowała chęć zdobycia rozgłosu. Dzisiaj dążą do osiągnięcia korzyści finansowych. Niewielki udział firmy Apple w globalnym rynku komputerów osobistych jak do tej pory chronił "makówki" przed twórcami złośliwego oprogramowania. To się jednak zmieni wraz ze wzrostem popularności systemów operacyjnych firmy Apple; po osiągnięciu masy krytycznej bez wątpienia zacznie pojawiać się więcej złośliwych programów. Złośliwe programy, takie jak IM-Worm.OSX.Leap.a i Worm.OSX.Inqtana.A oraz exploity Exploit.OSX.Safari.a i Exploit.OSX.Script-Ex - chociaż wszystkie z nich były kodem "proof of concept" i nie posiadały oczywistej funkcji destrukcyjnej - pokazały, że MacOS X posiada luki w zabezpieczeniu, które mogą zostać wykorzystane do zaatakowania systemu.

O tym, czy kod "proof of concept", o którym pisaliśmy w tym artykule, zostanie wykorzystany do osiągania korzyści finansowych, przekonamy się w najbliższej przyszłości. Jednak, jak pokazuje historia, jak tylko zostaną zidentyfikowane luki w zabezpieczeniu, twórcy złośliwego oprogramowania natychmiast próbują je wykorzystać.

Bibliografia

  1. Lista aktualizacji bezpieczeństwa dla systemu MacOS X
  2. Raport Kaspersky Lab - “2005: Ewolucja złośliwego oprogramowania dla systemów *nix”
  3. Worm.OSX.Inqtana.a - pełny opis w Encyklopedii Wirusów Kaspersky Lab
  4. IM-Worm.OSX.Leap.a - pełny opis w Encyklopedii Wirusów Kaspersky Lab
  5. Tom Ferris
  6. Michael Lehn
  7. Kevin Finisterre
  8. Konkurs rm-my-mac
Źródło:
Kaspersky Lab