Обвели вокруг пальца, или Как мы обманывали сканеры отпечатков

Всем привет! С вами исследовательская лаборатория BI.ZONE. Большую часть времени мы исследуем защищенность встраиваемых систем, а еще у нас бывают проекты по тестированию биометрических систем. В августе на конференции OFFZONE 2025 мы выступили с докладом о тестировании сканеров отпечатков пальцев. Доклад и презентацию к нему можно посмотреть по ссылке. А специально для тех, кто любит читать длинные тексты, весь этот интересный процесс мы описали в нашей новой статье.

Несколько слов о сути проекта

К нам обратилась компания, которая хотела проверить, насколько безопасна аутентификация по отпечатку пальца. Еще заказчика интересовало, есть ли различия в защищенности у разных типов сканеров. При этом запрещалось какое-либо вмешательство в их работу на программном или аппаратном уровне. То есть основной задачей была именно подделка отпечатков пальцев (создание артефактов). Заказчик хотел знать, возможно ли в принципе обойти сканеры. Поэтому мы не подсчитывали успешные попытки, а дальнейшие выводы о защищенности конкретного сканера делали на основании собственных наблюдений.

На заре BI.ZONE подобные работы уже проводились. Но никто из нас не был свидетелем тех славных подвигов, а за давностью лет почти все наработки были утеряны. И мы решили начать все с чистого листа. Первым делом принялись штудировать всевозможные статьи по нашей теме.

Для начала важно разобраться, какие вообще бывают типы сканеров отпечатков пальцев, как они работают и чем отличаются. Несмотря на то что типов существует довольно много, реально встречающиеся можно пересчитать по пальцам одной руки — это оптические, емкостные и ультразвуковые. Оптические сканеры используют отражение света, емкостные — проводимость человеческого тела, ультразвуковые — отражение ультразвука.

Схема работы оптического сканера
Схема работы емкостного сканера
Схема работы ультразвукового сканера

Это не то, что нужно знать как свои пять пальцев, поэтому мы не будем рассказывать подробно, в интернете есть куча статей. Вернемся к ограничениям сканеров, когда будем рассказывать про производство артефактов.

В нашем распоряжении оказались следующие устройства:

  • Оптические (Lucking Door URU4500, ZKTeco ZK 9500, Hamster Pro 20).

  • Емкостные (Grow R503Pro, Asus M1603Q, MacBook Pro 2023, iPad Air 2025).

  • Ультразвуковые (Samsung S23).

Тестируемые устройства

Создание артефактов из форм, изготовленных прямым оттиском пальца

Начнем с создания отпечатков пальцев из готовых форм (оттисков). При этом подходе мы первым делом оставляем отпечаток в пластичном материале, после застывания которого получаем форму. Потом в полученную форму заливаем другой материал, который после застывания становится нашим слепком. Полученный слепок предъявляем сканеру.

Основные требования к материалам для форм — мягкость при оттиске, твердость после застывания, способность точно воспроизводить папиллярные линии.

От материалов для слепков в первую очередь требуется гибкость: она важна при предъявлении отпечатков, например когда сканер находится в углублении, а также для того, чтобы отпечаток равномерно лег на всю поверхность сканера. Кроме того, важны долговечность и способность точно воспроизводить папиллярные линии.

Начитавшись статей с разнообразием используемых материалов, мы решили закупить набор для творчества. У нас были термоклей, скульптурный пластилин, несколько видов полимерной глины, гипс, бетон, несколько видов воска, парафин, термопластик, высосанные из пальца цитаты из фильмов — ну и как там дальше... Для изготовления слепков мы использовали столярный клей, латекс, силикон и желатин.

Материалы для изготовления форм и слепков

Расскажем подробно, что у нас получилось, а что — нет. Пока ждали, когда приедет основная часть материалов, начали эксперименты с тем, что всегда есть в Лабе, — с термоклея. Без всякой интриги: ничего не вышло. Хоть и удается оставить четкий отпечаток в термоклее, есть подозрение, что термоклей сильно усаживается в процессе застывания. Поэтому геометрия отпечатка меняется. К тому же у термоклея достаточно высокая температура застывания, и тыкать пальцами во что-то стоградусное довольно-таки неприятно.

Затем пришли заказанные материалы, и мы начали эксперименты. Несмотря на множество проб и ошибок, нам не удалось сделать хорошие формы из полимерной глины, гипса и бетона. Они не позволяют оставить хороший отпечаток, а после застывания обладают пористой структурой, из которой сложно получить хороший слепок. Пластилин оказался слишком твердым — в итоге подушечка пальца при оттиске продавливается внутрь, и не удается получить ровный слепок.

Отпечаток в термоклее
Отпечаток в пластилине
Отпечаток в полимерной глине
Отпечаток в гипсе

Действительно подходящими материалами для изготовления форм оказались воск, парафин и термопластик. Они соответствуют всем критериям хороших форм, и именно из них мы получили работающие слепки.

Форма из воска
Форма из парафина
Форма из термопластика

Переходим к слепкам. Сразу назовем материалы, которые нас в итоге не устроили. Это столярный клей и латекс. Первый позволяет сделать точный слепок, но становится крайне твердым и хрупким при застывании, вплоть до того, что он ломается при извлечении из формы. Еще одна неприятная особенность столярного клея — время застывания: ему требуется около 12 часов. Аналогичное время застывания и у латекса. Это, а еще крайне неприятный запах, хорошо знакомый любителям бескамерных покрышек и кошачьих туалетов, отвадили нас от использования латекса.

Слепок из столярного клея
Слепок из латекса

В итоге материалами, которые нас полностью устроили, стали силикон и желатин. И тот, и другой позволяют изготовить качественные слепки. Тем не менее и у них есть недостатки.

Как мы уже отмечали, у разных типов сканеров отпечатков пальцев есть ограничения по использованию. Главное из них — требование к проводимости артефактов при использовании с емкостными сканерами. Кроме того, некоторые оптические и ультразвуковые сканеры не используют проводимость для распознавания, но используют, чтобы определить наличие пальца на сканере.

К сожалению, силикон — диэлектрик, то есть не проводит электрический ток. Поэтому, чтобы слепки из него работали, мы добавляли графитовый порошок несколькими способами. Во-первых, наносили кисточкой слой графита на уже готовый застывший слепок. А во-вторых (но так мы стали делать сильно позже), добавляли графит во время замешивания силикона приблизительно в пропорции 1:1. Оба этих способа позволяют использовать отпечатки из силикона. Он застывает примерно за час-полтора. Но у черного силикона есть и недостаток — оптические сканеры его не видят.

Слепок из силикона

Желатин, в отличие от силикона, проводит электрический ток, а застывает значительно быстрее — в течение 5–10 минут. Так что материал — просто пальчики оближешь. Единственный недостаток желатина — недолговечность полученных слепков. Даже в холодильнике они живут максимум несколько часов, после чего начинают деформироваться.

Слепок из желатина

В итоге с помощью полученных слепков удалось обойти все сканеры, которые у нас были. Однако найти подобные формы «в дикой природе» достаточно проблематично. Люди где только не оставляют свои отпечатки, но вот найти хороший оттиск пальца значительно сложнее. Тем не менее этап с прямым оттиском пальца для нас был важен: мы убедились, что сможем обходить сканеры, перед тем как переходить к более сложным атакам. Плюс мы определились с материалами, которые будем использовать в дальнейшем.

Создание артефактов из двумерных изображений

Следующий шаг — создание отпечатков пальцев из двумерных изображений. Это могут быть отпечатки пальцев, полученные с помощью дактилоскопии, а также изображения, полученные в открытом виде с какого-либо сканера отпечатков пальцев. Сами двумерные изображения невозможно использовать со сканерами, даже оптическими (мы пытались), — нужно как-то придать им высоту. Есть два варианта — травление печатных плат и 3D-печать. Но обо всем по порядку.

Для начала нам надо было разжиться изображениями отпечатков. Как настоящие ученые, мы начали с экспериментов на себе. Почему-то нам не понравилась идея «снимать пальчики», используя сканер, поэтому мы сразу же взялись за самодактилоскопирование. Несколько попыток с валиком и типографской краской — и мы получили приличные отпечатки. А еще узнали, что эта краска остается повсюду и крайне плохо оттирается. Но нас это не остановило, и в итоге мы получили лист А3 с 60 нашими отпечатками, которые подвергли тщательному сканированию — в разрешении 4800 dpi. Но это оказалось избыточным: приходилось уменьшать разрешение до 1200 dpi, так как изображения по 10–15 МБ проблематично конвертировать для дальнейшей работы.

Результаты самодактилоскопирования

Получив все исходные данные, мы перешли к травлению печатных плат. Сразу стоит сказать, почему это рабочий метод. Заготовка для печатной платы представляет собой толстый слой диэлектрика (текстолита), покрытого с одной или двух сторон тонким слоем медной фольги. Именно путем стравливания лишней меди на готовых платах остаются дорожки и контактные площадки, а в нашем случае — отпечатки пальцев. При этом есть стандартная толщина медной фольги, например 18 мкм, 35 мкм или 70 мкм. Это приблизительно соответствует глубине папиллярных линий на пальце человека. Подводя итог, мы берем заготовку печатной платы, стравливаем с нее все лишнее и получаем форму, в которую заливаем силикон или желатин, чтобы получить поддельный отпечаток.

Следующий вопрос: как вытравить печатную плату без регистрации, СМС, мам, пап и кредитов? Первый способ — заказать производство печатных плат. Есть достаточно много компаний в России и Китае, которые оказывают подобные услуги. Но не ударить палец о палец не получится: файлы для производства в любом случае придется делать самостоятельно. Мы пользовались двумя САПР для трассировки печатных плат — Altium и KiCAD. У обеих есть преимущества и недостатки, но и та, и другая позволяют сделать производственные файлы. Главное на этом этапе — заранее подумать про инвертирование и отражение исходных изображений, чтобы на выходе из формы получился отпечаток, соответствующий настоящему.

Плюсы этого способа — высокое качество получаемых форм и относительная простота. Нужно всего лишь иметь небольшие знания о трассировке печатных плат. Минус — время. Даже в самом идеальном случае заказ, производство и доставка займут пару-тройку дней. Реальные же сроки могут варьироваться от одной до нескольких недель в зависимости от производителя и желаемого качества отпечатков. Второй относительный минус — это стоимость. Производство одного отпечатка обойдется дороже, чем если делать дома самостоятельно, но во втором случае придется потратиться на дополнительное оборудование.

Форма, полученная на производстве
Слепок из этой формы

Заказ отправили на производство. Переходим к самостоятельному травлению печатных плат. Да, для этого потребуется некоторое оборудование и расходники, качество будет ниже, чем на производстве, придется провести некоторое время экспериментируя (хотя это скорее плюс). Но, отладив техпроцесс, изготовить отпечатки можно в течение получаса.

Существуют две основные технологии самостоятельного травления печатных плат. Первая — ЛУТ (лазерно-утюжная технология). Сперва на лазерном принтере распечатывается на бумаге отпечаток пальца (лазер). После этого с помощью нагрева тонер с бумаги переносится на заготовку печатной платы (утюг). Потом происходит травление незащищенных тонером участков платы (технология). Несмотря на все наши продвинутые навыки владения утюгом и прочитанные статьи об успешном опыте, нам ни разу не удалось достаточно качественно перенести тонер на заготовку. По большому счету, дальнейшее травление было бессмысленным.

Другая технология самостоятельного изготовления печатных плат — с применением фоторезиста. Мы готовим статью про травление печатных плат, где объясним весь процесс на пальцах. Поэтому здесь опишем эту технологию кратко. Для начала на заготовку наносится пленочный фоторезист — специальный материал, полимеризующийся под действием ультрафиолета. Затем требуется засветить фоторезист. Для этого можно использовать заранее подготовленный фотошаблон и обычную УФ-лампу. Следующий шаг — «смыть» незасвеченный фоторезист. После производится травление открытых от фоторезиста участков меди. И наконец, последний шаг –— убрать фоторезист с оставшихся участков меди. В результате также получается форма для заливки силикона или желатина.

Форма, полученная самостоятельным травлением
Слепок из этой формы

Ниже приведено сравнение форм, полученных на производстве (слева) и вытравленных самостоятельно (справа). Можно увидеть, что общие контуры линий совпадают, но на производстве удалось получить намного больше мелких деталей (например, поры или неровности линий отпечатка) за счет более совершенного техпроцесса.

Формы, полученные на производстве и сделанные самостоятельно

Здесь пытливый читатель может задаться вопросом: а почему бы вместо форм для отпечатков не вытравливать на плате сами отпечатки? Ведь медь — прекрасный проводник, и такие отпечатки можно легко использовать со всеми типами сканеров. Таким же вопросом задались и мы. Основная проблема заключается в том, что для успешного предъявления нужна гибкость полученного отпечатка, которой не обладает текстолит. Но, как у некоторых людей есть привычка просматривать каталоги маркетплейсов, у нас есть привычка просматривать каталог «ЧИП и ДИП», где мы и наткнулись на гибкий текстолит. Его диэлектрическая основа выполнена из тонкого (65 мкм) полиамида, что позволяет буквально гнуть полученные пальцы. Сам процесс травления при этом никак не отличается от травления более толстого текстолита. Читатели, которые пришли за новизной в мире поддельных отпечатков, могут порадоваться на этом моменте: мы не встречали статей, в которых бы использовался гибкий текстолит.

Отпечатки из гибкого текстолита

Другой способ изготовления трехмерных форм из двумерных изображений — 3D-печать. Ее технологии постоянно совершенствуются, и современные фотополимерные 3D-принтеры позволяют воспроизводить мельчайшие детали, в том числе и отпечатки пальцев. Мы, как счастливые обладатели фотополимерного принтера, не могли не воспользоваться всеми прелестями современных технологий.

Для печати требуется изготовить модель. Как и всегда, сначала нужно продумать, надо ли отражать и инвертировать исходное изображение. После этого мы векторизовали растровое изображение с помощью Inkscape. Полученное векторное изображение переносили в Blender, где делали выдавливание. В Fusion мы объединяли несколько полученных моделей в одну форму, удобную для заливки. И наконец, в AnycubicPhotonWorkshop производили слайсинг модели для печати. Простая цепочка, которая постоянно рвалась проблемами экспорта/импорта.

Создание модели формы

Сама печать происходит буквально по щелчку пальцев. Мы просто наливаем фотополимер, загружаем модель на принтер, нажимаем кнопку «Старт», и спустя десяток попыток, несколько отмываний ванночки и замен пленки получаем готовую модель, пригодную для заливки.

Форма, напечатанная на 3D-принтере
Слепок из этой формы

Позже мы еще раз изготавливали формы с помощью 3D-печати и уже улучшили навыки владения 3D-принтером. Результат — ниже.

Напечатанная нами форма, только еще лучше

Еще один вариант — отправить 3D-модель на печать в специализированную компанию. На изготовление уйдет около недели, но при этом можно получить более качественные результаты.

Форма, напечатанная в специализированной компании

Заливать желатин в такие формы можно сразу, а вот с силиконом нас ждало неприятное открытие. При заливке в свежую форму он не застывает, при этом немного растворяя саму форму. Покопавшись на форумах, мы выяснили, что фотополимер даже после постпечатной засветки остается активным и вступает в химическую реакцию с силиконом. Решение — просто выдержать формы в течение нескольких дней, после чего заливка силикона происходит без проблем.

Проведя аналогию с гибким текстолитом, мы задумались: а можно ли печатать непосредственно отпечатки, а не формы для них? Ответ на наш вопрос мы нашли в эластичном фотополимере. Это резиноподобная смола, обладающая твердостью по Шору 58А (при покупке это нам ни о чем не говорило). Важнее то, что при печати получаются отпечатки, по ощущениям напоминающие резину. При этом они могут работать даже с емкостными сканерами при покрытии графитовым порошком. Как и в случае с гибким текстолитом, мы не видели статей, где для подделки отпечатков пальцев используется эластичный фотополимер.

Отпечаток из эластичного фотополимера

Так же, как и с формами, прикладываем ниже результаты нашей последней итерации, где нам удалось улучшить качество 3D-печати.

Отпечаток из эластичного фотополимера, только еще лучше

Получив достаточное количество разнообразных артефактов, мы приступили к тестированию. Все оказалось проще, чем мы думали: нам удалось для каждого тестируемого устройства подобрать хотя бы один вид артефакта, позволяющий обойти его защиту. Несмотря на все визуальные отличия в формах и отпечатках, полученных из производственных и самостоятельных печатных плат, а также из 3D-печатных форм, мы не увидели значительной разницы в их потенциале обхода сканеров.

Хоть тестирование в рамках этого подхода и завершилось успехом (для нас, не для сканеров), у него есть недостаток: все еще достаточно сложно получить исходные данные для создания артефактов. Маловероятно, что злоумышленник сможет выкрасть картотеку из отдела полиции или заставить людей сдавать отпечатки пальцев на скимминговом сканере. Также возникает вопрос: как получить отпечатки пальцев какого-то конкретного человека?

Создание артефактов из отпечатков, оставленных на поверхностях

Переходим к последнему подходу, который мы применяли, — созданию артефактов из латентных отпечатков пальцев, оставленных на поверхностях. Если нас читают криминалисты, просим прощения за наши формулировки. Под латентным отпечатком пальца мы подразумеваем след, оставленный пальцем на какой-либо поверхности. Все мы постоянно оставляем отпечатки пальцев. Остается только решить задачу их сбора и переноса для изготовления артефактов.

Поскольку у нас не было никакого опыта в криминалистике, мы решили обратиться за помощью к профессиональному криминалисту. Она поделилась с нами опытом и показала, как правильно собирать и переносить отпечатки с различных поверхностей на бумагу. После этого урока мы решили, что и сами не пальцем деланы: заказали себе набор юного криминалиста и перешли к сбору отпечатков. Мы не стали пугать коллег и шариться по всем столам и урнам в офисе, а взяли свои отпечатки, оставленные в заранее определенных местах. Да, это не так увлекательно, но экономит время и снижает шансы быть неправильно понятыми.

Набор криминалиста

Мы выбрали несколько поверхностей: металл, стекло, пластик и бумагу. Способ сбора отпечатков с первых трех отличается незначительно. С металлом мы используем сажу и обычную кисть, а со стеклом и пластиком магнитные порошки и магнитную кисть. В остальном все одинаково: аккуратно наносим порошок с помощью кисти на латентный отпечаток, после этого валиком накатываем дактилопленку или обычный скотч, снимаем его и валиком накатываем на бумагу. Чтобы выявить отпечатки на бумаге, ее обрабатывают специальными химикатами. Мы пользовались нингидрином, который распыляли на бумагу с использованием химического шкафа (не повторяйте дома), но получить хорошие отпечатки не вышло. Зато нам удалось получить хорошие отпечатки со всех остальных поверхностей. Пожалуй, самые лучшие мы сняли с задней крышки телефона, которая, вероятно, и будет основной целью злоумышленников.

Сбор отпечатков с разных поверхностей
Отпечатки, снятые с задней крышки телефона

Следующая задача — преобразовать полученные изображения в пригодный для работы вид. Как и прежде, мы сканировали их в высоком разрешении, и визуально они выглядели неплохо. Но по факту там, где раньше все было черное или белое, мы получили множество оттенков серого. Пространство между папиллярными линиями содержало оставшийся порошок, а некоторые части изображения было трудно классифицировать, являлись ли они частью рисунка или просто оставшимися комками порошка. Границы папиллярных линий тоже уже не были такими четкими как раньше, поэтому изображения требовали значительной постобработки.

Самый простой, возможно, самый качественный и точно самый трудозатратный способ сделать это — в любом графическом редакторе вычищать изображение вручную или с помощью «волшебной палочки». В этом случае итоговое качество будет зависеть только от аккуратности и потраченного времени.

Более продвинутый способ — использовать компьютерное зрение, в чем, к сожалению, мы оказались не сильны. К счастью, современные языковые модели знают OpenCV куда лучше нас, поэтому спустя пару часов запросов удалось создать вполне удобный инструмент для улучшения отпечатков пальцев.

Обработанные с помощью OpenCV отпечатки пальцев

После получения обработанных исходных изображений процесс создания артефактов ничем не отличается от предыдущего подхода. Как и раньше, мы травили печатные платы, а также гибкий текстолит и печатали как формы, так и отпечатки.

Ниже приведены сравнения артефактов разных видов (слева — перенесенные с поверхности, справа — полученные из изображения).

Слепки из формы, полученной травлением
Отпечатки из гибкого текстолита
Слепки из формы, полученной 3D-печатью
Отпечатки из эластичного фотополимера

Как видите, артефакты, полученные с помощью травления печатных плат, стали хуже, но не значительно. Пропали некоторые детали, контуры линий стали менее гладкими, но сам рисунок остался хорошо читаем.

Подобного не удалось добиться с использованием 3D-печати. Как формы, так и отпечатки значительно потеряли в качестве.

Результаты сканирования

Теперь к итоговым результатам. Удалось ли нам обвести сканеры отпечатков вокруг пальца? Да. Для каждого сканера удалось подобрать хотя бы один вид артефактов, с помощью которого удалось его обойти. Хоть мы и не вели статистику, по ощущениям обходить сканеры с помощью отпечатков, снятых с поверхности, сложнее. Единственный тип атаки, который совсем перестал работать, — это отпечатки из форм, напечатанных на 3D-принтере, что было ожидаемо.

Также приводим примеры изображений, которые нам удалось получить со сканеров.

Изображения со сканеров
Изображения со сканеров

Вместо заключения

Как хорошие мальчики, мы сообщили о наших находках вендорам тестируемых устройств. Ответом нас удостоили только Microsoft, Samsung и Apple. Первые сказали, что это не уязвимость. Вторые — что работает, как и должно. Третьи задали несколько вопросов и больше к нам не возвращались.

Какие из этого можно сделать выводы? Хоть нам и удалось обойти все устройства, мы точно можем сказать, что с некоторыми из них это сделать сложнее, чем с другими. Поэтому, если вы компания, которая хочет использовать отпечатки пальцев, но при этом задумывается и о безопасности, то лучше протестируйте устройства перед закупкой. Если вы покупаете какое-то устройство со сканером отпечатков для себя и переживаете, то попробуйте найти отзывы, документацию на сканер, статьи с результатами тестирования. Если вы вендор, то делайте безопасные устройства. А небезопасные не делайте.

Данные о правообладателе фото и видеоматериалов взяты с сайта «Хабрахабр», подробнее в Условиях использования
Анализ
×
ООО "БИЗОН"
Организации
14
ASUSTeK Computer Inc.
Организации
23
Microsoft
Сфера деятельности:Связь и ИТ
231
Apple
Сфера деятельности:Связь и ИТ
230