Читатели в 🇵🇱, пожалуйста, поддержите dev.by своими налогами! Это просто и ничего не стоит
Support us

Haskell, Delphi, Phix: антивирусы бессильны перед редкими языками

Злоумышленники всё чаще выбирают экзотические языки программирования, потому что вредоносный код на них сложнее анализировать. Согласно новому исследованию, новые способы скрыться от систем статического анализа — метода изучения кода без его запуска — предоставляют языки вроде Haskell, Delphi и Phix.

6 комментариев
Haskell, Delphi, Phix: антивирусы бессильны перед редкими языками

Злоумышленники всё чаще выбирают экзотические языки программирования, потому что вредоносный код на них сложнее анализировать. Согласно новому исследованию, новые способы скрыться от систем статического анализа — метода изучения кода без его запуска — предоставляют языки вроде Haskell, Delphi и Phix.

Исследователи изучили около 400 тысяч исполняемых файлов для Windows, чтобы понять, почему вредоносные программы на редких языках труднее обнаружить. Выяснилось, что нестандартные компиляторы и языки действительно снижают точность систем обнаружения. Особенно заметным стал эффект использования малораспространённых компиляторов — например, Embarcadero Delphi, Tiny C и Pelles C. Причём выбор компилятора больше влияет на способность обходить анализ, чем сам язык.

Традиционно вредоносы создаются на C или C++ и компилируются с помощью Microsoft Visual Studio. Такие бинарные файлы достаточно однородны, что упрощает работу антивирусов: байты шелл-кода зачастую идут последовательно или с предсказуемыми интервалами, позволяя применять сигнатурные методы. Но в случае с Rust, Lisp, Haskell и рядом других языков структура памяти гораздо менее предсказуема. Там байты вредоносного кода могут быть разнесены по всему бинарному файлу, что существенно осложняет автоматическое обнаружение.

Использование необычных языков также ведёт к большему количеству непрямых вызовов, множеству параллельных потоков и сложной логике исполнения. Всё это затрудняет реверс-инжиниринг для аналитиков и увеличивает шансы злоумышленников на успешную атаку.

Растущую популярность экзотических языков у известных группировок подтверждает практика. APT29 использовала Python в бэкдоре Masepie и сочетание Delphi, Go, C# и Python в трояне Zebrocy. Вымогатель Akira перешёл с C++ на Rust, BlackByte заменил C# на Go, Hive был переписан на Rust. Такие метаморфозы затрудняют анализ кода и делают его менее узнаваемым для автоматических средств.

Чем меньше специалистов и инструментов понимают формат кода, тем выше вероятность, что вредонос останется незамеченным. Особенно это касается языков с необычной моделью исполнения, таких как Haskell или Lisp, либо окружений с громоздкой стандартной библиотекой, как Dart и Go.

Исследователи подчёркивают, что безопасность не должна ограничиваться наблюдением за популярными языками. Малораспространённые технологии дают злоумышленникам пространство для манёвра. Чтобы оставаться на шаг впереди, нужно расширять арсенал анализа и на такие нестандартные случаи.

«Динозавры наносят ответный удар»: в TIOBE растут старые языки программирования
«Динозавры наносят ответный удар»: в TIOBE растут старые языки программирования
По теме
«Динозавры наносят ответный удар»: в TIOBE растут старые языки программирования
«Спасите C++»: отец языка программирования просит помощи у сообщества
«Спасите C++»: отец языка программирования просит помощи у сообщества
По теме
«Спасите C++»: отец языка программирования просит помощи у сообщества
Как поддержать редакцию, если вы в Польше?

Помогите нам делать больше полезного контента

Читайте также
10 курсов по SQL для лучшего понимания работы с большими данными (май, 2023)
10 курсов по SQL для лучшего понимания работы с большими данными (май, 2023)
10 курсов по SQL для лучшего понимания работы с большими данными (май, 2023)
Собрали 10 платных и бесплатных онлайн-курсов для изучения SQL. Программы рассчитаны на слушателей, которые только начинают или продолжают знакомство с языком.
10 способов научиться программировать самостоятельно
10 способов научиться программировать самостоятельно
10 способов научиться программировать самостоятельно
Хотите научиться кодить и освоить алгоритмы? Собрали десять советов с чего начать изучение программирования для тех, кто только начинает своё путешествие в мир программирования и снабдили все это полезными ссылками на курсы для начинающих программистов.
Украинские хакеры вычислили базу российских военных, притворившись девушками в соцсетях
Украинские хакеры вычислили базу российских военных, притворившись девушками в соцсетях
Украинские хакеры вычислили базу российских военных, притворившись девушками в соцсетях
2 комментария
Microsoft запустила обучающий сайт по Java
Microsoft запустила обучающий сайт по Java
Microsoft запустила обучающий сайт по Java
1 комментарий

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

0

Вы же тут разгоняли насколько Rust безопасен🤭

shipishi
shipishi Должность в Белокрылые лошадки
0

ты точно айтишник?

petrunio84
petrunio84 Майор в шарага N2395763295
0

он просто не видел раст поэтому у него ООМ

shipishi
shipishi Должность в Белокрылые лошадки
0

ну разве что. тут в списке куда более интересно присутствие хаскеля, чем раста, как по мне.

petrunio84
petrunio84 Майор в шарага N2395763295
0

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

Пользователь отредактировал комментарий 1 апреля 2025, 15:16

shipishi
shipishi Должность в Белокрылые лошадки
0

Да я статью прочитал. У меня однако был стереотип, что эта гадость должна быть достаточно мелкой и напрямую работать с памятью и системными ресурсами. А оно, похоже, совсем необязательно, или как-то по модулям раскладывается. В расте-то никто не мешает тебе с ног до головы ансейфами обмазаться, ты в хаскеле попробуй.