Перейти к содержанию

Trojan Source: незаметные закладки в исходном коде


Рекомендуемые сообщения

Двое специалистов из Кембриджского университета опубликовали исследование о том, что они назвали уязвимостью в большинстве современных компиляторов. По факту авторы работы предложили новый метод атак, который использует вполне законную особенность средств разработки: нашли способ, при котором просмотр исходного кода программ показывает одно, а компилируется в итоге совсем другое. Как так вышло? Все дело в волшебных управляющих символах кодировки Unicode.

Управляющие символы Unicode, позволяющие изменить направление текста внутри одной строки.

Управляющие символы Unicode, позволяющие изменить направление текста внутри одной строки. Источник.

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

Как вы, вероятно, знаете, в одних языках принято писать текст справа налево, а в других — слева направо. Когда в тексте используется только один язык, проблем не возникает, но что, если в одной строке приводятся слова на разных языках, например на английском и арабском? В таком случае коды bidi позволяют указать, в каком направлении будет отображаться текст.

Авторы исследования воспользовались этими кодами, чтобы, например, сдвинуть идентификатор комментария в коде на языке Python в конец строки, хотя на самом деле он находится в ее середине. Они применили код RLI, который сдвигает только несколько символов, а все остальные не трогает.

Пример уязвимого кода на Python  c использованием bidi-кодов.

Пример уязвимого кода на Python c использованием bidi-кодов. Источник.

Справа показан вариант кода, который увидит программист во время проверки исходников; слева — как код будет выполнен. В большинстве своем компиляторы игнорируют управляющие символы. Для того, кто проверяет код, пятая строка выглядит как безобидный комментарий. На самом деле в ней скрыта функция return, которая приведет к пропуску операции списания денег со счета. В этом примере условная банковская программа выдаст деньги, но не уменьшит остаток.

 

View the full article

Ссылка на комментарий
Поделиться на другие сайты

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
  • Похожий контент

    • Ivy_Sekoru
      От Ivy_Sekoru
      После включения ноутбука начала появляться сообщения от касперски по поводу обнаружения HEUR:Trojan.Multi.GenBadur.genw
      Выполняла лечение с перезагрузкой но после этого снова появляется тоже самое сообщение
    • Seraph Luteus
      От Seraph Luteus
      Доброго времени суток. Решил провести проверку системы на майнеры и прочие вирусы. Как итог, я выявил сначала такой файл trojan siggen 20 2783, после чего удалил (на что надеюсь) его через антивирусник. После сделал ещё проверки и обнаружил уже net malware.url, а его удалить не получается.  Прошу совета и помощи в решении проблемы у знатоков.
       
      По уже похожей проблеме у другого пользователя собрал нужные логи и прикреплю их. 
      PIKA_2024-11-18_15-41-59_v4.99.4v x64.7z
      FRST.txt Addition.txt AV_block_remove_2024.11.18-15.35.log
    • Aman2008
      От Aman2008
      решил в игрульки поиграть, скачал и касперский находит троян, я перезапускаю и касперский снова его находит, и снова и снова, что делать
    • Ra11lex
      От Ra11lex
      Касперский плюс нашел вирус HEUR: Trojan. Multi.GenBadur.genw Расположение: Системная память, после лечения с перезагрузкой опять его нашел, а потом лечение с перезагрузкой и опять он тут. AVT его тоже находит, лечит, но после перезагрузки он опять тут. Пробовал в безопасном режиме, AVT его уже не находит. Windows 11, с последними обновлениями. Протокол прилагается. Также логи FRST. И результаты отчета uvs. 
      Это уже мой второй ноутбук. Видимо я переносил данные и вирус перенес. Прошлая ветка и решение: 
       
      ОтчетКасперский.txt Addition.txt FRST.txt ITAN_RA_2024-10-24_23-37-40_v4.99.2v x64.7z
    • parnishka
      От parnishka
      Вот такая проблема, при сканировании касперский обнаружил какие-то Luiminati в Media get 2 и в папке яндекса троян UDS Shelm, логи скоро сделаю
       
      А и да, компьютер виснет намертво после удаления, приложения открывает через 20 минут а при выключении через кнопку (Пуск не работает, меню не открывается) он пишет что выключается а не выключается 
×
×
  • Создать...