How Sophos trains a powerful, lightweight PDF malware detector at ultra scale with Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Kako Sophos uri zmogljiv in lahek detektor zlonamerne programske opreme PDF v ultra velikem obsegu z Amazon SageMaker

To objavo sta soavtorja Salma Taoufiq in Harini Kannan iz Sophosa.

Kot vodilni na področju kibernetske varnosti naslednje generacije, Sophos si prizadeva zaščititi več kot 500,000 organizacij in milijone strank v več kot 150 državah pred razvijajočimi se grožnjami. Sophos, ki ga poganja obveščanje o grožnjah, strojno učenje (ML) in umetna inteligenca podjetja Sophos X-Ops, ponuja širok in raznovrsten portfelj naprednih izdelkov in storitev za zaščito in zaščito uporabnikov, omrežij in končnih točk pred lažnim predstavljanjem, izsiljevalsko programsko opremo, zlonamerno programsko opremo in široko paleto kibernetskih napadov.

O Sophosova skupina za umetno inteligenco (AI). (SophosAI) nadzira razvoj in vzdrževanje Sophosove glavne varnostne tehnologije ML. Varnost je problem velikih podatkov. Da bi se izognili odkritju, kibernetski kriminalci nenehno pripravljajo nove napade. To pomeni ogromne nabore podatkov o grožnjah, s katerimi mora skupina sodelovati, da najbolje zaščiti stranke. Eden opaznih primerov je odkrivanje in odstranjevanje datotek, ki so bile premeteno prepletene z zlonamerno programsko opremo, kjer so nabori podatkov v terabajtih.

V tej objavi se osredotočamo na Sophosov sistem za odkrivanje zlonamerne programske opreme posebej za format datoteke PDF. Predstavljamo, kako uporablja SophosAI Amazon SageMaker porazdeljeno usposabljanje s terabajti podatkov za usposabljanje zmogljivega lahkega modela XGBoost (Extreme Gradient Boosting). To njihovi ekipi omogoča hitrejše ponavljanje velikih podatkov o usposabljanju s samodejnim prilagajanjem hiperparametrov in brez upravljanja osnovne infrastrukture za usposabljanje.

Rešitev je trenutno brezhibno integrirana v cevovod proizvodnega usposabljanja, model pa je nameščen na milijonih uporabniških končnih točk prek Storitev končne točke Sophos.

Kontekst primera uporabe

Ne glede na to, ali želite deliti pomembno pogodbo ali ohraniti modno obliko svojega življenjepisa, je format PDF najpogostejša izbira. Njegova široka uporaba in splošno mnenje, da so takšni dokumenti neprodušno zaprti in statični, sta uporabnike zazibala v lažen občutek varnosti. PDF je zato postal izbrani vektor okužbe v arzenalu napadalcev. Zlonamerna dejanja z uporabo PDF-jev so najpogosteje dosežena z vdelavo koristnega tovora JavaScript, ki ga zažene bralnik PDF-jev za prenos virusa iz URI-ja, sabotažo uporabnikovega računalnika ali krajo občutljivih informacij.

Sophos zazna zlonamerne datoteke PDF na različnih točkah napada z uporabo niza determinističnih modelov in modelov ML. En tak pristop je prikazan v naslednjem diagramu, kjer je zlonamerna datoteka PDF dostavljena po e-pošti. Takoj ko se izvede poskus prenosa, sproži zlonamerni izvršljivi skript za povezavo z napadalčevim strežnikom za ukaze in nadzor. SophosAI-jev detektor PDF blokira poskus prenosa, potem ko zazna, da je zlonameren.

Drugi načini vključujejo blokiranje datotek PDF v končni točki, pošiljanje zlonamernih datotek v peskovnik (kjer se ocenjuje z uporabo več modelov), predložitev zlonamerne datoteke infrastrukturi za točkovanje in generiranje varnostnega poročila itd.

Motivacija

Ekipa SophosAI je ugotovila, da je algoritem XGBoost popoln kandidat za to nalogo, da bi zgradili detektor na podlagi drevesa, ki lahko z veliko zanesljivostjo obsodi zlonamerne datoteke PDF, hkrati pa omogoča nizko porabo računalniške energije končne točke in hitre odzive sklepanja. Takšne raziskovalne poti so za Sophos pomembne iz dveh razlogov. Imeti zmogljive, a majhne modele, uvedene na ravni končnih točk strank, močno vpliva na ocene izdelkov podjetja s strani analitikov. Prav tako, kar je še pomembneje, zagotavlja splošno boljšo uporabniško izkušnjo.

Tehnični izziv

Ker je bil cilj imeti model z manjšim pomnilniškim odtisom kot njihovi obstoječi detektorji zlonamerne programske opreme PDF (tako na disku kot v pomnilniku), je SophosAI obrnil XGBoost, algoritem za razvrščanje, ki dokazano ustvarja drastično manjše modele kot nevronske mreže, hkrati pa dosega impresivne rezultate. uspešnost na tabelarnih podatkih. Preden smo se lotili modeliranja poskusov XGBoost, je bil pomemben dejavnik sama velikost nabora podatkov. Dejansko je Sophosov osnovni podatkovni niz datotek PDF v terabajtih.

Zato je bil glavni izziv usposabljanje modela z velikim naborom podatkov, ne da bi bilo treba zmanjšati vzorec. Ker je ključnega pomena, da se detektor nauči odkriti kakršne koli napade, ki temeljijo na PDF-jih – tudi napade z iglo v kupu sena in popolnoma nove za boljšo obrambo Sophosovih strank – je izredno pomembno, da uporabite vse razpoložljive raznolike nabore podatkov.

Za razliko od nevronskih mrež, kjer lahko trenirate v serijah, za XGBoost potrebujemo celoten nabor podatkov za usposabljanje v pomnilniku. Največji nabor podatkov o usposabljanju za ta projekt je večji od 1 TB in ni možnosti za usposabljanje v takšnem obsegu brez uporabe metodologij porazdeljenega ogrodja za usposabljanje.

Pregled rešitev

SageMaker je popolnoma upravljana storitev ML, ki ponuja različna orodja za izdelavo, usposabljanje, optimizacijo in uvajanje modelov ML. The SageMaker vgrajene knjižnice algoritmov sestavljen iz 21 priljubljenih algoritmov ML, vključno z XGBoost. (Za več informacij glejte Poenostavite strojno učenje z XGBoost in Amazon SageMaker.) Z vgrajenim algoritmom XGBoost lahko izkoristite prednosti odprtokodnosti Posoda SageMaker XGBoost z določitvijo različice ogrodja, višje od 1.0-1, ki ima izboljšano prilagodljivost, razširljivost, razširljivost in Managed Spot Training ter podpira vnosne formate, kot je Parquet, ki je format, uporabljen za nabor podatkov PDF.

Glavni razlog, zakaj je SophosAI izbral SageMaker, je zmožnost izkoristiti prednosti popolnoma upravljanega porazdeljenega usposabljanja na instancah CPE z več vozlišči, tako da preprosto določite več kot eno instanco. SageMaker samodejno razdeli podatke po vozliščih, združi rezultate po enakovrednih vozliščih in ustvari en sam model. Instance so lahko Spot Instance, s čimer se bistveno zmanjšajo stroški usposabljanja. z vgrajen algoritem za XGBoost, lahko to storite brez dodatnega skripta po meri. Distribuirane različice XGBoost obstajajo tudi kot odprtokodne, kot npr XGBoost-Ray in XGBoost4J-Spark, vendar njihova uporaba zahteva izgradnjo, zaščito, prilagajanje in samoupravljanje porazdeljenih računalniških gruč, kar predstavlja velik napor poleg znanstvenega razvoja.

Poleg tega Samodejno prilagajanje modela SageMaker, znano tudi kot uravnavanje hiperparametrov, poišče najboljšo različico modela z izvajanjem številnih učnih opravil z obsegi hiperparametrov, ki jih določite. Nato izbere vrednosti hiperparametrov, ki povzročijo model, ki deluje najbolje, kot je izmerjeno z metriko za dano nalogo ML.

Naslednji diagram prikazuje arhitekturo rešitev.

How Sophos trains a powerful, lightweight PDF malware detector at ultra scale with Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Treba je omeniti, da so bili, ko je SophosAI začel s poskusi XGBoost, preden se je obrnil na SageMaker, poskušali uporabiti velik pomnilnik Amazonski elastični računalniški oblak (Amazon EC2) primerke (na primer r5a.24xlarge in x1.32xlarge), da usposobite model na čim večjem vzorcu podatkov. Vendar so ti poskusi v povprečju trajali več kot 10 ur in običajno niso uspeli zaradi pomanjkanja pomnilnika.

Nasprotno pa bi lahko SophosAI z uporabo algoritma SageMaker XGBoost in mehanizma za porazdeljeno usposabljanje brez težav usposobil pospeševalni model v velikem obsegu na ogromnem naboru podatkov za usposabljanje PDF v nekaj 20 minutah. Ekipa je morala le shraniti podatke na Preprosta storitev shranjevanja Amazon (Amazon S3) kot datoteke Parquet podobne velikosti ter izberite vrsto primerka EC2 in želeno število primerkov, SageMaker pa je upravljal osnovno infrastrukturo računalniške gruče in porazdelil usposabljanje med več vozlišči gruče. Pod pokrovom SageMaker razdeli podatke po vozliščih z uporabo ShardedByS3Key za enakomerno porazdelitev datotečnih predmetov med posameznimi primerki in uporablja XGBoost implementacijo Rabitov protokol (zanesljiv AllReduce in vmesnik za oddajanje) za zagon porazdeljene obdelave in komunikacijo med primarnimi in enakovrednimi vozlišči. (Za več podrobnosti o združevanju histogramov in oddajanju po vozliščih glejte XGBoost: Razširljiv sistem za povečanje drevesa.)

Poleg usposabljanja enega modela s SageMakerjem, Nastavitev hiperparametrov XGBoost je bil narejen tudi hitro in enostavno z možnostjo hkratnega izvajanja različnih poskusov za natančno nastavitev najboljše kombinacije hiperparametrov. Nastavljivi hiperparametri vključujejo hiperparametre, specifične za ojačevalnik in ciljno funkcijo. Dve strategiji iskanja so na voljo: naključni ali Bayesovi. Bayesova iskalna strategija se je izkazala za dragoceno, ker pomaga najti boljše hiperparametre kot zgolj naključno iskanje v manj eksperimentalnih ponovitvah.

Informacije o naboru podatkov

SophosAI-jevo modeliranje odkrivanja zlonamerne programske opreme PDF temelji na različnih funkcijah, kot so n-gramski histogrami in funkcije bajtne entropije (za več informacij glejte MEADE: Proti mehanizmu za odkrivanje zlonamernih e-poštnih prilog). Metapodatki in funkcije, pridobljene iz zbranih datotek PDF, so shranjeni v distribuiranem skladišču podatkov. Nato se izračuna nabor podatkov z več kot 3,500 značilnostmi, ki se glede na čas nadalje razdeli na nize za usposabljanje in preizkuse ter shrani v pakete kot datoteke Parquet v Amazon S3, da jih lahko SageMaker zlahka dostopa za delovna mesta pri usposabljanju.

Naslednja tabela vsebuje informacije o podatkih o usposabljanju in preizkusih.

Podatkovni niz Število vzorcev Število pilic za parket Skupna velikost
usposabljanje 70,391,634 5,500 ~ 1010 GB
Test 1,242,283 98 ~ 18 GB

Velikosti podatkov so bile izračunane po formuli:

Velikost podatkov = N × (nF + štL) × 4

Formula ima naslednje parametre:

  • N je število vzorcev v nizu podatkov
  • nF je število funkcij, s nF = 3585
  • nL je število oznak temeljne resnice, pri čemer je nL = 1
  • 4 je število bajtov, potrebnih za vrsto podatkov funkcije: float32

Poleg tega naslednji tortni diagrami zagotavljajo distribucijo oznak za učni in testni niz, kar izzove neravnovesje razredov, s katerim se sooča naloga odkrivanja zlonamerne programske opreme PDF.

How Sophos trains a powerful, lightweight PDF malware detector at ultra scale with Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Porazdelitev se premakne z vadbenega nabora na enomesečni preizkusni niz. Uporabljena je časovna razdelitev nabora podatkov na usposabljanje in testiranje, da se simulira scenarij uvajanja v resničnem življenju in prepreči časovno vohljanje. Ta strategija je tudi omogočila SophosAI, da oceni resnične zmožnosti posploševanja modela, ko se je na primer soočil s prej nevidnimi popolnoma novimi napadi na PDF.

Poskusi in rezultati

Za zagon poskusov je ekipa SophosAI usposobila osnovni model XGBoost s privzetimi parametri. Nato so začeli izvajati fino uravnavanje hiperparametrov s SageMakerjem z uporabo Bayesove strategije, ki je tako preprosta kot določitev hiperparametrov ki jih je treba nastaviti, in želeni razpon vrednosti, metriko vrednotenja (ROC (delovna karakteristika sprejemnika) AUC v tem primeru) ter nize za usposabljanje in validacijo. Za detektor zlonamerne programske opreme PDF je SophosAI dal prednost hiperparametrom, vključno s številom krogov pospeševanja (num_round), največja globina drevesa (max_depth), stopnja učenja (eta), in razmerje vzorčenja stolpcev pri gradnji dreves (colsample_bytree). Sčasoma so bili pridobljeni najboljši hiperparametri, ki so bili uporabljeni za usposabljanje modela na celotnem naboru podatkov in končno ovrednoteni na testnem nizu zadrževanja.

Naslednji diagram prikazuje objektivno metriko (ROC AUC) v primerjavi s 15 izobraževalnimi opravili, ki se izvajajo v okviru nastavitvenega posla. Najboljši hiperparametri so tisti, ki ustrezajo deveti vadbeni nalogi.

How Sophos trains a powerful, lightweight PDF malware detector at ultra scale with Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Na začetku poskusov SophosAI na SageMakerju je bilo še posebej pomembno vprašanje, na katerega je bilo treba odgovoriti: kakšne vrste primerkov in koliko jih je potrebnih za usposabljanje XGBoost na podatkih, ki so na voljo? To je ključnega pomena, ker je uporaba napačne številke ali vrste primerka lahko izguba časa in denarja; usposabljanje bo zagotovo spodletelo zaradi zmanjkanja pomnilnika ali, če uporabljate preveč prevelikih primerkov, lahko to postane nepotrebno drago.

XGBoost je algoritem, vezan na pomnilnik (v nasprotju z računanjem). Računalniška instanca za splošne namene (na primer M5) je torej boljša izbira kot računalniško optimizirana instanca (na primer C4). Za sprejemanje informirane odločitve je na voljo preprosta smernica SageMaker za izbiro števila primerkov, potrebnih za izvajanje usposabljanja na celotnem naboru podatkov:

Skupna velikost podatkov o vadbi × varnostni faktor(*) < Število primerkov × skupni pomnilnik vrste primerka

V tem primeru: skupna velikost podatkov o vadbi × varnostni faktor (12) = 12120 GB

Naslednja tabela povzema zahteve, ko je izbrana vrsta primerka ml.m5.24xlarge.

Velikost vadbe × varnostni faktor (12) Pomnilnik primerka ml.m5.24xlarge Za usposabljanje je potrebno najmanjše število primerkov
12120 GB 384 GB 32

*Zaradi narave porazdeljenega usposabljanja XGBoost, ki zahteva, da se celoten nabor podatkov o usposabljanju naloži v objekt DMatrix pred usposabljanjem in dodaten prosti pomnilnik, je priporočen varnostni faktor 10–12.

Da bi si podrobneje ogledali uporabo pomnilnika za celotno usposabljanje SageMaker za XGBoost na predloženem naboru podatkov, nudimo ustrezen graf, pridobljen iz usposabljanja amazoncloudwatch spremljanje. Za to usposabljanje je bilo uporabljenih 40 primerkov ml.m5.24xlarge in največja izkoriščenost pomnilnika je dosegla približno 62 %.

How Sophos trains a powerful, lightweight PDF malware detector at ultra scale with Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Prihranek stroškov inženiringa z integracijo upravljane storitve ML, kot je SageMaker, v podatkovni cevovod znaša okoli 50 %. Možnost uporabe točkovnih primerkov za usposabljanje in opravila prilagajanja hiperparametrov je znižala stroške za dodatnih 63 %.

zaključek

S SageMakerjem bi lahko ekipa SophosAI uspešno rešila zapleten projekt visoke prioritete z izdelavo lahkega modela XGBoost za odkrivanje zlonamerne programske opreme PDF, ki je veliko manjši na disku (do 25-krat manjši) in v pomnilniku (do 5-krat manjši) od njegovega predhodnik detektorja. Je majhen, a mogočen detektor zlonamerne programske opreme s približno 0.99 AUC in resnično pozitivno stopnjo 0.99 ter lažno pozitivno stopnjo How Sophos trains a powerful, lightweight PDF malware detector at ultra scale with Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai. . Ta model je mogoče hitro znova usposobiti, njegovo delovanje pa je mogoče enostavno spremljati skozi čas, saj traja manj kot 20 minut, da se usposobi za več kot 1 TB podatkov.

Izkoristite lahko vgrajeni algoritem SageMaker XGBoost za izdelavo modelov z vašimi tabelarnimi podatki v merilu. Poleg tega lahko preizkusite tudi nove vgrajene algoritme Amazon SageMaker LightGBM, CatBoost, AutoGluon-Tabular in Tab Transformer, kot je opisano v tem blog.


O avtorjih

How Sophos trains a powerful, lightweight PDF malware detector at ultra scale with Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.Salma Taoufiq je višji podatkovni znanstvenik pri Sophosu, ki dela na stičišču strojnega učenja in kibernetske varnosti. Z dodiplomskim študijem računalništva je diplomirala na Srednjeevropski univerzi z magisterijem. iz matematike in njenih aplikacij. Čeprav Salma ne razvija detektorja zlonamerne programske opreme, je navdušena pohodnica, popotnica in uživalka trilerjev.

How Sophos trains a powerful, lightweight PDF malware detector at ultra scale with Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.Harini Kannan je podatkovni znanstvenik pri SophosAI. V znanosti o varnostnih podatkih se ukvarja približno 4 leta. Pred tem je bila glavna podatkovna znanstvenica pri podjetju Capsule8, ki ga je prevzel Sophos. Imela je predavanja na CAMLIS, BlackHat (ZDA), Open Data Science Conference (East), Data Science Salon, PyData (Boston) in Data Connectors. Njena področja raziskovanja vključujejo odkrivanje napadov na podlagi strojne opreme z uporabo števcev zmogljivosti, analizo vedenja uporabnikov, interpretabilno ML in nenadzorovano odkrivanje anomalij.

How Sophos trains a powerful, lightweight PDF malware detector at ultra scale with Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.Hasan Poonawala je višji arhitekt za rešitve AI/ML pri AWS s sedežem v Londonu v Združenem kraljestvu. Hasan strankam pomaga pri načrtovanju in uvajanju aplikacij za strojno učenje v proizvodnji na AWS. Ima več kot 12 let delovnih izkušenj kot podatkovni znanstvenik, praktik strojnega učenja in razvijalec programske opreme. V prostem času Hasan rad raziskuje naravo in preživlja čas s prijatelji in družino.

How Sophos trains a powerful, lightweight PDF malware detector at ultra scale with Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.Digant Patel je vodja podpore za podjetja pri AWS. S strankami sodeluje pri načrtovanju, uvajanju in delovanju v oblaku v velikem obsegu. Njegova področja zanimanja so prakse MLOps in DevOps ter kako lahko strankam pomagajo pri njihovi poti v oblak. Poleg dela se ukvarja s fotografijo, igra odbojko in preživlja čas s prijatelji in družino.

Časovni žig:

Več od Strojno učenje AWS