
19 марта 2016 года Джон Подеста был обманут, чтобы раскрыть свои учетные данные Gmail поддерживаемой Россией организации, которая затем распространила электронные письма, касающиеся кампании Клинтона, эффективно повлияв на выборы 2016 года.
Атаки социальной инженерии, подобные этой (и гораздо более изощренные), находятся на подъеме и становятся все более совершенными с каждым днем. Они опираются на доверие, которое мы оказываем нашим бизнес-инструментам и социальным сетям, особенно когда кажется, что сообщение пришло от кого-то из нашего списка контактов (но нет), или еще более коварно, когда атака на самом деле исходит от контакта, чья учетная запись был взломан. По оценкам ФБР, за последние несколько лет более 75% кибератак начинались с социальной инженерии, обычно через электронную почту.
Почему это новая проблема?
Разве электронная почта не существует вечно? Почему до сих пор не решена эта проблема? Почему это проблема машинного обучения?
В связи с тем, что все больше бизнеса ведется онлайн и подключается к единому облачному входу в систему, а также растет использование мобильных устройств, где UX часто разрабатывается без учета безопасности, количество этих форм атак резко возросло, и они представляют собой угрозу для каждой организации, использующей электронное письмо. Изощренность и направленность атак до недавнего времени превосходили существующие средства защиты электронной почты.
Единственный способ эффективно обнаружить эти атаки - использовать современные методы машинного обучения с глубоким пониманием естественного языка в сочетании с тщательным моделированием типичных коммуникативных моделей организации.
Около полутора лет назад я покинул команду ML в Twitter, чтобы помочь основать Abnormal Security, где я возглавляю разработку нашей системы искусственного интеллекта для обнаружения и предотвращения этих вредоносных электронных писем.
Я новичок в кибербезопасности и безопасности электронной почты (хотя она имеет сходство с проблемой обнаружения злоупотреблений, над которой я работал в Twitter). Это увлекательный и пугающий мир:
- Существует многомиллиардная экономика преступников, использующих атаки на основе электронной почты для кражи денег, информации счетов и коммерческих секретов, но до 50% этих атак вероятно, совершаются государственными структурами: либо шпионские организации или политически мотивированные организации, финансируемые такими государствами, как Россия, Китай, Иран и Северная Корея. Например, Fancy Bear (APT28) был ответственен за успешную атаку на Джона Подеста и, вероятно, финансируется российской охранной организацией ГРУ.
- Использование эксплойтов нулевого дня - не единственное, что есть у злоумышленников. Преступникам лучше приберечь их на черный день или продать государственному деятелю. Гораздо проще убедить кого-то отказаться от своих учетных данных и использовать их для повышения привилегий до тех пор, пока вы не получите то, что хотите, либо деньги, либо коммерческую тайну.
- Существующая система защиты электронной почты не может остановить эти атаки, и атаки становятся все более изощренными.
Можем ли мы использовать современный ИИ для предотвращения атак?
Существует долгая история использования машинного обучения для предотвращения мошенничества с электронной почтой. Например, спам-фильтры преподаются на большинстве вводных курсов машинного обучения. Однако злоумышленники намного превзошли существующие системы защиты электронной почты. Почти все организации, от местных органов власти, производственных, энергетических и технологических компаний до частных лиц, становятся жертвами атак, и многие из них успешно взламываются каждый день.
Почему эти атаки трудно предотвратить?
- Текст в атаках по электронной почте часто неотличим от законного сообщения. Он был тщательно разработан, чтобы обмануть как получателя, так и защитное программное обеспечение.
- Злоумышленники активно пытаются избежать систем машинного обучения и используют свои собственные системы машинного обучения, чтобы помешать обнаружению (например, мы обнаружили, что программное обеспечение для тестирования A / B целевого фишинга продается в темной сети).
- Злоумышленники могут запускать атаки со взломанных учетных записей, что затрудняет их идентификацию по обычной электронной почте.
До Abnormal Security я работал в Twitter Cortex, внедряя модели глубокого обучения во многие области продукта Twitter. Одна конкретная проблема, над которой я работал, заключалась в обнаружении злоупотреблений: как мы идентифицируем домогательства, запугивание и язык вражды в разговорах в Твиттере? Мы обнаружили, что комбинация современного NLP (встраивания, LSTM и т. Д.) Вместе с особенностями графа коммуникации (кто кому пишет в Твиттере, в каких сообществах, какова их история общения и т. Д.) Была решающей комбинацией для построения успешного обнаружения. модели.
Эти уроки, извлеченные из Twitter, были полезны при решении проблемы выявления атак по электронной почте: (1) является ли содержание сообщения подозрительным? (2) часто ли становятся мишенью личности сторон в общении? (3) каковы были прошлые модели общения получателя и отправителя?
Интересно, что Twitter и электронная почта - две единственные крупные технологии, с помощью которых любой может связаться с кем угодно без предварительного подключения, и поэтому обе они готовы к злоупотреблениям. Но взломы электронной почты более коварны из-за того, какой доступ связан с учетными записями электронной почты.
В наш век облачных поставщиков удостоверений так много информации и доступа связаны с учетными записями электронной почты в Office 365 и Gmail: документы, голосовой чат, видео, возможно даже доступ к настольному компьютеру.
Почему это сложная проблема машинного обучения?
Иголка в стоге сена. Первая проблема заключается в том, что базовая ставка очень низкая. Расширенные атаки редки по сравнению с общим объемом легитимной электронной почты:
- 1 из 100 000 электронных писем - это продвинутый целевой фишинг.
- менее 1 из 10 000 000 электронных писем - это продвинутая BEC (например, мошенничество со счетами) или боковой целевой фишинг (скомпрометированная учетная запись, фишинговая другого сотрудника)
- (сравните со спамом, который составляет 65 на каждые 100 писем)
Это означает, что у нас есть проблема с чрезвычайно предвзятой классификацией, которая порождает всевозможные трудности.
Огромные объемы данных. В то же время данные, которые у нас есть, большие (многие терабайты), беспорядочные, многомодальные, и их трудно собрать и обработать с малой задержкой для системы реального времени. Например, функции, которые система машинного обучения хотела бы оценить, включают:
- Текст письма
- Метаданные и заголовки
- История общения вовлеченных сторон
- Вход в учетную запись, фильтры почты и другие действия в учетной записи
- Личность вовлеченных сторон (имя генерального директора? Бухгалтер? И т. Д.)
- Прикрепленный контент
- Ссылки во вложениях
- Изображения в прикрепленных файлах
- Ссылки и тело
- Содержание связанной целевой страницы
- Изображения на связанных целевых страницах
- Код на целевых страницах
- Вредоносное ПО во вложениях
- …
Превратить все эти данные в полезные функции для системы обнаружения - огромная проблема как с точки зрения инженерии данных, так и с точки зрения машинного обучения.
Состязательные злоумышленники. Что еще хуже, злоумышленники активно манипулируют данными, чтобы усложнить модели машинного обучения:
- Злоумышленники кодируют текст с помощью текста, похожего на Unicode (например, 𝙼𝚒𝚌𝚛𝚘soft)
- Злоумышленники вставляют отвлекающий текст, скрытый в неотображаемом HTML (чтобы запутать модели НЛП)
- Злоумышленники кодируют текст в изображениях (чтобы предотвратить NLP без OCR)
- Фишинговые страницы отображают весь контент с помощью javascript и требуют CAPTCHA для доступа (для предотвращения автоматического сканирования)
- Злоумышленники месяцами отправляют в организацию безобидные электронные письма, чтобы укрепить связь / репутацию.
- Злоумышленники включают текст в защищенные паролем PDF-файлы, прикрепленные к электронному письму (для предотвращения автоматического анализа вложений).
- Злоумышленники месяцами сидят на скомпрометированной учетной записи, ожидая подходящего момента. Например, вставив незаконный счет в разговор о своевременной оплате.
Точность должна быть очень высокой - чтобы создать продукт, предотвращающий атаки по электронной почте, мы должны избегать ложных срабатываний и нарушения законного делового общения, но в то же время ловить каждую атаку. Уровень ложных срабатываний должен составлять всего один на миллион!
Успешно решая проблему
В Abnormal мы создали эффективное решение, основанное на хорошей инженерии данных, науке о данных и надежных масштабируемых системах с мощными моделями машинного обучения.
Ключ к обнаружению вредоносных электронных писем - это хорошее представление и различительная характеристика этих данных. В конце концов, наша система обнаружения основывается на трех измерениях электронного письма:

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

Возможность легко комбинировать и обучать модели, представляющие несколько измерений электронного письма таким образом, была чрезвычайно мощной и помогает нам обобщать никогда ранее не наблюдавшиеся атаки.
Определение порога вывода модели - одна из самых сложных проблем. Поскольку точность должна быть настолько высокой, мы должны быть очень осторожны, чтобы модель работала автономно и могла справиться с распределительными сдвигами.
(Я обсуждаю трудности, связанные с установлением пороговых значений, подробнее в предыдущем посте)
Некоторые уроки
- Изучите атаки, тенденции и ложные негативы. Создайте свои конвейеры данных и функции, чтобы представить, что злоумышленники могут попробовать дальше, а также варианты того, что вы видели.
- Используйте экспертов-людей для создания эвристики! Эвристические функции могут быть одними из самых важных входных данных в модель, даже если они недостаточно точны, чтобы быть отдельными правилами.
- Создайте портфель моделей обнаружения, эвристики и сигнатур. В стеке обнаружения никогда не может быть слишком много избыточности.
- Убедитесь, что каждая подмодель хорошо представляет свою подзадачу, прежде чем пытаться объединить их в более крупную сеть, иначе вы никогда не добьетесь успеха.
- Всегда базируйте и повторяйте: например, при построении текстовой модели начинайте с простого и добавляйте сложность только тогда, когда вы можете показать, что это лучше: (1) попробуйте эвристические фразы (2) попробуйте набор слов (3) попробуйте стандартные вложения, такие как fasttext (4 ) попробуйте точно настроить ваши вложения (5) попробуйте современные методы, такие как BERT
Собираем все вместе
Чтобы вся эта система обнаружения работала успешно, мы должны обрабатывать терабайты данных в день - все входящие электронные письма и другие сигналы, которые мы имеем для организации - и поддерживать сложные агрегированные хранилища функций, чтобы отслеживать шаблоны взаимодействия в реальном времени. В сети мы должны обрабатывать каждое входящее электронное письмо с малой задержкой, извлекать и объединять данные, возможно, даже сканировать ссылки и обрабатывать вложения, применять модели NLP и применять функции. Затем мы должны передать данные через модели классификации и объединить результаты всех моделей для окончательного решения о том, является ли электронное письмо вредоносным. Все это необходимо делать с задержкой менее секунды и поддерживать чрезвычайно низкую частоту ложных срабатываний. Это сложная инженерная проблема и проблема науки о данных.
В компании Abnormal Security мы создали мощную систему обнаружения, которая может предотвратить самый продвинутый целевой фишинг, компрометацию корпоративной электронной почты, боковой фишинг и взлом аккаунта. Но проблема постоянно меняется, поскольку злоумышленники учатся блокировать эти системы, поэтому наша работа никогда не заканчивается.
Некоторые (из многих) серьезных проблем, которые мы постоянно улучшаем
- Как мы можем лучше выявлять мошенничество со счетами-фактурами? Для этого мы должны глубоко понимать естественный язык и изображения в счете-фактуре, чтобы идентифицировать аномальные шаблоны.
- Как мы можем более точно определять фишинговые сайты? Чтобы система искусственного интеллекта могла понять содержимое страницы, мы должны отобразить эту страницу и использовать компьютерное зрение и NLP для выявления злонамеренного намерения.
- Как мы можем лучше идентифицировать случаи захвата аккаунтов? Это сложная проблема обнаружения аномалий с огромными объемами данных. Что представляет собой необычное поведение при использовании и электронные письма от взломанной учетной записи?
Благодарности
Вся эта работа в Abnormal была бы невозможна без замечательной команды, особенно тех, кто тесно работал над созданием этой системы обнаружения с нуля: Дмитрий Чечик, Кевин Лау, Санни Ляо, Ю Чжоу Ли, Абхиджит Багри, Карлос Гаспери, Джеймс. Ага, Санджай Джеякумар и остальная часть команды.
И да, мы нанимаем! Abnormalsecurity.com/careers
