Как компания Sophos обучает мощный и легкий детектор вредоносных программ в формате PDF в сверхмасштабных масштабах с помощью Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Как Sophos обучает мощный и легкий детектор вредоносных программ PDF в сверхмасштабе с помощью Amazon SageMaker

Этот пост написан в соавторстве с Сальмой Тауфик и Харини Каннан из Sophos.

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

Ассоциация Группа искусственного интеллекта (ИИ) Sophos (SophosAI) курирует разработку и обслуживание основной технологии безопасности машинного обучения Sophos. Безопасность — это проблема больших данных. Чтобы избежать обнаружения, киберпреступники постоянно придумывают новые атаки. Это приводит к колоссальным наборам данных об угрозах, с которыми группа должна работать, чтобы наилучшим образом защитить клиентов. Одним из примечательных примеров является обнаружение и удаление файлов, хитроумно пронизанных вредоносными программами, где наборы данных исчисляются терабайтами.

В этом посте мы сосредоточимся на системе обнаружения вредоносных программ Sophos специально для формата файлов PDF. Мы демонстрируем, как SophosAI использует Создатель мудреца Амазонки распределенное обучение с терабайтами данных для обучения мощной облегченной модели XGBoost (Extreme Gradient Boosting). Это позволяет их команде быстрее обрабатывать большие обучающие данные с автоматической настройкой гиперпараметров и без управления базовой инфраструктурой обучения.

В настоящее время решение полностью интегрировано в конвейер производственного обучения, а модель развернута на миллионах конечных точек пользователей через Служба конечной точки Sophos.

Контекст варианта использования

Если вы хотите поделиться важным контрактом или сохранить причудливый дизайн своего резюме, формат PDF является наиболее распространенным выбором. Его широкое использование и общее представление о том, что такие документы герметичны и статичны, внушают пользователям ложное чувство безопасности. Таким образом, PDF стал предпочтительным вектором заражения в арсенале злоумышленников. Вредоносные действия с использованием PDF-файлов чаще всего осуществляются путем внедрения полезной нагрузки JavaScript, которая запускается программой чтения PDF-файлов для загрузки вируса из URI, саботажа компьютера пользователя или кражи конфиденциальной информации.

Sophos обнаруживает вредоносные PDF-файлы на различных этапах атаки, используя набор детерминированных моделей и моделей машинного обучения. Один из таких подходов показан на следующей диаграмме, где вредоносный PDF-файл доставляется по электронной почте. Как только предпринимается попытка загрузки, вредоносный исполняемый скрипт подключается к серверу управления и контроля злоумышленника. Детектор PDF SophosAI блокирует попытку загрузки после обнаружения вредоносного ПО.

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

мотивация

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

Техническая проблема

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

Поэтому основной задачей было обучение модели на большом наборе данных без необходимости понижать выборку. Поскольку для детектора крайне важно научиться обнаруживать любые атаки на основе PDF — даже иголку в стоге сена и совершенно новые, чтобы лучше защищать клиентов Sophos, — крайне важно использовать все доступные разнообразные наборы данных.

В отличие от нейронных сетей, где вы можете тренироваться в пакетном режиме, для XGBoost нам нужен весь набор обучающих данных в памяти. Самый большой набор обучающих данных для этого проекта составляет более 1 ТБ, и невозможно провести обучение в таком масштабе без использования методологий распределенной обучающей среды.

Обзор решения

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

Основная причина, по которой SophosAI выбрала SageMaker, — это возможность воспользоваться преимуществами полностью управляемого распределенного обучения на многоузловых экземплярах ЦП, просто указав более одного экземпляра. SageMaker автоматически разбивает данные по узлам, объединяет результаты по одноранговым узлам и создает единую модель. Инстансы могут быть спотовыми, что значительно снижает затраты на обучение. С встроенный алгоритм для XGBoost, вы можете сделать это без какого-либо дополнительного пользовательского скрипта. Распределенные версии XGBoost также существуют с открытым исходным кодом, например XGBoost-Ray и XGBoost4J-искра, но их использование требует создания, защиты, настройки и самоуправляемых распределенных вычислительных кластеров, что требует значительных усилий в дополнение к научным разработкам.

Кроме того, SageMaker автоматическая настройка модели, также известный как настройка гиперпараметров, находит наилучшую версию модели, запуская множество заданий обучения с диапазонами указанных вами гиперпараметров. Затем он выбирает значения гиперпараметров, которые приводят к модели, которая работает лучше всего, что измеряется метрикой для данной задачи ML.

Следующая диаграмма иллюстрирует архитектуру решения.

Как компания Sophos обучает мощный и легкий детектор вредоносных программ в формате PDF в сверхмасштабных масштабах с помощью Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Стоит отметить, что когда SophosAI запускал эксперименты с XGBoost, прежде чем обратиться к SageMaker, были предприняты попытки использовать большие объемы памяти. Эластичное вычислительное облако Amazon (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 мог легко использовать их для обучения.

В следующей таблице представлена ​​информация об обучающих и тестовых данных.

Dataset Количество образцов Количество паркетных пилок Общий размер
Обучение 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. Вертикальный поиск. Ай.

Распределение смещается с обучающего набора на месячный тестовый набор. Применяется временное разделение набора данных на обучение и тестирование, чтобы смоделировать реальный сценарий развертывания и избежать временного отслеживания. Эта стратегия также позволила 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. Вертикальный поиск. Ай.

В начале экспериментов SophosAI с SageMaker особенно важным вопросом, на который нужно было ответить, был: какой тип экземпляров и сколько их необходимо для обучения XGBoost на имеющихся данных? Это очень важно, потому что использование неправильного количества или типа экземпляра может быть пустой тратой времени и денег; обучение обречено на неудачу из-за нехватки памяти или, если используется слишком много слишком больших экземпляров, это может стать излишне дорогим.

XGBoost — это алгоритм, привязанный к памяти (в отличие от вычислений). Таким образом, вычислительный инстанс общего назначения (например, M5) — лучший выбор, чем инстанс, оптимизированный для вычислений (например, C4). Чтобы принять обоснованное решение, существует простое руководство SageMaker по выбору количества экземпляров, необходимых для запуска обучения на полном наборе данных:

Общий объем обучающих данных × коэффициент безопасности(*) < Количество экземпляров × Общая память типа экземпляра

В этом случае: общий размер обучающих данных × коэффициент безопасности (12) = 12120 XNUMX ГБ.

В следующей таблице приведены требования, когда выбран тип экземпляра ml.m5.24xlarge.

Размер тренировки × фактор безопасности (12) Память экземпляров мл.м5.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. Вертикальный поиск. Ай.

Затраты на проектирование, сэкономленные за счет интеграции управляемой службы машинного обучения, такой как SageMaker, в конвейер данных, составляют около 50 %. Возможность использовать спотовые инстансы для обучения и настройки гиперпараметров позволяет сократить расходы еще на 63 %.

Заключение

С помощью SageMaker команда SophosAI смогла успешно решить сложный высокоприоритетный проект, создав упрощенную модель XGBoost для обнаружения вредоносных программ в формате PDF, которая намного меньше на диске (до 25 раз меньше) и в памяти (до 5 раз меньше), чем ее предшественник детектора. Это небольшой, но мощный детектор вредоносных программ с AUC ~ 0.99 и процентом истинных срабатываний 0.99 и коэффициентом ложных срабатываний Как компания Sophos обучает мощный и легкий детектор вредоносных программ в формате PDF в сверхмасштабных масштабах с помощью Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай. . Эту модель можно быстро переобучить, а ее производительность можно легко отслеживать с течением времени, поскольку ее обучение на более чем 20 ТБ данных занимает менее 1 минут.

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


Об авторах

Как компания Sophos обучает мощный и легкий детектор вредоносных программ в формате PDF в сверхмасштабных масштабах с помощью Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Сальма Тауфик — старший специалист по данным в Sophos, работающий на стыке машинного обучения и кибербезопасности. Получив степень бакалавра в области компьютерных наук, она окончила Центрально-Европейский университет со степенью магистра. по математике и ее приложениям. Когда Сальма не занимается разработкой детектора вредоносных программ, она заядлая туристка, путешественник и любитель триллеров.

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

Как компания Sophos обучает мощный и легкий детектор вредоносных программ в формате PDF в сверхмасштабных масштабах с помощью Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Хасан Пунавала является старшим специалистом по разработке решений в области ИИ / машинного обучения в компании AWS, расположенной в Лондоне, Великобритания. Хасан помогает клиентам разрабатывать и развертывать приложения машинного обучения в производственной среде на AWS. Он имеет более 12 лет опыта работы в качестве специалиста по данным, специалиста по машинному обучению и разработчика программного обеспечения. В свободное время Хасан любит исследовать природу и проводить время с друзьями и семьей.

Как компания Sophos обучает мощный и легкий детектор вредоносных программ в формате PDF в сверхмасштабных масштабах с помощью Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Дигант Патель является руководителем отдела корпоративной поддержки в AWS. Он работает с клиентами над проектированием, развертыванием и эксплуатацией в облаке в любом масштабе. Его интересуют практики MLOps и DevOps, а также то, как они могут помочь клиентам в переходе к облачным технологиям. Вне работы он любит фотографировать, играть в волейбол и проводить время с друзьями и семьей.

Отметка времени:

Больше от Машинное обучение AWS