Команда из девяти специалистов из Калифорнийского университета в Санта-Барбаре представила на конференции Usenix интересный доклад (PDF), посвященный безопасности бутлоадеров ведущих производителей. В итоге исследователи нашли семь уязвимостей, нарушающих цепочку доверия (Chain of Trust, CoT), а с ней и безопасность первоначального порядка загрузки.
Android-бутлоадеры, по сути, являются «серой областью», изучать которую довольно сложно в силу закрытости исходных кодов и отсутствия метаданных. Поэтому большую часть времени специалисты потратили на создание инструмента BootStomp, предназначенного специально для тестирования и анализа бутлоадеров и облегчающего реверс-инжиниринг.
Аналитики объясняют, что задача BootStomp заключается в автоматическом обнаружении уязвимостей, связанных с использованием атакующими энергонезависимой памяти, которой доверяет код бутлоадера. Таким образом, BootStomp помогает автоматизировать поиск багов и обнаружить проблемные области, которые затем проверяют люди. Используя данную методику, специалисты сумели обнаружили семь уязвимостей, лишь одна из которых была известна ранее (CVE-2014-9798). Остальные шесть багов оказались новыми, что уже признали сами производители. Суммарно команда специалистов из Калифорнийского университета проверила пять бутлоадеров четырех разных производителей:
- Huawei / HiSilicon чипсет [Huawei P8 ALE-L23];
- NVIDIA Tegra чипсет [Nexus 9];
- MediaTek чипсет [Sony Xperia XA];
- Qualcomm новый LK бутлоадер;
- Qualcomm старый LK бутлоадер.
«Некоторых из [найденных нами] уязвимостей могут позволить атакующему выполнить произвольный код в виде части бутлоадера (что компрометирует всю цепочку доверия), или осуществить перманентную DoS-атаку. Наш инструмент также идентифицировал два бутлоадера, уязвимости в которых могут быть использованы атакующим с root-привилегиями на уровне ОС для разблокировки устройства и компрометации CoT», — пишут исследователи.
Специалистами было известно, что старый бутлоадуер Qualcomm LK уязвим перед проблемой CVE-2014-9798, и BootStomp повторно обнаружил данный баг, тем самым позволив команде убедиться в том, что инструмент работает как должно. В итоге исследование выявило уязвимость в продуктах NVIDIA и еще пять багов в бутлоадерах HiSilicon. Результаты тестов приведены в таблице ниже.