Хабрахабр

Как мы тестировали технологию распознавания лиц и что из этого вышло

Распознавание лиц появляется в гаджетах. Технологии биометрии стремительно проникают в нашу жизнь. Камеры сети видеонаблюдения, подключенные к системе распознавания лиц, призваны помочь правоохранительным органам в поимке преступников. Банки по всему миру приходят к использованию этой технологии в банкоматах. И это, как и всегда в случае с высокими технологиями, разумеется, только начало. С помощью лица можно логиниться в сервисах и подтверждать платежи. Его нельзя забыть или потерять (разве что в фигуральном смысле). Лицо становится нашим пропуском, визиткой, платежным средством. Но хорошо ли защищена эта технология?

Мы решили взять несколько популярных девайсов и попробовать обойти проверки, основанные на технологии face recognition, начав с простого, с face unlock (разблокировки по лицу).

Описанный в топике эксперимент проводился весной 2019 года, поэтому в нем приняли участие смартфоны не самых последних моделей. Примечание: Гаджеты для исследования были предоставлены сотрудниками компании.

В ролях:

  • OnePlus 5T
  • Samsung Galaxy S8
  • Windows Hello + Intel RealSense
  • iPhone X
  • Александр Полунин, идейный вдохновитель и опытная модель (обход технологии по фото)
  • Павел Новиков, специалист по IoT-девайсам и образец для 3D-модели
  • Дамир Зайнуллин, исследователь и модель для самодельной маски
  • А также Анна Давыдова, Наталья Фролова, Антон Карпин и Чак Норрис

Итак, в нашем распоряжении было четыре девайса, в одном из них — Samsung Galaxy S8 — помимо технологии распознавания лица использовалась также технология распознавания по сетчатке глаза (Iris Scanner).

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

Инфракрасная камера, встроенная в девайс, считывает отражение данной сетки и по длительности возврата сигнала от каждой точки понимает глубину и формы объекта, который стоит перед камерой. Вторая технология, более совершенная, использует лазерную проекцию точек на поверхность, в результате получается своеобразная сетка. Данная технология используется в Windows Hello и iPhone X (а также в популярной камере Kinect). Таким образом получается трехмерное изображение.

Для обхода были использованы четыре способа:

  1. цветное фото, распечатанное на принтере;
  2. фото в инфракрасном спектре, распечатанное на принтере в черно-белом цвете;
  3. самодельная маска;
  4. нераскрашенная 3D-модель лица, уменьшенная копия.

Павел Новиков с уменьшенной копией 3D-модели своего лица

Например, раскрашенная 3D-модель в натуральную величину — это сложно и дорого. Сразу скажем, что для обхода технологии распознавания мы использовали наименее затратные и наиболее быстрые способы. Нам не удалось обойти эту технологию, но мы натолкнулись на очень занимательную статью с примерами обхода. Технология Iris Scanner в Samsung позволяет делать достаточно четкие фотографии сетчатки глаза в инфракрасном спектре. Конечно, в реальной жизни сложно себе представить человека, который позволит незнакомцу сделать снимок собственных глаз с близкого расстояния. Судя по этой статье, необходимо сделать очень качественный снимок глаза на хорошую камеру, распечатать этот снимок и придать ему объем, приклеив контактные линзы, или, в другом варианте, придать блеск с помощью клея. Если же снимать издалека, понадобится очень мощный телеобъектив (да и сама жертва вряд ли будет достаточно неподвижной).

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

Для первого способа обхода мы распечатали цветное фото лица на листе формата А4.

Александр Полунин на цветном и черно-белом фото к распознаванию готов

Эксперименты показали, что первый, устаревший метод определения успешно и стабильно обходится на двух смартфонах, которые были в нашем распоряжении, — OnePlus 5T и Samsung S8.

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

Не сработал второй метод — фото, сделанное в инфракрасном спектре и распечатанное на принтере; оно черно-белое и сенсор его не улавливает, ему нужно цветное фотоизображение.

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

Как было сказано выше, эту технологию не удалось обмануть цветным фото глаз. Технология распознавания по сетчатке глаза Iris Scanner тестировалась на Samsung S8. Фронтальная камера фотографирует глаза и рисунок сетчатки. Так как камера и сенсор должны «смотреть» хозяину прямо в глаза, смартфон нужно поднести близко; глаза появляются на экране, нужно навести взгляд на это изображение, включается инфракрасная подсветка. Мы добились, чтобы камера «поняла», что мы показываем ей глаза, но детализации картинки не хватило, чтобы обучить систему. Мы предположили, что качественное распечатанное фото глаз должно разблокировать девайс. Как мы упоминали выше, из статьи других исследователей с сэмплами фото, которыми нужно обманывать данную технологию, стало понятно, что способ обхода технологии существует, однако он получался относительно трудоемким и недешевым.

Что касается второй, более современной технологии, используемой в Windows Hello и iPhone X, то здесь мы наткнулись на ряд любопытных нюансов.

Использование цветного фото (1-й способ) не сработало ни на одном из девайсов, поскольку на фото — плоское изображение, а в Windows Hello, как и в iPhone X, используется трехмерная модель; технология позволяет «видеть» трехмерный объект, который расположен перед камерой, его глубину.

Она используется для сканирования, для виртуального моделирования в компьютерных играх: показываешь ей руку — она строит виртуальный скелет, и ты можешь этой виртуальной рукой, используя собственную, осуществлять различные манипуляции в игре. Надо заметить, что у технологии Windows Hello разное применение. Камера распознает хозяина даже в темной комнате. Распознавание в Windows Hello идет по двум критериям — по отпечатку пальца и по лицу; последний позволяет логиниться в Windows просто сев за компьютер. В камере два сенсора изображения: один цветной, а второй инфракрасный, который считывает матрицу, проецируемую на объект, и видит его в инфракрасном свете. Именно поэтому этой технологии не нужен цвет в его привычном понимании.

Подобным образом нас «видит» система распознавания лиц. Объемное изображение с камеры Intel RealSense. Камера не получает информации о глазах, но доступная информация о лице позволяет пользователю авторизоваться Здесь на пользователе солнцезащитные очки.

До весны 2018 года этот довольно простой способ срабатывал. Мы сняли с помощью камеры Intel RealSense инфракрасную фотографию, распечатали ее на черно-белом принтере и попробовали авторизоваться (2-й способ). В апреле 2018 года разработчики ошибку исправили. Оказалось, что в ПО девайса была ошибка: при авторизации не учитывались глубина и объем.

Самодельная маска (3-й способ) не позволила обмануть ни одну технологию — ни старую, двухмерную, ни трехмерную.

Когда мы направляли камеру для обучения на данную модель, система обводила лицо, которое она «увидела». В случае с 3D-моделью лица (4-й способ) Windows Hello вела себя необычно. При обучении иногда это происходило, иногда нет, но при этом система все равно обучалась.

Скажем, выросла у тебя борода или ты получил фингал под глазом, и система перестала тебя узнавать. Технология в камере Intel RealSense позволяет пользователю дообучить систему. Как оказалось, в действительности она не добавляет к созданному образу какие-то изменения, не улучшает его, а просто создает дополнительный образ. В этом случае у тебя есть возможность дообучить ее. Таким способом мы смогли добавить в систему пять совершенно разных лиц для одной учетной записи Windows, и все пять человек имели возможность залогиниться под этой учетной записью.

Система распознала, что это лицо, и позволила обучить себя. В случае с iPhone X инфракрасное фото показало схожесть технологии Face ID с технологией Intel RealSense. Принцип прост: по чему обучили — по тому и авторизовались. Но при этом распечатав изображение реального пользователя, который занесен в iPhone, залогиниться не удалось: объем по-прежнему играет роль. Обучили по лицу — по фото система не авторизовала. Обучили по картинке — залогинились по картинке.

(В принципе, можно считать это потенциально слабым местом: для подделки нет необходимости воспроизводить лицо полностью.) Вас распознают, если вы надели шапку или отрастили бороду. Мы также выяснили, что в iPhone для работы Face ID камере необходимо «видеть» хотя бы треть лица. В качестве эксперимента мы последовательно закрывали части лица листами бумаги; закрывали лоб и подбородок по отдельности и вместе, половину лица и лоб с подбородком. В шапке и с бородой авторизоваться также получится, а вот в натянутой до бровей шапке и с намотанным до самого носа шарфом — уже нет. В ходе эксперимента стало понятно, что для разблокировки iPhone системе обязательно нужно «видеть» нос. Пробовали проделать то же самое не с листами бумаги, а с шапкой, темными очками, платком, шарфом. При обучении система запоминает лицо, а далее, по всей видимости, ей достаточно фрагмента (приблизительно трети) лица, который она сопоставляет с полученным при обучении.

Система распознает владельца, если у него закрыта нижняя часть лица

Главное, чтобы нос не был закрыт Для разблокировки системе требуется только треть лица Чака.

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

Вариант с открытым лбом и платком, закрывающим нижнюю часть лица, в том числе рот, также позволит войти в систему

Система распознает Чака в шапке

Скрытая за картонным роботом половина лица Ани также позволяет разблокировать устройство

Смартфон Антона не распознает своего владельца, если в сильные морозы он замотается шарфом до самого носа

Мы опробовали этот метод с iPhone X, но обмануть его таким образом нам не удалось. Кстати, существует мнение, что подобные системы пропускают детей в телефоны их родителей.

При обучении технологии Face ID iPhone X требует, чтобы вы покрутили головой, якобы чтобы зафиксировать объемный снимок. В процессе роботы мы наткнулись на довольно забавный нюанс. Во всяком случае медленно и аккуратно поворачивать голову из стороны в сторону и вверх-вниз нет необходимости. На самом деле крутить собственной головой вовсе не обязательно. Мы, например, воспользовались клеем-карандашом: эффект выглядел абсолютно так же, и круговой индикатор равномерно заполнялся, как если бы вы поворачивали голову, давая возможность девайсу запомнить все точки лица. После того как девайс нашел лицо, можно повертеть перед камерой любым предметом. Выходит, это просто маркетинговый ход?

По окончании обучения iPhone X требует покрутить головой, однако мы покрутили перед камерой обычным клеем-карандашом — и обучение состоялось

В заключение

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

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

Авторы: Александр Полунин, Павел Новиков, Наталья Фролова

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть