Malware detection and classification with Amazon Rekognition PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Rosszindulatú programok észlelése és osztályozása az Amazon Rekognition segítségével

Szerint egy cikkben A Cybersecurity Ventures által a Ransomware által okozott kár (olyan rosszindulatú program, amely megakadályozhatja, hogy a felhasználók hozzáférjenek adataikhoz, hacsak nem fizetnek váltságdíjat) 57-ben 2021-szeresére nőtt 2015-höz képest. Ezenkívül az előrejelzések szerint 265 milliárd dollárba kerül áldozatainak ( USD) évente 2031-ig. A cikk írásakor a Ransomware támadásokból származó pénzügyi kár valamivel az 50 fölé esik.th pozíciójukat az országok listáján GDP.

Tekintettel a rosszindulatú programok által jelentett fenyegetésre, számos technikát fejlesztettek ki a rosszindulatú programok támadásainak észlelésére és megfékezésére. A két legelterjedtebb manapság használt technika az aláírás- és viselkedésalapú észlelés.

Az aláírás-alapú észlelés egyedi azonosítót hoz létre egy ismert rosszindulatú objektumhoz, hogy az objektumot a jövőben azonosítani lehessen. Ez lehet egy fájlhoz csatolt egyedi kódminta, vagy egy ismert rosszindulatú programkód kivonata. Ha egy ismert mintaazonosítót (aláírást) fedez fel az új objektumok vizsgálata során, akkor az objektumot rosszindulatúként jelöli meg. Az aláírás alapú észlelés gyors, és alacsony számítási teljesítményt igényel. Azonban küzd a polimorf kártevő-típusok ellen, amelyek folyamatosan változtatják formájukat, hogy elkerüljék az észlelést.

A viselkedés alapú észlelés a gyanús tárgyakat viselkedésük alapján ítéli meg. A kártevő-elhárító termékek a folyamat interakcióit, a DNS-lekérdezéseket és az objektumtól származó hálózati kapcsolatokat vehetik figyelembe. Ez a technika jobban teljesít a polimorf kártevők észlelésében, mint az aláírás-alapú, de vannak hátrányai is. Annak megállapításához, hogy egy objektum rosszindulatú-e, futnia kell a gazdagépen, és elegendő műterméket kell generálnia ahhoz, hogy a kártevő-elhárító termék észlelni tudja. Ez a vakfolt lehetővé teszi, hogy a rosszindulatú program megfertőzze a gazdagépet és terjedjen a hálózaton.

A meglévő technikák messze nem tökéletesek. Ennek eredményeként a kutatás folytatódik azzal a céllal, hogy olyan új alternatív technikákat fejlesszünk ki, amelyek javítják a rosszindulatú programok elleni küzdelem képességét. Az elmúlt években megjelent új technika a képalapú kártevő-észlelés. Ez a technika egy mély tanulási hálózat betanítását javasolja szürkeárnyalatos képekké konvertált, ismert rosszindulatú binárisokkal. Ebben a bejegyzésben bemutatjuk, hogyan lehet képalapú rosszindulatú programokat észlelni Amazon felismerés Egyéni címkék.

Megoldás áttekintése

Egy több osztályozási modell és egy rosszindulatú program észlelési modell betanításához először elkészítjük a betanító és teszt adatkészleteket, amelyek különböző típusú kártevőket tartalmaznak, mint pl. flooder, adware, spyware stb., valamint jóindulatú objektumokat. Ezután a hordozható végrehajtható (PE) objektumokat szürkeárnyalatos képekké alakítjuk. Ezután egy modellt betanítunk a képek felhasználásával az Amazon Rekognition segítségével.

Az Amazon Rekognition egy olyan szolgáltatás, amely egyszerűvé teszi különböző típusú vizuális elemzések végrehajtását az alkalmazásain. A Rekognition Image segítségével hatékony alkalmazásokat hozhat létre képek millióinak kereséséhez, ellenőrzéséhez és rendszerezéséhez.

Az Amazon Rekognition Custom Labels a Rekognition meglévő képességeire épít, amelyek már több tízmillió képre vannak kiképezve számos kategóriában.

Az Amazon Rekognition Custom Labels egy teljesen felügyelt szolgáltatás, amely lehetővé teszi a felhasználók számára, hogy több millió képet elemezzenek, és felhasználják azokat számos különböző gépi tanulási (ML) probléma megoldására, beleértve a képosztályozást, az arcfelismerést és a tartalommoderálást. A színfalak mögött az Amazon Rekognition egy mély tanulási technológián alapul. A szolgáltatás egy konvolúciós neurális hálózatot (CNN) használ, amelyet előre betanítottak egy nagy címkézett adatkészletre. Az ilyen alapigazság-adatoknak való kitettség révén az algoritmus megtanulhatja felismerni a különböző területekről származó képek mintáit, és számos iparági felhasználási esetben használható. Mivel az AWS átveszi a modellarchitektúra felépítését és karbantartását, valamint az adott feladathoz megfelelő képzési módszer kiválasztását, a felhasználóknak nem kell időt tölteniük a képzési feladatokhoz szükséges infrastruktúra kezelésével.

Megoldás architektúra

Az alábbi architektúra diagram áttekintést nyújt a megoldásról.

A megoldás felhasználásával készül AWS köteg, AWS Fargateés Amazon felismerés. Az AWS Batch segítségével több száz kötegelt számítási feladatot futtathat a Fargate-en. A Fargate mindkettővel kompatibilis Amazon Elastic Container Service (Amazon ECS) és a Amazon Elastic Kubernetes Service (Amazon EKS). Az Amazon Rekognition egyéni címkéi lehetővé teszik, hogy az AutoML-t számítógépes látáshoz használja, hogy egyéni modelleket tanítson a rosszindulatú programok észlelésére és a különböző rosszindulatú programok kategóriáira. Az AWS Step Funkciók az adatok előfeldolgozásának megszervezésére szolgálnak.

Ehhez a megoldáshoz az előfeldolgozási erőforrásokat a következőn keresztül hozzuk létre AWS felhőképződés. A CloudFormation verem sablon és az AWS Batch, Fargate és Step funkciók forráskódja elérhető egy GitHub Repository.

adatbázisba

A modell betanításához ebben a példában a következő nyilvános adatkészleteket használtuk a rosszindulatú és jóindulatú kinyerésére Hordozható végrehajtható (PE):

Javasoljuk, hogy figyelmesen olvassa el az adatkészletek dokumentációját (Sophos/Reversing Labs README, PE malware gépi tanulási adatkészlet) a rosszindulatú programok biztonságos kezeléséhez. Az Ön preferenciája alapján más adatkészleteket is használhat, feltéve, hogy rosszindulatú programokat és jóindulatú objektumokat tartalmaznak bináris formátumban.

Ezután végigvezetjük a megoldás következő lépésein:

  • Objektumok előfeldolgozása és képekké alakítása
  • Telepítse az előfeldolgozási erőforrásokat a CloudFormation segítségével
  • Válassza ki a modellt
  • Tanítsd meg a modellt
  • Értékelje a modellt
  • Költség és teljesítmény

Objektumok előfeldolgozása és képekké alakítása

A Step Functions segítségével irányítjuk az objektum-előfeldolgozási munkafolyamatot, amely a következő lépéseket tartalmazza:

  1. Vegye ki a meta.db sqllite adatbázis innen sorel-20m S3 tárolót, és konvertálja .csv fájllá. Ez segít nekünk betölteni a .csv fájlt egy Fargate-tárolóba, és a rosszindulatú programok feldolgozása során a metaadatokra hivatkozni.
  2. Vegye ki az objektumokat a sorel-20m S3 vödörből, és hozzon létre egy listát az objektumokról csv formátumban. Ezzel a lépéssel egy sor .csv fájlt hozunk létre, amelyek párhuzamosan feldolgozhatók, ezáltal csökkentve az előfeldolgozáshoz szükséges időt.
  3. A sorel-20m S3 vödör tárgyait számos feladat segítségével képekké alakíthatja. Az AWS Batch tömbfeladatok közös paraméterekkel rendelkeznek a rosszindulatú program objektumok képpé konvertálásához. Képkonverziós feladatok gyűjteményeként futnak, amelyek több gazdagép között vannak elosztva, és párhuzamosan futnak.
  4. Válasszon előre meghatározott számú képet a modellképzéshez a rosszindulatú programok kategóriáinak megfelelő feladatok sorával.
  5. A 2. lépéshez hasonlóan kivesszük a jóindulatú objektumokat a benign-160k S3 vödörből, és létrehozzuk az objektumok listáját csv formátumban.
  6. A 3. lépéshez hasonlóan az objektumokat a jóindulatú 160k S3 vödörből képekké alakítjuk, feladatok sorával.
  7. Az Amazon Rekognition alapértelmezett kvótája miatt az egyéni címkék képzéséhez (250 XNUMX kép), válasszon előre meghatározott számú jóindulatú képet a modellképzéshez.
  8. Amint az a következő képen látható, a képek egy S3 tárolóban vannak tárolva, amelyet először rosszindulatú programok és jóindulatú mappák particionálnak, majd ezt követően a rosszindulatú programokat a rosszindulatú programok típusai particionálják.
    Képzési S3 vödör
    Képzési adatkészlet

Telepítse az előfeldolgozási erőforrásokat a CloudFormation segítségével

Előfeltételek

A folytatáshoz a következő előfeltételek szükségesek:

Erőforrás telepítés

A CloudFormation verem a következő erőforrásokat hozza létre:

paraméterek

  • STACK_NAME – CloudFormation verem neve
  • AWS_REGION – AWS régió, ahol a megoldást telepíteni fogják
  • AWS_PROFILE – Elnevezett profil, amely az AWS CLI parancsra vonatkozik
  • ARTEFACT_S3_BUCKET – S3 vödör, ahol az infrastruktúra kódot tárolják. (A vödröt ugyanabban a régióban kell létrehozni, ahol a megoldás él).
  • AWS_ACCOUNT – AWS fiókazonosító.

Az erőforrások telepítéséhez használja a következő parancsokat

Győződjön meg arról, hogy a dokkoló ügynök fut a gépen. A telepítés bash szkriptekkel történik, és ebben az esetben a következő parancsot használjuk:

bash malware_detection_deployment_scripts/deploy.sh -s '' -b 'malware-
detection--artifacts' -p  -r "" -a

Ez létrehozza és telepíti azokat a helyi melléktermékeket, amelyekre a CloudFormation sablon (pl. cloudformation.yaml) hivatkozik.

Tanítsd meg a modellt

Mivel az Amazon Rekognition gondoskodik a modellképzésről, nincs szükség számítógépes látásra vagy speciális ML-ismeretekre. Az Amazon Rekognition számára azonban egy megfelelő címkével ellátott bemeneti képekkel megtöltött vödröt kell biztosítania.

Ebben a bejegyzésben két független képosztályozási modellt tanítunk meg az egyéni címkék funkción keresztül:

  1. Kártevő-észlelési modell (bináris osztályozás) – azonosítja, hogy az adott objektum rosszindulatú vagy jóindulatú-e
  2. Malware osztályozási modell (multi-class classification) – azonosítja a rosszindulatú programcsaládot egy adott rosszindulatú objektumhoz

Modellképzés áttekintése

A következő áttekintésben felsorolt ​​lépések mindkét modellre érvényesek. Ezért mindkét modell betanításához kétszer kell végigmennie a lépéseken.

  1. Jelentkezzen be a AWS felügyeleti konzol és nyissa meg az Amazon Rekognitiont konzolra.
  2. A bal oldali ablaktáblában válassza a lehetőséget Használjon egyéni címkéket. Megjelenik az Amazon Rekognition egyéni címkék nyitóoldala.
  3. Az Amazon Rekognition egyéni címkék céloldalán válassza a lehetőséget Első lépések.
  4. A bal oldali ablaktáblában válassza a Kiválasztás lehetőséget projektek.
  5. A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Projekt létrehozása.
  6. In Projekt neve, adja meg a projekt nevét.
  7. A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Projekt létrehozása projektjének létrehozásához.
  8. A projektek oldalon válassza ki azt a projektet, amelyhez adatkészletet szeretne hozzáadni. Megjelenik a projekt részletes oldala.
  9. A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Adatkészlet létrehozása Az Adatkészlet létrehozása oldal jelenik meg.
  10. In Konfiguráció indítása, választ Kezdje egyetlen adatkészlettel hogy az Amazon Rekognition felosztja az adatkészletet a képzéshez és a teszteléshez. Vegye figyelembe, hogy előfordulhat, hogy minden modell betanítási iterációban különböző tesztmintákat kaphat, ami kissé eltérő eredményeket és értékelési mutatókat eredményez.
  11. A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Importáljon képeket az Amazon S3 vödörből.
  12. In S3 URI, adja meg az S3 vödör helyét és a mappa elérési útját. Az előfeldolgozási lépésből származó ugyanazt az S3-csoportot használják mindkét adatkészlet létrehozására: a rosszindulatú programok észlelésére és a rosszindulatú programok osztályozására. A Malware-észlelési adatkészlet a gyökérre mutat (pl. s3://malware-detection-training-{account-id}-{region}/), míg a Malware osztályozási adatkészlet a rosszindulatú programok mappájára mutat (pl. s3://malware-detection-training-{account-id}-{region}/malware) az S3 kanál. Képzési adatok
  13. A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Címkék automatikus csatolása a képekhez a mappa alapján.
  14. A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Adatkészletek létrehozása. Megnyílik a projekt adatkészleteinek oldala.
  15. A Vonat modell oldalon válassza a lehetőséget Vonat modell. A projekt Amazon erőforrásnevének (ARN) szerepelnie kell a Válasszon projektet szerkesztő doboz. Ha nem, adja meg a projekt ARN-jét.
  16. A Tanítani szeretnéd a modelledet? párbeszédpanelen válassza a lehetőséget Vonat modell.
  17. A képzés befejezése után válassza ki a modell nevét. A képzés akkor fejeződik be, amikor a modell állapota elérte TRAINING_COMPLETED.
  18. A Modellek szakaszban válassza a Használja a modellt fület a modell használatának megkezdéséhez.

További részletekért tekintse meg az Amazon Rekognition egyéni címkéit Az első lépések útmutató.

Értékelje a modellt

Amikor a képzési modellek elkészültek, a kiválasztással érheti el az értékelési mérőszámokat Ellenőrizze a mutatókat a modell oldalon. Az Amazon Rekognition a következő mutatókat kínálja: F1 pontszám, átlagos pontosság és általános visszahívás, amelyeket általában az osztályozási modellek teljesítményének értékelésére használnak. Az utóbbiak a címkék számának átlagolt mérőszámai.

A Címke teljesítménye szerint szakaszban címkénként megtalálhatja ezeknek a mutatóknak az értékeit. Ezenkívül a Valódi pozitív, a Hamis pozitív és a Hamis negatív értékek megtekintéséhez válassza a lehetőséget Tekintse meg a teszteredményeket.

A rosszindulatú programok észlelési modelljei

A két címkével (jóindulatú és rosszindulatú) 199,750 XNUMX képből álló kiegyensúlyozott adathalmazon a következő eredményeket kaptuk:

  • F1 pontszám – 0.980
  • Átlagos pontosság – 0.980
  • Teljes visszahívás – 0.980

A rosszindulatú programok észlelési modelljei

A rosszindulatú programok besorolási modelljei

A 130,609 11 képből álló kiegyensúlyozott adathalmaz 11 címkével (XNUMX rosszindulatú programcsalád) a következő eredményeket kaptuk:

  • F1 pontszám – 0.921
  • Átlagos pontosság – 0.938
  • Teljes visszahívás – 0.906

A rosszindulatú programok besorolási modelljei

Annak értékeléséhez, hogy a modell jól teljesít-e, azt javasoljuk, hogy hasonlítsa össze teljesítményét más iparági referenciaértékekkel, amelyek ugyanazon (vagy legalábbis hasonló) adatkészleten alapulnak. Sajnos a bejegyzés írásakor nem létezett olyan összehasonlító kutatás, amely ugyanazt a technikát és ugyanazokat az adatkészleteket oldaná meg. Az adattudományi közösségen belül azonban a 1 feletti F0.9-es modell nagyon jól teljesít.

Költség és teljesítmény

Az erőforrások szerver nélküli jellege miatt a teljes költséget befolyásolja az egyes szolgáltatások igénybevételének időtartama. Másrészt a teljesítményt befolyásolja a feldolgozott adatok mennyisége és a betanítási adatkészlet méretének betáplálása az Amazon Rekognition számára. Költség- és teljesítménybecslésünk során a következő forgatókönyvet vesszük figyelembe:

  • 20 millió objektumot katalogizálnak és dolgoznak fel a sorel adatkészletből.
  • 160,000 XNUMX objektumot katalogizálnak és dolgoznak fel a PE Malware Machine Learning Datasetből.
  • Körülbelül 240,000 3 objektum van a betanító S160,000 gyűjtőhelyre írva: 80,000 XNUMX rosszindulatú objektum és XNUMX XNUMX jóindulatú objektum.

E forgatókönyv alapján a modellek előfeldolgozásának és üzembe helyezésének átlagos költsége 510.99 USD. A modell használatának minden órája után további 4 USD/óra díjat kell fizetnie. A részletes költségbontást a becslés keresztül generált AWS árkalkulátor.

A teljesítményt tekintve mérésünk eredményei a következők:

  • ~2 óra az előfeldolgozási folyamat befejezéséhez
  • ~40 óra, amíg a malware-észlelő modell betanítása befejeződik
  • ~40 óra a rosszindulatú programok besorolási modelljének képzéséhez

Nagytakarítás

A jövőbeni költségek elkerülése érdekében megáll és a töröl az Amazon Rekognition modelleket, és törölje az előfeldolgozási erőforrásokat a elpusztítani.sh forgatókönyv. A következő paraméterek szükségesek a szkript sikeres futtatásához:

  • STACK_NAME – A CloudFormation verem neve
  • AWS_REGION – Az a régió, ahol a megoldást telepítik
  • AWS_PROFILE – Az AWS CLI parancsra vonatkozó elnevezett profil

A következő parancsokkal futtassa a ./malware_detection_deployment_scripts/destroy.sh forgatókönyv:

bash malware_detection_deployment_scripts/destroy.sh -s  -p
 -r 

Következtetés

Ebben a bejegyzésben bemutattuk, hogyan lehet rosszindulatú programokat észlelni és osztályozni az Amazon Rekognition segítségével. A megoldások szerver nélküli mintát követnek, kihasználva a felügyelt szolgáltatásokat az adat-előfeldolgozáshoz, a hangszereléshez és a modelltelepítéshez. Reméljük, hogy ez a bejegyzés segít a rosszindulatú programok elleni küzdelemben.

Egy jövőbeli bejegyzésünkben bemutatjuk a rosszindulatú programok észlelésének gyakorlati felhasználási esetét az ebben a bejegyzésben bemutatott modellek felhasználásával.


A szerzőkről

Edvin HallvaxhiuEdvin Hallvaxhiu vezető globális biztonsági építész az AWS Professional Services-nél, és szenvedélyesen rajong a kiberbiztonságért és az automatizálásért. Segít az ügyfeleknek biztonságos és megfelelő megoldások felépítésében a felhőben. Munkán kívül szeret utazni és sportolni.

Rahul ShauryaRahul Shaurya az AWS Professional Services vezető adatépítésze. Segít, és szorosan együttműködik az ügyfelekkel, akik adatplatformokat és elemző alkalmazásokat építenek az AWS-en. A munkán kívül Rahul szeret hosszú sétákat tenni Barney kutyájával.

Bruno DheftoBruno Dhefto egy globális biztonsági építész az AWS professzionális szolgáltatásokkal. Arra összpontosít, hogy segítse ügyfeleit biztonságos és megbízható architektúrák kialakításában az AWS-ben. Munkán kívül érdeklik a legújabb technológiai frissítések és az utazás.

Nadim MajedNadim Majed az AWS professzionális szolgáltatásainak adattervezője. Együtt dolgozik azokkal az ügyfelekkel, akik adatplatformjaikat az AWS-en építik. Munkán kívül Nadim asztaliteniszez, és imád focit nézni.

Időbélyeg:

Még több AWS gépi tanulás