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

Smart App Control в Windows 11 теперь можно выключать без переустановки ОС

Microsoft наконец-то сделала шаг навстречу пользователям Windows 11 и ослабила один из самых жёстких защитных механизмов системы. Начиная со сборки Windows 11 Insider Preview Build 26220.7070, Smart App Control теперь можно включать и выключать в любой момент — без обязательной «чистой» переустановки системы. Обновление уже начали получать участники Dev- и Beta-каналов.

Переключатель появился по привычному пути: «Безопасность Windows» → «Управление приложениями и браузером» → Smart App Control.

При включении функция по-прежнему блокирует недоверенные и потенциально опасные приложения, но теперь решение не становится фатальным.

Раньше Smart App Control работал по принципу «один шанс на всю жизнь системы». Если пользователь отключал его хотя бы один раз, Windows навсегда блокировала возможность включить защиту обратно. Единственным выходом оставалась полная переустановка или сброс Windows 11. В итоге пользователям приходилось выбирать: либо терпеть сломанные легитимные приложения, либо отказаться от Smart App Control навсегда.

 

Smart App Control задумывался как «привратник» Windows 11. В отличие от классического антивируса, он не проверяет программы постфактум, а пытается остановить их ещё до запуска. Для этого используются сервисы app intelligence Microsoft и механизмы проверки целостности кода. Всё неизвестное, неподписанное или подозрительное просто не запускается. В теории — отличная защита от зловредов, PUA и атак 0-day.

На практике же функция регулярно мешала нормальной работе. И, похоже, в Microsoft это всё-таки признали. Новый апдейт не меняет логику блокировок, но избавляет пользователей от пожизненного «наказания» за одно неверное решение.

До настоящего момента у Smart App Control был крайне жёсткий жизненный цикл. Он работал только после чистой установки Windows 11 или полного сброса системы. При обновлении с более старых версий Windows функция по умолчанию оставалась отключённой.

После установки Smart App Control переходил в режим оценки. Примерно неделю он молча наблюдал за тем, как пользователь работает с устройством: какие приложения запускает, какие бинарники использует, насколько его поведение укладывается в модель «безопасного пользователя». На этом этапе ничего не блокировалось.

Если Windows решала, что пользователь подходит под строгий контроль, Smart App Control автоматически включался в режим принудительного исполнения. С этого момента начинались реальные ограничения: неизвестные или неподписанные приложения просто не запускались. Кнопки «Запустить всё равно», исключений или белых списков не существовало.

Самое неприятное — если пользователь вручную отключал Smart App Control хотя бы один раз, система навсегда считала это решение окончательным. Windows даже не предупреждала, что откат невозможен. Особенно сильно от этого страдали разработчики, геймеры, стримеры и продвинутые пользователи, которые часто используют нестандартный или часто обновляемый софт. На Reddit регулярно появлялись жалобы на блокировку вполне легитимных программ.

 

В сборке 26220.7070 Microsoft убрала это ограничение. Теперь Smart App Control можно свободно включать и отключать без переустановки системы. Изменение распространяется постепенно и пока доступно только в Dev- и Beta-каналах.

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