Tradycyjne, reaktywne metody wykrywania złośliwego kodu, bazujące na sygnaturach, już od pewnego czasu nie są wystarczające. Niezależnie od zastosowanego poziomu automatyzacji, tylko po sklasyfikowaniu podejrzanego pliku jako złośliwy można stworzyć sygnaturę dla niego lub grupy powiązanych plików, zazwyczaj rodziny złośliwego oprogramowania. Jednak obserwowana dziś szybkość jego rozprzestrzeniania się powoduje, że nie ma czasu na wykrywanie nowych zagrożeń, ich analizowanie, a w następstwie tych czynności przygotowywanie mechanizmów ochronnych.

Sytuację utrudnia też fakt, że niemal każdy nowy złośliwy kod jest unikalny. Cyberprzestępcy, mając w perspektywie gigantyczne zyski, inwestują wiele czasu i środków w stworzenie narzędzi automatyzujących nie tylko tworzenie szkodliwego oprogramowania, ale też analizującego jego skuteczność, w tym stopień wykrywalności przez rozwiązania antywirusowe. Aby skomplikować problem stosują silne algorytmy szyfrowania oraz narzędzia pakujące w celu zaciemnienia złośliwego kodu. Niektórzy wprowadzają nowe próbki wirusów co kilka minut, zaś inni generują indywidualny kod dla każdej ofiary, bazując na mechanizmie serverside polymorphism.

Kolejnym wyzwaniem jest fakt, że złośliwy kod opracowywany jest w taki sposób, aby był „świadomy” w jakim środowisku został uruchomiony. Gdy odkryje, że nie jest to zwykły komputer lub serwer, ale wirtualna maszyna czy sandbox, co świadczyłoby o działaniu oprogramowania antymalware, nie podejmuje żadnej akcji, a tym samym znacznie utrudnia analizę swojego zachowania.

Oszukać oszukujących

Zastosowanie przedstawionych mechanizmów oszukiwania narzędzi wykrywających spowodowało, że konieczne jest pokonanie przeciwnika jego bronią. Należy prowadzić analizę bezpośrednio w systemie operacyjnym użytkownika, aby zmylić twórców złośliwego kodu. Ale należy to robić bardzo umiejętnie – skutecznie zadanie to wykonali inżynierowie G Daty.

Owocem ich pracy jest mechanizm Beast, który monitoruje zachowanie kodu w systemie operacyjnym i przechowuje w lokalnej, niewielkiej bazie danych informacje o każdej podejrzanej akcji pod postacią grafu. Działanie Beast nie polega na identyfikacji złośliwych plików samych w sobie, ale na obserwacji złośliwych wzorców zachowania i ich powiązań. Jest to szczególnie pomocne w przypadku rzadkiego szkodliwego kodu oraz rodzin złośliwego oprogramowania.

W chronionym systemie działania Beast obejmują dostęp do systemu plików, rejestru, połączeń sieciowych oraz komunikację między procesami. Ilekroć nowy rekord jest dodawany do bazy danych grafów, jest ona przeszukiwana pod kątem podobnych wzorców zachowania.

Bestia uzupełni DeepRay

Mechanizm Beast stanowi uzupełnienie wobec obecnej już wcześniej w oprogramowaniu G Daty funkcji DeepRay, której zadaniem jest wykrywanie prób zakamuflowania się przez złośliwy kod, co ułatwia identyfikację jego rdzenia, prowadzoną później ręcznie. Beast natomiast nie polega na identyfikacji samego złośliwego oprogramowania, ale na obserwacji jego zachowania. Jest to szczególnie pomocne w przypadku ataków typu 0-day oraz rzadko występującego szkodliwego kodu.

Zadaniem Beast jest wypełnienie luki czasowej między reakcją modułu DeepRay, a finałem analizy rdzenia nowego szkodliwego oprogramowania. Jest to też jednak bezcenna dodatkowa warstwa ochrony, która może okazać się nieoceniona w przypadku ataku za pomocą nietypowego lub opracowanego specjalnie przeciwko danemu podmiotowi złośliwego kodu.

Dodatkowe informacje: