Проверка живого присутствия в кадре – в чём важность задачи
Задачи идентификации и аутентификации пользователя с использованием лицевой биометрии не могут быть надежно решены без определения живого присутствия (Liveness Detection) пользователя в кадре – необходимо удостовериться, что создание биометрического шаблона происходит именно по данным самого человека, а, например, не печатного изображения, поднесённого к камере. Возможны самые разные варианты атак, о которых будет рассказано ниже. Все они направлены на то, чтобы заменить живого пользователя системы его изображением (без живого присутствия пользователя), тем самым «обманув» биометрический алгоритм и добившись желаемого атакующими результата, утверждая, что именно пользователь акцептовал совершаемую операцию.
Способы определения живого присутствия
Можно разделить основные подходы к нашей задаче на несколько категорий:
Построение объёмной карты лица в явном виде.
Использование нескольких кадров или видеофрагмента для построения образа трёхмерной карты лица (псевдо-3D).
Использование видеофрагмента для отслеживания движения в кадре (мимика, повороты головы).
Анализ статичного кадра для выявления артефактов: муаров, бликов, дефектов печати.
Существуют и другие подходы, которые пока не нашли массового применения, например, отслеживание изменения тонов лица, вызываемых пульсацией крови в сосудах.
Классификация атак на живое присутствие по FIDO
Ассоциация Fast Identity Online даёт классификацию атак по сложности воспроизведения для разных биометрических модальностей, а мы рассмотрим только те атаки, которые относятся к лицевой биометрии.
В класс А входят атаки, использующие неподвижные изображения: фотографии, напечатанные на бумаге, изображения лица, демонстрируемые с экранов мобильных устройств. Существуют алгоритмы, проверяющие живое присутствие по одному статичному кадру, они отслеживают «посторонние» эффекты на подаваемом изображении: муары (при показе с экрана мобильного устройства), блики, края изображения, контрастирующие с фоном, артефакты печати, и так далее.
Такие атаки легко воспроизвести, используя обычное оборудование: принтер, бумагу, смартфон. Для атаки понадобится минимальное количество знаний о человеке, за которого злоумышленник пытается себя выдать: достаточно нескольких снимков удовлетворительного качества, которые можно найти, например, в социальных сетях.
В класс B входят более «живые» атаки, а именно имитирующие движение, например, видеоролики, показываемые с мобильных устройств. Сюда также относятся атаки при помощи масок с вырезанными фрагментами: глазами, носом, ртом. Проводя подобные атаки, злоумышленник пытается обмануть алгоритмы, оценивающие движение в кадре: мимику в области вокруг глаз, повороты головы, изменение теней и т.д.
Самостоятельно, «в домашних условиях», можно изготовить маску из бумаги, отчасти повторяющую форму лица, вырезав из неё область носа и область глаз. Также можно согнуть её, придав явно трёхмерную форму. Если качество печати довольно высоко, то такая маска вполне может «обмануть» некоторые алгоритмы проверки живого присутствия, особенно если злоумышленник по возможности уменьшит её общую площадь и сделает переход от краёв маски к своему лицу менее резким.
Дополнительную сложность для злоумышленника представляет тот факт, что изгибание маски искажает пропорции лица, напечатанного на ней, поэтому может быть очень тяжело, или даже невозможно пройти одновременно аутентификацию и проверку живого присутствия. Дополнительно можно изменить изображение таким образом, чтобы оно соответствовало кривизне маски, но сделать так нелегко, т.к. требуется информации о «глубине» лица, т.е. дополнительной координате.
Для осуществления атак по классу B злоумышленнику требуется иметь высококачественные снимки лица пользователя, за которого он хочет себя выдать, видеозаписи, на которых лицо занимает существенную часть кадра; такую информацию получить уже сложней.
К классу C относятся такие атаки как: отпечатанные в 3D копии лица, сложные театральные маски, силиконовые маски.
Материалы для атак по этому классу невозможно изготовить «в домашних условиях», требуется специальное оборудование: 3D-принтеры или большое количество составных частей для театральной маски. Кроме этого, для изготовления объёмной копии лица высокой точности необходима полная информация о форме и размерах исходного лица.
Иными словами, чтобы изготовить копию на печатающем устройстве, человеку, с чьего лица снимается копия, необходимо пройти довольно долгую и детальную процедуру сканирования. Имея достаточно большое количество высокоточных фотографий лица с разных ракурсов и видео-фрагментов, возможно создать подобную копию при помощи компьютера, однако завершающий этап создания чертежа для печати (или другого способа изготовления) в любом случае должен выполнять художник-скульптор, т.к. автоматическая генерация трёхмерного лица или сканирование в любом случае породят артефакты, которые необходимо будет устранять вручную. Иными словами, на текущий день это затратная по времени и деньгам процедура.
Способы построения объёмных карт объектов
Один из способов удостовериться в живом присутствии пользователя перед устройством – проверить объект съёмки на явную трёхмерность. Рассмотрим способы построения 3D карт:
Стерео-зрение
Трёхмерное машинное стерео-зрение требует использования двух камер для получения пары изображений, отличающихся в перспективе. Калибровка подобного устройства происходит посредством попиксельного (поточечного) анализа снимков с целью выделить разницу и определить расстояние (глубину) отдельных фрагментов изображения до камер. Аналогичным принципом руководствуется человеческий мозг при восприятии изображения. Работа подобной системы требует значительных вычислительных ресурсов и калибровки под каждый вариант установки камер. Стоимость оборудования зависит от точности, например, установка синхронного управления затворами камер увеличивает затраты. Расстояние, с которого происходит считывание, ограничено по физическим причинам, большее расстояние потребует более точных оптических приборов. Кроме того, данный способ плохо работает при смене условий освещённости, так как сильно зависит от отражающих свойств объекта.
Пример устройства, использующего данный принцип – камера Intel Real Sense D415, которая оснащена двумя камерами, работающими в инфракрасном диапазоне. Каждая из камер «видит» образ точки P в своей плоскости и присваивает ей координаты (UL, VL) и (UR, VR) соответственно. Зная их и расстояние b можно вычислить расстояние до точки P, т.е. до точки на поверхности объекта, что и требуется для построения карты глубины.
Структурированное освещение
В основе данного способа лежит идея освещения объекта заданным заранее способом, например, обычно используется линейная решётка с переменной яркостью. Глубина объекта оценивается исходя из анализа растяжений и сжатий из начальной структуры освещения в отражённом свете. Так как не имеется принципиального требования на длительность единичного кадра и время съёмки, данная технология позволяет предотвратить размытие кадра при движении. С другой стороны, специальное освещение требует особой камеры, со стабильным механическим соединением между непосредственно камерой и осветителем, любая разбалансировка потребует перенастройки системы. Кроме этого, структура отражённого света сильно зависит от внешних источников и, таким образом, может быть использована только внутри помещений.
Наиболее удобный вариант использования структурированного освещения – использовать
подсветку в инфракрасном, невидимом человеческому глазу, диапазоне. По этому
принципу работает, например Apple IPhone.
Оценка времени распространения света
В этом способе измеряется время, необходимое свету для прохождения расстояния до объекта и возврата обратно к камере. Обычно используется оборудование, в котором синхронизированы затвор камеры и излучатель. Свет излучается в фазе с затвором, и в зависимости от задержки (расхождения фаз) при регистрации отражённого света, вычисляется расстояние до объекта. Таким образом, создаётся попиксельная (поточечная) карта глубин изображения. Из-за того, что угол излучения и съёмки небольшой, система требует только разовой настройки. Кроме этого, она работает и при дневном освещении, однако необходима очень точная синхронизация между затвором и активным источником света.
Псевдо-3D: оценка видео-фрагментов
Как мы упоминали ранее, возможно восстановление 3D-карты объекта по видеофрагменту, или путём последовательной съёмки лица пользователя с разных ракурсов. Такой способ проверки наверняка знаком читателю, однако он требует от пользователя выполнять дополнительные действия, т.е. является так называемой «кооперативной проверкой».
Обычно сценарий проверки выглядит так: пользователя просят покрутить головой (на небольшой угол) или отдалить/приблизить камеру смартфона к лицу. Таким образом удаётся удостовериться что перед камерой находится явно трёхмерный объект, а, например, не печатное изображение или экран смартфона, с которого демонстрируют фотографию.
Оценка двумерных изображений
Самый простой и одновременно наименее надёжный способ проверки живого присутствия – анализ обычных (двумерных) изображений в видимом диапазоне.
Обычно, нейронная сеть, которая оценивает вероятность того, что изображение, предъявленное компьютерному зрению, является снимком экрана смартфона, печатного изображения и т.д., натренирована на нахождение определённых артефактов.
Муары
Образуются при съёмке экранов, имеющих периодическую структуру (пиксели). Читатель, наверняка, не раз наблюдал подобные эффекты.
Резкий контраст между изображением и фоном
Печатное изображение скорее всего будет расположено или на прямоугольном листе бумаги, или будет обрезано. Так или иначе, будет заметен резкий переход цветов.
Блики от освещения на бумаге
На кадре выше заметно, что в области волос бумага пересвечена. На настоящем лице такого пятна бы не было.
Использование ИК
Более надёжным способом определения живого присутствия по статичному снимку является использование инфракрасных камер, т.к. сразу отсекается значительный пласт возможных атак: обычные печатные изображения и экраны смартфонов (и других устройств) в ИК-спектре попросту не видны.
Проверка определённого движения в кадре
Сценарий подобной проверки может быть следующим: пользователя просят воспроизвести перед камерой устройства определённое движение или жест: например, улыбнуться, подмигнуть, потрясти головой. Хотя каждый из этих жестов может быть индивидуально воспроизведён злоумышленником, например, моргание может быть смоделировано путём выдвигания бумажного века поверх глаза на печатном изображении, но, если требование по жесту изменяется по какой-либо зависимости, такая проверка может быть более или менее надёжной: например, можно случайным образом просить пользователя кивать только в определённую сторону, или улыбнуться два-три раз подряд.
Основным недостатком данного подхода является необходимость заставлять пользователя совершать какие-либо действия перед камерой, что, во-первых, не всегда может быть выполнено, во-вторых, удлиняет сценарий взаимодействия и требует от пользователя активных действий.
"Настоящие" лица
На данный момент изготовление "хороших", т.е. подробных масок, копирующих лицо человека, очень затратно. В заголовке статьи использовано изображение гипсовой копии головы, напечатанной на 3D принтере. Подготовка такого объекта сложна: нужно пройти процедуру сканирования, дополнительно доработать чертёж в редакторе, наконец, распечатать с точным соблюдением цветов.
Гипсовая копия головы автора распознаётся действующими системами проверки живого присутствия как живой человек, однако не достигает нужного, "портретного", сходства с оригиналом. Другими словами, такой объект выглядит как настоящее лицо, но лицо другого человека. Причина этого как раз в том, что очень трудно выполнить чертёж такого сложного 3D-объекта, как голова человека.
Таким образом, если использовать распознавание лица как биометрическую модальность для аутентификации или идентификации человека, то для некоторых сценариев, таких как, например, покупки на значительные суммы, аутентификация в МФЦ и других подобных, необходимо использовать дополнительный фактор (PIN, одноразовое сообщение и т.д.).
Однако, простые, но надёжные способы проверки, которые отсекают наиболее распространённые атаки могут быть использованы для таких сценариев как платежи на небольшие суммы, идентификация в программах лояльности, проход с общественном транспорте и других похожих случаях.