- LIVENESS DETECTION — проверка идентификатора на принадлежность «живому» пользователю
- СТРОИМ МОДЕЛЬ
- LIVENESS DETECTION — проверка идентификатора на принадлежность «живому» пользователю
- Строим модель
- Антиспуфинг: как системы распознавания лиц противостоят мошенникам?
- От чего защищаем?
- Методы liveness detection
- Что лучше?
LIVENESS DETECTION — проверка идентификатора на принадлежность «живому» пользователю
Технологией распознавания лиц уже никого не удивить. Крупные компании активно внедряют эту технологию в свои сервисы и конечно, мошенники пытаются использовать разные способы, в том числе подмену идентификатора лица с помощью маски, фото или записи для осуществления своих преступных действий. Такая атака называется спуфингом.
Хотим познакомить вас с технологией liveness detection, в задачу которой входит проверка идентификатора на принадлежность «живому» пользователю.
Датасет можно скачать по ссылке.
Для обучения в датасете есть 4 подкласса.
real — «живое» лицо
replay — кадры с видео
printed — распечатанная фотография
2dmask — надетая 2d маска
Каждый образец представлен последовательностью из 5 картинок.
СТРОИМ МОДЕЛЬ
Для решения задачи классификации изображений на принадлежность «живому» пользователю будем обучать нейронную сеть, используя фреймворк pytorch.
Решение строится на работе с последовательностью картинок, а не с каждой картинкой отдельно. Используем небольшую претренированную сеть Resnet18 на каждую картинку из последовательности. Затем стакаем полученные фичи и применяем 1d свертку и далее fully connected слой на 1 класс.
Таким образом, наша архитектура выглядит следующим образом:
Для примера мы будем тренировать нашу модель 5 эпох с батч сайзов 64, что займёт примерно 1 час с учетом валидации на одной 2080TI.
На валидации смотрим 3 метрики: f1, accuracy и f2 score.
Код для валидации:
В качестве оптимайзера используем SGD c learning rate = 0.001, а в качестве loss BCEWithLogitsLoss.
Не будем использовать экзотических аугментаций. Делаем только Resize и RandomHorizontalFlip для изображений при обучении.
Полный код функции для тренировки:
Итоговый ход тренировки выглядит так:
В качестве модели для проверки используем веса с 3 эпохи.
Для проверки у нас есть 10 примеров. Построим confusion matrix:
На 10 примерах мы достигли 100% точности. Конечно, для идеальной проверки модели требуется данных значительно больше.
Таким образом, в своей статье я предложил один из вариантов реализации liveness detection с помощью классификации изображений нейронной сетью. Полный код размещен по ссылке
Источник
LIVENESS DETECTION — проверка идентификатора на принадлежность «живому» пользователю
Технологией распознавания лиц уже никого не удивить. Крупные компании активно внедряют эту технологию в свои сервисы и конечно, мошенники пытаются использовать разные способы, в том числе подмену идентификатора лица с помощью маски, фото или записи для осуществления своих преступных действий. Такая атака называется спуфингом.
Хотим познакомить вас с технологией liveness detection, в задачу которой входит проверка идентификатора на принадлежность «живому» пользователю.
Датасет можно скачать по ссылке.
Для обучения в датасете есть 4 подкласса.
real — «живое» лицо
replay — кадры с видео
printed — распечатанная фотография
2dmask — надетая 2d маска
Каждый образец представлен последовательностью из 5 картинок.
Строим модель
Для решения задачи классификации изображений на принадлежность «живому» пользователю будем обучать нейронную сеть, используя фреймворк pytorch.
Решение строится на работе с последовательностью картинок, а не с каждой картинкой отдельно. Используем небольшую претренированную сеть Resnet18 на каждую картинку из последовательности. Затем стакаем полученные фичи и применяем 1d свертку и далее fully connected слой на 1 класс.
Таким образом, наша архитектура выглядит следующим образом:
Для примера мы будем тренировать нашу модель 5 эпох с батч сайзов 64, что займёт примерно 1 час с учетом валидации на одной 2080TI.
На валидации смотрим 3 метрики: f1, accuracy и f2 score.
Код для валидации:
В качестве оптимайзера используем SGD c learning rate = 0.001, а в качестве loss BCEWithLogitsLoss.
Не будем использовать экзотических аугментаций. Делаем только Resize и RandomHorizontalFlip для изображений при обучении.
Полный код функции для тренировки:
Итоговый ход тренировки выглядит так:
В качестве модели для проверки используем веса с 3 эпохи.
Для проверки у нас есть 10 примеров. Построим confusion matrix:
На 10 примерах мы достигли 100% точности. Конечно, для идеальной проверки модели требуется данных значительно больше.
Таким образом, в своей статье я предложил один из вариантов реализации liveness detection с помощью классификации изображений нейронной сетью. Полный код размещен по ссылке
Источник
Антиспуфинг: как системы распознавания лиц противостоят мошенникам?
В этой статье попробую обобщить информацию о существующих методах liveness detection, которые применяются для защиты от взлома систем распознавания лиц.
От чего защищаем?
С развитием облачных технологий и веб-сервисов все больше транзакций перемещается в онлайн-среду. При этом более 50% онлайн транзакций (ритейл) совершаются с мобильных устройств.
Рост популярности мобильных транзакций не может не сопровождаться активным ростом киберпреступности.
Случаи онлайн-мошенничества на 81% вероятнее, чем мошенничество в точках продаж.
16,7 млн. личных данных американцев были украдены только за 2017 год (Javelin Strategy and Research). Ущерб от мошенничества с захватом аккаунтов составил $5,1 млрд.
В России, по данным Group-IB, за 2017 год хакеры украли у владельцев Android-смартфонов более миллиарда рублей, что на 136% больше, чем годом ранее.
По данным Acuity Market Intelligence, к 2020 году общий объем биометрических транзакций, платежных и неплатежных, превысит 800 миллионов в год.
Технология распознавания лиц обычно предпочтительнее благодаря бесконтактности и минимальным требованиям к взаимодействию с пользователем, и в то же время, едва ли не самая уязвимая для атак мошенников. Изображение лица человека гораздо легче получить, чем другие биометрические идентификаторы, такие как отпечаток пальца или радужная оболочка. Любая фотография пользователя (полученная путем съемки крупным планом без согласия пользователя или из Интернета) может быть использована для обмана системы. Такого рода атаки, когда реальный пользователь подменяется мошенником с помощью поддельного идентификатора, называется спуфингом.
Методы liveness detection
Время от времени на просторах Интернета появляются сообщения об очередной удачной попытке обмана системы распознавания лиц. Но неужели разработчики и исследователи не предпринимают никаких действий по повышению безопасности систем распознавания лиц? Разумеется, предпринимают. Так появились технологии liveness detection, в задачу которых входит проверка идентификатора на принадлежность «живому» пользователю.
Есть несколько классификаций методов liveness detection. В первую очередь их можно разделить на аппаратные и программные.
Аппаратные методы предполагают использование дополнительного оборудования, например, инфракрасных камер, термальных камер, 3D-камер. Благодаря низкой чувствительности к условиям освещения и способности фиксировать специфические различия в изображениях, данные методы считаются наиболее надежными, в частности, по результатам последних тестов iPhone X, оснащенный инфракрасной камерой, оказался единственным смартфоном, успешно выдержавшим атаки с помощью 3D-модели лица. К недостаткам таких методов можно отнести высокую стоимость дополнительных датчиков и сложность интеграции в существующие системы распознавания лиц.
Аппаратные методы – идеальное решение для производителей мобильных устройств.
В отличие от аппаратных, программные методы не требуют дополнительного оборудования (используют стандартную камеру), а значит, более доступны, в то же время, они более уязвимы к спуфингу, так как результат проверки зависит от таких факторов, как уровень освещения и разрешения камеры.
Получается, достаточно приобрести современный смартфон с биометрией и инфракрасным датчиком «на борту» и проблема решена? Вполне логичный вывод, если бы не одно НО. Согласно прогнозам к 2020 году только 35% аутентификаций будут осуществляться посредством «встроенной» в мобильные устройства биометрии, при этом биометрические мобильные приложения будут использоваться в 65% случаев. Причина одна – подобные мобильные устройства стоят на порядок дороже, а значит не получат широкого распространения. Это означает, что фокус все же смещается в сторону программных методов, способных эффективно работать на миллиардах устройств с обычными камерами. На них и остановимся подробно.
Существует два типа программных методов: активные (динамические) и пассивные (статические).
Активные методы требуют сотрудничества со стороны пользователя. В этом случае система предлагает пользователю выполнить определенные действия в соответствии с инструкцией, например, моргнуть, повернуть голову определенным образом, улыбнуться и т.д. (протокол challenge-response). Отсюда проистекают недостатки подобных методов: во-первых, необходимость сотрудничества нивелирует преимущество системы распознавания лиц, как некооперативного типа биометрической аутентификации, пользователи не очень любят тратить время на лишние «телодвижения»; во-вторых, если требуемые действия заранее известны, защиту можно обойти путем воспроизведения видео или 3D-репликой с имитацией мимики/движений.
Суть таких методов в обнаружении движения по последовательности входных кадров для извлечения динамических признаков, позволяющих различать реальные и поддельные лица. Методы анализа основываются на том, что движение плоских 2D-объектов существенно отличается от движения реального человеческого лица, которое представляет собой 3D-объект. Поскольку активные методы используют более чем один кадр, они требуют больше времени на принятие решения. Частота движений лица обычно колеблется от 0,2 до 0,5 Гц., поэтому сбор данных для обнаружения спуфинга занимает более 3 секунд, в то же время человеческое зрение, способность которого, по сути, имитируют данные методы, определяет движение и строит карту структуры окружающей среды гораздо быстрее.
В отличие от активных, пассивные методы не требуют участия пользователя и опираются на данные анализа одиночного 2D-изображения, что обеспечивает быстрый отклик и удобство для пользователя. Самые используемые: методы, основанные на спектре Фурье (поиск разницы в интенсивности светоотражения 2D и 3D-объектов) и методы, извлекающие свойства текстур изображения. Эффективность данных методов снижается при изменении направления и яркости освещения. Кроме того, современные девайсы способны передавать изображение в высоком разрешении и естественном цвете, позволяя обмануть систему.
Что лучше?
В таблице кратко представлены ключевые характеристики основных категорий методов. Не буду описывать методы, входящие в каждую категорию, их много и они разнятся в зависимости от применяемых алгоритмов и их сочетаний.
Категория методов | Принцип работы | Преимущества | Ограничения |
---|---|---|---|
Методы на основе движений (мимики) или темпоральные методы (динамические, реже статические) | Фиксация непроизвольных движений мышц или действий по запросу | Хорошая обобщающая способность* | — Низкая надежность; — медленный отклик (> 3 сек.); — высокая сложность вычислений; — эффективны против фотографий и 2D-масок. |
Методы на основе анализа текстуры (статические) | Поиск особенностей текстуры, характерных для напечатанного лица (размытости, сбои при печати и т.д.) | — Быстрый отклик ( 3 сек.); — чувствительность к освещению и качеству изображения. | |
Мультимодальные методы (статические и динамические) | Сочетание двух и более биометрических методов | — Высокая надежность; — универсальность (возможность выбора модальности). | — Медленный отклик (> 3 сек.); — возможность выбора модальности облегчает выбор наиболее простого метода атаки; — сложность объединения признаков, извлеченных разными методами. |
Методы с применением инерционных датчиков (динамические) | Анализ соответствия движений лица движению камеры с помощью встроенных датчиков мобильного устройства (акселерометр и гироскоп) | — Высокая надежность методов (применительно к 2D-атакам); — необходимые датчики уже в комплектации смартфонов. | — Медленный отклик (> 3 сек.); — результат зависит от точности измерений датчиков; — чувствительность к освещению, окклюзии и мимике. |
* Способность модели эффективно работать в случаях, выходящих за рамки обучающих примеров (например, при изменении условий регистрации шаблона: освещение, шумы, качество изображения)
Методы разных типов можно сочетать друг с другом, но из-за длительности обработки различных параметров эффективность детекции подобными гибридными методами оставляет желать лучшего.
Картина применения в современных системах распознавания лиц примерно следующая*:
* По результатам анализа систем более 20 вендоров
Как видно из графика, превалируют динамические методы, при этом ставка делается на запрос действий. Подобный выбор, скорее всего, обусловлен предположением, что типичные злоумышленники обладают ограниченными техническими навыками и простыми средствами. На практике же развитие технологий и рост их доступности приводят к появлению более изощренных способов спуфинга.
Примером тому служит доклад исследователей из университета Северной Каролины, сумевших обмануть пять алгоритмов распознавания лиц с помощью текстурированных 3D-моделей голов добровольцев, созданных на смартфоне с использованием студийных фотографий и фотографий из социальных сетей, а также технологии виртуальной реальности для имитации движений и мимики. «Обманутые» системы как раз полагались на анализ действий пользователя (с построением структуры или просто проверкой наличия движений), по крайней мере, о других методах на тот момент вендоры систем не заявляли.
А вот метод FaceLive, на тот момент не использовавшийся в системах распознавания лиц, пропустил атаки только в 50% случаев. Механизм liveness detection сравнивает сходство между измеренными акселерометром изменениями направления движения мобильного телефона и изменениями лицевых ориентиров (нос, глаза и т.д.), наблюдаемыми на видео с камеры. Живой пользователь обнаруживается, если изменения положения головы в видео лица согласуются с движениями устройства. К недостаткам метода можно отнести зависимость от точности инерционных датчиков устройства, уровня освещения, мимики пользователя и большую длительность процедуры.
Успешно противостоять атакам с помощью 3D-модели, имитирующей мимику и движения, по мнению авторов доклада, способны анализ кровотока, световая проекция и использование инфракрасной камеры.
Анализ кровотока построен на выявлении различий в воспроизведении периодических изменений цвета кожи в результате сердечных сокращений. Поддельные изображения воспроизводят цвет хуже.
При использовании световой проекции встроенный в устройство или внешний источник света выдает вспышки через случайные промежутки времени. При попытке обмана система 3D-рендеринга должна уметь быстро и точно визуализировать проецируемые узоры освещения на модели. Требование наличия дополнительного оборудования выступает существенным ограничением.
Упомянутый доклад опубликован в 2016 году, за это время некоторые алгоритмы усовершенствовались. Так, некоторые вендоры заявляют о способности их систем успешно противостоять атакам с помощью 3D-масок.
Примером серьезного отношения к надежности технологии служат Apple и Microsoft. Face ID в свое время помогла привлечь внимание широкой аудитории к распознаванию лиц, демонстрируя, как может выглядеть будущее безопасности личных данных. Но вскоре после запуска появились десятки видеороликов (по большей части фейковых) на тему обмана технологии. В 2017 году распознавание лиц Windows Hello удалось обмануть с помощью печатного изображения. Возвращаясь к результатам тестов Forbes можно констатировать, что компании с тех пор проделали большую работу, в результате их системы взломать не удалось.
Примеров реальных (с целью совершения преступления) взломов систем распознавания лиц лично я не встречал, в отличие, скажем, от систем на основе сканирования отпечатков пальцев. Т.е. все попытки взлома предпринимались либо в целях тестирования надежности, либо в целях дискредитации технологии. Конечно, системы распознавания лиц пока не так распространены, как системы сканирования отпечатков пальцев, но все же используются, в том числе и в банках, где вопросам безопасности уделяется максимум внимания.
Источник