UA

Исследователи обнаружили в Java, Rust, C ++, Python и других языках программирования уязвимость, которая прячет вредоносный код

Читати українською

Уязвимость затрагивает практически все современные компиляторы исходного кода

Читати українською
Исследователи обнаружили в Java, Rust, C ++, Python и других языках программирования уязвимость, которая прячет вредоносный код

Уязвимость затрагивает практически все современные компиляторы исходного кода

Исследователи Кембриджского университета опубликовали информацию об опасной уязвимости (CVE-2021-42574). Эта уязвимость затрагивает многие языки программирования и позволяет хакерам скрыть вредоносный код в исходном коде различных программ.

Об этом сообщает Информатор со ссылкой на TrojanSource.

Данную уязвимость обнаружила рабочая группа Rust Security Response (WG) и присвоила ей номер CVE-2021-42574. Слабость заключается в алгоритме Unicode Bidi, который позволяет использовать вместе слова, написанные справа налево и слева направо.

«Поскольку это Unicode, эта ошибка затрагивает не только Rust, но и другие популярные языки, такие как Java, JavaScript, Python, языки на основе C и код, написанный на других современных языках», – говорит исследователь безопасности Росса Андерсона .

Проекты с открытым исходным кодом, такие, как операционные системы, часто полагаются на человеческий анализ всего нового кода для обнаружения любых потенциально вредоносных частей. Но исследователи безопасности из Кембриджского университета заявили, что они обнаружили способы манипулирования кодировкой файлов исходного кода, которые показывают проверяющим людя и компиляторам разные фрагменты кода. 

«Мы обнаружили способы манипулирования кодировкой файлов исходного кода, чтобы люди-зрители и компиляторы видели разную логику. Один метод использует направленность Unicode для переопределения символов для отображения кода как анаграммы его истинной логики. Мы убедились, что эта атака работает против C, C ++, C #, JavaScript, Java, Rust, Go и Python, и подозреваю, что она будет работать против большинства других современных языков программрования», –  пишет Андерсон.

Разработка программного обеспечения носит международный характер, и Unicode – основа для текста и эмодзи – поддерживает языки с письмом слева направо – например, английский, и языки с письмом справа налево – например, арабский. Он делает это посредством «двунаправленного переопределения», невидимой функции, называемой кодовой точкой, которая позволяет встраивать слова с написанием слева направо в предложения с письмом справа налево и наоборот. 

Хотя они обычно используются для вставки слова в предложение, построенное в обратном направлении, Андерсон и исследователь безопасности Microsoft Николас Баучер обнаружили, что их можно использовать для изменения способа отображения исходного кода в некоторых редакторах и инструментах проверки кода. Это означает, что проверенный человеком код может отличаться от скомпилированного кода, и показывает, как организации могут подвергнутся взлому с помощью подделанного открытого исходного кода. С помощью этой уязвимости также можно сделать так, чтобы строки, которые выглядят как комментарии, работали как выполняемый код. Rust уже попросила всех разработчиков обновиться до версии 1.56.1.

Ранее мы сообщали, что в Харькове 17-летний парень подделал «Дію» и создал крупнейший канал сбыта поддельных документов. Также писали о том, что Microsoft запустит свою метавселенную с пакетом Office.

Подписывайтесь на наш Telegram-канал, чтобы не пропустить важные новости. За новостями в режиме онлайн прямо в мессенджере следите в нашем Telegram-канале Информатор Live. Подписаться на канал в Viber можно здесь

Мы используем файлы cookie, чтобы обеспечить должную работу сайта, а контент и реклама отвечали Вашим интересам.