《杀不死的秘密》这本书,不得不说是个经典,我发现我有搜藏,在这里给大家分享下。希望看来以后不要对主流杀软失去信心。
转《杀不死的秘密》第一章
一、免杀技术的发展
所谓“免杀”,就是逃避杀毒软件的查杀,目前用得比较多的免杀方法有加壳、修改特征码和加花指令三种,通常黑客们会针对不同的情况来运用不同的免杀方法。
第一款杀毒软件Mcafee是于1989年诞生的。
1989年:第一款杀毒软件Mcafee诞生,标志着反病毒与反查杀时代的到来。
1997年:国内出现了第一个可以自动变异的千面人病毒(Polymorphic/Mutation Virus)。
2002年7月31日:国内第一个真正意义上的变种病毒“中国黑客II”出现。2004年:在黑客圈子内部,免杀技术由IT工程师之家团队在这一年首先公开提出。
2005年1月:大名鼎鼎的免杀工具CCL的软件作者tankaia在杂志上发表了一篇文章,藉此推广了CCL,从此国内黑客界才有了自己第一个专门用于免杀的工具。
2005年2月至7月:通过各方面有意或无意的宣传,黑客爱好者们开始逐渐重视免杀。
2005年8月:第一个可查的关于免杀的动画由IT工程师之家团队完成。
2005年9月:免杀技术开始真正的火起来。
[国内免杀技术的起源时间:2002年7月31日]
小提示:毫无疑问,“免杀”技术是目前最火热的技术之一。“免杀”是可用性很强,应用范围非常广的一门黑客技术。免杀往往是脚本入侵技术、病毒攻击技术等一些其他黑客技术的准备工作。举个简单的例子,当一个黑客发现并利用了一个网站所存在的脚本漏洞后,经过提权最终得到了服务器的管理权限。为了方便和巩固控制,黑客往往需要将后门传至对方网站服务器上(可能是脚本后门,也可能是PE后门),或者是rootkit,然而对方服务器上有很厉害的杀毒软件,当这些后门被黑客上传到对方服务器之后,服务器上的杀毒软件识别并查杀出黑客上传的后门或rootkit,使黑客的工具不能发挥作用。这在很大程序上影响了黑客对漏洞的利用。但是如果黑客上传的工具是经过免杀技术处理过的,那么黑客就可以通过简单有效的工具来巩固控制。显然,这只是一个很片面的例子,在真正的Hacking过程中,免杀技术几乎是无处不在,所以学好免杀技术对于一个信息安全技术爱好者是非常重要的。
免杀技术的定义
从前面可以看出,免杀指的就是让原本被杀毒软件或其它计算机安全工具捕获并查杀的文件,经过处理后变得不被捕获和查杀,这种技术就是免杀技术,这种处理过程就称为“免杀”,通常也称之为病毒免杀(因为被杀毒软件或其它计算机安全工具查杀的文件一般都称为病毒)。
杀毒软件的查杀原理
1、特征码法
杀毒软件运用特征码扫描确定某文件为病毒时,这个文件需要满足两个条件:
(1)该文件中的某一位置与杀毒软件病毒库的某一位置相对应。
(2)该位置上存放的代码与病毒库中定义的该位置上的代码相同。
特征码法的特点:
A.速度慢。
B.误报警率低。
C.不能检查多态性病毒。
D.不能对付隐蔽性病毒。
2、校验和法
运用校验和法查病毒采用三种方式:
(1)在检测病毒工具中纳入校验和法,对被查的对象文件计算正常状态的校验和,将校验和值写入被查文件中或检测工具中,而后进行比较。
(2)在应用程序中,放入校验和法自我检查功能,将文件正常状态的校验和写入文件笨身中,每当应用程序启动时,比较现行校验和与原校验和值。实现应用程序的自检测。
(3)将校验和检查程序常驻内存,每当应用程序开始运行时,自动比较检查应用程序内部或别的文件中预先保存的校验和。
校验和法的特点:
优点:方法简单、能发现未知病毒、被查文件的细微变化也能发现。缺点:发布通行记录正常态的校验和、会误报警、不能识别病毒名称、不能对什隐蔽型病毒。
3、行为监测法
利用病毒的特有行为特征来监测病毒的方法。
监测病毒的行为特征:
A.占有INT 13H
B.改DOS系统为数据区的内存总量
C.对COM、EXE文件做写入动作
D.病毒程序与宿主程序的切换
行为监测法的特点:
行为监测法的长处:可发现未知病毒、可相当准确地预报未知的多数病毒。行为监测法的短处:可能误报警、不能识别病毒名称、实现时有一定难度。
4、软件模拟法
在虚拟机中综合运用多种查杀方法就是通常所说的软件模拟法。
软件模拟法的特点:
软件模拟法的长处:对病毒的判定能力最强(因为综合了多种查毒方法)。
软件模拟法的短处:扫描速度慢,查毒往往不准确。
最终结论:
目前杀毒软件最主要还是依赖特征码识别技术来检测病毒。也就是说,特征码就是杀毒软件为了判定病毒而从病毒本身提取出来的有特点的代码,我们的免杀就是专门针对这些特征码的。也就是说,让杀毒软件找不到这些特征码就可以达到免杀的目的了,不过还有一点要强高速的是,文件本身的功能是不能损坏的,也就是说免杀之后的文件和原文件在功能上要做到完全相同。只有这样才算是真正有效的免杀。
=======================================================================
二、常见杀毒软件及其引擎特点
1、卡巴斯基
俄罗斯出品、扫描未知病毒非常厉害、病毒库很大、扫描速度特别慢、非常占用资源。
2、瑞星
国产、杀毒能力和卡巴斯基差距很大,主动防御功能模块和卡巴斯基也没办法比、优势就是速度快、系统占用资源相对较少。
3、江民
杀毒能力不错,耗费资源一般,主动防御功能也很不错。
4、诺顿
这个杀软是诺顿公司的,性能卓越。病毒库很大,扫描速度慢。不同版本的诺顿占用系统资源的程度相差很大。这个杀软的免杀非常好做。是著名杀毒软件中实力最弱的。
5、金山
杀毒能力很差,占用资源一般,速度快。
6、NOD32
这个的查杀机制和其他几个差别很大,针对它的免杀比较难做。如今新版的NOD32加入了主动防御功能,功能上的提升使它成为目前最能对付的杀毒软件。系统占用资源一般,扫描速度非常快。启动扫描特别厉害,查杀未知病毒的性能和卡巴斯基旗鼓相当。
7、麦咖啡
国外杀毒软件,功能一般,查杀能力一般,占用系统资源一般。高级版对未知病毒的查杀能力很强。
8、小红伞
启发式扫描很厉害,可以说和NOD32的启发扫描不分伯仲,各有各的特点。
9、F-Prot Antivirus:这是一款来自冰岛的杀毒软件。该杀毒软件的查杀能力绝对一流,对未知病毒的查杀能力远在卡巴和NOD32之上。
10、微软杀毒
依仗着微软在操作系统的占有率,其杀毒软件也有一定的占有率。几乎所有的木马都不能过微软的杀毒软件。对微软杀毒研究相对深入之后,不难发现,目前的微软杀毒引擎和NOD32的杀毒引擎很像,基本都是使用启发式扫描对API函数的调用进行判定和加权。
=======================================================================
三、免杀技术的分类
1、内部免杀和外部免杀
处部免杀又通常称为PE免杀。内部免杀指的是从病毒的源代码入手,通过修改病毒的源代码实现病毒的隐蔽性变种。外部免杀指的是将已经编译连接后的病毒文件通过加密等手段将病毒的代码复杂化,从而干扰杀毒软件对其的判定,使之免杀。
内部免杀有一个必要的前提,就是免杀制作者必须要有病毒的源代码,这一条件非常苛刻。外部免杀需要一定的反汇编基础和PE结构知识。
内部免杀和外部免杀属同一技术层次,没有高低之分。
2、特征码免杀和大范围免杀
先进的杀毒引擎使用的杀毒技术依然是围绕特征码展开的,所以修改病毒的特征码在可预见的很长一段时间里还会是免杀技术的中流砥柱。大范围免杀通常又被称为“无特征码免杀”,指的是使用一些例如加花加壳这种可使病毒代码复杂化的方法对病毒进行处理,处理过的病毒很可能会同时免杀掉多种杀毒软件。大范围指的不是直接针对特征码的修改,只是指通过其它方法使代码复杂化,从而间接影响杀毒软件对病毒特征码的识别。
3、文件免杀、内存免杀和行为免杀
文件免杀指的是计算机硬盘上存放的被某杀毒软件查杀的病毒,经过免杀处理后,再对病毒进行静态的病毒扫描时,该杀毒软件不将这个原本被自己查杀的文件判定为病毒。这种将硬盘上的病毒文件中特定PE区段载入到内存并进行病毒鉴定的方法,被称为对病毒的动态文件扫描,这并不等同于杀毒软件的内存扫描。
内存查杀是指在病毒运行的时候,病毒被载入计算机的内存后,杀毒软件在内存中侦测到病毒的运行,并将病毒在内存中击杀。内存免杀指的就是在上述例子中的病毒被载入到内存后系统无法通过杀毒软件的内存扫描功能从内存中找出该病毒。
行为免杀的概念出现在文件免杀和内存免杀之后,是一个相对比较新的概念。病毒程序大都有很多共性,如:在系统文件中释放一些动态链接库文件并添加启动项或服务等。杀毒软件可以抓住病毒的这一特性,监控计算机运行的程序,控制程序可能产生的对计算机系统有危害的行为,杀毒软件的这种监控方式就是行为监控,而突破这种监控方式的工作就称为病毒的行为免杀。
4、盲免技术
盲免技术又被简称为“盲免”,盲免可以说得上是一个隐藏在圈内很久未被公开的免杀技术。
盲免指的就是在不使用杀毒软件定位特征码也不需要杀毒软件测试免杀的效果,直接制作出最终的免杀样本。在这看似投机的结果中,其实有很多技术细节和经验在里面,盲免并不是瞎搞,与特征码免杀一样,盲免也是有很强的针对性的。
能熟练盲免的免杀制作者,他们对各种杀毒引擎都非常了解,这些都是靠平时做一般性免杀的过程中得到的,有了这个前提,才能在不借助杀毒软件的情况下,判断出杀毒软件对特征码识别的弱点。
针对不尽相同的杀毒引擎,修改特征码的方法也各种不同,所以在研究查毒引擎之前,需要掌握好PE结构、反汇编等基础知识。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课