Одним из интересных направлений "будущего", упомянутых в посте выше, является
безопасность систем машинного обучения.
Это тема на стыке собственно науки об анализе данных и компьютерной безопасности. Следует разделять уязвимости собственно алгоритмов, моделей и ошибки
деплоя или
имплементации.
Мне приходилось несколько раз анализировать защищённость AI-продуктов, для которых главной угрозой являлась утечка интеллектуальной собственности (модели нейронной сети, датасета, скриптов).
Ни разу при этом дело не дошло до матана и умных атак (а ведь так хотелось), потому что намного проще поломать классическими способами (однажды на это ушло ровно 6 минут).
Например, могут быть уязвимости при конвертации изображений, получаемых от пользователя (ведь обычно AI-продукты — это про компьютерное зрение), такие как
command injection или уязвимости в
ffmpeg,
imagemagick и других библиотеках для конвертации.
Также нельзя забывать про инфраструктуру проведения ML-экспериментов: дата саентист может забыть закрыть от посторонних глаз свой инстанс
Tensorboard или
Jupyter notebook, что может привести к исполнению кода и утечке моделей.
Что же касается собственно уязвимостей в ML, то главное, что нужно про них понимать, это модель нарушителя. Необходимо определить, что может
знать атакующий (используемый алгоритм, гиперпараметры, датасет, фичи, собственно саму модель), и что он может
делать (отравлять датасет, получать бинарные ответы о классификации, получать вероятностные ответы).
Про всё это хакеры задумывались давно, но году в 2016 я не мог в окружении найти людей, которые бы занимались этим направлением, никто этим не интересовался, а в 2017 в мире начался бум исследований в области
Adversarial Machine Learning.
Конечно, пейперы про adversarial examples были уже давно, но одной из первых популярных статей стал
блогпост про знаменитую панду-гиббона.
Посмотрите
презу с моего доклада на
KazHackStan 2017 про сабж. Экспертом не являюсь, так что это поверхностный взгляд с точки зрения пентестера.