Cyber Security Academy · Lekcja

Reguły YARA do wykrywania malware

Napiszą Państwo reguły YARA oparte na ciągach znaków, wzorcach bajtowych i strukturze plików, aby wykrywać rodziny malware.

Lekcja 4 z 413 kroki

Reguły YARA do wykrywania malware to bezpłatna lekcja Cyber Security Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cyber Security Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.

Czym jest YARA

YARA to narzędzie do dopasowywania wzorców przeznaczone do klasyfikowania malware. Reguły opisują rodziny malware, łącząc wzorce ciągów znaków, sekwencje bajtów i warunki logiczne. YARA skanuje pliki, procesy lub pamięć i zgłasza dopasowania.

Struktura reguły YARA

Reguła ma trzy sekcje: meta (metadane, takie jak autor i data), strings (wzorce do znalezienia) oraz condition (logika boolowska łącząca ciągi znaków). Reguły są kompilowane do skanera umożliwiającego szybkie przeszukiwanie systemu plików.

rule ExampleRule {
  meta:
    author = "analyst"
  strings:
    $a = "malicious_string"
    $b = { 4D 5A 90 00 }
  condition:
    $a and $b
}

Wzorce ciągów znaków

YARA obsługuje trzy typy ciągów znaków: ciągi zwykłego tekstu (z modyfikatorami nocase i wide), wzorce szesnastkowe z symbolami wieloznacznymi ({ 4D 5A ?? ?? }) oraz wyrażenia regularne (/pattern/). Modyfikator wide obsługuje ciągi UTF-16 często spotykane w malware dla systemu Windows.

Wzorce szesnastkowe i symbole wieloznaczne

Wzorca ?? należy używać jako symbolu wieloznacznego pojedynczego bajtu, a [n-m] jako skoku o zmiennej długości we wzorcach szesnastkowych. Przykład: { 60 89 E5 31 C0 [4-8] 5D C3 } dopasowuje fragment shellcode niezależnie od zmiennych sekcji.

Logika warunków

Warunki łączą ciągi znaków za pomocą and, or i not. Można używać any of them, all of them lub 2 of ($a*), aby uzyskać elastyczne dopasowywanie. Warunki progowe, takie jak 5 of ($s*), ograniczają liczbę fałszywych alarmów powodowanych przez ogólne ciągi znaków.

Warunki dotyczące właściwości pliku

YARA może sprawdzać rozmiar pliku (filesize < 1MB), właściwości nagłówka PE (pe.imphash()) oraz bajty punktu wejścia (uint16(0) == 0x5A4D). Warunki modułu PE wykrywają określone artefakty kompilatora i metadane linkera.

Pisanie reguł na podstawie analizy zachowania

Jako ciągów reguł należy używać ciągów znaków wyodrębnionych podczas analizy statycznej lub dynamicznej. URL C2, unikalna nazwa mutexu, określony komunikat o błędzie lub sekwencja bajtów z fragmentu shellcode stanowią silne ciągi YARA o niskim współczynniku fałszywych alarmów.

Testowanie reguł YARA

Reguły należy testować za pomocą yara rule.yar /path/to/sample. Należy je sprawdzić na zbiorze czystych plików, aby zmierzyć współczynnik fałszywych alarmów. Opcji --no-warnings należy używać w celu uzyskania cichych wyników, a -r do rekurencyjnego skanowania katalogów.

yara -r rules/family.yar /malware_corpus/
yara -r rules/family.yar /System32/ 2>/dev/null

YARA w produktach bezpieczeństwa

Reguły YARA działają wewnątrz ClamAV, OSSEC, Velociraptor, Splunk oraz platform EDR. Należy centralizować reguły w repozytorium Git, wersjonować je, poddawać wzajemnej weryfikacji przed wdrożeniem i śledzić statystyki trafień, aby wycofywać reguły o niskiej wartości.

Unikanie typowych pułapek

Nadmiernie ogólne ciągi znaków powodują fałszywe alarmy. Bardzo krótkie wzorce szesnastkowe dopasowują się do przypadkowych danych. Przed wdrożeniem reguł zawsze należy sprawdzać ich działanie na reprezentatywnych czystych próbkach. W miarę możliwości należy używać all of them zamiast any of them, aby zwiększyć precyzję.

Społecznościowe zasoby YARA

YARA-Forge gromadzi wysokiej jakości reguły społecznościowe. Repozytoria malware, takie jak MalwareBazaar, udostępniają próbki do testów. Repozytoria GitHub dostawców, takich jak Mandiant i Kaspersky, publikują reguły o jakości badawczej, które można analizować i dostosowywać.

Sprawdzenie wiedzy

Co oznacza warunek YARA 2 of ($s*)?

Podsumowanie

Reguły YARA łączą wzorce ciągów znaków, sekwencje bajtów i warunki boolowskie, aby klasyfikować rodziny malware. Tworzenie reguł na podstawie ustaleń analizy zachowania, testowanie ich na zbiorach czystych plików oraz wdrażanie za pośrednictwem platform bezpieczeństwa zapewnia skalowalne pokrycie detekcyjne.

Bezpłatny start

Ucz się Cyber Security Academy dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
76
Lekcje
303

Często zadawane pytania

Czy lekcja „Reguły YARA do wykrywania malware” jest bezpłatna?

Tak — pełny tekst „Reguły YARA do wykrywania malware” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cyber Security Academy, przejdź na CoddyKit PRO. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Reguły YARA do wykrywania malware”?

Napiszą Państwo reguły YARA oparte na ciągach znaków, wzorcach bajtowych i strukturze plików, aby wykrywać rodziny malware. Ćwiczysz Cyber Security Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Cyber Security Academy?

Nie wymagamy żadnego doświadczenia. Cyber Security Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Reguły YARA do wykrywania malware”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Cyber Security Academy?

Tak. Każda lekcja Cyber Security Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Analiza statyczna: ciągi, hashe i nagłówki PE
  2. Analiza dynamiczna w sandboxie
  3. Behawioralne IOC: rejestr, sieć i artefakty plikowe
  4. Reguły YARA do wykrywania malware
← Powrót do Cyber Security Academy