Malware Android w plikach graficznych

Powstała nowa technika, która pozwala rozpowszechniać szkodliwe oprogramowanie w sposób, który nie wzbudza podejrzeń. Bo kto by pomyślał, że w niewinnie wyglądającym obrazku znajduje się malware. Nowa technika polega bowiem na tym, że haker skrywa napisany przez siebie szkodliwy kod właśnie w grafice.

Tak ukryty malware jest bardzo trudny do wykrycia i większość skanerów antywirusowych uznaje, że wszystko jest w porządku i zasób taki nie kryje w sobie żadnego niebezpieczeństwa. Twórcami techniki są dwaj informatycy: Axelle Apvrille i Ange Albertini z firmy Fortinet. Zaprezentowali oni opracowaną przez siebie technikę w postaci rozwiązania proof-of-concept na targach Black Hat Europe w Amsterdamie poświęconych bezpieczeństwu komputerów i systemów IT.

Rozwiązanie bazuje na technologii, której jego twórcy nadali nazwę AngeCryption. Pozwala ona kontrolować podczas operacji szyfrowania danych (realizowanej przy użyciu metody Advanced Encryption Standard) oba pliki: wejściowy oraz wyjściowy. Technologia wykorzystuje specyficzne właściwości niektórych formatów plików, dzięki którym pliki są uznawane za bezpieczne nawet wtedy, gdy ktoś doda do nich nadmiarowe dane.

Zobacz również:

  • Użytkownicy Androida mogą się wkrótce zdziwić
  • Co trzecia firma w Polsce z cyberincydentem
  • Usługa WhatsApp uruchamiana na urządzeniach iOS będzie bardziej bezpieczna

Technologia AngeCryption (zaimplementowana w postaci skryptu Python, który można pobierać z Google Code) pozwala użytkownikowi wskazać nazwę pliku wejściowego i wyjściowego, a następnie wprowadzić do pliku wejściowego niezbędne modyfikacje. Plik taki zostanie wtedy zaszyfrowany przy użyciu klucza AES (w trybie CBS; Cipher-Block Chaining), w wyniku czego skrypt wyprodukuje plik wyjściowy.

Apvrille i Albertini poszli dalej i pokazali zestaw plików APK (Android Aplication Package) oraz aplikację, która tworzy graficzny plik PNG pokazujący jedną z gwiazd filmu Star Wars (Anakin Skywalker). Aplikacja może następnie odszyfrować graficzny plik i zainstalować w nim drugie APK. Podczas prezentacji informatycy ukryli w pliku graficznym wizerunek innego bohatera Wojen Gwiezdnych (Darth Vader), ale haker może w to miejsce wstawić szkodliwy kod, który wykrada z komputera poufne informacje.

W pewnym momencie, wtedy gdy aplikacja próbowała zainstalować drugie APK, Android wyświetlił zapytanie o zgodę użytkownika na wykonanie takiej operacji. Okazuje się jednak, że można to obejść posługując się metodą noszącą nazwę DexClassLoader, tak iż użytkownik nie zorientuje się, że plik zawiera dodatkowy kod.

Aby atak zadziałał, niektóre dane muszą być dołączone na końcu oryginalnej aplikacji, bo format APK nie pozwala dołączać danych po znaczniku noszącym nazwę End of Central Directory (EOCD), sygnalizującym iż jest to koniec pliku. Jednak i na to jest sposób. Należy dodać w odpowiednim miejscu drugi znacznik EOCD, a wtedy Android akceptuje taki plik. Teoretycznie nie powinno tak być, ale w parserze APK wspieranym przez najnowszą wersję systeu Android (4.4.2) znajduje się luka. Twórcy systemu wiedzą już o tym i zapewniają, że wkrótce zostanie opracowana stosowna poprawka.

Opracowaną przez informatyków z Fortinet aplikację proof-of-concept, umożliwiającą przeprowadzanie takich ataków, można pobierać z witryny Github.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200