называются adversarial machine learning, или по русски все-таки вредоносное машинное обучение.

Все-таки нет. Adversarial — это терминология из теории игр, которая всего лишь подразумевает тренировку моделей в состязательном стиле (игра с нулевой суммой по сути).


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

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

Так я не про архитектуру нейронной сети, а про постановку задачи.
В постановке задачи, которую рассматриваю я, все-таки, данные, которые мы подаем модели — «вредоносные» — заставляют модель намеренно(!!) ошибаться.


Игра с нулевой суммой — антогонистическая игра. Антогонистический — враждебный чему-либо, несовместимый с чем-либо. И на английском является синонимом «adversarial». И все-таки в теории игр не распространен термин «состязательный» (чего не скажешь о юридической сфере), больше используется «конкурирующий», но при этом есть игроки, которые играют против друг друга, которых называют «adversaries» — «противниками». Если придираться к словам :)

Интересная статья. В безопасности не шарю(не моя область), так что имею довольно нубский вопрос — а насколько распространено защитное ПО, использующие машинное обучение, и как часто происходят атаки с использованием его же? Плюс, вроде бы спорный момент с соревнованием «снаряд-броня»(конкретно — что «броня» проигрывает). С одной стороны, все верно, сама парадигма машинного обучения предусматривает возможность ошибки. С другой — на практике, серьезные продукты пока выпускают гиганты типа Гугла. Насколько просто хакерской группе обучить хорошую атакующую модель, если Гуглу гораздо легче собирать огромные датасеты, в которых с большей вероятностью будут попадаться всякие левые объекты, и на которых обороняющейся модели легче выучится в правильную сторону?
Широко. За все продукты не отвечу, просто не смотрел, но у Касперских достаточно давно и у Доктора Веба есть. Причем у Касперских есть статьи (и здесь на Хабре тоже) с описанием применяемых механизмов
да, нельзя не согласиться с teecat, можно встретить довольно много продуктов, использующих мл и статистику в частности. Но пока не всегда понятно, это маркетинговый ход или что-то действительно прорывное?!

Про обучить модель хакерами… ну, дело же не в том, чтобы «обучить» такую «волшебную палочку», с помощью которой можно сломатьвсе и сразу. Дело в другом подходе, техниках позволяющих получать принципиально нужную информацию из тех данных, которые получили.
Чем-то это все напоминает обычную эволюцию живых организмов.
Немного уточню. Нам (и иным компаниям отрасли) поступает порядка миллиона образцов в день. Рекорд, который я видел лично — 12 миллионов, по 6 миллионов достаточно часто. Поэтому печалиться о «модели машинного обучения тестируют в довольно статичной среде, где точность зависит от количества данных каждого конкретного класса, но в реальности нельзя гарантировать такое же распределение» нет смысла. И с распределением все замечательно при таком потоке и с отсутствием динамики

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

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

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

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

которые позволяют автоматически выделять признаки (даже такие, которые не интерпретируются человеком)

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

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