Kuidas Sophos treenib Amazon SageMaker PlatoBlockchain Data Intelligence abil võimsat ja kerget PDF-i pahavaradetektorit ülimahus. Vertikaalne otsing. Ai.

Kuidas Sophos treenib Amazon SageMakeriga ülimahulist võimsat ja kerget PDF-i pahavaradetektorit

Selle postituse kaasautoriteks on Salma Taoufiq ja Harini Kannan Sophosest.

Järgmise põlvkonna küberturvalisuse juhina Sophos püüab kaitsta enam kui 500,000 150 organisatsiooni ja miljoneid kliente enam kui XNUMX riigis arenevate ohtude eest. Sophos X-Opsi ohuluure, masinõppe (ML) ja tehisintellekti toel pakub laia ja mitmekesist täiustatud toodete ja teenuste portfelli, et kaitsta kasutajaid, võrke ja lõpp-punkte andmepüügi, lunavara, pahavara ja lai valik küberrünnakuid.

. Sophose tehisintellekti (AI) rühm (SophosAI) juhib Sophose peamise ML-turvatehnoloogia arendamist ja hooldust. Turvalisus on suur andmeprobleem. Avastamisest kõrvalehoidmiseks koostavad küberkurjategijad pidevalt uudseid rünnakuid. See tähendab kolossaalseid ohuandmekogumeid, millega grupp peab klientide parimaks kaitsmiseks koostööd tegema. Üks tähelepanuväärne näide on kavalalt pahavaraga seotud failide tuvastamine ja kõrvaldamine, kus andmestikud on terabaitides.

Selles postituses keskendume Sophose pahavara tuvastamise süsteemile spetsiaalselt PDF-failivormingu jaoks. Näitame, kuidas SophosAI kasutab Amazon SageMaker hajutatud treening terabaitide andmetega, et treenida võimsat kerget XGBoost (Extreme Gradient Boosting) mudelit. See võimaldab nende meeskonnal automaatse hüperparameetrite häälestamise abil suuri treeningandmeid kiiremini korrata ja ilma aluseks olevat treeninginfrastruktuuri haldamata.

Lahendus on praegu sujuvalt integreeritud tootmiskoolitustorusse ja mudelit juurutatakse miljonite kasutaja lõpp-punktide kaudu Sophose lõpp-punkti teenus.

Kasutage juhtumi konteksti

Ükskõik, kas soovite jagada olulist lepingut või säilitada oma CV väljamõeldud kujundus, on PDF-vorming kõige levinum valik. Selle laialdane kasutamine ja üldine arusaam, et sellised dokumendid on õhukindlad ja staatilised, on tekitanud kasutajates vale turvatunde. Seetõttu on PDF-ist saanud ründajate arsenalis eelistatud nakkusvektorid. PDF-e kasutavad pahatahtlikud toimingud saavutatakse enamasti JavaScripti kasuliku koormuse manustamise teel, mida PDF-lugeja käitab, et alla laadida URI-st viirus, saboteerida kasutaja masinat või varastada tundlikku teavet.

Sophos tuvastab ründe erinevates punktides pahatahtlikud PDF-failid, kasutades deterministlike ja ML-mudelite kogumit. Ühte sellist lähenemisviisi illustreerib järgmine diagramm, kus pahatahtlik PDF-fail edastatakse meili teel. Niipea kui allalaadimiskatse tehakse, käivitab see pahatahtliku käivitatava skripti, et luua ühendus ründaja käsu- ja juhtimisserveriga. SophosAI PDF-detektor blokeerib allalaadimiskatse pärast pahatahtlikkuse tuvastamist.

Muud viisid hõlmavad PDF-failide blokeerimist lõpp-punktis, pahatahtlike failide saatmist liivakasti (kus neid hinnatakse mitme mudeli abil), pahatahtliku faili saatmist hindamisinfrastruktuuri ja turvaaruande genereerimist jne.

Motiveerimine

Puupõhise detektori loomiseks, mis suudab suure usaldusväärsusega tuvastada pahatahtlikud PDF-failid, võimaldades samal ajal madalat lõpp-punkti arvutusvõimsust ja kiireid järeldusvastuseid, leidis SophosAI meeskond, et XGBoost algoritm on selle ülesande jaoks ideaalne kandidaat. Sellised uurimissuunad on Sophose jaoks olulised kahel põhjusel. Võimsate, kuid väikeste mudelite kasutuselevõtt klientide lõpp-punktide tasemel mõjutab oluliselt ettevõtte analüütikute tooteülevaateid. See pakub ka paremat kasutajakogemust, mis veelgi olulisem.

Tehniline väljakutse

Kuna eesmärk oli saada mudel, mille mälumaht oleks väiksem kui nende olemasolevad PDF-i pahavaradetektorid (nii kettal kui ka mälus), muutis SophosAI XGBoosti, klassifitseerimisalgoritmi, mis on tõestanud, et see toodab drastiliselt väiksemaid mudeleid kui närvivõrgud, saavutades samal ajal muljetavaldavad. jõudlus tabeliandmetel. Enne XGBoosti eksperimentide modelleerimise alustamist oli oluline kaaluda andmestiku tohutut suurust. Tõepoolest, Sophose põhiandmekomplekt PDF-failidest on terabaitides.

Seetõttu oli peamiseks väljakutseks mudeli väljaõpetamine suure andmestikuga, ilma et oleks vaja alaproovi võtta. Kuna detektori jaoks on ülioluline õppida tuvastama PDF-põhiseid rünnakuid – isegi nõel heinakuhjas ja täiesti uudseid, et paremini kaitsta Sophose kliente –, on ülimalt oluline kasutada kõiki saadaolevaid erinevaid andmekogumeid.

Erinevalt närvivõrkudest, kus saate treenida portsjonitena, vajame XGBoosti jaoks kogu treeningandmete kogumit mällu. Selle projekti suurim koolitusandmekogum on üle 1 TB ja sellises mahus pole võimalik treenida ilma hajutatud koolitusraamistiku metoodikat kasutamata.

Lahenduse ülevaade

SageMaker on täielikult hallatav ML-teenus, mis pakub erinevaid tööriistu ML-mudelite koostamiseks, koolitamiseks, optimeerimiseks ja juurutamiseks. The SageMakeri sisseehitatud algoritmide teegid koosneb 21 populaarsest ML-algoritmist, sealhulgas XGBoost. (Lisateavet vt Lihtsustage masinõpet XGBoosti ja Amazon SageMakeriga.) Sisseehitatud XGBoosti algoritmiga saate kasutada avatud lähtekoodiga tehnoloogiat SageMaker XGBoost konteiner määrates raamistiku versiooni, mis on suurem kui 1.0-1, millel on parem paindlikkus, mastaapsus, laiendatavus ja hallatud kohakoolitus ning mis toetab sisendvorminguid, nagu Parkett, mis on PDF-andmestiku jaoks kasutatav vorming.

Peamine põhjus, miks SophosAI SageMakeri valis, on võime saada kasu täielikult hallatud hajutatud koolitusest mitme sõlmega CPU eksemplaridel, määrates lihtsalt rohkem kui ühe eksemplari. SageMaker jagab andmed automaatselt sõlmede vahel, koondab tulemused sarnaste sõlmede vahel ja loob ühe mudeli. Juhtumid võivad olla punktjuhtumid, vähendades seeläbi oluliselt koolituskulusid. Koos XGBoosti sisseehitatud algoritm, saate seda teha ilma täiendava kohandatud skriptita. XGBoosti hajutatud versioonid eksisteerivad ka avatud lähtekoodina, näiteks XGBoost-Ray ja XGBoost4J-Spark, kuid nende kasutamine nõuab hajutatud andmetöötlusklastrite loomist, turvamist, häälestamist ja isehaldamist, mis tähendab märkimisväärset pingutust lisaks teaduslikule arengule.

Lisaks SageMaker automaatne mudeli häälestamine, mida tuntakse ka kui hüperparameetrite häälestamist, leiab mudeli parima versiooni, käivitades palju koolitustöid teie määratud hüperparameetrite vahemikega. Seejärel valib see hüperparameetrite väärtused, mille tulemuseks on antud ML-ülesande mõõdiku järgi kõige paremini toimiv mudel.

Järgnev diagramm illustreerib lahenduse arhitektuuri.

Kuidas Sophos treenib Amazon SageMaker PlatoBlockchain Data Intelligence abil võimsat ja kerget PDF-i pahavaradetektorit ülimahus. Vertikaalne otsing. Ai.

Väärib märkimist, et kui SophosAI alustas XGBoosti katseid enne SageMakeri poole pöördumist, üritati kasutada suurt mälu Amazon Elastic Compute Cloud (Amazon EC2) eksemplarid (nt r5a.24xlarge ja x1.32xlarge), et treenida mudelit võimalikult suurel andmevalimil. Need katsed kestsid aga keskmiselt üle 10 tunni ja tavaliselt ebaõnnestusid mälu tühjenemise tõttu.

Seevastu kasutades SageMaker XGBoost algoritmi ja probleemivaba hajutatud treeningmehhanismi, saab SophosAI 20 minutiga treenida suures mahus võimendusmudelit kolossaalse PDF-treeningu andmestiku põhjal. Meeskond pidi ainult andmed talletama Amazoni lihtne salvestusteenus (Amazon S3) sarnase suurusega Parquet-failidena ning vali EC2 eksemplari tüüp ja soovitud arv eksemplare ning SageMaker haldas aluseks olevat arvutusklastri infrastruktuuri ja jagas koolitust klastri mitme sõlme vahel. Kapoti all jagab SageMaker andmed sõlmede vahel ShardedByS3Key abil, et jaotada failiobjektid võrdselt iga eksemplari vahel, ja kasutab XGBoosti rakendust. Jänese protokoll (usaldusväärne AllReduce ja leviedastusliides), et käivitada hajutatud töötlemine ning suhelda esmaste ja peer-sõlmede vahel. (Lisateavet histogrammi liitmise ja sõlmede vahel levitamise kohta leiate artiklist XGBoost: skaleeritav puu võimendussüsteem.)

Lisaks ühe mudeli treenimisele SageMakeriga, XGBoost hüperparameetrite häälestamine Samuti tehti kiireks ja lihtsaks võimalusega käivitada samaaegselt erinevaid katseid, et täpsustada parimat hüperparameetrite kombinatsiooni. Häälestatavad hüperparameetrid hõlmavad nii võimendusspetsiifilisi kui ka eesmärgifunktsioonipõhiseid hüperparameetreid. Kaks otsingustrateegiat pakutakse: juhuslikku või Bayesi. Bayesi otsingustrateegia on osutunud väärtuslikuks, kuna see aitab leida paremaid hüperparameetreid kui lihtsalt juhuslik otsing, vähemate eksperimentaalsete iteratsioonidega.

Andmekogumi teave

SophosAI PDF-i pahavara tuvastamise modelleerimine tugineb mitmesugustele funktsioonidele, nagu n-grammi histogrammid ja baitide entroopia funktsioonid (lisateabe saamiseks vaadake MEADE: pahatahtliku meilimanuste tuvastamise mootori poole). Kogutud PDF-failidest eraldatud metaandmed ja funktsioonid salvestatakse hajutatud andmelattu. Seejärel arvutatakse välja enam kui 3,500 funktsioonist koosnev andmekogum, mis jagatakse aja alusel edasi koolitus- ja testikomplektideks ning salvestatakse partiidena Amazon S3-s Parketifailidena, et SageMaker oleks koolitustööde jaoks hõlpsasti juurdepääsetav.

Järgmine tabel sisaldab teavet koolituse ja katseandmete kohta.

Andmebaas Proovide arv Parketiviilide arv Kogu suurus
koolitus 70,391,634 5,500 ~ 1010 GB
test 1,242,283 98 ~ 18 GB

Andmete suurused on arvutatud järgmise valemi järgi:

Andmete suurus = N × (nF + nL) × 4

Valemil on järgmised parameetrid:

  • N on proovide arv andmestikus
  • nF on funktsioonide arv koos nF = 3585
  • nL on põhitõemärgiste arv koos n-gaL = 1
  • 4 on funktsioonide andmetüübi jaoks vajalik baitide arv: float32

Lisaks pakuvad järgmised sektordiagrammid nii koolitus- kui ka testikomplektide sildi jaotust, mis toob esile klasside tasakaalustamatuse, millega PDF-i pahavara tuvastamise ülesandes kokku puututakse.

Kuidas Sophos treenib Amazon SageMaker PlatoBlockchain Data Intelligence abil võimsat ja kerget PDF-i pahavaradetektorit ülimahus. Vertikaalne otsing. Ai.

Jaotus nihkub treeningkomplektilt ühe kuu testikomplektile. Andmestiku ajapõhist jaotust koolituseks ja testimiseks rakendatakse, et simuleerida tegelikku juurutamise stsenaariumi ja vältida ajalist nuhkimist. See strateegia võimaldas ka SophosAI-l hinnata mudeli tegelikke üldistusvõimalusi, kui silmitsi seistes näiteks varemnägematute uhiuute PDF-rünnakutega.

Katsed ja tulemused

Katsete käivitamiseks koolitas SophosAI meeskond välja XGBoosti algmudeli vaikeparameetritega. Seejärel alustasid nad hüperparameetrite peenhäälestamist SageMakeriga, kasutades Bayesi strateegiat, mis on sama lihtne kui hüperparameetrid häälestada ja soovitud väärtuste vahemik, hindamismõõdik (antud juhul ROC (vastuvõtja tööomadused) AUC) ning koolitus- ja valideerimiskomplektid. PDF-i pahavaradetektori jaoks seadis SophosAI prioriteediks hüperparameetrid, sealhulgas võimendusringide arvu (num_round), maksimaalne puu sügavus (max_depth), õppimiskiirus (eta) ja veergude valimite suhe puude ehitamisel (colsample_bytree). Lõpuks saadi parimad hüperparameetrid ja neid kasutati mudeli koolitamiseks kogu andmestiku põhjal ning lõpuks hinnati hoidmise testikomplektis.

Järgmine graafik näitab objektiivset mõõdikut (ROC AUC) vs. häälestustöö raames tehtud 15 koolitustööd. Parimad hüperparameetrid on need, mis vastavad üheksandale koolitustööle.

Kuidas Sophos treenib Amazon SageMaker PlatoBlockchain Data Intelligence abil võimsat ja kerget PDF-i pahavaradetektorit ülimahus. Vertikaalne otsing. Ai.

SophosAI SageMakeri katsete alguses oli eriti oluline küsimus, millele tuli vastata: mis tüüpi eksemplare ja kui palju neist on vaja XGBoosti treenimiseks olemasolevate andmete põhjal? See on ülioluline, sest vale numbri või eksemplari tüübi kasutamine võib olla aja- ja raharaiskamine; koolitus ebaõnnestub kindlasti mälu tühjenemise tõttu või kui kasutatakse liiga palju liiga suuri eksemplare, võib see muutuda tarbetult kulukaks.

XGBoost on mäluga seotud (erinevalt arvutuspõhisest) algoritm. Seega on üldotstarbeline arvutuseksemplar (näiteks M5) parem valik kui arvutamiseks optimeeritud eksemplar (näiteks C4). Teadliku otsuse tegemiseks on olemas lihtne SageMakeri juhend kogu andmestiku koolituse läbiviimiseks vajalike eksemplaride arvu valimiseks:

Treeningu andmete kogusuurus × ohutustegur(*) < Eksemplaride arv × Eksemplari tüübi kogumälu

Sel juhul: treeningandmete kogumaht × ohutustegur (12) = 12120 GB

Järgmine tabel võtab kokku nõuded, kui valitud eksemplari tüüp on ml.m5.24xlarge.

Treeningu suurus × ohutustegur (12) Näidemälu ml.m5.24xsuur Koolituse jaoks vajalik minimaalne eksemplaride arv
12120 GB 384 GB 32

*XGBoosti hajutatud treeningu olemuse tõttu, mis nõuab kogu treeningu andmestiku laadimist DMatrixi objektile enne treenimist ja täiendavat vaba mälu, on soovitatav kasutada turvategurit 10–12.

XGBoosti täieliku SageMakeri koolituse mälukasutuse täpsemaks vaatamiseks pakutud andmekogumil esitame koolituse põhjal saadud vastava graafiku. Amazon CloudWatch jälgimine. Selle koolitustöö jaoks kasutati 40 ml.m5.24x suuri eksemplare ja maksimaalne mälukasutus ulatus umbes 62%-ni.

Kuidas Sophos treenib Amazon SageMaker PlatoBlockchain Data Intelligence abil võimsat ja kerget PDF-i pahavaradetektorit ülimahus. Vertikaalne otsing. Ai.

Hallatud ML-teenuse, nagu SageMaker, andmetorusse integreerimisel säästetud insenerikulud on umbes 50%. Võimalus kasutada punktjuhtumeid koolituseks ja hüperparameetrite häälestamiseks vähendab kulusid veel 63%.

Järeldus

SageMakeriga saab SophosAI meeskond edukalt lahendada keerulise kõrge prioriteediga projekti, luues kergekaalulise PDF-vormingus pahavara tuvastamise XGBoost mudeli, mis on kettal (kuni 25 korda väiksem) ja mälus (kuni 5 korda väiksem) palju väiksem kui selle mudel. detektori eelkäija. See on väike, kuid võimas pahavaradetektor, mille AUC on ~0.99 ja tõelise positiivse määraga 0.99 ja valepositiivse määraga Kuidas Sophos treenib Amazon SageMaker PlatoBlockchain Data Intelligence abil võimsat ja kerget PDF-i pahavaradetektorit ülimahus. Vertikaalne otsing. Ai. . Seda mudelit saab kiiresti ümber õpetada ja selle toimivust saab aja jooksul hõlpsalt jälgida, sest selle treenimiseks rohkem kui 20 TB andmetega kulub vähem kui 1 minutit.

Saate kasutada SageMakeri sisseehitatud algoritmi XGBoost mudelite ehitamiseks teie tabeliandmetega mastaabis. Lisaks võite proovida ka uusi sisseehitatud Amazon SageMakeri algoritme LightGBM, CatBoost, AutoGluon-Tabular ja Tab Transformer, nagu on kirjeldatud selles. blogi.


Autoritest

Kuidas Sophos treenib Amazon SageMaker PlatoBlockchain Data Intelligence abil võimsat ja kerget PDF-i pahavaradetektorit ülimahus. Vertikaalne otsing. Ai.Salma Taoufiq on Sophose vanemandmeteadlane, kes töötab masinõppe ja küberturvalisuse ristumiskohas. Arvutiteaduse bakalaureuseõppe taustaga lõpetas ta Kesk-Euroopa Ülikooli magistrikraadiga. matemaatikas ja selle rakendustes. Kui Salma ei tööta pahavaradetektorit, on ta innukas matkaja, reisija ja põnevusfilmide tarbija.

Kuidas Sophos treenib Amazon SageMaker PlatoBlockchain Data Intelligence abil võimsat ja kerget PDF-i pahavaradetektorit ülimahus. Vertikaalne otsing. Ai.Harini Kannan on SophosAI andmeteadlane. Ta on olnud turvaandmete teaduses ~4 aastat. Ta oli varem Sophose omandatud Capsule8 peamine andmeteadlane. Ta on esinenud CAMLISes, BlackHatis (USA), Open Data Science Conference'is (Ida), Data Science Salonis, PyDatas (Boston) ja Data Connectorsis. Tema uurimisvaldkonnad hõlmavad riistvarapõhiste rünnakute tuvastamist jõudlusloendurite abil, kasutaja käitumise analüüsi, tõlgendatavat ML-i ja järelevalveta anomaaliate tuvastamist.

Kuidas Sophos treenib Amazon SageMaker PlatoBlockchain Data Intelligence abil võimsat ja kerget PDF-i pahavaradetektorit ülimahus. Vertikaalne otsing. Ai.Hasan Poonawala on AI/ML spetsialistilahenduste vanemarhitekt AWS-is, mis asub Ühendkuningriigis Londonis. Hasan aitab klientidel kavandada ja juurutada masinõpperakendusi AWS-i tootmises. Tal on üle 12-aastane töökogemus andmeteadlase, masinõppe praktiku ja tarkvaraarendajana. Vabal ajal armastab Hasan loodust uurida ning sõprade ja perega aega veeta.

Kuidas Sophos treenib Amazon SageMaker PlatoBlockchain Data Intelligence abil võimsat ja kerget PDF-i pahavaradetektorit ülimahus. Vertikaalne otsing. Ai.Digant Patel on AWS-i ettevõtte tugijuht. Ta teeb koostööd klientidega, et kavandada, juurutada ja pilves mastaapselt töötada. Tema huvivaldkonnad on MLOpsi ja DevOpsi tavad ning see, kuidas see saab kliente nende pilveteekonnal aidata. Väljaspool tööd meeldib talle fotograafia, võrkpalli mängimine ning sõprade ja perega ajaveetmine.

Ajatempel:

Veel alates AWS-i masinõpe