Технооптимизм. Разбираемся, как киберпреступники могут использовать машинное обучение
Как правило, первое, с чем ассоциируется словосочетание «машинное обучение» (machine learning) — это цифровизация, наращивание темпов производства всего на свете, распознавание речи, умные помощники и прочее. Однако, как и у всех продвинутых технологий, у ML есть две стороны медали. С одной стороны, машинное обучение действительно позволяет (вкупе с развитием вычислительных технологий) шагнуть на новую ступень восприятия реальности. Но с другой стороны, применение этой технологии в информационных системах дает злоумышленникам дополнительный вектор атак, как показано ниже.
Yingzhe He et al., «Towards Security Threats of Deep Learning Systems: A Survey», 2020
В каких целях киберпреступники используют машинное обучение?
В этой статье сделан обзор методов, которые используют злоумышленники. Если вкратце описать задачи киберпреступников, то можно разделить их на несколько категорий:
сбор информации для подготовки к атаке, мимикрия под обычного пользователя,
обход ограничений для неавторизованного доступа,
непосредственно совершение атаки (запуск вредоносного ПО, DDoS-атака и пр.),
автоматизация процессов.
И в каждой из этих задач алгоритмы машинного обучения способны внести значительный вклад.
Хакнуть можно все! Чего именно стоит опасаться?
Чем точнее атака, тем выше вероятность успеха. Например, опираясь на параметры активности пользователей социальных сетей можно понять, какая группа людей будет наиболее уязвима к фишинговым рассылкам. Велика вероятность, что пользователь, интересующийся темами ИТ или ИБ, не будет кликать подозрительную ссылку.
В случае реализации направленной атаки наличие классификации «продвинутых» сотрудников компании по поведению в сети уменьшает вероятность обнаружения вредоносных действий злоумышленников. Таким образом у хакеров появляется больше шансов провести удачную атаку.
Другой пример — на основе открытых данных можно выявить группу людей, обладающих высоким уровнем дохода. Таким образом они становятся уязвимыми перед разнообразными мошенническими схемами. Так что есть повод задуматься тем, кто любит выкладывать в соц. сети фото с дорогими брендовыми кроссовками или сумкой.
Стоит ли говорить о таких очевидных задачах, как распознавание капчи, подбор паролей и пр., которые тоже вполне успешно решаются при помощи машинного обучения. Так, например, вот в этой статье описывается опыт обучения нейросети для взлома простой текстовой капчи. Решением в данной ситуации является reCAPTCHA от Google, но и она не идеальна. Поэтому лучшим вариантом на текущий момент становится что-то более сложное, вроде MathCaptcha или альтернативных вариантов. Если говорить про задачу подбора паролей, то конечно же оптимальным вариантом для пользователей по-прежнему остается пароль, сгенерированный случайным образом. Тем не менее нейросети способны моделировать пароли, например, обучаясь на уже существующих примерах (почитать можно здесь). Другой вариант — использование для моделирования паролей GAN (генеративно-состязательные нейронные сети).
В статье «AI Security and Adversarial Machine Learning 101» можно прочесть об уязвимостях нейронных сетей. Например, если говорить о транспортной инфраструктуре в беспилотных автомобилях результат работы системы распознавания дорожных знаков (в том числе ограничивающих скоростной режим) при возникновении на идентифицируемом объекте наклейки (триггера) с высокой вероятностью будет некорректным, что может привести к возникновению аварийной ситуации. В начале 2019 года было опубликовано более 100 работ, описывающих различные способы обмана системы распознавания образов в беспилотных автомобилях. Понятно, что время не стоит на месте, системы распознавания непрерывно улучшаются, но вместе с ними совершенствуются и способы их взлома.
В области кибербезопасности также можно найти интересные работы, посвященные обходу как привычных всем спам-фильтров, так и систем обнаружения вредоносного ПО, в основе которых лежит состязательное обучение.
Системы распознавания лиц и «умные» голосовые помощники также уязвимы. И если с первыми все понятно (двухфакторная аутентификация — наше все), то голосовые помощники в случае модификации данных на входе (например, добавления практически неразличимого человеческому уху шума) могут неожиданно начать выполнять не те команды, которые были произнесены, или вести себя совершенно неожиданным образом.
Хочется посмотреть увлекательный фильм, выбрать интересный ресторан или хороший отель? И здесь, оказывается, все не так просто, ведь системы ранжирования также весьма ненадежны. Отставленный негативный комментарий может быть некорректно интерпретирован алгоритмом машинного обучения как положительный из-за незначительно измененного слова в предложении.
В завершении темы уязвимостей в алгоритмах машинного обучения можно привести пример, связанный с системами выявления подозрительных транзакций (Fraud Detection Systems), которые используются различными банками. При проведении атаки злоумышленник, манипулируя данными в процессе обучения, может значительно снизить эффективность работы нейронной сети, что даст возможность транзакциям злоумышленников остаться незамеченными.
Может показаться, что вопросы применения или обеспечения безопасности ML совершенно не влияют на общество. Однако в связи с повсеместным применением и потребностью в наличии этой технологии в повседневной жизни (положите руку в карман, с высокой вероятностью там лежит мощный современный гаджет) утверждать о том, что ML это в параллельной вселенной становится сложнее.
Как это работает на практике? Black box, Gray box, White box
В статье «Robust Physical-World Attacks on Deep Learning Visual Classification» более подробно разобраны различные механизмы работы атак на ML-алгоритмы со ссылками на тексты с описанием деталей.
В целом можно классифицировать имеющиеся методы проведения атак по уровню осведомленности злоумышленника об архитектуре системы на основе нейронной сети и об используемых датасетах. Так, можно выделить следующие способы:
black box («черный ящик» — злоумышленник может только направлять данные на вход системе и получать простой выход, например, класс, к которому принадлежит изображение)
gray box (злоумышленник также владеет некоторой информацией о датасете, архитектуре нейронной сети)
white box (известна вся информация — и датасет, на котором обучалась нейронная сеть, и вся информация об ее архитектуре, вплоть до весов)
Основной вектор проведения атак методом White box направлен на изменение исходной информации. Так, система вполне может принять панду за гиббона, если к изображению добавить незаметный человеческому глазу шум,
I. Goodfellow et al., «Explaining and Harnessing Adversarial Examples», 2014
а также неверно распознать дорожные знаки, если они будут повернуты или разрисованы.
K. Eykholt et al., «Robust Physical-World Attacks on Deep Learning Visual Classification», 2018
Более того, в другой статье можно найти пример атаки, при которой эмблема одной популярной фастфуд-сети может быть принята за дорожный знак.
В условиях реализации сценария Gray box можно построить нейросеть с архитектурой, аналогичной уже существующей, и обучить ее, зная вход-выход существующей нейросети. Таким образом, взламывается не исходная нейросеть, а ее реплика. В целом Gray box редко выделяются в отдельный класс, так как по большому счету они близки к атакам методом Black box, но с некоторой дополнительной информацией.
Теперь поговорим о Black box. Вот в этой статье неплохо описана методология атак на подобные системы. Для проведения Black box атаки необходим неограниченный доступ к API-модели (ну и еще знание confidence), что в общем-то составляет основную сложность для ее реализации. Идея проведения подобных атак проста. Допустим, мы подаем на вход модели фотографию собаки, а на выходе получаем результат классификации и confidence (вероятность принадлежности картинки этому классу — по сути показатель уверенности модели в результате). Далее, добавляя тот или иной шум к фотографии, мы будем отслеживать изменение confidence. Так, постепенно, можно понять, какой шум следует добавить, чтобы модель «увидела» на этой фотографии не собаку, а, скажем, кота.
Еще немного о Backdoor
Говорить о различных классификациях и способах реализации атак можно долго, но хочется закончить на Backdoor-атаках (или Data Poisoning), принцип действия которых довольно интересный (мы уже писали о них в этом посте). Если у злоумышленника есть доступ к процессу обучения, то он может скорректировать картинки, добавив определенный паттерн (например, квадрат, как на рисунке ниже, для того, чтобы нейросеть всегда давала определенный ответ тогда, когда встречает паттерн на изображении.
При этом оказывается, что иногда достаточно изменить всего один пиксель на изображении (см. статью про One-Pixel Attacks). Кроме того, такой тип атак может применяться, например, в системах распознавания лиц (Face Recognition Systems). При наличии на изображениях определенных паттернов поведение системы будет отличаться от ожидаемого. Такими паттернами могут быть как жесты, так и некоторые привычные вещи — очки или маска.
Adversarial Attacks on Deep Learning Models
Перейдем к практике. Коллеги из Avito написали очень любопытную статью на Хабре с описанием своего способа борьбы с копированием контента (объявлений о продаже машин) на другие ресурсы. Создается ощущение, что мы перешли к баттлу одних ML-алгоритмов против других. Действительно — злоумышленники обучили нейросеть находить нужные объявления по определенному паттерну (плашка «Avito» вместо номерного знака), а в ответ на это был использован способ с генерацией шума для обмана этой сети. Тот случай, когда состязательное обучение было использовано во благо :)
В заключение хочется порекомендовать статью «Adversarial Attacks on Deep Learning Models», где приводятся примеры, как можно самостоятельно смоделировать атаки. Надеемся, вы будете пользоваться этой информацией только для защиты.
Надежда Гаврикова, специалист по машинному обучению «Инфосистемы Джет»
Алина Вавилова, старший инженер по информационной безопасности «Инфосистемы Джет»