反病毒理念、历史、现状与未来
场景:反病毒理念、历史、现状与未来(zt)解决思路
反病毒理念、历史、现状与未来(zt)
原文:http://www.xfocus.net/articles/200612/896.html
创建时间:2006-12-31 更新时间:2006-12-31
文章属性:原创
文章提交:killer (killer_at_xfocus.org)
反病毒理念、历史、现状与未来
killer <killer②xfocus.org>
注:图片不方便显示,PDF版下载:http://killer.9i3g.cn/tmp/AVhistory&future_killer.pdf
一、玩的就是概念:
AV是我习惯的简写,全名应该叫Anti-Virus,从这个英语字面含义和一些对反病毒历史的追溯,我发现最初人们想表现的并不是杀毒,今天我们总是习惯叫杀毒软件,其实是不准确的。Anti的本意是抵制、防护,它应该叫抗病毒,或者防病毒。不论抗或者防都说明对病毒的未雨绸缪。杀毒则是一种后发补救的策略,虽说亡羊补牢犹未晚,但毕竟还是有一些损失的。
叫杀毒软件则是典型的中国特色,比如健康,中国人一般平时是不太注意健康的,等到有病了才要去看病。中国的反病毒公司出于宣传效果需要,就必然要搞的威风凛凛,给AV技术带来一层杀气腾腾的神秘色彩。
说起概念,我很欣赏一些国外的宣传,这里不防就给NAV做个广告:
[img]http://killer.9i3g.cn/imgage/aver/Symentec1.jpg[/img]
看到没,上面这图就是Symentec给自己做的宣传页,诺顿在发布会上用瑜伽诠释了它的文化“自由分享,安心沟通”,瑜伽的充分舒展身体,意味着自由,意味着无限延伸。
如今的网络你可以安心沟通么?显然不能!网络上广告满天飞,流氓插件群魔乱舞,垃圾邮件像一只只马蜂乱蛰,一些“黑客”整天无聊的扫来扫去,D站D得不亦乐乎。这个时候,你认为你需要的,显然不是浪费时间和精力的去检查,去杀灭,你希望的也许是一个安心的防护套件,让我们可以自由、安心的冲浪。
反病毒理念的不同造就各种不同的反病毒产品,不过上天有好生之德,本文作者亦本着万物以自己的喜好为准,所以并不特别推荐你用哪种AV,也请勿问我。
二、混沌初开:
自从盘古开天辟地的以来,出来了两个神仙级的人物,一个被人称为Doctor Soloman,一个叫Eugene Kaspersky,另外还有两个叫Peter Norton和Mcafee。这几位神仙有感人间妖风阵阵^-^,病毒横行。决定制定一套法典,用来解救世人,于是他们的研究,促成了当年反病毒理论的基础。这些基础理论,经过后来的一些教授、专家们推广开来,就形成了今天的反病毒体系。
在那个时代,还有无数的高人,自己苦心孤诣的修炼,但终因天资所限、时不与我,或者剑走偏锋,步步险招,无法修炼成正果。
远古的反病毒软件主要有:
Anti-virus collection by V.Bontchev
F-Prot
File Shiled by McAfee
NOD of Slovak AV
TbScan
AVP by E.Kaspersky
Dr.Web by Igor Daniloff
Norton AV
Solomon 's Toolkit
LEVEL3 virus dedicated AV by SAC
IBM Anti-Virus
除了这些,还有更多的针对某个病毒的专杀,这里就不一一列出了。值得注意的是:我在这里尽量列出今天你还能熟知的名字,然而尽管我努力,历史终究是无情的。你在上面看到的,一部分和大多数我没列出来的已经成为遥远的过去,只有像我这样喜欢怀旧的人,偶尔会想起那些曾经的同病毒决战的侠士。
最初病毒不多,能掌握写病毒会被人视为天才,好像现在还是这样?大家的抗病毒办法都是针对一个个病毒写专杀,后来因为病毒多了,大家开始编写类似批处理的脚本,这样用户在选择1 2 3 菜单来选择查杀哪个病毒,这本质还是一对一的检测方式。
还有多少朋友记得DOS中那个编制菜单用来选择的命令?
早期的AV几乎都是这样过来的,但是随后神仙们发现这样做不行,病毒数量膨胀的太快,文件格式具备通用处理过程,每次的专杀都有一些重复工作的地方。所以神仙们的反病毒理论逐渐浮出水面,这个时候,开始形成了通用反病毒技术。整个的针对大量的病毒的处理,也开始了模块化分工,扫描/清除,文件修复等。
于是AV开始转型,具备扫描模块、清除模块、特征库,AV外围技术也开始如火如荼的发展起来,主动监控、完整性检查、免疫技术等等。
下面这一段就是最初一个完整的用来清除引导病毒的AV源代码:
=====================================================================
.model tiny
.radix 16
.code
org 100
start:
mov dx,offset message
mov ah,09
int 21
xor ax,ax
int 16
or al,20
cmp al, 'y '
je Goforit
mov dx,offset notdone
mov ah,09
int 21
mov ax,4c01
int 21
GoForIt:
xor ax,ax
mov ds,ax
mov ax,word ptr ds:[413]
mov cs:ConvMEM,ax
mov di,offset Int13
mov si,13*4
movsw
movsw
push cs
pop ds
cmp ConvMem,280
je RegConvMem
mov ah,09
mov dx,offset StrangeConv
int 21
RegCOnvMem:
mov ax,0201
mov bx,offset OrgSector
mov cx,1
mov dx,80
int 13
call TunnelInterrupts
mov ax,0201
mov bx,offset NewSec
mov cx,1
mov dx,80
int 13
push cs cs
pop es ds
mov di,offset NewSec
mov si,offset OrgSector
mov cx,200
repz cmpsb
jcxz NoDifference
mov ax,0301
mov bx,offset OrgSector
mov cx,1
mov dx,80
int 13
mov ah,3c
mov dx,offset sample
xor cx,cx
int 21
xchg bx,ax
mov ah,40
mov dx,offset NewSec
mov cx,200
int 21
mov ah,3e
int 21
LOCKEMIN:
cli
mov ah,09
mov dx,offset fixed
int 21
xor ax,ax
int 16
jmp LOCKEMIN
Nodifference:
mov ah,09
mov dx,offset noprob
int 21
mov ax,4c00
int 21
TunnelInterrupts:
push ax bx cx dx es ds si di
xor ax,ax
mov ds,ax
push word ptr ds:[04]
push word ptr ds:[06]
cli
mov word ptr ds:[04],offset Int1
mov word ptr ds:[06],cs
pushf
pushf
pop ax
or ax,100
push ax
popf
xor ax,ax
call dword ptr cs:[int13] ;tunnel interrupt 13
pushf
pop ax
and ax,0feff
push ax
popf
ExitTunnel:
les bx,dword ptr cs:[Root13]
cli
xor ax,ax
mov ds,ax
pop word ptr ds:[06]
pop word ptr ds:[04]
mov word ptr ds:[13*4],bx
mov word ptr ds:[13*4+2],es
sti
pop di si ds es dx cx bx ax
ret
Int1:
cmp cs:found,1
je exitint1
push bp
mov bp,sp
push ax bx cx dx es ds si di
mov ax,ss:[bp+2]
mov cx,4
shr ax,cl
add ax,ss:[bp+4]
cmp ax,0c000
jb DoneInt1
mov cs:found,1
les bx,SS:[bp+2]
mov word ptr cs:[Root13],bx
mov word ptr cs:[Root13+2],es
DoneInt1:
pop di si ds es dx cx bx ax bp
exitint1:
iret
StrangeConv db 0a,0dh, 'Conventional Memory Suspicious. ',0a,0dh,24
Fixed db 0a,0dh, 'Virus Cleaned - sample saved in VIRUS.MBR . ',0a,0dh
db 'Now COLD REBOOT IMMEDIATELY!!!!!!!!!!!!!!!! ',0a,0dh,24
NoProb db 0a,0dh, 'No Stealthing Detected. No Action Taken. ',0a,0dh,24
notdone db 0a,0dh, 'No Action Taken. ',0a,0dh,24
Message:
db 0a,0dh
db '--==[Stormbringer ' 's Instant Stealth MBR Virus Remover.]==-- ',0a,0dh
db ' USE AT YOUR OWN RISK! RTFM Before Using! ',0a,0dh
db 0a,0dh, 'Continue (y/N) ',24
sample db 'Virus.MBR ',0
found db 0
NewSec db 200 dup(?)
OrgSector db 200 dup(?)
Int13 dd ?
Root13 dd ?
ConvMem dw ?
end start
------解决方案--------------------
第一次看到
------解决方案--------------------
两个月前看过,也是病毒高发时期,而且貌似局限在国内。
现在有略显平静下来的迹象。
------解决方案--------------------
学习
反病毒理念、历史、现状与未来(zt)
原文:http://www.xfocus.net/articles/200612/896.html
创建时间:2006-12-31 更新时间:2006-12-31
文章属性:原创
文章提交:killer (killer_at_xfocus.org)
反病毒理念、历史、现状与未来
killer <killer②xfocus.org>
注:图片不方便显示,PDF版下载:http://killer.9i3g.cn/tmp/AVhistory&future_killer.pdf
一、玩的就是概念:
AV是我习惯的简写,全名应该叫Anti-Virus,从这个英语字面含义和一些对反病毒历史的追溯,我发现最初人们想表现的并不是杀毒,今天我们总是习惯叫杀毒软件,其实是不准确的。Anti的本意是抵制、防护,它应该叫抗病毒,或者防病毒。不论抗或者防都说明对病毒的未雨绸缪。杀毒则是一种后发补救的策略,虽说亡羊补牢犹未晚,但毕竟还是有一些损失的。
叫杀毒软件则是典型的中国特色,比如健康,中国人一般平时是不太注意健康的,等到有病了才要去看病。中国的反病毒公司出于宣传效果需要,就必然要搞的威风凛凛,给AV技术带来一层杀气腾腾的神秘色彩。
说起概念,我很欣赏一些国外的宣传,这里不防就给NAV做个广告:
[img]http://killer.9i3g.cn/imgage/aver/Symentec1.jpg[/img]
看到没,上面这图就是Symentec给自己做的宣传页,诺顿在发布会上用瑜伽诠释了它的文化“自由分享,安心沟通”,瑜伽的充分舒展身体,意味着自由,意味着无限延伸。
如今的网络你可以安心沟通么?显然不能!网络上广告满天飞,流氓插件群魔乱舞,垃圾邮件像一只只马蜂乱蛰,一些“黑客”整天无聊的扫来扫去,D站D得不亦乐乎。这个时候,你认为你需要的,显然不是浪费时间和精力的去检查,去杀灭,你希望的也许是一个安心的防护套件,让我们可以自由、安心的冲浪。
反病毒理念的不同造就各种不同的反病毒产品,不过上天有好生之德,本文作者亦本着万物以自己的喜好为准,所以并不特别推荐你用哪种AV,也请勿问我。
二、混沌初开:
自从盘古开天辟地的以来,出来了两个神仙级的人物,一个被人称为Doctor Soloman,一个叫Eugene Kaspersky,另外还有两个叫Peter Norton和Mcafee。这几位神仙有感人间妖风阵阵^-^,病毒横行。决定制定一套法典,用来解救世人,于是他们的研究,促成了当年反病毒理论的基础。这些基础理论,经过后来的一些教授、专家们推广开来,就形成了今天的反病毒体系。
在那个时代,还有无数的高人,自己苦心孤诣的修炼,但终因天资所限、时不与我,或者剑走偏锋,步步险招,无法修炼成正果。
远古的反病毒软件主要有:
Anti-virus collection by V.Bontchev
F-Prot
File Shiled by McAfee
NOD of Slovak AV
TbScan
AVP by E.Kaspersky
Dr.Web by Igor Daniloff
Norton AV
Solomon 's Toolkit
LEVEL3 virus dedicated AV by SAC
IBM Anti-Virus
除了这些,还有更多的针对某个病毒的专杀,这里就不一一列出了。值得注意的是:我在这里尽量列出今天你还能熟知的名字,然而尽管我努力,历史终究是无情的。你在上面看到的,一部分和大多数我没列出来的已经成为遥远的过去,只有像我这样喜欢怀旧的人,偶尔会想起那些曾经的同病毒决战的侠士。
最初病毒不多,能掌握写病毒会被人视为天才,好像现在还是这样?大家的抗病毒办法都是针对一个个病毒写专杀,后来因为病毒多了,大家开始编写类似批处理的脚本,这样用户在选择1 2 3 菜单来选择查杀哪个病毒,这本质还是一对一的检测方式。
还有多少朋友记得DOS中那个编制菜单用来选择的命令?
早期的AV几乎都是这样过来的,但是随后神仙们发现这样做不行,病毒数量膨胀的太快,文件格式具备通用处理过程,每次的专杀都有一些重复工作的地方。所以神仙们的反病毒理论逐渐浮出水面,这个时候,开始形成了通用反病毒技术。整个的针对大量的病毒的处理,也开始了模块化分工,扫描/清除,文件修复等。
于是AV开始转型,具备扫描模块、清除模块、特征库,AV外围技术也开始如火如荼的发展起来,主动监控、完整性检查、免疫技术等等。
下面这一段就是最初一个完整的用来清除引导病毒的AV源代码:
=====================================================================
.model tiny
.radix 16
.code
org 100
start:
mov dx,offset message
mov ah,09
int 21
xor ax,ax
int 16
or al,20
cmp al, 'y '
je Goforit
mov dx,offset notdone
mov ah,09
int 21
mov ax,4c01
int 21
GoForIt:
xor ax,ax
mov ds,ax
mov ax,word ptr ds:[413]
mov cs:ConvMEM,ax
mov di,offset Int13
mov si,13*4
movsw
movsw
push cs
pop ds
cmp ConvMem,280
je RegConvMem
mov ah,09
mov dx,offset StrangeConv
int 21
RegCOnvMem:
mov ax,0201
mov bx,offset OrgSector
mov cx,1
mov dx,80
int 13
call TunnelInterrupts
mov ax,0201
mov bx,offset NewSec
mov cx,1
mov dx,80
int 13
push cs cs
pop es ds
mov di,offset NewSec
mov si,offset OrgSector
mov cx,200
repz cmpsb
jcxz NoDifference
mov ax,0301
mov bx,offset OrgSector
mov cx,1
mov dx,80
int 13
mov ah,3c
mov dx,offset sample
xor cx,cx
int 21
xchg bx,ax
mov ah,40
mov dx,offset NewSec
mov cx,200
int 21
mov ah,3e
int 21
LOCKEMIN:
cli
mov ah,09
mov dx,offset fixed
int 21
xor ax,ax
int 16
jmp LOCKEMIN
Nodifference:
mov ah,09
mov dx,offset noprob
int 21
mov ax,4c00
int 21
TunnelInterrupts:
push ax bx cx dx es ds si di
xor ax,ax
mov ds,ax
push word ptr ds:[04]
push word ptr ds:[06]
cli
mov word ptr ds:[04],offset Int1
mov word ptr ds:[06],cs
pushf
pushf
pop ax
or ax,100
push ax
popf
xor ax,ax
call dword ptr cs:[int13] ;tunnel interrupt 13
pushf
pop ax
and ax,0feff
push ax
popf
ExitTunnel:
les bx,dword ptr cs:[Root13]
cli
xor ax,ax
mov ds,ax
pop word ptr ds:[06]
pop word ptr ds:[04]
mov word ptr ds:[13*4],bx
mov word ptr ds:[13*4+2],es
sti
pop di si ds es dx cx bx ax
ret
Int1:
cmp cs:found,1
je exitint1
push bp
mov bp,sp
push ax bx cx dx es ds si di
mov ax,ss:[bp+2]
mov cx,4
shr ax,cl
add ax,ss:[bp+4]
cmp ax,0c000
jb DoneInt1
mov cs:found,1
les bx,SS:[bp+2]
mov word ptr cs:[Root13],bx
mov word ptr cs:[Root13+2],es
DoneInt1:
pop di si ds es dx cx bx ax bp
exitint1:
iret
StrangeConv db 0a,0dh, 'Conventional Memory Suspicious. ',0a,0dh,24
Fixed db 0a,0dh, 'Virus Cleaned - sample saved in VIRUS.MBR . ',0a,0dh
db 'Now COLD REBOOT IMMEDIATELY!!!!!!!!!!!!!!!! ',0a,0dh,24
NoProb db 0a,0dh, 'No Stealthing Detected. No Action Taken. ',0a,0dh,24
notdone db 0a,0dh, 'No Action Taken. ',0a,0dh,24
Message:
db 0a,0dh
db '--==[Stormbringer ' 's Instant Stealth MBR Virus Remover.]==-- ',0a,0dh
db ' USE AT YOUR OWN RISK! RTFM Before Using! ',0a,0dh
db 0a,0dh, 'Continue (y/N) ',24
sample db 'Virus.MBR ',0
found db 0
NewSec db 200 dup(?)
OrgSector db 200 dup(?)
Int13 dd ?
Root13 dd ?
ConvMem dw ?
end start
------解决方案--------------------
第一次看到
------解决方案--------------------
两个月前看过,也是病毒高发时期,而且貌似局限在国内。
现在有略显平静下来的迹象。
------解决方案--------------------
学习