Сфера безопасности систем машинного обучения, в частности исследования в области вредоносного машинного обучения (adversarial machine learning), стремительно развивается: исследователи обнаруживают и моделируют сложные методы искажения, разрушения и хищения моделей и данных. О безопасности решений машинного обучения известно еще очень мало, и неудивительно, что сегодня появляется все больше исследовательских работ в этой сфере, что во многом напоминает развитие криптоанализа в 1990-х годах. Атаки, осуществляемые с применением сложнейших математических методов, дают пищу для многочисленных научных работ, однако нужно иметь в виду, что основной вектор атак на системы машинного обучения, как и на традиционные системы, — это незащищенное программное обеспечение.

Демонстрации атак на системы машинного обучения иногда впечатляют — например, когда распечатанный на 3D-принтере предмет в форме черепахи под определенным углом зрения распознается моделью как огнестрельное оружие [1]. Либо имеется атака, когда на дорожный знак «Стоп» наклеивают стикеры, напоминающие пятна грязи, а система машинного обучения, созданная на базе современных разработок, начинает считать, что это знак ограничения скорости «70 км/ч» [2]. Однако возможен и куда более простой вариант, когда злоумышленник проникает в саму систему и просто заменяет метку «черепаха» на «оружие» или «Стоп» на «70 км/ч».

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

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

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

«Проблема в том, что шифрование — это просто математика, которая сама по себе не имеет исполнительных механизмов. Чтобы обеспечить защиту, математические методы придется воплотить в коде, который должен работать на компьютере, имеющем аппаратную часть, операционную систему и другое ПО. При этом компьютер обычно подключен к сети, а управляет им человек. Во всех этих элементах рано или поздно найдутся уязвимости, которые разрушат силу самой безупречной математики» [3]. Это касается даже самой слабой криптографии: гораздо проще найти уязвимость в ПО, чем разбираться в шифре. Если же говорить о криптографических алгоритмах, которые признаны взломанными, то для них разработаны более эффективные, чем простой перебор, атаки. Такие алгоритмы все еще можно использовать как реальное средство защиты, поскольку организовать широкомасштабный взлом математической части гораздо сложнее, чем банальный взлом компьютерной системы, на которой реализованы математические методы.

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

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

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

Однако эта аналогия верна лишь до определенной степени: в плане математической безупречности машинному обучению еще далеко до криптографии. Сегодня машинное обучение — трудная в понимании беспорядочная «каша»: нечто, основанное на спорадических разработках, подгоняемых друг к другу как получится, с добавлением зависимости от данных. Прямая атака на такую систему по методу инверсии или искажения модели будет не настолько пассивной, как прослушивание зашифрованного канала связи. Суть подобных атак — использовать систему машинного обучения по ее непосредственному назначению, но для непредусмотренных ее создателями целей. Такой взлом обнаружить гораздо труднее, чем активный взлом сети и компьютера, на котором работает система машинного обучения. И хотя подобные атаки не масштабируются так же, как криптоаналитические (а разнообразие систем машинного обучения, скорее всего, будет гораздо более широким, чем разнообразие алгоритмов шифрования), у первых все же есть шансы стать более масштабируемыми, чем взлом компьютеров по одному в случае криптоаналитики. Таким образом, если позаботиться о безопасности системы машинного обучения, можно будет устранить широкий спектр потенциальных векторов атаки.

Сейчас изучение безопасности систем машинного обучения все еще находится в зачаточной стадии, и на сегодня даже не намечены контуры методов обеспечения их безопасности. Несмотря на то что в этой области работают очень талантливые исследователи и достигнут определенный прогресс, пройдет еще много времени, прежде чем удастся достаточно разобраться в вопросе. Атаки против систем машинного обучения разрабатывают одну за другой, а защитные методы постоянно опровергают уже вскоре после их обнародования. Так же обстояли дела с криптографией в 1990 -х, но к сегодняшнему дню эта дисциплина достигла достаточной степени развития, появилось хорошее понимание механики взаимодействий атак и средств обороны. Поэтому, хотя такие гиганты, как Google, Amazon, Microsoft и Tesla, уже столкнулись с атаками на производственные системы машинного обучения, этому явлению пока не суждено стать нормой.

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

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

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

***

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

Литература

1. K. Martineau. Why did my classifier just mistake a turtle for a rifle? MIT News, July 31, 2019. URL: https://news.mit.edu/2019/why-did-my-classifier-mistake-turtle-for-rifle-computer-vision-0731 (дата обращения: 21.08.2020).

2. K. Eykholt et al. Robust physical-world attacks on deep learning models. Apr. 10, 2018.

3. B. Schneier. Data and Goliath: The Hidden Battles to Collect Your Data and Control Your World. New York: Norton, Mar. 2015.

Брюс Шнайер (www.schneier.com) — ведущий специалист по архитектуре безопасности, компания Inrupt.

Bruce Schneier, Attacking Machine Learning Systems, IEEE Computer, May 2020, IEEE Computer Society. All rights reserved. Reprinted with permission.