
Привет меня зовут Адамов Александр я основатель и руководитель научной лаборатории также я читаю курсы по кибербезопасности в Харьковском национальном университете Радиоэлектроники и шведском И сегодня я хотел бы поговорить про автономную атаку и защиту Давайте одем я буду подразумевать под автономной атакой и защитой автономность имеется в виду что система может принимать решение без участия человека то есть например детектировать кибератаку и принимать решения о её блокировании то есть в данном случае нам человеку нет необходимости вмешиваться процесс детектирования и реагирования на кибератаку и дан система может реализовать полный цикл реагирования на инцидент А какие же предпосылки существуют для введения автономных систем в защите Ну в том числе в атаке для тестирования систем и сервисов Первое - это большое количество данных
которые необходимо собирать и обрабатывать для того чтобы обнаруживать обнаружить там атаку То есть это телеметрия которая собирается обы спотов а с этой целью используют такие решения как cm Security Information Advance Management или soar Security Operation automated respon А эти системы современные версии данных систем обладают а искусственным интеллектом и они А в состоянии реагировать на инциденты обнаруживать их и реагировать а в частности soar система в названии этой системы есть automated response а в cm есть так называемая класс решений Next Generation cm То есть это новое поколение C систем которые а не только анализируют а логи собираемые с а узлов сети но и могут также а анализировать их определять атаку и а блокировать запускать скрипты которые будут например изолировать а заражённый
узел а предпосылка номер два это необходима защиты в режиме реального времени вы нано часто слышали что хакеры планируют свои атаки либо в ночное время когда большинство сотрудников находится вне офиса и не имеют доступа к системам управления защитой или на празднике или перед праздниками для того чтобы иметь в запасе большое количество времени в течение которого они могут проводить разведку второй стадии устанавливать выносные программы распространять их в сети и так далее для этого требуется некоторое время и здесь как раз и мы сталкиваемся с противостоянием а атакующей стороны и защищающей предпосылка номер три - это а отсутствие специалистов точнее специалисты есть но их не хватает для того чтобы покрыть все необходимые потребности в различных отраслях промышленности и поэтому использование автоно систем с
искуственным интеллектом автономных систем которые позволяют хотя бы частично заменить труд сети аналитика сети инженера се копса это является также одной из предпосылок Для внедрения данных систем предпосылка номер четыре - это отсутствие финансирования То есть даже при том что у нас существует решение с автономными модулями на инциденты эти решения достаточно дорогие их покупка их поддерживание Поэтому А так как мы знаем что в ряде в ряде организаций финансирования кибербезопасности осуществляется по остаточному принципу то эти системы обычно не закупаются А из интересных ивентов связанных с автономным автономными атакам и защитой Я бы отметил cber Grand Challenge который был организован дапа в 2016 году изначально в данном контесте это по сути ctf для автономных систем участвовало более 100 команд в финал
который состоялся 4 августа 2016 года дошло сем команд ихняя задача была создать автономную систему которая бы атаковала команды и с другой стороны определяла бы атаки со стороны своих врагов вы видите на экране картинка которая была собственно в отеле в лас-вегасе эти ихние системы были развернуты в виде Таких вот шкафов и на на время соревнования между командами команды не имели возможности управлять этими системами то есть системы были полностью в работали полностью ВТО режиме атаковали и защищали целью Атак данных систем являлось поиск уязвимостей в программном коде и их эксплуатация также интересным моментом а является призовой фонд например за первое место а призовой фонд был 2 млн долларов за второе место 1 млн долларов и третье место 750 сся
долларов что говорит об актуальности данной задачи и необходимости разработки данных систем А ещё один интересный который я нашёл это работа Джона Шварца из университета квинлен в Австралии которая была посвящена автономным автономному пентест с использованием for Learning это обучение с подкреплением это один из классов а алгоритмов машинного обучения который используется например в создании автономных агентов в компьютерных играх в данном случае автор взял а рассмотрел такую вот небольшую сеть организации Он создал её модель задача Агента была проникнуть в данную организа использу уязвимости которые он мог бы найти на компьютерах и украсть консольные данные вы видите что на узлах 2 и 5 находятся данные конные данные которые на которые был нацелен Агент и если Агенту удай эти данные украсть их из
это так называемый то есть выигрыш ещё одна новость - это публикация в октябре этого года организации ма неформально оно расшифровывается как mit research anding содружестве с макросом и е о компаниями они создали а M matx то есть Матрица угроз для атакующего мля для атакующих моделей машинного обучения эту модель можно сейчас посмотреть на гитхабе она выложена так сказать в черновом варианте а видите оранжевым выделены техники которые относятся непосредственно к технология машинного обучения и Сем - это техники общего назначения которые используется и в других атаках не связанных с Элем А здесь мы видим в отличие от Enterprise [музыка] матрицы здесь у нас семь тактик в Прай матрице у нас 13 тактик и в частности вот есть тактика которая которой нет в
моделях Enterprise или ics это модель evion То есть как а злоумышленники как хакеры пытаются обойти модели машино обучения которые отвечают за детектирование кибератак в частности один из вариантов - это Например модель poisoning или Data poisoning то есть отравление входных данных отравление моделей то есть скармливание этим моделям Таких данных чтобы модель перестала функционировать и выявлять аномалии в нормальном режиме рекомендую к анализу и собственно это скажем так Подсказка для того В каком направлении можно двигаться в исследованиях машинного обучения моделях машинного обучения в кибербезопасности ещё один интересный а момент с моей точки зрения - это использование АС симуляции Атак в частности тот же май а запустил проект Attack evation а то есть первые публикации отчёты были тоже в начале
2020 года идея состоит в том чтобы брать известные thre actors то есть известные криминальные группы и моделировать атаки с использованием тактик и техник которые использовали данные группы Не не обязательно в одной атаке можно собственно использовать тактики и техники комбинацию тактики и техник использованных в различных атаках но свойственны этой
кибергения насколько эффективен данный продукт в скажем так в выявлении кибератаки и здесь мы видим несколько типов данных которые собирал продукт это информация от выявления выявленной тактики выявленной техники это телеметрия с устройств и информация с Security Service провайдер Ну и также был ещё класс данных General и мы видим что Несмотря на то что группировка т29 уже давно-давно известна она существует с 2004 года а при этом мы видим что реакция продуктов очень отличается и есть продукты которые смогли Определить максимальное количество тактик и техник есть продукты которые не смогли определить тактики И лишь часть оделили лишь часть техник использу при симуляции таким образом А мы можем при помощи моделирования мы можем попробовать предвидеть а атаки в будущем потому как большинство
Атак большинство новых Атак они всё равно используют тактики уже известные тактики и техники а лишь меняют их скажем так комбинацию либо А есть некоторые изменения в реализации этих тактик и техник а Мы работали больше часть времени мы работали с продуктами которые защищают от R и Мы также разработали свой тест на основе симуляции поведения иранских программ шифровальщиков и вот провели первый тест в апреле 2017 года и на тот момент когда эта тема только как бы начала развиваться угроза програм вальков становись более явной продукты начали внедрять скажем так интеллектуальные системы идентификации активности итальянских програ шифровальщиков в частности которые основываются на поведенческом блокировании но на тот момент как вы видите большинство продуктов Это топ антивирусы они не могли определить по по
поведению нашего симулятора что идёт атака шифровальщика большинство из продуктов были нацелены на детектирование с помощью сигнатур а а при встрече с симулятором который был реализован на питоне они собственно никак не прореагировали на шифрование файлов на целевой системе вот как выглядит наш симулятор это его более современная версия уже а мы указываем папку в которой находятся файлы которые обычно шифруют нсе програм шифровальщики дальше можем уть Какое расширение добавлять зашифрованным файлом Какое количество файлов шифровать за одну итерацию алгоритм использова B4 кодирования какую Крипто блеку использовать шифровать ли данные в Облаке мы запускаем шифрование по одному файлу потом можем поменять например запустить сразу шифрование пяти файлов и в правом нижнем углу у нас тут работает консоли так назва если он видит
вязанных с модификацией файлов и тогда он выдаёт сообщение о том что активность шифровальщика была закро то есть ключевой момент здесь какое пороговое значение установить для нашего детектора для того чтобы он эффективно определял атаку шифровальщиков если мы как мы видим одиночное шифрование не вызывает срабатывание детектора но запускаем скажем так шифрование пять более файлов то мы видим реакцию нашего детектора но мы пошли дальше И решили немножко а добавить интеллекта к нашему симулятору для того чтобы иметь возможность скажем так В автономном режиме определять А какие именно параметры устанавливать для нашего симулятора для того чтобы он эффективно мог обходить защиту НСО то есть в нашем случае Агент представлен симулятором это у нас R simat а среда у нас это операционная система на которой
у нас в папке лежат файлы которые пользовательские файлы которые обычно шифруются треской программой шифровальщиков их в нашем эксперименте мы выбрали 10 а суть сводится к тому чтобы в результате взаимодействия со средой Агент А мог учиться и находить оптимальную стратегию которая в долгосрочной перспективе приводит к достижению цели Ну в данном случае у нас оценка цели производится с помощью reward то есть Агент у нас запускает некоторое действия на шаге на итом шаге а среда реагирует на это действие и например е мы смотрим если в результате действия шифровальщика какая-то часть файлов была зашифрована то мы выдаём RE который положительны То есть он больше нуля и соответственно система переходит в новое состояние и таким образом а проходя большое количество итераций
Агент научает выбирать такое действие которое приводит к максимизации а рда В долгосрочной перспективе так называемой назовём это RE алгоритмы нам известны например по по проекту alp Go и alp AL Это был проект который умел играть шахматы и [музыка] обыграл компьютерную программу которая на тот момент уже успела обыграть чемпиона в шахматы а Alpha Go - Это программа которая играла в игру Go могла играть в игру Go и а состоялся матч в результате которого данная компьютерная программа победила восемнадцати тно чемпиона мира а лиси дова а сложность м игры с точки зрения компьютера в данную игру заключается в том что а невозможно перебрать все комбинации точнее это это это будет достаточно сложно потому как а игра происходит на
доске 19 на1 клеток и Что даёт 10 в степени 360 а возможных ходов которые невозможно просчитать Это количество а которое больше атомов во вселенной и поэтому а подход который использует обычный перебор так называемый brot Force он не работает в данной игре в нашем эксперименте Мы у нас было собственно два действующих лица Первое - это НСО симулятор целью НСО симулятора являлось зашифровать максимальное количество файлов за минимальное количество шагов и второе действующее лицо Это НСО детектор целью нго детектора является за детектировать процесс шифрования файлов и сгенерировать сообщение а предупреждающее о активности Шарова щика Ну этем самым заблокировать наш симулятор А какие использовались техники а симулятор у нас мог добавлять расширение А мог и не добавлять А что
является типичным а поведением шифровальщиков то есть для того чтобы определить какие файлы они зашифровал добавляется второе расширение к зашифрованном файлу также поверх а зашифрованных данных например с помощью алгоритма А можно использовать bc4 для того чтобы снизить уровень энтропии часто уровень энтропии используется как один из факторов свидетельствующих о об Атак шифровальщика О а о факте шифрования данных а и также можно выбирать количество файлов которое будет шифроваться за итерацию у нас в данном случае это будет оди два файла 5 и 10 АСО детектор А в соответствии с техниками симулятора имел следующие три метода детектирования аномального поведения аномалий в модификации файлов Первое - это добавление второго расширения второе - это высокий уровень энтропии который опять-таки симулятор мог понижать с
помощью B4 кодирования и а аномальная модификация файлов А во времени То есть например если у нас а 10 файлов было модифицирована в интервале 1 секунда то Это говорит о том что эти модификации произвёл не человек а скрипт то есть какая-то программа и то есть это может быть например архиватор который архивируемых либо например там пакетное редактирование фотографий Если вы используете какой-либо редактор для обработки фотографий то есть эта активность она сст о том что данные файлы обрабатываются некоторой некоторым скриптом Что также может определить активность шифровальщика а для этого мы определяем следующие категории - это состояние действия и rewards так как ref по сути А с точки зрения математики а это м моделирование с помощью а Mark of decision process finit Mark of
decision process то есть конечные а Марковские процессы принятия решений то соответственно нам нужно определить состояние то есть суть суть э мдп состоит в том что у нас есть состояние и значит наш алгоритм может переходить из одного состояния в другое применяя некоторые действия и каждое из этих действий имеет определённую вероятность то есть с некоторой вероятностью наша система из состояния может перейти в состояние п1 и у этого действия есть вероятно здесь мы опреде количество соний первая у нас 11 состояний состояние ноль соответствует состоянию когда у нас в папке есть 10 файлов и все они не зашифрован состояние 10 когда у нас все 10 файлов папки были зашифрованы а дальше rewards то есть мы даём а выигрышные очки в зависимости от
количества зашифрованных файлов при этом а за каждый запуск а действия мы берём один одно одно очку а также у нас Мы определили матрицу действий она у нас содержит 16 действий то есть есть возможность например добавлять расширение либо не добавлять а кодировать с помощью bs4 либо не кодировать и четыре варианта м количества файлов которые шифруются за за один шаг всего у нас 16 а возможных действий определены в данной таблице То есть у нас получается Матрица 11 состояний и 16 действий и вот получены результаты Первое - это прогресс обучения на примере анализа rewards То есть у нас есть некоторый параметр Total reward То есть это общее количество выигрыша которая была получена за одну игру одна игра имеется в виду запуск
нашего симулятора и если - наш симулятор смог зашифровать все файлы он выигрывает в игре Если же в процессе шифрования десяти файлов в папке его активность была определена НСО детектором то в данном случае н симулятор проигрывает игру и соответственно RE у него будет не максимальный и здесь мы видим что к концу процесса обучения к там к ше сотой игре у нас А количество reward оно стремится к Это говорит о том что было использовано Пять шагов то есть было заплачено пять поинтов и остальные поинты были получены за зашифрованные файлы а также процесс обучения можно посмотреть на графике в котором показано количество выигранных игр к общему количеству игр и мы видим что здесь у нас экспоненциальный рост а при приближении к ограниченом
количеству игр и более показательная диаграмма Где мы можем видеть количество выигранных игр А из дети игр То есть если в начале обучения Мы видим что из дети игр было выиграно ноль то к концу обучения Да два столбика это 10 выигранных игр из де то есть здесь у нас получается процент выигрыша является 100% И опять-таки если мы посмотрим на изменение этого отношения то мы увидим тоже экспоненциальный рост что в принципе соответствует А методологии в данном случае использовался самый простой алгоритм то есть в данном примере не использовалось нейронные сети в основе алгоритма Learning является введение такой вот таблицы называется Table Q означает то есть при выборе определённого действия в определённом состоянии А мы должны выбрать в определённом состоянии мы должны выбрать
действие и это действие мы можем определить по некоторому значению Q кото определяет качество этого действия то есть насколько выбранное действие Привет В долго перспективе КК максимальному выигрышу после каждой итерации после того как было выполнено дест действие получен на определённом шаге обновляется при этом оно обновляется не только по результатам текущего рда но также учитывается в формуле обновления также учитывается оценка для бух состояний мы получили в результате моделирования мы получили что в изначальном состоянии действие которое необходимо выбрать нашему Агенту это действие номер 14 потому как оно имеет максимальный равно 141 примерно А если мы вернёмся немножко назад и посмотрим нашу таблицу то мы можем посмотреть что означает действие номер 14 а здесь у нас видите extension о то есть у нас добавляется
extension к зашифрованным файлам что может в принципе выдавать шифровальщик дальше b64 у нас единичка то есть используется уменьшение энтропии зашифрованных данных и количество файлов что на данно что в данной в данном случае является наиболее интересным метрикой равно значение равно двум это у нас пять файлов То есть первый шаг который делает наш агент интеллектуальный уже обученный это шифрование пяти файлов А здесь я должен сказать что для нашего нго детектора для эксперимента мы выбрали пороговое значение количества аномалий в файлах равное ми то есть когда мы шифру например пять файлов за одну итерацию наш н детектор не видит эту активность потому как пороговое значение установлено равное восьми дальше из состояния п у нас выбирается действие с максимальным qv в
данном случае это действие номер один Ну опять-таки если мы вернёмся в таблицу Посмотрим это будет шифрование двух файлов соответственно мы переходим в состояние 7 а без использования без добавления расширения И без использования bc4 кодирования в состоянии 7 у нас выбирается наилучшее действие с индексом Но это шифрование одного файла без B4 кодирования и без добавления второго расширения потом ещё раз мы выбираем действие номер но шифру ещё один файл с теми же параметрами Ну и дальше в принципе любой из перечисленных здесь действий ведёт КК Победе к шифрованию ещё одного файла и в итоге мы получаем 10 файлов зашифрованных То есть это и является Цель нашего алгоритма И если мы посмотрим если с точки зрения тек мы посмотрим какое количество файлов была
модифицирована единовременно Ну в рамках некоторой Деме секунды то мы видим что Это количество равно п Возможно если вот эти две операции производились одну за за другим и попали в Дельту то у нас будет не пять файлов а сем которые были модифицированы в скажем так в течение некоторой дельты например 1но секунды А дальше если мы посмотрим количество файлов которые были с двойным расширением у нас будет их п потому что расширение добав только здесь с расширением и А с высокой энтропией у нас будет опять-таки пять файлов То есть у нас высокая энтропия будет здесь здесь здесь здесь то есть пять файлов с высокой энтропией и таким образом мы видим А здесь сем Здесь пять Здесь пять ни
один из а этих а ни одно из этих значений не превышает пороговое значение ренци детектора и таким образом работа нашего ренс симулятора была не за
детектирования искусственного интеллекта и как как можно применить модели машинно обучения в кибербезопасности как для защиты то есть обнаружения кибератак так и для атаки для тестирования систем для тестирования антивирусов так называемых вы можете написать мне если вы студент я собственно руковожу научными работами своих студентов в хнуре и в Tech если вам это интересно можете написать я могу стать вашим формальным или неформальным научным или по крайней ре подсказать направление в которое вы може в шего иследования с вашим научным руководителем в вашем университете А спасибо за внимание Если будут вопросы буду рад ответить