Kuinka Sophos kouluttaa tehokkaan, kevyen PDF-haittaohjelmien tunnistimen ultra-mittakaavassa Amazon SageMaker PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.

Kuinka Sophos kouluttaa tehokkaan, kevyen PDF-haittaohjelmien tunnistimen ultra-mittakaavassa Amazon SageMakerin avulla

Tämän postauksen ovat kirjoittaneet Salma Taoufiq ja Harini Kannan Sophosista.

Seuraavan sukupolven kyberturvallisuuden johtajana Sophos pyrkii suojelemaan yli 500,000 150 organisaatiota ja miljoonia asiakkaita yli XNUMX maassa kehittyviltä uhilta. Sophos X-Opsin uhkaälyn, koneoppimisen (ML) ja tekoälyn tukemana Sophos tarjoaa laajan ja monipuolisen valikoiman kehittyneitä tuotteita ja palveluita suojaamaan ja puolustamaan käyttäjiä, verkkoja ja päätepisteitä tietojenkalastelulta, kiristysohjelmilta, haittaohjelmilta ja laaja valikoima kyberhyökkäyksiä.

- Sophos Artificial Intelligence (AI) -ryhmä (SophosAI) valvoo Sophosin tärkeimmän ML-tietoturvatekniikan kehittämistä ja ylläpitoa. Tietoturva on suuri dataongelma. Kyberrikolliset kehittävät jatkuvasti uusia hyökkäyksiä välttääkseen havaitsemisen. Tämä johtaa valtaviin uhkatietosarjoihin, joiden kanssa ryhmän on työskenneltävä suojellakseen asiakkaitaan parhaiten. Eräs huomionarvoinen esimerkki on sellaisten tiedostojen havaitseminen ja poistaminen, jotka on ovelasti täynnä haittaohjelmia, kun tietojoukot ovat teratavuina.

Tässä viestissä keskitymme Sophosin haittaohjelmien tunnistusjärjestelmään erityisesti PDF-tiedostomuodossa. Esittelemme, miten SophosAI käyttää Amazon Sage Maker hajautettu harjoitus teratavuilla dataa tehokkaan kevyen XGBoost (Extreme Gradient Boosting) -mallin harjoittamiseksi. Tämän ansiosta heidän tiiminsä voi iteroida suuria harjoitustietoja nopeammin automaattisella hyperparametrivirityksellä ja hallitsematta taustalla olevaa koulutusinfrastruktuuria.

Ratkaisu on tällä hetkellä integroitu saumattomasti tuotannon koulutusputkiin, ja mallia on otettu käyttöön miljoonissa käyttäjien päätepisteissä Sophos-päätepistepalvelu.

Käytä tapauksen kontekstia

Halusitpa sitten jakaa tärkeän sopimuksen tai säilyttää CV:si tyylikkään ulkoasun, PDF-muoto on yleisin valinta. Sen laaja käyttö ja yleinen käsitys siitä, että asiakirjat ovat ilmatiiviitä ja staattisia, ovat tuudittaneet käyttäjät väärään turvallisuuden tunteeseen. Tästä syystä PDF:stä on tullut suosittu tartuntavektori hyökkääjien arsenaalissa. PDF-tiedostoja käyttävät haitalliset toiminnot saavutetaan useimmiten upottamalla JavaScript-hyötykuorma, jota PDF-lukija suorittaa viruksen lataamiseksi URI-osoitteesta, käyttäjän koneen sabotoimiseksi tai arkaluonteisten tietojen varastamiseksi.

Sophos havaitsee haitalliset PDF-tiedostot hyökkäyksen eri kohdissa käyttämällä deterministisiä ja ML-malleja. Yksi tällainen lähestymistapa on havainnollistettu seuraavassa kaaviossa, jossa haitallinen PDF-tiedosto toimitetaan sähköpostitse. Heti latausyritys käynnistää haitallisen suoritettavan komentosarjan muodostamaan yhteyden hyökkääjän komento- ja ohjauspalvelimeen. SophosAI:n PDF-tunnistin estää latausyrityksen havaittuaan, että se on haitallinen.

Muita tapoja ovat PDF-tiedostojen estäminen päätepisteessä, haitallisten tiedostojen lähettäminen hiekkalaatikkoon (jossa ne pisteytetään useilla malleilla), haitallisen tiedoston lähettäminen pisteytysinfrastruktuuriin ja suojausraportin luominen ja niin edelleen.

Motivoiminen

SophosAI-tiimi havaitsi XGBoost-algoritmin olevan täydellinen ehdokas tehtävään rakentaakseen puupohjaisen tunnistimen, joka voi todeta haitalliset PDF-tiedostot suurella varmuudella, samalla kun se mahdollistaa alhaisen päätepisteen virrankulutuksen ja nopeat johtopäätökset. Tällaiset tutkimusmahdollisuudet ovat tärkeitä Sophosille kahdesta syystä. Tehokkaiden mutta pienten mallien käyttöönotolla asiakkaiden päätepisteiden tasolla on suuri vaikutus yrityksen analyytikoiden tuotearvosteluihin. Se myös, ja mikä tärkeintä, tarjoaa paremman käyttökokemuksen yleisesti.

Tekninen haaste

Koska tavoitteena oli saada malli, jolla on pienempi muistitila kuin heidän nykyiset PDF-haittaohjelmien tunnistimet (sekä levyllä että muistissa), SophosAI otti käyttöön XGBoostin, luokitusalgoritmin, joka on todistetusti pystynyt tuottamaan huomattavasti pienempiä malleja kuin hermoverkot ja saavuttaen samalla vaikuttavia malleja. suorituskyky taulukkotiedoilla. Ennen kuin ryhdyttiin mallintamaan XGBoost-kokeita, tärkeä näkökohta oli tietojoukon pelkkä koko. Todellakin, Sophosin PDF-tiedostojen ydintietojoukko on teratavuina.

Siksi suurin haaste oli mallin kouluttaminen suurella tietojoukolla ilman, että tarvitsisi ottaa alasnäytteenottoa. Koska on ratkaisevan tärkeää, että ilmaisin oppii havaitsemaan kaikki PDF-pohjaiset hyökkäykset – jopa neula heinäsuovasta ja täysin uudet hyökkäykset, jotta voidaan paremmin puolustaa Sophos-asiakkaita – on äärimmäisen tärkeää käyttää kaikkia saatavilla olevia erilaisia ​​tietojoukkoja.

Toisin kuin hermoverkoissa, joissa voit harjoitella erissä, XGBoostille tarvitsemme koko harjoitustietojoukon muistiin. Tämän projektin suurin koulutustietojoukko on yli 1 TB, eikä tällaisessa mittakaavassa voi harjoitella ilman hajautetun koulutuskehyksen metodologioita.

Ratkaisun yleiskatsaus

SageMaker on täysin hallittu ML-palvelu, joka tarjoaa erilaisia ​​työkaluja ML-mallien rakentamiseen, kouluttamiseen, optimointiin ja käyttöönottoon. The SageMakerin sisäänrakennetut algoritmikirjastot koostuu 21 suositusta ML-algoritmista, mukaan lukien XGBoost. (Lisätietoja, katso Yksinkertaista koneoppimista XGBoostin ja Amazon SageMakerin avulla.) Sisäänrakennetun XGBoost-algoritmin avulla voit hyödyntää avointa lähdekoodia SageMaker XGBoost -säiliö määrittämällä kehysversion, joka on suurempi kuin 1.0-1, jolla on parannettu joustavuutta, skaalautuvuutta, laajennettavuutta ja Managed Spot Trainingia ja joka tukee syöttömuotoja, kuten Parquet, joka on PDF-tietojoukon muoto.

Suurin syy, miksi SophosAI valitsi SageMakerin, on kyky hyötyä täysin hallitusta hajautetusta koulutuksesta monisolmuisissa CPU-esiintymissä yksinkertaisesti määrittämällä useampi kuin yksi ilmentymä. SageMaker jakaa tiedot automaattisesti solmujen kesken, kokoaa tulokset vertaissolmujen välillä ja luo yhden mallin. Esiintymät voivat olla spot-esiintymiä, mikä vähentää merkittävästi koulutuskustannuksia. Kanssa sisäänrakennettu algoritmi XGBoostille, voit tehdä tämän ilman muita mukautettuja komentosarjoja. XGBoostista on myös hajautettuja versioita avoimena lähdekoodina, kuten XGBoost-Ray ja XGBoost4J-Spark, mutta niiden käyttö vaatii hajautettujen laskentaklustereiden rakentamista, turvaamista, viritystä ja itsehallintaa, mikä merkitsee huomattavaa lisäponnistusta tieteellisen kehityksen lisäksi.

Lisäksi, Automaattinen SageMaker-viritys, joka tunnetaan myös nimellä hyperparametrien viritys, löytää mallin parhaan version suorittamalla monia koulutustehtäviä määrittämilläsi hyperparametrialueilla. Sitten se valitsee hyperparametriarvot, jotka johtavat malliin, joka toimii parhaiten tietyn ML-tehtävän metriikassa mitattuna.

Seuraava kaavio kuvaa ratkaisuarkkitehtuuria.

Kuinka Sophos kouluttaa tehokkaan, kevyen PDF-haittaohjelmien tunnistimen ultra-mittakaavassa Amazon SageMaker PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.

On syytä huomata, että kun SophosAI aloitti XGBoost-kokeet ennen kuin kääntyi SageMakeriin, yritettiin käyttää suurta muistia Amazonin elastinen laskentapilvi (Amazon EC2) -esiintymiä (esimerkiksi r5a.24xlarge ja x1.32xlarge) mallin kouluttamiseksi mahdollisimman suurelle otokselle dataa. Nämä yritykset kestivät kuitenkin keskimäärin yli 10 tuntia ja yleensä epäonnistuivat muistin loppumisen vuoksi.

Sitä vastoin käyttämällä SageMaker XGBoost -algoritmia ja vaivatonta hajautettua koulutusmekanismia SophosAI pystyi kouluttamaan tehostusmallin mittakaavassa valtavan PDF-opetustietojoukon avulla 20 minuutissa. Ryhmän piti vain tallentaa tiedot Amazonin yksinkertainen tallennuspalvelu (Amazon S3) samankokoisina Parquet-tiedostoina ja valitse EC2-ilmentymätyyppi ja haluttu määrä esiintymiä, ja SageMaker hallinnoi taustalla olevaa laskentaklusterin infrastruktuuria ja hajautti koulutusta klusterin useiden solmujen välillä. Kotelon alla SageMaker jakaa tiedot solmujen kesken ShardedByS3Keyllä jakaakseen tiedostoobjektit tasaisesti kunkin esiintymän välillä ja käyttää XGBoost-toteutusta. Kanin protokolla (luotettava AllReduce- ja broadcast-liitäntä) käynnistää hajautetun käsittelyn ja viestiä ensisijaisen ja vertaissolmun välillä. (Lisätietoja histogrammin yhdistämisestä ja solmujen välisestä lähettämisestä on kohdassa XGBoost: Skaalautuva puun tehostusjärjestelmä.)

Yhden mallin harjoittamisen lisäksi SageMakerilla, XGBoost-hyperparametrien viritys tehtiin myös nopeaksi ja helpoksi, sillä se pystyi suorittamaan erilaisia ​​kokeita samanaikaisesti parhaan hyperparametrien yhdistelmän hienosäätämiseksi. Viritettävät hyperparametrit sisältävät sekä tehostinkohtaisia ​​että tavoitetoimintokohtaisia ​​hyperparametreja. Kaksi hakustrategiaa tarjotaan: satunnainen tai Bayesin. Bayesin hakustrategia on osoittautunut arvokkaaksi, koska se auttaa löytämään parempia hyperparametreja kuin pelkkä satunnainen haku harvemmissa kokeellisissa iteraatioissa.

Tietojoukon tiedot

SophosAI:n PDF-haittaohjelmien tunnistusmallinnus perustuu useisiin ominaisuuksiin, kuten n-grammien histogrammeihin ja tavuentropiaominaisuuksiin (lisätietoja on kohdassa MEADE: Kohti haitallista sähköpostiliitteiden tunnistusmoottoria). Kerätyistä PDF-tiedostoista poimitut metatiedot ja ominaisuudet tallennetaan hajautettuun tietovarastoon. Tämän jälkeen lasketaan yli 3,500 3 ominaisuuden tietojoukko, joka jaetaan ajan perusteella edelleen koulutus- ja testisarjoiksi ja tallennetaan erissä parkettitiedostoina Amazon SXNUMX:ssa, jotta SageMaker voi helposti käyttää niitä koulutustöitä varten.

Seuraavassa taulukossa on tietoja koulutus- ja testitiedoista.

aineisto Näytteiden lukumäärä Parkettiviilojen määrä Kokonaiskoko
koulutus 70,391,634 5,500 ~ 1010 GB
Testi 1,242,283 98 ~ 18 GB

Tietojen koot on laskettu seuraavan kaavan mukaan:

Tietojen koko = N × (nF + eiL) × 4

Kaavassa on seuraavat parametrit:

  • N on näytteiden lukumäärä tietojoukossa
  • nF on ominaisuuksien määrä nF = 3585
  • nL on perustotuustunnisteiden lukumäärä, jossa nL = 1
  • 4 on tavujen määrä, joka tarvitaan ominaisuuksien tietotyypille: float32

Lisäksi seuraavat ympyräkaaviot tarjoavat sekä koulutus- että testisarjojen tarrajakauman, mikä saa aikaan PDF-haittaohjelmien tunnistustehtävän luokan epätasapainon.

Kuinka Sophos kouluttaa tehokkaan, kevyen PDF-haittaohjelmien tunnistimen ultra-mittakaavassa Amazon SageMaker PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.

Jakauma siirtyy harjoitussarjasta Yhden kuukauden testisarjaan. Datajoukko jaetaan aikaperusteisesti koulutukseen ja testaukseen, jotta voidaan simuloida tosielämän käyttöönottoskenaariota ja välttää ajallinen nuuskiminen. Tämän strategian avulla SophosAI pystyi myös arvioimaan mallin todellisia yleistyskykyjä esimerkiksi ennen näkemättömien upouusien PDF-hyökkäysten edessä.

Kokeilut ja tulokset

Kokeiden käynnistämiseksi SophosAI-tiimi koulutti XGBoost-perusmallin oletusparametreilla. Sitten he alkoivat suorittaa hyperparametrien hienosäätöä SageMakerilla käyttäen Bayesin strategiaa, joka on yhtä yksinkertaista kuin hyperparametrien viritettävä ja haluttu arvoalue, arviointimetriikka (tässä tapauksessa ROC (Receiver Operating Characteristic) AUC) sekä koulutus- ja validointisarjat. PDF-haittaohjelmien tunnistimelle SophosAI priorisoi hyperparametrit, mukaan lukien tehostuskierrosten määrä (num_round), suurin puun syvyys (max_depth), oppimisnopeus (eta) ja sarakkeiden näytteenottosuhde puita rakennettaessa (colsample_bytree). Lopulta parhaat hyperparametrit hankittiin ja niitä käytettiin mallin kouluttamiseen koko tietojoukossa, ja lopuksi arvioitiin holdout-testijoukossa.

Seuraava kaavio näyttää tavoitemittarin (ROC AUC) vs. viritystyön sisällä suoritetut 15 koulutustyötä. Parhaat hyperparametrit ovat ne, jotka vastaavat yhdeksättä koulutustyötä.

Kuinka Sophos kouluttaa tehokkaan, kevyen PDF-haittaohjelmien tunnistimen ultra-mittakaavassa Amazon SageMaker PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.

SophosAI:n SageMaker-kokeilujen alussa erityisen tärkeä kysymys, johon oli vastattava, oli: minkä tyyppisiä instansseja ja kuinka monta niistä tarvitaan XGBoostin kouluttamiseen käytettävissä olevan datan perusteella? Tämä on ratkaisevan tärkeää, koska väärän numeron tai tyypin käyttö voi olla ajan ja rahan hukkaa. koulutus epäonnistuu väistämättä muistin loppumisen vuoksi, tai jos käytetään liian montaa isoa instansseja, siitä voi tulla tarpeettoman kallista.

XGBoost on muistiin sidottu (toisin kuin laskentaan sidottu) algoritmi. Joten yleiskäyttöinen laskentaesiintymä (esimerkiksi M5) on parempi valinta kuin laskennalle optimoitu ilmentymä (esimerkiksi C4). Tietoon perustuvan päätöksen tekemiseksi on olemassa yksinkertainen SageMaker-ohje, jonka avulla voit valita, kuinka monta tapausta tarvitaan harjoituksen suorittamiseen koko tietojoukossa:

Harjoitustietojen kokonaiskoko × turvallisuuskerroin(*) < Ilmentymien määrä × Instanssityypin kokonaismuisti

Tässä tapauksessa: Harjoitustietojen kokonaiskoko × Turvallisuuskerroin (12) = 12120 Gt

Seuraavassa taulukossa on yhteenveto vaatimuksista, kun valittu ilmentymätyyppi on ml.m5.24xlarge.

Harjoittelun koko × turvallisuuskerroin (12) Instanssimuisti ml.m5.24xlarge Koulutukseen vaadittava vähimmäismäärä
12120 GB 384 GB 32

*XGBoost-hajautetun harjoittelun luonteesta johtuen, mikä edellyttää koko harjoitustietojoukon lataamista DMatrix-objektiin ennen harjoittelua ja lisää vapaata muistia, suositellaan turvakerrointa 10–12.

Jotta voisimme tarkastella lähemmin muistin käyttöä XGBoostin täydessä SageMaker-koulutuksessa toimitetussa tietojoukossa, tarjoamme vastaavan kaavion, joka on saatu koulutuksesta. amazonin pilvikello seurantaa. Tässä harjoitustyössä käytettiin 40 ml.m5.24xsuuria kappaleita ja maksimi muistin käyttöaste saavutti noin 62 %.

Kuinka Sophos kouluttaa tehokkaan, kevyen PDF-haittaohjelmien tunnistimen ultra-mittakaavassa Amazon SageMaker PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.

Suunnittelukustannussäästöt integroimalla hallittu ML-palvelu, kuten SageMaker tietoputkeen, ovat noin 50 %. Mahdollisuus käyttää Spot-instanssia koulutukseen ja hyperparametrien viritystyöhön alentaa kustannuksia vielä 63 %.

Yhteenveto

SageMakerin avulla SophosAI-tiimi pystyi ratkaisemaan monimutkaisen korkean prioriteetin projektin rakentamalla kevyen PDF-haittaohjelmien havaitsemiseen tarkoitetun XGBoost-mallin, joka on paljon pienempi levyllä (jopa 25 kertaa pienempi) ja muistissa (jopa 5 kertaa pienempi) kuin sen malli. ilmaisimen edeltäjä. Se on pieni mutta voimakas haittaohjelmatunnistin, jonka AUC on ~0.99 ja todellinen positiivinen prosenttiosuus 0.99 ja väärä positiivisuus Kuinka Sophos kouluttaa tehokkaan, kevyen PDF-haittaohjelmien tunnistimen ultra-mittakaavassa Amazon SageMaker PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai. . Tämä malli voidaan kouluttaa nopeasti uudelleen, ja sen suorituskykyä voidaan helposti seurata ajan mittaan, koska sen harjoitteleminen yli 20 teratavulla dataa kestää alle 1 minuuttia.

Voit hyödyntää sisäänrakennettua SageMaker-algoritmia XGBoost mallien rakentamiseen taulukkotiedoillasi mittakaavassa. Lisäksi voit myös kokeilla uusia sisäänrakennettuja Amazon SageMaker -algoritmeja LightGBM, CatBoost, AutoGluon-Tabular ja Tab Transformer tässä kuvatulla tavalla. blogi.


Tietoja kirjoittajista

Kuinka Sophos kouluttaa tehokkaan, kevyen PDF-haittaohjelmien tunnistimen ultra-mittakaavassa Amazon SageMaker PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.Salma Taoufiq on vanhempi tietotutkija Sophosissa ja työskentelee koneoppimisen ja kyberturvallisuuden risteyksessä. Tietojenkäsittelytieteen perustutkintoa suorittavansa hän valmistui Keski-Euroopan yliopistosta diplomi-insinööriksi. matematiikassa ja sen sovelluksissa. Kun ei kehitä haittaohjelmien ilmaisinta, Salma on innokas retkeilijä, matkailija ja trillereiden kuluttaja.

Kuinka Sophos kouluttaa tehokkaan, kevyen PDF-haittaohjelmien tunnistimen ultra-mittakaavassa Amazon SageMaker PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.Harini Kannan on SophosAI:n datatutkija. Hän on työskennellyt tietoturvatiedoissa ~4 vuotta. Hän toimi aiemmin Sophosin hankkiman Capsule8:n päätietotutkijana. Hän on pitänyt esitelmiä CAMLISissa, BlackHatissa (USA), Open Data Science Conferencessa (East), Data Science Salonissa, PyDatassa (Boston) ja Data Connectorsissa. Hänen tutkimusalueitaan ovat laitteistopohjaisten hyökkäysten havaitseminen suorituskykylaskurien avulla, käyttäjien käyttäytymisen analysointi, tulkittavissa oleva ML ja valvomaton poikkeamien havaitseminen.

Kuinka Sophos kouluttaa tehokkaan, kevyen PDF-haittaohjelmien tunnistimen ultra-mittakaavassa Amazon SageMaker PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.Hasan Poonawala on vanhempi AI/ML Specialist Solutions -arkkitehti AWS:ssä Lontoossa, Isossa-Britanniassa. Hasan auttaa asiakkaita suunnittelemaan ja ottamaan käyttöön koneoppimissovelluksia AWS:n tuotannossa. Hänellä on yli 12 vuoden työkokemus datatieteilijänä, koneoppimisen harjoittajana ja ohjelmistokehittäjänä. Vapaa-ajallaan Hasan rakastaa tutkia luontoa ja viettää aikaa ystävien ja perheen kanssa.

Kuinka Sophos kouluttaa tehokkaan, kevyen PDF-haittaohjelmien tunnistimen ultra-mittakaavassa Amazon SageMaker PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.Arvokas Patel on AWS:n yritystukijohtaja. Hän työskentelee asiakkaiden kanssa suunnitellakseen, ottaakseen käyttöön ja toimiakseen pilvessä mittakaavassa. Hänen kiinnostuksen kohteitaan ovat MLOps- ja DevOps-käytännöt ja kuinka ne voivat auttaa asiakkaita heidän pilvimatkallaan. Työn ulkopuolella hän nauttii valokuvaamisesta, lentopallon pelaamisesta ja ajanvietteestä ystävien ja perheen kanssa.

Aikaleima:

Lisää aiheesta AWS-koneoppiminen