Всем привет! Меня зовут Наталья Бессонова, я директор проектов блока цифровой идентичности «Ростелеком». В этой статье хочу рассказать о том, как мы выбирали пассивный лайвнесс по одному изображению лица для Единой биометрической системы.
На Хабре не так много статей, посвященных лайвнесс в биометрических системах, а те, что есть, описывают методы и алгоритмы определения лайвнесс или, проще говоря, принадлежности биометрических образцов живому человеку. Отдадим должное их авторам – статьи интересные и содержательные, но что если нас интересует насколько хорошо они работают на данных, не входящих ни в один из открытых дата-сетов? Как понять, насколько лайвнесс действительно плох или хорош и какой следует выбирать при необходимости? В этой статье я опишу подход к выбору пассивного singleshot-лайвнесс (т.е. по одному изображению) лица для Единой биометрической системы.
Зачем нужен лайвнесс
Существует мнение, что для обмана любой биометрической системы достаточно украсть биометрический образец (изображение лица, запись голоса). Именно для обнаружения и пресечения таких попыток атак на биометрическое предъявление и предназначен лайвнесс. Чтобы лучше понять, что именно в теме лайвнесс беспокоит людей, давайте прочитаем комментарии к смежным статьям (орфография авторов сохранена, ниже указаны ссылки на статьи):
Oсобенно у меня бомбит от того, что начали активно эту «идентификацию» проталкивать после набора популярности Deepfake видео/аудио, для которых до сих пор нет способа однозначно сказать настоящее видео/аудио на выходе или нет. Вроде есть даже конкурс на такой алгоритм с солидным призом, который до сих пор не взят. В чем-то такую «идентификацию» даже проще обойти, чем достать паспортные данные по телефону. Есть хоть какая-то здравая причина при этом включать такое в работу банков — никто мне сказать не смог. Печально это всё.
→ Удалённая банковская идентификация: от сложного к простому, или Банки, зачем вам биометрия?
Мнение автора основано на устаревшей информации. Конкурс Deepfake Detection Challenge по распознаванию дипфейков на видео действительно существует, он проводится компаниями Amazon, Facebook и Microsoft. В этом году отечественная компания NtechLab заняла третье место среди более 2,2 тысячи команд со всего мира.
После прочтения данной статьи только укрепился в мысли, что во всех этих конструкциях есть один лишний элемент — сама биометрия. Всё тоже самое точно так же работает и с традиционными способами аутентификации. С той лишь разницей, что вы скорее всего даже не заметите как вашу биометрию заснимут с расстояния 5-10-20 метров. Или вообще восстановят по публичным материалам. Как это уже проделывали. И не раз. И все эти ухищрения, как в этой статье — просто упражнения для ума математиков. Но с точки зрения реальной безопасносьи — яйца выеденого не стоит.
Ну и да. Уж что-что а социальная инженерия с биометрией упростится просто в разы. Про пин код с карты ещё хоть как-то можно объяснить, что никому не показывать, а вот биометрия… Ну откуда бабульки (или даже мне) знать для каких целей меня сейчас снимают: чтобы подтвердить мою личность или чтобы украсть?
→ Как защитить биометрические данные пользователей от криминального использования
Замечания верны, но в большом количестве биометрических систем используется лайвнесс для предотвращения таких атак. В тех случаях, когда достигается компромисс между безопасностью и эффективностью, применение биометрии обосновано.
Я вообще, в принципе говорю, что биометрия — туфта, немного долее дорогая в обслуживании и легко преодолимая при наличии достаточных средств и мотивации. Защита от чуть более продвинутого дурака.
Да, взломать можно любую систему, однако для этого должна быть сопоставимая материальная выгода. Для изготовления качественного инструмента атаки необходимы большие ресурсы.
Биометрия по лицу, работающая с обычной веб-камеры крайне ненадежна и легко обманывается фоткой. Нормальные лицевые биометрии включают в себя дополнительные средства определения фейков: ИК, 3D и так далее.
Как будет видно из результатов, хороший лайвнесс, работающий даже с обычной веб-камерой, способен обеспечить достаточные эксплуатационные характеристики и для этого не требуется дополнительных средств.
Биометрия активно развивается. Большинство вопросов, которые задают критики, уже имеют решение или решаются сейчас. Более того, в условиях ограничений, связанных с пандемией COVID-19, биометрические технологии получили большое распространение. Очевидным плюсом является сокращение числа прямых контактов: как людей с людьми, так и людей с поверхностями, что, как говорят специалисты, снижает вероятность заболеть. В связи с этим, например, банки встраивают биометрию в свои приложения и банкоматы. Институты используют биометрию для проверки студентов при удалённом режиме обучения. Всё больше работодателей выбирают биометрию для поддержания дисциплины среди удалённо работающих сотрудников.
Известно, что системы биометрического распознавания должны отвечать на два простых вопроса: «кто я?» и «реальный ли я человек?». На первый вопрос отвечают алгоритмы биометрического распознавания (верификации или идентификации), но для ответа на второй, особенно в удаленных каналах, нужно доказать, что вы»живой человек, находящийся перед устройством в момент работы с биометрической системой. За это и отвечают алгоритмы обнаружения витальности, или лайвнесс.
Существуют два метода лайвнесс: активный (запрос-ответ) и пассивный. Активный лайвнесс предполагает взаимодействие пользователя с биометрической системой: пользователя просят моргнуть, улыбнуться, кивнуть, приблизить устройство к лицу, прочитать текст и т.д., поэтому часто пользователи путаются в инструкциях, что приводит к большому количеству ложных срабатываний, и такие системы сложно назвать удобными. Пассивный лайвнесс, напротив, не требует от пользователя каких-либо дополнительных действий и часто может проводиться вообще незаметно.
Помимо удобства, еще одним преимуществом пассивного лайвнесс является то, что потенциальные самозванцы не знают о его наличии и принципе работы. Наличие активного лайвнесс в системе очевидно, а воспроизвести моргание, улыбку и поворот головы из стороны в сторону можно с помощью видеозаписи или технологий подобных общеизвестному deepfake. Важно учесть, что необходимо оценивать не только, насколько силен лайвнесс с точки зрения обеспечиваемой безопасности, но и как он влияет на пользовательский опыт.
Делай по ГОСТу
В июле 2020 года в России введена в действие серия стандартов 58624, устанавливающая термины, классификацию и детальное описание атак на биометрическое предъявление для последующего определения эксплуатационных характеристик. До этого времени не было стандартного руководства для объективной и сопоставимой оценки лайвнесс. Стандарты описывают испытания, объектом которых могут являться:
подсистема лайвнесс;
подсистема сбора биометрических данных;
биометрическая система полностью (контроль качества, распознавание и лайвнесс).
В нашем случае мы поговорим об испытаниях лайвнесс и измерении его способности правильно классифицировать атаки и подлинные предъявления. Для лайвнесс определяют метрики, включающие вероятности ошибок классификации, вероятности отсутствия ответа и метрики производительности. Подробное их описание и расчет можно прочитать в ГОСТ Р 58624.3, мы же приведем их интерпретацию:
вероятность ошибки классификации предъявления при атаке вычисляют как долю атак, ошибочно классифицируемых как живые люди;
вероятность ошибки классификации подлинных биометрических предъявлений вычисляют как долю живых людей, классифицируемых как атаки; вероятность отсутствия ответа на предъявление артефакта (ВООПА) вычисляют как долю атаки, на которую лайвнесс не ответил. ВООПА рассчитывается отдельно для каждого инструмента атаки;
вероятность отсутствия ответа на подлинное биометрическое предъявление вычисляют как долю подлинных предъявлений, на которую лайвнесс не ответил;
длительность обработки подсистемой обнаружения атаки на биометрическое предъявление вычисляют как время, необходимое лайвнесс для классификации.
Как и любые биометрические алгоритмы, лайвнесс является вероятностным. При ложноположительных решениях подлинные предъявления ошибочно классифицируют как атаки, что потенциально доставляет неудобства пользователям. В случае ложноотрицательного решения атаки ошибочно классифицируют как подлинные предъявления, потенциально приводящие к нарушению безопасности. Решение об использовании конкретного лайвнесс зависит от компромисса между безопасностью и эффективностью.
Для удобства сравнения разных методов лайвнесс между собой мы будем использовать кривую зависимости вероятности ошибки классификации атаки от вероятности ошибки классификации подлинного предъявления.
У нас был сервер, пять веб-камер, один смартфон и пять сотен фотографий
Для испытаний лайвнесс необходимо использовать базу данных, включающую определенное множество типов атак с использованием репрезентативного набора инструментов атак и репрезентативного набора подлинных субъектов.
В соответствии с требованиями FIDO Biometrics существует три уровня атак, различающихся главным образом усилиями, необходимыми для создания инструмента атаки. Уровень А включает в себя простые распечатки фотографий или фотографии, представленные на дисплее, в то время как уровень В дополнительно включает бумажные маски или видео человека. Уровень С представляет собой силиконовые маски или высококачественные видеозаписи человека, представленные, например, на дисплее с высоким разрешением.
Для наших испытаний мы выбрали следующие инструменты атак:
фотографию лица – предъявление распечатанной на цветном принтере фотографии высокого разрешения;
2D-маску – предъявление распечатанной на цветном принтере фотографии высокого разрешения с обрезанным фоном;
модифицированную фотографию лица – предъявление распечатанной на цветном принтере фотографии высокого разрешения с вырезанными отверстиями под рот, нос, глаза;
изображение лица на дисплее – предъявление выводимой на дисплее фотографии;
3D-маску – предъявление силиконовой маски или маски, распечатанной на 3D-принтере.
Отметим, что каждый метод лайвнесс специализируется на разных инструментах атак. Например, для пассивного singleshot-лайвнесс атака с использованием deepfake не является актуальной, так как для работы такого лайвнесс используется только одно изображение, а не видео, что делает достаточным использование одной фотографии лица для попытки атаки.
На фото внизу представлен стенд по сбору базы на примере атаки с использованием фотографии лица.
Полученная база данных состоит из не менее 300 образцов на каждый инструмент атаки (за исключением силиконовых масок), что дает минимальную достоверную вероятность 1%. Для сбора образцов использовались несколько веб-камер и мобильный телефон:
Logitech C270;
Logitech C930;
Logitech B920;
Logitech Brio;
Intel Realsense D415;
Xiaomi Redmi6.
Также необходимо отметить, что для создания инструментов атак использовались только фотографии, сделанные при сотрудничестве пользователя, так как качество этих изображений достаточно высокое.
На фотографиях ниже приведены примеры изображений, полученных с использованием разных инструментов атак и устройств получения изображений.
Спецификация сервера, на котором проходили испытания:
1) CPU - Intel(R) Core(TM) i5-6600 CPU (4 ядра, 3.30 ГГц, AVX и AVX2 поддерживаются);
2) GPU - Nvidia GeForce GTX 1070 (8 ГБ видеопамяти);
3) ОЗУ - 16 ГБ DDR4;
4) ПЗУ - SSD накопитель SAMSUNG 970 EVO 500ГБ.
Результаты
Я провела испытания 12 методов лайвнесс от независимых вендоров. Все методы, кроме одного, являются пассивными singleshot-методами, для их работы на вход API подаётся RGB изображение лица, на выходе получается liveness score, отражающий насколько предъявленное изображение похоже на подлинное предъявление лица. Один из методов основан на применении 3D-камеры Intel RealSense D415 и, соответственно, на вход принимает RGB изображение и карту глубины изображаемой сцены, а на выходе отдаёт всё тот же liveness score. В таблице ниже приведен перечень измеренных значений эксплуатационных характеристик каждого из протестированных методов лайвнесс.
Алгоритм | ВОКПБП@0.01 | ДОПОПБП, мс | СКО_ДОПОПБП, мс | ВООПБП | ДОПОПА, мс | СКО_ДОПОПА, мс | ВООПА |
vendor1_v1 | 0.013 | 266.501 | 160.091 | 0.395 | 542.772 | 471.081 | 0.320 |
vendor1_v2 | 0.042 | 155.626 | 108.508 | 0.395 | 381.548 | 367.438 | 0.320 |
vendor2_v2_CPU | 0.048 | 874.527 | 21.748 | 0.008 | 910.202 | 60.381 | 0.039 |
vendor2_v2_GPU | 0.057 | 863.651 | 26.629 | 0.006 | 903.743 | 62.957 | 0.037 |
vendor1_v3 | 0.094 | 110.198 | 100.997 | 0.811 | 293.092 | 242.255 | 0.437 |
vendor3 | 0.153 | 146.217 | 82.217 | 0.012 | 360.056 | 324.149 | 0.016 |
vendor2_v1 | 0.255 | 874.294 | 35.319 | 0.002 | 1060.088 | 121.127 | 0.036 |
vendor4 | 0.423 | 444.085 | 35.818 | 0.006 | 512.427 | 106.987 | 0.010 |
vendor5_v3 | 0.442 | 160.426 | 298.351 | 0.014 | 683.258 | 882.690 | 0.025 |
vendor6 | 0.477 | 73.560 | 111.626 | 0.035 | 433.866 | 527.738 | 0.044 |
vendor5_v2 | 0.584 | 165.370 | 310.281 | 0.014 | 720.696 | 891.637 | 0.025 |
vendor5_v1 | 0.586 | 200.883 | 373.670 | 0.014 | 767.726 | 997.728 | 0.025 |
3D liveness | 0.777 | не измерялось | не измерялось | не измерялось | не измерялось | не измерялось | не измерялось |
vendor7 | 0.967 | 3021.262 | 46.769 | 0.006 | 3105.798 | 165.991 | 0.007 |
vendor8 | 1.000 | 754.956 | 155.772 | 0.002 | 1618.374 | 1789.670 | 0.006 |
Исходя из данных таблицы, можно сделать несколько интересных наблюдений. Первое: лучший на сегодняшний день метод показывает вероятность ошибки классификации подлинного биометрического предъявления 1,3% при вероятности ошибки классификации предъявления атаки 1%. Второе: метод, основанный на применении 3D-камеры, оказался хуже большинства решений, не требующих специальных инструментов регистрации изображений.
Также интересно взглянуть на распределение ошибок по инструментам атаки для лучшего решения. Как видно на следующем рисунке, большая часть кривых выглядит как ступенька. Это связано с тем, что метод справился с классификацией с минимальной достоверно измеряемой ошибкой. Например, для случая с силиконовыми масками, где в нашем тесте было минимальное количество образцов атаки, оценка ВОКПА составила 9% и сказать, что действительное значение ВОКПА меньше, мы не можем, для уточнения её значения требуется больше примеров.
Что делать дальше
Оценка методов лайвнесс значительно отличается от эксплуатационных испытаний в биометрии. Из-за огромного количества видов потенциальных инструментов атак сложно или даже невозможно провести исчерпывающие испытания лайвнесс. То есть, невозможно найти репрезентативный набор видов атак для оценки, поэтому планируется:
увеличить количество образцов для каждого вида атаки;
собрать базы данных для оценки методов лайвнесс для конкретных приложений или продуктов;
собрать базы данных для оценки конкретных методов лайвнесс.
Как итог отметим, что развитие технологий атак и их обнаружения — это вечная гонка, и мы должны быстро адаптироваться к новым типам угроз, а использование лайвнесс, устойчивого к актуальным атакам, в свою очередь сделает атаки на биометрические системы нецелесообразными ввиду высоких затрат на изготовление потенциального инструмента атаки. В заключение подчеркну, что Единая биометрическая система использует лучшие решения нескольких вендоров, что ещё больше повышает надёжность распознавания атак. Кроме этого, мы используем техники, подобные поиску аномалий в ответах сразу всех решений, которые позволяют добиться высокой степени надежности при сохранении удобства для пользователя.
Буду рада ответить на вопросы в комментариях, если они у вас есть.