Разработан вирус конструирующийся из установленных на компьютере программ

Разработан вирус конструирующийся из установленных на компьютере программ

Учёные по заказу армии США разработали образец вируса, который самособирается из фрагментов ПО, установленного на компьютере жертвы. Концептуальной разработке дали название Frankenstein, пишет журнал New Scientist. Перед учёными поставили задание создать код, который будет трудно обнаружить с помощью неизвестного антивируса. Задачу решили за счёт модульной конструкции вируса.

После установки на машину жертвы, вирус конструирует рабочее тело из так называемых «гаджетов» — маленьких фрагментов исходного кода, каждый из которых выполняет определённую узкую задачу. Гаджеты заимствуются из программ, уже установленных на компьютере пользователя, таких как Internet Explorer или Notepad. Типичная Windows-программа содержит около 100 000 гаджетов, своеобразных кирпичиков для сборки. Например, explorer.exe — 127859 гаджетов, gcc.exe — 97163 гаджетов, calc.exe — 60390, cmd.exe — 25008, notepad.exe — 6974.

Предыдущие исследования в данной области показали теоретическую возможность конструирования ПО таким способом, если доступно достаточное количество гаджетов. Теперь эта теория доказана на практике. Вишват Мохэн (Vishwath Mohan) и Кевин Хэмлен (Kevin Hamlen) из Техасского университета в Далласе создали из гаджетов программу, реализовав два простых алгоритма, которые могут использоваться в настоящем зловреде, передает xakep.ru.

Ключевая особенность «Франкенштейна» в том, что сборка рабочего тела по заданным инструкциям повторяется на каждом заражённом компьютере, но каждый раз задействуются новые гаджеты, так что бинарник вируса в каждом случае получается уникальным. За счёт этой особенности вредоносную программу практически невозможно обнаружить по базе вирусных сигнатур.

Подобный подход генерации кода гораздо эффективнее, чем мутация по заданному алгоритму, потому что антивирусные программы довольно быстро вычисляют алгоритм и приспосабливаются к нему. Чтобы вычислять вирусы вроде «Франкенштейна», им придётся анализировать не программный код, а реальное поведение программы, возможно, запуская её в песочнице. С другой стороны, вредоносная программа может определять наличие песочницы и менять своё поведение, как это делают некоторые нынешние вирусы.

Презентация научной работы Вишвата Мохэн и Кевина Хэмлена Frankenstein: Stitching Malware from Benign Binaries(pdf) состоялась на конференции USENIX Workshop on Offensive Technologies, которая прошла 6-7 августа 2012 года в городе Белвью (штат Вашингтон).

Подпишитесь на новости

Разработчик создал язык KillSwitch, который специально путает нейросети

Инженер Cloudflare Доминик Пичета представил KillSwitch — экспериментальный язык программирования, созданный для того, чтобы нейросети спотыкались при чтении и написании кода. Пока индустрия делает разработку удобнее для ИИ, он решил устроить ему полосу препятствий.

В своём блоге Пичета объяснил, что хотел проверить способность моделей работать с незнакомым языком и одновременно использовать их слабости: трудности с подсчётом символов, восприимчивость к инструкциям и чрезмерно чувствительные защитные фильтры.

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

Отдельный троллинг — конструкции вроде «игнорируй предыдущие инструкции», которые здесь имеют значение внутри языка. Добавьте намеренную ложь в документации и формулировки, провоцирующие защитные механизмы моделей, — получите весьма недружелюбную среду для кодинг-агента.

 

В тестах нейросети писали Hello World, объясняли результат программы и переделывали конвертер температуры. Лучший результат получил Claude Opus 5 — 66,8 балла.

Исходники и спецификация открыты на GitHub. Если модели справятся с нынешними заданиями, автор планирует усложнить проверку.

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