Контакты
Подписка 2024
Защищенный Linux
23 мая. Инструменты миграции на защищенный Linux
Регистрируйтесь на онлайн-конференцию!

Новая троянская техника позволяет прятать уязвимости в исходном коде

02/11/21

hack1-Nov-02-2021-08-33-46-37-AMСпециалисты Кембриджского университета Николас Боучер (Nicholas Boucher) и Росс Андерсон (Ross Anderson) обнаружили новый класс уязвимостей, позволяющих злоумышленникам внедрять визуально обманчивое вредоносное ПО способом, который является семантически допустимым, но изменяет определенную исходным кодом логику, что делает код уязвимым к самым разным киберугрозам, в том числе связанными с цепочками поставок.

Описанная специалистами техника под названием "Атака Trojan Source" базируется на использовании "неуловимых различий в стандартах кодирования символов наподобие Юникода для создания исходного кода, чьи токены логически закодированы не в том порядке, в каком они отображаются, что приводит к уязвимостям, которые рецензирующие код люди не могут увидеть".

Уязвимости, получившие идентификаторы CVE-2021-42574 и CVE-2021-42694, затрагивают компиляторы всех популярных языков программирования, такие как C, C++, C#, JavaScript, Java, Rust, Go и Python.

Проблема связана с двунаправленным алгоритмом Юникода (алгоритмом Bidi), обеспечивающим поддержку письма как слева направо (например, русский язык), так и справа налево (например, иврит). Алгоритм Bidia также поддерживает двунаправленное переопределение, позволяющее писать слова слева направо в предложении на языке с письмом справа налево и наоборот. Иначе говоря, алгоритм позволяет тексту, написанному слева направо, восприниматься как написанный справа налево.

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

"То есть, мы анаграммируем программу A в программу Б. Если изменения в логике достаточно неуловимые для того, чтобы обходить обнаружение в последующих тестированиях, злоумышленник может создать целевые уязвимости и не быть обнаруженным", - пояснили исследователи.

Подобное состязательное программирование может оказать серьезное влияние на цепочку поставок, предупреждают исследователи, когда внедренные в ПО с открытым исходным кодом уязвимости передаются конечным продуктам, затрагивая всех пользователей программного обеспечения. Хуже того, "Атака Trojan Source" может стать более серьезной, если злоумышленник использует омоглифы для переопределения ранее существовавших функций в исходном пакете и вызова их из программы-жертвы.

Темы:Угрозытрояныуниверситетские исследованиякод программ
NGFW
28 июня. Комплексный подход к кибербезопасности. Защита АСУ ТП. Безопасность КИИ
Участвуйте и представляйте решения!
Статьи по темеСтатьи по теме

Участвуйте в проектах

редакции журнала
"Информационная безопасность" 

КАЛЕНДАРЬ МЕРОПРИЯТИЙ 2024
ПОСЕТИТЬ МЕРОПРИЯТИЯ
ВЫСТУПИТЬ НА КОНФЕРЕНЦИЯХ
СТАТЬ АВТОРОМ
SOAR, IRP, SOC
Спецпроекты журнала "Информационная безопасность"
Станьте автором издания!

Еще темы...

More...