`
bulote
  • 浏览: 1297272 次
文章分类
社区版块
存档分类
最新评论

反病毒原理与实战

 
阅读更多

反病毒原理与实战

3

反病毒包括:

. 检测和分析病毒(查毒)

. 清除病毒(杀毒)

. 预防病毒(防毒)

4

感觉系统不太对劲儿时…

. 确定可疑情况

. 看看运行的进程

. 看看注册表

. 看看TCP/IP

开放的端口

. 看看操作系统所在分区的根目录、Program

Files

、Documents and Settings

Windows/WinNT/System32

tse23oySdnTNwmWi

等目录

. 看看IE

的设置

. 看看事件查看器中记录的事件

. 看看操作系统的服务

. 看看用户帐号的状态

. 情况可疑,进一步检查可疑文件是否具

有病毒的特征

5

如何确定可疑文件是有问题的

. 是否具有病毒的特征

. 运行,检查传染性

. 检查运行后的行为,是否具有破坏性

. 观察程序的非人为干预的特殊行为,比如不

断地搜索本地Doc

文档,自动发送邮件等

. 反编译,读代码,看破坏性

. “

确诊”

过程中注意保护自己

. 确定有问题(恭喜~~

),进一步检测其特

征,并分析清除病毒和还原系统的办法

6

计算机病毒检测方法

. 比较法

. 校验和(Checksum

)比对法

. 特征字串匹配法

. 虚拟机查毒法

. 人工智能陷阱和宏病毒陷阱技术

. 分析法

. 先知扫描法(VICE

,Virus

Instruction Code Emulation

7

比较法

. 原理:用原始备份与被检测的引导

扇区或文件进行比较,不相同即被

改变过

. 优点:方法简单;准确性高

. 缺点:效率低;需要有“

干净”

的备

份;无法知道感染的病毒名称;需

对不匹配的文件进行进一步分析;

对经常变化的文件不适用

8

如何运用比较法

. 有原始备份的、一般不会被改动的

文件才适合用比较法

. 一般来说适用于系统文件,或者是

应用程序

. 用fc

命令比较两个文件,要用/b

参数

执行二进制比较

9

如何运用比较法(续)

. 看大小、看版本号、看日期、看属

性、看文件头的标识和扩展名的一

致性

. 用十六进制查看器查看可疑文件,

看头看尾(一般各2K

字节)

. 如果确定内容是文本,用记事本打

开查看(或者DOS

的Edit

命令,不

要双击用关联应用程序打开)

10

常见文件扩展名和文件头标识

. .EXE/.DLL/.CPL/.SCR/.FON

:’

MZ

(4D 5A),

面有时候还有PE/0/0

、NE

. .ZIP/.JAR

:‘

PK/03/04

(50 4B 03 04)

. .RAR

:‘

Rar

!

. .CLASS

:/CA /FE /BA /BE (CA FE BA BE)

. .DOC/.XLS/.PPT

:/D0 /CF /11 /E0

(OLE 2.0

application

格式)

. .PDF

:‘

%PDF

FD%’

11

常见文件扩展名和文件头标识(续)

. .JPG

:/FF /D8 /FF /E0 xx

xx

JFIF/0

. .BMP

:‘

BM

/

BA

/

CI

/

CP

/

IC

/

PT

. .GIF

:‘

GIF89a

/

GIF97a

. .TIF

:‘

I I /2A /00

(49 49 2A 00)

或‘

M M 00 2A

(4D 4D 00 2A)

. .SWF

:‘

FWS

. .WAV

VWA

RIFF

’…

WAVE

EVWA

. .AVI

:‘

RIFF

’…

AVI

. .WMV

VWM

:(30 26 B2 75 8E 66 CF 11 A6 D9 00 AA

00 62 CE 6C)

. .RM/.

Rmvb

:‘

.RMF

(2E 52 4D 46

12

校验和(Checksum

)比对法

. 原理:利用特定算法对被检测的引

导扇区或文件进行计算,得出校验

和(Checksum

),与原始文件的校

验和进行比较,如果不同即被改变。

. 优点:相对简单

. 缺点:漏判率高;需事先知道校验

和的算法和保存位置;无法发现隐

形病毒

13

EXE

文件的checksum

算法

. 置checksum

字段为0x0000

. 从文件头开始,每2

个字节组成一个word

,如果

文件长度为奇数,则在最后补

00

。注意:Intel

I n t e l

字节顺序。

. 从文件头开始将这些值累加起来,进位忽略。

. 最后得到一个WORD

DRWO

,取补即为

checksum

. 记L

为文件长度,W

i

i

为从文件头开始的每两字节

组成的WORD

DRWO

数组,C

为checksum

值,则:

( ) & 0 0

[( 1) / 2]

1

. . .

.

.

C W xFFFF

L

i

i

14

如何运用校验和比对法

. 需知道校验和算法,或原始的校验和

. 查毒效果一般,而且操作复杂

. 一般当比较法发现不同时,可以采用此

方法进一步确认有问题

. 校验下载的内容,可以根据同时给出的

MD5

码进行验证,需要注意的是算法的

一致性

. 一般不用来确定不含毒。

15

特征字串匹配法

. 原理:用每一种计算机病毒体所特

有的字符串对被检测的引导扇区或

文件进行扫描。如果包含特征字串

即被感染。

. 优点:准确率高;效率高

. 缺点:识别病毒的能力依赖特征字

串;对未知病毒无能为力;特征字

串的选取专业性高;难以对付变形

病毒

16

特征字串选取的基本原则

. 无论病毒传播多少次,特征字串始终存

在于病毒代码内

. 非代码段的内容一般不作为特征字串

. 通常不将设标志位、出入栈等单独作为

特征字串,一般比较多地选择读写病毒

代码体内的内容(MOV

)、运算、病毒

体内的跳转等指令代码作为特征字串

17

特征字串选取的基本原则(续)

. 通常从指令的开始字节选取,但选取的

特征字串并不一定连续

. 一般总会包含一些不可显示的字符

(ASCII

ISAC

码小于0x20

),通常还会有特征

码偏移量作为参照

. 一般选取8~30

380~

个字节左右,太少则容易

误报,太多则效率不高,且不容易检测

出变种

. 针对脚本病毒、宏病毒、木马黑客程序

等需要特殊处理

18

范例:0512

病毒(512.com

病毒体部分代码:

0100 E9D862 JMP 63DB

...

63DB E80000 CALL 63DE

63DE 5E POP SI

63DF 83EE03 SUB SI,+03

63E2 56 PUSH SI

63E3 06 PUSH ES

63E4 50 PUSH AX

63E5 8B84F601 MOV AX,[SI+01F6]

63E9 A30001 MOV [0100],AX

63EC 8A84F801 MOV AL,[SI+01F8]

63F0 A20201 MOV [0102],AL

63F3 B801EE MOV AX,EE01

63F6 CD21 INT 21

63F8 3DFE11 CMP AX,11FE

...

64d0h: 01 E9 2D 0D 53 4C 4F 46 54 58 43

19

范例:0512

病毒分析过程(1

0100 E9D862 JMP 63DB ;文件头跳转

...

63DB E80000 CALL 63DE ;真正有意义的代码开始处

;我们应该从这儿开始分析

63DE 5E POP SI

...

. 技巧1

:始终从代码开始处,而不是文件

头开始分析

. 理由:不应该假设已知被感染文件的大

小,而且不应该假设已知病毒代码的长度

和感染的位置

20

范例:0512

病毒分析过程(2

. 技巧2

:一般来说,病毒代码总会采用一

些“

与众不同”

的指令。

. 这种与众不同的指令可以被用来定位和

识别病毒。

. 如果这种指令会在病毒传染的时候被保

留,则可以作为特征字串。

63DB E80000 CALL 63DE ;无用的指令

63DE 5E POP SI ;取上面的CALL指令的返回地址

;SI=63DE

63DF 83EE03 SUB SI,+03 ;SI=SI-3 = 63DB

;即定位到病毒代码开始处

21

范例:0512

病毒分析过程(3

. 技巧3

:通常病毒体内总会存放宿主程序

原来的程序入口,且最后会跳转到该入口

. 这个原始程序入口一般来说是要通过相对

位置的计算来访问的。

. 如果传染过程中这个相对位置不变,则读

写这些位置的指令可以作为特征字串。

63E2 56 PUSH SI ; SI=63DB,病毒代码开始处

63E3 06 PUSH ES ;对于COM文件,ES=CS=DS

63E4 50 PUSH AX ;保存AX原值

63E5 8B84F601 MOV AX,[SI+01F6] ; 01F6是相对位置

63E9 A30001 MOV [0100],AX ; COM文件总是从CS:100H开始

63EC 8A84F801 MOV AL,[SI+01F8]

63F0 A20201 MOV [0102],AL

...

64d0h: 01 E9 2D 0D 53 4C 4F 46 54 58 43

22

范例:0512

病毒分析过程(4

. 技巧4

:通过内容来确定指令的用意。

. 0100

改写的内容(E92D0D

)可以被解释

为COM

文件的开始代码,故基本可以断

定这段代码是恢复原始的文件头。(病毒

体内后面的代码可以证明这一点)

63E5 8B84F601 MOV AX,[SI+01F6] ; SI+01F6=64D1,AX=2DE9

63E9 A30001 MOV [0100],AX ; [0100]=E9 2D

63EC 8A84F801 MOV AL,[SI+01F8] ; SI+01F8=64D3, AL=0D

63F0 A20201 MOV [0102],AL ; [0102]=0D

...

64d0h: 01 E9 2D 0D 53 4C 4F 46 54 58 43

;此时文件头已经变成 初始时为:

0100 E92D0D JMP 0D2D ;E9D862 JMP 63DB

23

范例:0512

病毒分析过程(5

. 技巧5

:病毒代码一般都会有一个已

感染或已驻留内存的检查,避免反

复感染造成不可控或是功能失效

. 如果自我检查的代码传染的过程中

不会变化,则可以作为特征字串

63F3 B801EE MOV AX,EE01

63F6 CD21 INT 21

63F8 3DFE11 CMP AX,11FE

;根据病毒体后面的代码可知这段代码为病毒进行已驻留内存检查

...

24

范例:0512

病毒的特征字选取

0100 E9D862 JMP 63DB ;每次会变的内容不作为特征字串

...

63DB E80000 CALL 63DE ;与众不同的代码,作为特征字串

63DE 5E POP SI

63DF 83EE03 SUB SI,+03

63E2 56 PUSH SI

63E3 06 PUSH ES

63E4 50 PUSH AX

63E5 8B84F601 MOV AX,[SI+01F6] ;可作为特征字串

;01F6可能会变,故不选取

63E9 A30001 MOV [0100],AX ;但是COM文件始终从0100开始

63EC 8A84F801 MOV AL,[SI+01F8]

63F0 A20201 MOV [0102],AL

63F3 B801EE MOV AX,EE01 ;病毒进行已感染检查,选取

63F6 CD21 INT 21

63F8 3DFE11 CMP AX,11FE

...

64d0h: 01 E9 2D 0D 53 4C 4F 46 54 58 43 ;非代码内容不作为特征字串

25

范例:0512

病毒对应的查毒代码

LEA

ESI, BUFFER

MOV

EBX, PROGRAM_START

CMP

WORD PTR [ESI

+EBX

], 0x

00E8

JNZ

NO_0512_V

CMP

BYTE PTR [ESI

+EBX+0x02

],

0

JNZ

NO_0512_V

CMP

WORD PTR [ESI

+EBX+0x0A

],

0x848B

JNZ

NO_0512_V

CMP

WORD PTR [ESI

+EBX+0x0E

],

0x00A3

JNZ

NO_0512_V

CMP

WORD PTR [ESI

+EBX+0x10

],

0x8A01

JNZ

NO_0512_V

CMP

WORD PTR [ESI

+EBX+0x15

],

0x02A2

JNZ

NO_0512_V

CMP

WORD PTR [ESI

+EBX+0x17

],

0xB801

JNZ

NO_0512_V

/

*

found

*

/

MOV

NO_VIR, V_0512

JMP

END_0512_V

NO_0512_V:

MOV

NO_VIR, 0

END_0512_V:

26

脚本病毒的特征字串选取

. 注意特征字串的选取,要考虑大小写无关

. 所有的语句都可能是正常的脚本所可能用

到的,但是脚本病毒在这些语句的逻辑关

系上是存在问题的

. 关键要能够准确判定是“

这个病毒”

,不误

判,且并不要求一个特征字串“

通吃”

所有

的变种。

. 一般选取病毒传播、破坏的关键语句,以

及一些传播过程中不变的语句

范例:LoveLetter

L o v e L e t e r

病毒的查杀代码…

27

木马、黑客程序的特征字串选取

. 特点:整个文件全部是病毒代码

. 一般来说文件头比较“

怪异”

,这主要是在编译过

程中采用特殊的函数库、编译选项等造成的,也

有些是设计者故意这么做的。

. 通常来说,“

PE/0/0

不在16

字节对齐处,即不是

在xxx0H

这样的偏移处开始。

. 特征字串一般看0x003C

处标记的PE

文件头开始

的偏移量,以及PE

文件头中的一些参数。

. 通常还会辅以文件大小为依据。

. 关键要能够准确判定是“

这个病毒”

,不误判,并

不要求一个特征字串“

通吃”

所有的变种。

范例:Klez

K l e z

,

,

Navidad

N a v i d a d

28

虚拟机查毒法

. 原理:在虚拟机环境(Virtual

Machine

)中伪执行计算机病毒程

序,由病毒体本身进行自解密,再

采用其他手段加以查毒。

. 优点:能够对付变形病毒;准确率

. 缺点:效率低;无法针对宏病毒、

网络蠕虫等

29

人工智能陷阱和宏病毒陷阱技术

. 原理:监测计算机内存中程序行

为,依行为模式来侦测已知及未知

的病毒。

. 宏病毒陷阱技术(Macro Trap

)结

合了特征字串匹配法和人工智能陷

阱技术,专门针对宏病毒的检测。

. 优点:可以侦测到各式计算机病毒

. 缺点:程序设计难,不容易考虑周

全;无法应对新的病毒行为特征

30

基于指令统计的“

陷阱”

. 前提假设:病毒对特殊指令使用的

频度与通常程序使用的频度有明显

的不同

. 统计可疑代码中的各种特殊指令的

使用频度,加权后不超过一定限度

认为是可靠的代码,如果超过一定

限度则认为可能是病毒代码

. 可能会有误报,不过少量的误报总

比漏报好

31

基于行为特征的“

陷阱”

. 前提假设:病毒会表现出与正常程

序不同的行为特征,比如改写系统

文件,试图访问其他进程的内存区

. 跟踪可疑代码中的各种行为的发生

率,加权后不超过一定限度认为是

可靠的代码,如果超过一定限度则

认为可能是病毒代码

. 同样可能会有误报,依然认为少量

的误报总比漏报好

32

分析法

. 原理:通过静态分析和跟踪执行,

确定被检测的文件中的病毒。

. 优点:准确率极高;尤其适用于未

知病毒的检测

. 缺点:效率极低;专业知识要求

高;跟踪执行有激活病毒的危险

33

通常分析法采用的技术手段

. 反编译:安全但效率低,枯燥,效果一般

(一定程度上受反编译准确度的影响)

. 跟踪调试:SoftICE

tISECof

、Debug

等,效率一

般,很危险,效果较好

. 监控文件访问、注册表访问:借助外部分

析,效率一般,舍身但未必“

取义成仁”

一般作为辅助手段。

. 对于木马、黑客程序,在虚拟机或者“

罐”

机中让其发作,看行为制定恢复系统

的方法。

34

检查邮件中的病毒

. 邮件中的内容通常经过编码,直接查找

无法发现病毒

. 文本编码方式:UTF-8

、GB2312

、HZ

. 二进制编码方式:base64

、quotededq-

printable

ieanpbtrl

UUCode

. 附件中的病毒:解码后对得到的二进制

文件进行查毒(注意可能是压缩文件,

需要虚拟解压后进一步查毒)

. 作为附属在邮件内部的对象:解码后当

作普通文件进行查毒,需要注意对象调

用时传递的参数。

35

Base64

编码

. 最常用的二进制代码编码方式。

. 它将字符流顺序放入一个

24

位的缓冲区,缺字

符的地方补零。

. 然后将缓冲区截断成为

4

个部分,高位在先,每

个部分

6

位(6

位二进制数可表示0~63

),用替

换表中的64

个字符重新表示。(即:3

个字符变

成4

个字符)

. 如果输入只有一个或两个字节,那么输出将用等

号“

=

补足。

. 替换表:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdef

fIceJaSbdFPBELTZACDNRUVYGHKOQMWX

ghijklmnopqrstuvwxyz0123456789+/

. 例:TVq/yda00NDOxLz+zbc=

为“

MZ

可执行文

件头”

的编码。

36

Quoted-Printable

编码方式

. 主要解决正文中的8-bits

ts8b-字符的编码

. 读一个字符,如果ASCII

ISAC

码大于0x7F

,即

字符的最高位bit

tbi

是1

的话,进行编码,否

则忽略(有时也对7

位字符编码)

. 编码简单地用=XX

的方式,XX

为该字符

的ASCII

ISAC

码的数值

. 编码后的内容含有大量的“

=

. 例:

MZ=BF=C9=D6=B4=D0=

D0

=CE=C4=BC=FE=

CD=B7

为“

MZ

可执行文件头”

的编码。

37

对邮件查杀毒的局限性

. 效率不高

. 需要较大的临时空间进行邮件还原

. 无法针对比较怪异的编码和压缩格

. 不太容易实现对病毒的清除

. 好在邮件系统不是实时的,可以慢

慢查

38

先知(VICE)

扫描法

. VICE: Virus Instruction Code Emulation

. 原理:将专业人员用来判断程序是否存在

病毒代码的方法,分析归纳成专家系统和

知识库,再利用软件模拟技术(Software

Emulation

)伪执行新的计算机病毒,超

前分析出新计算机病毒代码,对付以后的

计算机病毒。

. 优点:

. 缺点:

39

清除病毒

. 能还原的:清除病毒代码,还原原始文

件或数据;如果属于系统文件,还可以

考虑用干净的文件覆盖替换。

. 不能还原的:隔离;删除带毒文件或使

用干净的备份替换。

. 木马、黑客程序等,直接删除,还原被

修改的注册表参数、系统文件和配置等

. 记得打补丁

40

手工清除病毒常用工具

. Debug

、W32dasm

mW32das

等反汇编工具

. 计算器

. IE

、上网工具

. Notepad

、十六进制编辑器(UltraEdit

ltradUEi

. Unpack EXE

knEUX 类的软件(针对被压缩的

EXE

文件),如:upx

unpackExe

xkuenEpac

PKLite

,DisLite

. 编程工具(TurboC

,VC++

等)

. 磁盘扇区读写工具(Norton

DiskEdit

itsdkDiE

之类)

. 各类文档,如:IA32

指令手册、中断手册

(INT function manual

)等

41

还原感染病毒的文件

. 备份感染的文件

. 分析病毒,找到感染方法

. 定位病毒代码的位置

. 找到保存在病毒体内的文件原始信息,

比如程序入口等

. 重新计算文件大小、文件属性等

. 还原被病毒替换的内容,如程序的原始

入口

. “

挖除”

病毒

. 设置正确的文件大小、属性等,善后。

42

还原感染病毒的文件(续)

. 文件大小可能会与未感染的文件原

始大小有出入,一般认为多出不超

过16

个字节是可以接受,但是不能

小于原始大小。

. 注意动手前一定要先备份感染的文

件,以防还原失败后反而丢失数据

或程序不可用。

43

范例:清除0512

病毒(512.com

染毒文件部分debug代码:

0100 E9D862 JMP 63DB ;绿色部分为被病毒修改的内容

...

63DB E80000 CALL 63DE ;红色部分为特征字串

63DE 5E POP SI

63DF 83EE03 SUB SI,+03

63E2 56 PUSH SI

63E3 06 PUSH ES

63E4 50 PUSH AX

63E5 8B84F601 MOV AX,[SI+01F6]

63E9 A30001 MOV [0100],AX

63EC 8A84F801 MOV AL,[SI+01F8]

63F0 A20201 MOV [0102],AL

63F3 B801EE MOV AX,EE01

63F6 CD21 INT 21

63F8 3DFE11 CMP AX,11FE

...

64D0H: 01 E9 2D 0D 53 4C 4F 46 54 58 43 ;蓝色部分为原始文件头

44

范例:清除0512

病毒(512.com

清除方法:

. 获取病毒体内保存的原始文件头(3

个字节,

E9 2D 0D

. 修改染毒文件的文件头跳转指令

. 计算原始文件长度

. 从感染的文件中截断病毒体

. 保存修改后的文件

病毒保存的原始文件头(蓝色部分)在文件中

的偏移地址:

63DB

0100 + 01F6 = 64D1H

45

范例:清除Flowers

病毒(EXE

文件)

0138 5E POP SI

0139 56 PUSH SI

013A 81EE9D00 SUB SI,009D

013E C3 RET

013F 06 PUSH ES

0140 2BC0 SUB AX,AX

0142 8EC0 MOV ES,AX

0144 BF8400 MOV DI,0084

0147 26 ES:

0148 8B05 MOV AX,[DI]

014A 26 ES:

014B 8B5D02 MOV BX,[DI+02]

014E 53 PUSH BX

014F 07 POP ES

0150 8BF8 MOV DI,AX

0152 26 ES:

0153 8B4505 MOV AX,[DI+05]

0156 3DFB80 CMP AX,80FB

0159 7403 JZ 015E

015B EB08 JMP 0165

015D 90 NOP

015E 26 ES:

015F 8B4507 MOV AX,[DI+07]

0162 3DFCFA CMP AX,FAFC

0165 07 POP ES

0166 C3 RET

感染文件部分debug代码:

0000 E98D00 JMP 0090

...

0090 06 PUSH ES

0091 90 NOP

0092 90 NOP

0093 1E PUSH DS

0094 8CC0 MOV AX,ES

0096 0E PUSH CS

0097 1F POP DS

0098 0E PUSH CS

0099 07 POP ES

009A E89B00 CALL 0138

009D 89847800 MOV [SI+0078],AX

00A1 8CD0 MOV AX,SS

00A3 89846E00 MOV [SI+006E],AX

00A7 E89500 CALL 013F

00AA 7406 JZ 00B2

00AC E85E02 CALL 030D

00AF E87702 CALL 0329

00B2 80BC630600 CMP BYTE PTR [SI+0663],00

00B7 7505 JNZ 00BE

(接下页)

46

范例:清除Flowers

病毒(续上页)

00E2 1F POP DS

00E3 07 POP ES

00E4 2E CS:

00E5 8BA47600 MOV SP,[SI+0076]

00E9 8CC2 MOV DX,ES

00EB 83C210 ADD DX,+10

00EE 8BDA MOV BX,DX

00F0 2E CS:

00F1 03947400 ADD DX,[SI+0074]

00F5 8ED2 MOV SS,DX

00F7 2E CS:

00F8 039C2400 ADD BX,[SI+0024]

00FC 2E CS:

00FD 899C2800 MOV [SI+0028],BX

0101 2E CS:

0102 FFAC2600 JMP FAR [SI+0026]

很显然:

DWORD ptr [SI+0026]就是原始的程序入口CS:IP

DWORD ptr [SI+0074]就是原始的SS:SP

(续上页)

00B9 B8004C MOV AX,4C00 ;exit(0)

00BC CD21 INT 21

00BE 80BC630643 CMP BYTE PTR [SI+0663],43

00C3 751D JNZ 00E2 ;不是C,即EXE文件

00C5 1F POP DS

00C6 07 POP ES

00C7 0E PUSH CS

00C8 1F POP DS

00C9 8BDE MOV BX,SI

00CB BF0001 MOV DI,0100

00CE BE0C00 MOV SI,000C

00D1 03F3 ADD SI,BX

00D3 B90300 MOV CX,0003

00D6 F3 REPZ

00D7 A4 MOVSB

00D8 8BF3 MOV SI,BX

00DA 06 PUSH ES

00DB 1F POP DS

00DC 0E PUSH CS

00DD B80001 MOV AX,0100 ;com文件入口

00E0 50 PUSH AX ;CS:0100

00E1 CB RETF

47

范例:清除Flowers

lseroFw

病毒(续)

. 清除方法(EXE

文件)

. 得到病毒体的开头位置

. 恢复被病毒修改的EXE

文件头中的SS:SP

,CS:IP

. 重新计算文件大小,填入文件头

. 重写exe

程序文件头

. 从病毒开始处截断,清除病毒体

. 记住:先备份后动手

. Checksum

可以不去管它,反正操作系统不做验证

. 思考:如果感染的是COM

文件,如何清

除?

. 提示:原始的com

文件头被病毒藏在了哪里?

阅读查杀代码…

48

还原被病毒修改的注册表参数

. 根据需要先打补丁,再清除

. 杀除病毒进程,清除病毒,必要的话进

入安全模式清除病毒

. 删除病毒的自动加载项(run

等分支)

. 还原exefile

ilfexe

等文件关联

. 恢复IE

的缺省页面设置

. 删除系统钩子、BHOs

. 检查Winlogon

中的shell=

和userinit

iternuis

=

49

还原被病毒修改的注册表参数(续)

. 检查其他异常情况,比如被替换的系统

文件等

. 一般可以参考2

家反病毒厂商网上公布的

手工清除方法

. 也可以使用专杀工具,但还是需要更新

病毒代码库

. 通常杀毒软件或专杀工具无法很彻底地

清除被病毒修改的注册表内容,所以还

是需要手工确认。

50

预防病毒

. 硬件防毒还是软件防毒?

. 早期有一种硬件防毒卡

. 硬件显然自身的强壮性很好,但是

不适应病毒的发展,更新麻烦

. 现在大多采用软件防毒

. 软件防毒:实时自动防护和手工扫

描相结合

51

通常的反病毒软件组成

. 查杀毒引擎

. 病毒特征库

. 实时自动防护(real-time protect,

有时也

称病毒防火墙)

. 手工扫描(On Demand Scan

. 报警管理模块

. 自动升级模块

. 管理通信模块(包括配置、定时调度,等

等)

. 其他额外的功能,比如个人防火墙、注册

表监视等

52

操作系统

用户级

Ring 3

通常的反病毒软件组成

病毒特征库

手工扫描

管理通信模块自动升级模块

实时自动防护

(病毒防火墙) 内核级

Ring 0

硬盘上的文件

报警管理模块查杀毒引擎

中央控管服务器升级服务器

53

实时自动防护功能

. 驻留内存的病毒检查程序

. 好似岗哨,实时检查文件的读写、网络

的访问以及进程的内存空间访问等

. 优点:实时检查、及时发现病毒并能够

采取措施防止病毒感染

. 缺点:占用系统资源、有可能会被屏蔽

(绕过)

. 一般都有一个嵌入系统内核级的模块

54

实时自动防护工作原理

. 用嵌入系统内核级的模块(驱动程序)

获得Ring 0

级的系统操作权限

. Windows 9x

系统下通过VxD

实现,应用

程序通过

DeviceIoControl

IcerovDilnCt

与底层驱动通

信。

. Windows NT/2000/XP/2003

通过WDM

MWD

口实现。

. 拦截所有的文件操作,根据需要在进行

实际操作之前进行病毒的扫描,并对含

病毒文件的操作请求进行阻止。

55

WDM

MWD

驱动程序栈模型

驱动程序栈

Ring 3

Ring 0

56

在线查毒(Online Virus scan

. 等同于在线下载查毒引擎和病毒库+

扫描

病毒

. 通过IE

浏览器访问特定网页,下载

ActiveX

控件包,控件包中含有查毒引擎

和流行病毒特征字串库。

. 通过浏览器对控件的加载执行,能够监

测到大多数的流行病毒。

57

在线查毒(Online Virus scan

. 一般来说功能单一,只有查毒功能

. 针对流行病毒,病毒库并不涵盖所有病毒

的特征字串

. 优点:用较小的代价获得较好的结果

. 缺点:不能检测所有病毒;无法杀除病

毒;一般没有采用启发式的方法检测未知

病毒;可能受客户端浏览器设置的限制而

无法正常工作。没有实时自动防护功能

分享到:
评论

相关推荐

    恶意代码分析实战课后练习

    恶意代码分析实战的课后资料,如果有兴趣的同学可以下载,然后通过7z解压,

    《黑客免杀攻防》任晓珲 著

    不仅从攻击者(黑客)的视角全方位揭示了黑客免杀技术的常用方法、常用技术和思想原理,还从防御者(反病毒工程师)的视角深入讲解了遏制免杀技术的具体方法策略。从纯技术的角度讲,本书不仅详细讲解了免杀技术的...

    [Windows.PE权威指南].戚利.扫描版.part1

    实战性强,以案例驱动的方式讲解了windows pe文件格式在加密与解密、软件汉化、逆向工程、反病毒等安全领域的应用,不仅每个知识点都配有小案例,而且还有多个完整的商业案例。 《windows pe权威指南》共分为三大...

    Windows PE权威指南 高清pdf 带书签 带源码

    详尽地剖析了Windows PE文件格式的原理及其编程技术,涉及安全领域的各个方面和Windows系统的进程管理和底层机制:实战性强,以案例驱动的方式讲解了Windows PE文件格式在加密与解密、软件汉化、逆向工程、反病毒等...

    《暗战强人-黑客及反黑客工具快速精通》武新华[.PDF]

    包括:黑客文化漫谈、黑客入侵前的准备、嗅探与扫描技术、欺骗与攻击技术、拒绝服务攻击技术、Web攻击技术、常见软件安全攻防、日志与后门清除技术、网络安全防御、病毒技术及其防御、木马入侵与清除技术、防火墙与...

    天书夜谈:从汇编语言到Windows内核编程

     第14章 反病毒、木马实例开发 200  14.1 反病毒、木马的设想 201  14.2 开发内核驱动 204  14.2.1 在内核中检查可执行文件 204  14.2.2 在内核中生成设备接口 208  14.2.3 在内核中等待监控进程的响应 210  ...

    天书夜读:从汇编语言到Windows内核编程(完整版一)

     第14章 反病毒、木马实例开发 200  14.1 反病毒、木马的设想 201  14.2 开发内核驱动 204  14.2.1 在内核中检查可执行文件 204  14.2.2 在内核中生成设备接口 208  14.2.3 在内核中等待监控进程的响应 210  ...

    天书夜读:从汇编语言到Windows内核编程(完整版 二)

     第14章 反病毒、木马实例开发 200  14.1 反病毒、木马的设想 201  14.2 开发内核驱动 204  14.2.1 在内核中检查可执行文件 204  14.2.2 在内核中生成设备接口 208  14.2.3 在内核中等待监控进程的响应 210  ...

    《安天365安全研究》第二期.pdf

    1.1《黑客攻防实战——web 漏洞挖掘与利用》图书 1.2 安天实战课题研究 2017 年第二期内网渗透技术题目 1.3 关于安天 365 线下和线下交流 1.4 已出版图书 第 2 部分技术研究文章 2.1 最新勒索软件 WannaCrypt 病毒...

    【软件加密_技术内幕】

    [Trial version] 《COM 原理与应用》学习笔记 - 第一部分 COM原理.htm [Trial version] 附录D 通过崩溃地址找出出错的代码行 [Trial version] 如何通过崩溃地址找到出错的代码行.htm [Trial version] 附录E 堆栈...

Global site tag (gtag.js) - Google Analytics