Злоумышленники получили доступ к тысячам незащищённых моделей искусственного интеллекта.
Исследователи в области безопасности ИИ выявили серьёзную уязвимость в открытой платформе искусственного интеллекта Ollama. Уязвимость, получившая кодовое имя Probllama и идентификационный номер CVE-2024-37032. Проблема могла быть использована злоумышленниками для удалённого выполнения кода.
Недостаток безопасности был выявлен компанией Wiz, занимающейся облачной безопасностью. Проблема была официально раскрыта 5 мая 2024 года и устранена в версии 0.1.34, выпущенной 7 мая 2024 года.
Платформа Ollama предназначена для упаковки, развёртывания и запуска крупных языковых моделей (LLM) на устройствах под управлением Windows, Linux и macOS. Основной проблемой стала недостаточная проверка вводимых данных, что и привело к уязвимости типа Path Traversal. Эта уязвимость позволяла злоумышленникам перезаписывать произвольные файлы на сервере и выполнять удалённый код.
Для успешной эксплуатации уязвимости злоумышленнику необходимо было отправить специально сформированные HTTP-запросы к API серверу Ollama. В частности, эксплуатировался конечный пункт API «/api/pull», предназначенный для загрузки моделей из официального или частного репозитория. Злоумышленники могли предоставить вредоносный файл манифеста модели, содержащий вредоносный путь в поле digest.
Эта уязвимость могла использоваться для повреждения файлов системы и удалённого выполнения кода путём перезаписи конфигурационного файла «etc/ld.so.preload», связанного с динамическим компоновщиком («ld.so»), для включения вредоносной библиотеки и её запуска перед выполнением любой программы.
Хотя риск удалённого выполнения кода в стандартных установках Linux минимален, в Docker-развёртываниях, где API-сервер открыт для публичного доступа, риск возрастает многократно. В этих условиях сервер работает с правами root и прослушивает 0.0.0.0, что позволяет удалённую эксплуатацию уязвимости.
Исследователь безопасности Саги Цадик отметил, что проблема особенно серьёзна в установках Docker, так как сервер работает с правами суперпользователя и слушает все сетевые интерфейсы.
Дополнительной проблемой является отсутствие аутентификации в Ollama, что позволяет злоумышленникам эксплуатировать общедоступные серверы для кражи или изменения моделей ИИ и компрометации серверов для самоуправляемого вывода ИИ.
Для обеспечения безопасности таких сервисов рекомендуется использовать промежуточное ПО, такое как обратные прокси-серверы с аутентификацией. Wiz выявила более 1000 открытых инстансов Ollama, хранящих множество ИИ-моделей без какой-либо защиты.
Цадик добавил, что CVE-2024-37032 — это легкоэксплуатируемая уязвимость, несмотря на современный код платформы Ollama. «Классические уязвимости, такие как Path Traversal, остаются проблемой даже в новейших программных продуктах».
Компания Protect AI также недавно предупреждала о более чем 60 уязвимостях в различных инструментах для ИИ/ML, включая критические проблемы, такие как раскрытие информации, доступ к ограниченным ресурсам, повышение привилегий и полный захват системы. Самая серьёзная из этих уязвимостей, CVE-2024-22476, представляет собой SQL-инъекцию в программном обеспечении Intel Neural Compressor, что позволяет злоумышленникам загружать произвольные файлы с хост-системы.
Сбалансированная диета для серого вещества