Компрометация обучающих датасетов: новые методы загрязнения данных и способы защиты
В последние годы ИИ развивается быстрее, чем любая другая область ИТ. Количество команд по разработке новых моделей растёт, а интеграция технологий машинного обучения в бизнес-процессы стала мировым трендом и показателем технической квалификации компании.
Повсеместное внедрение интеллектуальных помощников в интерфейс взаимодействия с пользователем способствует росту спроса на новые и более способные языковые модели. Увеличивается количество как закрытых моделей, готовых предоставлять коммерческие услуги клиентам, так и открытых, доступных для локального развёртывания, однако, и этот рост не может покрыть все потребности рынка.
Коммерческие решения, во-первых, зачастую могут оказаться чересчур дорогостоящими. Во-вторых, в случае необходимости обработки моделью чувствительной пользовательской информации, появляются риски утечки. Решения с открытым исходным кодом подразумевают локальную установку, что снижает риск утечек и делает возможным обработку практически любой внутренней информации компании.
Однако, как правило, бизнес-задачи требуют специфических навыков от моделей машинного обучения, и среди открытых решений попросту не находится нужного. Например, можно столкнуться с рядом трудностей, если попытаться найти лёгкую локальную модель, которая была бы способна перефразировать предложения без потери смысла. Именно в таких условиях появляется необходимость создания собственной модели или дообучения существующих решений дополнительным датасетом. В этом случае можно столкнуться с риском компрометации обучающих данных, что приведёт к созданию уязвимой или не соответствующей требованиям модели, не способной решать бизнес-задачи (Data Poisoning).
Прежде всего, опасность компрометации датасетов заключается в её повсеместности: небезопасными могут быть как самостоятельно собираемые решения, так и скачиваемые из открытых источников.
Какая выгода для злоумышленников кроется в компрометации обучающих датасетов? Это позволяет вызвать нестабильное и неожиданное поведение моделей, которое злоумышленник может использовать в дальнейшем в своих целях. Рассмотрим в качестве примера определение вредоносных сигнатур в программном коде с помощью нейронных сетей. Если злоумышленник добавит в обучающий набор данных несколько сигнатур, являющихся на самом деле вредоносными, но помеченными как «безопасные», модель обучится пропускать фактически уязвимые куски программного кода. Такое поведение, в свою очередь, даёт возможность злоумышленнику в дальнейшем внедрять бэкдоры в программный код не боясь, что их можно обнаружить.
Особой опасностью в данной атаке является тот факт, что нескольких неверных строк в датасете может быть достаточно для формирования неверных весов нейронных сетей, а, как следствие, и сбоев. Например, для достижения значительного результата в изменении поведения популярных открытых локальных моделей LLaMa-7/13B, достаточно лишь 0,5% доли изменений в обучающем датасете. Из-за этого свойства становится проблематично выявить уязвимость, текущие обучающие выборки достигают огромных размеров, и поэтому найти в них несколько неверных строк зачастую оказывается сложно. Помимо этого, обучение или дообучение моделей машинного обучения происходит, как правило, в несколько итераций, поэтому злоумышленник может постепенно внедрять новые уязвимые строки и убирать старые, что усложняет обнаружение факта компрометации.
Ещё одним способом реализации атаки является внедрение в датасеты некоторого ключевого набора символов или слова, вызывающего заведомо некорректное поведение модели. Например, если давать на вход определённую последовательность символов большим языковым моделям, есть вероятность, что они начнут цитировать целые куски датасетов, на которых они были обучены. С помощью такой атаки можно, например, обходить внутреннюю цензуру большой языковой модели, которая не позволяет отдавать опасную и некорректную информацию пользователям. Например, когда мы тестировали различие открытые языковые модели для внедрения их в STEP SecurityDataLake(SDL), нами была обнаружена модель, обученная на датасетах без цензуры, что не позволяло с её помощью анализировать пользовательские инциденты информационной безопасности.
Описанный выше сценарий объясняет всю важность и актуальность проблемы компрометации датасетов для действующих и потенциальных заказчиков: все услуги в области ИИ, особенно в контексте информационной безопасности так или иначе должны проходить проверку на наличие компрометирующей информации в обучающих данных.
Важным элементом поддержания актуальности и жизнеспособности модели машинного обучения является её своевременный файн-тюн, то есть, дообучение. Продолжим развивать описанный выше пример использования модели для выявления уязвимостей в программном коде. Со временем часть сигнатур может устареть и выйти из использования, например, из-за появления обновлённых библиотек или перехода на другую версию языка программирования. Эти же факты способствуют, в свою очередь, появлению новых уязвимых сигнатур, которые могут быть эксплуатированы злоумышленником. В таком случае одним из способов поддержания актуальной базы знаний модели является сбор обработанных ею файлов с программным кодом с целью дальнейшего формирования обучающей выборки на их базе. На этом этапе начинается эксплуатация уязвимости компрометации датасетов со стороны хакера: он намеренно отправляет определённый набор сигнатур, которые попадут в обучающие данные и «отравят» их. Следует уточнить, что реализация такой атаки возможна только при наличии внутреннего нарушителя, имеющего глубокий доступ к самой модели и датасетам.
Имеет место быть и ненамеренное наполнение обучающей информации конфиденциальными данными. Например, если организация использует модель машинного обучения для работы с клиентами в интерактивном режиме, во время которой пользователи могут сообщать персональные данные или другую чувствительную информацию. Этот текст без должного обезличивания и обработки может попасть в итоговый тренировочный датасет, что может повлечь за собой дальнейшую утечку. Подобная уязвимость была обнаружена в своё время в GPT3.5 Turbo, исследователям удалось выудить информацию из тренировочных датасетов, на которых обучалась эта модель. Оказалось, что в ней содержались номера факса, телефона, электронные и физические адреса.
Как же защитить свои датасеты и обнаружить компрометацию данных в сторонних обучающих выборках?
-
Контролируйте доступ пользователей, если речь идёт о локальных датасетах организации или информации, собираемой в процессе функционирования вашей модели. Сузьте круг лиц, которым доступны операции просмотра и модификации до разработчиков и администраторов, чья работа напрямую связана с разработкой или поддержкой обучающих выборок.
-
Контролируйте целостность собственных наборов данных. Если вы знаете, что датасет полностью готов к обучению модели и далее не будет изменён, можно сохранить его хэш-сумму для невозможности модификации выборки или использовать более продвинутые методы контроля целостности. При попытке злоумышленника внедрить уязвимые элементы в датасет, вы сможете обнаружить данный инцидент и принять меры.
-
Наладьте качественный процесс мониторинга модели на всех этапах её функционирования. Чем больше метрик вы получаете во время работы, тем больше вероятность обнаружить аномалию и не пропустить критическую уязвимость модели.
-
Если вы собираете данные от пользователей – следите за равномерностью распределения, поступающей в датасет информации. Не позволяйте пользователям генерировать значительную часть датасета, так как они могут оказаться злоумышленниками и целенаправленно отправлять данные, компрометирующие будущий датасет.
-
Проверяйте точность работы модели всеми методами. Хорошей практикой является попытка взлома своей же модели. Представьте себя на месте злоумышленника и попытайтесь заполучить доступ к информации или вызвать непредсказуемое поведение. Такие практики не только позволяют обнаружить неординарные уязвимости в обученных моделях, но и значительно повышают квалификацию специалистов, занимающихся задачей.
-
Отработайте подход для создания и поиска безопасных датасетов. Рекомендуется использовать специфические парсеры и иные средства анализа данных, находящихся в датасете, например, визуализации и диаграммы. При формировании собственного датасета не забывайте обезличивать информацию, которая в него попадает, убедитесь, что вы не будете обучать модель на конфиденциальных данных, используйте пайплайны анализа текстов или сложные регулярные выражения для поиска аномалий в подготавливаемом датасете. Если вы используете датасет из открытого источника, внимательно изучите его автора, состав и описание. Нет гарантии, что самый авторитетный автор открытого датасета не допустил его компрометацию, но это всё равно позволяет снизить риски. Ищите датасеты с открытым доступом на предназначенных для этого платформах.
-
Внедряйте шифрование используемых датасетов. Если вы убедились в отсутствии компрометирующей информации в обучающей выборке, прибегните к её шифрованию для невозможности стороннего вмешательства в процесс обучения модели.
-
Валидируйте датасеты с помощью проверенных ИИ. Весьма необычной практикой может показаться работа стороннего ИИ для развития другого ИИ. На самом деле, это современные реалии и развивающаяся тенденция. Качественные модели способны обнаружить в однородном тексте нехарактерные для него паттерны и указать на них команде разработки, что поможет обнаружить попытки компрометации.
-
Используйте продвинутые методы обучения моделей. Существующие методы обучения и тестирования (DPBA, RONI, KNHT) направлены на выявление факта обучения на скомпрометированной выборке. Как правило, концепция данных методов заключается в поочерёдном исключении элементов обучения или весов модели для её равномерного обучения. Недостатком такого подхода является повышенная сложность и низкая скорость обучения.
-
Обучайте модель с учётом необходимости создания безопасной внутренней архитектуры. Если речь идёт о больших языковых моделях, необходимо обучать их в том числе и цензурированию самих себя. В таком случае, даже при попадании некорректной информации на вход ИИ, он сможет оградить себя самостоятельно от эксплуатации уязвимости.
Следует отметить, что вероятность реализации этих угроз на данный момент не так велика, так как область является крайне специфической. Компрометация обучающих выборок подразумевает необходимость проведения большой таргетированной работы со стороны злоумышленников, в то время как эксплуатация уязвимостей станет возможна лишь спустя длительное время. Тем не менее, обнаружение подобных атак является крайне трудным процессом и может повлечь за собой критические последствия для ИИ-архитектуры организации. Обеспечение безопасности нового направления, как ИИ базируется на базовых вещах: комплексном и внимательном подходе к обеспечению информационной безопасности.
Источник: CISOCLUB