Как стать автором
Обновить

Создание инцидента через бота MS Teams

Время на прочтение4 мин
Количество просмотров4.3K

Введение

Повышение осведомленности работников в области информационной безопасности и поиск способов оперативного сбора информации об инцидентах (или иных подозрительных событиях) прямо от работников может завести безопасника к созданию бота.

Бота можно сделать для Telegram, Whatsapp, написать свой сайтик, написать приложение для VK, написать приложение для иного часто используемого приложения работниками. В данном примере рассмотрим бота созданного через Microsoft Power virtual agents для Microsoft Teams.


Поехали

На одном из воркшопов от Microsoft меня заинтересовали возможностью написать бота без кода.

Пока ведущий рассказывал что это такое, я за 20 минут написал зачаток бота для сбора инцидентов. Не сложно подумал я.

Создание пустого бота

На самом деле то, что было написано за 20 минут, это была чисто пара вопросов и отправка письма на группу рассылки в которой состоят безопасники. Для создания инцидента этого мало. Давайте рассмотрим, что в итоге получилось.

Первое что делаем, запускаем Powerva:

Создаем пустого бота с названием..... Тут я не придумал ничего короче чтобы везде вмещалось в интерфейсе как "Инцидент ИБ":

Список доступных ботов
Список доступных ботов

На какие темы по замыслу Microsoft пустые боты по умолчанию умеют общаться:

Список тем для общения
Список тем для общения

Как видим, в конце не выделены 2 темы которые реализованы собственно для целей сбора сообщений о подозрительных событиях и предложений по доработке бота.

Структура темы "инцидент ИБ"

Для начала необходимо придумать фразы по которым бот поймет, что собеседник желает создать инцидент:

Фразы триггеры
Фразы триггеры

Если встретилось слово, бот должен переспросить так ли он понял собеседника:

Получение подтверждения о необходимости создать инцидент
Получение подтверждения о необходимости создать инцидент

В данном случае помимо ответов "Да" и "Нет" я сразу добавил возможность эскалации (передача общения "живому" безопаснику):

Ветка эскалации для передачи общения живому человеку
Ветка эскалации для передачи общения живому человеку

В случае если же работник выбирает ответ "Да", то бот начинает задавать необходимые вопросы для регистрации инцидента:

Пример вопроса № 1
Пример вопроса № 1
Пример вопроса № 2
Пример вопроса № 2
Пример вопроса № 3
Пример вопроса № 3
Пример вопроса № 4
Пример вопроса № 4

В целом остается открытым вопрос: нужно ли пользователю задавать много вопросов, вдруг передумает создавать инцидент.

Получив необходимые ответы, бот должен обогатить полученную информацию иными данными чтобы не мучать дальше собеседника вопросами, для этого Microsoft предлагает разработать так называемый поток Power Virtual Agents. Получаем информацию о собеседнике через обращение к информации в Ofiice 365 так:

Вызов потока собирающего информацию о пользователе
Вызов потока собирающего информацию о пользователе

Данный поток который я назвал "User_get info from office365" делает следующее: по идентификатору пользователя как понимаю в Azure AD получает его псевдоним, адрес почты, отдел, должность из Office 365. По идее можно запрашивать телефон, адрес и кучу другой ненужной информации. Почему она не нужна, да потому что мы хотим создать инцидент и та система где мы будем создавать инцидент по сути сама должна по псевдониму либо учетке подтянуть эту информацию из самой системы управления инцидентами. Структура потока "User_get info from office365":

Получение информации о пользователе
Получение информации о пользователе

Как видно все невероятно просто.

После того как бот получил информацию о пользователе, можно создавать сам инцидент. Создать инцидент можно теми способами, которые принимает ваша система управления инцидентами. Писать взаимодействие по API в Power Virtual Agents это платно вроде бы как я понял, да и сложно. В моем случае Naumen Service desk умеет читать письма в почтовом ящике, поэтому моя интеграция выглядит именно так.

Создаем новый поток Power Virtual Agents который принимает всю полученную информацию ботом и отправляет письмо:

Вызов потока создания инцидента
Вызов потока создания инцидента

Структура потока "Создать инцидент":

Создание инцидента через отправку письма
Создание инцидента через отправку письма

Как видим все очень просто: письмо улетает на почту и в системе Naumen Service desk создается инцидент.

На прощание сообщаем собеседнику, что "полученная информация очень важна для нас":

Благодарность собеседнику
Благодарность собеседнику

Первый блин комом

Теперь бота нужно опубликовать, публикуем:

Завершение публикации
Завершение публикации

Натыкаемся на первые грабли - на инциденты полученные привычным существующим способом. В инцидентах работники жалуются, что в Microsoft Teams появилось подозрительное приложение:

Пример инцидента № 1
Пример инцидента № 1
Пример инцидента № 2
Пример инцидента № 2
Пример инцидента № 3
Пример инцидента № 3

Да, мы натренировали работников - они оперативно обо всем подозрительном нас уведомляют, это радует.

Вместо приветственного сообщения которое вы видели на первых скриншотах изначально было другое, и после публикации бота, бот сам начинает чат с некоторыми работниками компании, как выбирались работники и почему так происходит не удалось разобраться. Вроде как для начала чата достаточно просто кликнуть иконку, то есть не требуется ему писать что-то типа "привет бот".

Я написал новость в корпоративной социальной сети и сделал на нее ссылку в новом приветственном сообщении бота:

Как помните была еще тема для общения "Предложения по доработке бота", которая тоже принесла свои плоды:

Предложения по улучшению бота от коллег
Предложения по улучшению бота от коллег

Что дальше?

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

Остановимся на следующем, такого бота нужно через Microsoft Teams setup policy опубликовать в левом меню Microsoft Teams всем работникам компании чтобы все работники могли оперативно сообщить об инциденте - собственно это то, для чего бот и затевался:

Закрепление ссылки на бота
Закрепление ссылки на бота

Ну и на последок необходимо обновить документы и учебные курсы по информационной безопасности информацией о том, что бот это так же один из способов для создания инцидента.

Постскриптум

Если интересно как мы управляем уязвимостями вам сюда.

"5 минут на создание бота" - миф развенчан
"5 минут на создание бота" - миф развенчан
Теги:
Хабы:
Рейтинг0
Комментарии3

Публикации

Истории

Работа

Ближайшие события

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань