Машинное обучение и безопасность: защита систем с помощью данных и алгоритмов
Покупка
Издательство:
ДМК Пресс
Год издания: 2020
Кол-во страниц: 388
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-97060-713-8
Артикул: 795143.01.99
Доступ онлайн
В корзину
Способна ли технология машинного обучения решить проблемы компьютерной безопасности? Или надежда на это является лишь следствием повышенного внимания
к машинному обучению?
С помощью этой книги вы изучите способы применения машинного обучения в задачах обеспечения безопасности, таких как выявление вторжения извне, классификация
вредоносных программ и анализ сетевой среды. Особое внимание уделено задачам по созданию работоспособных, надежных масштабируемых систем извлечения и анализа данных в сфере обеспечения безопасности.
Издание предназначено инженерам по обеспечению безопасности, а также специалистам по обработке данных научными методами.
- Полная коллекция по информатике и вычислительной технике
- DevOps
- Защита информации. Компьютерная безопасность
- Интермедиатор. Информационная безопасность (сводная)
- Интермедиатор. Информационные системы и технологии (сводная)
- Интермедиатор. ИТ-технологии для профессионалов (сводная)
- Интермедиатор. Обеспечение безопасности (сводная)
- Искусственный интеллект и машинное обучение
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
- 10.03.01: Информационная безопасность
- ВО - Специалитет
- 10.05.01: Компьютерная безопасность
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов.
Для полноценной работы с документом, пожалуйста, перейдите в
ридер.
Кларенс Чио, Дэвид Фримэн Машинное обучение и безопасность
Clarence Chio and David Freeman Machine Learning and Security Protecting Systems with Data and Algorithms Beijing • Boston • Farnham • Sebastopol • Tokyo
Кларенс Чио, Дэвид Фримэн Машинное обучение и безопасность Защита систем с помощью данных и алгоритмов Москва, 2020
УДК 004.89, 004.492 ББК 32.972 Ч58 Чио К., Фримэн Д. Ч58 Машинное обучение и безопасность / пер. с анг. А. В. Снастина. – М.: ДМК Пресс, 2020. – 388 с.: ил. ISBN 978-5-97060-713-8 Способна ли технология машинного обучения решить проблемы компьютерной безопасности? Или надежда на это является лишь следствием повышенного внимания к машинному обучению? С помощью этой книги вы изучите способы применения машинного обучения в задачах обеспечения безопасности, таких как выявление вторжения извне, классификация вредоносных программ и анализ сетевой среды. Особое внимание уделено задачам по созданию работоспособных, надежных масштабируемых систем извлечения и анализа данных в сфере обеспечения безопасности. Издание предназначено инженерам по обеспечению безопасности, а также специалистам по обработке данных научными методами. УДК 004.89, 004.492 ББК 32.972 Original English language edition published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. Copyright © 2018 Clarence Chio and David Freeman. Russianlanguage edition copyright © 2020 by DMK Press. All rights reserved. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения вла- дельцев авторских прав. ISBN 9781491979907 (анг.) Copyright © 2018 Clarence Chio and David Freeman ISBN 9785970607138 (рус.) © Оформление, издание, перевод, ДМК Пресс, 2020
Отзывы Будущие меры по обеспечению безопасности и защиты должны определяться способностью защищающихся развертывать средства машинного обучения для быстрого обнаружения и прекращения деятельности злоумышленников в интер- нете в любых масштабах. Чио и Фримэн написали по этой теме исчерпывающе полную книгу, включающую самые последние достижения научной мысли, а так- же трудные для изучения практические методики развертывания средств машин- ного обучения с целью обеспечения защиты людей в этой сфере деятельности. – Алекс Стамос, руководитель службы безопасности Facebook Превосходное практическое руководство для всех, кто намерен освоить использо- вание технологии машинного обучения для обеспечения безопасности компью- терных систем, от выявления аномалий до защиты конечных пользователей. – Дэн Боне, профессор ИТ, Стэнфордский университет Если вы хотите знать, какое место занимает машинное обучение в области обеспечения безопасности, то книга Чио и Фримэна даст вам четкое представление об этом. – Нвокеди С. Идика, доктор наук, инженер ПО, Google, Security & Privacy Organization
Содержание Отзывы .....................................................................................................................5 Предисловие .......................................................................................................11 Благодарности ....................................................................................................15 Глава 1. Машинное обучение и безопасность ..................................16 Общий обзор потенциальных киберугроз ...............................................................18 Экономическая подоплека кибератак .....................................................................21 Рынок услуг взломщиков ......................................................................................22 Косвенная монетизация ........................................................................................22 Подведем итоги .....................................................................................................23 Что такое машинное обучение .................................................................................24 Чем не является машинное обучение ..................................................................25 Другие варианты использования машинного обучения ....................................27 Практические варианты использования машинного обучения для обеспечения безопасности .................................................................................27 Борьба со спамом: итеративный подход .................................................................30 Ограничения машинного обучения в сфере безопасности ....................................40 Глава 2. Классификация и кластеризация ..........................................42 Машинное обучение: задачи и методики ................................................................42 Машинное обучение на практике: работающий пример .......................................45 Тренировка алгоритмов машинного обучения .......................................................50 Семейства моделей ................................................................................................50 Функция потерь .....................................................................................................53 Оптимизация .........................................................................................................54 Алгоритмы классификации с учителем ...................................................................57 Логистическая регрессия ......................................................................................57 Деревья решений ...................................................................................................59 Леса деревьев решений .........................................................................................63 Метод опорных векторов ......................................................................................65 Наивный байесовский классификатор ................................................................67 Метод k ближайших соседей .................................................................................70 Нейронные сети .....................................................................................................71 Практические аспекты классификации ...................................................................73 Выбор семейства моделей.....................................................................................73 Формирование процесса тренировки данных ....................................................74
Содержание 7 Выбор признаков ...................................................................................................78 Переподгонка и недоподгонка .............................................................................79 Выбор пороговых значений и сравнение моделей .............................................81 Кластеризация ...........................................................................................................82 Алгоритмы кластеризации ...................................................................................83 Оценка результатов кластеризации .....................................................................93 Резюме ........................................................................................................................95 Глава 3. Выявление аномалий ...................................................................97 Когда следует использовать методы выявления аномалий вместо обучения с учителем ..................................................................................................................98 Выявление вторжений с эвристиками .....................................................................99 Методы, управляемые данными ........................................................................101 Конструирование признаков для выявления аномалий.......................................104 Выявление вторжения на хост ............................................................................104 Выявление вторжения в сеть ..............................................................................107 Выявление вторжений в вебприложение .........................................................111 Краткие итоги ......................................................................................................112 Выявление аномалий с помощью данных и алгоритмов .....................................113 Прогнозирование (машинное обучение с учителем) .......................................114 Статистические метрики ....................................................................................125 Точность аппроксимации (качество подгонки) ................................................126 Алгоритмы машинного обучения без учителя ..................................................132 Методы, основанные на плотности ....................................................................136 Краткие итоги ......................................................................................................138 Трудности применения машинного обучения для выявления аномалий ..........139 Ответная реакция и ослабление воздействия .......................................................140 Практические аспекты проектирования систем ...................................................142 Оптимизация объяснимости ..............................................................................142 Удобство сопровождения систем выявления аномалий...................................143 Внедрение обратной связи с человеком ............................................................144 Снижение воздействий состязательности .........................................................144 Резюме ......................................................................................................................144 Глава 4. Анализ вредоносного программного обеспечения .....145 Что такое вредоносное программное обеспечение ..............................................146 Классификация вредоносного программного обеспечения ............................148 Вредоносное программное обучение: что скрывается внутри ........................152 Генерация признаков ..............................................................................................166 Сбор данных .........................................................................................................167 Генерация признаков ..........................................................................................169 Выбор признаков .................................................................................................193 От признаков к классификации .............................................................................197 Как получить образцы и метки вредоносного программного обеспечения .....200 Резюме ......................................................................................................................201
Содержание Глава 5. Анализ сетевого трафика .........................................................202 Теория защиты сетей ...............................................................................................204 Управление доступом и аутентификация..........................................................204 Выявление вторжений ........................................................................................205 Обнаружение атакующих внутри сети ...............................................................205 Защита, основанная на обработке данных ........................................................206 Приманка для злоумышленников ......................................................................207 Резюме ..................................................................................................................207 Машинное обучение и обеспечение безопасности сети ......................................207 От перехваченных данных к признакам ...........................................................208 Угрозы в сетевой среде ........................................................................................213 Ботнет и защита от него ......................................................................................218 Создание модели прогнозирования для классификации сетевых атак ..............224 Исследование данных .........................................................................................226 Подготовка данных .............................................................................................230 Классификация ....................................................................................................235 Обучение с учителем ...........................................................................................237 Обучение с частичным привлечением учителя ................................................243 Обучение без учителя ..........................................................................................244 Расширенное ансамблирование .........................................................................249 Резюме ......................................................................................................................254 Глава 6. Защита потребительской веб-среды.................................255 Монетизация в потребительской вебсреде ..........................................................256 Типы мошенничества и данные, которые могут защитить ..................................257 Аутентификация и перехват учетной записи ....................................................257 Создание учетной записи ...................................................................................264 Финансовое мошенничество ..............................................................................269 Деятельность ботов .............................................................................................272 Обучение с учителем для решения задач по выявлению нарушений .................277 Метки для данных ...............................................................................................278 Холодный запуск и горячий запуск ....................................................................279 Ложноположительные и ложноотрицательные результаты ............................280 Несколько вариантов ответной реакции ...........................................................281 Крупномасштабные атаки ..................................................................................281 Кластеризация нарушений .....................................................................................282 Пример: кластеризация доменов спама ............................................................283 Генерация кластеров ...........................................................................................284 Оценка кластеров ................................................................................................289 Дальнейшие направления кластеризации ............................................................294 Резюме ......................................................................................................................295 Глава 7. Производственные системы ...................................................296 Определение зрелости и масштабируемости систем машинного обучения ......296
Содержание 9 Важные аспекты систем машинного обучения для обеспечения безопасности ........................................................................................................297 Качество данных ......................................................................................................298 Проблема: необъективность данных .................................................................298 Проблема: неточность меток ..............................................................................300 Решения: качество данных .................................................................................300 Проблема: отсутствующие (потерянные) данные .............................................302 Решения: отсутствующие (потерянные) данные ..............................................302 Качество модели ......................................................................................................305 Проблема: оптимизация гиперпараметров ......................................................306 Решения: оптимизация гиперпараметров ........................................................307 Дополнительные функции: циклы обратной связи, A/Bтестирование моделей ................................................................................................................311 Воспроизводимые и объяснимые результаты ...................................................315 Эффективность ........................................................................................................319 Цель: минимальные задержки, высокая масштабируемость ...........................319 Оптимизация эффективности ............................................................................320 Горизонтальное масштабирование с помощью распределенных вычислительных программных сред .................................................................323 Использование облачных сервисов ....................................................................328 Удобство сопровождения ........................................................................................330 Проблема: проверка контрольных точек, управление версиями и развертывание моделей ...................................................................................331 Цель: амортизация отказов ................................................................................332 Цель: легкость настройки и конфигурации .......................................................333 Мониторинг и система оповещения ......................................................................333 Безопасность и надежность ....................................................................................335 Функция: устойчивость и надежность работы во враждебных средах ............335 Функция: защита и гарантии секретности данных ..........................................336 Обратная связь и удобство использования ...........................................................337 Резюме ......................................................................................................................338 Глава 8. Состязательное машинное обучение ................................339 Терминология ..........................................................................................................340 Важность состязательного машинного обучения .................................................341 Опасные уязвимости в алгоритмах машинного обучения ...................................342 Мобильность атак ................................................................................................345 Методика атак: заражение модели ........................................................................346 Пример: заражающая атака на бинарный классификатор...............................349 Знания атакующего .............................................................................................355 Защита от заражающих атак ...............................................................................356 Методика атаки: искажающая атака ......................................................................358 Пример: искажающая атака на бинарный классификатор ..............................359 Защита от искажающих атак ..............................................................................364 Резюме ......................................................................................................................365
Содержание Приложение А. Дополнительный материал к главе 2 ...............367 Подробнее о метриках ............................................................................................367 Размер моделей логистической регрессии ............................................................368 Реализация функции стоимости для метода логистической регрессии .............368 Минимизация функции стоимости ........................................................................369 Приложение Б. Разведка на основе открытых источников .........................................................................................................374 Материалы разведки для обеспечения безопасности ..........................................374 Геолокация ...............................................................................................................376 Предметный указатель ................................................................................377
Предисловие Машинное обучение завоевывает мир. Коммуникации и связь, финансовая сфе- ра, транспорт, производство товаров и даже сельское хозяйство1 – практически каждая отрасль технологии изменилась под влиянием машинного обучения или изменится в ближайшем будущем. Обеспечение компьютерной безопасности также является важнейшей пробле- мой для всего мира. Поскольку мы становимся все более зависимыми от компью- теров в работе, развлечениях и вообще в обычной жизни, в равных пропорциях возрастает и значимость наличия брешей и лазеек в компьютерных системах, привлекающих нездоровое внимание постоянно увеличивающегося круга атаку- ющих злоумышленников, которые надеются такими способами получить деньги или просто причинить ущерб. Более того, поскольку системы становятся все более сложными и взаимосвязанными, все труднее обеспечить отсутствие в них ошибок и непредвиденных лазеек, которые открывают доступ атакующим. Уже после сда- чи книги в печать мы узнали о том, что в настоящее время слишком много микро- процессоров (если не каждый) используется без надлежащей защиты2. Машинное обучение предлагает (потенциальные) решения в любой области деятельности, поэтому вполне естественно, что эта технология применима и для компьютерной безопасности, т. е. для области, которая по своей сути является ис- точником полезных и надежных наборов данных, на основе которых, собственно, и развивается технология машинного обучения. В самом деле, во всех сообщени- ях об угрозах для безопасности, которые появляются в новостях, обнаруживается аналогичное количество заявлений о том, что искусственный интеллект может «совершить революцию» в области методик обеспечения безопасности. Надеж- ды на полное уничтожение наиболее значимых преимуществ атакующих злоумышленников привели к тому, что машинное обучение было широко разрекла- мировано как технология, которая позволит наконец завершить длительную игру в кошкимышки между атакующими и защищающимися. При посещении экспо- зиционных залов самых крупных конференций по безопасности обнаруживается следующая тенденция: все большее количество компаний начинает использовать машинное обучение для решения проблем безопасности. Быстро растущая заинтересованность в объединении этих двух областей по- рождает еще и атмосферу цинизма, в которой отвергается сама идея объедине- ния – считается, что вокруг нее создан нездоровый ажиотаж. Как найти разум- ный баланс? Каков реальный потенциал применения методов искусственного интеллекта в сфере обеспечения безопасности? Как отличить рекламную шумиху от действительно многообещающих технологий? Что должен взять на вооруже- ние конкретный пользователь для решения своих проблем безопасности? Мы ре- 1 Monsanto. How Machine Learning is Changing Modern Agriculture. Modern Agriculture. Sep- tember 13, 2017. https://modernag.org/innovation/machine-learning-changing-modern-agricul- ture/. 2 Meltdown and Spectre. Graz University of Technology, accessed January 23, 2018. https://spec- treattack.com/.
Предисловие шили, что наилучшим вариантом ответов на все эти вопросы является глубокое изучение научных основ и методик, понимание главных концепций, огромный объем практического тестирования и экспериментирования, чтобы полученные результаты говорили сами за себя. Но все это требует большого объема актуальных знаний как в области датологии (науки о данных), так и в области обеспечения компьютерной безопасности. В процессе нашей работы по созданию систем безопасности, руководства группами, противодействующими злоупотреблениям, а также при участии в конференциях мы встретили некоторых людей, которые обладают таким объемом знаний. Кроме того, многие хорошо знают одну из этих областей и намерены изучать другую. В результате появилась на свет данная книга. О чем эта книга Эта книга была написана, чтобы предоставить рабочую платформу для обсуждения неизбежного объединения двух широко распространенных концепций: машинного обучения и безопасности. Существует некоторое количество литературы, объединяющей эти две темы (а также многочисленные рабочие группы и семи- нары конференций: CCS AISec (http://ai-sec.net), AAAI AICS (http://www-personal. umich.edu/~arunesh/AICS2018/), NIPS Machine Deception (https://www.machinedecep- tion.com/)), но большинство опубликованных работ является научными или тео- ретическими. Нам не удалось найти ни одного руководства, в котором были бы представлены конкретные работающие примеры с исходным кодом, способные помочь специалистам по обеспечению безопасности освоить науку о данных, а специалистам по машинному обучению в полной мере овладеть современными методиками решения задач обеспечения безопасности. Исследуя широкий спектр тем в области обеспечения безопасности, мы пред- ставили примеры возможного практического применения технологии машин- ного обучения для улучшения или замены основанных на правилах или эвристических решениях таких задач, как обнаружение вторжения, классификация вредоносных программ и анализ сетевой среды. В дополнение к изучению основ- ных алгоритмов и методик машинного обучения особое внимание мы уделили трудным задачам по созданию работоспособных, надежных, масштабируемых систем извлечения и анализа данных в сфере обеспечения безопасности. С помощью реально работающих примеров и подробных обсуждений с разъяснения- ми мы демонстрируем, как воспринимать и интерпретировать данные в конкури- рующей среде и как обнаружить и выделить важные сигналы, которые могут быть незаметными в общем «шумовом» фоне. Для кОгО преДназначена эта книга Если вы работаете в сфере обеспечения безопасности и намерены использовать машинное обучение для усовершенствования контролируемых вами систем, то эта книга для вас. Если вы специалист по машинному обучению и намерены ис- пользовать эту технологию для решения задач по обеспечению безопасности, то эта книга будет полезной и для вас.
Отзывы и пожелания 13 Предполагается, что читатель обладает основами знаний о математической статистике, но большинство более сложных математических выкладок при пер- вом чтении можно пропустить без ущерба для понимания концепций и принци- пов. Кроме того, предполагается знание какоголибо языка программирования. Примеры в книге написаны на языке программирования Python, также приво- дятся ссылки на пакеты Python, необходимые для реализации рассматриваемых концепций, но вы можете самостоятельно реализовать эти концепции, используя библиотеки с открытым исходным кодом на языках Java, Scala, C++, Ruby и многих других языках программирования. УслОвные ОбОзначения и сОглашения, принятые в книге В книге используются следующие типографские соглашения. Курсив используется для смыслового выделения важных положений, новых терминов, URLадресов и адресов электронной почты в интернете, имен команд и утилит, а также имен и расширений файлов и каталогов. Моноширинный шрифт используется для листингов программ, а также в обычном тек- сте для обозначения имен переменных, функций, типов, объектов, баз данных, переменных среды, операторов, ключевых слов и других программных конструк- ций и элементов исходного кода. Также применяется для команд, выполняемых в командной строке, и для вывода результатов их выполнения. Моноширинный полужирный шрифт используется для обозначения команд или фрагмен- тов текста, которые пользователь должен ввести дословно без изменений. Также применяется для выделения важных фрагментов в выводимых результатах. Моноширинный курсив используется для обозначения в исходном коде или в коман- дах шаблонных метокзаполнителей, которые должны быть заменены соответ- ствующими контексту реальными значениями. Эта пиктограмма обозначает совет, рекомендацию или примечание общего характера. Эта пиктограмма обозначает предупреждение или особое внимание к потенциально опас- ным объектам. Отзывы и пОжелания Мы всегда рады отзывам наших читателей. Расскажите нам, что вы думаете об этой книге – что понравилось или, может быть, не понравилось. Отзывы важны для нас, чтобы выпускать книги, которые будут для вас максимально полезны. Вы можете написать отзыв прямо на нашем сайте www.dmkpress.com, зайдя на страницу книги, и оставить комментарий в разделе «Отзывы и рецензии». Также можно послать письмо главному редактору по адресу dmkpress@gmail.com, при этом напишите название книги в теме письма. Если есть тема, в которой вы квалифицированы, и вы заинтересованы в напи- сании новой книги, заполните форму на нашем сайте по адресу http://dmkpress. com/authors/publish_book/ или напишите в издательство по адресу dmkpress@ gmail.com.
Предисловие скачивание исхОДнОгО кОДа примерОв Скачать файлы с дополнительной информацией для книг издательства «ДМК Пресс» можно на сайте www.dmkpress.com или www.дмк.рф на странице с описа- нием соответствующей книги. списОк ОпечатОк Хотя мы приняли все возможные меры для того, чтобы удостовериться в качестве наших текстов, ошибки все равно случаются. Если вы найдете ошибку в одной из наших книг — возможно, ошибку в тексте или в коде, — мы будем очень благо- дарны, если вы сообщите нам о ней. Сделав это, вы избавите других читателей от расстройств и поможете нам улучшить последующие версии этой книги. Если вы найдете какиелибо ошибки в коде, пожалуйста, сообщите о них глав- ному редактору по адресу dmkpress@gmail.com, и мы исправим это в следующих тиражах. нарУшение автОрских прав Пиратство в интернете попрежнему остается насущной проблемой. Издатель- ства «ДМК Пресс» и O’Reilly очень серьезно относятся к вопросам защиты автор- ских прав и лицензирования. Если вы столкнетесь в интернете с незаконно вы- полненной копией любой нашей книги, пожалуйста, сообщите нам адрес копии или вебсайта, чтобы мы могли применить санкции. Пожалуйста, свяжитесь с нами по адресу электронной почты dmkpress@gmail. com со ссылкой на подозрительные материалы. Мы высоко ценим любую помощь по защите наших авторов, помогающую нам предоставлять вам качественные материалы.
Благодарности Авторы благодарят Хайрама Андерсона (Hyrum Anderson), Джейсона Крэйга (Jason Craig), Нвокеди Идика (Nwokedi Idika), Джесса Мэйлза (Jess Males), Энди Орэма (Andy Oram), Алекса Пинто (Alex Pinto) и Джошуа Сакса (Joshua Saxe) за подроб- ные технические рецензии и отзывы на предварительные черновые версии этой книги. Мы также благодарим Вирджинию Уилсон (Virginia Wilson), Кристен Браун (Kristen Brown) и весь коллектив издательства O’Reilly, оказавший помощь в про- цессе превращения нашего проекта из концепции в реальность. Кларенс благодарен Кристине Чжоу (Christina Zhou) за понимание и терпение в течение всех бесконечных ночей и выходных, которые были посвящены напи- санию этой книги, Ик Лун Ли (Yik Lun Lee) за корректуру черновых версий и об- наружение ошибок в коде, Джерроду Оверсону (Jarrod Overson), который заставил поверить в то, что я смогу сделать это, а также чихуахуа Дэйзи, которая всегда была на моей стороне в самые трудные времена. Спасибо Энто Джозефу (Anto Joseph) за обучение науке обеспечения безопасности и всем прочим хакерам, ис- следователям и участникам учебных курсов, которые так или иначе повлияли на создание этой книги, моим коллегам в Shape Security, которые сделали меня бо- лее опытным инженером, а также докладчикам и участникам конференции Data Mining for Cyber Security за то, что они являются частью сообщества, выполняю- щего исследования в этой области. Но самая большая благодарность – моей семье в Сингапуре за поддержку вне зависимости от того, где я нахожусь, за то, что по- зволили осуществиться моим мечтам и поощряли мои стремления. Дэвид благодарен Дипаку Агарвалу (Deepak Agarwal), который убедил его за- няться написанием этой книги, Дэну Боне (Dan Boneh) за обучение образу мыш- ления, свойственному специалисту в сфере обеспечения безопасности, а также Винсенту Сильвиера (Vicente Silveira) и коллегам по LinkedIn и Facebook за то, что показали мне, чем в действительности является безопасность в реальном мире. Спасибо Грейс Тан (Grace Tang) за отзыв о разделах, посвященных машинному обучению, и за «случайного пингвина» (occasional penguin). И самая большая бла- годарность – Торри (Torrey), Илоди (Elodie) и Фебу (Phoebe), которые смирились с моим отсутствием многими поздними вечерами и несколько необычным пове- дением изза необходимости завершения работы над этой книгой. У меня никог- да не было повода для сомнений в их поддержке.
Доступ онлайн
В корзину