Время на прочтение
Сегодня я публикую интервью с форума «Цифровая устойчивость и промышленная безопасность России», который называют «Магнитка». Как я уже писал ранее, форум в этом году был посвящён промышленной кибербезопасности, поэтому я решил поговорить с экспертом, опыт которого находится практически на стыке промышленности и информационной безопасности (ИБ) — с руководителем практики промышленной кибербезопасности Positive Technologies Дмитрием Даренским. Разговор был недолгим, но текст получился объёмным и, на мой взгляд, интересным, надеюсь, скучно не будет.

Сколько лет вы уже занимаетесь промышленной безопасностью?
Тут надо понимать, что есть промышленная безопасность предприятий и кибербезопасность. Если говорить про кибербезопасность, то я работаю в этой сфере уже более десяти лет.
Как изменилась отрасль за это время?
За 10 лет в России и в мире изменилось понимание значимости этого направления. И Б стала регулируемой. Причём кибербезопасность регулируется федеральными органами, что имеет большое значение как для самой ИБ‑отрасли, так и для промышленности.
Первый нормативный акт, касающийся обеспечения безопасности АСУ ТП, у ФСТЭК появился в 2014 году и был рекомендательным. Акт ни к чему не обязывал, поэтому предприятия не торопились его исполнять, так как не видели какой‑то критической значимости для компании и её бизнеса. Сейчас меняется отношение к защите производственных активов, появляется осознание значимости ИБ, компании начинают выстраивать результативную кибербезопасность, формулируют недопустимые для их бизнеса события и вокруг них строят защиту.
В этом году ваша компания представила отчёт‑исследование о кибератаках на промышленность. Насколько атаки усилились за последний год по сравнению с вашим предыдущим опытом?
На протяжении последних пяти лет этот сектор входит в тройку самых атакуемых отраслей: каждая десятая успешная атака на организации приходилась на промышленные предприятия. В 2022 году в промышленных компаниях было зафиксировано 223 инцидента, вызванных атаками злоумышленников, это на 7% больше, чем в 2021 году. Почти все атаки (97%) на организации этого сектора были целевыми.
Насколько при экспертизе промышленных объектов по ИБ сложно работать с местным персоналом?
Здесь есть несколько сложностей. Они связаны с тем, что производственные системы и системы технологического управления на промышленных объектах не входят в зону функциональной ответственности специалистов по ИБ, потому что исторически на предприятиях существует деление IT‑инфраструктуры на корпоративную и производственно‑технологическую.
Корпоративная инфраструктура — это бизнес‑приложения, ERP, веб‑сервисы, сервисы корпоративного общения. Технологическая инфраструктура — системы, управляющие производственным процессом, технологической линией и так далее. Эти системы раньше никогда не входили в зону ответственности специалистов отделов ИТ и ИБ. Поэтому любой проект по защите технологической инфраструктуры — это всегда прямое взаимодействие ИБ‑специалистов со службами эксплуатации технологических систем, экспертами‑производственниками. И часто такое взаимодействие бывает болезненным. В общении может возникнуть сложность в понимании технических и организационных аспектов безопасности производственных систем, потому что специалист отдела по ИБ и производственник оперируют разными понятиями и опытом. Например, может быть разное понимание критичности угроз, того, какие события приемлемы, а какие недопустимы для предприятия. Даже название элементов IT‑инфраструктуры могут отличаться. Сложно прийти к единому пониманию угроз, инцидентов или векторов атак. И в целом задачи кибербезопасности им видятся по‑разному. Специалист по ИБ оперирует такими вещами, как модель угроз, функции и процессы управления безопасностью, у него есть перечень мер защиты, он следит за действиями пользователя, за утечками. Эти показатели формируют цели и задачи службы безопасности.
При этом у производственника есть другие задачи, которые должны решаться при участии сотрудников отделов по ИБ. Например, контроль легитимности операций в системе. Система информационной безопасности в промышленном сегменте, если она внедрена, работает лишь с операционными системами, стандартными сетевыми технологиями и сервисами. Она может обнаруживать типовые аномалии или эксплуатацию уязвимости в ОС.
У производственников все задачи в части ИБ касаются прикладного ПО и прикладных, часто проприетарных технологий. А большинство решений по кибербезопасности с прикладным уровнем систем управления производством не работает.
Один из путей развития ИБ‑отрасли и направления промышленной кибербезопасности мы видим как раз в том, чтобы предприятия получили необходимый ИБ‑инструментарий, который был бы одинаково эффективен и в корпоративном сегменте инфраструктуры, и в технологическом.
Я правильно понимаю, что уровень подготовки ИБ‑специалистов в промышленности в РФ ниже, чем в других областях?
Сотрудники компаний, кто работает на производстве, и не должны знать все тонкости и премудрости обеспечения кибербезопасности. Это не их задача, поэтому специалистам по ИБ на предприятиях необходимо погрузиться в специфику конкретных производственных систем и инфраструктуры компании. Кроме этого, необходимо организовать постоянное взаимодействие между специалистами по ИБ и сотрудниками на производстве.
Насколько сложно работать на производстве с людьми, когда приходите делать аудит систем?
Для нас это вполне естественный процесс, мы же понимаем и язык ИБ, и специфику систем промышленной автоматизации, и как строится производственное управление. Поэтому у нас нет сложностей с коммуникацией, донесением проблематики и формализацией задач.
С кем сложнее работать — с госкомпаниями или с частными?
Эффективность любой коммерческой организации очень сильно зависит от её киберустойчивости и способности обеспечить непрерывность своего бизнеса.
В компаниях с госучастием большой объём формализации на разных этапах проекта, объёмный документооборот. Коммерческие компании стараются быстро решать задачи, особенно те, кто уже столкнулся с инцидентами в производственных контурах. Эти компании реализуют проекты очень быстро, с минимумом формализации решений.
Насколько стало в промышленности сложнее искать ИБ‑решения с уходом зарубежных вендоров?
Я бы назвал нынешний период переходным. Предприятиям необходимо принимать решение, с какого зарубежного продукта переходить на российский, и начинать этот процесс. Сложность в том, что быстро перейти с одного на другое не получится, тем более, если IT‑инфраструктура предприятия большая или распределённая по всей стране.
Сейчас многие компании в части основных систем управления сталкиваются с тем, что нет российских аналогов, удовлетворяющих требованиям и размерам бизнеса, и заменить зарубежное решение на российское нет возможности, а иногда это ещё и нецелесообразно.
Получается ли у российского рынка ИБ дать ответы на запросы промышленности? Если рассматривать в процентах — 50%, 30%, примерно?
Сейчас уже около 70% зарубежных решений в области кибербезопасности можно заместить на российские аналоги. Все основные и востребованные классы средств защиты в России разрабатываются и представлены на рынке. Кроме того, российские компании активно включились в создание отечественных аналогов продуктов ушедших международных вендоров. Так, на Positive hack Days наша компания представила раннюю версию PT NGFW, межсетевого экрана нового поколения.
Дмитрий, вы уже 10 лет в промышленной кибербезопасности. Если не брать последние два года (2022–2023), как менялись тренды взломов промышленности до 2022 года в РФ?
Если говорить о трендах, тактиках, инструментах для атак, то можно выделить два основных вида: массовые заражения вирусами и таргетированные атаки финансово мотивированными командами, тщательно подобранным инструментарием и так далее. Если брать ещё более ранние периоды, то на промпредприятия были исключительно таргетированные атаки.
По сравнению с предыдущим вашим опытом сильно изменились тренды за 2022 год?
Изменилось количество инцидентов и мотивация атакующих. В 2022 году почти каждая десятая успешная атака приходилась именно на промышленные предприятия. Раньше атаки совершались с целью коммерческой выгоды, и сами злоумышленники монетизировали полученный результат. В прошлом году основной объём атак оказался некоммерческим, он имел идеологическую и социальную мотивацию, желание хакера как‑то себя проявить и обозначить позицию. Именно это и стало основным трендом в 2022 году.
Расскажите, пожалуйста, если можно, самый вопиющий случай нарушения правил ИБ в промышленности, на ваш взгляд?
На регуляторном треке «Магнитки» мы как раз обсуждали один кейс, который случился в конце 2022 года. Подрядчик, выполняющий работы на большом количестве промышленных объектов, имел доступ к проектной информации критичных систем, причём к некоторым объектам у него был удалённый доступ. Атака на этого подрядчика привела к тому, что вся информация, проходящая через него, была зашифрована. Перед тем как зашифровать, часть технически критичных данных и проектной документации злоумышленники смогли украсть. Обычно впоследствии злоумышленники часто продают такую информацию в дарквебе.
И хотелось бы услышать самый положительный случай, связанный с ИБ на предприятиях. Когда всё было сделано как надо. Или провели экспертизу, а делать‑то и нечего.
В России есть компании федерального масштаба с активами в несколько десятков производственных технологических объектов, которые заранее проанализировали свой ИТ‑ландшафт и предприняли своевременные шаги для защиты от атак. При этом у них большое количество legacy‑систем (внедрявшихся 20 лет назад и ранее) и критических инфраструктурных объектов. Такие компании начали путь построения киберзащиты своих объектов некоторое время назад, и в 2022 году это помогло им успешно противостоять атакам.
Какие, по вашему мнению, нужно сделать шаги промышленным компаниям, чтобы минимизировать риски инцидентов инфобеза?
Самый первый шаг, он же и самый трудный в реализации для предприятия — это понять и проанализировать текущее состояние защищённости. Вернёмся к примеру с компанией выше. Основной её вопрос был в том, чтобы разобраться, какое количество у неё устаревших систем, из чего они состоят, насколько они уязвимы, как их защищать. Инвентаризация объекта защиты — самое тяжёлое, но это надо прорабатывать в самом начале пути. Никаких конкретных шагов сделать предприятие не сможет, пока не поймёт, чем оно владеет и в каком состоянии это оборудование. Первое, что мы рекомендуем, — определиться с недопустимыми событиями для своей компании. Что для бизнеса критично и что нужно защищать, в каком оно состоянии. Дальше — это уже методология, определение угроз, методов реализации.
Вот такой вышел разговор с Дмитрием, очень надеюсь, что это интервью прочитают различные специалисты в области IT и ИБ из промышленного сегмента, да и в целом из всех отраслей. Потому что заключительный вопрос вроде бы казался простым, но, по моему опыту работы, а это без малого 15 лет стажа различных IT‑специальностей, не все компании задумываются об инвентаризации систем, не говоря уж о возможности как‑то их защитить.
Каждый год МИФИ проводит студенческую олимпиаду по ИБ. Это очень необычное мероприятие, сильно отличающееся от привычных task-based CTF. Забавно, что олимпиада носит официальный статус и даже признана Минобром, но о ней мало кто знает. При этом ее победители и призеры имеют возможность поступить в МИФИ без экзаменов.
Если вы горите желанием размять мозги и протестить ваши знания в области инфобеза, читайте наш разбор пяти более интересных задач практического тура олимпиады.
Олимпиада разделена на два тура: теоретический и практический. Они длятся по 3 часа в один день с небольшим перерывом. Теоретический тур похож на экзамен: первое задание состоит из 5 вопросов на криптографию и криптоанализ, где требуется дать развернутый ответ. Второе задание — большой тест по безопасности информационных технологий. Пробный вариант теоретического тура представлен по ссылке.
Практический тур заключается в решении 10 относительно несложных задач, связанных с программированием, обратной разработкой ПО, эксплуатацией веб-уязвимостей, криптографией и стеганографией. При выполнении этих задач можно пользоваться собственным компьютером, но без доступа к интернету и внешним носителям информации.
Участие в этой олимпиаде — интересный опыт для любого студента-безопасника, позволяющий проверить как теоретические, так и практические знания.
Задача H, 2018 год
Условие: Придя на место встречи в парк, вы никого не увидели, однако гуляя по одной из аллей, вы нашли заблокированный телефон со странной заставкой. Найдите пароль, зашифрованный в картинке-заставке и отправьте его на проверку через форму ниже.

Задачи на поиск стегоконтейнеров в изображениях обычно решаются в три этапа, от простого к сложному:
Для начала проверим тип файла:
Получаем метаинформацию из EXIF с помощью утилиты exiftool и находим первую часть флага в поле Creator:
Продолжаем анализировать файл с помощью утилиты binwalk:
Видим, что по смещению 0x99660 лежит Zip-архив с файлом part2.txt, а по смещению 0x9970D — png-изображение.
С помощью binwalk мы можем получить эти файлы и даже автоматически распаковать zip-архив.
$ binwalk -D ‘zip archive:zip:unzip %e’ -D ‘png image:png’ H.jpg
$ cd _H.jpg.extracted
$ ls
99660.zip 996F7.zip 9970D.png 99768 99768.zlib part2.txt
$ cat part2.txt
part 2 – 6b9efd1b89
Собираем все части флага вместе — задание решено.
Задача A, 2016 год
Условие: Найдите значение переменной $flag (32 символа хекса) в следующем php-скрипте, если известно, что результат работы скрипта равен 10899914993644372325321260353822561193.
Так как функция bcpowmod производит возведение числа 1511 в неизвестную степень в кольце вычетов 35948145881546650497425055363061529726, флагом является дискретный логарифм 10899914993644372325321260353822561193 по основанию 1511.
Писать скрипт для решения такой задачи с нуля долго, простой перебор тоже не поможет, поэтому лучше всего использовать свободную систему компьютерной алгебры Sage.
#!/usr/bin/sage
from sage.all import *
R = IntegerModRing(35948145881546650497425055363061529726)
y = 10899914993644372325321260353822561193
g = 1511
x = discrete_log(R(y), R(g))
print(“Flag is: ” + hex(x))
$ sage solve.py
Flag is: 1203ca52964b15cd12887d920d229
Подставляем флаг в скрипт и убеждаемся в правильности ответа:
% php A.php
10899914993644372325321260353822561193
Задача C, 2016 год
Получаем информацию о бинарнике с помощью ExeinfoPe:

Следуем совету и распаковываем файл:
Определим использованный компилятор:

Декомпилируем функцию main и немного дорабатываем вывод напильником:

Алгоритм работы программы таков:
Составим систему из 16 уравнений и решим её с помощью SMT-решателя z3:
$ auth_x32.exe hummelchen 094d6a0bf55b01e195b823316b080169
Correct
Задачи D и E, 2016 год
Условия:
D: Ответ на задачу хранится в одной из баз данных забытого сервера. Найдите уязвимость на сайте и прочитайте с ее помощью ответ.
E: Ответ на задачу хранится в одном из файлов на сервере. Найдите уязвимость на сайте и прочитайте с ее помощью файл.
Веб-интерфейс забытого сервера выглядит довольно аскетично: просто текстовая форма авторизации и заголовок «Online bank system».
Изучаем исходный код страницы авторизации и видим подозрительный скрипт jquery.js
Перехватываем POST-запрос на авторизацию с помощью Burp Suite и сразу же проверяем возможность SQL-инъекции:
Чтобы автоматизировать процесс эксплуатации уязвимости сохраняем текст запроса в файл, помечаем место инъекции звездочкой и загружаем результат в sqlmap с помощью опции -r имя_файла:
Определяем доступные нам базы данных:
Получаем флаг для задачи D:

Так как текущий пользователь не является администратором БД, мы не можем читать файлы на хосте и поэтому придётся использовать другой вектор атаки. Попробуем применить атаку XML eXternal Entity.
Мы можем заставить парсер XML прочесть интересующий нас файл и использовать содержимое этого файла как URI, чтобы оно вывелось в сообщении об ошибке.
Для этого нужно создать специальный DTD-файл (Data Type Definition; определение типа данных). X ML-парсер на сервере загрузит его содержимое перед обработкой основной полезной нагрузки, что и позволит использовать значение %payload как URI.
xxe.dtd:
Теперь поднимем веб-сервер с помощью python, файл xxe.dtd должен находиться в его корневой директории.
$ python -m SimpleHTTPServer 1234
Отправим серверу запрос такого вида:

Получаем флаг для задачи E в строке с пользователем list.
P. S. Все задания практического тура олимпиады за этот и прошлые годы доступны по ссылкам:
Практический тур ВСО по ИБ 2016
Практический тур ВСО по ИБ 2017
Практический тур ВСО по ИБ 2018
Большинство преподавателей израильской высшей школы IT и безопасности HackerU участвуют и занимают призовые места в соревнованиях и конкурсах по пентесту, веб-разработке, блокчейну. Чтобы стать победителем, недостаточно иметь только высокую мотивацию. Нужны реально полезные знания и навыки, а их получают только у лучших практиков. Если сомневаешься в будущем, хочешь научиться востребованной профессии, спроси нас. Обещаем избавить от всего лишнего и помочь тебе найти себя в мире IT.
Ситуационные задачи по теме с эталонами ответов. Вы – сотрудник лечебного учреждения
Вы – сотрудник лечебного учреждения. Ежедневно в базе данных происходит накопление большого количества информации.
1. Перечислите возможные способы способом обеспечения целостности и предотвращения уничтожения данных.
2. Определите, каким способом Вам необходимо воспользоваться. Объясните почему.
Ответ к задаче №1
1. Резервное копирование, архивирование.
2. В случае резервного копирования речь идет о кратко- или среднесрочном дополнительном хранении данных, которые еще могут понадобиться пользователям в их работе. Если, например, в результате повреждения жесткого диска или по иным причинам текущие данные теряются, их удастся быстро восстановить. Так можно эффективно защитить данные от разного рода случайностей. Время хранения резервных копий массива данных устанавливается не слишком продолжительное — несколько недель или месяцев.
Архивированию, напротив, подвергаются данные, которые из категории активно используемых перешли в «статичное» состояние, поэтому к ним обращаются сравнительно редко. Их можно уже извлечь из резервной копии и сохранить в архиве. Оба подхода различаются и уровнем затрат на приобретение необходимых технических средств: для архивирования большого объема данных применяются, как правило, недорогие носители с высокой емкостью хранения, например, оптические носители.
В описанной выше ситуации необходимо осуществлять резервное копирование данных.
На доске объявлений размещено сообщение, в котором говорится о том, что каждому сотруднику организации выделяется персональный пароль. Для того чтобы сотрудники его не забыли, пароль представляет дату рождения и имя каждого сотрудника.
1. Какие правила обеспечения информационной безопасности нарушены?
2. Какие символы должны быть использованы при записи пароля?
Ответ к задаче №2
1. Запрещается использовать в качестве пароля «пустой» пароль, имя входа в систему, простые пароли типа «123», «111», «qwerty» и им подобные, а так же имена и даты рождения своей личности и своих родственников, клички домашних животных, номера автомобилей, телефонов и другие пароли, которые можно угадать, основываясь на информации о пользователе.
Запрещается записывать пароли на бумаге, в файле, электронной записной книжке и других носителях информации, в том числе на предметах.
Запрещается сообщать другим пользователям личный пароль и регистрировать их в системе под своим паролем)
2. В качестве пароля должна выбираться последовательность символов, обеспечивающая малую вероятность её угадывания. Пароль должен легко запоминаться.
Вы – начальник информационной службы в ЛПУ. У вас возникли подозрения, что сотрудник вашей организации позволил себе неправомерный доступ к охраняемой законом компьютерной информации, что повлекло уничтожение и блокирование информации.
1. Какая статья уголовного кодекса была нарушена?
2. Какое наказание должен понести нарушитель?
Ответ к задаче №3
1. Статья 272. Неправомерный доступ к компьютерной информации.
2. Неправомерный доступ к охраняемой законом компьютерной информации, то есть информации на машинном носителе, в электронно-вычислительной машине (ЭВМ), системе ЭВМ или их сети, если это деяние повлекло уничтожение, блокирование, модификацию либо копирование информации, нарушение работы ЭВМ, системы ЭВМ или их сети, – наказывается штрафом в размере до двухсот тысяч рублей или в размере заработной платы или иного дохода осужденного за период до восемнадцати месяцев, либо исправительными работами на срок от шести месяцев до одного года, либо лишением свободы на срок до двух лет.
Вы – руководитель отдела информационной безопасности организации. Вы подозреваете, что один из пользователей корпоративной информационной системы создает и распространяет вредоносные программы внутри сети.
Ответ к задаче №4
1. Статья 273. Создание, использование и распространение вредоносных программ для ЭВМ.
2. Создание программ для ЭВМ или внесение изменений в существующие программы, заведомо приводящих к несанкционированному уничтожению, блокированию, модификации либо копированию информации, нарушению работы ЭВМ, системы ЭВМ или их сети, а равно использование либо распространение таких программ или машинных носителей с такими программами – наказываются лишением свободы на срок до трех лет со штрафом в размере до двухсот тысяч рублей или в размере заработной платы или иного дохода осужденного за период до восемнадцати месяцев. Те же деяния, повлекшие по неосторожности тяжкие последствия, – наказываются лишением свободы на срок от трех до семи лет.
Гражданин П. проник в информационную базу ККБ и скопировал интересующую его информацию с ограниченным доступом, о чем стало известно администраторам информационной системы. Через неделю ему пришла повестка в суд.
1. Являются ли его действия противозаконными?
2. С чем это связано?
3. Какое наказание может ждать гражданина П. за совершенные им действия?
Ответ к задаче №5:
2. Гражданин П. нарушил закон – Гл.28 УК РФ ст. 272 Неправомерный доступ к компьютерной информации.
3. Неправомерный доступ к охраняемой законом компьютерной информации, то есть информации на машинном носителе, в электронно-вычислительной машине (ЭВМ), системе ЭВМ или их сети, если это деяние повлекло уничтожение, блокирование, модификацию либо копирование информации, нарушение работы ЭВМ, системы ЭВМ или их сети, наказывается штрафом в размере до двухсот тысяч рублей или в размере заработной платы или иного дохода осужденного за период до восемнадцати месяцев, либо исправительными работами на срок от шести месяцев до одного года, либо лишением свободы на срок до двух лет.
Не нашли, что искали? Воспользуйтесь поиском:
В настоящее время объем данных в домене кибербезопасности быстро растет. Однако большая его часть представляет собой текстовые неструктурированные данные, которые не подходят для непосредственного использования автоматизированными системами безопасности. Автоматическая и real-time трансформация информации о защищенности системы из неструктурированных текстовых источников в структурированные представления может помочь аналитикам лучше отслеживать ситуацию кибербезопасности. Существует много подходов к решению данной проблемы и некоторыми из них являются модели, основанные на трансформерах, во главе с BERTом. В этом эссе я хочу пролить свет на магию этих четырех букв в контексте защиты информации.
Перед тем, как говорить про такие методы решения задач в кибербезе, хочется дать возможность не искушенным датасаенсом читателям получить некоторое представление о том, что находится «под капотом» BERTа и трансформеров в целом. Если Вы ознакомлены с этим или просто не хотите долго разбираться, то можете смело пропускать следующий раздел.
Ликбез в трансформерах
Веса эти есть ни что иное как скалярное произведение слова x3 cо словом xi. Таким образом мы смотрим, какое «внимание» оказывает каждое слово xi на слово x3, отсюда и «attention» в названии. Softmax, изображенный на картинке, интерпретирует все веса как вероятности, дающие в сумме единицу. Получается, каждое вектор-слово домножается на вероятность того, что третье слово зависит от него.

Иллюстрация работы self-attention блока
Чтобы получить чуть больше интуиции в данном вопросе, рассмотрим пример с оценкой ресторанов. Нам хочется по отзыву понять, положительный он или отрицательный. Казалось бы, «увидев» в предложении слово terrible, компьютер должен сразу пометить отзыв отрицательным, однако на этом моменте на сцену выходит self-attention и говорит: «У нас в предложении еще есть слово not, которое имеет значение отрицания». Получается, «минус на минус дает плюс», и terrible на самом деле уже и не terrible, а очень даже ничего.
Пример использования self-attention для определения оценки ресторанов
Дальше хочется уметь при обучении зависимостей учитывать позицию слова в предложении, т.к. она очевидно влияет на смысл. До сих пор в трансформере, который мы построили, можно было поменять порядок входных слов и ничего не изменилось бы: модель точно также бы учла влияние слов друг на друга. Давайте это исправим, добавив во входные эмбеддинги информацию о позиции слов в предложении. Например, это можно сделать, просто прибавив в самом начале к каждому слову-вектору вектор такой же размерности, соответствующий позиции слова.

Формирование входных эмбеддингов с учетом позиции слов в предложении
Таким образом, трансформер получает на вход слова и для каждого слова генерирует вектор, заключающий в себе значение этого слова. Похожие слова имеют более близкие числовые значения внутри таких векторов. По сути, модель в некоторой степени учится отвечать на вопросы «Что такое язык?»; «Что такое грамматика?» и главное «Что такое контекст?»
Что ж, self-attention и трансформеры позади, давайте теперь перейдем к финальной части нашего ликбеза и наконец-то поговорим про BERT.
Машинный перевод, ответы на вопросы, рекомендательные системы, краткое изложения текста – для осуществления всего этого компьютер должен понимать язык. Отсюда первый шаг BERTа – предобучиться на большом объеме данных, чтобы понимать язык в целом. Однако у каждой из поставленных выше задач есть своя специфика, свои термины и обозначения, которые модель также должна уловить. Поэтому на втором шаге предобученный BERT дообучается на данных конкретной задачи.
Начнем с первого шага и поговорим про смысл bidirectional. Вспомним, что на вход в transformer блок, подавалось предложение. Мы использовали модель, чтобы научиться связи всех слов между собой, а что если нам хочется научиться генерировать текст? В таком случае во время обучения каждому слову мы должны предоставлять информацию только о словах, которые были до него. То есть обучение происходит в одном направлении и называется unidirectional. Такое используется, например, в декодере оригинального трансформера. Оба подхода хороши для своих задач, поэтому авторы BERTа делают акцент на bidirectional. Единственная проблема в таком подходе – при подсчете зависимости слова от остальных в self-attention блоке слово будет «видеть само себя», что может привести к слабому улавливанию зависимостей от других слов. Поэтому был придуман следующий подход: во входных данных случайные 10% слов маскируются (то есть модель не видит их значение при обучении), и обучение заключается в правильном предсказании замаскированных слов по имеющемуся контексту – всех остальных слов (задача Masked Language Model). Кроме того, помимо зависимостей слов внутри предложений, хочется научиться понимать зависимость между предложениями. Поэтому в модель подавались пары предложений, идущие друг за другом с 50% вероятностью (задача Next Sentence Prediction).
Таким образом, на входе мы имеем токены – суммы эмбеддингов слова, эмбеддингов позиции в предложении и эмбеддингов принадлежности к предложению. Дальше эти токены подаются в BERT, который есть ни что иное как последовательность transformer блоков. На выход мы получаем набор слов-векторов для задачи MLM и бинарный индикатор следующего предложения для задачи NSP. После этого с помощью softmax мы переводим полученные слова-векторы, соответствующие замаскированным словам, в векторы изначальной размерности. По сути такой вектор есть распределение вероятности замаскированного слова быть каждым из возможных слов. Далее полученное представление сравнивается с реальным словом, которое тоже можно понимать, как распределение вероятности – в его векторном представлении 1 стоит в признаке, соответствующему этому слову (то есть это слово со 100% вероятностью есть это слово), а в остальных 0 (такое представление слов называется one hot encoding). В ходе этого сравнения считается ошибка (cross entropy loss), которая в ходе обучения минимизируется.
На этапе дообучения мы подаем в BERT данные, характерные для решаемой нами задачи. Таким образом, предобученные параметры модели корректируются, и добавляются новые зависимости. В следующем разделе мы поговорим про это подробнее.

Иллюстрация работы BERTа
Конечно мое объяснение максимально упрощено, чтобы передать самые важные моменты для дальнейшего понимания, не заняв много времени. Однако, если хочется понять все поглубже, вот ссылка на часовой мини-курс лекций по теме self-attention, трансформеров и BERTа.
Решаемая задача
Хорошо, теперь, когда мы получили представление о таких сущностях, как трансформеры и BERT поговорим наконец о задачах безопасности, а именно о распознавании именованных сущностей (Named Entity Recognition – далее NER) в домене кибербезопасности.
Была построена архитектура, состоящая из 3 этапов. На вход модель получает предложение, в котором надо определить термины из домена кибербезопасности, и присвоить каждому из них соответствующий класс. На первом этапе используется предобученный BERT для отображения каждого слова в векторное пространство слов. На втором этапе с помощью BiLSTM извлекаются признаки векторов-слов, полученных на предыдущем шаге, которые потом формируют выходной вектор. На третьем шаге, используя CRF, декодируется последовательность векторов с предыдущего этапа, и на выход мы получаем тэги классов для каждого слова.
Иллюстрация предложенной архитектуры
В упомянутый сборник входят: National Vulnerability Database (NVD), Microsoft Security Bulletin и Metasploit framework. В наборе данных рассматривается около 40 типов сущностей, включая операционные системы, приложения, файлы, версии и т.д. Например, предложению “The Microsoft Time component in DATIME. DLL in Microsoft Windows XP SP2” будут сопоставлены тэги “O B-vendor B-application O O B-file O B-vendor B-os I-os B-update”. Весь набор данных разделен на три выборки: обучение (80%), валидация (10%) и тест (10%).
Далее в работе сравниваются результаты, полученные генерацией векторных представлений слов с помощью Word2Vec и двумя версиями BERTа (классической и описанной выше). Как видно из таблицы, предложенное решение превосходит классические по метрикам precision и recall, а также по F1 Score (метрики, часто используемые в классификации), что можно расценивать, как успешный вклад в развитие трансформер-подходов для решения задач кибербезопасности.
Использованные материалы:Ashish Vaswani et al. “ Attention is All you Need”. In: Advances in Neural Information Processing Systems 30. Ed. by I. Guyon et al. Curran Associates, Inc., 2017, pp. 5998–6008. U RL: http://papers.nips.cc/paper/7181-attention-is-all-you-need.pdf. Jacob Devlin et al. “ BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding”. In: arXiv preprint arXiv:1810.04805 (2018). S. Zhou, J. Liu, X. Zhong and W. Zhao, “Named Entity Recognition Using BERT with Whole World Masking in Cybersecurity Domain,” 2021 IEEE 6th International Conference on Big Data Analytics (ICBDA), 2021, pp. 316-320, doi: 10.1109/ICBDA51983.2021.9403180. Qin, Ya, et al. ” A network security entity recognition method based on feature template and CNN BiLSTM-CRF.” Frontiers of Information Technology & Electronic Engineering 20.6 (2019): 872-884.