Вопросы по безопасности ботов в командах

Наша команда создала чат-бота на платформе ботов Майкрософт (Nodejs), и чат-бот развертывается в командах через свой манифест администратором клиента организации.

У меня было несколько вопросов по ценным бумагам (вопросы касаются только командных ботов)

1) Насколько легко злоумышленнику будет эмулировать конечную точку командного канала? (Бот использует 3 уровня проверки в обработчике активности OnMessage. (Api графика и некоторые другие специфические для организации)). Но проблема в том, что мы используем вызов API-интерфейса teaminfo.getmembers (контекст) для получения идентификатора электронной почты пользователя от команд к пройти эти проверки.

2) Уязвимы ли teaminfo.getmembers (context)? Может ли злоумышленник предоставить дубликат точного контекста поворота любого существующего аутентичного пользователя?


person sree    schedule 30.07.2020    source источник


Ответы (1)


Это интересный вопрос, я считаю, что создать вредоносный TurnContext непросто для любого злоумышленника. Запрос в зашифрованном формате поступает в службы фреймворка бота, на которых работает различный уровень безопасности. Если у вас есть исходящий брандмауэр, блокирующий трафик от вашего бота в Интернет, вы можете занести в белый список URL в соответствии со стандартами. Вы также можете реализовать аутентификацию в своем боте, чтобы добавить еще один уровень безопасности. Вы можете проверить рекомендации по безопасности для ботов.

person Trinetra-MSFT    schedule 30.07.2020
comment
Этот ответ охватывает многое, поэтому я просто `` добавлю '', а не добавлю новый, но у меня есть сообщение в блоге, которое может оказаться полезным для понимания некоторых особенностей ботов по адресу hilton.giesenow.com/how-bot-calls-actually-work - person Hilton Giesenow; 30.07.2020
comment
Отлично @HiltonGiesenow Это действительно полезно для понимания основного потока работы бота. - person Trinetra-MSFT; 30.07.2020
comment
Отличный @HiltonGiesenow, Отличный блог, Как вы правильно сказали, документация Microsoft хотя и действительно хороша, но немного сложна для понимания вещей, особенно для новичков. Возможно, вы захотите добавить блоги о потоках диалогов и хранилище сеансов. Может быть, такие вещи, как добавление транскрипта с помощью специального промежуточного программного обеспечения. Также у вас есть более простое объяснение OAuth2.0, Microsoft doc смущает меня. - person sree; 31.07.2020
comment
@ Trinetra-MSFT Bot размещается в службах Azure, в службе приложений есть политика CORS, вы говорите о ее блокировке? (Исходящий брандмауэр для блокировки трафика к боту). Наш бот на данный момент не зарегистрирован в Bot framework Channel. Также еще не включен OAuth 2.0 для команд. На данный момент у нас есть 2 открытых API-ключа directline и один для Teams. - person sree; 31.07.2020
comment
Рад слышать, что это полезно, и спасибо за отличные предложения по темам, мы рассмотрим эти - person Hilton Giesenow; 31.07.2020