Недавно сообщество spring security закончило работу над поддержкой passkeys (ключи доступа), а конкретнее WebAuthn. Протокол WebAuthn позволяет реализовать аутентификацию с помощью биометрических данных. На данный момент поддержка passkeys местами немного сыровата, и мы активно фиксим баги и всячески улучшаем саму фичу. В документации мы написали:
Passkeys are a more secure method of authenticating than passwords and are built using WebAuthn.
Ключи доступа представляют собой более безопасный метод аутентификации, чем пароли, и создаются с использованием WebAuthn.
В этой статье я поделюсь результатами своего исследования – насколько безопасно это утверждение в контексте биометрической аутентификации и когда можно рекомендовать использовать подобные решения.
Я буду приводить примеры современных известных мне методов биометрической аутентификации, а также их реальные и потенциальные уязвимости. Кроме того, будут рассмотрены перспективные методы аутентификации, которые на данный момент находятся в активной разработке либо на этапе тестирования.
Сканирование формы лица человека
Самый распространённый метод, faceid на iphone – это оно и есть. WebAuthn
позволяет работать с faceid, и это довольно распространённая практика. Многие компании уже используют такой способ аутентификации в основном в качестве дополнительного фактора. Что касается безопасности сканирования лица:
· Его нельзя взломать с помощью фотографии.
· Его нельзя взломать с помощью технологии deepfake.
Современные мобильные девайсы при сканировании лица анализируют глубину изображения, а природа фотографий и дипфэйков «плоская», что не позволит просто так открыть тот же faceid. Polar ID от Samsung также не поддается таким атакам. Поэтому можете не беспокоиться – никакими дипфэйками ваш iphone взломать.
Тем не менее способы взлома такой защиты все-таки существуют. Открыть faceid можно с помощью копии лица, изготовленного по технологии 3d-печатной маски. Процесс изготовления очень трудоемкий и включает в себя множество шагов. Ошибка на любом из них, и копия не будет качественной, что не позволит открыть faceid. Стоит отметить, что 3d-копия лица работает не на 100%, так как современные iphone оснащены довольно надежными сканерами.
Второй, менее надежный способ – это так называемые видеоинъекции. В данном методе в устройство аутентификации внедряется видеопоток между оптическим датчиком и процессором. Faceid менее подвержен такой атаке, тем android устройства.
Не стоит забывать и про старый добрый фишинг – биометрические данные можно просто выманить через фишинговое приложение. Так сейчас делает троян GoldPixaxe на iOS.
Сканирование отпечатков пальцев
Исследователи из команды Cisco Talos дали ответ на вопрос: можно ли подделать отпечаток пальца и взломать системы защиты. Они получили отпечаток пальца темя разными способами, после чего изготовили форму для отлива. Сам фальшивый палец был изготовлен по форме из обычного дешевого клея.
Полученные копии исследователи применили к разным телефонам, планшетам и ноутбукам. Результат оказался печальным: в 80–90% случаев гаждеты удалось вскрыть. Устойчивым к взлому оказался Samsung A70 и все девайся на Windows 10.
Что интересно большинство гаждетов сейчас снабжены ультразвуковыми сканерами отпечатка пальца. И как отмечают исследователи, легче всего оказалось взломать... гаджеты с ультразвуковыми сканерами.
Сканирование рисунка кровеносных сосудов
Далеко не новый метод биометрической аутентификации позволяет вместо отпечатка пальца сканировать рисунок кровеносных сосудов. Считыватель сканирует вены пальца и на основе полученный информации генерирует уникальный пароль. Система получила название FingoPay.
Какого-либо метода взлома такой системы пока не обнаружено. Массового применения пока тоже нет, так как конструкция не позволяет внедрить систему, например, в ноутбук без существенного увеличения габаритов. Тем не менее такой способ аутентификации можно назвать относительно безопасным.
Анализ голоса
Компания ID R&D смогла разработать решение IDVoice Verified, основанное на ИИ. На данный момент компания предлагает свой продукт для решения задачи SCA (strong customer authentication). Это когда в платежных системах для подтверждения транзакции вам нужно выполнить какое-либо действие, например, ввести код из смс. IDVoice Verified дает возможность подтверждать транзакции голосом, а не кодами из смс.
Это выглядит безопасно, по крайней мере по сравнению с кодами из смс. Какой-либо успешной атаки пока что обнаружить не удалось, но разработчикам нужно быть осторожней – ставка на ИИ может сыграть с ними злую шутку. Атаке может подвергнуться сам ИИ, например, prompt hacking – это когда хакер «отравляет» ИИ, использую заведомо некорректные данные, при этом ИИ начинает реагировать на привычные вещи совсем не так, как надо. В теории ИИ от ID R&D можно отравить, и он перестанет корректно распознавать голос, но это пока что только в теории.
«Отпечатки мозга» как способ аутентификации
Российские ученые из ИПУ РАН разработали интересный биометрический маркер, который можно назвать «отпечатком мозга». Существует такое понятие, как устойчивый визуально вызванный потенциал (УВВП) – человеческий мозг в ответ на зрительное воздействие генерирует особые сигналы. То есть, когда мы на что-то смотрим наш мозг реагирует электрическим сигналом. Наши ученые утверждают, что УВВП позволяет однозначно идентифицировать человека. Пока что они смогли добиться 70% точности идентификации человека с помощью нейронных сетей AlexNet и Mobile Net 2, но, как утверждают авторы исследований, точность можно существенно повысить за счет донастройки нейронных сетей.
Метод находится на этапе эксперимента, 70% точности пока что слишком мало, чтобы говорить о прорыве.
Выводы
Несмотря на то, что в аутентификации с использованием биометрии есть ряд проблем, нельзя сказать, что она полностью скомпрометирована и не рекомендована к использованию. Не стоит полностью на нее полагаться, но как второй фактор она вполне сгодится. Самая главная опасность таких методов – это потенциальные утечки. К сожалению, утечки – это реальность, от которой никуда не деться и если утекает пароль, то его можно легко сменить, то с биометрическими данными так уже не сделаешь. И это большая проблема. Поэтому от паролей пока что отказываться рано.
Что касается потенциальных взломов, то массового применения мы не наблюдаем, так как они очень технически сложны в реализации. Но это не значит, что нельзя стать жертвой такого взлома.
Я бы от себя дал такую рекомендацию – не стоит отказываться от старого доброго пароля, а биометрию можно использовать, как второй фактор. В ближайшее время я пообщаюсь с сообществом spring security, возможно кто-то знает другие методы биометрической аутентификации и возможные методы взлома. Если наберется нужное количество материала, опубликую еще одну статью. Просьба написать в комментариях любую информацию по теме, заранее спасибо.