目录
1. 什么是恶意软件?
2. 恶意软件有哪些特征?
3. 恶意软件的可分为那几类?
3.1.1按照传播方式分类:
3.1.2按照功能分类:
4. 恶意软件的免杀技术有哪些?
5. 反病毒技术有哪些?
5.1 单机反病毒
5.2 网关反病毒
6. 反病毒网关的工作原理是什么?
7. 反病毒网关的工作过程是什么?
8. 反病毒网关的配置流程是什么?
恶意软件(Malware)是指被设计用来对计算机系统、网络或个人用户进行恶意活动的软件。恶意软件可以以各种形式存在,包括病毒、蠕虫、木马、间谍软件、广告软件、勒索软件等。这些恶意软件可能会对系统造成损害,如破坏数据、窃取个人信息、控制计算机、加密文件等。恶意软件通常通过电子邮件附件、下载的文件、感染的链接等方式传播。为了保护计算机和个人信息的安全,用户应该定期更新防病毒软件、不随意打开陌生邮件附件、不下载不明来源的文件,并保持操作系统和应用程序的最新补丁。
病毒感染系统后,无疑会对系统作出各种修改和破坏。有时候病毒会使受感染的系统自己弹出网页、占用高CPU资源,自动弹出/关闭窗口、自动终止某些进程等各种不正常的现象
(1)下载特征
很多木马、后门程序间谍软件会自动连接到Internet某Web站点,下载其他的病毒文件或该病毒自身的更新版本/其他变种。
(2)后门特征
后门程序及很多木马、蠕虫和间谍软件会在受感染的系统中开启 并侦听某个端口,允许远程恶意用户来对该系统进行远程操控;
某些情况下,病毒还会自动连接到某IRC站点某频道中,使得该频道中特定的恶意用户远程访问受感染的计算机。
(3)信息收集特征
QQ密码和聊天记录
网络游戏账号密码
网上银行账号密码
用户网页浏览记录和上网习惯
(4)自身隐藏特性
多数病毒会将自身文件的属性设置为“隐藏”、“系统”和“只读”,更有一些病毒会通过修改注册表,从而修改用户对系统的文件夹访问权限、显示权限等,以使病毒更加隐蔽不易被发现。
(5)文件感染特性
病毒会将恶意代码插入到系统中正常的可执行文件中,使得系统正常文件被破坏而无法运行,或者使系统正常文件感染而成为病毒体;
有的文件型病毒会感染系统中其他类型的文件。
Wannacry就是一种典型的文件型病毒,它分为两部分,一部分是蠕虫部分,利用windows的“永恒之蓝”漏洞进行网络传播。一部分是勒索病毒部分,当计算机感染wannacry之后,勒索病毒部分就会自动安装并且加密计算机中包括音频、图像、文档等各种类型的文件。与此同时弹出勒索框进行勒索
(6)网络攻击特性
木马和蠕虫病毒会修改计算机的网络设置,使该计算机无法访问网络;
木马和蠕虫还会向网络中其他计算机攻击、发送大量数据包以阻塞网络,甚至通过散布虚假网关地址的广播包来欺骗网络中其他计算机,从而使得整个网络瘫痪。
爱虫病毒是一种利用Windows outlook邮件系统传播的蠕虫病毒,将自己伪装成一封情书,邮件主题设置为“I LOVE YOU”,诱使受害者打开,由此得名。当爱虫病毒运行后迅速找到邮箱通信簿里的50个联系人再进行发送传播。
(1)病毒:
病毒是一种基于硬件和操作系统的程序,具有感染和破坏能力,这与病毒程序的结构有关。病毒攻击的宿主程序是病毒的栖身地,它是病毒传播的目的地,又是下一次感染的出发点。
计算机病毒感染的一般过程/原理为: 当计算机运行染毒的宿主程序时,病毒夺取控制权; 寻找感染的突破口; 将病毒程序嵌入感染目标中。计算机病毒的感染过程与生物学病毒的感染过程非常相似,它寄生在宿主程序中,进入计算机并借助操作系统和宿主程序的运行,复制自身、大量繁殖。
病毒感染目标包括:硬盘系统分配表扇区(主引导区(原因:很隐蔽))、硬盘引导扇区、软盘引导扇区、可执行文件(.exe)、命令文件(.com)、覆盖文件(.ovl)、COMMAND文件、IBMBIO文件、IBMDOS文件。
病毒攻击的宿主程序是病毒的栖息地,它是病毒传播的目的地,又是下一次感染的出发点。
主要传播方式:感染文件传播
病毒=正常文件+恶意代码
例:"熊猫烧香" 是一款拥有自动传播、自动感染硬盘能力和强大的破坏能力的病毒,它不但能感染系统中exe,com,pif,src,html,asp等文件,它还能中止大量的反病毒软件进程并且会删除扩展名为gho的文件。
(2)蠕虫:
蠕虫是主要通过网络使恶意代码不同设备中进行复制、传播和运行的恶意代码。一个能传染自身拷贝到另外一台计算机上的程序。
原理:
地址范围:一般就是内网地址
传播方式:通过网络发送攻击数据包
注:最初的蠕虫病毒是因为在DOS环境下,病毒发作时会在屏幕上出现一条类似虫子的东西,胡乱吞吃屏幕上的字母并且将其改形。
例:永恒之蓝:2017年4月14日晚,黑客团体Shadow Brokers(影子经纪人)公布一大批网络攻击工具,其中包含"永恒之蓝"工具,"永恒之蓝"利用Windows系统的SMB漏洞可以获取系统最高权限。
(3)木马:
木马是攻击者通过欺骗方法在用户不知情的情况下安装的。木马系统软件一般由木马配置程序、控制程序和木马程序(服务器程序)三部分组成。
原理:
传播过程:
黑客利用木马配置工具生辰各一个木马的服务端;通过各种手段如Spam、Phish、Worm等安装到终端用户终端;利用社会工程学,或者其他技术手段使得木马运行;木马窃取用户隐私信息发送给黑客;同时允许黑客控制终端。
传播方式:捆绑、利用网页
挂码代码的功能是在网页打开的时候,同时打开另外一个网页。当然这个网页可能包含大量的木马,也可能仅仅是为了骗取流量。
(1)后门
具有感染设备全部操作权限的恶意代码:
典型的功能:文件管理、屏幕监控、键盘监控、视频监控、命令执行等
典型家族:灰鸽子、pCshare
(2)勒索
通过加密文件,敲诈用户缴纳赎金
加密特点:
主要采用非对称假面方式
对文档、邮件、数据库、源代码、图片、压缩文件类型进行加密
典型家族:Wannacry、GandCrab、Globelmposter
其他特点:
通过比特币或者其他虚拟货币交易
利用调用邮件和爆破rd口令进行传播
(3)挖矿
攻击者通过向被感染设备植入挖矿工具,消耗被感染设备的计算资源进行挖矿,以获取数字货币收益的恶意代码。
特点:
不会对感染设备的数据和系统造成破坏
由于大量消耗设备特征,可能会对设备造成硬件损失
(1)文件免杀的原理:
黑客们研究木马免杀的最终目标就是在保证原文件功能正常的前提下,通过一定的更改,使得原本会被查杀的文件免于被杀。
要达到不再被杀的目的方法有很多种,其中最直接的方法就是让反病毒软件停止工作,或使病毒木马“变”为一个正常的文件。
然而如何使一个病毒或木马变成一个正常文件,对于黑客们来说其实是一个比较棘手的问题,不过只要学会了一种免杀原理,其他的免杀方案也就触类旁通了。
(2)改特征码免杀原理:
所谓的特征码,我们可以将其理解为反病毒软件的黑名单。黑客们显然无法将木马从反病毒软件的黑名单中删除,所以他们要让病毒改头换面!例如原来黑名单中有“灰鸽子”这么一款木马,黑客们将其改头换面后不叫灰鸽子了,比如叫“白鸽子”!当然,这只是一个例子,现实中仅仅依靠改名是骗不了反病毒软件的。
就目前的反病毒技术来讲,更改特征码从而达到免杀的效果事实上包含着两种思想。
一种思想是改特征码,这也是免杀的最初方法。例如一个文件在某一个地址内有“灰鸽子上线成功!”这么一句话,表明它就是木马,只要将相应地址内的那句话改成别的就可以了,如果是无关痛痒的,直接将其删掉也未尝不可。
第二种是针对目前推出的校验和查杀技术提出的免杀思想,它的原理虽然仍是特征码,但是已经脱离纯粹意义上特征码的概念,不过万变不离其宗。其实校验和也是根据病毒文件中与众不同的区块计算出来的,如果一个文件某个特定区域的校验和符合病毒库中的特征,那么反病毒软件就会报警。所以如果想阻止反病毒软件报警,只要对病毒的特定区域进行一定的更改,就会使这一区域的校验和改变,从而达到欺骗反病毒软件的目的,如图所示。这就是在定位特征码时,有时候定位了两次却得出不同结果的原因所在。
(3)花指令免杀:
花指令其实就是一段毫无意义的指令,也可以称之为垃圾指令。花指令是否存在对程序的执行结果没有影响,所以它存在的唯一目的就是阻止反汇编程序,或对反汇编设置障碍。
然而这种障碍对于反病毒软件来说同样也是致命的,如果黑客们的花指令添加得足够高明,就可以使木马很轻松地逃脱查杀!
但是,为什么它会影响反病毒软件的判断呢?通过前面的学习大家都已经知道,大多数反病毒软件是靠特征码来判断文件是否有毒的,而为了提高精度,现在的特征码都是在一定偏移量限制之内的,否则会对反病毒软件的效率产生严重的影响!而在黑客们为一个程序添加一段花指令之后,程序的部分偏移会受到影响,如果反病毒软件不能识别这段花指令,那么它检测特征码的偏移量会整体位移一段位置,自然也就无法正常检测木马了。
当然,这也仅仅是针对第一代扫描技术的方法,不过即便是反病毒软件采用虚拟机分析、校验和扫描或启发式分析,花指令同样会起到一定的作用,针对每种检测方法的不同,花指令所起到的作用亦不相同。它最根本的思想就是扰乱程序运行顺序,并为破解者(反病毒人员)设下陷阱。而如果花指令可以成功保护软件真正代码不被轻易反汇编,那么对于反病毒软件来说,它所检测的自然也就不是木马文件中真正的内容了。
(4)加壳免杀:
说起软件加壳,简单地说,软件加壳其实也可以称为软件加密(或软件压缩),只是加密(或压缩)的方式与目的不一样罢了。
一般的加密是为了防止陌生人随意访问我们的数据。但是加壳就不一样了,它的目的是减少被加壳应用程序的体积,或避免让程序遭到不法分子的破坏与利用,例如最常见的共享软件,如果不对软件加以保护,那么这个软件就会很轻易地被破解,也就没有人去向软件的作者购买注册码了。
既然加壳后的软件还能正常运行,那么这些壳究竟将软件的哪些部分加密了呢?其实,我们可以从“加壳”这个词语本身着手,为什么不叫加密、防盗或其他的名称,而偏偏称其为加壳呢?
我们可以将未加壳的软件想象成美味的食物,太多的人想要得到它,想借此大饱口福!于是食物的主人就将其保存了起来,放到一个只有他能打开的硬壳里,这样就可以避免其他人打它的主意。而当自己的客人到来时,他可以很轻松地打开这个硬壳,供客人品尝……
上面所说壳就是我们加的保护,它并不会破坏里面的程序,当我们运行这个加壳的程序时,系统首先会运行程序的“壳”,然后由壳将加密的程序逐步还原到内存中,最后运行程序。这样一来,在我们看来,似乎加壳之后的程序并没有什么变化,然而它却达到了加密的目的,这就是壳的作用。
现在,我们再回头看看反病毒软件,如果说加壳之后的文件我们都无法将其还原,那么反病毒软件自然也就“看”不懂了。加密后的文件结构已经产生了天翻地覆的变化,原有的特征码早已不知去处,反病毒软件自然也就会认为它是一个正常的文件了。
由以上3种方法可知,基于文件的免杀基本上就是破坏原有程序的特征,无论是直接修改特征码还是加上一段花指令,抑或是将其加壳,其最后的目的只有一个,那就是打乱或加密可执行文件内部的数据。
(5)内存免杀:
自从文件免杀的方法在黑客圈子内部流传开后,反病毒公司将这场博弈升级到了另一个层次—内存中。
内存在计算机安全领域中向来就是兵家必争之地,从信息截取、软件破解,到内核Hook、修改内核,再到缓冲区溢出等,其主要战场都在内存中,由此可见内存是一个多么复杂而又变幻莫测的地方。之所以说内存复杂,是因为一般情况下内存是数据进入CPU之前的最后一个可控的物理存储设备。在这里,数据往往都已经被处理成可以直接被CPU执行的形式了,像我们前面讲的加壳免杀原理在这里也许就会失效了。
我们知道,CPU不可能是为某一款加壳软件而特别设计的,因此某个软件被加壳后的可执行代码CPU是读不懂的。这就要求在执行外壳代码时,要先将原软件解密,并放到内存里,然后再通知CPU执行。
如果是这样,那么从理论上来讲任何被加密的可执行数据在被CPU执行前,肯定是会被解密的,否则CPU就无法执行。也正是利用这个特点,反病毒公司便在这里设了一个关卡,这就使得大部分运用原有文件免杀技巧处理过的病毒木马纷纷被杀。
其实,与上面这个原因相比较,反病毒公司选择扫描内存更多是从战略角度出发的。
因为将要被执行的程序肯定比未执行程序的威胁更大。即便是再厉害的病毒木马,只要能保证它不被执行,它在用户的计算机中最多也就算是一个垃圾文件,就不会对用户及网络构成任何威胁。
但是黑客们又是如何对抗内存查杀的呢?其实套路与文件查杀一样,因为杀毒软件的内存扫描原理与硬盘上的文件扫描原理都是一样的,都是通过特征码比对的,只不过为了制造迷惑性,大多数反病毒公司的内存扫描与文件扫描采用的不是同一套特征码,这就导致了一个病毒木马同时拥有两套特征码,必须要将它们全部破坏掉才能躲过反病毒软件的查杀。
因此,除了加壳外,黑客们对抗反病毒软件的基本思路没变。而对于加壳,只要加一个会混淆程序原有代码的“猛”壳,其实还是能躲过杀毒软件的查杀的。
(6)行为免杀:
当文件查杀与内存查杀都相继失效后,反病毒厂商便提出了行为查杀的概念,从最早的“文件防火墙”发
展到后来的“主动防御”,再到现在的部分“云查杀”,其实都应用了行为查杀技术。
而对于行为查杀,黑客们会怎样破解呢?我们都知道一个应用程序之所以被称为病毒或者木马,就是因
为它们执行后的行为与普通软件不一样。
因此从2007年行为查杀相继被大多数反病毒公司运用成熟后,黑客免杀技术这个领域的门槛也就一下提高到了顶层。
反病毒公司将这场博弈彻底提高到了软件领域最深入的一层—系统底层,这就使得黑客们需要掌握的各种高精尖知识爆炸式增长,这一举动将大批的黑客技术的初学者挡在了门外。
然而由于初期的行为查杀刚刚兴起,很多反病毒产品的主动防御模块把关不严,应用的技术也并不先进,从而导致了一大批内核级病毒木马的出现。而随着技术的逐渐升温,攻防双方的技术最后变得势均力敌,反病毒公司得益于计算机领域先入为主的定律,使得黑客们从这时开始陷入被动。
因此黑客免杀技术发展到现在,已经出现了向渗透入侵等领域靠拢的趋势,黑客们将能躲过主动防御的方法称为0Day,并且越来越多的木马选择使用本地缓冲区溢出等攻击手法来突破主动防御。
但是反病毒爱好者们也不能因此麻痹大意,黑客领域中的任何技术从来都是靠思路与技术这两条腿走路的,免杀技术也不例外。黑客技术的初学者仍然想出了非常多的方法,有效地突破了现在的主动防御与云查杀。
杀毒软件主要通过一些引擎技术来实现病毒的查杀,比如以下主流技术:
特征码技术
杀毒软件存在病毒特征库,包含了各种病毒的特征码,特征码是一段特殊的程序,从病毒样本中抽取而来,与正常的程序不太一样。把被扫描的信息与特征库进行对比,如果匹配到了特征库,则认为该被扫描信息为病毒。
行为查杀技术
病毒在运行的时候会有各种行为特征,比如会在系统里增加有特殊后缀的文件,监控用户行为等,当检测到某被检测信息有这些特征行为时,则认为该被检测信息为病毒。
在以下场合中,通常利用反病毒特征来保证网络安全:
内网用户可以访问外网,且经常需要从外网下载文件。
内网部署的服务器经常接收外网用户上传的文件
FW作为网关设备隔离内、外网,内网包括用户PC和服务器。内网用户可以从外网下载文件,外网用户可以上传文件到内网服务器。为了保证内网用户和服务器接收文件的安全,需要在FW上配置反病毒功能。
首包检测技术
通过提取PE(Portable Execute;Windows系统下可移植的执行体,包括exe、dll、“sys等文件类型)文件头部特征判断文件是否是病毒文件。提取PE文件头部数据,这些数据通常带有某些特殊操作,并且采用hash算法生成文件头部签名,与反病毒首包规则签名进行比较,若能匹配,则判定为病毒。
启发式检测技术
启发式检测是指对传输文件进行反病毒检测时,发现该文件的程序存在潜在风险,极有可能是病毒文件。比如说文件加壳(比如加密来改变自身特征码数据来躲避查杀),当这些与正常文件不一致的行为达到一定的阀值,则认为该文件是病毒。
启发式依靠的是"自我学习的能力",像程序员一样运用经验判断拥有某种反常行为的文件为病毒文件。
启发式检测的响应动作与对应协议的病毒检测的响应动作相同。启发式检测可以提升网络环境的安全性,消除安全隐患,但该功能会降低病毒检测的性能,且存在误报风险,因此系统默认情况下关闭该功能。
启动病毒启发式检测功能∶heuristic-detect enable 。
文件信誉检测技术
文件信誉检测是计算全文MD5,通过MD5值与文件信誉特征库匹配来进行检测。文件信誉特征库里包含了大量的知名的病毒文件的MD5值。华为在文件信誉检测技术方面主要依赖于文件信誉库静态升级更新以及与沙箱联动自学习到的动态缓存。
文件信誉检测依赖沙箱联动或文件信誉库
8.1 首先进入防火墙为0/0/0接口配置ip并且开启所有服务:
[USG6000V1]int gi 0/0/0
[USG6000V1-GigabitEthernet0/0/0]ip add 192.168.159.100 24
[USG6000V1-GigabitEthernet0/0/0]service-manage all permit
8.2 在浏览器输入该ip进入防火墙
设置反病毒配置文件:
8.3在建立路由策略时添加该反病毒网关: