Биометрическая аутентификация в смартфонах: удобство против безопасности

Декабрь 1st, 2017 by Oleg Afonin
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Биометрические механизмы аутентификации стали использоваться в смартфонах не так давно. Всего четыре года назад дактилоскопический сканер появился в iPhone 5s. До той поры отдельные попытки интегрировать сканеры отпечатков предпринимались производителями и раньше, но ничего хорошего из этого не выходило.

Прогресс не стоит на месте. Со временем производители встраивали новые способы биометрической аутентификации. Разблокирование по лицу в Android Smart Lock, подсистема Windows Hello, позволяющая разблокировать смартфоны Lumia 950 и 950 XL по результатам сканирования радужной оболочки глаза, а также новейшая разработка Apple – система Face ID, сканирующая трёхмерную модель лица пользователя. Как обстоят дела с биометрией сегодня и стали ли наши смартфоны более безопасными от повсеместного внедрения сканеров отпечатков? Этой публикацией мы открываем серию статей, посвящённых методам биометрической аутентификации в современных смартфонах. Для начала поговорим о самом старом и самом популярном на сегодняшний день способе – датчиках отпечатков пальцев. Начнём наше исследование с устройств Apple – iPhone и iPad, оборудованных датчиком Touch ID.

Количество или качество?

На сегодняшний день компания Apple устанавливает датчики Touch ID практически во все свои устройства (за исключением давно не обновлявшейся линейки iPod Touch), в то время как производители смартфонов на Android получили возможность доступа к нужному API с выходом Android 6.0. Попробуем разобраться, насколько безопасен дактилоскопический метод аутентификации и имеет ли практический смысл его использование.

Соблюдая исторический порядок, начнём мы, пожалуй, с Apple.

Touch ID и Secure Enclave: сладкая парочка

В далёком 2013 году проблемой Apple, уже в те времена начинавшей обращать внимание на безопасность данных, был простой факт: пользователи в массе своей не желали каким-либо образом защищать свои устройства. Вводить PIN-код для разблокировки телефона? Это долго и неудобно. Проанализировав ситуацию, в Apple решили не заставлять пользователей использовать коды блокировки. Вместо этого в компании попытались попросту максимально упростить процесс разблокировки, сделав его умеренно безопасным. Основная идея технологии Touch ID (кстати, как и Smart Lock в Android) вовсе не в том, чтобы сделать безопаснее каждый отдельный телефон. Идея в том, чтобы сделать безопасность достаточно удобной и привлекательной в глазах основной массы пользователей, повысив распространённость безопасных способов блокировки устройств. И своей цели компания добилась.

Touch ID – это уникальный программно-аппаратный комплекс, и слово «уникальный» здесь не несёт рекламного оттенка: каждый конкретный датчик в процессе производства проходит настройку для работы с конкретным устройством. Давнишний скандал с «ошибкой 53» возник именно из-за этой особенности, которая блокировала работу устройств, у которых в кустарных условиях заменили датчик отпечатков пальцев.

Где хранятся отпечатки пальцев

Устройства, оборудованные Touch ID, не сохраняют копии отпечатков. Казалось бы, необходимость хранить данные отпечатков в виде односторонней хэш-функции очевидна, но не для производителей: так, разработчики одного из первых смартфонов с датчиком отпечатка, телефона HTC One Max, решили, что хранить отпечатки можно в виде картинок в самой обычной папке в памяти устройства.

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

Что интересно, даже односторонние хэш-функции отпечатков зашифрованы, причём ключи шифрования вычисляется во время загрузки устройства на основе уникального аппаратного ключа (который хранится глубоко внутри Secure Enclave и не может быть оттуда извлечён) и кода блокировки, который вводит пользователь. Расшифрованные дактилоскопические данные доступны только в оперативной памяти устройства и не сохраняются на диск. При этом система время от времени удаляет данные отпечатков даже из оперативной памяти устройства, вынуждая пользователя повторно авторизоваться с помощью кода блокировки (который, напомним, даст системе возможность расшифровать данные отпечатков и возобновить работу датчика Touch ID).

Когда и почему iOS удаляет данные отпечатков из оперативной памяти

Пожалуй, самое интересное в системе безопасности iOS – это именно вопрос о том, при каких обстоятельствах iOS удалит данные отпечатков (для iPhone X – данные Face ID) из оперативной памяти устройства и заставит пользователя заново авторизоваться с помощью кода разблокировки. (Разумеется, из Secure Enclave данные отпечатков никуда не пропадают, просто для их расшифровки требуется ввести код разблокировки экрана).

Для начала подумаем, зачем Apple вообще понадобилось периодически удалять отпечатки?

В Apple прекрасно понимают (и понимали четыре года назад) тот факт, что любую биометрическую систему можно обмануть. Да, в Apple разработали прекрасные дактилоскопические сканеры, обмануть которые непросто. Но всё-таки можно. В конце концов, владельца можно заставить приложить палец для разблокирования телефона – вот только в рамках американской правовой системы для осуществления сего действа требуется ордер, на получение которого уходит время… по истечении которого телефон удалит из памяти данные отпечатков и не позволит разблокировать устройство по отпечатку пальца.

Звучит как натяжкаНет, просто Apple очень не понравилась попытка давления со стороны правоохранительных органов, в ответ на которое она и ввела эту меру:

Но не будем отвлекаться, а посмотрим лучше внимательно на условия, при которых система блокирует работу Touch ID и вынуждает авторизоваться с помощью кода блокировки.

Датчик Touch ID выключается, а данные отпечатков – удаляются из памяти устройства при соблюдении любого из следующих условий:

  • Телефон выключен или перезагружен
  • Пользователь добавляет данные ещё одного пальца
  • Телефон получает команду удалённой блокировки через Find My iPhone
  • Было 5 безуспешных попыток разблокирования с помощью отпечатка подряд
  • Устройство ни разу не разблокировалось в течение двух суток
  • Анти-полицай: прошло более 6 суток с момента последнего ввода кода блокировки, а само устройство не было разблокировано датчиком Touch ID в течение последних 8 часовСмысл данного пункта нужно пояснить. По мнению PhoneArena, он «…может усложнить работу правоохранительных органов.» Я выразился бы более уверенно, ведь последний пункт был введён сразу после нашумевшего процесса с террористом из Сан-Бернардино, в процессе которого на Apple оказывалось беспрецедентное давление.
  • Добавлено в iOS 11: после использования специального режима S.O.S. данные отпечатка также удаляются.

О режиме S.O.S. поговорим подробнее. Для его активации в «старых» устройствах (до iPhone 7 включительно) требовалось пятикратное нажатие кнопки питания (в Индии – всего лишь трёхкратное), что является довольно естественным жестом в условиях паники. В то же время для поколения устройств iPhone 8, 8 Plus и iPhone X нужно зажать и удерживать кнопку питания и одну из кнопок громкости, на что в условиях стресса способен… я думаю, никто не способен. Тем не менее, при входе в этот режим данные отпечатка (для iPhone X – данные Face ID) удаляются из оперативной памяти устройства, и для его разблокировки потребуется вновь авторизоваться при помощи пароля.

Как обойти

Если речь идёт о взломе Touch ID, то обмануть датчик сложно, но можно. Для обмана современных датчиков нужно создать трёхмерную модель пальца, причём из правильного материала. На старых устройствах (iPhone 5s, iPad mini 3) обмануть датчик заметно проще. К примеру, команда немецких хакеров смогла обмануть датчик iPhone 5s через два дня после выхода устройства на рынок (http://arstechnica.com/apple/2013/09/chaos-computer-club-hackers-trick-apples-touchid-security-feature/), попросту распечатав оригинальный отпечаток пальца с разрешением 2400 dpi.

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

Действовать нужно чётко и быстро: времени не так много.

  1. Итак, в наших руках iPhone в неизвестном состоянии. Кнопку «домой», она же Touch ID, не трогаем. Если телефон заблокирован (а он, скорее всего, заблокирован), то напрасно будет потрачена одна попытку из пяти. Проверить состояние устройства можно коротким нажатием кнопки питания.
  2. Если устройство заблокировано, изолируйте его от внешних радиосетей, поместив его в клетку Фарадея (в домашних условиях её роль выполнит обычная микроволновая печь. Выключенная микроволновая печь!) Не забудьте поставить его на зарядку, даже если её роль будет выполнять внешний аккумулятор. Всё это делается для того, чтобы оградить устройство от команд по протоколу Find My Phone, которые позволят как дистанционно заблокировать устройство, так и уничтожить его содержимое. (Казалось бы, эти меры очевидны, но нам известны как минимум два нашумевших случая, когда полицейские допускали удалённое уничтожение данных с уже конфискованных устройств).
  3. Если устройство разблокировано – в наших силах не позволить ему заблокировать экран. Для этого просто отключите автоматическую блокировку (в отличие от процедуры снятия кода блокировки, для отключения автоматической блокировки никакой пароль вводить не потребуется) в настройках Settings — General — Auto-Lock
  4. Если устройство было заблокировано, у нас есть максимум 48 часов (на самом деле меньше) на попытки обмануть датчик отпечатков.
  5. Обратите внимание: все манипуляции с устройством должны проводиться исключительно в среде, защищённой от радиоволн (сетей Wi-Fi и сотовых сетей). Для срабатывания Find My Phone достаточно нескольких секунд.
  6. Если датчик отпечатков удалось обмануть, отключите автоматическую блокировку экрана (см. пункт 3). Имейте в виду: попытки добавить ещё один отпечаток в настройках или сменить код блокировки не пройдут: для этих операций система всегда потребует ввести пароль блокировки.

Как это использовать?

Допустим, нам удалось успешно обмануть датчик отпечатка пальцев. Что дальше? iOS – закрытая система, а вся память устройства будет зашифрована. Варианты?

  • Установка Jailbreak: нет. Для взлома 64-битного iPhone или iPad в любом случае потребуется ввести код блокировки (а в некоторых случаях – ещё и отключить код блокировки в настройках). Кроме того, для iOS 11 до сих пор не существует публичного jailbreak.
  • Физическое извлечение данных: можно попробовать, если jailbreak уже установлен (это маловероятно). В таких случаях можно извлечь большую часть данных, но нельзя расшифровать keychain. А вот если jailbreak нет, то ничего поделать не получится – для его установки потребуется код блокировки.
  • iCloud: возможно. Разблокировав устройство, можно заставить его сохранить свежую резервную копию в iCloud (Settings – iCloud – Backup – Backup now). Однако для извлечения этих данных из облака понадобится пароль от Apple ID, а если активирована двухфакторная аутентификация – то и доступ ко второму фактору (в роли которого, впрочем, может выступить исследуемое устройство). Важный момент: придётся подключить устройство к Wi-Fi, в результате чего вместо резервной копии устройство может получить команду блокировки или уничтожения данных.
  • Резервная копия iTunes: пожалуй, это единственное, что сделать можно и нужно — но только если iPhone работает под управлением iOS 10 или более старой. В этом случае разблокированное устройство легко подключается к iTunes, с помощью которого создаётся резервная копия данных на компьютере. Дальнейшее – дело техники.

Есть два момента, которые нужно обязательно отметить. Во-первых, это пароль на резервную копию. Если он установлен, его придётся взломать перебором (например, с помощью Elcomsoft Phone Breaker). А вот если он не установлен – обязательно установите известный пароль! Простейшего «123» будет вполне достаточно. Из резервной копии, зашифрованной паролем, можно расшифровать все данные, а из незашифрованной – все, кроме keychain. Поскольку в keychain хранится всё самое интересное, установить временный пароль перед снятием резервной копии будет весьма полезно.

Второй момент – версия iOS. Начиная с iOS 11 для установления доверительных отношений с компьютером (а они необходимы для создания резервной копии) требуется ввести пароль блокировки устройства. Если он неизвестен – ничего не получится. Таким образом, можно считать, что разблокировка по датчику отпечатка даже более безопасна по сравнению с паролем блокировки.

Итог

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

Ещё более совершенной схема биометрической аутентификации стала с выходом iOS 11. Теперь для того, чтобы извлечь данные из iPhone, недостаточно просто разблокировать его при помощи отпечатка. Любые действия с устройством (установление доверенных отношений для снятия резервной копии, добавление и удаление отпечатков, деактивация iCloud Lock и отвязка от учётной записи владельца, смена пароля на резервную копию) требуют дополнительного ввода пароля блокировки. Таким образом, даже обманув датчик отпечатков пальцев, злоумышленник получит лишь весьма ограниченный доступ и не сможет в полной мере использовать все возможности устройства.


  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Tags: , , , , , ,

Подписаться на рассылку о новостях и новинках компании ElcomSoft

Leave a Reply

Оставьте первый комментарий!

Notify of
avatar
wpDiscuz