Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.

Razlike

Slijede razlike između dviju inačica stranice.

Poveznica na ovu usporedbu

Starije izmjene na obje strane Starija izmjena
Novija izmjena
Starija izmjena
racfor_wiki:seminari2024:pisanje_yara_pravila [2025/01/25 17:54]
Mikulić Katarina [Zaključak]
racfor_wiki:seminari2024:pisanje_yara_pravila [2025/01/26 21:50] (trenutno)
Mikulić Katarina [Pisanje YARA pravila]
Redak 1: Redak 1:
-===== Naslov =====+===== Pisanje YARA pravila =====
  
 +Video [[https://ferhr-my.sharepoint.com/:v:/g/personal/km54317_fer_hr/EfmLMw4uTFhHuq2_i2RCq0oBN0D8SrYN4SO9Hucdn259UQ?e=sEvrYn]]
 ===== Sažetak ===== ===== Sažetak =====
  
 +YARA pravila predstavljaju moćan alat u području kibernetičke sigurnosti, omogućujući stručnjacima detekciju i klasifikaciju zlonamjernog softvera na temelju unaprijed definiranih obrazaca. Fleksibilnost i jednostavna sintaksa YARA pravila omogućuju njihovu primjenu u širokom spektru sigurnosnih alata, uključujući SIEM sustave, antivirusne programe i laboratorije za analizu zlonamjernog softvera. Koriste se za prepoznavanje prijetnji u datotekama, procesima i memoriji, što ih čini ključnim dijelom strategija za obranu od prijetnji i forenzičkih analiza.
  
  
 +===== Uvod =====
  
 +U današnjem svijetu kibernetičke sigurnosti, pravovremena detekcija i prepoznavanje prijetnji ključni su za zaštitu sustava i podataka. YARA pravila predstavljaju moćan alat za identifikaciju zlonamjernog softvera, prepoznavanje sumnjivog ponašanja te analizu prijetnji. Ovaj seminarski rad detaljno će obraditi kako se pišu YARA pravila, njihovu strukturu, praktičnu primjenu te najbolje prakse.
  
  
 +===== YARA pravila =====
  
 +YARA pravila predstavljaju snažan alat za prepoznavanje i klasifikaciju prijetnji u kibernetičkoj sigurnosti. Dizajnirana su kako bi pomogla stručnjacima u analizi i detekciji zlonamjernog softvera temeljenog na prepoznatljivim obrascima i ponašanju.
  
 +Osnovna ideja YARA pravila je njihova jednostavna i intuitivna sintaksa koja omogućuje korisnicima definiranje uzoraka na temelju tekstualnih stringova, heksadecimalnih nizova i regularnih izraza [[#literatura|[1]]]. Ova fleksibilnost omogućuje njihovu primjenu u širokom spektru scenarija, uključujući:
  
-===== Uvod =====+  * Detekciju zlonamjernog softvera u datotekama, procesima i memoriji. 
 +  * Praćenje sustava u realnom vremenu radi otkrivanja sumnjivih aktivnosti. 
 +  * Unapređenje strategija kibernetičke sigurnosti kroz integraciju u napredne sigurnosne sustave poput SIEM platformi i antivirusnih alata. 
 +Zahvaljujući otvorenom kodu i velikoj zajednici, YARA pravila kontinuirano evoluiraju i prilagođavaju se novim prijetnjama, čineći ih ključnim alatom za analizu prijetnji i obranu od napada.
  
  
 +===== Pisanje YARA pravila =====
  
 +Pisanje YARA pravila zahtijeva razumijevanje strukture pravila i mogućnosti koje pružaju njihovi elementi. Pravila su dizajnirana tako da budu intuitivna i fleksibilna, omogućujući prilagodbu specifičnim sigurnosnim potrebama.
  
 +==== Struktura YARA pravila ====
  
 +Svako YARA pravilo sastoji se od tri glavna dijela:
  
-===== Poglavlje ... =====+Naslov pravila (rule) - definira jedinstveno ime koje služi za identifikaciju pravilaTreba biti opisno, ali kratko.
  
 +Primjer: 
 +  rule ZlonamjerniKodDetektor {
  
  
 +----
  
 +
 +Stringovi (strings) - definiraju uzorke koje pravilo treba prepoznati. Postoje tri vrste stringova:
 +  Tekstualni stringovi (npr. "malicious_payload").
 +  Heksadecimalni uzorci (npr. {4D 5A 90 00}).
 +  Regularni izrazi (npr. /sumnjivo_ponašanje/i).
 +Primjer:
 +  strings:
 +    $string1 = "malicious_payload"
 +    $string2 = {4D 5A 90 00}
 +    $regex = /sumnjivo_ponašanje/i
 +
 +
 +----
 +
 +
 +
 +
 +Uvjeti (condition) - definiraju logiku koja određuje kada će se pravilo aktivirati.
 +
 +Primjeri uvjeta:
 +  any of them: Aktivira se ako je pronađen bilo koji od definiranih stringova.
 +  all of them: Aktivira se samo ako su pronađeni svi stringovi.
 +
 +Kombinacija uvjeta uz logičke operatore (and, or, not).
 +
 +Primjer:
 +  condition:
 +    $string1 or ($string2 and $regex)
 +
 +
 +
 +----
 +
 +Meta sekcija - sadrži dodatne informacije o pravilu poput autora, opisa, datuma i verzije. Ovi podaci pomažu u organizaciji i dokumentaciji pravila.
 +
 +Primjer:
 +  meta:
 +    author = "Sigurnosni stručnjak"
 +    description = "Pravilo za detekciju specifičnog malware-a"
 +    date = "2025-01-25"
 +    version = "1.0"
 +
 +
 +==== Primjeri YARA pravila ====
 +  * Jednostavno pravilo
 +Pravilo koje detektira tekstualni i heksadecimalni string:
 +
 +  rule JednostavnoPravilo {
 +    meta:
 +        author = "CyberSec Tim"
 +        description = "Detekcija osnovnog uzorka"
 +        date = "2025-01-25"
 +    strings:
 +        $tekstualni = "malicious_code"
 +        $heksadecimalni = {50 45 00 00}
 +    condition:
 +        any of them
 +  }
 +
 +
 +----
 +
 +
 +  * Pravilo za PE datoteke
 +
 +Pravilo koje detektira uzorke česte u izvršnim datotekama:
 +
 +  rule MalwarePE {
 +    meta:
 +        author = "Analitičar"
 +        description = "Pravilo za PE datoteke"
 +        date = "2025-01-25"
 +    strings:
 +        $s1 = "malicious_payload"
 +        $s2 = {50 45 00 00 4C 01 02 00} // PE header
 +        $s3 = /trojan_.*_detected/
 +    condition:
 +        $s1 or ($s2 and $s3)
 +  }
 +
 +
 +----
 +
 +  * Pravilo s regularnim izrazima
 +
 +Pravilo za prepoznavanje e-mail adresa i URL-ova:
 +
 +  rule RegexPravilo {
 +    meta:
 +        author = "Forenzičar"
 +        description = "Pravilo s regularnim izrazima"
 +        date = "2025-01-25"
 +    strings:
 +        $regex1 = /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/ // Email adrese
 +        $regex2 = /(?:http|https):\/\/[^\s]+/                     // URL-ovi
 +    condition:
 +        $regex1 or $regex2
 +  }
 +
 +===== Alati za rad s YARA pravilima =====
 +
 +
 +==== Osnovni alati ====
 +
 +Osnovni alati koji omogućuju rad s YARA pravilima su:
 +
 +YARA: Glavni alat za definiciju i primjenu pravila. Primjer korištenja:
 +
 +  yara pravilo.yar datoteka.exe
 +
 +Ova naredba omogućuje ručno testiranje pravila na pojedinačnim datotekama, što je korisno za analizu specifičnih uzoraka.
 +
 +
 +----
 +
 +
 +yarac: Alat za prevođenje pravila u binarni format. Prevođenje smanjuje vrijeme obrade i optimizira performanse:
 +
 +  yarac pravilo.yar compile_pravilo.yarc
 +
 +
 +----
 +
 +
 +VirusTotal: Platforma za testiranje YARA pravila na stvarnim prijetnjama u globalnoj bazi podataka. Omogućuje validaciju pravila u stvarnim scenarijima.
 +
 +
 +----
 +
 +
 +ClamAV: Open-source antivirusni alat koji podržava integraciju YARA pravila za lokalno skeniranje.
 +
 +
 +==== Automatizacija uz Python ====
 +
 +Python modul yara-python omogućuje implementaciju YARA pravila u prilagođene alate i skripte. Na primjer, za automatizirano skeniranje datoteka možete koristiti sljedeći kod:
 +
 +  import yara
 +  rules = yara.compile(filepath='pravilo.yar')
 +  matches = rules.match(filepath='datoteka.exe')
 +  print("Pronađeni podudari:", matches)
 +
 +Prednosti automatizacije:
 +
 +  * Redovito skeniranje: Smanjuje potrebu za ručnim analizama.
 +  * Integracija u CI/CD procese: Osigurava da novi softver prolazi sigurnosne provjere.
 +  * Prilagodljivost: Mogućnost razvoja specifičnih alata za detekciju.
 +
 +==== Najbolje prakse ====
 +
 +Za učinkovitu primjenu YARA pravila preporučuje se:
 +
 +  * Specifičnost: Koristite jedinstvene stringove kako biste smanjili lažne pozitivne rezultate.
 +  * Optimizacija: Izbjegavajte složene regularne izraze koji usporavaju pretrage.
 +  * Testiranje: Redovito provjeravajte pravila na stvarnim uzorcima koristeći alate poput VirusTotal ili ClamAV.
 +  * Ažuriranje pravila: Prilagođavajte ih novim prijetnjama kako bi ostala relevantna.
 +
 +
 +
 +
 +
 +===== Ograničenja YARA pravila =====
 +Unatoč svojoj korisnosti, YARA pravila imaju ograničenja:
 +
 +  * Redovito ažuriranje: Pravila brzo zastarijevaju kako prijetnje evoluiraju.
 +  * Performanse: Kompleksna pravila mogu usporiti analize velikih datasetova.
 +  * Lažni pozitivni rezultati: Neadekvatno definirana pravila mogu povećati broj lažnih alarma.
  
  
Redak 30: Redak 214:
 ===== Literatura ===== ===== Literatura =====
  
-[1] [[https://hr.wikipedia.org/wiki/]]+[1] Službena dokumentacija YARA alata: [[https://yara.readthedocs.io/]] 
 + 
 +[2] VirusTotal i YARA pravila: [[https://www.virustotal.com/gui/home]]
  
 +[3] Sikorski, M., Honig, A. Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software. No Starch Press, 2012.
  
 +[4]GitHub YARA pravila: [[https://github.com/Yara-Rules/rules]]
racfor_wiki/seminari2024/pisanje_yara_pravila.1737827678.txt.gz · Zadnja izmjena: 2025/01/25 17:54 od Mikulić Katarina
Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0