No Leak, No Problem – Bypassing ASLR with a ROP Chain to Gain RCE
В статье исследуется обход ASLR с помощью ROP-цепи для получения RCE на современном IoT-устройстве — IP-камере INSTAR IN-8401 2K+. Автор, продолжая предыдущие исследования по эксплуатации ARM, извлек прошивку устройства, обнаружил неизвестную уязвимость и разработал сложный эксплойт. Согласно Shodan, в интернете доступно около 12 000 устройств INSTAR, что делает исследования актуальными для безопасности IoT.
Для анализа потребовался доступ к прошивке, который был получен через физический интерфейс UART. Несмотря на неудачные попытки получить root-доступ через прерывание загрузки (удалось получить доступ только к загрузчику U-Boot), автору удалось извлечь прошивку и провести ее анализ. Основной технический результат — создание ARM ROP-цепи, позволяющей обойти ASLR без утечки адресов, что приводит к неаутентифицированному выполнению произвольного кода на устройстве.
Комментарии (8)
- Обсуждение критикует статью за ложное представление "обхода ASLR", так как ASLR фактически отключен из-за отсутствия PIE (Position-Independent Executable), что делает адреса статичными.
- Основной метод, описанный в статье (использование адреса libc в GOT), рассматривается как избыточный, так как для ROP-эксплуатации можно было бы использовать гаджеты из не-ASLR секций.
- Отмечается техническая особенность цепочки ROP: она не требует интерактивности после получения адреса libc, что делает ее менее распространенным подходом по сравнению с базовыми ROP-цепями.
Exploring GrapheneOS secure allocator: Hardened Malloc
GrapheneOS разработала hardened malloc — аллокатор памяти с акцентом на безопасность для защиты от уязвимостей, связанных с повреждением памяти. Он использует расширенное адресное пространство в 48 бит вместо стандартных 39 бит в Android, что увеличивает энтропию ASLR до 33 бит. Это позволяет эффективнее изолировать структуры данных и выделения памяти через mmap, усложняя атаки.
Аллокатор применяет строгие меры защиты: размещает небольшие объекты в отдельных регионах с защитными страницами, добавляет канарейки для обнаружения переполнений и использует рандомизацию размещения метаданных. Эти механизмы значительно затрудняют эксплуатаюцию уязвимостей, таких как переполнение буфера или использование-after-free, делая GrapheneOS одной из самых защищённых мобильных ОС.
Комментарии (4)
- Критика "усиленных" аллокаторов: снижают производительность, не предотвращают удаленное выполнение кода и их возможности часто преувеличивают.
- Предложение альтернативы: Apple kalloc_type с MTE и аппаратными изменениями для обеспечения целостности памяти.
- Упоминание другого подхода: аллокатор Solaris SPARC ADI.
- Отмечено, что решения от Apple более впечатляющие и продемонстрировали влияние на известные эксплойты.