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.
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/nullYARA 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.
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
- Analiza statyczna: ciągi, hashe i nagłówki PE
- Analiza dynamiczna w sandboxie
- Behawioralne IOC: rejestr, sieć i artefakty plikowe
- Reguły YARA do wykrywania malware