Scudo заменит jemalloc в качестве стандартного распределителя памяти по умолчанию в Android 11.
Компания Google поделилась подробностями о борьбе с проблемами памяти в Android 11, а также о других улучшениях безопасности, которые появятся в следующей версии ОС. Одно из главных улучшений в новой версии операционной системы связано с инициализацией памяти, которая, как ожидается, устранит целый класс уязвимостей в C/C ++ — проблемы неинициализированной памяти.
Подобные уязвимости обычно появляются, когда память используется без предварительной инициализации известного безопасного значения. Как пояснили специалисты, переменная имеет прежнее значение, которое злоумышленники могут предугадать и даже контролировать. Это может привести к раскрытию информации, включая обход технологии ASLR (рандомизация расположения адресного пространства) или перехват потока управления с использованием техники распыления стека или кучи (Heap Spray).
«На практике использование неинициализированной памяти трудно обнаружить. Такие проблемы могут оставаться в кодовой базе незамеченными годами, если в большинстве случаев память инициализируется неким «безопасным» значением. Когда неинициализированная память приводит к проблеме, часто бывает сложно определить ее источник, особенно если она редко появляется. Устранение целого класса таких ошибок намного эффективнее, чем поиск их по отдельности», — отметила Google.
Альтернативой является автоматическая инициализация переменных стека, которая инициализирует локальные переменные либо с нулями, либо с шаблоном: первый безопаснее для строк, указателей, индексов и размеров, а второй, как правило, безопаснее для возвращаемых значений.
С выпуском Android 11 Scudo заменит jemalloc в качестве стандартного распределителя памяти по умолчанию. Scudo может помочь выявить и предотвратить эксплуатацию уязвимостей повреждения памяти кучи, таких как двойное освобождение, произвольное освобождение, переполнение буфера в куче и использование после освобождения.
Новая версия Android также содержит встроенный в Scudo инструмент обнаружения уязвимостей кучи GWP-ASan и поддержку ядра HWASAN.
Ладно, не доказали. Но мы работаем над этим