Pahavara tuvastamine ja klassifitseerimine Amazon Rekognition PlatoBlockchain Data Intelligence abil. Vertikaalne otsing. Ai.

Pahavara tuvastamine ja klassifitseerimine Amazon Rekognitioniga

Vastavalt ühele artikkel Cybersecurity Ventures'i poolt suurenes Ransomware'i (teatud tüüpi pahavara, mis võib blokeerida kasutajatel juurdepääsu oma andmetele, kui nad ei maksa lunaraha) tekitatud kahju 57. aastal 2021. aastaga võrreldes 2015 korda. Lisaks läheb see ohvritele maksma 265 miljardit dollarit ( USD) igal aastal 2031. aastaks. Selle artikli kirjutamise ajal langeb Ransomware rünnakute rahaline lõiv veidi üle 50th positsioon riikide nimekirjas, mis on järjestatud nende järgi SKP.

Arvestades pahavarast tulenevat ohtu, on pahavara rünnakute tuvastamiseks ja ohjeldamiseks välja töötatud mitmeid tehnikaid. Kaks tänapäeval kõige levinumat tehnikat on signatuuri- ja käitumispõhine tuvastamine.

Allkirjapõhine tuvastamine loob teadaolevale pahatahtlikule objektile kordumatu identifikaatori, et objekti saaks tulevikus tuvastada. See võib olla failile lisatud kordumatu koodimuster või teadaoleva pahavarakoodi räsi. Kui uute objektide skannimisel avastatakse teadaolev mustri identifikaator (signatuur), märgitakse objekt pahatahtlikuks. Allkirjapõhine tuvastamine on kiire ja nõuab vähest arvutusvõimsust. Siiski võitleb see polümorfsete pahavaratüüpidega, mis muudavad pidevalt oma vormi, et vältida tuvastamist.

Käitumispõhine tuvastamine hindab kahtlasi objekte nende käitumise põhjal. Artefaktid, mida pahavaratõrjetooted võivad arvesse võtta, on protsesside interaktsioonid, DNS-päringud ja objekti võrguühendused. See meetod toimib polümorfse pahavara tuvastamisel paremini kui allkirjapõhine, kuid sellel on mõned varjuküljed. Et hinnata, kas objekt on pahatahtlik, peab see töötama hostis ja genereerima piisavalt artefakte, et pahavaratõrjetoode selle tuvastaks. See pimeala võib lasta pahavaral hosti nakatada ja võrgu kaudu levida.

Olemasolevad tehnikad pole kaugeltki täiuslikud. Selle tulemusena jätkuvad uuringud eesmärgiga töötada välja uusi alternatiivseid tehnikaid, mis parandavad meie võimet võidelda pahavara vastu. Üks viimastel aastatel esile kerkinud uudne tehnika on pildipõhine pahavara tuvastamine. See tehnika teeb ettepaneku treenida süvaõppevõrku, mille teadaolevad pahavara binaarfailid on teisendatud halltoonides kujutisteks. Selles postituses tutvustame, kuidas teha pildipõhist pahavara tuvastamist Amazon Rekognitsioon Kohandatud sildid.

Lahenduse ülevaade

Mitme klassifikatsiooni mudeli ja pahavara tuvastamise mudeli väljaõpetamiseks valmistame esmalt ette koolitus- ja testiandmestikud, mis sisaldavad erinevat tüüpi pahavara, nagu üleujutaja, reklaamvara, nuhkvara jne, aga ka healoomulisi objekte. Seejärel teisendame kaasaskantavad käivitatavad (PE) objektid halltoonides kujutisteks. Järgmisena koolitame mudelit, kasutades pilte Amazon Rekognitioniga.

Amazon Rekognition on teenus, mis muudab teie rakendustes erinevat tüüpi visuaalse analüüsi tegemise lihtsaks. Rekognition Image aitab teil luua võimsaid rakendusi miljonite piltide otsimiseks, kinnitamiseks ja korraldamiseks.

Amazon Rekognitioni kohandatud sildid tuginevad Rekognitioni olemasolevatele võimalustele, mida on juba koolitatud kümnete miljonite piltide jaoks paljudes kategooriates.

Amazon Rekognition Custom Labels on täielikult hallatav teenus, mis võimaldab kasutajatel analüüsida miljoneid pilte ja kasutada neid paljude erinevate masinõppe (ML) probleemide lahendamiseks, sealhulgas piltide klassifitseerimine, näotuvastus ja sisu modereerimine. Kulisside taga põhineb Amazon Rekognition sügaval õppimistehnoloogial. Teenus kasutab konvolutsiooninärvivõrku (CNN), mis on eelnevalt koolitatud suurele märgistatud andmekogumile. Selliste tõepõhiste andmetega kokku puutudes saab algoritm õppida ära tundma paljudest erinevatest valdkondadest pärit piltide mustreid ja seda saab kasutada paljudel tööstusharu kasutusjuhtudel. Kuna AWS võtab mudeliarhitektuuri loomise ja hooldamise ning käesolevale ülesandele sobiva koolitusmeetodi valimise omandiõiguse, ei pea kasutajad kulutama aega koolitusülesannete jaoks vajaliku infrastruktuuri haldamisele.

Lahenduse arhitektuur

Alljärgnev arhitektuuriskeem annab ülevaate lahendusest.

Lahendus on ehitatud kasutades AWS partii, AWS Fargateja Amazon Rekognitsioon. AWS Batch võimaldab teil Fargate'is käitada sadu pakettarvutustöid. Fargate ühildub mõlemaga Amazon Elastic Container Service (Amazon ECS) ja Amazon Elastic Kubernetes Service (Amazon EKS). Amazon Rekognitioni kohandatud sildid võimaldavad teil kasutada arvutinägemise jaoks AutoML-i, et koolitada kohandatud mudeleid pahavara tuvastamiseks ja erinevate pahavarakategooriate klassifitseerimiseks. AWS-i astmefunktsioone kasutatakse andmete eeltöötluse korraldamiseks.

Selle lahenduse jaoks loome eeltöötlusressursid läbi AWS CloudFormation. CloudFormationi virna mall ja AWS-i partii, Fargate ja Step funktsioonide lähtekood on saadaval GitHubi hoidla.

Andmebaas

Selles näites mudeli koolitamiseks kasutasime pahatahtliku ja healoomulise väljavõtmiseks järgmisi avalikke andmekogumeid Kaasaskantav käivitatav (PE):

Soovitame teil andmekogumite dokumentatsiooni hoolikalt läbi lugeda (Sophos/Reversing Labs README, PE pahavara masinõppe andmestik), et pahavaraobjekte ohutult käsitseda. Vastavalt oma eelistustele saate kasutada ka muid andmekogumeid, kui need pakuvad pahavara ja pahaloomulisi objekte binaarvormingus.

Järgmisena tutvustame teile lahenduse järgmisi etappe.

  • Objektide eeltöötlemine ja kujutisteks teisendamine
  • Juurutage eeltöötlusressursse CloudFormationiga
  • Valige mudel
  • Treeni modelli
  • Hinnake mudelit
  • Kulud ja jõudlus

Objektide eeltöötlemine ja kujutisteks teisendamine

Kasutame astmefunktsioone, et korraldada objekti eeltöötluse töövoogu, mis hõlmab järgmisi samme:

  1. Võtke meta.db sqllite andmebaasist sorel-20m S3 ämbrisse ja teisendage see .csv-failiks. See aitab meil laadida CSV-faili Fargate'i konteinerisse ja viidata pahavaraobjektide töötlemise ajal metaandmetele.
  2. Võtke sorel-20m S3 ämbrist objektid ja looge objektide loend csv-vormingus. Selle toimingu sooritamisel loome rea csv-faile, mida saab paralleelselt töödelda, vähendades sellega eeltöötlusele kuluvat aega.
  3. Teisendage sorel-20m S3 ämbrist olevad objektid kujutisteks mitmesuguste tööde abil. AWS-i pakkmassiivi töödel on ühised parameetrid pahavaraobjektide kujutisteks teisendamiseks. Need töötavad kujutiste teisendustööde kogumina, mis on jaotatud mitme hosti vahel ja töötavad samaaegselt.
  4. Valige mudelikoolituse jaoks etteantud arv pilte koos pahavara kategooriatele vastavate tööde massiiviga.
  5. Sarnaselt 2. sammuga võtame healoomulised objektid benign-160k S3 ämbrist ja loome objektide loendi csv-vormingus.
  6. Sarnaselt 3. sammuga teisendame healoomulise 160k S3 ämbri objektid kujutisteks, millel on palju töid.
  7. Tänu Amazon Rekognitioni kohandatud siltide koolituse vaikekvoodile (250 XNUMX pilti), valige modellikoolituse jaoks etteantud arv healoomulisi pilte.
  8. Nagu on näidatud järgmisel pildil, salvestatakse kujutised S3 ämbrisse, mis on esmalt jagatud pahavara ja healoomuliste kaustadega ning seejärel pahavara tüüpide kaupa.
    Treening S3 kopp
    Koolituse andmestik

Juurutage eeltöötlusressursid CloudFormationiga

Eeldused

Enne jätkamist on vajalikud järgmised eeltingimused:

Ressursi juurutamine

CloudFormationi virn loob järgmised ressursid.

parameetrid

  • STACK_NAME – CloudFormationi virna nimi
  • AWS_REGION – AWS-i piirkond, kus lahendus kasutusele võetakse
  • AWS_PROFIIL – Nimega profiil, mis rakendub AWS CLI käsule
  • ARTEFACT_S3_BUCKET – S3 ämber, kuhu infrastruktuuri kood salvestatakse. (Ämber tuleb luua samas piirkonnas, kus lahendus elab).
  • AWS_ACCOUNT – AWS-i konto ID.

Kasutage ressursside juurutamiseks järgmisi käske

Veenduge, et dokkimisagent töötab masinas. Juurutamine toimub bash-skriptide abil ja sel juhul kasutame järgmist käsku:

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

See loob ja juurutab kohalikud artefaktid, millele CloudFormationi mall (nt cloudformation.yaml) viitab.

Treeni modelli

Kuna Amazon Rekognition hoolitseb teie eest mudelikoolituse eest, pole arvutinägemine ega kõrgelt spetsialiseerunud ML-teadmised vajalikud. Siiski peate Amazon Rekognitionile pakkuma ämbri, mis on täidetud sobivalt märgistatud sisendpiltidega.

Selles postituses õpetame kohandatud siltide funktsiooni kaudu kahte sõltumatut kujutiste klassifitseerimismudelit:

  1. Pahavara tuvastamise mudel (binaarne klassifikatsioon) – tuvasta, kas antud objekt on pahatahtlik või healoomuline
  2. Pahavara klassifikatsioonimudel (mitme klassi klassifikatsioon) – tuvastage antud pahatahtliku objekti pahavara perekond

Modellkoolituse läbikäik

Järgmises juhendis loetletud sammud kehtivad mõlema mudeli puhul. Seetõttu peate mõlema mudeli treenimiseks need etapid läbima kaks korda.

  1. Logige sisse AWS-i juhtimiskonsool ja avage Amazon Rekognition lohutada.
  2. Valige vasakpoolsel paanil Kasutage kohandatud silte. Kuvatakse Amazon Rekognitioni kohandatud siltide sihtleht.
  3. Valige Amazon Rekognitioni kohandatud siltide sihtlehel Alustamine.
  4. Vasakpoolsel paanil valige Projektid.
  5. Vali Loo projekt.
  6. In Projekti nimi, sisestage oma projektile nimi.
  7. Vali Loo projekt oma projekti loomiseks.
  8. aasta Projektid lehel valige projekt, millele soovite andmestiku lisada. Kuvatakse teie projekti üksikasjade leht.
  9. Vali Loo andmestik. Loo andmestik leht kuvatakse.
  10. In Konfiguratsiooni alustamine, vali Alustage ühest andmekogumist et lasta Amazon Rekognitionil andmestik koolituseks ja testimiseks jagada. Pange tähele, et igas mudelitreeningu iteratsioonis võivad tekkida erinevad testinäidised, mille tulemuseks on veidi erinevad tulemused ja hindamismõõdikud.
  11. Vali Importige pilte Amazon S3 ämbrist.
  12. In S3 URI, sisestage S3 ämbri asukoht ja kausta tee. Mõlema andmekogumi loomiseks kasutatakse sama S3 ämbrit, mis saadi eeltöötlusetapist: pahavara tuvastamine ja pahavara klassifikatsioon. Pahavara tuvastamise andmestik osutab juurtele (st s3://malware-detection-training-{account-id}-{region}/) S3 ämbrist, samas kui pahavara klassifikatsiooni andmestik osutab pahavara kaustale (st s3://malware-detection-training-{account-id}-{region}/malware) S3 ämbrist. Treeningu andmed
  13. Vali Lisage piltidele automaatselt sildid kausta alusel.
  14. Vali Loo andmekogusid. Avaneb teie projekti andmekogumite leht.
  15. Kohta Rongi mudel lehel, valige Rongi mudel. Teie projekti Amazoni ressursi nimi (ARN) peaks olema jaotises Valige projekt redigeerimiskast. Kui ei, siis sisestage oma projekti ARN.
  16. aasta Kas soovite oma modelli koolitada? valige dialoogiboks Rongi mudel.
  17. Pärast koolituse lõppu valige mudeli nimi. Treening on lõppenud, kui mudeli olek on TRAINING_COMPLETED.
  18. aasta Mudelid jaotises valige Kasuta mudelit mudeli kasutamise alustamiseks.

Lisateabe saamiseks vaadake Amazon Rekognitioni kohandatud silte Alustamine juhend.

Hinnake mudelit

Kui koolitusmudelid on valmis, pääsete hindamismõõdikutele juurde valides Kontrollige mõõdikuid mudeli lehel. Amazon Rekognition pakub teile järgmisi mõõdikuid: F1 skoor, keskmine täpsus ja üldine meeldetuletus, mida tavaliselt kasutatakse klassifitseerimismudelite toimivuse hindamiseks. Viimased on siltide arvu keskmised mõõdikud.

aasta Sildi jõudluse järgi jaotisest leiate nende mõõdikute väärtused sildi kohta. Lisaks, et saada väärtusi Tõene positiivne, Valepositiivne ja Valenegatiivne, valige Vaadake testi tulemusi.

Pahavara tuvastamise mudeli mõõdikud

199,750 XNUMX kahe sildiga (healoomuline ja pahavara) kujutise tasakaalustatud andmekogumi kohta saime järgmised tulemused.

  • F1 skoor – 0.980
  • Keskmine täpsus – 0.980
  • Üldine tagasikutsumine – 0.980

Pahavara tuvastamise mudeli mõõdikud

Pahavara klassifitseerimismudeli mõõdikud

130,609 11 11 sildiga pildist (XNUMX pahavaraperekonda) koosneva tasakaalustatud andmekogumi kohta saime järgmised tulemused.

  • F1 skoor – 0.921
  • Keskmine täpsus – 0.938
  • Üldine tagasikutsumine – 0.906

Pahavara klassifitseerimismudeli mõõdikud

Et hinnata, kas mudel toimib hästi, soovitame võrrelda selle toimivust teiste valdkonna võrdlusnäitajatega, mida on koolitatud sama (või vähemalt sarnase) andmestiku kohta. Kahjuks ei ole selle postituse kirjutamise ajal ühtegi võrdlevat uurimistööd, mis lahendaks selle probleemi sama tehnika ja samade andmekogumite abil. Andmeteaduse kogukonnas peetakse aga mudelit, mille F1 skoor on üle 0.9, väga hästi toimivaks.

Kulud ja jõudlus

Ressursside serverivaba olemuse tõttu mõjutab üldkulusid iga teenuse kasutusaeg. Teisest küljest mõjutab jõudlust töödeldavate andmete hulk ja Amazon Rekognitioni koolitusandmestiku suuruse voog. Kulude ja toimivusprognooside teostamisel võtame arvesse järgmist stsenaariumi.

  • Soreli andmekogumist kataloogitakse ja töödeldakse 20 miljonit objekti.
  • PE Malware Machine Learning Datasetist kataloogitakse ja töödeldakse 160,000 XNUMX objekti.
  • Koolitusse S240,000 ämbrisse kirjutatakse ligikaudu 3 160,000 objekti: 80,000 XNUMX pahavaraobjekti ja XNUMX XNUMX healoomulist objekti.

Selle stsenaariumi põhjal on mudelite eeltöötluse ja juurutamise keskmine hind 510.99 USD. Teilt võetakse täiendavalt 4 USD/h iga mudeli kasutamise tunni eest. Üksikasjaliku kulude jaotuse leiate jaotisest hinnata kaudu loodud AWS-i hinnakalkulaator.

Toimivuse osas on meie mõõtmise tulemused järgmised:

  • ~2 h eeltöötlusvoo lõpuleviimiseks
  • ~40 h pahavara tuvastamise mudeli koolituse läbimiseks
  • ~40 h pahavara klassifitseerimise mudeli koolituse läbimiseks

Korista ära

Edaspidiste tasude vältimiseks peatus ja kustutama Amazon Rekognitioni mudelid ja kustutage eeltöötlusressursid rakenduse kaudu hävitada.sh stsenaarium. Skripti edukaks käivitamiseks on vaja järgmisi parameetreid:

  • STACK_NAME – CloudFormationi virna nimi
  • AWS_REGION – piirkond, kus lahendust kasutatakse
  • AWS_PROFIIL – Nimega profiil, mis kehtib AWS CLI käsu kohta

Kasutage järgmisi käske, et käivitada ./malware_detection_deployment_scripts/destroy.sh skript:

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

Järeldus

Selles postituses näitasime, kuidas Amazon Rekognitioni abil pahavara tuvastada ja klassifitseerida. Lahendused järgivad serverita mustrit, kasutades hallatavaid teenuseid andmete eeltöötluseks, orkestreerimiseks ja mudeli juurutamiseks. Loodame, et see postitus aitab teid ründevara vastu võitlemisel.

Järgmises postituses näitame praktilist pahavara tuvastamise juhtumit, kasutades selles postituses juurutatud mudeleid.


Autoritest

Edvin HallvaxhiuEdvin Hallvaxhiu on AWS-i professionaalsete teenuste vanem globaalne turvaarhitekt ning on kirglik küberturvalisuse ja automatiseerimise vastu. Ta aitab klientidel luua pilves turvalisi ja nõuetele vastavaid lahendusi. Väljaspool tööd meeldib talle reisimine ja sportimine.

Rahul ShauryaRahul Shaurya on AWS-i professionaalsete teenuste peamine andmearhitekt. Ta aitab ja teeb nendega tihedat koostööd klientidega, kes loovad AWS-is andmeplatvorme ja analüütilisi rakendusi. Väljaspool tööd meeldib Rahulile oma koera Barneyga pikki jalutuskäike teha.

Bruno DheftoBruno Dhefto on AWS-i professionaalsete teenustega globaalne turbearhitekt. Ta on keskendunud klientide abistamisele AWS-is turvalise ja usaldusväärse arhitektuuri loomisel. Töövälisel ajal tunnevad ta huvi uusimate tehnoloogiauuenduste ja reisimise vastu.

Nadim MajedNadim Majed on AWS-i professionaalsete teenuste andmearhitekt. Ta töötab kõrvuti klientidega, kes loovad oma andmeplatvorme AWS-is. Väljaspool tööd mängib Nadim lauatennist ja talle meeldib jalgpalli/jalgpalli vaadata.

Ajatempel:

Veel alates AWS-i masinõpe