Wyzwania informatyki bankowej 2016
wyzwania_informatyki_bankowej_0
wyzwania_informatyki_bankowej_0
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Technologia sandbox i jej omijanie<br />
Od pewnego czasu modna jest technologia sandbox do wykrywania złośliwego<br />
oprogramowania. Istnieją nawet produkty oparte tylko o tę technologię.<br />
Jest to, niestety, kolejny smutny dowód na to, że bezpieczeństwem rządzi<br />
czasami moda a nie rozsądek. Po pierwsze, w samej technologii nie ma nic<br />
nowego. Firmy antywirusowe stosowały ją już od pierwszej połowy lat 90.<br />
ubiegłego wieku i robiły to wtedy z całkiem niezłymi rezultatami. Ówczesne<br />
złośliwe oprogramowanie było jednak pod wieloma względami bardzo prymitywne,<br />
podobnie jak i systemy operacyjne, które należało emulować aby<br />
uzyskać sandbox. Oczywiście jakość emulacji środowiska wykonania wpływa<br />
na jakość sandbox. Sandbox, czyli piaskownica, to bowiem nic innego jak<br />
stworzenie kontrolowanego środowiska wykonania – zazwyczaj częściowo<br />
lub całościowo emulowanego. Do tak przygotowanego środowiska wstrzykuje<br />
się kolejne podejrzane próbki, które mogą być złośliwym oprogramowaniem.<br />
Następnie na podstawie jego analizy behawioralnej – np. dostępu do<br />
plików, używanych funkcji API – automatycznie jest podejmowana decyzja,<br />
czy dany program jest złośliwy czy nie. W teorii jest to świetne rozwiązanie,<br />
w praktyce niestety okazuje się ono zawodne, bowiem autorom złośliwego<br />
oprogramowania jest niezwykle łatwo się przed tego typu rozwiązaniami<br />
bronić. Co więcej, część technik utrudniających analizę kodu złośliwego oprogramowania<br />
może być także użyte przeciwko technologii sandbox. Oto kilka<br />
przykładów mechanizmów ochronnych stosowanych przez złośliwe oprogramowanie:<br />
• Wykrywanie obecności maszyny wirtualnej, technologii wirtualizacyjnej lub<br />
emulatora – każde oprogramowanie, takie jak VMWare, VirtualBox, QEMU<br />
czy bochs zostawia charakterystyczne ślady w systemie, który emuluje lub<br />
dla którego tworzy warstwę wirtualizacyjną (w przypadku hypervisorów).<br />
Najbardziej trywialnym jest sprawdzenie konfiguracji sprzętowej oraz wersji<br />
firmware’u. Innym przykładem może być szukanie charakterystycznych<br />
dla VMWare czy VirtualBox zainstalowanych rozszerzeń. Bardziej zaawansowane<br />
metody analizują stan pamięci i procesorów.<br />
• Wykrywanie uruchomienia pod kontrolą automatycznej maszyny wirtualnej<br />
lub emulatora za pomocą wywołań funkcji systemowych i analizy<br />
struktur systemu operacyjnego. Jeżeli mamy do czynienia ze środowiskiem<br />
sztucznie wytworzonym, np. za pomocą emulatora, to emulowany<br />
Cybersecurity – moda, mit czy rzeczywistość?<br />
167