Кратко
Почему выделенный крипточип ломает привычный подбор пароля — на двух аппаратах: Galaxy Tab A8 (Unisoc, чип по SPI) и Galaxy A06 (MTK, по I2C). В первом случае из чипа нужно добыть недостающий блок данных, и тогда перебор можно вынести на внешние мощности — но это теоретическая цепочка «предположим, мы перехватили управление». Во втором чип сам проверяет хеш и выдаёт ключи, работая «как вахтер», и тогда «принципиально на данный момент ничего сделать не можем»: перебор не вынести, а внутри возможны счётчик попыток, замедление и стирание. Результат доклада — точное описание стены, а не способ её обойти. Самая содержательная часть — семь вопросов из зала.
Главное
- Тема: почему «не получается работать в полный рост» с современными Kirin, Exynos, новыми Qualcomm — за криптографию отвечает отдельный полноценный процессор.
- Рассматриваются только чипы, вынесенные на плату отдельно от SoC: к такому можно подпаяться и смотреть обмен. Стенды: Galaxy Tab A8 (Unisoc, SPI) и Galaxy A06 (MTK, I2C), чипы двух поколений.
- Крипточип — «полноценное устройство»: своё ядро на приличной частоте, память, собственная GPIO; в MTK-версии памяти столько, что «можно целые операционные системы вложить».
- Ключ для пространства файловой системы складывается из пароля, аппаратной уникальности SoC, констант, произвольного 4-килобайтного блоба secdis, состояния загрузчика (is_locked), состояния прошивки (color), ROT производителя (обычно публичный ключ и хеш от него) и knox_nonce — блока данных внутри чипа.
- Отсюда главное следствие для практики: «разблокируем и получим доступ» не работает — состояние входит в ключ, при его смене «сразу меняются ключи шифрования и все данные исчезают»; неверифицированная прошивка меняет color с green на yellow с тем же результатом.
- Наблюдение обмена (пятаки, пайка, анализатор) упирается в защиту: чип включается только на время транзакции; процессоры взаимно аутентифицируются (чип шлёт произвольное число, основной шифрует его установленным ключом), поднимается защищённый канал с сессионными ключами — дальше в эфире «только мусор».
- Выпаять чип и играть питанием бесполезно: ключ шифрования неизвестен. Значит, нужно вклиниться в управление основным процессором.
- Теоретическая цепочка для SPI: перехватить управление → найти ключ → повторить обмен → подать питание на чип (в лоб проводками — «можем что-то спалить») → разобрать транзакцию, вытащить knox_nonce → вынести перебор на внешние GPU, CPU и кластеры.
- Galaxy A06 (MTK): шину I2C видно, обмен по ней даже не зашифрован — и это не помогает. Отличие в другом: появляется файл weaver_info (лежит открыто, «ничего интересного») и работает «логика Weaver».
- В CryptoMCU передаётся только хеш, и чип ведёт себя как вахтёр: хеш знакомый — «держите ключи и работайте», не совпал — «уходите и ключи не получите».
- Потолок: перебор нельзя вынести за пределы телефона. Чип может считать попытки в своей памяти, замедлять ответ («10 паролей ввели, потом ждем минуту») и теоретически после тысячи попыток стереть содержимое — для этого хватит memcpy и простого счётчика.
- Принципиальная трудность: чип — чёрный ящик, ключ внутри может быть произвольным и не связанным с хешем, авторизация не сводится к извлечению блоба, возможна фиксация ошибок — «мы можем потерять данные при неправильной работе».
- Итог: нужен только блоб — шанс есть; проверка пароля и выдача ключа внутри чипа — «принципиально на данный момент ничего сделать не можем».
Инструменты, артефакты, технологии
- Крипточип (CryptoMCU) — отдельный процессор на плате: ядро, память, GPIO; интерфейсы SPI (Tab A8, Unisoc) и I2C (A06, MTK).
- Составляющие ключа: пароль, аппаратная уникальность SoC, константы, блоб secdis (4 КБ), is_locked, color (green/yellow), ROT, knox_nonce.
- Логика Weaver / файл weaver_info — схема, где хеш проверяет сам чип.
- Платформы: MTK, Unisoc; упомянуты Kirin, Exynos, Qualcomm; Knox — отдельное пространство Samsung (пространства 0 и 1).
- Методы: подпайка и логический анализатор, управление питанием, перехват управления SoC, вынос перебора на внешние GPU/CPU/кластеры.
- Защита чипа: питание только на транзакцию, взаимная аутентификация, сессионные ключи, счётчик попыток, замедление, стирание.
Правовой и организационный контекст
Процессуального содержания нет, но есть прямое предупреждение практикам: разблокировка загрузчика и перепрошивка уничтожают данные, причём средствами телефона — необратимо; «с боевыми телефонами так лучше не поступать». В вопросах всплывает история с Apple и американским агентством и появление коммерческого инструмента для iPhone — как довод, что «100% безопасности» от вендора не бывает.
Вопросы из зала
- 1 (имя не названо): схема ключа и root of trust — эмпирика или документация CryptoMCU? → И то, и другое; «информация есть и в открытых источниках», названия внутри команды свои: «тут многие называют, как хотят».
- 2 (Алексей): перспективы? → Если и будет, то перебор «непосредственно на самом телефоне»; нужны отдельные исследования — кто сбрасывает состояние, сколько попыток безопасно; может утечь прошивка чипа. «Битва щита и меча… будет присутствовать всегда».
- 3 (Валерия): почему данные гибнут из-за состояния телефона? → В ключе участвуют is_locked и color (оригинальность прошивки, чьей подписью подписана, подменён ли boot). Если случайно залили не ту прошивку — восстановить можно, но только не средствами телефона: скопировать данные и идти через цепочку.
- 4: если данные сохранены, вернуть их на телефон получится? → Нужны и бэкап, и сам аппарат (аппаратная уникальность); при перепрошивке телефон может сделать вайп — «это уже как повезет».
- 5: стирается физически или просто меняются ключи? → Сначала меняется ключ и расшифровать нельзя; дальше внутренние процессы телефона могут и затереть.
- 6 (пользователь Samsung, «провокационный»): что мешает сломать папку Knox, ведь вендор говорит «чуть ли не о 100% безопасности»? → Knox — просто отдельное пространство, вопрос в ключе к нему; на поддерживаемых MTK-устройствах «Knox в принципе разбирается», про современные Exynos ответа нет: «наша фирма с Exynos не работает».
- 7: что делать, когда телефоны останутся без проводных интерфейсов? → Устройство всё равно надо грузить и прошивать, «невозможно прошить память по воздуху» — проводники останутся, задача лишь усложнится. Опаснее другое: с майской конференции по MTK за 2–4 месяца вышли два значимых патча безопасности, «и это не самый серьезный производитель».
Позиция спикера
Инженерная лекция без продажи: ни названия своего продукта, ни обещаний. Ограничения названы прямо и не раз — чёрный ящик, счётчики, риск уничтожить данные, «принципиально ничего сделать не можем». Где результата нет, это сказано вслух, а не спрятано за «ведутся работы»; своя терминология оговорена как своя. Вывод для отрасли извлечения пессимистичен: темп патчей страшнее любых новых интерфейсов.
Цитаты
- «…этот криптопроцессор, крипточип, он как вахтер. То есть он сидит там и говорит: ага, так, этот хеш я знаю».
- «Для нас крипточип – это черный ящик. Мы не знаем, что внутри происходит».
- «…здесь уже мы принципиально на данный момент ничего сделать не можем».
- «…вот эта динамика пугает намного больше, чем беспроводные интерфейсы».