Машинное обучение сейчас используется практически везде, по крайней мере если верить рекламе. И хотя для многих областей это скорее хайп, чем реальное использование, стоит признать, что ML сейчас действительно широко распространено. И, как у любого другого направления в ИТ, у машинного обучения также есть проблемы с безопасностью и в этой статье мы рассмотрим десять наиболее распространенных рисков ИБ.

Этот рейтинг составлен открытым проектом OWASP, и большинству ИТ специалистов знаком их рейтинг OWASP TOP 10 WEB, содержащий десять наиболее распространенных уязвимостей веб. Кстати, в ноябре проект обещает выпустить новую версию своего рейтинга.

Но вернемся к OWASP TOP 10 для машинного обучения. На странице проекта авторы честно сообщают, что рейтинг находится в стадии черновика и в него часто вносятся изменения.

Текущая версия рейтинга имеет следующий вид:

  • ML01:2023 Атака на манипулирование входными данными

  • ML02:2023 Атака на отравление данных

  • ML03:2023 Атака на инверсию модели

  • ML04:2023 Атака на выявление участия

  • ML05:2023 Кража модели

  • ML06:2023 Атаки на цепочку поставок ИИ

  • ML07:2023 Атака на передачу данных для обучения

  • ML08:2023 Искажение модели

  • ML09:2023 Атака на целостность выходных данных

  • ML10:2023 Отравление модели

Далее мы кратко рассмотрим каждую из угроз и поговорим о том, как их можно предотвратить.

Атака на манипулирование входными данными

При реализации атаки манипулированием данными, атакующий намеренно изменяет входные данные, чтобы ввести модель в заблуждение. Например, модель глубокого обучения обучена классифицировать изображения по различным категориям, таким как собаки и кошки. Злоумышленник манипулирует исходным изображением, которое очень похоже на обычное изображение кошки, но с небольшими, тщательно продуманными изменениями, из‑за которых модель ошибочно классифицирует его как собаку. Когда модель развертывается в реальных условиях, злоумышленник может использовать измененный образ для обхода мер безопасности или причинения вреда системе.

Другой пример. Модель глубокого обучения обучена обнаруживать вторжения в сеть. Злоумышленник манипулирует сетевым трафиком, тщательно формируя пакеты таким образом, чтобы они не попадали в систему обнаружения вторжений модели. Злоумышленник может изменить характеристики сетевого трафика, такие как IP‑адрес источника, IP‑адрес назначения или полезную нагрузку, таким образом, что они не будут выявлены системой обнаружения вторжений. Например, злоумышленник может скрыть свой исходный IP‑адрес за прокси‑сервером или зашифровать полезную нагрузку своего сетевого трафика. Этот тип атаки может иметь серьезные последствия, поскольку может привести к краже данных, компрометации системы или другим формам ущерба.

Одним из подходов к защите от атак, связанных с манипулированием входными данными, заключается в обучении модели на состязательных примерах. Это может помочь модели стать более устойчивой к атакам и снизить вероятность того, что ее введут в заблуждение.

Другой подход заключается в использовании моделей, которые разработаны таким образом, чтобы быть устойчивыми к манипулятивным атакам, таким как состязательное обучение или модели, включающие механизмы защиты.

И наконец, проверка вводимых данных как и в обычных ИТ системах, в ML является еще одним важным механизмом защиты, который может использоваться для обнаружения и предотвращения атак. Проверка включает в себя контроль входных данных на наличие аномалий, таких как неожиданные значения или шаблоны, и отклонение входных данных, которые могут быть вредоносными.

Отправление данных

Атаки с использованием вредоносных данных происходят, когда злоумышленник манипулирует обучающими данными, чтобы заставить модель вести себя нежелательным образом. Например, злоумышленник использует обучающие данные для модели глубокого обучения, которая классифицирует электронные письма как спам или не спам. Хакер выполнил эту атаку, внедрив вредоносные электронные письма со спамом в набор обучающих данных. Это может быть сделано путем компрометации системы хранения данных, например, путем взлома сети или использования уязвимости в ПО СХД. Злоумышленник также может манипулировать процессом маркировки данных, например, подделывая маркировку электронных писем или подкупая тех, кто маркирует данные, с целью получения неверных меток.

Для эффективного предотвращения необходимо убедиться, что обучающие данные тщательно проверены, прежде чем они будут использованы для обучения модели. Это можно сделать, внедрив проверки достоверности данных и задействовав несколько средств маркировки данных для проверки точности маркировки данных. И требования к безопасному хранению данных никто не отменял. Например, можно хранить данные в зашифрованном виде.

Атака инверсии модели

Атаки с использованием инверсии модели происходят, когда злоумышленник перепроектирует модель, чтобы извлечь из нее информацию. Для лучшего понимания рассмотрим следующий пример.

Рекламодатель хочет автоматизировать свои рекламные кампании, используя ботов для кликов по объявлениям и посещения веб‑сайтов. Однако платформы онлайн‑рекламы используют модели обнаружения ботов, для предотвращения таких действий. Чтобы обойти эти модели, рекламодатель обучает модель глубокого обучения для обнаружения ботов и использует ее для инвертирования прогнозов модели обнаружения ботов, используемой платформой онлайн‑рекламы. Рекламодатель вводит своих ботов в модель и может сделать так, чтобы они выглядели как обычные пользователи, что позволяет ему обойти механизм обнаружения ботов и успешно проводить свои рекламные кампании.

Рекламодатель выполнил эту атаку, обучив свою собственную модель обнаружения ботов, а затем использовал ее для изменения прогнозов модели обнаружения ботов, платформы онлайн‑рекламы. Они смогли получить доступ к этой другой модели через уязвимость в ее реализации или с помощью API. Конечным результатом атаки стало то, что рекламодатель успешно автоматизировал свои рекламные кампании, заставив своих ботов выглядеть как обычные пользователи.

Для защиты здесь тоже необходимо использовать ограничение доступа к модели или ее прогнозам с помощью аутентификации, шифрования или других методов защиты.

Проверка входных данных для модели может предотвратить предоставление злоумышленниками вредоносных данных, которые могут быть использованы для изменения модели. Это можно сделать, проверив формат, диапазон и согласованность входных данных перед их обработкой моделью.

Также, обеспечение прозрачности модели и ее прогнозов может помочь в обнаружении и предотвращении атак на инверсию модели. Это можно сделать, регистрируя все входные и выходные данные, предоставляя пояснения к прогнозам модели или позволяя пользователям просматривать внутренние представления модели.

Атака на выявление участия

Атаки на выявление участия происходят, когда злоумышленник манипулирует обучающими данными модели, чтобы заставить ее вести себя таким образом, чтобы раскрыть конфиденциальную информацию.

Например, злоумышленник хочет получить доступ к конфиденциальной финансовой информации физических лиц. Для этого он обучает модель на основе набора финансовых записей и использует ее для запроса, была ли запись конкретного физического лица включена в обучающие данные. Затем злоумышленник может использовать эту информацию для получения финансовой истории и конфиденциальной информации физических лиц.

Здесь хорошим механизмом защиты является обучение моделей на основе рандомизированных или перетасованных данных. Оно затруднит злоумышленнику определение того, был ли конкретный пример включен в обучающий набор данных.

Также полезно запутывание прогнозов модели путем добавления случайного шума или использования методов дифференциальной конфиденциальности. Такое решение может помочь предотвратить атаки на выявление участия, затрудняя злоумышленнику определение обучающих данных модели.

Кража модели

Атаки, связанные с кражей модели происходят, когда злоумышленник получает доступ к параметрам модели. К примеру, злоумышленник работает на конкурента компании, которая разработала ценную модель машинного обучения. Он хочет украсть эту модель, чтобы его компания могла получить конкурентное преимущество и начать использовать ее в своих целях.

Как только злоумышленник проведет обратное проектирование модели, он может использовать эту информацию для воссоздания модели и начала использовать ее в своих собственных целях. Это может привести к значительным финансовым потерям для исходной компании, а также нанести ущерб ее репутации.

Здесь, помимо уже знакомых нам средств контроля доступа и шифрования, для защиты можно также использовать запутывание кода модели и затруднение обратного проектирования.

Атаки на цепочку поставок ИИ

При атаках на цепочку поставок ML злоумышленники нацеливаются на элементы обучения и разработки ML. Эта категория важна, поскольку цепочка поставок программного обеспечения в машинном обучении включает в себя даже больше элементов, чем в случае классического программного обеспечения. Он состоит из специальных элементов, таких как платформы MLOps, платформы управления данными, программное обеспечение для управления моделями, модельные центры и другие специализированные типы программного обеспечения, которые позволяют инженерам ML эффективно тестировать и внедрять программное обеспечение.

Например, организация создает конвейер MLOps, в котором используется несколько экземпляров программного обеспечения, поддерживающего развертывание. Одно из приложений, представляющее собой платформу логического вывода, открыто доступно в Интернете.

Злоумышленник обнаруживает, что веб‑интерфейс платформы доступен без аутентификации, и получает доступ к моделям, которые не предназначались для публичного использования.

Для защиты здесь можно применять контроль целостности пакетов. Прежде чем использовать какие‑либо пакеты в вашей инфраструктуре или зависимых приложениях, проверьте подлинность пакета, проверив его цифровую подпись. Также, постоянно следите за последними версиями пакетов в вашей цепочке поставок программного обеспечения и обновляйте свои зависимости, если вы используете устаревшее программное обеспечение.

Атака на передачу данных для обучения

Атаки с передачей данных для обучения происходят, когда злоумышленник обучает модель для одной задачи, а затем настраивает ее для другой, чтобы заставить вести себя нежелательным образом.

К примеру, атакующий обучает модель машинного обучения на основе вредоносного набора данных, содержащего измененные изображения лиц. Злоумышленник хочет использовать систему, используемую охранной фирмой для проверки личности. Затем злоумышленник передает знания модели целевой системе распознавания лиц. Целевая система начинает использовать измененную злоумышленником модель для проверки личности.

В результате система распознавания лиц начинает выдавать неверные прогнозы, что позволяет злоумышленнику обойти защиту и получить доступ к конфиденциальной информации. Например, злоумышленник может использовать собственное искаженное изображение, и система идентифицирует его как законного пользователя.

Для защиты используйте безопасные и надежные обучающие наборы данных. Реализация изоляции модели может помочь предотвратить передачу вредоносных знаний из одной модели в другую. Например, разделение сред обучения и развертывания может помешать злоумышленникам передавать знания из среды обучения в среду развертывания.

Использование дифференциальной конфиденциальности может помочь защитить конфиденциальность отдельных записей в обучающем наборе данных и предотвратить передачу вредоносных знаний из модели злоумышленника в целевую модель.

Искажение модели

Атаки с искажением модели происходят, когда злоумышленник манипулирует распределением обучающих данных, чтобы заставить модель вести себя нежелательным образом.

Например, финансовое учреждение использует модель машинного обучения для прогнозирования кредитоспособности заявителей на получение кредита, и прогнозы модели интегрируются в процесс утверждения. Злоумышленник хочет увеличить свои шансы на одобрение кредита, поэтому он манипулирует обратной связью в системе MLOps. Атакующий предоставляет системе поддельные данные обратной связи, указывающие на то, что заявители с высокой степенью риска в прошлом получали одобрение на получение кредитов, и эта обратная связь используется для обновления обучающих данных модели. В результате прогнозы модели смещены в сторону заявителей с низким уровнем риска, и шансы злоумышленника на одобрение кредита значительно повышаются.

Такого рода атаки могут поставить под угрозу точность и объективность модели, что приведет к непредвиденным последствиям и потенциальному ущербу для финансового учреждения и его клиентов.

Внедрите надежный контроль доступа: убедитесь, что только авторизованный персонал имеет доступ к системе MLOps и ее контурам обратной связи, а также что все действия регистрируются и проверяются.

Проверьте подлинность данных обратной связи: используйте такие методы, как цифровые подписи и контрольные суммы, чтобы убедиться в подлинности данных обратной связи, полученных системой, и отклонить любые данные, которые не соответствуют ожидаемому формату.

Для защиты используйте методы проверки и очистки данных. Очистите и подтвердите данные обратной связи перед их использованием для обновления обучающих данных, чтобы свести к минимуму риск использования неверных или вредоносных данных.

Также используйте такие методы, как статистические методы и методы, основанные на машинном обучении, для обнаружения аномалий в данных обратной связи и оповещения о них, которые могут указывать на атаку.

Постоянно контролируйте эффективность модели и сравнивайте ее прогнозы с фактическими результатами, чтобы выявить любые отклонения или перекосы.

Атака на целостность выходных данных

В сценарии атаки на целостность выходных данных злоумышленник стремится модифицировать выходные данные модели машинного обучения или манипулировать ими, чтобы изменить ее поведение или нанести вред системе, в которой она используется.

Например, злоумышленник получил доступ к выводам модели машинного обучения, которая используется для диагностики заболеваний в больнице. Злоумышленник изменяет выходные данные модели, заставляя ее выдавать неверные диагнозы пациентам. В результате пациенты получают неправильное лечение, что приводит к дальнейшему вреду и, возможно, даже к смерти.

Здесь мы также должны контролировать входные данные и осуществлять проверку подлинности. Для этого могут использоваться криптографические методы, такие как цифровые подписи и защищенные хэши.

Каналы связи между моделью и интерфейсом, отвечающим за отображение результатов, должны быть защищены с использованием защищенных протоколов, таких как SSL/TLS.

Отравление модели

Атаки, связанные с отравлением модели, происходят, когда злоумышленник манипулирует параметрами модели, чтобы заставить ее вести себя нежелательным образом.

Рассмотрим сценарий, в котором банк использует модель машинного обучения для идентификации рукописных символов на чеках, чтобы автоматизировать процесс их оплаты. Модель была обучена на большом наборе данных рукописных символов и была разработана для точной идентификации символов на основе определенных параметров, таких как размер, форма, наклон и интервал.

Злоумышленник, который хочет «отравить» модель машинного обучения, может манипулировать параметрами модели, изменяя изображения в обучающем наборе данных или непосредственно изменяя параметры модели. Это может привести к перепрограммированию модели для другой идентификации символов. Например, злоумышленник может изменить параметры таким образом, чтобы модель идентифицировала символ «5» как символ «2», что приведет к обработке неверных сумм.

Атакующий может воспользоваться этой уязвимостью, введя в процесс расчетов поддельные чеки, которые будут обработаны моделью как действительные из‑за измененных параметров. Это может привести к значительным финансовым потерям для банка.

Для защиты можно использовать добавление методов регуляризации, таких как регуляризация L1 или L2, к функции потерь помогает предотвратить переобучение и снизить вероятность атак, связанных с отравлением модели.

Разработка моделей с надежной архитектурой и функциями активации может помочь снизить вероятность успешных атак, связанных с отравлением модели.

Заключение

Как видно, атаки на ML достаточно разнообразны, злоумышленник может попытаться различными методами обмануть систему. При этом, помимо экзотических способов, свойственных системам ИИ, хакер может использовать такие «классические» средства как эксплуатация уязвимостей в ПО и перехват данных.

Поэтому, при построении систем машинного обучения необходимо уделять внимание как безопасности логики принятия решения ML, так и защите компонентов инфраструктуры данной системы.


Если вы работаете с технологиями машинного обучения или планируете их внедрять, предлагаем обратить внимание на наш курс Machine Learning.

Технологии развиваются быстро. С подпиской OTUS берёте нужные курсы сейчас, а при смене приоритетов — корректируете трек без доплат. Выгоднее, чем оплачивать каждый курс отдельно. Узнать в деталях

Комментарии (0)