Компьютерные вирусы
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: реферат на тему образ жизни, сочинение язык
| Добавил(а) на сайт: Jeshman.
Предыдущая страница реферата | 8 9 10 11 12 13 14 15 16 17 18 | Следующая страница реферата
Зато стандартныйотладчик debug присутствует точно. Загружаем подозреваемуюна наличие вируса программу (в чистой операционной системе)в память при помощи команды debug . Команда и позволяет дизассемблировать фрагмент кода, команда d -просмотреть его в шестнадцатеричном формате, команда g запускает программу на выполнение с остановом в указан-ной точке, команда t обеспечивает пошаговую трассировку кода,команда r отображает текущее содержимое регистров. Чтобы ви-зуально распознать наличие вируса по коду, конечно, необходимопределенный опыт. Вот на что надо обращать особое внимание:
- Наличие в начале программы последовательности команд подобного типа крайне подозрительно:
Start:
call Metka
Metka: pop
- Наличие в начале файла строк типа , или подразумевает обработку программы соответствующим упаковщиком; если начало программы не содержит последовательности команд, характерных для упаковщика, не исключен факт ее заражения.
- Программы, написанные на языках высокого уровня, часто содержат в своем начале сегмент кода, затем сегмент данных. Наличие еще одного сегмента кода, располагающегося в конце файла программы, весьма подозрительно.
- Подозрение вызывают расположенные в начале программы, написанной на языке высокого уровня, фрагменты видоизменения собственного кода, вызовы DOS- или BIOS-прерываний и прочее. Желательно визуально помнить характерные начала программ, скомпилированных в той или иной системе программирования (на-пример, начала программ, написанных на
Turbo Pascal, содержат большое количество дальних вызовов подпрограмм call xxxx:xxxx).
- Наконец, о наличии вируса могут свидетельствовать строки типа внутри файла.
7. Ловля вируса . Итак, допустим, что наличие вируса в системе доказано одним из предложенных выше методов, и зараженные вирусом объекты определены. Теперь можно начать изучение вируса и, вслед за этим, попытаться удалить его с машины. Желательно послать образец вируса профессиональным вирусологам. А для этого необходимо выделить вирус в чистом виде. а) Выделение загрузочного вируса. Как уже говорилось выше, есливи рус заразил винчестер, необходимо при помощи программы DiskEditor сохранить в файле образ зараженного объекта (например, сектора 0/0/1 или всей нулевой дорожки). Но, как известно, загрузочные вирусы только в системных областях винчестера, размножаются же они, заражая системные области дискет. Поэтому смотрим на лицевую панель компьютера. Еслив наличии дисководы обоих типов (3.5" и 5.25"), то придется отформатировать 4 дискеты на 4 стандартных формата: 360 Кбайт, 720
Кбайт, 1.2 Мбайт и 1.44 Мбайт. Затем при помощи программы DiskEditor внимательно рассмотрим и постараемся запомнить внешний вид boot- секторов этих дискет (0/0/1), хотя бы первые байты (естественно, все это делается на чистой машине). Вставляем не защищенные от записи дискеты по очереди в дисководы машины и (обязательно) обращаемся к ним: пытаемся прочитать каталог, записать, прочитать и удалить какие-либо файлы. Наконец, на чистой машине при помощи
DiskEditor вновь просматриваем сектор 0/0/1. Если на какой-либо дискетеон изменился, при помощи того же DiskEditor снимаем образ всей дискеты в файл. Вирус пойман. Можно упаковать файл каким-нибудь архиватором и послать его вирусологу. Некоторые хитрые вирусы хранят свое тело на дополнительной, специально отформатированной дорожке, так называемом инженерном цилиндре дискеты. В этом случае без пакета копирования ключевых дискет типа fda, teledisk или copymaster не обойтись. б) Выделение резидентного вируса. Как известно, резидентный вирус постоянно находится в памяти ПЭВМ, выбирая жертву для заражения.
Наиболее часто в качестве жертв выступают запускаемые программы. Однако файлы программ могут заражаться при открытии, копировании на дискету или с нее (вирус OneHalf), вовремя поиска при помощи DOS-функций
FindFirst или FindNext. Необходимо подобрать подходящего претендента на заражение - небольшую программу простой структуры, приманку. Некоторые вирусы пытаются распознать приманку и отказываются от ее заражения. Не подходят для таких целей слишком короткие программы или такие, большая часть которых состоит из повторяющихся байт
(например, 90h - код команды NOP). В качестве приманки с большим успехом можно использовать программы test.coin и test.exe. Вот их исходные текстына языке Assembler.
test.com
cseg segment
assume cs:cseg, ds:cseg, ss:cseg
org 100h
Start:
db 1249 dup (OFAh,90h,OFBh,OF8h)
mov ah,4Ch
int 21 h
cseg ends
End Start
test.exe
cseg segment
assume cs:cseg, ds:cseg
Start:
db 1000 dup (0FAh,90h,0FBh,0F8h)
mov ah,4Ch
int 21 h
cseg ends
sseg segment stack
assume ss:sseg
db 118 dup (OFAh,90h,OFBh,OF8h)
sseg ends
End Start
Скопируем приманки на зараженную машину. Выполним над ними как можно больше
операций: запустим, скопируем в другое место винчестера и на дискету, переместим, просмотрим их в NC и DOS (командой dir). При этом желательно
несколько раз поменять системное время и дату, потому что вирусы нередко
активны не каждый день и не круглые сутки. Чтобы исключить Stealth-эффект, загрузимся с чистой дискеты и рассмотрим внимательно эти файлы. Как
правило, достаточно бывает проконтролировать размер файлов и просмотреть их
код припомощи F3 - наличие вируса определить несложно.
в) Выделение нерезидентного файла. Самый неприятный случай. Помимо того, что вирус нередко привередничает, распознавая приманку, и по-прежнему
отказывается работать , так еще и заражаемость
программ сильно зависит от их расположения на винчестере. Одни
нерезидентные вирусы заражают только в текущем каталоге, другие - только в
подкаталогах 1-го уровня, третьи - в каталогах, указанных в строке path
системной среды (Vienna), четвертые - вообще во всех каталогах винчестера.
Поэтому воспользуемся программой типа rt, чтобыскопировать приманки во все
каталоги диска (запускаем из корневого каталога):
rt copy a:test.* .
Точка в конце - символ текущего каталога. Потом их можно будет удалить:
rt del test.*
Теперь выбираем заведомо зараженную программу и запускаем ее N раз,постоянно изменяя время и дату. Проконтролировать изменение длины поможет та же программа rt: rt dir test.* >test.txt
Получаем файл test.txt, содержащий список файлов test.* с указаниемих длины. Выбираем тот файл приманки, который изменил длину.
Рекомендуем скачать другие рефераты по теме: контрольная, использование рефератов.
Категории:
Предыдущая страница реферата | 8 9 10 11 12 13 14 15 16 17 18 | Следующая страница реферата