С течением времени появляется все больше защитных технологий, из-за которых хакерам приходится туже затягивать пояса. Однако у этой медали две стороны: защитные технологии также создают дополнительную поверхность атаки, а чтобы их обойти, нужно только задействовать уязвимости в их коде.
Посмотрим на одну из таких технологий — ARM TrustZone. Ее реализации содержат огромный объем кода, и чтобы искать в них уязвимости, нужен какой-то автоматический способ. Задействуем старый проверенный метод — фаззинг. Но умный!
Будем фаззить специальные приложения, которые появились с введением технологии TrustZone — трастлеты. Чтобы подробно описать выбранный нами способ фаззинга, сначала обратимся к теории про TrustZone, доверенные операционные системы и взаимодействие с обычной операционной системой. Это недолго. Поехали!