Контакты
Подписка 2024
ITSEC 2024
Персональные данные в 2025 году: новые требования и инструменты. 16 октября, Москва, Форум ITSEC 2024
Регистрируйтесь и приходите!

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

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" может стать более серьезной, если злоумышленник использует омоглифы для переопределения ранее существовавших функций в исходном пакете и вызова их из программы-жертвы.

Темы:Угрозытрояныуниверситетские исследованияПрограммное обеспечение
Безопасная разработка
Москва | 15 октября 2024 | Доверенные решения для защиты российских ОС на базе Linux и миграции
Регистрируйтесь и приходите на Форум ITSEC 2024
Статьи по темеСтатьи по теме

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

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

КАЛЕНДАРЬ МЕРОПРИЯТИЙ 2024
ПОСЕТИТЬ МЕРОПРИЯТИЯ
ВЫСТУПИТЬ НА КОНФЕРЕНЦИЯХ
СТАТЬ АВТОРОМ
SOAR, IRP, SOC
Защита АСУ ТП и КИИ: готовимся к 2025 году
Обсуждаем на ITSEC 2024!

Еще темы...

More...