Новости Software

Во многих компиляторах нашли уязвимость, которая позволяет прятать вредоносный код в исходниках

Исследователи из Кембриджского университета раскрыли информацию об уязвимости, которая затрагивает многие современные компиляторы программного кода. В работе под названием Trojan Source описана коварная атака, в рамках которой злоумышленники могут скрыть целевой вредоносный код в исходниках программного обеспечения.

Изображение: Gerd Altmann / Pixabay

Изображение: Gerd Altmann / Pixabay

Атака основывается на том, как компиляторы обрабатывают Unicode-идентификаторы, используемые для определения ориентации текста (слева направо или наоборот). Слабым местом является алгоритм Unicode Bidi, который позволяет совмещать написанные справа налево и слева направо слова. Например, благодаря этому алгоритму можно сочетать слова на арабском и английском языках. Он также позволяет написанный справа налево текст считывать слева направо и наоборот.

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

Использование уязвимости делает возможным добавление команд, которые будут отображаться как часть комментария или строки, когда программист будет осуществлять проверку кода. Источник отмечает, что ранее атаки такого типа использовались для маскировки расширений файлов вредоносного ПО, распространяемого по электронной почте в ходе фишинговых кампаний. Такой подход позволяет встроить в исходный код уязвимости и, если они не внесут значительных изменений в логику, то при проверке кода обнаружить их будет непросто.   

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

Источник:

Если вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.
Материалы по теме
Прежде чем оставить комментарий, пожалуйста, ознакомьтесь с правилами комментирования. Оставляя комментарий, вы подтверждаете ваше согласие с данными правилами и осознаете возможную ответственность за их нарушение.
Все комментарии премодерируются.
Комментарии загружаются...
window-new
Soft
Hard
Тренды 🔥
В Instagram появились платные подписки — пока лишь на 10 аккаунтов из США 3 ч.
Apple заявила, что возможность остаться на iOS 14 всегда было временным решением 4 ч.
FIFA 22 оказалась единоличным лидером продаж в европейской рознице за 2021 год, а россияне больше предпочитали GTA V 5 ч.
Google пообещала прекратить показывать детям рекламу товаров для взрослых 5 ч.
Администрация Байдена устанавливает новые требования к защищённым сетям США 5 ч.
Twitter снова оштрафовали в России на 10 млн рублей за неудаление запрещённой информации 5 ч.
Opera выпустила бету Web3-браузера со встроенным крипто-кошельком 5 ч.
Apple и Google резко раскритиковали антимонопольные законопроекты США — более мелкие компании наоборот их поддерживают 5 ч.
Этой весной в мобильной королевской битве Free Fire пройдёт кроссовер с Assassin’s Creed 6 ч.
Расширенная демоверсия сюрреалистического квеста NORCO дебютирует уже завтра 7 ч.