Quarkslab опублікували подробиці про критичну помилку, виявлену ними в чіпі Google Titan M в цьому році.
Нагадаємо, що Titan M, випущений у 2018 році, є системою-на-чіпі (SoC), призначеною виключно для обробки конфіденційних даних і процесів, таких як Verified Boot, шифрування диска, захист екрану блокування, безпечні транзакції та багато іншого. Зокрема, Titan M призначений для підвищення безпеки пристроїв Pixel, включаючи Secure Boot.
Нещодавно ми також писали про те, що Google намагається позбутися інженера, який припустив, що їх штучний інтелект має самосвідомість, а також про те, що Google пропонує до $91 000 за вразливість ядра Linux.
Фахівці Quarkslab кажуть, що виявлена ними вразливість отримала ідентифікатор CVE-2022-20233 та була усунена з виходом патчів для Android в червні місяці. Тоді Google описав цю помилку, як критичну проблему ескалації привілеїв.
За словами дослідників, ця вразливість пов’язана не тільки з підвищенням привілеїв, але і може використовуватися для виконання коду на мікросхемі Titan M. З технічної точки зору ця помилка є проблемою запису за межі виділеної пам‘яті, пов’язаної з некоректною перевіркою меж. При цьому у звіті наголошується, що використання цієї проблеми для локального підвищення привілеїв не потребує взаємодії з користувачем.
Quarkslab зауважує, що баг був виявлений при фазингу Titan M, коли було помічено, що «прошивка намагається записати 1 байт в нерозподілену область пам’яті». З’ясувалося, що повторення цієї дії провокує вхід за кордон і зрештою призводить до виникнення CVE-2022-20233.
Дослідники зазначають, що пам’ять Titan М є повністю статичною. Тому їм доводилося безпосередньо підключатися до UART-консолі, щоб отримати доступ до логів налагодження. Тільки після цього було створено експлойт, який дозволяв їм зчитувати довільну пам’ять з чіпа, красти секрети, що зберігаються там, а також отримувати доступ до завантажувального ПЗП.
“Одним із найцікавіших та найнебезпечніших наслідків цієї атаки є можливість отримати будь-який ключ, захищений StrongBox, зламавши найвищий рівень захисту Android Keystore. Як і TrustZone, ці ключі можна використовувати всередині Titan M тільки в тому випадку, якщо вони зберігаються в зашифрованому BLOB-об’єкті на пристрої.” — каже Quarkslab.
Дослідники повідомили Google про вразливість ще у березні 2022 року. Компанія випустила виправлення в червні і спочатку виплатила експертам лише 10 000 доларів як винагороду за виявлення помилок. Однак після надання експлойту, який демонструє виконання коду та крадіжку секретів, компанія збільшила винагороду до 75 000 доларів.