Беше открита нова критична уязвимост в системата-върху-чипа Nvidia Tegra X1, която засяга устройства като Nintendo Switch, Google Pixel C и Nvidia Shield.
Ако сте геймър, може би сте чули невероятната новина вчера за Nintendo Switch: Той беше широко разбит. Нова уязвимост в Nvidia Tegra X1, системата върху чипа, намираща се в Nintendo Switch, но също и устройства като Google Pixel C и Nvidia Shield Android TV, е открит. Уязвимостта, наречена Fusée Gelée, е открит от Катрин Темкин в сътрудничество с ReSwitched, хакерски екип, посветен на отварянето на Switch за домашен достъп. По време на работата си те откриха уязвимост, която постига точно това, което търсеха, но поради спецификата на платформата засяга повече устройства, отколкото вероятно са възнамерявали.
Няма да се преструвам, че мога да опиша напълно уязвимостта в детайли, но основното обяснение е, че Nvidia Tegra SoC пуснати преди T186/X2 са податливи на атака чрез USB софтуерен стек, който позволява произволно изпълнение на код на устройство. По-специално, експлойтът се възползва от изпращането на специално конструирана USB операция за копиране (чиято дължина се контролира от нападателя), за да спечели контрол на „процесора за стартиране и управление на захранването“, за да зареди произволен код в главните процесори на приложения с най-висока привилегия възможен.
Тъй като грешката е в Boot ROM, тя не може да бъде коригирана без хардуерна ревизия във фабриката. Това означава, че всички устройства с гореспоменатата система-върху-чипове Tegra са уязвими и нито една софтуерна актуализация няма да може да ги закърпи. За щастие, той изисква физически достъп до устройството, за да експлоатира, така че вашето устройство е безопасно, докато нападателят не може да получи достъп лично. Като оставим настрана проблемите със сигурността, това откритие развълнува игралната общност поради последиците от него за Nintendo Switch homebrew (и нека бъдем честни тук, за пиратството.) Но тъй като ние не сме форум за игри, нека обсъдим някои от другите последици от това находка.
Android на Switch? Персонализирани зареждащи програми за Shield устройства? Какво Fusée Gelée може да означава за нас.
Тъй като уязвимостта първоначално е била предназначена за разкриване на 15 юни 2018 г., екипът от разработчици, работещи по нея, не е имал много време, за да я използва напълно. Очакваме няколко модификации да бъдат предоставени през следващите дни и седмици. Като закачка, момчетата над в fail0verflow тестваха стартиране на дистрибуция на GNU/Linux на Nintendo Switch, както е показано по-долу.
В бъдеще може да е възможно да стартирате дори Android на Nintendo Switch. Може да бягаме LineageOS 15.1 върху него, ако достатъчно разработчици се грижат за него (и Switch със сигурност има специална потребителска база). Твърде рано е да се каже със сигурност, но като се има предвид, че SoC вече се използва за наистина популярни и добре документирани устройства с Android (Pixel C и Nvidia Shield), предполагам, че е по-вероятно, отколкото не ще се случи.
Що се отнася до съществуващите Android устройства с Tegra X1 SoC, има какво да очакваме. Разбира се, устройства като Pixel C и Shield вече имат процъфтяваща общност от разработчици, но нивото на достъп до устройството, осигурено от този експлойт, ще бъде безпрецедентно. Според разработчика на LineageOS и старши член на XDA npjohnson, разработчиците могат да започнат да създават персонализиран буутлоудър, като такъв, базиран на UEFI (и дори нещо подобно EFIDroid за естествено мултибутване), променете Trusted Execution Environment (TEE), за да позволите Widevine L1 или OMX сигурно декодиране на устройства, които не го поддържат, изгаряне на предпазители и след това тяхното четене, фалшифициране на състоянието на заключване и много други.
Тази критична уязвимост на Tegra X1 има какво да предложи на разработчиците, които искат да я експлоатират, така че ще трябва да изчакаме и да видим какво могат да измислят хората. И все пак, уязвимостта си е уязвимост, така че ако се притеснявате, че някой може да я използва, за да открадне вашите данни, вероятно е най-добре да смените устройствата, защото няма решение за този проблем.