- 收藏
- 加入书签
一种基于流量特性的防病毒网关处理加速方法
摘要:伴随网络带宽的增长和网络病毒的泛滥,防病毒网关作为企业整体防病毒的第一道防线正面临着严峻的性能挑战。受限于现有的技术各大厂家在防病毒网关实现上通常都采用将网络数据包中包含文件的包还原成文件,然后再对文件进行病毒扫描和相应处理。而现有的方法都没有关注带宽和文件数量,而是将网络报文中的全部文件还原再扫描,随着网络带宽的增加,网络中文件数量也随之增加,这就给网关存储空间和性能带来极大的挑战。基于此本文提出了一种基于流量特性的防病毒网关处理加速方法,对网络报文按照流量特性进行过滤,只将符合条件的数据包还原成文件并对其进行检测,减少网关处理文件的系统开销,从而提升网关处理性能,同时减轻系统存储空间的压力。
关键字:防病毒网关;安全网关;网络安全;病毒;
作者介绍:吴颖(1984-),辽宁阜新人,现任职于江苏省未来网络创新研究院,负责网络安全、网络流量分析等软件产品研发和维护工作。研究方向:网络安全、高性能网络数据包处理等。
引言
随着网络飞速发展,新型网络病毒层出不穷,病毒的破坏性也越来越强,传播速度也越来越快,感染对象也越来越广。而网关作为企业内部网络连接到外部互联网的一个“关口”,起着“一夫当关,万夫莫开”的作用。所以网关的防病毒技术在构建网络安全的体系中显得尤为重要。当网关这个“大门”一旦不能守护好,病毒就会趁虚而入,纷纷通过网关进入内网,为企业和个人带来巨大损失。基于网关的重要性,各大企业纷纷开始部署防病毒网关[1-2]。目前国内外防病毒网关产品普遍都是通过将网络中包含文件的数据包还原成文件再处理,暂时还无法做到直接扫描包[1-2]。通常先解码识别数据包中的FTP、HTTP、SMTP、IMAP、POP3等协议,然后再解析对应的协议包中是否存在文件,如果此数据包中存在文件就将其文件还原至指定位置[3],再对文件进行病毒扫描和相应的处理,如果扫出病毒就会直接进行查杀、隔离、删除亦或是告警,在防范病毒入侵保证入口流量清洁和检测出口网络流量避免内网设备成为僵尸等保护内网安全措施方面起到了很大的作用[4]。但随着网络带宽的快速增长,对防毒网关的空间消耗和性能提出了极大的挑战,所以对各大安全厂商来说急需解决的问题就是如何快速地针对性地检测出网络中的病毒和恶意代码,以保护内网的安全。
针对上述问题,本文提出了一种基于流量特性的防病毒网关处理加速方法,针对流量特性对网络数据包过滤,大幅降低系统开销,提升网关整体性能。
相关工作
当下防毒网关技术我们可以将其归纳为两大类:一类是如何进行检测,即对进入网关的数据如何识别它是不是病毒;目前的检测方式有特征码匹配、行为监测、哈希值匹配、校验和等等,其中病毒特征码匹配依然是主流[5],其技术和主机版本的防病毒产品的检测方式几乎是一致的。另一类是如何查杀,即对已检测出的数据如何去查杀。而对进出防毒网关数据如何进行查杀是技术的重点所在。但正如前文所提到的,各厂商受限于现有的技术暂还不能直接查杀包,通用的做法是把网络流量中所包含的文件进行文件还原处理后再扫描查杀。而就如何还原文件各个厂商都有各自独特的方式。可总结分成如下四种方式:第一种,通过代理服务器的方式。代理服务作为中转和过滤设备起到对内网保护的作用。首先在代理服务器上安装部署防病毒引擎,然后当网络流量经过此服务器时,网络中文件的识别和还原动作全部交代理服务器处理,最后用已部署的防毒引擎查杀后再将流量发给用户,充分保护了用户安全。第二种,使用邮件服务器的方式。可以把邮件服务器直接当作网关使用,在此服务器上部署防病毒引擎,对所有进出此服务器的邮件在发送前都会对邮件内容和邮件的附件进行扫描和检测,只对检测通过的邮件进行转发,这就减少了病毒邮件进入内网[5]。第三种,通过防火墙协议还原的方式。即利用防火墙已有的协议还原功能在防火墙内将网络数据包按照其协议还原成文件,再将文件送到另外一台或多台病毒引擎服务器查杀,待返回结果后防火墙再进行相应的处理。第四种,信息渡船方式。通过物理隔离技术将内外网络从物理上隔断而保证逻辑上连通方式来实现信息传递,即在产品内设立一个信息孤岛,在孤岛里安装病毒引擎进行查杀,减少岛内查出的病毒对外界的影响[5]。
以上方式都是针对网络全部流量和全部的文件进行还原处理,没有充分考虑如下两个问题:1)网络流量较大,传输协议较多,对于海量文件的还原对系统空间和性能挑战;2)网络传输中多数文件都是正常的、没病毒的文件,而对于这种文件的处理,无论是还原、检测,还是对还原出来的原始文件的处理,都存在着资源的无效消耗,也影响着网关本身的性能。
我们的解决方法
针对上述所提问题,本文提出了一种学习用户行为,根据用户流量特征来过滤网络数据包,针对性还原和扫描文件的网关处理加速方法。首先,学习用户行为,实时分析记录流量的五元组、病毒文件关键字、url等统计信息生成黑白名单和协议列表等策略条件。其次,根据策略条件过滤,具体是根据黑白名单进行第一次过滤,根据协议列表重设文件还原规则进行数据包的第二次过滤。最后,对过滤出的报文针对性还原并扫描处理。这样不但节省了存储空间和服务器开销,而且保证了网关服务器的性能。如图1所示。给出了防病毒网关的处理流程图,其中紫色部分为数据包原处理流程,而黄色部分为添加本文所提出的基于流量特性的防病毒网关加速处理方法的处理流程,每一部分的具体实施方法过程详见下面章节的介绍。本方法在提高防病毒网关性能、守护内网安全上尤为重要。
用户策略生成
为了生成用户策略我们进行了如下步骤处理:首先,学习并记录用户行为。对进入的网关的流量进行解析,提取报文的五元组、文件名、病毒信息、url和邮件主题等信息,并保存该信息到本地。其次,统计分析用户行为生成策略信息。统计分析一周内未检测出病毒的IP,生成IP白名单列表;统计分析产生病毒的文件名的top10,提取文件名关键字生成文件名关键字黑名单;统计分析用户常用的协议,生成协议列表。再次,根据对应协议提取生成对应的协议列表,再用协议列表更新文件还原规则。对于http协议,统计分析未知的url和产生过病毒的ulr,生成url黑名单列表;pop3/imap/smtp协议,统计分析邮件主题产生过病毒的top10,提取邮件主题关键字生成黑名单列表。最后,循环执行以上行为分析,根据学习到的用户行为实时更新黑白名单列表,每天更新协议列表,生成最终的用户策略。
报文过滤
根据第一部分生成的用户策略条件进行报文的过滤。具体步骤如下:
(1)匹配ip黑名单处理,如匹配直接丢弃,否则直接进入下一步。
(2)提取报文中的文件名:如没有提取到直接进入下一步,否则用提取的文件名去匹配文件名关键字黑名单,如匹配直接丢弃,否则直接进入下一步。
(3)提取网络报文中的邮件主题:如未提取到直接进入下一步,否则用提取到的邮件主题去匹配邮件主题关键字黑名单,如匹配直接丢弃,否则直接进入下一步。
(4)提取网络报文中url:如未提取到直接进入下一步,否则用提取到的url去匹配url黑名单,如匹配直接丢弃,否则直接进入下一步。
(5)提取网络报文的sip与dip白名单匹配:如匹配直接转发不进行任何安全处理,否则直接进入下一步。
(6)检查协议列表是否有更新,默认启动所有协议包括http、ftp、pop3、smtp、imap和smb,如协议列表没有更新,则直接进入步骤(7),否则重设还原文件规则。
(7)解析读取配置:配置文件以json数组格式编写并保存在普通文本文件中,依次读取配置并保存到内存中,具体格式如下:
[ {"protocol":"http", "param_info":[ { "file_type":"xx,xx,xx,xx", "sample":"1:1" }, {"file_type":"xx,xx,xx,xx", "sample":"1:1" },{"other-type":"xx,xx,xx,xx", "sample":"1:10" } ]}]
配置参数说明:
以json标准格式呈现,可以对应添加一个或多个协议,默认情况添加所有协议和文件类型,按照1:1还原。protocol:包含http、ftp、smtp、pop3、smb、imap。file-type:为预设置的文件类型,如exe,dll,com,ocx,vxd,sys,多个时用“,”隔开;sample为采样值,如按照1:1即全量采样;可根据策略以及用户需求灵活添加指定文件类型和对应的采样值other-type:无需配置文件类型,代表除上面配置的file-type文件类型以外的文件类型,比如我们常用的doc,ppt,xls等,也是我们平时网络中传输较多的一种文件类型,这类的病毒形式较少,我们按照1:10,即10个文件中取一个来过滤,或者更大比率的采样率;
以上所有的sample取值全部为可配置,根据网络情况和用户选择设置合适的数据。
(8)动态加载文件规则。
文件还原和检测处理
本部分对过滤出的网络报文针对性还原文件,同时将文件送到病毒引擎扫描处理。具体实现:系统只还原经过前面环节过滤的报文为本地临时文件,并扣留最后一个包;然后将还原出的临时文件送到病毒引擎扫描,如检测结果正常则直接将数据包转发,否则就丢弃扣住的最后一个数据包,并向客户端发送终止消息,阻断病毒进一步传播,以保护内网安全。此方法大大减轻了对带宽的影响。而系统对还原至本地的病毒文件进行隔离或删除等处理,释放系统空间,提升系统存储空间的使用率。
总结
随着网络流量的日益增长和安全问题的日益严峻。本文首先分析了现有的网关防病毒处理方式和技术,但都存在没有考虑大流量对系统性能和空间资源的冲击问题。为解决此问题,本文提出了一种基于流量特性的防病毒网关处理加速方法,本方法有如下优点:1) 提供学习记录用户行为生成相应的策略条件列表,实时掌握用户行为;2) 提供根据用户行为协议列表动态重设文件规则,成功过滤关注的报文,减少带宽无效消耗;3)提供根据学习用户行为分析提取的黑白名单解决以下问题:白名单解决了网络中大部分流量都属于正常流量,而针对这部分流量的还原和检测对资源无效消耗问题;黑名单对关键字的记录和匹配增加病毒扫描精度。4)经过配置规则和黑白名单的匹配策略,检测更加精准、快速,整体提升防毒网关的检测效率。本文所述基于流量特性的防病毒网关处理加速方法,已经应用于生产实践中并取得了很好的效果。但我们的方法也有需改进的地方,比如对加密流量的解析和文件还原支持,以及对用户行为学习的精确度和准确度,以上两个方面也是我们未来继续研究方向。
参考文献
[1]王永祥.谈企业防病毒方案的设计[J]网络安全技术与应用2011(7):7,12-13.
[2]张莲萍.医疗信息系统纵深防御安全模型及风险评价体系[J]系统工程2014(4):151-158.
[3]Suricata. from: https://suricata.io/.
[4]防毒墙网关 - 道客巴巴:https://www.doc88.co.
[5]Clamav.from:https://docs.clamav.net/.
[6]江苏省未来网络创新研究院. 一种基于用户流量特性的防病毒网关处理加速策略[P].中国专利, CN112751839A 2021.05.04

京公网安备 11011302003690号