Повышение безопасности в Android приведет к кардинальным изменениям в кодовой базе.
Компания Google укрепляет защиту операционной системы Android, особое внимание уделяя безопасности сотовой связи и предотвращению уязвимостей. Для этого используются средства анализа кода Clang, в частности, санитайзеры Integer Overflow (IntSan) и BoundsSanitizer (BoundSan), входящие в состав UndefinedBehaviorSanitizer ( UBSan ). Инструменты предназначены для выявления различных видов неопределенного поведения во время выполнения программ.
В своем блоге Google заявили, что указанные инструменты не зависят от архитектуры, подходят для базового ПО и должны быть активированы в существующих кодовых базах C/C++ для устранения неизвестных уязвимостей.
Разработка является важной частью стратегии Google, начатой несколько месяцев назад , когда компания начала работу с партнерами в экосистеме над повышением безопасности прошивок, взаимодействующих с Android. Таким образом, затрудняется возможность удаленного выполнения кода злоумышленниками в Wi-Fi SoC или в базовом модуле обработки сигналов сотовой связи (cellular baseband).
IntSan и BoundSan — это санитайзеры на основе компилятора, внедренные Google как мера защиты от эксплойтов. Они обнаруживают арифметические переполнения и выполняют проверки границ при доступе к массивам.
Несмотря на значительное снижение производительности из-за использования BoundSan и IntSan, Google включил их в критически важные для безопасности поверхности атак перед полноценным развертыванием во всю кодовую базу.
Компоненты для усиления безопасности включают:
Отдельно стоит отметить позицию исследователей по поводу 2G: лучшая стратегия — отключить этот стандарт полностью, используя функцию « 2G toggle » в Android. Тем не менее, в некоторых регионах мира 2G по-прежнему является необходимой технологией мобильного доступа.
Стоит отметить, что несмотря на преимущества от внедрения санитайзеров, они не решают другие классы уязвимостей, связанные с безопасностью памяти. Поэтому Android планирует переход кодовой базы на безопасный с точки зрения памяти язык Rust. В начале октября 2023 года Google объявила, что переписала прошивку защищенной виртуальной машины (protected VM, pVM) в Android Virtualization Framework ( AVF ) на Rust, обеспечивая безопасную основу для pVM.
Исследователи подчеркивают: по мере того, как высокоуровневая операционная система становится более сложной целью для атак, низкоуровневые компоненты, такие как модуль Baseband, будут привлекать больше внимания. Используя современные инструменты и технологии защиты от эксплойтов, можно повысить планку для атак на Baseband.
Одно найти легче, чем другое. Спойлер: это не темная материя