Як Sophos тренує потужний, легкий детектор зловмисного програмного забезпечення PDF у надмасштабному масштабі за допомогою Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Як Sophos тренує потужний, легкий детектор зловмисного програмного забезпечення PDF у надмасштабному режимі за допомогою Amazon SageMaker

Співавторами цієї публікації є Сальма Тауфік і Харіні Каннан із Sophos.

Як лідер у сфері кібербезпеки нового покоління, Sophos прагне захистити понад 500,000 150 організацій і мільйони клієнтів у більш ніж XNUMX країнах від нових загроз. Завдяки аналізу загроз, машинному навчанню (ML) і штучному інтелекту від Sophos X-Ops Sophos надає широкий і різноманітний портфель передових продуктів і послуг для захисту користувачів, мереж і кінцевих точок від фішингу, програм-вимагачів, зловмисних програм і широкий спектр кібератак.

Команда Група Sophos зі штучного інтелекту (AI). (SophosAI) контролює розробку та підтримку основної технології безпеки ML від Sophos. Безпека — це проблема великих даних. Щоб уникнути виявлення, кіберзлочинці постійно створюють нові атаки. Це означає колосальні набори даних про загрози, з якими група повинна працювати, щоб найкращим чином захистити клієнтів. Одним із яскравих прикладів є виявлення та знищення файлів, які були хитро просочені шкідливим програмним забезпеченням, де набори даних складаються з терабайтів.

У цьому дописі ми зосередимося на системі виявлення зловмисного програмного забезпечення Sophos саме для формату файлу PDF. Ми демонструємо, як використовує SophosAI Amazon SageMaker розподілене навчання з терабайтами даних для навчання потужної легкої моделі XGBoost (Extreme Gradient Boosting). Це дозволяє їхній команді швидше переглядати великі навчальні дані за допомогою автоматичного налаштування гіперпараметрів і без керування базовою інфраструктурою навчання.

Рішення наразі бездоганно інтегровано в конвеєр виробничого навчання, а модель розгортається на мільйонах кінцевих точок користувачів через Служба кінцевих точок Sophos.

Контекст випадку використання

Незалежно від того, чи хочете ви поділитися важливим контрактом або зберегти привабливий дизайн свого резюме, формат PDF є найпоширенішим вибором. Його широке використання та загальне уявлення про те, що такі документи є герметичними та статичними, викликають у користувачів помилкове відчуття безпеки. Тому PDF став основним вектором зараження в арсеналі зловмисників. Зловмисні дії з використанням PDF-файлів найчастіше здійснюються шляхом вбудовування корисного навантаження JavaScript, яке запускається програмою читання PDF для завантаження вірусу з URI, саботування комп’ютера користувача або викрадення конфіденційної інформації.

Sophos виявляє шкідливі PDF-файли в різних точках атаки, використовуючи набір детермінованих моделей і моделей машинного навчання. Один із таких підходів показано на наступній схемі, де шкідливий файл PDF доставляється електронною поштою. Щойно робиться спроба завантаження, шкідливий виконуваний сценарій запускає з’єднання з сервером командування та керування зловмисника. PDF-детектор SophosAI блокує спробу завантаження після виявлення шкідливого.

Інші способи включають блокування PDF-файлів у кінцевій точці, надсилання зловмисних файлів у пісочницю (де вони оцінюються за допомогою кількох моделей), надсилання зловмисного файлу в інфраструктуру оцінювання та створення звіту про безпеку тощо.

мотивація

Щоб побудувати детектор на основі дерева, який може з високою впевненістю виявляти шкідливі PDF-файли, забезпечуючи низьке споживання обчислювальної енергії кінцевою точкою та швидкі відповіді на висновки, команда SophosAI виявила, що алгоритм XGBoost є ідеальним кандидатом для цього завдання. Такі напрямки дослідження важливі для Sophos з двох причин. Наявність потужних, але невеликих моделей, розгорнутих на рівні клієнтських кінцевих точок, має значний вплив на відгуки аналітиків про продукти компанії. Це також, і що більш важливо, забезпечує кращий користувацький досвід у цілому.

Технічне завдання

Оскільки мета полягала в тому, щоб мати модель із меншим обсягом пам’яті, ніж їхні існуючі детектори зловмисного програмного забезпечення у форматі PDF (як на диску, так і в пам’яті), SophosAI створив XGBoost, алгоритм класифікації з доведеним досвідом створення значно менших моделей, ніж нейронні мережі, досягнувши вражаючих результатів. продуктивність на табличних даних. Перш ніж взятися за моделювання експериментів XGBoost, важливим фактором був сам розмір набору даних. Дійсно, основний набір PDF-файлів Sophos містить терабайти.

Тому основною проблемою було навчання моделі з великим набором даних без необхідності зменшення дискретизації. Оскільки для детектора вкрай важливо навчитися виявляти будь-які атаки на основі PDF — навіть «голка в стозі сіна» та зовсім нові, щоб краще захистити клієнтів Sophos, — надзвичайно важливо використовувати всі доступні різноманітні набори даних.

На відміну від нейронних мереж, де можна навчатися пакетами, для XGBoost нам потрібен увесь набір навчальних даних у пам’яті. Найбільший навчальний набір даних для цього проекту перевищує 1 ТБ, і неможливо навчатися в такому масштабі без використання методології розподіленої навчальної структури.

Огляд рішення

SageMaker — це повністю керована служба ML, яка надає різні інструменти для створення, навчання, оптимізації та розгортання моделей ML. The Вбудовані бібліотеки алгоритмів SageMaker складається з 21 популярного алгоритму ML, включаючи XGBoost. (Для отримання додаткової інформації див Спростіть машинне навчання за допомогою XGBoost і Amazon SageMaker.) За допомогою вбудованого алгоритму XGBoost ви можете скористатися перевагами відкритого коду Контейнер SageMaker XGBoost шляхом визначення версії фреймворку, вищої за 1.0-1, яка має покращену гнучкість, масштабованість, розширюваність і кероване точкове навчання, а також підтримує такі формати введення, як Parquet, який є форматом, який використовується для набору даних PDF.

Основною причиною, чому SophosAI вибрав SageMaker, є можливість отримати вигоду від повністю керованого розподіленого навчання на екземплярах багатовузлового процесора, просто вказавши більше одного екземпляра. SageMaker автоматично розділяє дані між вузлами, агрегує результати між одноранговими вузлами та генерує єдину модель. Екземпляри можуть бути точковими екземплярами, що значно скорочує витрати на навчання. З вбудований алгоритм для XGBoost, ви можете зробити це без додаткового спеціального сценарію. Розповсюджені версії XGBoost також існують у вигляді відкритого коду, наприклад XGBoost-Ray та XGBoost4J-Spark, але їх використання вимагає побудови, захисту, налаштування та самокерування розподілених обчислювальних кластерів, що представляє значні зусилля додатково до наукового розвитку.

Крім того, Автоматичне налаштування моделі SageMaker, також відомий як налаштування гіперпараметрів, знаходить найкращу версію моделі, запускаючи багато навчальних завдань із заданими вами діапазонами гіперпараметрів. Потім він вибирає значення гіперпараметрів, які призводять до найкращої моделі, виміряної метрикою для даного завдання ML.

Наступна діаграма ілюструє архітектуру рішення.

Як Sophos тренує потужний, легкий детектор зловмисного програмного забезпечення PDF у надмасштабному масштабі за допомогою Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Варто зазначити, що коли SophosAI починав експерименти XGBoost перед тим, як звернутись до SageMaker, робилися спроби використовувати велику пам’ять Обчислювальна хмара Amazon Elastic (Amazon EC2) (наприклад, r5a.24xlarge і x1.32xlarge), щоб навчити модель на якомога більшій вибірці даних. Однак ці спроби займали в середньому більше 10 годин і зазвичай були невдалими через брак пам’яті.

На противагу цьому, використовуючи алгоритм SageMaker XGBoost і безпроблемний механізм розподіленого навчання, SophosAI міг навчити масштабну модель розсилки на колосальному навчальному наборі даних PDF за лічені 20 хвилин. Команді залишалося лише зберігати дані Служба простого зберігання Amazon (Amazon S3) як файли Parquet подібного розміру, виберіть тип екземпляра EC2 і потрібну кількість екземплярів, і SageMaker керував основною інфраструктурою обчислювального кластера та розподіляв навчання між кількома вузлами кластера. Під капотом SageMaker розділяє дані між вузлами за допомогою ShardedByS3Key, щоб рівномірно розподілити файлові об’єкти між кожним екземпляром, і використовує реалізацію XGBoost Рабіт протокол (надійний AllReduce і широкомовний інтерфейс) для запуску розподіленої обробки та обміну даними між основними та одноранговими вузлами. (Щоб дізнатися більше про агрегацію гістограми та трансляцію між вузлами, див XGBoost: масштабована система прискорення дерева.)

Окрім простого навчання однієї моделі за допомогою SageMaker, Налаштування гіперпараметрів XGBoost було також зроблено швидко та легко з можливістю запускати різні експерименти одночасно для точного налаштування найкращої комбінації гіперпараметрів. Настроювані гіперпараметри включають гіперпараметри, що стосуються посилювача та цільової функції. Дві стратегії пошуку пропонуються: випадкові або байєсовські. Байєсовська стратегія пошуку довела свою цінність, оскільки вона допомагає знаходити кращі гіперпараметри, ніж простий випадковий пошук, за меншу кількість експериментальних ітерацій.

Інформація про набір даних

Моделювання виявлення зловмисного програмного забезпечення PDF від SophosAI спирається на різноманітні функції, такі як гістограми n-грамів і функції байтової ентропії (додаткову інформацію див. MEADE: До механізму виявлення шкідливих вкладень електронної пошти). Метадані та функції, отримані із зібраних PDF-файлів, зберігаються в розподіленому сховищі даних. Потім обчислюється набір даних із понад 3,500 функцій, які далі розподіляються за часом на навчальні та тестові набори та зберігаються пакетами як файли Parquet в Amazon S3, щоб SageMaker міг легко отримати доступ до них для навчальних завдань.

У наведеній нижче таблиці наведено інформацію про навчання та тестові дані.

Набір даних Кількість зразків Кількість паркетних пилок Загальний розмір
Навчання 70,391,634 5,500 ~1010 Гб
Тест 1,242,283 98 ~18 Гб

Розміри даних були розраховані за формулою:

Розмір даних = N × (nF + нL) × 4

Формула має такі параметри:

  • N це кількість зразків у наборі даних
  • nF є число ознак, с nF = 3585
  • nL це кількість базових міток істинності, з nL = 1
  • 4 — кількість байтів, необхідних для типу даних функції: float32

Крім того, наведені нижче кругові діаграми надають розподіл міток як для навчального, так і для тестового наборів, виявляючи дисбаланс класів, який виникає під час завдання виявлення зловмисного програмного забезпечення PDF.

Як Sophos тренує потужний, легкий детектор зловмисного програмного забезпечення PDF у надмасштабному масштабі за допомогою Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Розподіл зміщується від навчального набору до місячного тестового набору. Розподіл набору даних на навчання та тестування застосовано для імітації реального сценарію розгортання та уникнення тимчасового стеження. Ця стратегія також дозволила SophosAI оцінити справжні можливості моделі щодо узагальнення, наприклад, під час небачених раніше атак на нові PDF-файли.

Експерименти та результати

Щоб розпочати експерименти, команда SophosAI навчила базову модель XGBoost із параметрами за замовчуванням. Потім вони почали виконувати тонке налаштування гіперпараметрів за допомогою SageMaker за допомогою байєсівської стратегії, яка така ж проста, як визначення гіперпараметри для налаштування та бажаний діапазон значень, метрику оцінки (ROC (робоча характеристика приймача) AUC у цьому випадку) і набори для навчання та перевірки. Для детектора зловмисного програмного забезпечення PDF SophosAI визначив пріоритет гіперпараметрів, включаючи кількість раундів посилення (num_round), максимальна глибина дерева (max_depth), швидкість навчання (eta), а також коефіцієнт вибірки стовпців при побудові дерев (colsample_bytree). Зрештою, найкращі гіперпараметри були отримані та використані для навчання моделі на повному наборі даних і, нарешті, оцінені на тестовому наборі затримки.

На наступному графіку показано об’єктивну метрику (ROC AUC) у порівнянні з 15 навчальними завданнями, які виконуються в рамках завдання налаштування. Найкращими гіперпараметрами є ті, що відповідають дев'ятій навчальній роботі.

Як Sophos тренує потужний, легкий детектор зловмисного програмного забезпечення PDF у надмасштабному масштабі за допомогою Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

На початку експериментів SophosAI над SageMaker особливо важливим питанням, на яке потрібно було відповісти, було: який тип екземплярів і скільки їх потрібно для навчання XGBoost на наявних даних? Це надзвичайно важливо, оскільки використання неправильного номера або типу екземпляра може бути марною тратою часу та грошей; навчання неминуче закінчиться через нестачу пам’яті, або, якщо використовується занадто багато занадто великих екземплярів, це може стати невиправдано дорогим.

XGBoost — це алгоритм із прив’язкою до пам’яті (на відміну від обчислень). Таким чином, обчислювальний екземпляр загального призначення (наприклад, M5) є кращим вибором, ніж екземпляр, оптимізований для обчислень (наприклад, C4). Щоб прийняти обґрунтоване рішення, існує проста інструкція SageMaker щодо вибору кількості екземплярів, необхідних для запуску навчання на повному наборі даних:

Загальний розмір даних тренування × коефіцієнт безпеки(*) < Кількість екземплярів × Загальна пам’ять типу екземпляра

У цьому випадку: Загальний розмір навчальних даних × коефіцієнт безпеки (12) = 12120 ГБ

У наведеній нижче таблиці підсумовано вимоги, коли вибрано тип екземпляра ml.m5.24xlarge.

Розмір тренування × коефіцієнт безпеки (12) Пам'ять екземпляра ml.m5.24xlarge Мінімальна кількість екземплярів, необхідна для навчання
12120 GB 384 GB 32

*Через характер розподіленого навчання XGBoost, який вимагає завантаження всього набору навчальних даних в об’єкт DMatrix перед навчанням і додатковою вільною пам’яттю, рекомендований коефіцієнт безпеки 10–12.

Щоб ближче розглянути використання пам’яті для повного навчання SageMaker для XGBoost на наданому наборі даних, ми надаємо відповідний графік, отриманий із навчання Amazon CloudWatch моніторинг. Для цього навчального завдання було використано 40 екземплярів ml.m5.24xlarge, а максимальне використання пам’яті досягло приблизно 62 %.

Як Sophos тренує потужний, легкий детектор зловмисного програмного забезпечення PDF у надмасштабному масштабі за допомогою Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Зниження витрат на розробку завдяки інтеграції керованої служби машинного навчання, наприклад SageMaker, у конвеєр даних становить близько 50%. Можливість використовувати точкові екземпляри для завдань навчання та налаштування гіперпараметрів скоротила витрати ще на 63%.

Висновок

За допомогою SageMaker команда SophosAI могла успішно розв’язати складний високопріоритетний проект, побудувавши легку модель XGBoost для виявлення зловмисного програмного забезпечення PDF, яка має набагато менший розмір на диску (до 25 разів) і в пам’яті (до 5 разів менше), ніж його попередник детектора. Це невеликий, але потужний детектор зловмисного програмного забезпечення з ~0.99 AUC і коефіцієнтом справжніх позитивних результатів 0.99 і коефіцієнтом помилкових позитивних результатів Як Sophos тренує потужний, легкий детектор зловмисного програмного забезпечення PDF у надмасштабному масштабі за допомогою Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai. . Цю модель можна швидко перенавчати, а її продуктивність можна легко відстежувати з часом, оскільки навчання займає менше 20 хвилин на більш ніж 1 ТБ даних.

Ви можете використовувати вбудований алгоритм SageMaker XGBoost для створення моделей із вашими табличними даними в масштабі. Крім того, ви також можете спробувати нові вбудовані алгоритми Amazon SageMaker LightGBM, CatBoost, AutoGluon-Tabular і Tab Transformer, як описано в цьому блозі.


Про авторів

Як Sophos тренує потужний, легкий детектор зловмисного програмного забезпечення PDF у надмасштабному масштабі за допомогою Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Сальма Тауфік є старшим спеціалістом із обробки даних у Sophos, працює на стику машинного навчання та кібербезпеки. Маючи базову освіту в галузі інформатики, вона закінчила Центральноєвропейський університет зі ступенем магістра наук. з математики та її застосування. Не розробляючи детектор зловмисного програмного забезпечення, Сальма є завзятим туристом, мандрівником і споживачем трилерів.

Як Sophos тренує потужний, легкий детектор зловмисного програмного забезпечення PDF у надмасштабному масштабі за допомогою Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Харіні Каннан є спеціалістом із обробки даних у SophosAI. Вона працює в галузі безпеки даних близько 4 років. Раніше вона була головним спеціалістом з обробки даних у Capsule8, яку придбала Sophos. Вона виступала з доповідями на CAMLIS, BlackHat (США), Open Data Science Conference (East), Data Science Salon, PyData (Бостон) і Data Connectors. Сфери її досліджень включають виявлення апаратних атак за допомогою лічильників продуктивності, аналізу поведінки користувачів, інтерпретованого ML і неконтрольованого виявлення аномалій.

Як Sophos тренує потужний, легкий детектор зловмисного програмного забезпечення PDF у надмасштабному масштабі за допомогою Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Хасан Пунавала є старшим архітектором рішень спеціаліста зі штучного інтелекту/ML в AWS, що базується в Лондоні, Великобританія. Хасан допомагає клієнтам розробляти та розгортати програми машинного навчання у виробництві на AWS. Він має понад 12 років досвіду роботи науковцем з даних, практиком машинного навчання та розробником програмного забезпечення. У вільний час Хасан любить досліджувати природу та проводити час з друзями та родиною.

Як Sophos тренує потужний, легкий детектор зловмисного програмного забезпечення PDF у надмасштабному масштабі за допомогою Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Діган Патель є керівником корпоративної підтримки в AWS. Він працює з клієнтами над розробкою, розгортанням і роботою в хмарі в масштабі. Сферою його інтересів є практики MLOps і DevOps і те, як це може допомогти клієнтам у їхній хмарній подорожі. Поза роботою він любить фотографувати, грати у волейбол і проводити час з друзями та родиною.

Часова мітка:

Більше від AWS Машинне навчання