Недавно исследователи из США и Китая опубликовали работу, в которой предложили крайне необычный способ кражи отпечатков пальцев. Представьте, что вам звонит злоумышленник. Или же вы подключаетесь со смартфона к конференц-звонку, доступ к которому имеет атакующий. Во время звонка вы что-то делаете на телефоне, естественно, водя пальцем по экрану. Звук от такого движения хорошо слышен через встроенные в смартфон микрофоны, а значит, потенциальный злоумышленник может этот звук записать и проанализировать. А из него воссоздать какие-то фрагменты отпечатка, которых будет достаточно, чтобы с помощью «искусственного пальца» разблокировать ваш смартфон. Только вдумайтесь: из каких-то «шорохов» можно вычислить рисунок на подушечке пальца, это фантастически красивая атака по сторонним каналам!
Как можно украсть отпечаток пальца через звук
Общая схема новой атаки PrintListener показана на картинке:
Когда пользователь водит по поверхности экрана пальцем, он производит практически не слышимый человеческим ухом шум. Эти, грубо говоря, «шорохи» неоднородны — их характер меняется, когда к экрану прикасаются крупные узлы в рисунке отпечатка, так называемые «петли» и «дуги». Если записать шум при помощи чувствительного микрофона, а позже проанализировать его, то на основании полученных данных можно восстановить примерное расположение и рисунок таких узлов.
Чтобы сделать атаку хоть сколько-то реалистичной, авторы нового исследования провели большую работу. Во-первых, они создали автоматизированную систему поиска звуков, похожих на шорох от движения пальца по экрану. Чтобы не надо было искать эти достаточно тихие и быстрые события вручную. Во-вторых, создали большую базу данных, в которой имелись и фотографии отпечатков, и соответствующие им звуки движения пальца по дисплею в разных направлениях, при разном фоновом шуме, для разных моделей смартфонов, и так далее.
Всего в эксперименте приняло участие 65 добровольцев, было просканировано 180 пальцев. Эти данные были обработаны алгоритмом машинного обучения. Обученный алгоритм смог достаточно уверенно предсказывать некоторые характеристики отпечатка исключительно по звуку движения пальца по поверхности смартфона.
Эффективность атаки PrintListener
PrintListener — далеко не первый вариант атаки на сканеры отпечатков. В 2017 году была опубликована исследовательская работа, в которой к сканеру прикладывали не реальный отпечаток пользователя, а вообще какой-то случайный. И в некоторых случаях это срабатывало! Почему? Во многих современных смартфонах сканер отпечатков встроен в кнопку включения, и она довольно узкая. По определению такой сканер видит только фрагмент отпечатка. Более того, сканеры ориентируются именно на ярко выраженные элементы рисунка на пальце. Если на синтетическом пальце какая-то петля в общих чертах совпадает с петлей на реальном отпечатке, сканер может авторизовать пользователя! Атаку назвали MasterPrint.
Еще одним важным параметром в работе сканера является частота ложноположительных срабатываний. Идеальный сканер отпечатков должен принимать приложенный палец только в случае стопроцентного совпадения рисунка. Но пользоваться таким датчиком будет невозможно! Пользователь каждый раз прикладывает палец немного иначе — под другим углом, чуть выше или чуть ниже. Палец может быть сухим или влажным, он может быть загрязнен или поврежден. Чтобы учесть такую неидеальность реального мира, сканер настраивают так, чтобы он открывал доступ не только при полном совпадении, но и в ситуации «почти совпадает с эталоном». Это неизбежно приводит к ложноположительным срабатываниям: когда палец приложен чужой, но сканер считает, что он «такой, как надо». Типичный процент таких нежелательных срабатываний варьируется от 0,01% (в самом строгом случае) до 1%. Последний вариант будет удобнее использовать, но растет вероятность, что кто-то другой приложит свой палец к чужому смартфону, и устройство будет разблокировано.
Атака MasterPrint показала, что синтетический отпечаток с каким-то распространенным элементом типа «петля» срабатывал при частичном распознавании в 2,4–3,7% случаев, причем с первого раза. Если у нас есть возможность сделать несколько попыток, вероятность ложноположительного срабатывания растет. В исследовании 12 последовательных попыток пропускали поддельный отпечаток в 26–30% случаев! В данных экспериментах тот самый коэффициент ложноположительных срабатываний составлял 0,1%.
Атака PrintListener развивает идеи, заложенные в работе MasterPrint 2017 года. Обработка звуковой информации позволяет с достаточно высокой уверенностью говорить о наличии в рисунке какого-то крупного узла. Она, по сути, позволяет атаковать сканер отпечатков не наудачу и наугад, а с использованием какого-то узла, восстановленного по звуку. Злоумышленник может напечатать на 3D-принтере палец с синтетическим отпечатком, в рисунке которого будет предсказанный крупный элемент.
При допустимой частоте ложноположительных срабатываний в 0,1%, атака PrintListener успешно обманывала сканер отпечатков в 48–53% случаев. Более строгий сценарий, с допустимой частотой ложных срабатываний 0,01%, все равно позволял взломать биометрический сканер в 7,8–9,8% случаев. Это значительно эффективнее, чем в случае MasterPrint. Более того, во всех случаях делалось не более 5 попыток просканировать синтетический палец, что соответствует реальным ограничениям на авторизацию с помощью биометрии в тех же смартфонах.
Польза и вред биометрии
О традиционных рисках для сканеров отпечатков пальцев мы писали ранее. Если коротко — ее ни в коем случае нельзя считать абсолютно надежным средством авторизации. Достаточно легко украсть ваш отпечаток пальца традиционными методами. Люди оставляют отпечатки на поверхностях и предметах, к которым прикасаются. В некоторых случаях «извлечь» пригодный к использованию отпечаток можно даже из фотоснимка. Причем для этого не нужно делать снимок пальцев крупным планом, подойдет и обычная фотография высокого разрешения, сделанная с разумной дистанции в три метра.
Самые простые сканеры можно обмануть, просто напечатав украденную ранее биометрическую информацию на принтере. С современными ультразвуковыми датчиками в смартфонах, расположенных под дисплеем, такой фокус не пройдет, но можно распечатать искусственный палец с необходимым рисунком на 3D-принтере. Есть общая проблема любой биометрической системы аутентификации: такую информацию трудно сохранить в тайне. А поменять отпечаток пальца, в отличие от пароля, невозможно.
Нельзя сказать, что новое исследование дает новые поводы для переживаний за безопасность наших данных. Неидеальная природа биометрии уже учтена в логике работы датчиков в наших устройствах. Именно из-за того, что отпечаток пальца довольно легко «позаимствовать» или распознать ошибочно, смартфоны периодически просят нас ввести пин-код или подтвердить покупку в Сети с помощью пароля. В комбинации с другими методами безопасности сканер отпечатков неплох. Такая защита от несанкционированного доступа лучше, чем вообще никакой. Тем более что простой цифровой код разблокировки смартфона тоже можно подсмотреть или подобрать, исходя из следов на экране дисплея.
Атака PrintListener тем не менее получилась выдающаяся. Важные данные об отпечатках пальцев получилось вытащить из совершенно, казалось бы, неподходящего источника. Сценарий атаки при этом получился вполне реалистичный. Он по смыслу похож на предыдущие исследования, в которых по звуку распознавались вводимые пользователем пароли на клавиатуре. Хочется сделать вывод, что во время телефонного звонка или публичной трансляции в Сети лучше не водить пальцем по экрану. Но мораль этой истории на самом деле проще: не оставляйте конфиденциальную информацию (особенно если речь идет о данных, критичных для бизнеса) под защитой только лишь биометрии.