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

Hogyan oktatja ki a Sophos egy nagy teljesítményű, könnyű PDF kártevő-keresőt ultra skálán az Amazon SageMaker segítségével

Ennek a bejegyzésnek a társszerzője Salma Taoufiq és Harini Kannan a Sophosból.

A következő generációs kiberbiztonság vezetőjeként Sophos több mint 500,000 150 szervezet és több millió ügyfél védelmére törekszik több mint XNUMX országban a fejlődő fenyegetésekkel szemben. A Sophos X-Ops fenyegetési intelligenciáján, gépi tanulásán (ML) és mesterséges intelligenciáján alapuló Sophos fejlett termékek és szolgáltatások széles és változatos portfólióját kínálja a felhasználók, hálózatok és végpontok védelmére és védelmére az adathalászat, a zsarolóprogramok, a rosszindulatú programok és a rosszindulatú programok ellen. a kibertámadások széles skálája.

A Sophos Mesterséges Intelligencia (AI) csoport (SophosAI) felügyeli a Sophos legfontosabb ML biztonsági technológiájának fejlesztését és karbantartását. A biztonság nagy adatprobléma. Az észlelés elkerülése érdekében a kiberbűnözők folyamatosan újszerű támadásokat készítenek. Ez óriási fenyegetési adatkészleteket jelent, amelyekkel a csoportnak együtt kell működnie az ügyfelek legjobb védelme érdekében. Az egyik figyelemre méltó példa a rosszindulatú programokkal ravaszul összefűzött fájlok észlelése és megszüntetése, ahol az adatkészletek terabájtokban vannak.

Ebben a bejegyzésben a Sophos rosszindulatú programokat észlelő rendszerére összpontosítunk kifejezetten a PDF fájlformátumra. Bemutatjuk, hogyan használja a SophosAI Amazon SageMaker elosztott edzés terabájt adatokkal, hogy megtanítson egy nagy teljesítményű, könnyű XGBoost (Extreme Gradient Boosting) modellt. Ez lehetővé teszi csapatuk számára, hogy gyorsabban iterálják a nagy képzési adatokat az automatikus hiperparaméter-hangolással, anélkül, hogy a mögöttes képzési infrastruktúrát kezelnék.

A megoldás jelenleg zökkenőmentesen integrálva van a termelési oktatási folyamatba, és a modellt több millió felhasználói végponton telepítik a Sophos végpont szolgáltatás.

Használjon esetkörnyezetet

Akár egy fontos szerződést szeretne megosztani, akár meg szeretné őrizni önéletrajza díszes megjelenését, a PDF formátum a leggyakoribb választás. Széles körben elterjedt használata és az az általános felfogás, hogy az ilyen dokumentumok légmentesek és statikusak, hamis biztonságérzetbe ringatták a felhasználókat. A PDF ezért a támadók arzenáljának választott fertőzési vektorává vált. A PDF-fájlokat használó rosszindulatú műveletek leggyakrabban JavaScript beágyazásával valósulnak meg, amelyet a PDF-olvasó futtat, hogy vírust töltsön le egy URI-ból, szabotálja a felhasználó gépét vagy lopjon el bizalmas információkat.

A Sophos determinisztikus és ML modellek együttese segítségével észleli a rosszindulatú PDF-fájlokat a támadás különböző pontjain. Egy ilyen megközelítést szemléltet a következő diagram, ahol a rosszindulatú PDF-fájlt e-mailben kézbesítik. Amint a letöltési kísérlet megtörténik, elindítja a rosszindulatú végrehajtható szkriptet, hogy csatlakozzon a támadó parancs- és vezérlőkiszolgálójához. A SophosAI PDF detektora blokkolja a letöltési kísérletet, miután észleli, hogy rosszindulatú.

Egyéb módok közé tartozik a PDF-fájlok blokkolása a végpontban, a rosszindulatú fájlok homokozóba küldése (ahol több modell használatával pontozzák), a rosszindulatú fájl beküldése egy pontozási infrastruktúrába, biztonsági jelentés létrehozása stb.

Motiváció

A SophosAI csapata az XGBoost algoritmust tökéletes jelöltnek találta a feladatra, hogy olyan faalapú detektort hozzon létre, amely nagy biztonsággal képes meggyőzni a rosszindulatú PDF-fájlokat, miközben lehetővé teszi az alacsony végponti számítási energiafogyasztást és a gyors következtetési válaszokat. Az ilyen kutatási utak két okból is fontosak a Sophos számára. A nagy teljesítményű, de kisméretű modellek a vásárlói végpontok szintjén nagy hatással vannak a vállalat elemzői termékértékeléseire. Ezenkívül, és ami még fontosabb, általánosságban jobb felhasználói élményt biztosít.

Technikai kihívás

Mivel a cél egy olyan modell létrehozása volt, amelynek memóriaterülete kisebb, mint a meglévő PDF kártevő-érzékelőik (mind a lemezen, mind a memóriában), a SophosAI az XGBoost osztályozási algoritmust választotta, amely bizonyítottan drasztikusan kisebb modelleket hoz létre, mint a neurális hálózatok, miközben lenyűgöző eredményeket ér el. teljesítmény táblázatos adatokon. Mielőtt belevágtunk volna az XGBoost-kísérletek modellezésébe, fontos szempont volt az adatkészlet puszta mérete. Valójában a Sophos alapvető PDF-adatkészlete terabájtokban van.

Ezért a fő kihívás a modell betanítása volt egy nagy adatkészlettel anélkül, hogy le kellett volna mintavételezni. Mivel kulcsfontosságú, hogy az érzékelő megtanuljon felismerni minden PDF-alapú támadást – még a tű a szénakazalban és a teljesen újszerű támadásokat is, hogy jobban megvédje a Sophos ügyfeleit –, ezért rendkívül fontos az összes rendelkezésre álló változatos adatkészlet használata.

Ellentétben a neurális hálózatokkal, ahol kötegekben edzhet, az XGBoost esetében a teljes képzési adatkészletre szükségünk van a memóriában. A projekt legnagyobb képzési adatkészlete meghaladja az 1 TB-ot, és nincs mód ilyen léptékű képzésre az elosztott képzési keretrendszer módszereinek alkalmazása nélkül.

Megoldás áttekintése

A SageMaker egy teljesen felügyelt ML-szolgáltatás, amely különféle eszközöket kínál az ML-modellek építéséhez, betanításához, optimalizálásához és üzembe helyezéséhez. Az A SageMaker beépített algoritmuskönyvtárai 21 népszerű ML algoritmusból áll, köztük az XGBoostból. (További információért lásd Egyszerűsítse le a gépi tanulást az XGBoost és az Amazon SageMaker segítségével.) A beépített XGBoost algoritmussal kihasználhatja a nyílt forráskód előnyeit SageMaker XGBoost tároló az 1.0-1-nél nagyobb keretverzió megadásával, amely javított rugalmasságot, méretezhetőséget, bővíthetőséget és a Managed Spot Training-et, és támogatja az olyan beviteli formátumokat, mint a Parquet, amely a PDF-adatkészlethez használt formátum.

A fő ok, amiért a SophosAI a SageMaker-t választotta, az a képesség, hogy a több csomópontos CPU-példányok teljes körűen felügyelt elosztott betanításából hasznot húzzon, egyszerűen több példány megadásával. A SageMaker automatikusan felosztja az adatokat a csomópontok között, összesíti az eredményeket a peer csomópontok között, és egyetlen modellt generál. A példányok lehetnek azonnali példányok, ezáltal jelentősen csökkentve a képzési költségeket. A ... val beépített algoritmus az XGBoosthoz, ezt további egyéni szkript nélkül is megteheti. Az XGBoost elosztott verziói nyílt forráskódként is léteznek, mint pl XGBoost-Ray és a XGBoost4J-Spark, de használatuk megköveteli az elosztott számítástechnikai klaszterek felépítését, biztosítását, hangolását és önmenedzselését, ami a tudományos fejlődés mellett jelentős erőfeszítést jelent.

Emellett, SageMaker automatikus modelltuning, más néven hiperparaméter-hangolás, megtalálja a modell legjobb verzióját azáltal, hogy számos tanítási feladatot futtat az Ön által megadott hiperparaméter-tartományokkal. Ezután kiválasztja azokat a hiperparaméter-értékeket, amelyek a legjobban teljesítő modellt eredményezik, az adott ML-feladat metrikájával mérve.

A következő ábra a megoldás architektúráját mutatja be.

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

Érdemes megjegyezni, hogy amikor a SophosAI elindította az XGBoost kísérleteket, mielőtt a SageMakerhez fordult volna, kísérletek történtek nagy memória használatára. Amazon rugalmas számítási felhő (Amazon EC2) példányok (például r5a.24xlarge és x1.32xlarge), hogy a modellt a lehető legnagyobb adatmintára tanítsák. Ezek a próbálkozások azonban átlagosan több mint 10 órát vettek igénybe, és általában a memória kimerülése miatt kudarcot vallottak.

Ezzel szemben a SageMaker XGBoost algoritmus és a problémamentes elosztott képzési mechanizmus használatával a SophosAI 20 perc alatt képes megtanítani egy booster modellt a kolosszális PDF képzési adatkészleten. A csapatnak csak az adatokat kellett tárolnia Amazon egyszerű tárolási szolgáltatás (Amazon S3) hasonló méretű Parquet fájlokként, és válassza ki az EC2 példánytípust és a kívánt példányszámot, és a SageMaker kezelte az alapul szolgáló számítási fürt infrastruktúrát és a fürt több csomópontja között elosztott képzést. A motorháztető alatt a SageMaker felosztja az adatokat csomópontok között a ShardedByS3Key használatával, hogy a fájlobjektumokat egyenlően ossza el az egyes példányok között, és az XGBoost implementációt használja. Nyúl protokoll (megbízható AllReduce és broadcast interfész) az elosztott feldolgozás elindításához és az elsődleges és a peer csomópontok közötti kommunikációhoz. (A hisztogram aggregálásával és a csomópontok közötti sugárzással kapcsolatos további részletekért lásd: XGBoost: Skálázható fanövelő rendszer.)

Azon túl, hogy csak egy modellt oktatunk a SageMakerrel, XGBoost hiperparaméter hangolás gyors és egyszerű volt, mivel lehetővé tette a különböző kísérletek egyidejű futtatását a hiperparaméterek legjobb kombinációjának finomhangolása érdekében. A hangolható hiperparaméterek közé tartoznak az erősítő-specifikus és a célfüggvény-specifikus hiperparaméterek. Két keresési stratégia a következőket kínálják: véletlenszerű vagy bayesi. A Bayes-féle keresési stratégia értékesnek bizonyult, mert segít jobb hiperparaméterek megtalálásában, mint a puszta véletlenszerű keresés, kevesebb kísérleti iterációval.

Adatkészlet információk

A SophosAI PDF kártevő-észlelési modellezése számos szolgáltatáson alapul, például n-gram hisztogramokon és bájt entrópia funkciókon (További információért lásd: MEADE: A rosszindulatú e-mail mellékleteket észlelő motor felé). Az összegyűjtött PDF-fájlokból kinyert metaadatok és szolgáltatások egy elosztott adattárházban tárolódnak. Ezután egy több mint 3,500 szolgáltatásból álló adatkészletet számítanak ki, amelyeket az idő alapján tovább osztanak képzési és tesztkészletekre, és kötegekben tárolják Parquet fájlként az Amazon S3-ban, hogy a SageMaker könnyen elérhesse a képzési feladatokhoz.

Az alábbi táblázat információkat tartalmaz a képzési és tesztadatokról.

adatbázisba Minták száma A parketta reszelők száma Teljes méret
Képzések 70,391,634 5,500 ~ 1010 GB
Teszt 1,242,283 98 ~ 18 GB

Az adatok méretét a következő képlet alapján számítottuk ki:

Adatméret = N × (nF + nemL) × 4

A képlet a következő paraméterekkel rendelkezik:

  • N az adatkészletben lévő minták száma
  • nF a funkciók száma, a nF = 3585
  • nL az alapigazság-címkék száma, n-nelL = 1
  • A 4 a szolgáltatások adattípusához szükséges bájtok száma: float32

Ezenkívül a következő kördiagramok mind a képzési, mind a tesztkészletek címkeeloszlását biztosítják, kiváltva a PDF kártevő-észlelési feladat során tapasztalható osztálykiegyensúlyozatlanságot.

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

Az eloszlás a képzési készletről az egy hónapos tesztkészletre vált. Az adatkészlet időalapú felosztása oktatásra és tesztelésre kerül alkalmazásra, hogy szimulálják a valós üzembe helyezési forgatókönyvet, és elkerüljék az időbeli leskelődést. Ez a stratégia azt is lehetővé tette a SophosAI számára, hogy értékelje a modell valódi általánosítási képességeit, amikor például korábban nem látott vadonatúj PDF-támadásokkal szembesül.

Kísérletek és eredmények

A kísérletek beindításához a SophosAI csapata kiképzett egy alap XGBoost modellt az alapértelmezett paraméterekkel. Ezután elkezdték a hiperparaméterek finomhangolását a SageMakerrel a Bayes-stratégia segítségével, ami olyan egyszerű, mint a hiperparaméterek hangolandó és a kívánt értéktartomány, az értékelési metrika (ROC (Receiver Operating Characteristic) AUC ebben az esetben) és a betanító és érvényesítő készletek. A PDF rosszindulatú programok észleléséhez a SophosAI prioritást adott a hiperparamétereknek, beleértve a gyorsító körök számát (num_round), a maximális famélység (max_depth), a tanulási arány (eta), és az oszlopok mintavételi aránya fák építésekor (colsample_bytree). Végül a legjobb hiperparamétereket szereztük meg, és használták fel a modell betanításához a teljes adatkészleten, végül pedig a holdout tesztkészleten értékelték ki őket.

A következő diagram az objektív mérőszámot (ROC AUC) mutatja a hangolási munkán belül futó 15 betanítási feladathoz képest. A legjobb hiperparaméterek a kilencedik képzési feladatnak megfelelőek.

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

A SophosAI SageMaker-kísérleteinek kezdetén egy különösen fontos megválaszolandó kérdés volt: milyen típusú példányokra és hányra van szükség az XGBoost betanításához a rendelkezésre álló adatokon? Ez döntő fontosságú, mert nem megfelelő számú vagy típusú példány használata idő- és pénzpocsékolás lehet; a képzés biztosan meghiúsul a memória kimerülése miatt, vagy túl sok túl nagy példány használata esetén ez szükségtelenül megdrágulhat.

Az XGBoost egy memóriához kötött (a számításhoz kötött) algoritmus. Tehát egy általános célú számítási példány (például M5) jobb választás, mint egy számításra optimalizált példány (például C4). A megalapozott döntés meghozatalához van egy egyszerű SageMaker-útmutató a teljes adatkészleten végzett képzéshez szükséges példányok számának kiválasztásához:

Összes képzési adatméret × biztonsági tényező(*) < Példányszám × A példánytípus teljes memóriája

Ebben az esetben: Teljes képzési adatméret × biztonsági tényező (12) = 12120 GB

Az alábbi táblázat összefoglalja a követelményeket, ha a kiválasztott példánytípus ml.m5.24xlarge.

Képzési méret × biztonsági tényező (12) Példány memória ml.m5.24xnagy A képzéshez szükséges minimális példányszám
12120 GB 384 GB 32

*Az XGBoost elosztott képzés természetéből adódóan, amely megköveteli, hogy a képzés előtt a teljes képzési adatkészletet be kell tölteni egy DMatrix objektumba, és további szabad memória szükséges, 10–12 biztonsági tényező ajánlott.

Ahhoz, hogy közelebbről megtekinthessük a memória kihasználtságát az XGBoost teljes SageMaker képzéséhez a megadott adatkészleten, megadjuk a megfelelő grafikont, amelyet a képzésből nyertünk. amazonfelhőóra megfigyelés. Ehhez a képzési munkához 40 ml.m5.24xnagy példányt használtak, és a maximális memóriakihasználás elérte a 62%-ot.

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

Az olyan felügyelt ML-szolgáltatások, mint a SageMaker, adatfolyamba való integrálásával megtakarított tervezési költség körülbelül 50%. A Spot példányok képzési és hiperparaméter-hangolási munkák használatának lehetősége további 63%-kal csökkenti a költségeket.

Következtetés

A SageMakerrel a SophosAI csapata sikeresen megoldhat egy összetett, kiemelt fontosságú projektet egy könnyű PDF kártevő-észlelő XGBoost modell megalkotásával, amely sokkal kisebb a lemezen (akár 25-ször kisebb) és a memóriában (akár 5-ször kisebb), mint annak detektor elődje. Ez egy kicsi, de hatalmas kártevő-érzékelő ~0.99 AUC-val, valódi pozitív 0.99-es és téves pozitív aránnyal. How Sophos trains a powerful, lightweight PDF malware detector at ultra scale with Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai. . Ez a modell gyorsan áttanítható, teljesítménye pedig könnyen nyomon követhető az idő múlásával, mert kevesebb mint 20 percet vesz igénybe több mint 1 TB adaton betanítani.

Használhatja a SageMaker beépített algoritmusát XGBoost a méretarányos táblázatos adatokkal rendelkező modellek építéséhez. Ezenkívül kipróbálhatja az új beépített Amazon SageMaker algoritmusokat, a LightGBM, a CatBoost, az AutoGluon-Tabular és a Tab Transformer algoritmusokat, amint azt ebben a cikkben leírtuk. blog.


A szerzőkről

How Sophos trains a powerful, lightweight PDF malware detector at ultra scale with Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.Salma Taoufiq a Sophos vezető adattudósa, a gépi tanulás és a kiberbiztonság találkozási pontján dolgozik. Informatikus alapképzéssel a Közép-Európai Egyetemen szerzett MSc diplomát. matematikában és alkalmazásaiban. Amikor nem fejleszt rosszindulatú programkeresőt, Salma lelkes túrázó, utazó és a thrillerek fogyasztója.

How Sophos trains a powerful, lightweight PDF malware detector at ultra scale with Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.Harini Kannan a SophosAI adatkutatója. ~4 éve dolgozik a biztonsági adattudományban. Korábban a Sophos által felvásárolt Capsule8 vezető adatkutatója volt. Előadásokat tartott a CAMLIS, BlackHat (USA), Open Data Science Conference (East), Data Science Salon, PyData (Boston) és Data Connectors rendezvényeken. Kutatási területei közé tartozik a hardver alapú támadások észlelése teljesítményszámlálók segítségével, a felhasználói viselkedés elemzése, az értelmezhető ML és a felügyelet nélküli anomáliák észlelése.

How Sophos trains a powerful, lightweight PDF malware detector at ultra scale with Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.Hasan Poonawala az AWS vezető AI/ML specialista megoldások építésze, székhelye London, Egyesült Királyság. A Hasan segít az ügyfeleknek gépi tanulási alkalmazások tervezésében és üzembe helyezésében az éles AWS-ben. Több mint 12 éves szakmai tapasztalattal rendelkezik adattudósként, gépi tanulással foglalkozó szakemberként és szoftverfejlesztőként. Szabadidejében Hasan szereti felfedezni a természetet, és időt tölt barátaival és családjával.

How Sophos trains a powerful, lightweight PDF malware detector at ultra scale with Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.Digáns Patel az AWS vállalati támogatási vezetője. Ügyfelekkel dolgozik a felhőben való nagyszabású tervezésen, telepítésen és üzemeltetésen. Érdeklődési területei az MLOps és DevOps gyakorlatok, valamint az, hogy ezek hogyan segíthetik az ügyfeleket a felhőalapú utazásukban. A munkán kívül szeret fényképezni, röplabdázni, valamint a barátaival és családjával tölti az idejét.

Időbélyeg:

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