Cyber Security Academy · Lektion

YARA-regler för detektering av skadlig kod

Skriv YARA-regler baserade på strängar, bytemönster och filstruktur för att upptäcka familjer av skadlig kod.

Lektion 4 av 413 steg

YARA-regler för detektering av skadlig kod är en gratis lektion i Cyber Security Academy på CoddyKit. Detta är lektion 4 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Cyber Security Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Cyber Security Academy innehåller totalt 4 lektioner.

Vad är YARA?

YARA är ett verktyg för mönstermatchning som är utformat för klassificering av skadlig kod. Regler beskriver familjer genom att kombinera strängmönster, byteföljder och booleska villkor. YARA skannar filer, processer eller minne och rapporterar träffar.

YARA-regelns struktur

En regel har tre avsnitt: meta (metadata som författare och datum), strings (mönster som ska hittas) och condition (boolesk logik som kombinerar strängar). Regler kompileras till en skanner för snabba genomsökningar av filsystem.

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

Strängmönster

YARA stöder tre strängtyper: klartextsträngar (med modifierarna nocase och wide), hexadecimala mönster med jokertecken ({ 4D 5A ?? ?? }) och reguljära uttryck (/pattern/). wide hanterar UTF-16-strängar som är vanliga i skadlig kod för Windows.

Hexadecimala mönster och jokertecken

Använd ?? för jokertecken på en byte och [n-m] för hopp med variabel längd i hexadecimala mönster. Exempel: { 60 89 E5 31 C0 [4-8] 5D C3 } matchar ett shellcode-stycke oavsett varierande avsnitt.

Villkorslogik

Villkor kombinerar strängar med and, or och not. Använd any of them, all of them eller 2 of ($a*) för flexibel matchning. Tröskelvillkor som 5 of ($s*) minskar antalet falska positiva träffar för generiska strängar.

Villkor för filegenskaper

YARA kan kontrollera filstorlek (filesize < 1MB), egenskaper i PE-headern (pe.imphash()) och byte vid startpunkten (uint16(0) == 0x5A4D). Villkor i PE-modulen identifierar specifika kompilatorartefakter och länkarmetadata.

Skriva regler utifrån beteendeanalys

Använd strängar som har extraherats under statisk eller dynamisk analys som regelsträngar. En C2-URL, ett unikt mutexnamn, ett specifikt felmeddelande eller en byteföljd från shellcode-stycket kan var och en utgöra en stark YARA-sträng med få falska positiva träffar.

Testa YARA-regler

Testa med yara rule.yar /path/to/sample. Validera mot en samling rena filer för att mäta andelen falska positiva träffar. Använd --no-warnings för tyst utdata och -r för rekursiva katalogskanningar.

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

YARA i säkerhetsprodukter

YARA-regler körs i ClamAV, OSSEC, Velociraptor, Splunk och EDR-plattformar. Samla reglerna i ett Git-repo, versionshantera dem, låt kollegor granska dem före driftsättning och följ träffstatistiken för att avveckla regler med lågt värde.

Undvika vanliga fallgropar

Alltför generiska strängar orsakar falska positiva träffar. Mycket korta hexadecimala mönster matchar brus. Profilera alltid regler på representativa rena prover innan driftsättning. Använd all of them i stället för any of them när det är möjligt för att förbättra precisionen.

YARA-resurser från communityn

YARA-Forge samlar högkvalitativa communityregler. Malware-repositorier som MalwareBazaar tillhandahåller prover för testning. GitHub-repositorier från leverantörer (Mandiant, Kaspersky) publicerar regler på forskningsnivå som ni kan studera och anpassa.

Kunskapskontroll

Vad betyder YARA-villkoret 2 of ($s*)?

Sammanfattning

YARA-regler kombinerar strängmönster, byteföljder och booleska villkor för att klassificera familjer av skadlig kod. Att skapa regler utifrån resultat av beteendeanalys, testa dem mot rena samlingar och driftsätta dem via säkerhetsplattformar ger skalbar detektering.

Gratis att börja

Lär dig Cyber Security Academy med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
76
Lektioner
303

Vanliga frågor

Är lektionen ”YARA-regler för detektering av skadlig kod” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Cyber Security Academy, inklusive ”YARA-regler för detektering av skadlig kod”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Cyber Security Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”YARA-regler för detektering av skadlig kod”?

Skriv YARA-regler baserade på strängar, bytemönster och filstruktur för att upptäcka familjer av skadlig kod. Ni övar på Cyber Security Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Cyber Security Academy?

Du behöver inga förkunskaper. Utbildningen i Cyber Security Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.

Hur lång tid tar lektionen ”YARA-regler för detektering av skadlig kod”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Cyber Security Academy-lektionen?

Ja. Varje Cyber Security Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Statisk analys: strängar, hashvärden och PE-huvuden
  2. Dynamisk analys i en sandlåda
  3. Beteendebaserade IOC: register-, nätverks- och filartefakter
  4. YARA-regler för detektering av skadlig kod
← Tillbaka till Cyber Security Academy