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

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

Учёные по заказу армии США разработали образец вируса, который самособирается из фрагментов ПО, установленного на компьютере жертвы. Концептуальной разработке дали название 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 года в городе Белвью (штат Вашингтон).

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

Квантовая случайность дала сбой: ИИ может найти подсказки для взлома

Квантовая физика умеет создавать настоящую случайность, но инженеры всё ещё способны её испортить. Генератор может успешно пройти статистические тесты и при этом выдавать атакующему достаточно подсказок, чтобы тот попробовал предсказать следующие числа.

Европейский институт телекоммуникационных стандартов выпустил руководство ETSI TR 104 171 по разработке и оценке квантовых генераторов случайных чисел — QRNG.

Такие устройства измеряют квантовый процесс, обрабатывают полученные данные и передают случайные значения криптографическим системам для создания ключей и выполнения других защитных операций.

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


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

Ещё одним источником подсказок способны стать изменения энергопотребления и электромагнитное излучение устройства. Связав побочные сигналы с выдаваемыми числами, атакующий теоретически сможет ослабить защищённую ими криптографию.

Авторы отчёта предлагают применять принцип нулевого доверия к энтропии (entropy zero trust). Производителям и операторам следует проверять квантовый источник, контролировать обработку данных, постоянно искать аномалии, защищать оборудование от вмешательства и шифровать каналы доставки чисел приложениям.

Для расследования сбоев рекомендуется записывать время генерации, версию работающего ПО и происхождение выходных данных. В многопользовательских системах потоки разных клиентов должны быть изолированы.

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