指的是任何旨在对计算机,服务器或计算机网络造成损害的软件;换句话说,软件基于其预期用途被识别为恶意软件,而不是用于构建它的特定技术。
多数病毒会将自身文件的属性设置为“隐藏”、”系统”和”只读”, 更有一些病毒 会通过修改注册表,从而修改用户对系统的文件夹访问权限、显示权限等,以使病毒更加隐蔽不易被发现。
—基于硬件和操作系统的程序,具有感染,传播,破坏能力;通过宿主来进行循环。
主要传播方式:感染文件传播、可以通过多种类型文件来传播。
病毒感染目标包括:硬盘系统分配表扇区(主引导区)、硬盘引|导扇区、软盘引导扇区、可执行文件(.exe)命令文件(.com)、覆盖文件(.gyI) 、COMMAND文件、 IBMBIQ文件、 IBMDOS文件。
计算机病毒感染的一般过程为:当计算机运行染毒的宿主程序时, 病毒夺取控制权;寻找感染的突破口; 将病毒程序嵌入感染目标中。计算机病毒的感染过程与生物学病毒的感染过程非常相似,它寄生在宿主程序中,进入计算机并借助操作系统和宿主程序的运行,复制自身、大量繁殖。
—主要通过网络使恶意代码在不同设备中进行复制、传播和运行的恶意代码。一个能传染自身拷贝到另一台计算机上的程序。
—木马是攻击者通过欺骗方法在用户不知情的情况下安装的。木马系统软件一般由木马配置程序、 控制程序和木马程序(服务器程序)三部分组成。
—具有感染设备全部操作权限的恶意代码。
—通过加密文件,敲诈用户缴纳赎金。
加密特点:
其他特点:
典型家族: Wannacry、GandCrab、 Globelmposter
—攻击者通过向被感染设备植入挖矿工具,消耗被感染设备的计算资源进行挖矿,以获取数字货币收益的恶意代码。
特点:
由于大量消耗设备资源,可能会对设备硬件造成损害。
—恶意代码希望能顺利绕过杀毒软件与防火墙,在受害者的计算机中长期隐藏下去,并能在必要的时候向攻击者提供有用的信息.
免杀技术又称为免杀毒(Anti Anti - Virus)技术,是防止恶意代码免于被杀毒设备查杀的技术。主流免杀技术如下
免杀的最基本思想就是破坏特征,这个特征有可能是特征码,有可能是行为特征,只要破坏了病毒与木马所固有的特征,并保证其原有功能没有改变,一次免杀就能完成了。
特征码就是反病毒软件用于判断文件是否带病毒的-段独一无二的代码,这些特征码在不同的反病毒软件的病毒库中不尽相同。
随着反病毒软件的发展,特征码也逐渐细化为很多不同的分支,其中差距最大的就是文件特征码与内存特征码。由前面的反病毒软件原理可知,即便是文件反病毒,也分为若干种方法,且方法不同,必然会使每种方法下所涉及的特征码存在细微的不同。
但是总体来说,特征码就是一种只在病毒或木马文件内才有的独一无二的特征,它或是一段字符, 或是在特定位置调用的一个函数。总之,如果某个文件具有这个特征码,那反病毒软件就会认为它是病毒。反过来,如果将这些特征码从病毒、木马的文件中抹去或破坏掉,那么反病毒软件就认为这是一个正常文件了。
黑客们研究木马免杀的最终目标就是在保证原文件功能正常的前提下,通过一定的更改,使得原本会被查杀的文件免于被杀。
要达到不再被杀的目的方法有很多种,其中最直接的方法就是让反病毒软件停止工作,或使病毒木马”变”为一个正常的文件。
然而如何使一个病毒或木马变成一 个正常文件, 对于黑客们来说其实是一个比较棘手的问题,不过只要学会了一种免杀原理,其他的免杀方案也就触类旁通了。
所谓的特征码,我们可以将其理解为反病毒软件的黑名单。黑客们显然无法将木马从反病毒软件的點单中删除,所以他们要让病毒改头换面!例如原来黑名单中有"灰鸽子”“这么一款木马,黑客们将其改头换面后不叫灰鸽子了,比如叫“白鸽子”!当然,这只是一个例子,现实中仅仅依靠改名是骗不了反病毒软件的。
就目前的反病毒技术来讲,更改特征码从而达到免杀的效果事实上包含着两种思想。
一种思想是改特征码,这也是免杀的最初方法。例如一个文件在某一个地址内有"灰鸽子,上线成功! "这么一句话,表明它就是木马,只要将相应地址内的那句话改成别的就可以了,如果是无关痛痒的,直接将其删掉也未尝不可。
第二种是针对目前推出的校验和查杀技术提出的免杀思想,它的原理虽然仍是特征码,但是已经脱离纯粹意义上特征码的概念,不过万变不离其宗。其实校验和也是根据病毒文件中与众不同的区块计算出来的,如果一个文件某个特定区域的校验和符合病毒库中的特征,那么反病毒软件就会报警。所以如果想阻止反病毒软件报警,只要对病毒的特定区域进行一定的更改,就会使这一-区 域的校验和改变,从而达到欺骗反病毒软件的目的,如图所示。这就是在定位特征码时,有时候定位了两次却得出不同结果的原因所在。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cnUkjgYq-1663072747905)(C:\Users\刘长\AppData\Roaming\Typora\typora-user-images\image-20220913150401345.png)]
花指令其实就是一段亳无意义的指令,也可以称之为垃圾指令。花指令是否存在对程序的执行结果没有影响,所以它存在的唯一目的就是阻止反汇 编程序,或对反汇编设置障碍。
然而这种障碍对于反病毒软件来说同样也是致命的,如果黑客们的花指令添加得足够高明,就可以使木马很轻松地逃脱查杀!
但是,为什么它会影响反病毒软件的判断呢?通过前面的学习大家都E经知道,大多数反病毒软件是靠特征码来判断文件是否有毒的,而为了提高精度,现在的特征码都是在-定偏移量限制之内的, 否则会对反病毒软件的效率产生严重的影响!而在黑客们为-个程序添加一段花指令之后,程序的部分偏移会受到影响,如果反病毒软件不能识别这段花指令,那么它检测特征码的偏移量会整体位移-段位置, 自然也就无法正常检测木马了。
当然,这也仅仅是针对第一代扫描技术的方法,不过即便是反病毒软件采用虚拟机分析、校验和扫描或启发式分析,花指令同样会起到一定的作用,针对每种检测方法的不同,花指令所起到的作用亦不相同。它最根本的思想就是扰乱程序运行顺序,并为破解者(反病毒人员)设下陷阱。而如果花指令可以成功保护软件真正代码不被轻易反汇编,那么对于反病毒软件来说,它所检测的自然也就不是木马文件中真正的内容了。
说起软件加壳,简单地说,软件加壳其实也可以称为软件加密(或软件压缩),只是加密(或压缩)的方式与目的不一样罢了。
一般的加密是为了防止陌生人随意访问我们的数据。但是加壳就不一样了,它的目的是减少被加壳应用程序的体积,或避免让程序遭到不法分子的破坏与利用,例如最常见的共享软件,如果不对软件加以保护,那么这个软件就会很轻易地被破解,也就没有人去向软件的作者购买注册码了。
既然加壳后的软件还能正常运行,那么这些壳究竟将软件的哪些部分加密了呢?实,我们可以从加壳"这个词语本身着手,为什么不叫加密、防盗或其他的名称,而偏偏称其为加壳呢?
我们可以将未加壳的软件想象成美味的食物,太多的人想要得到它,想借此大饱口福!于是食物的主人就将其保存了起来,放到一个只有他能打开的硬壳里,这样就可以避免其他人打它的主意。而当自己的客人到来时,他可以很轻松地打开这个硬壳,供客人品尝…
上面所说壳就是我们加的保护,它并不会破坏里面的程序,当我们运行这个加壳的程序时,系统首先会运行程序的壳",然后由壳将加密的程序逐步还原到内存中,最后运行程序。这样-来,在我们看来,似乎加壳之后的程序并没有什么变化,然而它却达到了加密的目的,这就是壳的作用。
现在,我们再回头看看反病毒软件,如果说加壳之后的文件我们都无法将其还原,那么反病毒软件自然也就"看”不懂了。加密后的文件结构已经产生了天翻地覆的变化,原有的特征码早已不知去处,反病毒软件自然也就会认为它是一个正常的文件了。
由以上3种方法可知,基于文件的免杀基本上就是破坏原有程序的特征,无论是直接修改特征码还是加上一段花指令,抑或是将其加壳,其最后的目的只有-个,那就是打乱或加密可执行文件内部的数据。
因为将要被执行的程序肯定比未执行程序的威胁更大。即便是再厉害的病毒木马,只要能保证它不被执行,它在用户的计算机中最多也就算是一个垃圾文件, 就不会对用户及网络构成任何威胁。
但是黑客们又是如何对抗内存查杀的呢?其实套路与文件查杀-样,因为杀毒软件的内存扫描原理与硬盘上的文件扫描原理都是一样的, 都是通过特征码比对的,只不过为了制造迷惑性,大多数反病毒公司的内存扫描与文件扫描采用的不是同一套特征码,这就导致了一个病毒木马同时拥有两套特征码,必须要将它们全部破坏掉才能躲过反病毒软件的查杀。
因此,除了加壳外,黑客们对抗反病毒软件的基本思路没变。而对于加壳,只要加一个会混淆程序原有代码的“猛”壳,其实还是能躲过杀毒软件的查杀的。
当文件查杀与内存查杀都相继失效后,反病毒厂商便提出了行为查杀的概念,从最早的”文件防火墙”发展到后来的"主动防御",再到现在的部分"云查杀",其实都应用了行为查杀技术。
而对于行为查杀,黑客们会怎样破解呢?我们都知道一个应用程序之 所以被称为病毒或者木马,就是因为它们执行后的行为与普通软件不一样。
因此从2007年行为查杀相继被大多数反病毒公司运用成熟后,黑客免杀技术这个领域的]槛也就- 一下提高到了顶层。
反病毒公司将这场博弈彻底提高到了软件领域最深入的-层-系统底层 ,这就使得黑客们需要掌握的各种高精尖知识爆炸式增长,这一举动将大批的黑客技术的初学 者挡在了门外。
然而由于初期的行为查杀刚刚兴起,很多反病毒产品的主动防御模块把关不严,应用的技术也并不先进,从而导致了一大批内核级病毒木马的出现。而随着技术的逐渐升温,攻防双方的技术最后变得势均力敌,反病毒公司得益于计算机领域先入为主的定律,使得黑客们从这时开始陷入被动。
因此黑客免杀技术发展到现在,已经出现了向渗透入侵等领域靠拢的趋势,黑客们将能躲过主动防御的方法称为0Day,并且越来越多的木马选择使用本地缓冲区溢出等攻击手法来突破主动防御。
但是反病毒爱好者们也不能因此麻痹大意,黑客领域中的任何技术从来都是靠思路与技术这两条腿走路的,免杀技术也不例外。黑客技术的初学者仍然想出了非常多的方法,有效地突破了现在的主动防御与云查杀。
检测工具
单机反病毒可以通过安装杀毒软件实现,也可以通过专业的防病毒工具实现。
病毒检测工具用于检测病毒、马蠕虫等恶意代码,有些检测工具同时提供修复的功能。
常见的病毒检测工具包括:
Process Explorer是-款增强型任务管理器。 可以查看进程的完整路径,识别进程,查看进程的完整信息,关闭进程等。
毒软件主要通过一些引|擎技术来实现病毒的查杀,比如以下主流技术:
特征码技术
检测到某被检测信息有这些特征行为时,则认为该被检测信息为病毒。常见的杀毒软件举例:瑞星金山毒霸360安全软件卡巴斯基赛门铁克Mcafee
在以下场合中,通常利用反病毒特性来保证网络安全:
FW作为网关设备隔离内、外网,内网包括用户PC和服务器。内网用户可以从外网下载文件,外网用户可以上传文件到内网服务器。为了保证内网用户和服务器接收文件的安全,需要在FW.上配置反病毒功能。
在FW上配置反病毒功能后,正常文件可以顺利进入内部网络,包含病毒的文件则会被检测出来,并被采取阻断或告警等手段进行干预。
启发式检测是捐对传输文件进行反病毒检测时,发现该文件的程序存在潜在风险,极有可能是病毒文件。比如说文件加壳(比如加密来改变自身特征码数据来躲避查杀),当这些与正常文件不一致的行为达到一定的阀值,则认为该文件是病毒。
启发式依靠的是"自我学习的能力",像程序员- -样运用经验判断拥有某种反常行为的文件为病毒文件。
启发式检测的响应动作与对应协议的病毒检测的响应动作相同。启发式检测可以提升网络环境的安全性,消除安全隐患,但该功能会降低病毒检测的性能,且存在误报风险,因此系统默认情况下关闭该功能。
启动病毒启发式检测功能: heuristic-detect enable。