09 lipca 2010

REMnux: zbiór narzędzi do analizy złośliwego kodu

Złośliwy kod możemy w najprostszy sposób zdefiniować jako kod, którego celem jest wykonywanie działań szkodliwych z punktu widzenia docelowego systemu komputerowego lub  też użytkowników tegoż systemu. Rozróżniamy bardzo wiele kategorii złośliwego oprogramowania, mogą więc to być programy infekujące system operacyjny, ale równie dobrze skrypty kierujące internautów na złośliwe witryny. Po co jednak w ogóle zaprzątać sobie głowę zaawansowaną analizą złośliwego kodu? Otóż zdecydowana większość tego typu programów dociera do nas jako closed-source, czyli w postaci kodu wykonywalnego. Jako że niemal nigdy nie dysponujemy źródłami, chcąc poznać zasadę działania danego programu, musimy właśnie poddać go zaawansowanej analizie z wykorzystaniem specjalistycznych narzędzi. Do tego zaś przyda nam się nowa dystrybucja Linuksa o nazwie REMnux.

REMnux to dystrybucja Linuksa stworzona przez znanego eksperta zajmującego się głównie informatyką śledczą oraz zaawansowaną analizą złośliwych programów. Lenny Zeltser oparł swą dystrybucję na popularnym Ubuntu i zgromadził w jej ramach sporą ilość narzędzi przydatnych do analizy złośliwego kodu. Są to narzędzia pozwalające zarówno na analizę statyczną, jak i dynamiczną. Znajdziemy tutaj również programy pozwalające na analizę plików wykonywalnych skompresowanych lub w inny sposób zabezpieczonych przed prostymi metodami analizy kodu. Analizować możemy również malware w postaciach typowych dla złośliwych witryn internetowych (np. JavaScript) oraz znane formaty dokumentów, takie jak PDF. Warto w tym momencie wymienić kilka narzędzi.
Do analizy złośliwych plików Flash przydadzą nam się narzędzia takie jak swftools, flasm oraz flare. Do swej dyspozycji mamy również programy pozwalające na analizą oraz ingerencję w transmisje sieciowe, takie jak Wireshark, Honeyd, INetSim, fakedns, czy też NetCat. Żadnych tajemnic nie uchowa przed nami również JavaScript, gdyż możemy skorzystać przykładowo z JavaScript Deobfuscatora. Do plików wykonywalnych zabezpieczonych przed analizą dobierzemy się natomiast za pomocą narzędzi: upx, packerid, bytehist, xorsearch, TRiD. Wreszcie, tajemnice skrywane przez tak popularne w ostatnim czasie złośliwe pliki PDF odkryjemy za pomocą programów: Dider's PDF tools, Origami framework, Jsunpack-n, czy też pdftk.

Dystrybucję REMnux w postacji maszyny wirtualnej oraz kilka porad dotyczących użytkowania systemu można odnaleźć pod tym adresem. Wszystkie osoby zainteresowana analizą złośliwych programów zachęcam  więc do zapoznania się z tym ciekawym projektem oraz do wspomożenia Zeltsera w jego wysiłkach.