Jak używamy narzędzia OCR (konwersja obrazu na tekst) do preselekcji próbek malware w testach bezpieczeństwa?

avlab.pl 1 dzień temu
Zdjęcie: System Windows zwraca błąd, że plik nie może być uruchomiony, ponieważ najprawdopodobniej został źle skomplikowany przez autora oprogramowania.


Staramy się być ciągle na bieżąco i implementować do naszych testów możliwe najlepsze metody, które ułatwią i przyśpieszą różnorakie czynności wykonywane w sposób automatyczny, bez ingerencji człowieka. Jest to o tyle ważne, ponieważ rodzaj testów „Advanced In-The-Wild Malware Test” charakteryzuje się tym, iż odwzorowuje czynności używania systemu Windows 11 przez użytkownika lub pracownika biurowego. Dlatego od września 2024 roku w aplikacji do testowania systemu zabezpieczającego dla Windows 11 wprowadziliśmy kilka zmian „pod maską”.

Opracowaliśmy nowy sposób gromadzenia większej ilości szybkich dowodów wykrycia próbek złośliwego systemu przez testowane produkty ochronne w postaci zrzutów ekranu, które są wykonywane kilka razy na minutę z użyciem API hyperwizora.

Do odczytywania tekstu z obrazów używamy narzędzia open source OCR (tesseract).

OCR w testach AVLab – etap 1:

W preselekcji złośliwego oprogramowania, zanim wydamy werdykt o szkodliwości danej próbki, używamy m.in. narzędzia OCR do wyodrębnienia słów kluczowych ze zrobionych zrzutów ekranu.

Ogólnie rzecz biorąc, aby potencjalny adres URL zawierający plik do pobrania (na tym etapie nie wiem, czy plik jest szkodliwy) mógł być zakwalifikowany do testowania, musi przejść przez 5 kroków:

  1. Pobierany plik musi być dostępny online podczas badania.
  2. Porównujemy pobrany plik SHA256 z hashami w bazie danych, aby wyeliminować duplikaty zagrożeń. Dzięki temu NIGDY nie testujemy na dwóch identycznych zagrożeniach.
  3. Korzystając z narzędzi w konsoli Linux sprawdzamy oryginalne rozszerzenie pliku, które musi być zgodne z typem pliku uruchomionego w systemie Windows.
  4. Skanowanie statyczne. Używamy reguł Yara i skanera partnera technologicznego mks_vir, aby dowiedzieć się więcej o zagrożeniu: są to informacje zwrotne na temat pliku i rodziny złośliwego oprogramowania.
  5. Skanowanie dynamiczne. Plik jest uruchamiany w systemie Windows 11, gdzie z użyciem narzędzia Sysmon sprawdzamy, czy wykazuje złośliwą aktywność. W tym kroku używamy też wspominanego narzędzia do przekształcania obrazu na tekst. Dzięki zgromadzonym dowodom możemy automatycznie wychwytywać pliki uszkodzone, instalatory, oprogramowanie Adware oraz inne, nie będące malware’m, które zdołałoby przejść aż do tego etapu i zmarnować zasoby serwera obliczeniowego na testowanie, w tym czas na analizę.

Na poniższym przykładzie jeden z tysięcy adresów URL podczas trwającej listopadowej serii badania Advanced In-The-Wild Malware Test. W ciągu całego miesiące do początkowego etapu trafi tysiące, kilkanaście tysięcy adresów URL – większość z nich zostanie odrzucona, ponieważ:

  • plik jest offline,
  • plik nie jest unikalny (SHA256 istnieje w bazie),
  • plik po uruchomieniu nie wykazuje oznak przypominających szkodliwe oprogramowanie,
  • plik nie może być uruchomiony w Windows 11,
  • plik jest uszkodzony jak na poniższym zrzucie ekranu,

To, co może zobaczyć Tester podczas testu:

System Windows zwraca błąd, iż plik nie może być uruchomiony, ponieważ najprawdopodobniej został źle skomplikowany przez autora oprogramowania.

A na poniższym zrzucie widzisz to, co „widzi maszyna” – jest to fragment output’u w konsoli Linux z działania aplikacji testującej, która w tym momencie parsuje zgromadzone zrzuty ekranu (m.in. ten z błędem „system error”) dla potencjalnej próbki.

W czasie rzeczywistym odrzucamy próbki, które z różnych powodów nie nadają się do testu. W tym przypadku – plik jest uszkodzony.

Na podstawie przechwyconego tekstu z obrazu wychwytujemy i porównujemy słowa najważniejsze z pasującymi alertami. Dowolne dopasowanie szukanego słowa kluczowego uznajemy za dowód.

Poniżej wycinek kodu zawierającego szukane słowa kluczowe, które wskazują na aplikacje uszkodzone, instalatory i inne narzędzia-aplikacje nie będące malware:

Wycinek z kodu aplikacji do testowania opracowanej przez AVLab.

Możliwość przekształcania obrazu na tekst pozwala nam gwałtownie i dokładnie analizować potencjalne próbki złośliwego systemu przed zakwalifikowaniem do testów — odrzucamy instalatory, niechciane (niezłośliwe) aplikacje, uszkodzone pliki i inne, które z jakiegoś powodu mogą być uruchomione w środowisku Windows 11.

Analiza obrazów dla testowanych rozwiązań ochronnych – etap 2:

W analogiczny sposób postępujemy z testowanym produktem bezpieczeństwa np. Bitdefender Total Security. Zauważ, jakich słów kluczowych szukamy, np.: „attack”, „blocked”, „moved” (do kwarantanny), „quarantine”, „take me” (zabierz mnie stąd od alertu „strona jest niebezpieczna”) i tak dalej:

Słowa najważniejsze dla Bitdefender Total Security, które uznajemy za dowód podczas testowania na próbce malware.

W podobny sposób używamy słów kluczowych np. dla Emsisoft Enterprise Security. Każde oprogramowanie bezpieczeństwa ma swoje unikalne frazy i słowa kluczowe, które wychwytujemy i wykorzystujemy w teście:

Słowa najważniejsze o zablokowaniu zagrożenia przez rozwiązanie Emsisoft dla biznesu.

Poniżej możesz zobaczyć, iż na przechwyconym obrazie w logach aplikacji testującej, słowo „bitdefender” wystąpiło jako pierwsze w alercie bezpieczeństwa. Dla tej próbki wynik świadczy o pozytywnym zidentyfikowaniu jej i zablokowaniu, w tym przeniesieniu do kwarantanny:

Na realnej maszynie Tester mógł zobaczyć coś takiego:

Zrzut ekranu z akcji blokowania malware przez monitor behawioralny Bitdefender.

OCR zastosowane w testach daje nam dodatkową funkcjonalność rozpoznawania reakcji produktów bezpieczeństwa na malware, w tym możemy rozpoznawać nieprawidłowości podczas uruchamiania plików na etapie preselekcji. Narzędzie tesseract open-source zintegrowaliśmy z testami Advanced In-The-Wild Malware Test od edycji we wrześniu 2024 roku.

Podsumowanie – do czego można wykorzystać OCR w cyberbezpieczeństwie?

Producenci produktów ochronnych po każdym teście otrzymują od nas niezbędne informacje z bazy danych, w tym dodatkowe logi z systemu Windows 11 oraz logi swojego systemu w celu wewnętrznej analizy. Logi są dowodem w przypadku, kiedy wynik dla próbki jest negatywny. Na przejrzenie logów i ustosunkowanie się do wyników producent ma 10 dni roboczych. Po tym czasie brak odpowiedzi traktujemy jako akceptację wyników.

Narzędzie OCR w cyberbezpieczeństwie to tylko niewielka część wszystkich metod, które zaimplementowaliśmy w testach z serii Advanced In-The-Wild Malware Test. Testy te spełniają wszystkie standardy techniczne i merytoryczne AMTSO – międzynarodowej organizacji, która wyznacza dobre praktyki testowania we współpracy z deweloperami rozwiązań IT oraz z zewnętrznymi ekspertami.

Jeśli chcesz dowiedzieć się więcej, jak testujemy, jakich narzędzi używamy, daj znać w komentarzu oraz zapoznaj się z metodologią, gdzie znajdziesz więcej technicznego mięsa.

Idź do oryginalnego materiału