Автоматизированные средства разработки дают хорошее
представление о возможностях вирусов. Поэтому мы рассмотрим их более подробно
на примере 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
К счастью, антивирусные программы могут достаточно
хорошо обнаруживать вирусы, созданные при помощи автоматизированных средств
разработки. Поэтому такие разработки скорее всего не смогут значительно
распространиться и нанести большой вред.
К сожалению, не только вирусы мешают нормальной работе
компьютера и его программному обеспечению. Принято выделять еще, по крайней
мере, три вида вредоносных программ. К ним относятся программы-черви, троянские
программы и логические бомбы. Четкого разделения на эти виды не существует,
троянские программы могут содержать вирусы, в вирусы могут быть встроены
логические бомбы и т. д.
Все знакомы с греческим мифом о том, как была завоевана
неприступная Троя. Греки оставили ночью у ворот Трои деревянного коня, внутри
которого притаились солдаты. Когда горожане, движимые любопытством, втащили
коня за стены города, солдаты вырвались наружу и завоевали город.
Троянские программы действуют подобным образом. Их основное
назначение совершенно безобидное или даже полезное. Но когда пользователь
запишет программу в свой компьютер и запустит ее, она может незаметно выполнять
другие, недокументированные функции.
Часто троянские программы используются для первоначального
распространения вирусов. Такая программа записывается автором на станцию BBS, и
оттуда загружается ничего не подозревающими пользователями на свои компьютеры.
Когда пользователь запустит ее, она, помимо выполнения маскирующей функции, заражает
компьютер вирусом.
После того как троянская программа выполнит свою скрытую
функцию, она может самоуничтожиться, чтобы затруднить обнаружение причины
нарушений в работе системы.
Логической бомбой называется программа или ее
отдельные модули, которые при выполнении определенного условия выполняют
несанкционированные действия. Логическая бомба
может сработать по достижении определенной даты, когда в базе данных
появится
или исчезнет запись и т. д. Условие, при котором бомба срабатывает,
определяется ее создателем. Логическая бомба может быть встроена в
вирусы,
троянские программы или в обыкновенное программное обеспечение.
Широко известен случай, когда программист, разрабатывающий
бухгалтерскую систему, заложил в нее логическую бомбу. Она периодически
проверяла ведомости на получение зарплаты и когда из нее исчезла фамилия
создателя программы, бомба уничтожила всю систему.
Логические бомбы используются шантажистами. Через
определенное время, после того как программист, встроивший логическую бомбу,
покидает компанию, она может полностью разрушить систему. Шантажист сообщает
руководству компании, что в систему заложена логическая бомба и он может ее
удалить (за определенную плату).
Программы-черви нацелены их авторами на выполнение
определенной функции. Они могут быть ориентированы на проникновение в систему и
модификацию некоторых данных.
Можно создать программу-червь, подсматривающую пароль для
доступа к банковской системе и изменяющую базу данных таким образом, чтобы на
счет программиста была переведена большая сумма денег.
Самая известная программа-червь написана студентом
Корнельского (Cornell) университета Робертом Моррисом (Robert Morris). Червь
был запущен второго ноября 1988 года в сеть Internet. За пять часов червь
Морриса смог проникнуть на более чем 6000 компьютеров, подключенных к сети.
Очень сложно узнать, является ли программа троянской и
заложена ли в нее логическая бомба. Программист имеет полную власть над своим
детищем. Изучение сомнительной программы или системы может занять очень много
времени и потребовать значительных финансовых затрат.
Мы не рекомендуем копировать к себе программы с BBS,
обмениваться программным обеспечением со своими знакомыми и приобретать
незаконные копии фирменного программного обеспечения. В любую из этих программ
могут быть встроены дополнительные вредоносные функции и их использование
приведет к нарушению работы вашей компьютерной системы.
Как вирусы попадают в компьютер? Вы обязательно должны
уяснить себе этот вопрос, чтобы по возможности перекрыть все возможные каналы
поступления новых вирусов.
К счастью, вирус не может просто так появиться на компьютере
(если, конечно, вы сами не разрабатываете его). Когда незараженный компьютер
полностью изолирован от внешнего мира - от него отключены дисководы, он не
подключен к локальной сети и в нем не установлен модем, вирус не может попасть
в такой компьютер.
Компьютерный вирус не появится от того, что вы оставили на
ночь открытой форточку и устроили сквозняк. Дождь и снег за окном также не
могут служить источником возникновения компьютерного вируса.
Чтобы вирус проник на компьютер, необходимо, чтобы последний
выполнил зараженную программу или загрузился с зараженной дискеты. Наиболее
часто вирусы попадают в компьютер вместе с пиратским программным обеспечением,
программами Freeware и Shareware.
Вот основные пути, по которым вирусы проникают в компьютер:
· получение программ
с электронной доски объявлений и через глобальные сети;
· обмен дискетами и
программами;
· проникновение
вируса из локальной сети
Мы не можем сейчас предусмотреть все возможные пути
проникновения вирусов в компьютер. Так, например, совсем недавно появился новый
вид вирусов, распространяющихся через файлы документов текстового процессора
Microsoft Word for Windows. После этого даже казавшееся ранее абсолютно
безопасным копирование документов несет в себе опасность заражения.
Незаконное использование программного обеспечения, при
котором оно многократно копируется многими людьми, легко позволяет вирусам
распространяться от компьютера к компьютеру. В нашей стране, да и во всем мире,
пиратское копирование программ широко распространено.
Быстрее всего вирусы распространяются, заражая выполнимые
файлы компьютерных игр. Немногие могут удержаться, чтобы не скопировать у
хорошего знакомого новую версию популярной игры, просто переписав на свои
дискеты все ее файлы. Затем кто-нибудь перепишет игру у вас и так далее и так
далее... Если на одном из компьютеров этой цепочки находится вирус, и он
заразит выполнимые файлы игры, то все остальные любители развлечений также
получат вирус.
Только в случае законного использования программ вы можете
быть спокойны за то, что не получите вирус или троянскую программу. В крайнем
случае, у вас будет кому выдвинуть претензии.
Тем не менее, известны случаи, когда даже фирменное
программное обеспечение содержало в себе вирус, поэтому вы всегда должны
внимательно относиться к проблеме антивирусной защиты компьютера.
Помимо фирменного программного обеспечения существуют
так называемые бесплатные (Freeware) и условно бесплатные (Shareware)
программы. Вы можете свободно копировать и использовать такое программное
обеспечение. Программы Shareware отличаются от Freeware тем, что если вы
используете их дольше определенного срока и они вам понравились, вы должны
отправить их создателю небольшое количество денег, обычно от пяти до двадцати
американских долларов.
В качестве Shareware распространяются программы архиваторы,
например архиватор ARJ, различные графические пакеты и другие мелкие полезные
программы.
Для того чтобы файловый вирус проник в компьютер, достаточно
запустить зараженную программу с дискеты или с сетевого диска
Несмотря на свою привлекательность, программное обеспечение
Freeware и Shareware может послужить для проникновения вирусов. Это происходит
вследствии того, что программы Freeware и Shareware поступают конечному пользователю
через длинную цепочку копирований. Существует вероятность, что во время такого
копирования программа может быть заражена вирусом.
Поэтому следует по возможности избегать бесплатных и условно
бесплатных программ. Особенно это касается тех случаев, когда компьютер
используется для выполнения ответственных задач.
За последние несколько лет широкое распространение
получили так называемые электронные доски объявлений (Bulletin Board System -
BBS). BBS - это компьютер, снабженный одним или несколькими модемами, на
котором выполняется специальная почтовая программа. Эта программа позволяет
пользователям удаленных компьютеров связываться с BBS по телефонным линиям и
выполнять обмен сообщениями и файлами.
Каждый обладатель модема может позвонить на BBS со своего
компьютера, записать на нее или считать себе любые файлы. Таким образом, на BBS
может попасть программа, зараженная вирусом, троянская программа или
программа-червь.
Правила пользования различными BBS могут значительно
отличаться друг от друга. Для некоторых BBS запрещена запись новых файлов.
Пользователь может только загрузить файлы с BBS и обмениваться текстовыми
сообщениями. На других BBS, наоборот, поощряется запись пользователями новых
файлов. От объема записанных пользователем файлов зависит, какой объем файлов
пользователь может получить для себя.
Несмотря на то, что все вновь загруженные файлы должны, по
идее, проверяться системным оператором BBS на вирусы, иногда они этого могут не
делать. Даже если проверка осуществляется, новые вирусы, не известные
антивирусным программам, используемым системным оператором BBS, могут остаться
незамеченными. В случае, когда на BBS загружена троянская программа, проверка
антивирусными программами скорее всего ничего не даст.
Многие авторы вирусов специально записывают на BBS
зараженные программы, чтобы инициировать таким образом распространение своего
детища. Однако совсем не обязательно, что зараженная программа записана на BBS
специально. Возможно тот, кто ее записал, сам не знал о наличии вируса.
Другие пользователи, которые перепишут с BBS на диски своего
компьютера зараженную программу, получат вместе с ней вирус.
Следует помнить, что не только выполнимые файлы могут быть
заражены вирусами. Даже текстовый файл в формате Microsoft Word for Windows
может содержать в себе вирус.
Любой файл, содержащий в себе выполнимые инструкции, будь то
команды центрального процессора или программы, написанные на языке макрокоманд,
могут содержать вирус
Если вам все же приходится использовать в своей работе
программы, полученные с BBS, необходимо в обязательном порядке проверять их на
наличие вирусов.
Ваш компьютер подвергается опасности заражения
вирусами не только когда вы записываете себе выполнимые файлы и файлы
документов, содержащие макрокоманды.
Загрузочные вирусы могут проникнуть в компьютер, когда он
загружается с зараженной дискеты. Подчеркнем, что зараженная дискета не
обязательно должна быть системной, то есть содержать файлы операционной
системы. Загрузочный вирус может быть на любой дискете.
Обычно это происходит, когда вы случайно оставляете дискету
в дисководе, а затем перезагружаете компьютер. Во время первоначальной загрузки
компьютер считывает загрузочную запись с дискеты и передает ей управление. Если
дискета заражена, вирус сразу получает управление и заражает жесткий диск
компьютера. Теперь даже после выключения питания компьютера и загрузки его с
жесткого диска вирус будет активизирован.
Файловые вирусы получают управление при запуске зараженного
файла. Возможно, что работая на компьютере, вы не запустите ни одного
зараженного файла и вирус так и не получит управления. Загрузочный вирус
выполняется каждый раз, когда вы загружаете компьютер.
Сама по себе зараженная загрузочным вирусом дискета не
представляет непосредственной опасности. Вы можете вставить ее в компьютер,
скопировать с нее любые файлы или записать новые файлы с жесткого диска
компьютера. Вирус при этом не сможет заразить компьютер. Только загрузка с
дискеты позволяет вирусу активизироваться.
Базовая система ввода/вывода (Basic Input Output System
- BIOS) большинства современных компьютеров позволяет установить порядок
загрузки операционной системы. Если вы укажете, что операционная система должна
загружаться сначала (или только) с жесткого диска, загрузочный вирус не
проникнет к вам с зараженной дискеты, даже если вы случайно оставите ее в
дисководе. Чтобы установить порядок загрузки операционной системы, надо
запустить программу BIOS Setup, а затем руководствоваться описанием системной
платы компьютера.
Однако мы не советуем вам специально экспериментировать с
зараженными дискетами и копировать с них выполнимые файлы. Многие
файлово-загрузочные вирусы могут также распространяться, заражая обычные
выполнимые файлы. Такой вирус может заразить загрузочные секторы жесткого диска
при запуске обычной программы.
Известны случаи, когда загрузочный вирус был обнаружен на
отформатированных дискетах, только что купленных в магазине. Вирус попал на них
еще на заводе, во время форматирования новых дискет.
В настоящее время все большее распространение получают
устройства чтения компакт-дисков. Эти устройства позволяют читать специальные
диски, объем которых составляет больше 600 Мбайт. Постоянное снижение цены на
устройства чтения компакт-дисков и их совершенствование позволяют предположить,
что в скором времени все компьютеры будут оснащены таким устройством.
К сожалению, записать информацию на компакт-диск значительно
сложнее, чем прочитать. Существует две технологии их изготовления.
Принципиальное различие между ними состоит в количестве дисков, которые можно
изготовить за определенное время. Ни одна из этих технологий не позволяет
стирать уже записанные данные и записывать на их место другие.
Первая технология предполагает наличие сложного
технологического оборудования. Заготовки для таких дисков изготавливаются на
основе алюминия и имеют крайне низкую стоимость, но запись на них информации
окупается только при больших тиражах. Поэтому на алюминиевых дисках обычно выпускают
дистрибутивы современного программного обеспечения, сложные игры, энциклопедии,
то есть все, что находит широкий спрос.
Вторая технология позволяет изготавливать единичные
экземпляры компакт-дисков, но устройства для их записи значительно дешевле и подключаются
к компьютеру как дисковод. Сами же заготовки дисков выполняются с напылением
золота и стоят дороже алюминиевых.
Файлы, записанные на компакт-дисках, могут быть заражены
вирусами. Но в отличие от жестких дисков и дискет, это может случиться только
если файл был заражен и записан на компакт-диск уже зараженным. Последующее
использование компакт-диска не вызовет его заражения ни в каком случае, даже
если компьютер, на котором вы работаете, забит вирусами до отказа. Секрет прост
- обычные устройства чтения компакт-дисков физически не могут записывать данные
на диск, и предназначены только для чтения.
Тем не менее вирус может находиться на компакт-диске. Это
происходит в том случае, когда фирма, подготовившая компакт-диск к выпуску, не
позаботилась о антивирусной безопасности и вирус заразил файл перед записью его
на диск.
Особенно внимательно следует обращаться с пиратскими (не
лицензионными) компакт-дисками, выпущенными подпольно. Никто не даст вам
гарантию, что на них нет вирусов.
Большинство антивирусных программ позволяют проверить
компакт-диск на вирусы. Следует только иметь в виду, что если вирус обнаружен,
вылечить такой файл непосредственно на компакт-диске невозможно. В качестве
одного из вариантов вы можете скопировать зараженный файл к себе на жесткий
диск и сразу вылечить его с помощью антивирусной программы. Пользоваться можно
только этим вылеченным файлом.
Источник: http://www.frolov-lib.ru/books/step/v05/ch1.htm |