Безопасности всего софта угрожает незримая уязвимость Trojan Source

Безопасности всего софта угрожает незримая уязвимость Trojan Source

Безопасности всего софта угрожает незримая уязвимость Trojan Source

Методика, разработанная в Кембриджском университете, позволяет привнести эксплуатируемую уязвимость в любую программу таким образом, что ее не заметит ни один аудитор. Атака Trojan Source, проводимая на цепочку поставок, основана на использовании слабостей Unicode; защита возможна на уровне компилятора.

Актуальность Trojan Source подтверждена для софта, написанного на C, C++, C#, Go, Java, JavaScript, Python и Rust. Университетские исследователи не исключают, что их атака будет работать также против других современных языков программирования.

Согласно описанию, проблема Unicode, идентифицируемая как CVE-2021-42574, создает условия для манипуляции кодированием символов в исходных файлах. В частности, оказалось, что порядок расположения лексем в исходном коде можно изменить с помощью управляющих символов BiDi (используются для отображения текстов с разным направлением письма). При этом компилятор и интерпретатор заметят смену логики, а аналитик — нет.

Управляющие символы Unicode обычно встроены в комменты и строки кода, и с их помощью можно, например, выдать комментарий за код. Такой обман, по словам исследователей, позволяет незаметно привнести в исходник уязвимость и даже запустить атаку на цепочку поставок. Злоумышленники ранее использовали этот трюк для подмены расширений вредоносных файлов, рассылаемых по email.

Схожую массовую атаку на софт можно провести, используя другую слабость Unicode — возможность подмены символов омоглифами (CVE-2021-42694). Чтобы успешно внедрить вредоносный код через зависимость, достаточно лишь слегка видоизменить имя вызываемой функции в ссылке на связанный объект.

Результаты исследования раскрыты (PDF) после снятия трехмесячного эмбарго, позволившего принять меры защиты и подготовить апдейты для компиляторов, интерпретаторов, редакторов кода и репозиториев. Так, участники проекта Rust уже опубликовали свои рекомендации по обновлению компиляторов и очистке базовых кодов от небезопасных зависимостей.

Google лишает Android-трояны главного инструмента слежки

Google внедряет новую функциональность для улучшения безопасности Android-приложений. Теперь разработчики могут гораздо проще защищать пользователей своего софта от слежки и кражи конфиденциальных данных. В частности, в Android 16 появился новый флаг — accessibilityDataSensitive.

О нововедении разработчики Android рассказали в своём в блоге. Как известно, вредоносные программы часто используют специальные возможности ОС (Accessibility Services) для перехвата паролей и другой важной информации.

Например, банковский троян Anatsa или зловред Copybara активно используют эту лазейку, чтобы красть данные с экранов приложений и передавать их операторам.

С помощью флага accessibilityDataSensitive разработчики могут отмечать элементы интерфейса, которые содержат конфиденциальную информацию. Если установить флаг в значение true, нелегитимные приложения с доступом к Accessibility Services (если у них не установлен флаг isAccessibilityTool=true) не смогут получить доступ к этим данным.

 

Уже сейчас Google внедрила этот флаг в setFilterTouchesWhenObscured. Это значит, что в тех приложениях, где этот метод уже использовался для защиты от «тапджекинга», элементы автоматически будут считаться защищаемыми. Это добавляет защиту без необходимости усилий со стороны разработчиков.

Google советует использовать либо setFilterTouchesWhenObscured, либо accessibilityDataSensitive для всех экранов, где отображаются конфиденциальные данные — например, страницы входа, формы оплаты и другие элементы с личной информацией. Дополнительную информацию можно найти в статье Google, посвящённой тапджекингу.

RSS: Новости на портале Anti-Malware.ru