Функционирует при финансовой поддержке Федерального агентства по печати и массовым коммуникациям (Роспечать)

Нейроинтерфейс ввода текста обманули небольшими колебаниями сигнала

Xiao Zhang et al. / arXiv, 2020

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

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

Второй — SSVEP, зрительный вызванный потенциал устойчивого состояния, который на ЭЭГ отражается в колебаниях той же частоты, с которой предъявляется стимул. Для основанного на этом потенциале нейроинтерфейса необходимо изображение символов, каждый из которых мигает с определенной частотой: когда человек смотрит на нужный символ, на ЭЭГ появляется сигнал соответствующей частоты — и символ опять же можно вывести на экран.

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

Проверить уязвимость P300 и SSVEP решили исследователи под руководством Сяо Чжана (Xiao Zhang) из Хуачжунского научно-технического университета. Они обнаружили, что для того, чтобы обмануть каждую из систем, необходимо внести корректировки сигнала с помощью гауссовского шума в несколько данных из тестовой выборки. Полученные корректировки незаметны человеческому глазу, но учитываются компьютером при обработке — это считается хорошим состязательным примером.

Рассмотрим такую атаку на примере P300. Допустим, необходимый позитивный компонент появляется при подсветке третьего ряда — он подсвечивается через 350 миллисекунд после предъявления экрана. Шум можно наложить на сигнал, который появляется на ЭЭГ в два раза раньше — на 175 секунде, тогда, когда подсвечивается первый ряд. Система, таким образом, будет думать, что это и есть нужная строка, а значит, символ находится на ней. 

В случае с SSVEP исследователям удалось заставить систему классифицировать сигнал с частотой в 8,6 герца как сигнал с частотой в 13,2 герца, что соответствует разным буквам.

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

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

Елизавета Ивтушок

Нашли опечатку? Выделите фрагмент и нажмите Ctrl+Enter.