Minęły już czasy, gdy analizą malware zajmowały sie tylko i wyłącznie firmy antywirusowe. Na rynku istnieją darmowe narzędzia, które są bardzo łatwe w użyciu i pozwolą na podstawową analizę malware. Celem analizy jest zdobycie wiedzy o malware, która pozwoli odpowiedzieć na dwa bardzo ważne pytania: W jaki sposób komputer został zainfekowany przez malware i co dokładnie robi malware.
Dzisiaj przedstawię dwa rodzaje analizy.
Pierwsza to dynamiczna analiza malware na Androidzie, do której wykorzystam
emulator Androida MobiSec w celu uruchomienia malware i program REMnux, na
którym zostanie przeprowadzona analiza. Do drugiej analizy zostanie
wykorzystany program Redline firmy Mandiant i pokaże jak wykonać analizę
pamięci zainfekowanego komputera.
Rodzaje analizy malware
Istnieją dwa rodzaje analizy malware: statyczna (analiza kodu) i dynamiczna (behawioralna), czyli jak sie zachowuje malware). Oba rodzaje analizy mają ten sam cel, aby poznać jak działa malware, ale różnią się ze względu na narzędzia, czas i umiejętności, jakich użyjemy. Analiza kodu jest to nic innego jak przeglądanie kodu i na podstawie tego poznawanie jak działa malware. Bardzo często w celu analizy kodu używa się narzędzi do reverse engineering takich jak deasemblery, debuggery czy dekomlipatory. Po udanym procesie reverse engineering, będzie można zobaczyć jak działa kod źródłowy malware i zastosować mechanizmy obronne.
Analiza behawioralna polega na tym, że obserwuje się zachowanie malware, z czym się łączy, co zostało zainstalowane i jak działa. Zazwyczaj szukamy zmian w systemie i innych podejrzanych zdarzeń, jakie malware spowodowało np. pliki zostały wgrane, zmodyfikowane, nowe serwisy zostały zainstalowane, nowe procesy uruchomione, zmiany w rejestrze itd. Jest to analiza typu "quick and dirty". Analizę behawioralną powinno się wykonywać na komputerze, który jest odłączony od sieci a pliki powinny być kopiowane przez read only media jak CD-ROM. W celu całkowitego poznania jak działa malware powinno się wykonać obie analizy.
Rodzaje analizy malware
Istnieją dwa rodzaje analizy malware: statyczna (analiza kodu) i dynamiczna (behawioralna), czyli jak sie zachowuje malware). Oba rodzaje analizy mają ten sam cel, aby poznać jak działa malware, ale różnią się ze względu na narzędzia, czas i umiejętności, jakich użyjemy. Analiza kodu jest to nic innego jak przeglądanie kodu i na podstawie tego poznawanie jak działa malware. Bardzo często w celu analizy kodu używa się narzędzi do reverse engineering takich jak deasemblery, debuggery czy dekomlipatory. Po udanym procesie reverse engineering, będzie można zobaczyć jak działa kod źródłowy malware i zastosować mechanizmy obronne.
Analiza behawioralna polega na tym, że obserwuje się zachowanie malware, z czym się łączy, co zostało zainstalowane i jak działa. Zazwyczaj szukamy zmian w systemie i innych podejrzanych zdarzeń, jakie malware spowodowało np. pliki zostały wgrane, zmodyfikowane, nowe serwisy zostały zainstalowane, nowe procesy uruchomione, zmiany w rejestrze itd. Jest to analiza typu "quick and dirty". Analizę behawioralną powinno się wykonywać na komputerze, który jest odłączony od sieci a pliki powinny być kopiowane przez read only media jak CD-ROM. W celu całkowitego poznania jak działa malware powinno się wykonać obie analizy.
Narzędzia do analizy malware
Narzędzia do analizy dynamicznej:
Monitorowanie systemu plików i rejestru:
Process Monitor i Capture BAT pokazują w
czasie rzeczywistym aktywność rejestru, systemu plików oraz procesów. Programy
dostarczają informację na temat każdej pozycji. Wszystkie działania zostają
zapisane w dzienniku zdarzeń. Programy te pozwalają zrozumieć, w jaki sposób
malware próbuje osadzić się w systemie podczas infekcji.
http://technet.microsoft.com/en-ie/sysinternals/bb896645.aspx
https://www.honeynet.org/node/315
Monitorowanie procesów:
Process Explorer, Process Monitor i Process
Hacker - wyświetlają szczegółowe informacje o każdym z uruchomionych procesów
wraz z podaniem, jakie pliki i biblioteki DLL są przez dany proces używane,
umożliwiają sprawdzanie cyfrowych podpisów plików. Każdy uruchomiony program
może zostać uśpiony, wyświetlana jest też lista parametrów, z jakimi został
uruchomiony. Ponadto, w zasobniku systemowym (tzw. tray) wyświetlane jest
użycie mocy procesora i procesu, który pochłania najwięcej mocy obliczeniowej.
Pokazują w czasie rzeczywistym aktywność rejestru, systemu plików oraz procesów
i jakie porty sieciowe malware stara sie otworzyć.http://technet.microsoft.com/en-ie/sysinternals/bb896645.aspx
https://www.honeynet.org/node/315
Monitorowanie procesów:
http://technet.microsoft.com/en-ie/sysinternals/bb896653.aspx
http://technet.microsoft.com/en-ie/sysinternals/bb896645.aspx
http://processhacker.sourceforge.net/
Monitorowanie sieci:
Wireshark i SmartSniff -
Umożliwiają przechwytywanie, analizowanie ruchu sieciowego.
http://www.wireshark.org/
http://www.nirsoft.net/utils/smsniff.html
Wykrywanie zmian:
Regshot - program do porównywania zmian systemu przed i po infekcji. Pokazuje zmiany, jakich dokonalo malware w systemie plików i rejestrze.
http://sourceforge.net/projects/regshot/
Narzędzia do monitorowania dynamicznego dają nam możliwość poznania kluczowych zasad działania malware. Natomiast szczegółowe informacje poznamy po wykonaniu analizy kodu.
Narzędzia do analizy kodu:
Przeglądanie kodu złośliwego oprogramowania
pozwoli nam odkryć dodatkowe informacje, które mogą być trudne do uzyskania za
pomocą analizy behawioralnej. Uzyskanie dostępu do kodu źródłowego będzie
możliwe za pomocą darmowych programów.http://www.wireshark.org/
http://www.nirsoft.net/utils/smsniff.html
Wykrywanie zmian:
Regshot - program do porównywania zmian systemu przed i po infekcji. Pokazuje zmiany, jakich dokonalo malware w systemie plików i rejestrze.
http://sourceforge.net/projects/regshot/
Narzędzia do monitorowania dynamicznego dają nam możliwość poznania kluczowych zasad działania malware. Natomiast szczegółowe informacje poznamy po wykonaniu analizy kodu.
Narzędzia do analizy kodu:
Deasemblery i debuggery:
OllyBbd i IDA Pro Freeware - umożliwiają
analizę kodu skompilowanych plików EXE w formacie PE. Ponadto pozwalają
znajdować istotne fragmenty programu, ponieważ umożliwiają śledzenie, jakie
operacje wywołują poszczególne polecenia zawarte w kodzie analizowanego
programu.
http://www.ollydbg.de/
https://www.hex-rays.com/products/ida/support/download_freeware.shtml
Programy do zrzutów pamięci:
LordPE i OllyDump - są bardzo przydatne w przypadku gdy oryginalny kod zostaje spakowany, a do pliku dodany zostaje krótki program wykonujący operację odwrotną.
http://www.woodmann.com/collaborative/tools/index.php/LordPE
http://www.woodmann.com/collaborative/tools/index.php/OllyDump
Labolatorium
Głównym założeniem analizy malware jest zainfekowanie próbką malware systemu i następnie za pomocą odpowiednich narzędzi obserwacja, w jaki sposób malware działa. Jest to proces bardzo niebezpieczny, ponieważ nieuwaga może spowodować, że malware rozprzestrzeni się i zainfekuje pozostałe komputery. Najlepszym sposobem na analizę malware jest zbudowanie własnego laboratorium, które będzie odizolowane od środowiska produkcyjnego. Najbardziej popularnym i wygodnym sposobem będzie użycie darmowych narzędzi do wirtualizacji takich jak VMware Server, Windows Virtual PC, Microsoft Virtual Server czy VirtualBox.
http://www.ollydbg.de/
https://www.hex-rays.com/products/ida/support/download_freeware.shtml
Programy do zrzutów pamięci:
LordPE i OllyDump - są bardzo przydatne w przypadku gdy oryginalny kod zostaje spakowany, a do pliku dodany zostaje krótki program wykonujący operację odwrotną.
http://www.woodmann.com/collaborative/tools/index.php/LordPE
http://www.woodmann.com/collaborative/tools/index.php/OllyDump
Labolatorium
Głównym założeniem analizy malware jest zainfekowanie próbką malware systemu i następnie za pomocą odpowiednich narzędzi obserwacja, w jaki sposób malware działa. Jest to proces bardzo niebezpieczny, ponieważ nieuwaga może spowodować, że malware rozprzestrzeni się i zainfekuje pozostałe komputery. Najlepszym sposobem na analizę malware jest zbudowanie własnego laboratorium, które będzie odizolowane od środowiska produkcyjnego. Najbardziej popularnym i wygodnym sposobem będzie użycie darmowych narzędzi do wirtualizacji takich jak VMware Server, Windows Virtual PC, Microsoft Virtual Server czy VirtualBox.
Na
powyższym diagramie malware będzie uruchamiane na maszynie Windows XP lub
MobiSec w zależności od rodzaju analizy, która zostanie przeprowadzona na
REMnuxie lub Redline. Wszystkie maszyny są podłączone do tej samej sieci
(192.168.11.0/24) dzięki czemu pozwoli to nam na monitorowanie ruchu sieciowego
generowanego przez próbki malware na REMnuxie. Kolejną dobrą praktyką jest
stosowanie snapshots w celu odtwarzania poprzedniego stanu systemu operacyjnego
przed każdą infekcją malware.
Brak komentarzy:
Prześlij komentarz