Лаборатория компьютерного оружия
Автоматизированные средства разработки дают хорошее представление о возможностях вирусов. Поэтому мы рассмотрим их более подробно на примере The Virus Creation Laboratory (VCL). VCL представляет собой достаточно старую разработку. Она датирована 1992 годом:
Copyright (c) 1992 Nowhere Man and [NuKE] WaReZ
Version 1.00
Создание вируса при помощи VCL становится просто детской забавой. Программа имеет развитую диалоговую оболочку, содержащую многочисленные меню, окна и диалоговые панели.
Уровень сервиса, предоставляемый пользователю VCL, практически не поддается описанию. Например, для большего удобства в состав дистрибутива VCL входят PIF-файл для запуска из среды Windows и пиктограмма. |
Любому, кто создает вирус при помощи VCL, достаточно задать в меню и диалоговых панелях его свойства. На рисунке 1.11 показано, как можно задать основные свойства будущего вируса. Обычные переключатели меню Options позволяют указать, какие типы файлов вирус должен поражать, будет ли он реализовывать алгоритмы самошифровки и защиты от отладки. Вы можете указать способ поиска новых жертв, насколько быстро вирус должен заражать файлы компьютера и т. д.
Рис. 1.11. Автоматизированные средства разработки вирусов
Большинство вирусов не только создают свои копии, заражая новые файлы и загрузочные секторы дисков, они также могут выполнять всевозможные действия. VCL легко позволяет подключить к вирусу вредоносные функции. Для этого предназначено меню Effects. Список действий, которые VCL позволяет встроить в вирус, представлен в таблице приведенной ниже. Прочитайте эту таблицу внимательно - ведь это список признаков появления вируса на вашем компьютере! Конечно, список неполный, вирусы могут выполнять гораздо более сложные действия.
Эффект | Описание | ||
Beep the PC speaker | Подать звуковой сигнал через встроенный динамик компьютера | ||
Change low RAM | Изменить объем стандартной оперативной памяти | ||
Clear the screen | Очистить экран монитора компьютера | ||
Cold reboot | Выполнить холодную перезагрузку компьютера | ||
Corrupt file(s) | Разрушить файлы с заданными именами | ||
Disable LPT port | Отключить параллельный порт компьютера | ||
Disable Print Screen | Отключить функцию печати содержимого экрана | ||
Disable COM port | Отключить последовательный порт компьютера | ||
Display a string | Вывести на экран заданную строку | ||
Drop a program | Выполнить программу | ||
Erase file(s) | Удалить файлы | ||
Lock up the computer | Зациклить компьютер | ||
Machine gun sound | Подать звук стреляющего пистолета | ||
Out value to port | Вывести определенное значение в задаанный порт компьютера | ||
Out random to ports | Вывести случайное значение в задаанный порт компьютера | ||
Play a tune | Проиграть мелодию | ||
Print a string | Напечатать на принтере текстовую строку | ||
Drop to ROM BASIC | Запустить интерпретатор языка BASIC, записанный в ПЗУ компьютера | ||
Send string to COM | Вывести строку в последовательный порт. Эту возможность можно использовать для программирования модемов | ||
Swap two LPT ports | Поменять имена двух параллельных портов компьютера | ||
Swap two COM ports | Поменять имена двух последовательных портов компьютера | ||
Trash a disk | Испортить информацию в нескольких секторах на заданном диске | ||
Trash some disks | Испортить информацию в нескольких секторах на каком-нибудь диске | ||
Display an ANSI | Вывести на экран строку команд ANSI. Она может содержать такие команды как установка курсора в заданную позицию экрана, выбор цвета текста и цвета фона, отображение символов и т. д. | ||
Warm reboot | Выполнить “теплую” перезагрузку компьютера |
Создаваемый вирус может создавать несколько эффектов из приведенного списка. Те, кому этого недостаточно, могут подключить к вирусу собственные модули, определенные в ассемблерном файле.
Рис. 1.12. Выбор условия для срабатывания вируса
Для каждого выбранного эффекта VCL позволяет выбрать условие его выполнения (рис. 1.12). Условия могут основываться на некоторых характеристиках компьютера и его программной среды. Следующая таблица содержит список параметров, которые могут проверять вирусы, созданные VCL.
Параметр |
Описание |
Country code |
Код страны |
CPU type |
Тип центрального процессора компьютера |
Day |
Текущий день месяца |
DOS version |
Версия операционной системы |
EMS memory |
Объем расширенной памяти |
Number of game ports |
Количество игровых портов, установленных в компьютере |
Hour |
Текущий час |
Number of floppies |
Количество дисководов, подключенных к компьютеру |
Minute |
Текущая минута |
Month |
Текущий месяц |
Number of LPT ports |
Количество параллельных портов компьютера |
RAM memory |
Объем оперативной памяти |
Random number |
Случайное число |
Clock rollover |
Переполнение таймера |
Second |
Текущая секунда |
Number of COM ports |
Количество последовательных портов компьютера |
Weekday |
Текущий день недели |
Year |
Текущий год |
All files infected |
Инфицирование всех файлов |
Under 4DOS |
Работа в среде 4DOS |
Исходный текст вируса на языке ассемблера, который создает VCL, имеет исчерпывающие комментарии, позволяющие в нем легко разобрааться:
search_files proc near
mov dx,offset com_mask ; DX points to "*.COM"
call find_files ; Try to infect a file
done_searching: ret ; Return to caller
com_mask db "*.COM",0 ; Mask for all .COM files
search_files endp
find_files proc near
push bp ; Save BP
mov ah,02Fh ; DOS get DTA function
int 021h
К счастью, антивирусные программы могут достаточно хорошо обнаруживать вирусы, созданные при помощи автоматизированных средств разработки. Поэтому такие разработки скорее всего не смогут значительно распространиться и нанести большой вред.