[vc_row][vc_column width=”2/3″][vc_wp_text]

[xyz-ips snippet=”metadatatitle”]

[/vc_wp_text][/vc_column][vc_column width=”1/3″][/vc_column][/vc_row][vc_row][vc_column width=”2/3″][vc_column_text]

Mi is az a „threat hunting” avagy fenyegetésvadászat? Egy napjainkban kialakult új informatikai biztonsági terület, mely során az infrastruktúrát érő rosszindulatú tevékenységeket azonosítják és próbálják nyomon követni.

Eme specializáció célja, hogy megpróbáljanak lépést tartani a fenyegetésekkel és megelőzni azok bekövetkezését. Ennek támogatására fejlesztették ki a YARA leírónyelvet és alkalmazást, mely különféle mintázatok keresésével segíti a rosszindulatú kódok megtalálását. Rendkívül sok alkalmazás és cég támogatja, mint például:

  • AlienVault
  • Blue Coat
  • ESET
  • Symantec
  • Carbon Black

A malware-elemzők, fenyegetésvadászok, elsődleges eszközei a „sandbox” és „honeypot” néven ismert technológiák, melyek képesek arra, hogy a rosszindulatú kódot úgy detonálják, hogy ezzel nem okoznak kárt az infrastruktúrában, viszont információhoz jussanak az alkalmazás működésével és viselkedésével kapcsolatban. Ezen információkat aztán föl lehet használni YARA szabályok készítéséhez, mely segítségével lehetővé válik a különféle fenyegetések, malware-ek gyors és hatékony földerítése.

Ha valahol „.yar” kiterjesztésű fájlal találkozunk, azok tartalmazzák a YARA-hoz tartozó szabályokat, ami a kártékony minták felderítéséhez, azonosításához és kategorizálásához használható. Ezek egy speciális szintaxist alkalmaznak a rendszerbeli eltérő tevékenységeket jelző attribútumok leírására. Ha egy ilyen szabály teljesül akkor az nagy eséllyel egy fertőzést jelez és az elemzőnek további vizsgálatokat kell elvégeznie. A YARA segítségével szöveges vagy bináris mintákon alapuló leírások készíthetők, ezek halmazokból és logikai kifejezésekből állnak.

[/vc_column_text][/vc_column][vc_column width=”1/3″][vc_wp_text][xyz-ips snippet=”metadatatime”][/vc_wp_text][/vc_column][/vc_row][vc_row][vc_column width=”2/3″][vc_column_text]

Cyber Kill chain

A „Kill Chain” eredetileg egy hadászati kifejezés, mely meghatározza azon offenzív, vagy éppen defenzív lépéseket, melyek egy lehetséges ellenfél felbukkanásától, annak eliminálásáig tartanak. Ezt ültette át a Lockheed Martin internetes környezetbe, így született a „Cyber Kill Chain”. Az elmélet alapja, hogy a védekező oldal megelőzze a támadót és megakadályozza a támadásban. A modell 7 fázisból áll és épít fel egy intézkedési láncot a támadások ellen, például az APT-k ellen.

[/vc_column_text][vc_empty_space][vc_single_image image=”29130″ img_size=”full”][vc_empty_space][vc_column_text]Az APT egy rövidítés, mely kibontva:

  • A: Advanced (Fejlett)
  • P: Persistent (Folyamatos)
  • T: Threat (Fenyegetés)

Ezen fenyegetések nem egyetlen támadási formával valósulnak meg, hanem több különböző lépés és technikai megoldás egymásra építéséből. Ezáltal a felfedezésük és későbbi kivizsgálásuk nehezebb feladat. Jelentős veszélyt jelentenek, mert a támadók konkrét céllal rendelkeznek és ehhez általában mind anyagi finanszírozásuk, mind pedig képességeik és az általuk beszerzett információk mennyisége messze túlszárnyalja az átlagos rosszindulatú aktorokat.

[/vc_column_text][vc_empty_space][vc_single_image image=”32461″ img_size=”full”][vc_separator][/vc_column][vc_column width=”1/3″][/vc_column][/vc_row][vc_row][vc_column width=”2/3″][vc_column_text]

A YARA alkalmazása

A YARA rugalmassága, egyszerűsége és támogatottsága segítséget nyújthat a támadók felderítésében és megelőzésében, akár a célirányosan indított támadások esetében is. Annak érdekében, hogy ez a módszer megvalósítható legyen, a védekező technikáknak összhangban kell lennie. Megfelelő hálózati struktúra, behatolás- végpontvédelem és csomagellenőrzés szükséges. Ha a „cyber kill chain” elemzés sikeresen észleli a behatolást vagy annak lehetőségét, az elemző képes lesz meghatározni a progresszióját. A korai felismerés viszont rugalmasságot jelent, és lehetővé teszi az elemző számára, hogy megállítsa a támadást, mielőtt a következő szakaszba lépne.

A fenyegetettség-felderítésre vonatkozó szabvány említésre méltó példája a MITRE Structured Threat Information eXpression. A STIX egy szabványosított számítógépes XML nyelv, mely fenyegetés-információ specifikációjára, rögzítésére, jellemzésére és kommunikálására szolgál. Továbbá a STIX kompatibis a „Cyber Security Kill Chain”-nel, és támogatja a YARA és a SNORT szabályokat. Az integritásnak köszönhetően a fenyegetés-felderítési tervben a YARA szabályok alkalmazhatóvá válnak a végpontok szkennelésére és a behatolás nyomainak felderítésére is.

A munkaállomás átvizsgálásához csak be kell tölteni a YARA programot a szükséges paraméterekkel. Például:

yara32.exe –d md5= <MD5_hash><this_is_yara_rule.yar><dir_for_check>

ahol a „-d” paraméterrel adhatunk meg külső változókat. Ha bármely, szabályra illeszkedő egyezést talál, a program megjelenít egy értesítést, amely tartalmazza a szabály nevét és a komponenst, amely arra illeszkedik.

A YARA azért is kedvelt, mert rendkívül könnyen elkészíthető egy-egy szabály hozzá. Ezeket hozzáadva szoftverünk szabálygyűjteményéhez, már használható is állandó ellenőrzésre vagy aktuális állapot és vírusok tesztelésére.

A „threat hunting” nehézsége abból ered, hogy mi is kerüljön bele az adott szabályba, hogy sikeresen felismerje a támadást és más, egyébként veszélytelen fájlokra ne jelezzen. Vizsgáljuk meg az alábbi szabály sorait:

  • A „Meta bekezdésbe kerülnek bele az általános információk.
  • A „Strings” sorai adják a szabály hatékonyságának az alapját, az itt feltüntetett sorokra fog a kereső szoftverünk jelezni. Többféle típust is támogat, a hexadecimális stringeket, amik hasznosak lehetnek a nyers bitek meghatározásához, a szöveges stringeket és a reguláris kifejezéseket.
  • A „Condition” alá pedig a Bool-algebrán alapuló relációs struktúra szerepel.

Threat Hunting a YARA segítségével

Az itt bemutatott példában mindenki számára elérhető, ingyenesen letölthető szoftvereket használtam saját és interneten talált szabályokkal. Előfizetési díj ellenében több platform is jelen van a piacon, naprakész adatbázissal, hasznos kiegészítő programokkal és szabályokkal pl.: VirusTotal Intelligence. Azonban itt ezek nem kerültek alkalmazásra.

A választás a napjainkban elterjedt EMOTET vírusra esett. Az alábbi képen egy ilyen vírusnak a hexadecimális bitjei és mellette a dekódolt szöveg látható. Hozzáértők számára is nehezen értelmezhetőek az ilyen szövegek, mivel a készítőnek is célja, hogy ne lehessen visszafejteni az általuk írt kártékony kódot. Ha az itt szereplő bitekre elkészítjük a szabályt, akkor jelezni is fog rá. Probléma akkor jelentkezik, ha olyan sort választunk ki, ami más fájlokban is előfordul.

Threat Hunting a YARA segítségével

Ennek a kiküszöbölésére alkalmaztam a következő szoftvert, mely a konkrét stringeket listáz ki és javaslatokat is tesz, hogy melyiket célszerű használni. Itt szintén arra kell figyelni, hogy a vírusra egyedi sorokat kell találni.

Threat Hunting a YARA segítségével

Az alábbi szoftver rendkívül sok adatbázist használ naprakész információkkal.

Threat Hunting a YARA segítségével

Pestudio8.80 által használt adatbázisok. A lista nem teljes.

Az interneten sokféle előre megírt szabály található, ezek közül néhányat és egy saját készítésűt is teszteltem. Az alap vírustevékenység sok esetben ugyanaz, mégis szinte teljesen különböző stringek találhatók benne, ezért is bonyolult a megfelelőket kiválasztani. Egy-egy vírusnak sokféle verziója és az évek során újabb és újabb kiadása jelenik meg. Ezeket követve kell a szabályokat megírni és folyamatosan frissíteni, felülvizsgálni.

Threat Hunting a YARA segítségével

Threat Hunting a YARA segítségével

Az fentebbi képen Windows környezetben a yara32.exe program futási eredménye látszik. A példában használt szabály az emotet.yar, a különböző típusú EMOTET vírusok pedig az version1, version2 és version2v1 volt. Futás után az előre elkészített szabály alapján megtalálta az említett vírustípusokat.

A YARA egyaránt használható Linux és Windows környezetben is. Telepítése és a további műveletek ilyen formában is rendkívül egyszerűen megvalósíthatóak. A Szoftveres támogatottságnak köszönhetően a megírt szabályok könnyen alkalmazhatóak.

Andrásik Fruzsina, Black Cell Kft., SOC Analyst

[/vc_column_text][vc_separator color=”green”][/vc_column][vc_column width=”1/3″][/vc_column][/vc_row][vc_row][vc_column width=”2/3″][vc_column_text]

Szöveges források:

http://tech.cert-hungary.hu/tech-blog/150824/a-fertozottseg-jelei-mint-a-kockazat-csokkentesenek-eszkozei-denis-makrushin-augusztus-19-2015

https://www.tenable.com/blog/threat-hunting-with-yara-and-nessus

https://www.sans.org/reading-room/whitepapers/forensics/intelligence-driven-incident-response-yara-35542

https://www.sans.org/webcasts/sharpen-threat-hunting-capabilities-yara-108060

https://sqrrl.com/threat-hunter-profile-matt-arnao/

http://virustotal.github.io/yara/

http://www.admin-magazine.com/Archive/2017/41/Detecting-malware-with-Yara

[/vc_column_text][/vc_column][vc_column width=”1/3″][/vc_column][/vc_row]

Pin It on Pinterest