КурсоваяТКСС. Курсовая работа_ГрачевИ.И._КТСО-03-17. Курсовая работа по дисциплине Проектирования защищенных телекоммуникационных систем
Скачать 0.88 Mb.
|
Институт искусственного интеллекта Кафедра компьютерной и информационной безопасности
Москва 2021
Институт искусственного интеллекта Кафедра компьютерной и информационной безопасности
СОДЕРЖАНИЕВВЕДЕНИЕ 4 МАШИННОЕ ОБУЧЕНИЕ В СФЕРЕ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ 6 ОСНОВНЫЕ ВИДЫ МАШИННОГО ОБУЧЕНИЯ 8 Машинное обучение с учителем 8 Машинное обучение без учителя 9 ОСНОВНЫЕ АЛГОРИТМЫ МОДЕЛЕЙ МАШИННОГО ОБУЧЕНИЯ 10 ИСПОЛЬЗОВАНИЕ МАШИННОГО ОБУЧЕНИЯ ДЛЯ ОБЕСПЕЧЕНИЯ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ BIG DATA 16 ЗАКЛЮЧЕНИЕ 18 СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 20 ВВЕДЕНИЕБлагодаря машинному обучению программист не обязан писать инструкции, учитывающие все возможные проблемы и содержащие все решения. Вместо этого в компьютер (или отдельную программу) закладывают алгоритм самостоятельного нахождения решений путём комплексного использования статистических данных, из которых выводятся закономерности и на основе которых делаются прогнозы. Технология машинного обучения на основе анализа данных берёт начало в 1950 году, когда начали разрабатывать первые программы для игры в шашки. За прошедшие десятилетий общий принцип не изменился. Зато благодаря взрывному росту вычислительных мощностей компьютеров многократно усложнились закономерности и прогнозы, создаваемые ими, и расширился круг проблем и задач, решаемых с использованием машинного обучения. Чтобы запустить процесс машинного обучения, для начала необходимо загрузить в компьютер Датасет(некоторое количество исходных данных), на которых алгоритм будет учиться обрабатывать запросы. Например, могут быть фотографии собак и котов, на которых уже есть метки, обозначающие к кому они относятся. После процесса обучения, программа уже сама сможет распознавать собак и котов на новых изображениях без содержания меток. Процесс обучения продолжается и после выданных прогнозов, чем больше данных мы проанализировали программой, тем более точно она распознает нужные изображения. Благодаря машинному обучению компьютеры учатся распознавать на фотографиях и рисунках не только лица, но и пейзажи, предметы, текст и цифры. Что касается текста, то и здесь не обойтись без машинного обучения: функция проверки грамматики сейчас присутствует в любом текстовом редакторе и даже в телефонах. Причем учитывается не только написание слов, но и контекст, оттенки смысла и другие тонкие лингвистические аспекты. Более того, уже существует программное обеспечение, способное без участия человека писать новостные статьи (на тему экономики и, к примеру, спорта). Все задачи, решаемые с помощью ML, относятся к одной из следующих категорий: Задача регрессии – прогноз на основе выборки объектов с различными признаками. На выходе должно получиться вещественное число (2, 35, 76.454 и др.), к примеру цена квартиры, стоимость ценной бумаги по прошествии полугода, ожидаемый доход магазина на следующий месяц, качество вина при слепом тестировании. Задача классификации – получение категориального ответа на основе набора признаков. Имеет конечное количество ответов (как правило, в формате «да» или «нет»): есть ли на фотографии кот, является ли изображение человеческим лицом, болен ли пациент раком. Задача кластеризации – распределение данных на группы: разделение всех клиентов мобильного оператора по уровню платёжеспособности, отнесение космических объектов к той или иной категории (планета, звёзда, чёрная дыра и т. п.). Задача уменьшения размерности – сведение большого числа признаков к меньшему (обычно 2–3) для удобства их последующей визуализации (например, сжатие данных). Задача выявления аномалий – отделение аномалий от стандартных случаев. На первый взгляд она совпадает с задачей классификации, но есть одно существенное отличие: аномалии – явление редкое, и обучающих примеров, на которых можно натаскать машинно-обучающуюся модель на выявление таких объектов, либо исчезающе мало, либо просто нет, поэтому методы классификации здесь не работают. На практике такой задачей является, например, выявление мошеннических действий с банковскими картами. МАШИННОЕ ОБУЧЕНИЕ В СФЕРЕ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИТрадиционные методы защиты данных от утечек и вирусных атак уже не справляются с задачами обеспечения информационной безопасности в полной мере. Например, в 2019 году практически каждый месяц персональные данные россиян попадали в открытый доступ. В большинстве случаев это происходило из-за некорректной настройки облачных серверов или недобросовестного поведения отдельных сотрудников крупных банков и телефонных операторов. В 2018 году от утечек информации пострадали ЦРУ, ФБР, министерства обороны США, Великобритании, Международный олимпийский комитет, Народный банк Китая, сеть отелей Marriott, а также пользователи сервисов BitTorrent, GitHub, Skype, Tinder, WhatsApp, YouTube. Чтобы предупредить подобные инциденты в сфере информационной безопасности и снизить ущерб от их возникновения, специалисты в области информационной безопасности подключают машинное обучение к существующему инструментарию. Благодаря успеху в решении задач кластеризации и классификации, машинное обучение отлично справляется с определением аномалий. По этому принципу построены многие методы обеспечения информационной безопасности. В частности, машинное обучение используется в следующих случаях: распознавание фальшивых документов, биометрических данных и прочих идентификаторов; выявление мошеннических операций (антифрод, antifraud), например, когда сценарий использования банковской карты отличается от привычного; обнаружение утечек из-за неправомерных действий привилегированных пользователей, например, администраторов, которые крадут или удаляют важные данные. Алгоритмы Machine Learning позволят соотнести несколько признаков (объем и тип данных, время, протокол, адрес получателя), чтобы отделить плановую выгрузку новой версии базы данных или дистрибутивов для удаленных офисов от кражи информации. Кроме того, машинное обучение успешно используется в разработке антивирусного ПО, позволяя автоматически выявлять новые вредоносные программы на основе ретроспективного анализа уже накопленной базы вирусных сигнатур. Обучившись на большом количестве образцов ML-модель способна обобщать информацию и детектировать будущие угрозы. Еще один полезный вариант использования (use case) машинного обучения в кибербезопасности – это автоматический мониторинг поведения комплексных Big Data систем и корпоративной ИТ-инфраструктуры. Например, в Хоум Кредит Банке специалистам по эксплуатации банковских сервисов машинное обучение помогает своевременно определить аномальную активность отдельных компонентов или пользователей. ОСНОВНЫЕ ВИДЫ МАШИННОГО ОБУЧЕНИЯОсновная масса задач, решаемых при помощи методов машинного обучения, относится к двум разным видам: обучение с учителем (supervised learning) либо без него (unsupervised learning). Однако этим учителем вовсе не обязательно является сам программист, который стоит над компьютером и контролирует каждое действие в программе. «Учитель» в терминах машинного обучения – это само вмешательство человека в процесс обработки информации. В обоих видах обучения машине предоставляются исходные данные, которые ей предстоит проанализировать и найти закономерности. Различие лишь в том, что при обучении с учителем есть ряд гипотез, которые необходимо опровергнуть или подтвердить. Эту разницу легко понять на примерах. Машинное обучение с учителемПредположим, в нашем распоряжении оказались сведения о десяти тысячах московских квартир: площадь, этаж, район, наличие или отсутствие парковки у дома, расстояние от метро, цена квартиры и т. п. Нам необходимо создать модель, предсказывающую рыночную стоимость квартиры по её параметрам. Это идеальный пример машинного обучения с учителем: у нас есть исходные данные (количество квартир и их свойства, которые называются признаками) и готовый ответ по каждой из квартир – её стоимость. Программе предстоит решить задачу регрессии. Ещё пример из практики: подтвердить или опровергнуть наличие рака у пациента, зная все его медицинские показатели. Выяснить, является ли входящее письмо спамом, проанализировав его текст. Это всё задачи на классификацию. Машинное обучение без учителяВ случае обучения без учителя, когда готовых «правильных ответов» системе не предоставлено, всё обстоит ещё интереснее. Например, у нас есть информация о весе и росте какого-то количества людей, и эти данные нужно распределить по трём группам, для каждой из которых предстоит пошить рубашки подходящих размеров. Это задача кластеризации. В этом случае предстоит разделить все данные на 3 кластера (но, как правило, такого строгого и единственно возможного деления нет). Если взять другую ситуацию, когда каждый из объектов в выборке обладает сотней различных признаков, то основной трудностью будет графическое отображение такой выборки. Поэтому количество признаков уменьшают до двух или трёх, и становится возможным визуализировать их на плоскости или в 3D. Это – задача уменьшения размерности. ОСНОВНЫЕ АЛГОРИТМЫ МОДЕЛЕЙ МАШИННОГО ОБУЧЕНИЯОбычно определяют следующие методы машинного обучения: Дерево принятия решений Это метод поддержки принятия решений, основанный на использовании древовидного графа: модели принятия решений, которая учитывает их потенциальные последствия (с расчётом вероятности наступления того или иного события), эффективность, ресурсозатратность. Для бизнес-процессов это дерево складывается из минимального числа вопросов, предполагающих однозначный ответ — «да» или «нет». Последовательно дав ответы на все эти вопросы, мы приходим к правильному выбору. Методологические преимущества дерева принятия решений – в том, что оно структурирует и систематизирует проблему, а итоговое решение принимается на основе логических выводов. Наивная байесовская классификация Наивные байесовские классификаторы относятся к семейству простых вероятностных классификаторов и берут начало из теоремы Байеса, которая применительно к данному случаю рассматривает функции как независимые (это называется строгим, или наивным, предположением). На практике используется в следующих областях машинного обучения: определение спама, приходящего на электронную почту; автоматическая привязка новостных статей к тематическим рубрикам; выявление эмоциональной окраски текста; распознавание лиц и других паттернов на изображениях. Метод наименьших квадратов Всем, кто хоть немного изучал статистику, знакомо понятие линейной регрессии. К вариантам её реализации относятся и наименьшие квадраты. Обычно с помощью линейной регрессии решают задачи по подгонке прямой, которая проходит через множество точек. Вот как это делается с помощью метода наименьших квадратов: провести прямую, измерить расстояние от неё до каждой из точек (точки и линию соединяют вертикальными отрезками), получившуюся сумму перенести наверх. В результате та кривая, в которой сумма расстояний будет наименьшей, и есть искомая (эта линия пройдёт через точки с нормально распределённым отклонением от истинного значения). Линейная функция обычно используется при подборе данных для машинного обучения, а метод наименьших квадратов – для сведения к минимуму погрешностей путем создания метрики ошибок. Логистическая регрессия Логистическая регрессия – это способ определения зависимости между переменными, одна из которых категориально зависима, а другие независимы. Для этого применяется логистическая функция (аккумулятивное логистическое распределение). Практическое значение логистической регрессии заключается в том, что она является мощным статистическим методом предсказания событий, который включает в себя одну или несколько независимых переменных. Это востребовано в следующих ситуациях: кредитный скоринг; замеры успешности проводимых рекламных кампаний; прогноз прибыли с определённого товара; оценка вероятности землетрясения в конкретную дату. Метод опорных векторов (SVM) Это целый набор алгоритмов, необходимых для решения задач на классификацию и регрессионный анализ. Исходя из того что объект, находящийся в N-мерном пространстве, относится к одному из двух классов, метод опорных векторов строит гиперплоскость с мерностью (N – 1), чтобы все объекты оказались в одной из двух групп. На бумаге это можно изобразить так: есть точки двух разных видов, и их можно линейно разделить. Кроме сепарации точек, данный метод генерирует гиперплоскость таким образом, чтобы она была максимально удалена от самой близкой точки каждой группы. SVM и его модификации помогают решать такие сложные задачи машинного обучения, как сплайсинг ДНК, определение пола человека по фотографии, вывод рекламных баннеров на сайты. Метод ансамблей Он базируется на алгоритмах машинного обучения, генерирующих множество классификаторов и разделяющих все объекты из вновь поступающих данных на основе их усреднения или итогов голосования. Изначально метод ансамблей был частным случаем байесовского усреднения, но затем усложнился и оброс дополнительными алгоритмами: бустинг (boosting) – преобразует слабые модели в сильные посредством формирования ансамбля классификаторов (с математической точки зрения это является улучшающим пересечением); бэггинг (bagging) – собирает усложнённые классификаторы, при этом параллельно обучая базовые (улучшающее объединение); корректирование ошибок выходного кодирования. Метод ансамблей – более мощный инструмент по сравнению с отдельно стоящими моделями прогнозирования, поскольку: он сводит к минимуму влияние случайностей, усредняя ошибки каждого базового классификатора; уменьшает дисперсию, поскольку несколько разных моделей, исходящих из разных гипотез, имеют больше шансов прийти к правильному результату, чем одна отдельно взятая; исключает выход за рамки множества: если агрегированная гипотеза оказывается вне множества базовых гипотез, то на этапе формирования комбинированной гипотезы оно расширяется при помощи того или иного способа, и гипотеза уже входит в него. Алгоритмы кластеризации Кластеризация заключается в распределении множества объектов по категориям так, чтобы в каждой категории – кластере – оказались наиболее схожие между собой элементы. Кластеризировать объекты можно по разным алгоритмам. Чаще всего используют следующие: на основе центра тяжести треугольника; на базе подключения; сокращения размерности; плотности (основанные на пространственной кластеризации); вероятностные; машинное обучение, в том числе нейронные сети. Алгоритмы кластеризации используются в биологии (исследование взаимодействия генов в геноме, насчитывающем до нескольких тысяч элементов), социологии (обработка результатов социологических исследований методом Уорда, на выходе дающим кластеры с минимальной дисперсией и примерно одинакового размера) и информационных технологиях. Метод главных компонент (PCA) Метод главных компонент, или PCA, представляет собой статистическую операцию по ортогональному преобразованию, которая имеет своей целью перевод наблюдений за переменными, которые могут быть как-то взаимосвязаны между собой, в набор главных компонент – значений, которые линейно не коррелированы. Практические задачи, в которых применяется PCA, – визуализация и большинство процедур сжатия, упрощения, минимизации данных для того, чтобы облегчить процесс обучения. Однако метод главных компонент не годится для ситуаций, когда исходные данные слабо упорядочены (то есть все компоненты метода характеризуются высокой дисперсией). Так что его применимость определяется тем, насколько хорошо изучена и описана предметная область. Сингулярное разложение В линейной алгебре сингулярное разложение, или SVD, определяется как разложение прямоугольной матрицы, состоящей из комплексных или вещественных чисел. Так, матрицу M размерностью [m*n] можно разложить таким образом, что M = UΣV, где U и V будут унитарными матрицами, а Σ – диагональной. Одним из частных случаев сингулярного разложения является метод главных компонент. Самые первые технологии компьютерного зрения разрабатывались на основе SVD и PCA и работали следующим образом: вначале лица (или другие паттерны, которые предстояло найти) представляли в виде суммы базисных компонент, затем уменьшали их размерность, после чего производили их сопоставление с изображениями из выборки. Современные алгоритмы сингулярного разложения в машинном обучении, конечно, значительно сложнее и изощрённее, чем их предшественники, но суть их в целом нем изменилась. Анализ независимых компонент (ICA) Это один из статистических методов, который выявляет скрытые факторы, оказывающие влияние на случайные величины, сигналы и пр. ICA формирует порождающую модель для баз многофакторных данных. Переменные в модели содержат некоторые скрытые переменные, причем нет никакой информации о правилах их смешивания. Эти скрытые переменные являются независимыми компонентами выборки и считаются негауссовскими сигналами. В отличие от анализа главных компонент, который связан с данным методом, анализ независимых компонент более эффективен, особенно в тех случаях, когда классические подходы оказываются бессильны. Он обнаруживает скрытые причины явлений и благодаря этому нашёл широкое применение в самых различных областях – от астрономии и медицины до распознавания речи, автоматического тестирования и анализа динамики финансовых показателей. ИСПОЛЬЗОВАНИЕ МАШИННОГО ОБУЧЕНИЯ ДЛЯ ОБЕСПЕЧЕНИЯ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ BIG DATAСчитается, что сегодня именно банки, в первую очередь, являются наиболее крупными пользователями и драйверами развития технологий больших данных (Big Data) и машинного обучения в области кибербезопасности. Например, здесь мы писали, как Machine Learning помогает ИТ-специалистам Хоум Кредит Банка вести мониторинг эксплуатации банковских систем и своевременно определять аномальную активность отдельных компонентов или пользователей. Методы Machine Learning (ML) также активно применяются другими высокотехнологичными компаниями при разработке специального ПО. В частности, интересна история создания безопасной СУБД Sqrrl, графической NoSQL-базы на базе Apache Accumulo. Эта платформа для поиска киберугроз использует машинное обучение, чтобы наглядно отобразить уязвимые точки компьютерных сетей. В январе 2018 года корпорация Amazon приобрела Sqrrl для своего облачного бизнеса Amazon Web Services. Компания Demisto, продвигающая подход SOAR (Security Orchestration, Automation and Response) к кибербезопасности, применяет ML-алгоритмы в визуальной панели мониторинга своей платформы, чтобы приоретизировать сообщения о возможных угрозах. Также стоит отметить опыт отечественной ИТ-компании «Лаборатория Касперского», которая активно встраивает модели машинного обучения в свои антивирусные продукты. Чтобы снизить количество ложных срабатываний, улучшить интерпретируемость результатов и повысить устойчивость ПО к действиям потенциального злоумышленника, Лаборатория Касперского использует решающие деревья, локально-устойчивые свёртки, поведенческие модели и ML-алгоритмы кластеризации. Подобным образом, корпорация Microsoft создала собственную cybersecurity систему Windows Advanced Threat Protection для превентивной защиты, обнаружения нарушений, автоматического расследования и реагирования на угрозы. Этот продукт интегрирован во все устройства на базе Windows 10 и активно используется вместе с облачными сервисами компании. Также встроенная в Windows Defender ML-система проводит поведенческий анализ множества данных каждый день, чтобы предупредить возможную атаку. К примеру, при установке вредоносной криптомайнера в браузер на уровне отдельного пользователя Windows, система распознает и блокирует эту угрозу всего за несколько миллисекунд. Аналогичная угроза на уровне предприятия будет отражена за пару секунд благодаря эффективному использованию методов Machine Learning. ЗАКЛЮЧЕНИЕНесмотря на оптимистичные прогнозы о том, что уже скоро Machine Learning заменит всех живых специалистов по информационной безопасности своими автоматическими алгоритмами, в реальности говорить об этом еще рано. Полному отказу от прежних методов кибербезопасности в пользу машинного обучения препятствуют следующие причины нейросетевые модели ведут себя как «черный ящик», «вещь в себе», которая не объясняет, почему из таких входных данных получился именно этот результат. Такое отсутствие непосредственной обратной связи в когнитивном плане не позволяет полностью отказаться от человеческого контроля в таких важных сферах, как информационная безопасность, по аналогии с наличием ручного управления самолетом даже при наличии очень умного автопилота. отсутствие достаточного для корректного обучения ML-моделей количества датасетов по всем направлениям киберугроз, от компьютерных вирусов до приемов социальной инженерии; возможность специфических атак на ML-алгоритмы и используемые датасеты, что может привести к неверным решениям, пропущенным атакам или ложным срабатываниям; злоумышленники тоже используют алгоритмы Machine Learning для создания вредоносных программ, анализа пользовательского поведения, разработки ботов-сборщиков персональных данных, поиска уязвимостей, подбора паролей, подмены личности, обхода систем защиты и пр. Также стоит отметить некоторый конфликт между требованиями генерального регламента о защите персональных данных граждан и резидентов Евросоюза (GDPR, General Data Protection Regulation) и использовании этой информации в ML-моделях кибербезопасности. В частности, GDPR предполагает наличие у пользователя возможности «быть забытым», если он не дает согласия на сбор своих персональных данных или решил его отозвать. Это требование может нарушаться, если какая-то ML-модель автоматически анализирует поведение пользователя (cookies, данные об устройстве, браузере и т.д.) для предупреждения угроз, явно не сообщая об этом клиенту. Таким образом, пока машинное обучение не может заменить ранее существовавшие методы кибербезопасности, но уже значительно дополняет и расширяет их. В частности, ML-модели повышают точность сигнатурного анализа, который быстро обрабатывает запросы и не требует длительного периода обучения. Таким образом, можно использовать сигнатурный анализ для выявления запросов с явными признаками атаки, а машинное обучение – для анализа остальных запросов. В результате такого сочетания разных методов достигается высокая скорость работы антивирусного ПО с минимальным количеством ложных срабатываний и пропусков атак. СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ1. Введение в машинное обучение – [электронный ресурс] – URL: https://habr.com/ru/post/448892/ (дата обращения: 15.12.2021) 2. Как машинное обучение защищает большие данные – [электронный ресурс] – URL: https://www.bigdataschool.ru/blog/machine-learning-in-cybersecurity.html (дата обращения: 16.12.2021) 3. 5 причин, почему машинное обучение не заменит другие методы cybersecurity и реальные примеры эффективного использования ml для защиты данных – [электронный ресурс] – URL: https://www.bigdataschool.ru/blog/ml-cybersecurity-use-cases-and-perspectives.html (дата обращения: 16.12.2021) |