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

Пассажиров Яндекс Такси тайно наказывают рейтингом без права на обжалование

Автор «Хабра» Yselia (Мария Минакова) рассказала, как снижение рейтинга в сервисе такси с пяти до 4,85 балла якобы ухудшило качество поездок: машину пришлось ждать дольше, а приезжать стали водители с более низкими оценками.

По словам автора, рейтинг упал после поездки с водителем, который настойчиво пытался с ней познакомиться.

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

Тогда Мария устроила собственный полевой ресёрч и начала расспрашивать таксистов. Один из них признался, что не принимает заказы пассажиров с рейтингом ниже 4,87, поскольку ждёт от них проблем.

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

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

Автор называет происходящее газлайтингом в UX: алгоритм может незаметно ухудшать обслуживание, но пользователь не знает, кто и за что снизил ему балл, и не способен оспорить решение.

Позиция Яндекса по описанному случаю пока не приводится.

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