Как мы взломали Keystone: от уязвимости в USB SDK до извлечения мнемонической фразы

Ключевые выводы
• Отсутствие проверки контролируемой хостом длины в USB SDK приводит к чтению и записи за пределами фиксированного буфера
• Атакующий может перехватить таблицу обратных вызовов USB class, превратив запись за пределы буфера в произвольное исполнение кода на MCU
• Ошибочная конфигурация MPU позволяет напрямую выполнять shellcode в SRAM
• Получение Passcode, OTP и криптографических материалов из чипа безопасности позволяет восстановить AES Key и извлечь мнемоническую фразу BIP39
• Сторонние SDK также являются критической границей безопасности аппаратного кошелька и требуют обязательного полного аудита






