BootStomp — обнаружить уязвимости, связанные с загрузчиком Android

BootStomp — это инструмент на основе Python, поддерживающий Docker, который помогает вам находить два разных класса уязвимостей и ошибки загрузчика Android.

Он ищет повреждение памяти и уязвимости состояния системы.

Обратите внимание, что BootStomp работает с  загрузчиками, скомпилированными для архитектур ARM (32 и 64 бита), и эти результаты могут незначительно меняться в зависимости от версий angr и Z3.

Это связано с тем, что время angr берется для анализа основных блоков и результатов конкретизации экспрессии Z3.

Как BootStomp обнаруживает уязвимости, связанные с загрузкой Android?

BootStomp реализует анализ тегов с несколькими шаблонами в результате новой комбинации статических анализов и динамического символического исполнения, предназначенных для поиска проблемных областей, где вход злоумышленника, контролирующего ОС, может нарушить выполнение загрузчика или его функции безопасности.

Используя инструмент, команда обнаружила шесть ранее неизвестных уязвимостей (пять из которых были подтверждены соответствующими поставщиками), а также вновь открыли ранее обнаруженную информацию.

Некоторые из этих уязвимостей позволят злоумышленнику выполнить произвольный код как часть загрузчика (таким образом, скомпрометируя всю цепочку доверия) или выполнить постоянные атаки типа «отказ в обслуживании».

Уязвимости влияют на механизмы доверенной загрузки или проверенной загрузки, реализованные поставщиками для создания Цепочки доверия (CoT).

Команда, использующая BootStomp, обнаружила уязвимости в загрузчиках, используемых Huawei, Qualcomm, MediaTek и NVIDIA.

Команда проанализировала реализации загрузчика во многих платформах, включая Huawei P8 ALE-L23 (чипсет Huawei / HiSilicon), чипсет Sony Xperia XA (чипсет MediaTek), Nexus 9 (чипсет NVIDIA Tegra) и две версии загрузчика LK (Qualcomm) ,

Как использовать BootStomp

Самый простой способ использования BootStomp — запустить его в контейнере докера.

В папке docker содержится соответствующий файл Docker, это команды для его использования:

 cd docker
# build the docker image
docker build -t bootstomp .
# run the docker image (if you need, use proper options to have persistent changes or shared files)
docker run -it bootstomp

# now you are inside a docker container
cd BootStomp
# run BootStomp's taint analysis on one of the examples
# this will take about 30 minutes
python taint_analysis/bootloadertaint.py config/config.huawei
# the last line of the output will be something like:
# INFO | 2017-10-14 01:54:10,617 | _CoreTaint | Results in /tmp/BootloaderTaint_fastboot.img_.out

# you can then "pretty print" the results using:
python taint_analysis/result_pretty_print.py /tmp/BootloaderTaint_fastboot.img_.out 

BootStomp-master.zip

cryptoparty

Cryptography is typically bypassed, not penetrated.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

5e7fa976b0640d40