防病毒软件

病毒概念:

病毒是一种恶意代码,可感染或附着在应用程序或文件中,一般通过邮件或文件共享等协议进行传播,威胁用户主机和网络的安全。有些病毒会耗尽主机资源、占用网络带宽,有些病毒会控制主机权限、窃取用户数据,有些病毒甚至会对主机硬件造成破坏。

恶意文件绕过

随着诸如云查杀这类技术的发展,很大程度上提高了病毒查杀的效率。但是病毒的防杀功能,也在不断提升。比如通过多层压缩或者加大了病毒自身的体积,跳过扫描引擎的分析。前文已经说过,扫描引擎需要对文件进行分析,文件越大,性能损耗越大。所以一般在进行病毒扫描的时候,会跳过设置的大小以上的文件。更加高速、自动化生成的变种,导致了病毒特征码无法及时的更新,从而针对较新的的变种病毒无法产生较好的防护效果。另外还有加壳技术的使用,将病毒进行加壳处理,使得安全人员无法提取出代码中的特征码,躲避杀毒软件的查杀,病毒作者可以通过给老病毒加壳,大批量制造出杀毒软件无法识别的新病毒。如下图所示,是深信服EDR程序关于扫描文件大小跳过和压缩包层数的设置,各商业杀毒程序都会有对应的设置项,以平衡安全效果以及性能影响。

上述的这些方式,都可以大大的减弱杀毒引擎的杀毒能力,在这种情况下,迫切需要通过一种更加合适的病毒特征码识别方法,来解决病毒问题。启发式检测的方式应运而生,成为了解决这些问题的最佳途径。

病毒特征码识别

早期病毒类型相对较为固定,基本一个文件即为一个病毒,功能相对较为单一。有了病毒的存在,也就逐步产生了病毒的识别和处置方法。在早期,主要通过特征码检测的技术来进行病毒的识别。这里所谓的特征码,我们可以理解为在某个病毒文件样本中,常见的连续字节序列。这意味着如果在某个文件中,包括了这个连续的字节序列,那么该文件基本已经被病毒感染了。在未受到感染的文件中,是不会找到这些连续的字节序列的。当然,对于这个连续的序列,也就是特征码,具体的识别和选取有多种方式。

计算校验和

计算校验和是最简单最快速的方式,原理就是针对病毒文件直接进行如MD5的校验和计算。MD5是对一段信息产生信息摘要,这个信息摘要可以理解为是唯一的,并且不可逆向计算,具备防止被篡改的特性。也就是说,通过MD5计算,在获取病毒文件摘要的信息后,可以使用这个摘要去标识一个病毒文件。将所有的病毒MD5值进行收集,在后续进行可疑文件分析时,仅需要计算可疑文件的MD5值并与病毒MD5值比较即可。这是最早的病毒识别方式。也是早期专杀工具所采用的方式。但是采用这种方法,存在很大的弊端。因为MD5具有高度的离散性,一个病毒文件中任何一个小的改动,都会影响生成的计算结果。这也就导致了一种特征码只能匹配一个病毒,即便病毒的变动很小,也需要重新提取特征码。最终的结果就是导致特征码库会异常的庞大,所以这种方式也一般用于临时提取特征码。

如下4张图所示,分别为名为“我的md5.txt”文件,在内容为10个1以及9个1的情况下,进行了MD5计算。虽然在文本文件中,仅变化了一位,但是我们可以看到,实际MD5的值的变化,已经千差万别,完全看不出任何规律。病毒文件的特征码,就是这个原理。

提取特征字符串

在通常情况下,同一类病毒和核心代码部分,基本是一致的,比如病毒是针对内存中某个位置的操作的代码,针对操作系统某项功能进行操作的代码。针对这一个特点,就可以通过提取病毒文件中的一些固定的字符串来进行识别。通常使用的是逆向反编译的工具,对病毒程序进行反编译,获取代码字段。很多时候,这些字符串是某个病毒所特有的,因此这种方式适用于所有病毒的特征码的提取。采用这种方式甚至还能识别某一大类病毒,但是缺点是需要耗费比较多的扫描时间。

如下图所示,为通某编辑工具打开everything.exe程序显示的情况,如果该程序中存在病毒代码的话,那么可以通过分析,确定代码的标识字段,这种方式生成的的字符串,即为特征字串。

在后期进行病毒识别时,只需要按照相似的过程,并且比对特征字串,即可确定是否包含病毒。

两段检验和形式

两段检验和这种方式,是在病毒文件中选择两个特殊位置的数据,一般这两个位置的数据都能够代表该病毒文件的特性。将这两段的数据的校验和计算出来。在检测扫描目标程序时,先计算目标文件在该位置处的校验和的值,通过判断是否符合相应的特征码来判定目标程序是否为病毒程序。

两段检验和方法的准确率高,耗时也比较少。很多时候能够利用一个特征码检测出同一类的病毒。

反病毒概念:

  • 反病毒是一种安全机制,它可以通过识别和处理病毒文件来保证网络安全,避免由病毒文件而引起的数据破坏、权限更改和系统崩溃等情况的发生。

  • 反病毒功能可以凭借庞大且不断更新的病毒特征库有效地保护网络安全,防止病毒文件侵害系统数据。将病毒检测设备部署在企业网的入口,可以真正将病毒抵御于网络之外,为企业网络提供了一个坚固的保护层。

反病毒原理

  1. 病毒特征识别:反病毒软件维护了一个病毒特征数据库,其中包含已知病毒和恶意软件的特征描述。当反病毒软件进行扫描时,它会将文件和程序与这些特征进行比对,以确定是否存在已知的病毒或恶意代码。

  2. 行为分析:除了病毒特征识别,反病毒软件还会对文件和程序的行为进行分析。它会监视程序的活动,检测是否有可疑的行为模式,例如修改系统文件、访问敏感数据等。如果发现可疑行为,软件可能会标记该程序,并进一步进行深度扫描和分析。

  3. 签名更新:由于新的病毒和恶意软件不断出现,反病毒软件需要及时更新其病毒特征数据库。这通常通过定期下载更新文件或从云端服务器获取最新的病毒签名来实现。签名更新能够使反病毒软件具备识别和防御新威胁的能力。

  4. 清除和隔离:如果反病毒软件发现感染的文件或程序,它可以采取措施来清除或隔离这些恶意代码。清除操作通常是将病毒或恶意代码从受感染的文件中删除,使文件恢复正常。而隔离操作则是将受感染的文件放入特殊的隔离区域,以防止其进一步传播和对系统造成更大损害。

  5. 实时保护:反病毒软件提供实时保护功能,监控计算机系统的关键区域,并阻止潜在的威胁。这包括监视文件的创建、修改和执行等活动,以及检测网络流量中的恶意行为。如果发现可疑活动,反病毒软件会立即采取措施来阻止或清除威胁。

配置反病毒的思路

  • 反病毒功能和特征库的升级需要License(许可证)支持。License加载前,反病毒功能可配置,但不生效。License加载完成后,需要手动加载AV特征库,才能正常使用反病毒功能。License过期后,用户可以继续使用反病毒功能,但不能获取最新的反病毒特征库。

  • 反病毒可以检测zip、gzip和tar类型的压缩文件,支持检测1-8层压缩层数的文件默认支持层数为3层

反病毒配置思路:

  1. 定义反病毒配置文件

  2. 安全策略调用内容安全反病毒,注意提交配置

  3. 测试检查

反病毒排错思路

  1. 是否有反病毒授权,是否升级病毒特征库

  2. 有没有配置病毒例外、应用例外

  3. 安全策略是否调用

  4. 是否提交

病毒扫描引擎

前文我们讲述的是如何获取一个病毒的特征码,只有获取了特征码之后,才可以通过与特征码进行比较来确定文件是否包含病毒。这个获取文件相关信息,以及比对特征码的具体过程,是不可能靠手工完成的,大量的工作,必须依靠分析比对的引擎,这就是病毒扫描引擎。

扫描引擎是识别病毒文件和最核心部分,一个扫描引擎一般包括了自动化恶意软件处理机制,规定了恶意软件入口点,以及匹配特征的工作。扫描引擎以病毒特征库为基础,通过引擎的识别和分析功能,将文件的分析数据与特征库比对,最终进行病毒文件的确认。这些病毒库以及整个扫描比对过程都是在终端本地进行的,无论是分析过程还是比对过程,都需要损耗终端的性能。因此衡量一个扫描引擎的优劣,终端的资源占用情况非常重要,商用杀毒产品通常会把终端资源占用情况,作为产品的一个重要指标。除了对于终端资源的占用,对抗变种病毒的能力,对抗免杀的能力,以及稳定性和兼容性,都是对扫描引擎评价的重要指标。对于变种病毒和对抗免杀能力,后文我们会进行介绍。

云查杀技术

在进行可疑病毒文件分析的时候,病毒库的使用需要先加载到内存中,随着病毒的种类越来越多,病毒库也会越来越大,终端本地的庞大的病毒库导致了系统运行越来越慢,虽然解决了终端安全问题,但是带来了其他的可用性问题,这就违背了扫描引擎的初衷。同时对于病毒特征库的优化和扫描引擎的优化,也就尤其的重要。也是在这样的条件下,产生了云查杀技术。

传统的杀毒软件,需要用户不断地升级病毒库,将病毒特征码保存在本地的计算机中,这样才能够让本地的杀毒软件能够识别各种各样的新式病毒。这种方式,一方面占用了过多的本地资源,另一个方面,也存在很大的滞后性。通过云查杀可以很大程度解决上述的问题。

所谓云查杀,就是把安全引擎功能和病毒特征库放在云端,而非本地的终端设备。这种方式,解放用户的个人终端,并而获取更加优秀的查杀效果、更快的安全响应时间、更小的资源占用以及更快的查杀速度,并且无需升级病毒木马特征库。

在云端的服务器,也不仅仅是一台独立的服务器,可能是成百上千台服务器,并且通过一定的网络技术,实现了终端异常文件的快速上传和快速分析。云查杀病毒库,具备实时共享的特性,查杀能力更为精确、有效,云查杀是对付病毒非常有效的方法。

既然称为是云查杀,终端环境就必须与云端相通,这就要求用户终端必须连接互联网,否则无法完成病毒的查杀任务。另外用户隐私的泄露问题也是云查杀技术必须要解决的问题。

启发式检测

启发式检测,不同于病毒文件特征码,不是针对病毒文件的特征字段进行识别和匹配。而是基于专家的分析,使用各种决策规则或权衡方法确定系统对特定威胁或风险的敏感性,多标准分析(MCA)是衡量的手段之一。用通俗的话来解释,就是病毒和正常程序的区别可以体现在许多方面,不仅仅是在代码的内容上。比如在病毒程序的指令上,病毒指令通常会直接操作系统进行写盘、解码的指令,这种操作方式一般是很少出现在正常程序中的。正常程序一般会进行清屏或者保存原来的屏显等操作。这种非常显著的差异,对于一个病毒分析专家来说,是很容易发现的。启发式检测就是通过将专家的类似的能力进行转化,转化为规则库,规则库中,不是病毒代码的特定字串,而是在特定时间或者特定内存位置执行的某些操作等。

启发式检测实际上就是把专家经验和知识移植到一个查病毒软件中的具体程序体现。

启发式模型专门用于发现可疑特征,这些特征可在未知,新病毒和现有威胁的修改版本以及已知的恶意软件样本中找到。但是,这个过程就类似于警察抓小偷一样,在车站看到某个人贼眉鼠眼,行为诡异,怀疑他是小偷,但是他也不一定就是一个贼。同样的,启发式检测就会存在一定的误报情况。

启发式的检测,可以进行内存的动态扫描,也就是在内存中进行查找,就可以解决病毒加壳、大体积病毒跳过以及多层压缩等问题。因为即使加了壳,在运行的时候,内存的位置和操作还是一样的。

过去的特征码检测方式,一千条特征,对应了一千中加壳的病毒。使用启发式检测,扫描内存只需要一条特征。实际是在病毒在运行过程中,抽取特征进行匹配。获取它的状态特征和行为特征。针对特征码检测与启发式检测的区别如下表所示:

动态智能安全XDR

虽然很多企业都部署了安全设备,但是经常会出现在安全设备感知到病毒存在的时候,往往是在病毒入侵事件已经发生之后。当然,在安全设备上也存在大量的日志,但是这些日志中,哪一个是有效的,哪一个是误报的,一般安全管理人员很难快速的辨别。无用的信息轰炸可能会导致了看和不看没有什么区别。

产生上述问题的主要原因是,安全攻击更加专业化,多面化,攻击维度从内到外,钓鱼、社工大量使用,很难通过单一方面的安全设施进行确定和解决。其次,安全设备独立使用,存在安全孤岛,安全检测能力割裂。还有就是处理问题人员的能力不足,无法真正溯源,根治问题,只能头痛医头,脚痛医脚。为了解决这个问题,出现了很多方案,如依托SIEM平台来做事件汇总,依托流量感知定位风险,依托SOC平台构建安全运营中心。但是都未能很好的解决这些问题,在这种情况下,就产生了XDR。

XDR是一种基于SaaS的、特定于供应商的安全威胁检测和事件响应工具,可以将多个安全产品原生地集成到一个统一的安全运营系统中,以统一所有授权的安全组件。这是Gartner对于XDR的定义。 我们以深信服的XDR产品为例。深信服XDR通过原生的流量采集工具与端点采集工具将关键数据聚合在XDR平台,通过云端专家服务提供威胁狩猎能力,提供SAAS化交付方式实现在线化效果。简单来说,就是通过EDR安全日志、NDR安全日志以及如边界安全防火墙等安全设备日志进行综合的安全问题分析和识别,持续的检测和评估,并提供有效的监测预警,达到安全防护的效果,避免无效安全日志的轰炸。同时依托产品的联动,可以直接进行安全事件处置,还可以有效的确定病毒攻击链,从根源上解决问题。

防火墙反病毒检测技术:

  • 首包规则检测技术:首包检测技术通过提取PE文件头部特征判断文件是否是病毒文件

  • 高危特征检测技术:通过查看整个文件内容,查询更加严格

病毒检测–基于流的文件检测:

NGFW采用了基于流的文件处理机制,能够接收文件片段并执行安全检测。IAE引擎的安全检测是并行的,这样,文件传输时延小,整体性能更高,用户体验也比较好。

厂商:(绿盟,深信服)

  1. 绿盟(Greenbone):
  1. 启明星辰(Venustech):
  • 星辰终端安全管理系统(QVM):提供实时的病毒防护、威胁检测和应急响应功能。

  • 官方网址:启明星辰

  1. 华为(Huawei):
  1. 深信服(Sangfor):
  • 深信服云上安全防护平台(Sangfor Cloud Security):提供多种云上安全功能,包括反病毒、入侵防御和应用安全等。

  • 官方网址:https://www.sangfor.com/cloud-security/

  • 21
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zh&&Li

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值