Санитайзер кода Clang: Google устраняет уязвимости сотовой связи в Android

Санитайзер кода Clang: Google устраняет уязвимости сотовой связи в Android

Повышение безопасности в Android приведет к кардинальным изменениям в кодовой базе.

image

Компания 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, 3G, 4G и 5G;
  • Библиотек, кодирующих/декодирующих сложные форматы (например, ASN.1, XML, DNS и т. д.);
  • Стеки IMS, TCP и IP;
  • Функции обмена сообщениями (SMS, MMS).

Отдельно стоит отметить позицию исследователей по поводу 2G: лучшая стратегия — отключить этот стандарт полностью, используя функцию « 2G toggle » в Android. Тем не менее, в некоторых регионах мира 2G по-прежнему является необходимой технологией мобильного доступа.

Стоит отметить, что несмотря на преимущества от внедрения санитайзеров, они не решают другие классы уязвимостей, связанные с безопасностью памяти. Поэтому Android планирует переход кодовой базы на безопасный с точки зрения памяти язык Rust. В начале октября 2023 года Google объявила, что переписала прошивку защищенной виртуальной машины (protected VM, pVM) в Android Virtualization Framework ( AVF ) на Rust, обеспечивая безопасную основу для pVM.

Исследователи подчеркивают: по мере того, как высокоуровневая операционная система становится более сложной целью для атак, низкоуровневые компоненты, такие как модуль Baseband, будут привлекать больше внимания. Используя современные инструменты и технологии защиты от эксплойтов, можно повысить планку для атак на Baseband.

Ищем темную материю и подписчиков!

Одно найти легче, чем другое. Спойлер: это не темная материя

Станьте частью научной Вселенной — подпишитесь