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