Исследователи в области кибербезопасности предупреждают о значительных рисках, связанных с уязвимостями в цепочке поставок программного обеспечения для машинного обучения (ML). Так, в целом ряде MLOps-платформ недавно было выявлено более 20 уязвимостей, которые могут быть использованы для выполнения произвольного кода или загрузка вредоносных наборов данных.
Платформы MLOps предоставляют возможность проектировать и выполнять конвейеры моделей машинного обучения, храня модели в репозитории для дальнейшего использования в приложениях или предоставления доступа к ним через API. Однако некоторые особенности этих технологий делают их уязвимыми для атак.
Исследователи из JFrog в своём отчёте указывают на наличие уязвимостей, вызванных как основными форматами и процессами, так и ошибками реализации. Например, злоумышленники могут использовать поддержку автоматического выполнения кода при загрузке моделей, таких как файлы Pickle, что открывает новые пути для атак.
Опасность также кроется в использовании популярных сред разработки, таких как JupyterLab, позволяющей выполнять код и выводить результаты в интерактивном режиме. Проблема в том, что результат выполнения кода может включать HTML и JavaScript, которые будут автоматически выполнены браузером, создавая потенциальную уязвимость для атак с использованием межсайтового скриптинга (XSS).
Один из примеров такой уязвимости был обнаружен в MLFlow, где недостаточная фильтрация данных приводит к выполнению клиентского кода в JupyterLab, создавая угрозу для безопасности.
Второй тип уязвимостей связан с недостатками реализации, такими как отсутствие аутентификации на платформах MLOps, что позволяет злоумышленникам с доступом к сети получить возможности выполнения кода, используя функции ML Pipeline. Такие атаки не являются теоретическими – они уже применялись в реальных вредоносных операциях, например, при развёртывании криптовалютных майнеров на уязвимых платформах.
Ещё одна уязвимость касается обхода контейнеров в Seldon Core, что позволяет атакующим выходить за рамки выполнения кода и распространяться внутри облачной среды, получая доступ к моделям и данным других пользователей.
Все эти уязвимости могут быть использованы для проникновения и распространения внутри организации, а также компрометации серверов. Исследователи подчёркивают, что важно обеспечить изоляцию и защиту среды, в которой работают модели, чтобы предотвратить возможность выполнения произвольного кода.
Отчёт JFrog появился вскоре после недавних случаев выявления уязвимостей в других инструментах с открытым исходным кодом, таких как LangChainи Ask Astro, которые могли привести к утечке данных и другим угрозам безопасности.
Атаки на цепочки поставок в сфере искусственного интеллекта и машинного обучения в последнее время становятся всё более изощрёнными и труднообнаружимыми, что создаёт новые вызовы для специалистов по кибербезопасности.