YARA-regler til malwaredetektion
Skriv YARA-regler baseret på strenge, bytemønstre og filstruktur for at detektere malwarefamilier.
YARA-regler til malwaredetektion er en gratis Cyber Security Academy-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Cyber Security Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Cyber Security Academy-kurset indeholder 4 lektioner i alt.
Hvad er YARA?
YARA er et værktøj til mønstermatchning, der er udviklet til klassificering af malware. Regler beskriver familier ved at kombinere strengmønstre, bytesekvenser og booleske betingelser. YARA scanner filer, processer eller hukommelse og rapporterer træffere.
YARA-regelstruktur
En regel har tre sektioner: meta (metadata som forfatter og dato), strings (mønstre, der skal findes) og condition (boolesk logik, der kombinerer strenge). Regler kompileres til en scanner for hurtige gennemgange af filsystemet.
rule ExampleRule {
meta:
author = "analyst"
strings:
$a = "malicious_string"
$b = { 4D 5A 90 00 }
condition:
$a and $b
}Strengmønstre
YARA understøtter tre strengtyper: almindelige tekststrenge (med nocase- og wide-modifikatorer), hexadecimale mønstre med jokertegn ({ 4D 5A ?? ?? }), og regulære udtryk (/pattern/). wide håndterer UTF-16-strenge, som er almindelige i Windows-malware.
Hexadecimale mønstre og jokertegn
Brug ?? til jokertegn for enkelte bytes og [n-m] til spring af variabel længde i hexadecimale mønstre. Eksempel: { 60 89 E5 31 C0 [4-8] 5D C3 } matcher en shellcode-stub uanset sektioner med variabel længde.
Betingelseslogik
Betingelser kombinerer strenge med and, or og not. Brug any of them, all of them eller 2 of ($a*) til fleksibel matchning. Tærskelbetingelser som 5 of ($s*) reducerer antallet af falske positiver for generiske strenge.
Betingelser for filegenskaber
YARA kan kontrollere filstørrelse (filesize < 1MB), egenskaber i PE-headeren (pe.imphash()) og bytes ved indgangspunktet (uint16(0) == 0x5A4D). PE-modulbetingelser registrerer specifikke kompilatorartefakter og linkermetadata.
Skrivning af regler ud fra adfærdsanalyse
Brug strenge, der er udtrukket under statisk eller dynamisk analyse, som regelstrenge. En C2-URL, et unikt mutex-navn, en specifik fejlmeddelelse eller en bytesekvens fra shellcode-stubben giver hver især stærke YARA-strenge med få falske positiver.
Test af YARA-regler
Test med yara rule.yar /path/to/sample. Validér mod et korpus af rene filer for at måle antallet af falske positiver. Brug --no-warnings til at undertrykke advarsler og få et stille resultat, og -r til rekursive scanninger af mapper.
yara -r rules/family.yar /malware_corpus/
yara -r rules/family.yar /System32/ 2>/dev/nullYARA i sikkerhedsprodukter
YARA-regler kører i ClamAV, OSSEC, Velociraptor, Splunk og EDR-platforme. Saml reglerne i et Git-kodearkiv, versionssæt dem, få dem fagfællebedømt før udrulning, og følg træfstatistikker for at udfase regler med lav værdi.
Undgåelse af almindelige faldgruber
For generiske strenge giver falske positiver. Meget korte hexadecimale mønstre matcher støj. Profilér altid regler på repræsentative rene prøver før udrulning. Brug all of them frem for any of them, når det er muligt, for at forbedre præcisionen.
Ressourcer fra YARA-fællesskabet
YARA-Forge samler regler af høj kvalitet fra fællesskabet. Malware-arkiver som MalwareBazaar leverer prøver til test. GitHub-arkiver fra leverandører som Mandiant og Kaspersky offentliggør regler af forskningskvalitet, som du kan studere og tilpasse.
Videnstjek
Hvad betyder YARA-betingelsen 2 of ($s*)?
Opsummering
YARA-regler kombinerer strengmønstre, bytesekvenser og booleske betingelser for at klassificere malwarefamilier. Regler, der bygges ud fra fund i adfærdsanalysen, testes mod rene korpusser og udrulles via sikkerhedsplatforme, skaber skalerbar dækning af registreringen.
Lær Cyber Security Academy med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 76
- Lektioner
- 303
Ofte stillede spørgsmål
Er lektionen “YARA-regler til malwaredetektion” gratis?
Ja — alle 3 lektioner i læringssporet Cyber Security Academy, inklusive “YARA-regler til malwaredetektion”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Cyber Security Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “YARA-regler til malwaredetektion”?
Skriv YARA-regler baseret på strenge, bytemønstre og filstruktur for at detektere malwarefamilier. Du øver dig i Cyber Security Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Cyber Security Academy?
Der kræves ingen tidligere erfaring. Cyber Security Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.
Hvor lang tid tager lektionen “YARA-regler til malwaredetektion”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Cyber Security Academy-lektion?
Ja. Alle Cyber Security Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Statisk analyse: Strenge, hashes og PE-headere
- Dynamisk analyse i en sandbox
- Adfærdsmæssige IOC'er: Registreringsdatabase-, netværks- og filartefakter
- YARA-regler til malwaredetektion