病毒技术与杀毒软件原理.docx
《病毒技术与杀毒软件原理.docx》由会员分享,可在线阅读,更多相关《病毒技术与杀毒软件原理.docx(6页珍藏版)》请在冰点文库上搜索。
![病毒技术与杀毒软件原理.docx](https://file1.bingdoc.com/fileroot1/2023-7/5/eb942efb-085b-4454-96de-a2bd7ed57c02/eb942efb-085b-4454-96de-a2bd7ed57c021.gif)
病毒技术与杀毒软件原理
病毒技术与杀毒软件原理
1.常识:
1.1计算机之所以能完成一系列的操作,其实是在执行程序员为其编写的一系列指令,通过执行这些指令来完成操作。
而病毒也是一组由病毒编写者为计算机精心编写的指令。
只不过这段指令会造成计算机或用户的损失,所以称之为病毒(跟“感冒”一样,呜呜)。
1.2(可执行应用程序)、(驱动文件)、(动态链接库):
这三类文件在编程界中程为(“”,可移植的可执行文件),这些文件中有自己的格式,由不同的数据类型组成。
这些数据类型中包含着文件加载时需要的信息。
如效验标志:
、。
1.3:
一个程序启动时执行第一条指令的地址。
1.4病毒和木马的区别:
大部分病毒与木马都是用来破坏系统与盗取用户信息的,反正都不是什么好货,你懂的。
。
。
。
1.5劫持技术:
加载器将可执行模块映射到进程的地址空间时,会设法找出该程序依赖的所有动态库并把它们加载到进程的控制,如果我们伪造一个类型的动态库的话,那可执行文件就会加载我们自己的,就达到了劫持的目的。
1.6病毒库:
病毒库是针对特征码扫描技术编写的一个庞大的数据库,里面存放了大量病毒文件的特征码。
1.7加壳:
加壳分为几种,有压缩壳、加密壳、保护壳、捆绑壳。
1.7.1压缩壳:
大家都用过压缩软件吧。
一些很大的程序因为网络传输速率原因,通常会将压缩后在发布到网上供大家下载。
压缩壳也是一样,可以把一些较大的程序通过壳的作者自己的一套算法将文件变小。
1.7.2加密壳:
一些商业软件中经常会有些不希望别人看到的东西,逆向工程师会通过逆向分析来得到这些数据,加密壳就是用来保护这些商业、私人秘密不被泄露的。
它在软件内部通过加花(加花的原理就是:
原本你从碧机关走到车家壁要10分钟,但加花后出现了很多路,虽然终点不变,但拖慢了你到达的时间)或修改关键地点指令将代码保护起来,达到加密的目的。
1.7.3保护壳:
与加密壳类似
捆绑壳:
将一个文件捆绑到另外一个文件中,其目的是在这个文件运行时,文件也跟着运行(这种技术一般在病毒中运用广泛)
1.7.4不管加什么壳,最终都要保证程序能正常运行。
否则都是浮云
1.8脱壳:
脱壳说通俗点就是把别人穿好的衣服在扒下来(这是通俗还是粗俗。
。
额。
。
。
我考虑下。
。
)
1.9免杀:
免杀,顾名思义就是让杀毒软件不对你的软件进行报毒。
2.病毒发展
从病毒发展至今经过多个时代的演变与发展,从、到现今最常用的。
本文仅讲解平台下的病毒。
2.1病毒种类
2.1.1病毒种类分为:
感染型、破坏型、窃似型、混合型等。
其中感染型最难清除,破坏型以及窃似型对计算机用户的危害更大。
2.1.1.1感染性的病毒有:
U盘病毒、病毒、文件感染病毒、压缩包感染病毒等。
这类病毒将自身或自身的一部分带破坏性质的功能增加到新文件或宿主文件中,以至于某些杀毒软件清除后依然残留一些病毒样本在计算机中。
如若不慎,病毒将死灰复燃,继续感染计算机。
如病毒,这种病毒是个动态链接库,该动态库就运用了“常识”中的劫持技术,它会感染压缩包,如果压缩包中某个地方存在可执行文件的话则在这个地方增加一个相同的文件。
有些杀毒软件不会扫描压缩包,那么当你解压后运行文件,这个病毒就将执行。
可幸的是这些病毒一般来说不会造成过大的经济损失。
2.1.1.2破坏性、窃似型病毒有:
病毒、远程控制、盗号木马、键盘记录等。
这类病毒一般自我保护较强,通常会运行新颖技术阻止杀毒软件的运行。
下面将一一介绍。
2.1.1.3病毒:
它通过驻留硬盘0柱面0磁道1扇区这个位置,因为其比操作系统更先运行,所以可以进行随意操控系统,到达控制系统的目的,在这种情况下,杀毒软件也无济于事。
2.1.2远程控制:
这类程序通常称为木马程序,其原理通过进行远程控制。
主要作用为:
下载文件、上传文件,远程修改注册表,远程执行指令,远程屏幕监控,音频监控,远程摄像头监控,远程键盘记录等等。
其危害较大,大家可以想象一下,如若您在家躺在床上登陆时,别人正在千里之外通过音频监控听着您放着的歌、通过屏幕监控看着您屏幕上的每一步操作,通过键盘记录查看到您按下的每一个密码,通过摄像头监控看到您刚睡醒时的样子,通过文件管理系统找到你电脑里所有的电影格式的文件(嘿嘿,你懂的!
!
)那将会是什么样。
如果你觉得不值钱,那么网银呢?
。
。
。
。
。
所以说这类软件的危害较大,但如果您没有联网的话这类病毒也就没用了(这里不考虑局域网的情况,靠!
谁会在局域网里远程控制你啊。
)。
。
。
由于该类会造成较大的经济损失,所以大部分杀毒软件进行了流量监控、端口监控等等的过滤操作。
2.2盗号木马于键盘记录类似于远程控制,其功能是远程控制中的一个小模块,当然也可以分开。
这里就不详细解释。
2.3混合型是以上两类的集合,这里不在叙述。
2.4常见病毒
2.4.1在学校机房内,最常见的“U盘病毒”以及“”两种,U盘病毒在机房中的免疫方式是在磁盘根目录下生成相应名称的文件夹并设置文件夹属性为系统、隐藏、只读,以至于病毒在释放文件时已经存在这个名称的文件了,所以病毒则傻傻的感染别的地方去了(别的地方也一样,别瞎折腾了),这种方式虽然有效,但如果病毒换个名字,那这种方法则失效了。
3.杀毒软件发展
杀毒软件跟病毒一样,也经过了几个时代的变迁。
下面简单介绍一些:
3.1静态特征码扫描:
这种技术实现起来并不困难。
特征码提取:
一个病毒分析工程师拿到了病毒样本,通过对这种类型的病毒样本的逆向分析厚,得到一些相同功能的指令进行过滤、提取,特征码就得到了。
。
特征码扫描:
打开一个文件,把文件中的内容读入内存,然后寻找提取到的那串特征码,如果找到则判断文件时病毒。
优点:
如果特征码提取得当,这种方式的精确度较高。
缺点:
需要不断提取病毒样本特征码,不能迅速防御刚上市的病毒(样本都没拿到防你妹啊。
。
),病毒库太大,扫描速度过慢
还有,,某些杀软竟然根据文件名进行杀毒,如大名鼎鼎的*6*。
突破方法:
加壳、加密、加花、修改特征码、改文件名
3.2实时监控:
因为特征码扫描不能监控较新的病毒,所以推出了这种杀毒模式,实时监控大家都能想到,通过监视软件的行为。
进行管理,如果越过了杀软设计人员规定的那条小线线,那么你就可以看到右下角跳出一个小框框告诉你:
“我是某某某杀毒,我检测到您的计算机里有个什么什么病毒程序,它做了什么什么操作,是否要删除该文件。
”
优点:
这类杀毒软件对一些未知的病毒有明显效果。
缺点:
因为其要进行实时监控(嗯..就是每时每刻都监控,,,群众:
泥马,废话那么多,我会不知道吗?
),如果处理不好,会严重浪费系统资源(这就是系统中安装了某些杀软后,比中病毒了还慢的原因)。
而且会因为某些原因造成软件的不兼容。
突破方法:
捆绑到外挂上,在外挂的说明中注明:
由于本程序使用了新颖技术,所以杀软会阻止程序的运行,如果要使用本程序需结束杀毒软件。
。
。
由于用户用挂心切,所以。
。
。
。
哈哈哈哈哈
3.3启发式扫描:
动态启发检测主要基于反病毒虚拟机技术。
通过模拟、部分计算机硬件和操作系统构造一个反病毒虚拟机,然后把待检测程序加载到该仿真的系统中运行。
虚拟机中设置有若干行为和怪异特性监控点,对程序行为和怪异特征侦查病毒。
由于被检测程序是在虚拟机中运行的,病毒并不会威胁真实计算机。
优点:
精度较高,不会对真机造成伤害。
缺点:
实现难度高,需要模拟每一条指令的执行、效率较低。
突破方法:
由于虚拟机不可能模拟每一条指令的执行,所以可以在程序中加入一些特别的机器指令,让虚拟机解析失败。
3.4云安全:
现在大多数杀毒软件中的云安全并不是真正的云的概念,这些杀毒软件中的云安全只是把一些可疑的软件上传到服务器,通过病毒分析师的分析后制作出特征码或行为序列。
加上云的概念是因为:
一个人上传样本太少,如果一万个人都在上传,那么样本就多了。
但某些杀毒软件并不分析软件的过程而直接把软件加入黑名单,如:
3**等。
。
优点:
样本多!
(样本多有鸟用,你有那么多人分析么?
)其他的、、、嗯,,我还没想到
缺点:
占网速啊大哥。
你不信试试加入3**的云计划后扫描下病毒,网速慢的让你连都会掉线。
突破方法:
你妹的,我把软件弄到1G,我就不信你还给我传上去。
啊哈哈哈哈
3.55扫描:
5是的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数)。
因为其的不可逆性,成为了杀毒软件查杀病毒的一项技术,杀毒软件将一个软件定义为病毒后,提取它的5代码,在扫描文件时直接提取5码在病毒库中判断,如果存在则报毒。
优点:
精度高,因为没有不同的文件能计算出相同的5码,所以该方式比特征码方式更精确。
缺点:
文件只要修改了一个字节,5码则会改变。
所以对于变形病毒的防御不好。
且占用特征库的空间过大。
突破方式:
修改文件中任意一个字节即可
3.6有些杀毒软件集合了多种技术。
但可想而知其占用资源是多么可怕,如:
卡吧死机
4.现在我们知道了一些病毒技术以及杀毒软件的原理,那么就让我来解释一下为什么加壳、捆绑后杀毒依然拦截。
4.1加壳后的软件通常需要解密程序达到程序正常运行的效果,一般的特征码扫描因为加壳后原来的指令已经被压缩或修改,所以无法找到原定义的特征码,当然有些杀毒引擎增加了脱壳模块,可以将加壳后的程序还原到没加壳时的状态。
当然这样只会更浪费时间。
因为这种功能的出现,所以一些以及存在特征码的病毒在加壳后也无济于事(皮都被剝了你还想怎么滴)。
加壳后逆向分析师们的工作明显加大,如果人家被你程序弄晕了,还没找到什么信息时,人家还不如直接把你程序拖到黑名单里去呢。
你说对吧。
在说程序的最终目的依然没有改变,行为监控模块一样会为你送上那个你熟悉的报毒小窗口
4.2捆绑后的程序因为体积加大,虽然一些云模块不会上传该样本,但特征码没变,行为也没变。
所以依然报毒了。
5.那我们到底该如何进行免杀呢?
第一步:
不要将自身程序名取为一些会被杀软报毒的名称
第二步:
修改程序特征码,如何修改呢?
我们以后会在例子中进行介绍
第三部:
增加文件体积。
参考资料:
看雪论坛
吾爱破解论坛
论坛