#BionicManDiary, запись № 003: про то, как я обошел защиту пароля на смартфоне

Новости Спецпроекты

Самое большое разочарование с момента начала эксперимента с подкожным биочипом — позиция Apple относительно развития NFC-технологии. Вернее, попытка узурпировать право на ее использование в рамках своей платформы.

#BionicManDiary запись №003 – Про то, как я обошел защиту пароля на смартфоне, хотя собирался сделать совсем другое

В каждом айфоне шестого поколения имеется встроенный NFC-чип, но он закрыт для всех разработчиков, кроме самой Apple. Создавать собственные приложения для NFC нельзя. Обоснование этому поведению тривиальное: ребята из Купертино активно продвигают свой бесконтактный платежный сервис Apple Pay и таким нехитрым образом душат любую конкуренцию в рамках своей платформы.

Конечно, я это знал с момента анонса iPhone 6. Но с чипом в руке все стало словно в пьесе Евгения Гришковца: «… раньше меня это расстраивало вообще, то есть в целом, а теперь — очень конкретно».

Лучшие бионические технологии в будущем будут доступны не всем

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

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

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

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

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

Так выглядят нынешние NFC биочипы

Чем больше я живу жизнью начинающего киборга (тм), тем страшнее мне смотреть в будущее — мы выпустили джинна из бутылки, но к результату совершенно не готовы. А для изменения ситуации требуются колоссальные усилия на самом высоком уровне. К этой мысли я пришел, когда начал упражняться с имеющимися NFC-приложениями Google Play — и стал заложником архитектуры ОС Android.

Для эксперимента пришлось обзавестись смартфонами на Android и Windows Phone — HTC One M8 и Nokia Lumia 1020

Сам по себе чип работает безотказно — он очень прост, и ломаться или зависать там попросту нечему. Смартфоны — другое дело. Я рекомендую команде Google Android еще раз причесать и отполировать программный код, управляющий работой NFC. Иногда смартфоны после нескольких операций по чтению/записи памяти чипа перестают его видеть и требуют перезагрузки. Часто вылетают сами NFC-приложения. Словом, тут пока все очень сыро (ключевое слово — «все»).

Но сегодня я хочу рассказать об одном конкретном критичном кейсе — разблокирование смартфона при помощи биочипа. Это подтверждает мои опасения.

Одно из приложений, которое я поставил для эксперимента, — TapUnlock:

#BionicManDiary - TapUnlock

Я запрограммировал биочип в руке на то, чтобы при прикосновении к смартфону (то есть, например, когда я беру смартфон в руку) система автоматически разблокировалась. По сути, традиционный пароль в данном случае заменяется на уникальный ключ, записанный в руку. Примерно сутки я ликовал от того, как просто и изящно это работает:

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

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

И тут мы подходим к самому любопытному: защита смартфона с помощью биочипа обходится на раз

И тут мы подходим к самому любопытному: эта защита обходится на раз. При этом не надо быть хакером первого разряда, достаточно немного понимать принцип работы современных мобильных ОС, в частности Android. Сама по себе система Android довольно безопасна, во многом потому, что сторонних разработчиков на уровень разработки ядра системы Google не пускает.

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

Для того чтобы удалить приложение, которое мешает нормальной загрузке смартфона на Android, надо проделать нехитрую процедуру:

  • Зажать кнопку Power, в появившемся меню выбрать пункт «Power Off» и зажать его на несколько секунд (может отличаться от модели к модели).
  • Во всплывшем меню выбрать «Reboot in Safe Mode».
  • После перезагрузки найти приложение магазина Google Play (большинство аппов будет скрыто с экрана), в нем выбрать вкладку «Все приложения» и найти нужное.
  • Выбрать проблемное приложение — в моем случае TapUnlock — и кликнуть Uninstall.
  • Зажать кнопку Power на несколько секунд и перезагрузиться в нормальном режиме.

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

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

Хорошая новость в том, что инженеры Google и Microsoft — на связи. Я знаю, что #BionicManDiary читают и коллеги из Apple. Поэтому общими силами мы эти проблемы сможем решить.

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

Традиционно рад любым вашим вопросам — можете задавать их в комментариях прямо здесь, в Twitter или в Facebook.

Искренне Ваш,
ЧЕ.