免杀技术基础理论

文章探讨了恶意软件和正常软件的本质区别,并阐述了黑客如何通过修改特征码、使用花指令、加壳等方法来绕过杀毒软件的检测。随着技术发展,杀毒软件进化到内存和行为查杀,黑客则需采用更复杂的技术如构建内核模块或利用0day漏洞来突破防御。
摘要由CSDN通过智能技术生成

     在计算机的发展历程中,诞生了很多技术,有良性的,也有恶意的。比如说我们使用的正常APP,不管是工具软件还是游戏或是通讯工具,都是便于人们生活与交流沟通而诞生的。当然伴随着技术发展,一些不法分子就会诞生一些奇特的想法。用于网络犯罪,诞生出邪恶的源头--恶意软件。我们常说的计算机病毒,木马软件都是属于恶意软件。不管是正常软件还是恶意软件,它们的本质其实都是代码,再到底层都是机器码,都是由CPU去执行的。没什么两样。区别它们的一个很重要因素亦就是它们的行为,在我们用户的视角来说它是良性的还是恶意的。好比如说正常APP不会去对我们的计算机造成破坏,也不会去窃取用户的信息(正常来说)。那么恶意软件的目的就是破坏我们的计算机,窃取我们用户重要的数据资料隐私等用于牟利,威胁他人等。技术是一把双刃剑,在历史的长河中,网络安全一直是处于高强度对抗中。因此对于网络安全我们一定是要高度重视。

          有攻就有防,随着病毒的诞生,杀毒软件的地位就此提高。我们耳熟能详的杀毒软件360,火绒等都是这样的一些软件。它时刻守护着计算机检测有无恶意软件的运行。那么黑客如果想悄无声息的入侵就必须和杀毒软件做一些硬碰硬的较量。比的就是技术上谁的技艺更加高超一点。我们今天的讨论主题就是黑客是如何绕过杀毒软件的检测以及查杀的。也就是我们常说的免杀技术。


      前面的导论中我们提过,恶意软件本质是也是代码,取决于他是否恶意完全是根据它的行为来裁定的。那么杀毒软件如何知道它是恶意的呢。比如说检测到文件代码有对文件加密的行为,并且运行完删除了自身等行为,一看就不像是正常软件所为,我们很大可能就会把它归结为病毒或者木马。那么杀毒软件做的第一步就是要对文件进行扫描。判定这个程序是否为恶意。可以理解为这是恶意软件的“特征码”。特征码就是反病毒软件判定文件是否携带病毒的一段独一无二的代码。

如此就引出了我们免杀的基本原理:破坏特征。这个特征可能是特征码,也可能是行为特征等。只要破坏了病毒和木马这些恶意的特征,让它看上去人畜无害,并保持了原有的功能,那么免杀就完成了,杀毒软件会认为它是一个正常软件。举个现实中的例子。当警察通缉犯人的时候,会把犯人的名字身份证等基本信息导入犯人数据库。类比杀毒软件的病毒库。当这个犯人乘坐交通工具的时候,必须要过安检,类比杀毒软件这就是杀软检测。通过对比发现这是个犯人,那么警察就会立即逮捕他。类比没做免杀的病毒。假设这个犯人很聪明,伪装了自己,并且伪造了一个新的身份证。安检就把他当做正旅客给放行了。类比做完免杀的病毒。其实很多技术的基本原理,来源于生活。,是不是觉得很有趣。接下来我们研究下破坏特征有哪些方法。

一,修改特征码过免杀

这里的特征码我们可以理解为黑名单。我们改头换面,让杀毒软件认为我们是“白名单”这也是我们上面介绍特征码的思想之一。第二种方法也是基于特征码,如果一个文件某个特定区域的校检符合病毒库的特征,杀毒软件就会报毒,那么我们只需要对这段区域做一些处理使其通过校检,就能欺骗杀软。

二,花指令免杀

花指令常用在对软件加壳中,用于避免被别人逆向代码添加的混淆无用的汇编代码。并不会使程序功能发生变化,也不会改变程序流程。也就是我们俗称的垃圾指令。这种技术用在病毒逃杀是很有用的。如果花指令添加的足够花哨。是完全能迷惑杀毒软件的。下面介绍下原理,为什么花指令能逃避杀毒软件。我们知道检测病毒的一个基本手段就是检测特征码,现在的特征码都是基于一段偏移的。太多对杀软性能有限制。太少又不足以检测。因此假设病毒制作者在特定的地方添加一段花指令,部分偏移受到影响,杀毒软件不能很好的识别这段特征码,自然无法检测是否为恶意的。后面我会深入研究clamav扫描器的原理。

三,加壳免杀

加壳是现代软件保护自身的一种很重要的手段,壳也就是一段保护代码。就好比如乌龟壳是为了保护自己免受天敌攻击一样。主要是为了防止别人恶意窥探软件实现的原理。加了壳的程序依然能正常运行。程序开始运行的时候,首先会运行壳代码,壳加密的程序逐步还原到内存,最后运行程序。这就是壳的基本原理。加了壳的代码人都看不懂,杀软更加看不懂啦,那么自然能过免杀了。


在技术的长河中,这场博弈技术已经发展的更加成熟。杀毒软件将战场拉到了内存中。内存是一个神圣的地方。这里是和CPU打交道的最直接的地方了。在内存中战斗,那么加壳的免杀基本就失效了。杀毒软件开始从单纯的文件扫描器进化到了内存扫描器。那么如何对抗内存查杀呢,从杀毒软件的角度来看,扫描的都是特征码,都是通过对比特征码来区别恶意程序的。但是扫描的特征码可能不止一个,那么就需要把它们全部抹除才能通过免杀。在内存中普通加壳失效,那么这里利用的思路是:只要能制造出混淆程序源代码的猛壳,还是能通过免杀的。

四,行为免杀

当文件查杀和内存查杀都被攻克时,杀毒软件再调高技术层次,行为查杀。类似的“主动防御”。“云查杀”都是基于行为查杀。此时,杀毒软件从原本的用户层进军到了内核层。进入了内核代表拥有着至高无上的权利。想检查个用户态下的程序还是轻轻松松的。这个时候想植入病毒可能需要更高深的技术,比如将代码构造成内核模块,进入和杀软一样的内核层。亦或是通过0day来突破这层防御等等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值