Что такое model stealing attack?
Ответ от нейросети
sobes.tech AI
Что хотят услышать интервьюеры:
Model stealing attack — это атака, при которой злоумышленник через множество запросов к ML-модели пытается восстановить её поведение или скопировать её функциональность. Обычно цель — получить модель-замену с похожим качеством без доступа к исходным весам или данным. Это угроза для закрытых API и коммерческих моделей.
Определение:
Model stealing attack — это метод извлечения информации из чужой модели машинного обучения через её предсказания. Атакующий отправляет входные данные, анализирует ответы и строит собственную модель, которая приближает поведение оригинальной. В зависимости от ситуации это может быть копирование границ принятия решений, аппроксимация вероятностей классов или восстановление отдельных свойств модели.
Пример использования:
Например, компания предоставляет API для классификации изображений, которое возвращает вероятности классов. Злоумышленник массово отправляет изображения, собирает ответы и обучает свою модель на этих «метках» от API.
# Упрощённый пример идеи model stealing:
# 1. Генерируем много входов
# 2. Запрашиваем у API ответы оригинальной модели
# 3. Обучаем модель-имитатор на собранных парах (x, y_pred)
X_query = generate_many_inputs()
y_pred = []
for x in X_query:
y_pred.append(black_box_api.predict(x)) # ответы исходной модели
stolen_model = train_student_model(X_query, y_pred)
# Теперь stolen_model пытается повторять поведение original_model
Пояснение кода:
Код показывает только принцип атаки, а не рабочую реализацию. Сначала формируется большой набор входов для запроса к исходной модели. Затем по каждому входу собирается ответ API, который выступает в роли псевдометок. После этого обучается «модель-имитатор», которая минимизирует расхождение с ответами исходной модели и приближает её поведение.
Ключевые моменты:
- Атака не требует доступа к весам модели, достаточно возможности отправлять запросы.
- Часто используется в сценариях с black-box API.
- Может приводить к утечке интеллектуальной собственности и снижению ценности сервиса.
- Вероятности, ранжирование и подробные ответы модели обычно облегчают кражу.
- Защищаются rate limiting, мониторингом запросов, шумом в ответах и ограничением детализации выходов.