Malware w praktyce niewykrywalne.

OXYGEN THIEF

Bardzo aktywny
Członek Załogi
Administrator
Dołączył
26 Maj 2010
Posty
35567
Reakcje/Polubienia
24595
Miasto
Trololololo
Malware w praktyce niewykrywalne: wiele można ukryć w podpisanych plikach Windowsa .

Dzięki odkryciu Toma Nipravsky’ego, badacza firmy Deep Instinct, znacznie trudniej będzie ochronić Windowsa przed malware. Opracowana przez niego technika pozwala przemycić złośliwy kod w cyfrowo podpisanej aplikacji, nie wywołując przy tym reakcji oprogramowania antywirusowego. Winny jest błąd, jaki popełnił Microsoft, projektując proces uruchamiania podpisanych windowsowych aplikacji. Innymi słowy – można wstrzyknąć malware w binarny plik nie naruszając przy tym ważności jego podpisu. Co więcej, taki uzłośliwiony plik można bez wywoływania alarmów uruchomić.

Zaprezentowaną podczas tegorocznej konferencji Black Hat technikę badacza Deep Instinct można uznać za kolejny krok w rozwoju packerów, wykorzystywanych do przekształcania złośliwego oprogramowania do postaci niewykrywalnej dla bazujących na sygnaturach skanerów. Kluczem do jej opracowania było odtworzenie całego procesu uruchamiania podpisanego pliku wykonywalnego w Windowsie.


Na początku więc system odczytuje nagłówki formatu Portable Executable (PE) pliku, potem uwierzytelnia certyfikat, a następnie poprzez technologię Microsoft Authenticode sprawdza kryptograficzny skrót pliku. Okazuje się jednak, że w tym ostatnim kroku nie są uwzględniane trzy spośród nagłówków PE. Można je zmodyfikować, a poprawność pliku pozostanie zachowana. Tymi polami są suma kontrolna pliku, pole IMAGE_DIRECTORY_ENTRY_SECURITY oraz tabela atrybutów certyfikatu. Do tej właśnie tabeli udało się wprowadzić złośliwy kod, nie naruszając certyfikatu i kryptograficznego skrótu pliku.


Oczywiście tak wprowadzonego kodu z tabeli atrybutów normalnie nie można uruchomić, nie ładuje się on do pamięci, ponieważ jest jedynie częścią nagłówku. Można więc by było powiedzieć, że to tylko ciekawostka – „fajnie” jest mieć niewykrywalne złośliwe oprogramowanie na dysku, ale skoro nic ono nie robi, to nie jest też takie złośliwe. Rozwiązaniem tego problemu jest Reflective PE Loader, narzędzie, które potrafi uruchamiać pliki PE bezpośrednio z pamięci.

Powstało ono w drodze odwrotnej inżynierii całego procesu ładowania plików PE przez Windowsa – operacji kompletnie nieudokumentowanej, będącej tajemnicą Microsoftu. Cztery miesiące pracy po osiem godzin dziennie pozwoliło jednak na stworzenie własnego loadera, który odtwarza cały proces ładowania Microsoftu, z tym jednak wyjątkiem, że potrafi umieścić w pamięci do uruchomienia kod z nagłówka.

Wyniki testów dla antywirusów okazały się bezlitosne – żaden z nich nie potrafił wykryć ukrytego w podpisanym pliku szkodnika ransomware (mimo że normalnie szkodnik taki był wykrywany), żaden też nie zablokował uruchomienia go w Windowsie. Podczas demonstracji na Black Hacie zgromadzeni mogli zobaczyć, że antywirus reaguje dopiero po pojawieniu się na pulpicie pliku z żądaniem okupu. Sporo za późno, prawda?

Jedyne co w tej historii może uspokajać, to fakt, że Nipravsky zdecydował się nie ujawniać kodu swojego loadera. Wywołał on jednak wielkie zainteresowanie w środowisku blackhatów i już widać, że dyskutowane są na darknetowych forach metody odtworzenia pracy badacza Deep Instinct. O konsekwencjach, jakie będzie miało stworzenie takiego loadera dla całego ekosystemu Windowsa, lepiej nie myśleć. Być może skończy się to tym, że antywirusy będą musiały przestać ufać cyfrowo podpisanym plikom systemowym – to jednak oznacza poważne kłopoty, w razie fałszywego alarmu uszkadzanie przez antywirusa systemu operacyjnego.

Więcej o odkryciu znajdziecie w artykule Certificate bypass: Hiding and Executing Malware from a Digitally Signed Executable, opublikowanym w ramach materiałów pokonferencyjnych Black Hat USA 2016.
info:dobreprogramy.pl
Zaloguj lub Zarejestruj się aby zobaczyć!
 
Do góry