一、恶意代码
1、按照传播方式分类
(1)病毒
- 概念:
病毒是一种基于硬件和操作系统的程序,具有感染和破坏能力,这与病毒程序的结构有关。病毒攻击的宿主程序是病毒的栖身地,它是病毒传播的目的地,又是下一次感染的出发点。
- 病毒感染过程:
计算机病毒运行染毒的宿主程序,病毒夺取控制权;寻找感染的突破口;将病毒程序嵌入感染目标中。
计算机病毒的感染过程与生物学病毒的感染过程十分类似,它寄生在宿主程序中,进入计算机并借助操作系统和宿主程序运行,复制自身、大量繁殖。
- 感染目标:
硬盘系统分配表扇区(主引导区)、硬盘引导扇区、软盘引导扇区、可执行文件(.exe)、命令文件(.com)、覆盖文件(.ovl)、COMMAND文件、IBMIBO文件、IBMDOS文件等
- 主要感染方式:感染文件传播
例:“熊猫烧香”是一款拥有自动传播、自动感染硬盘能力和强大破坏能力的病毒,它不但能感染系统exe,com,pif,src,html,asp等文件,它还能中止大量的反病毒软件进程并且会删除拓展名为gho(备份文件)的文件。由于被感染的文件图标会被替换成“熊猫烧香”的图案,所以该病毒被称为“熊猫烧香”病毒。
(2)蠕虫
- 概念:
蠕虫是主要通过网络使恶意代码在不同设备中进行复制、传播和运行,一个能传染自身拷贝到另一台计算机的程序。
最初的蠕虫病毒定义是因为在D0S环境下,病毒发作时会在屏幕上出现一条类似虫子的东西,胡乱吞吃屏幕上的字母并将其改形。
- 原理:
- 传播方式:通过网络发送攻击数据包
例:永恒之蓝:2017年4月14日晚,黑客团体Shadow Brokers(影子经纪人)公布一大批网络攻击工具,其中包含"永恒之蓝"工具,"永恒之蓝"利用Windows系统的SMB漏洞可以获取系统最高权限。5月12日,不法分子通过改造"永恒之蓝"制作了wannacry勒索病毒,英国、俄罗斯、整个欧洲以及中国国内多个高校校内网、大型企业内网和政府机构专网中招,被勒索支付高额赎金才能解密恢复文件。
(3)木马
- 概念:
木马是攻击者通过欺骗的方法使用户在不知情的情况下安装的。木马软件一般由木马配置程序,控制程序和木马程序(服务器程序)三部分组成。
- 原理:
- 传播过程:
黑客利用木马配置工具生成一个木马的服务端;通过各种手段如Spam、Phish、Worm等安装到用户终端;利用社会工程学或者其他技术使得木马运行;木马窃取用户隐私信息发送给黑客;同时允许黑客控制用户终端。
例:挂码
挂马代码的功能是在网页打开的时候,同时打开另外一个网页,当然这个网页可能包含大量的木马,也可能仅仅是为了骗取流量。
2、按照功能分类
(1)后门:
- 概念:
具有感染设备的全部操作权限的恶意代码
- 典型功能:
文件管理、屏幕监控、键盘监控、视频监控、命令执行等
- 典型家族:
灰鸽子、PCshare
(2)勒索:
- 概念:
通过加密文件,敲诈用户缴纳赎金
- 加密特点:采用非对称加密方式
对文档、邮件、数据库、源代码、图片、压缩文件等多种文件类型进行加密
- 其他特点:
[1] 通过比特币或其他虚拟货币交易
[2] 利用钓鱼邮件和爆破rdp命令进行传播
- 典型家族:Wannacry、GandCrab、Globelmposter
(3)挖矿:
- 概念:
攻击者通过向被感染设备植入挖矿工具,消耗被感染设备的计算机资源进行挖矿,以获取数字货币收益的恶意代码。
- 特点:
不会对感染设备的系统和数据造成破坏;由于大量消耗设备资源,可能会对设备硬件造成损害。
3、特征
病毒感染系统后,无疑会对系统做出各种修改和破坏。有时病毒会使受感染的系统出现自动弹出网页、占用高CPU资源、自动弹出/关闭窗口、自动终止某些进程等各种不正常的现象。
(1)下载特征:
很多木马、后门程序间谍软件会自动连接到internet某web站点,下载其他的病毒文件或该病毒自身的更新版本/其他变种。
(2)后门特征:
- 后门程序及很多木马、蠕虫和间谍软件会在受感染的系统中开启并侦听某个端口,允许远程恶意用户来对该系统进行远程操控。
- 某些情况下,病毒还会自动连接到某IRC站点某频道中,使得该频道中特定的恶意用户远程访问受感染的计算机。
(3)信息收集特征:
- QQ密码和聊天记录
- 网络游戏账号密码
- 网上银行账号密码
- 用户网页浏览记录和上网习惯
(4)自身隐藏特性:
多数病毒会将自身文件属性设置为“隐藏”,“系统”和“只读”,更有一些病毒会通过修改注册表,从而修改用户对系统的文件夹访问权限、显示权限等,以使病毒更加隐蔽不易被发现。
(5)文件感染特性:
- 病毒会将恶意代码插入到系统中正常的可执行文件中,使得系统正常文件被破坏而无法运行,或使系统正常文件感染病毒而成为病毒体。
- 有的文件型病毒会感染系统中其他类型的文件
例:Wannacry就是一种典型的文件型病毒,它分为两部分,一部分是蠕虫部分,利用windows的“永恒之蓝”漏洞进行网络传播。一部分是勒索病毒部分,当计算机感染wannacry之后,勒索病毒部分就会自动安装并且加密计算机中包括音频、图像、文档等各种类型的文件。与此同时弹出勒索框进行勒索。
(6)网络攻击特性:
- 木马和蠕虫病毒会修改计算机的网络设置,使得该计算机无法访问网络。
- 木马和蠕虫还会向网络中其他计算机攻击、发送大量数据包以阻塞网络,甚至通过散布虚假网关地址的广播包来欺骗网络中其他计算机,从而使得网络瘫痪
例:爱虫病毒是一种利用Windows outlook邮件系统传播的蠕虫病毒,将自己伪装成一封情书,邮件主题设置为“I LOVE YOU”,诱使受害者打开,由此得名。当爱虫病毒运行后迅速找到邮箱通信簿里的50个联系人再进行发送传播。传播速度非常之快,致使大量电子邮件充斥了整个网络,不仅会导致邮件服务器崩溃,也会让网络受影响变慢。从而达到攻击网络的目的。
4、病毒威胁场景 --- 病毒一般是以文件为载体进行传播的
5、病毒传播途径
(1)电子邮件:
- html正文可能被嵌入恶意脚本
- 邮件附件携带病毒压缩文件
- 利用社会工程学进行伪装
- 增大病毒传播机会;快捷传播特性
(2)网络共享:
- 病毒会搜索本地网络中存在的共享,包括默认共享,如ADMIN$、IPC$、E$、D$、C$等
- 通过空口令或弱口令猜测,获得完全访问权限
- 病毒自带口令猜测列表
- 将自身复制到网络共享文件夹中
- 通常以游戏、CDKEY等相关名字命名
(3)P2P共享文件:
- 将自身复制到P2P共享文件夹中
- 通常以游戏、CDKEY等相关名字命名
- 通过P2P软件共享给网络用户
- 利用社会工程学进行伪装,诱使用户下载
(4)系统漏洞:
- 由于操作系统固有的一些设计缺陷,导致被恶意用户通过畸形的方式利用后,可执行任意代码。
- 病毒往往利用系统漏洞进入系统,达到传播的目的
例:一些熟知的漏洞:
[1] 微软IIS漏洞
[2] 快捷方式文件解析漏洞
[3] RPC远程执行漏洞
[4] 打印机后台程序服务漏洞
(5)广告软件/灰色软件:
灰色软件是指不被认为是病毒木马,但对用户的计算机会造成负面影响的软件。比如说广告软件,它们有时候是由用户主动安装,更多的是与其他正常软件进行绑定而被安装。
(6)其他:
- 网页感染
- 与正常软件捆绑
- 用户直接运行病毒程序
- 由其它恶意程序释放
6、免杀技术
(1)概念:
恶意代码希望能顺利绕过杀毒软件与防火墙,在受害者计算机中长期隐藏下去,并且能在必要的时候向攻击者提供有用的信息。免杀技术又称为免杀毒技术(Anti-Virus),是防止恶意代码免于被杀毒设备查杀的技术。
(2)主流免杀技术:
- 修改文件特征码
- 修改内存特征码
- 行为免查杀技术
(3)原理:
- 免杀的最基本特征就是破坏特征,这个特征有可能是特征码,有可能是行为特征,只要破坏了病毒与木马所固有的特征,并保证其原有功能没有改变,一次免杀就能完成了。
- 特征码是反病毒软件用于判断文件是否带病毒的一段独一无二的代码,这些特征码在不同的反病毒软件的病毒库中不尽相同。
- 特征码就是一种只在病毒或木马文件内才有的独一无二的特征,它或是一段字符,或是在特定位置调整一个函数。总之,如果某个文件具有这个特征码,那在反病毒软件就会认为他是病毒。反过来,如果将这些特征码从病毒、木马的文件中抹去或者破坏掉,那么反病毒软件就会认为这是一个正常文件了。
7、免杀原理
黑客们研究木马免杀的最终目标就是保证在原文件功能正常的前提下,通过一定的更改,使得原本会被查杀的文件免于被杀。要达到不再被杀的目的方法有很多种,其中最直接的方法就是让反病毒软件停止工作,或使病毒木马“变”为一个正常文件。
(1)改特征码免杀原理:
“特征码”在计算机领域中通常指的是病毒、恶意软件等恶意代码中的特定标识,可以被杀毒软件等安全工具用来识别和清除这些恶意代码。而“改特征码免杀”指的是通过修改恶意代码的特征码,使其逃避安全工具的检测和拦截,从而实现免杀的目的。
<1> 第一种是改特征码,免杀的最初方法。
例如:一个文件在某一个地址内有“灰鸽子上线成功!”这么一句话,表明它就是木马,只要将相应地址内的那句话改成别的就可以了,如果是无关痛痒的,直接将其删掉也未尝不可。
<2> 第二种是针对目前推出的校验和查杀技术提出的免杀思想,它的原理虽然仍是特征码,但是已经脱离纯粹意义上特征码的概念
其实校验和也是根据病毒文件中与众不同的区块计算出来的,如果一个文件某个特定区域的校验和符合病毒库中的特征,那么反病毒软件就会报警。所以如果想阻止反病毒软件报警,只要对病毒的特定区域进行一定的更改,就会使这一区域的校验和改变,从而达到欺骗反病毒软件的目的,如图所示。这就是在定位特征码时,有时候定位了两次却得出不同结果的原因所在。
(2)花指令免杀原理:
通过在恶意软件代码中插入无用的、看起来是合法指令的指令来混淆和隐藏真正的恶意代码,从而绕过安全防护机制的检测。
花指令免杀的实现过程如下:
- 首先,攻击者通过对目标软件进行逆向工程分析,确定被攻击软件所使用的指令集以及指令集的编码方式。
- 然后,攻击者编写针对目标软件的恶意代码,并在其中嵌入花指令。花指令是一些无用的指令,其作用只是为了让恶意代码的指令序列与正常代码的指令序列混淆,从而让恶意代码难以被检测出来。
- 接下来,攻击者使用代码混淆技术,将恶意代码的结构和代码逻辑进行混淆和加密,使得恶意代码的执行路径更加复杂和难以被分析。
- 最后,攻击者将修改后的恶意代码进行加壳,从而使得恶意代码在运行时无法被杀毒软件等安全防护机制检测到。
(3)加壳免杀原理:
加壳免杀是指将原本易受恶意软件检测的程序通过加密、压缩等手段进行加壳,以达到免杀的效果。加壳的本质是将原始代码放入一个新的壳中,这个壳是经过精心设计的,可以隐藏原始代码并修改其执行流程,使其在运行时难以被恶意软件检测到。
(4)内存免杀原理:
内存免杀是指通过修改或隐藏恶意代码在内存中的形态来避开杀软检测。与传统的文件加壳不同,内存免杀直接操作内存中的数据,不需要对磁盘上的文件进行修改,因此更难被杀软检测到。
常见内存免杀:
- 进程注入:将恶意代码注入到其他进程中,以此来避开杀软的检测。这种方法需要管理员权限,并且需要找到一个安全可用的进程进行注入,因此相对比较复杂。
- 进程镜像修改:修改进程镜像中的代码,将恶意代码插入其中。这种方法需要掌握进程镜像的结构和代码运行的原理,并且需要绕过杀软的内存扫描。
- 动态加密:在内存中加密恶意代码,使其在扫描时无法被识别。这种方法需要在代码中嵌入加密算法,并且需要保证恶意代码在运行时能够解密,否则会影响恶意代码的功能。
- 反调试:通过检测调试器的存在来绕过杀软的扫描,这种方法可以防止杀软对恶意代码进行调试和分析,从而增加检测的难度。
(5)行为免杀原理:
行为免杀原理是指恶意软件通过模拟合法程序的行为,从而逃避杀软的检测。具体来说,恶意软件会对其行为进行控制,使其在杀软的监控下表现出和正常程序类似的行为特征,从而避免被杀软识别和拦截。
行为免杀实现方式包括但不限于以下几种:
- 模拟合法应用:恶意软件会模拟一些常见的合法应用,如浏览器、邮件客户端等,以便在运行时不被杀软识别为恶意程序。
- 动态行为模拟:恶意软件通过分析杀软的行为检测方法,模拟正常程序的行为,从而避免被杀软检测出异常。
- 加密压缩:恶意软件会将自己的代码进行加密和压缩,使得杀软无法识别其真实行为。
- 突发行为:恶意软件会等待一段时间后再开始执行恶意行为,以便避免被杀软及时发现。
二、反病毒技术
1、单机反病毒
(1)概念:
指在单一计算机上运行的一种反恶意软件程序,它能够检测并清除计算机系统中的恶意软件,包括病毒、木马、蠕虫、间谍软件等等。它可以通过对系统文件、进程和注册表的监控,来识别和消除恶意软件。
(2)检测工具:
<1> 作用:病毒检测工具用于检测病毒、木马、蠕虫等恶意代码,有些检测工具同时提供修复功能
<2> 常见的病毒检测工具:
TCP view、Regmon、Filemon、Process Explorer、IceSword、Process Monitor、Wsycheck、SREng、Wtool、Malware Defender等
<3> 例:Process Explorer
Process Explorer 是一款增强型任务管理器。可以查看进程的完整路径,识别进程,查看进程的完整信息,关闭进程等。
任务管理器也常常被安全专家用来检测和识别恶意软件或黑客活动。
(3)杀毒软件
<1> 杀毒软件主要通过一些引擎技术来时间病毒的查杀,比如以下主流技术:
- 特征码技术
杀毒软件存在病毒特征库,包含了各种病毒的特征码。特征码是一段特殊的程序,从病毒样本中抽取而来,与正常程序不太一样。把被扫描的信息与特征库进行对比,如果匹配到了特征库,则认为该被扫描信息为病毒。
- 行为查杀技术
病毒在运行的时候会有各种行为特征,比如会在系统里增加有特殊后缀的文件,监控用户行为等,当检测到被检测信息有这些行为特征时,则认为该被检测信息为病毒。
<2> 常见杀毒软件:瑞星、金山毒霸、360安全软件、卡巴斯基等
2、网关反病毒
(1)概念:
网关反病毒是指在企业或组织的网络出口设备上,采用特定的技术手段对通过该设备的网络流量进行实时的病毒检测和清除的安全防护措施
(2)以下场合中,通常利用反病毒特性来保证网络安全:
- 内网用户可以访问外网,且经常需要从外网下载文件
- 内网部署的服务器经常接受外网用户上传的文件
(3)部署:
FW作为网关设备隔离内、外网,内网包括用户PC和服务器。内网用户可以从外网下载文件,外网用户可以上传文件到内网服务器。为了保证内网用户和服务器接受文件的安全,需要在FW上配置反病毒功能。在FW上配置反病毒功能后,正常文件可顺利进入内部网络,包含病毒的文件则会被检测出来,并被采取阻断或告警等手段进行干预。
3、反病毒工作原理
(1)首包检测技术
通过提取PE(Portable Execute;Windows系统下可移植的执行体,包括exe、dll、“sys等文件类型)文件头部特征判断文件是否是病毒文件。提取PE文件头部数据,这些数据通常带有某些特殊操作,并且采用hash算法生成文件头部签名,与反病毒首包规则签名进行比较,若能匹配,则判定为病毒。
首包检测技术通常包括以下步骤:
- 数据包分析:首先对接收到的数据包进行深入分析,提取其中的各种信息,如源地址、目的地址、协议类型、端口号等等。
- 判断特征:根据预设的规则和算法,判断该数据包是否包含有恶意流量的特征。这些特征可能是与已知恶意软件或攻击行为相关的代码或数据段,也可能是一些异常行为或不符合协议规范的数据包。
- 处理流程:一旦发现数据包中存在恶意流量的特征,首包检测技术会触发相应的处理流程,例如将该数据包丢弃或者进行隔离处理,防止其对网络造成危害。
(2)启发式检测技术
通过分析程序行为、代码特征和其他相关信息来检测和识别未知病毒和恶意软件。
实现方式:
- 根据病毒特征和行为模式,构建病毒特征库,用于与目标程序进行匹配和比对。
- 对目标程序进行动态分析,获取其运行行为和代码特征,与病毒特征库进行比对,查找是否存在病毒特征和行为。
- 如果目标程序存在病毒特征和行为,启发式检测技术会触发警报,并采取相应的防御措施,如隔离、删除或加密处理。
(3)文件信誉检测技术
通过对文件的来源、发布者、下载量、用户评价等多方面的综合评估,来判断文件是否可信的技术。其基本原理是通过收集和分析大量的文件信息,建立信誉评估模型,对文件的信誉进行预测和评估,以达到防止恶意文件传播的目的。
文件信誉检测技术常见的方法包括:
- 文件来源检测:通过判断文件的来源,如官方网站、知名厂商或不可靠的第三方网站等,来判断文件的可信度。
- 发布者身份验证:通过对文件发布者的身份进行验证,如身份证、信用卡、手机号等,来确定其是否为可信的发布者。
- 下载量评估:通过对文件的下载量进行评估,如下载次数、下载速度等,来判断文件的受欢迎程度和可信度。
- 用户评价分析:通过对用户对文件的评价进行分析,如好评率、差评率、评价内容等,来判断文件的好坏程度和可信度
PS:文件信誉检测依赖沙箱联动或文件信誉库
4、反病毒处理流程图
处理过程:
- 网络流量进入智能感知引擎后,首先智能感知引擎对流量进行深层分析,识别出流量对应的协议类型和文件传输的方向。
- 判断文件传输所使用的协议和文件传输的方向是否支持病毒检测
- 判断是否命中白名单。命中白名单后,FW不会对文件做病毒检测
- 针对域名和URL,白名单规则有4种匹配方式:前缀匹配;后缀匹配;关键字匹配;精确匹配
- 进行病毒检测
- 当NGFW检测出传输文件为病毒文件时,需要进行如下处理:
[1] 隔离文件:当NGFW检测到文件为病毒文件时,首先需要将该文件隔离,以避免病毒在网络中继续传播。隔离可以将文件移至隔离区域,或者直接将文件删除。
[2] 报告:隔离文件之后,NGFW应该生成报告并通知管理员或其他相关人员,说明检测到病毒的类型和文件的来源。这有助于组织采取相应的应对措施,以减轻病毒对网络和系统的影响。
[3] 清除病毒:为了从网络和系统中完全清除病毒,NGFW需要采取措施来对受感染的主机进行扫描和清除。这可以通过安装并运行反病毒软件来完成。
[4] 防止再次感染:在清除病毒之后,NGFW应该采取一些措施来确保系统和网络不会再次被感染。例如,可以更新防病毒软件、升级防火墙规则,或加强系统和网络安全性等等
5、反病毒基本配置思路
例:
(1)查看反病毒配置文件所支持的协议:
(2)内网去往web服务器,需要配置反病毒文件
- 下载:
- 上传: