基于计算机网络的蠕虫防御和检测技术
2022-05-18许冬燕魏蜜蜜
许冬燕 弭 妍 魏蜜蜜
(山东外事职业大学信息与控制工程学院,山东 乳山 264504)
在信息时代,计算机网络安全直接决定了个人的隐私安全,同时也影响着社会经济的发展。蠕虫(Worm)是一种常见的恶意代码,可以在计算机的程序文件中自动复制,并借助于网络进行传播、蔓延。根据其传播途径的不同,又可分为Email 蠕虫、IM 蠕虫、Internet 蠕虫和IRC蠕虫等若干种。近年来,网络蠕虫呈现出种类更加多样、隐蔽性更强、危害后果更为严重等一系列特点,在这一背景下关于网络蠕虫的主动防御和智能检测技术成为热门研究课题。
1 蠕虫的网络增长模式分析
蠕虫会通过自我复制实现数量的指数式增长,决定其增长速度的主要因素有两个:其一是网络中存在有漏洞主机的数量,其二是被感染率。通常情况下,在蠕虫感染初期会以指数形式快速增长,在达到一定的数量级后趋于平稳。蠕虫增长的数学模型为:
式(1)中,a 代表某个网络中所有存在漏洞的主机的感染率,t 代表时间,K 代表初始化感染率。由该式可以看出蠕虫的增长率是一个随机常量,对式(1)解微分方程后可得:
式(2)中T 代表蠕虫开始增长时的时间常量。该增长模型可适用于大多数蠕虫,但是不同蠕虫的K 值存在较大差异,K 值越大,则说明这类蠕虫在单位时间内感染主机的数量更多。但是由于同一网络内存在漏洞的主机的数量是一定的,因此当感染规模达到一定数量级后,将不会再有新的主机被感染,不同K 值对蠕虫增长的影响如图1 所示。
图1 蠕虫增长模型图
由图1 可知,在K=5 时,蠕虫大概需要25s(5s-30s)才能达到最大感染规模;在K=10 时,蠕虫大概需要(8s-31s)23s 达到最大感染规模;而K=20 时,仅用9s(32s-41s)就达到了最大感染规模。
2 一种基于网络的蠕虫防御和检测技术
2.1 企业网络安全架构
现阶段常用的企业网络安全架构包括了路由器、防火墙、入侵检测系统和蜜罐系统等,如图2 所示。
图2 企业网络安全架构
由图2 可知,来自于外部Internet 上的数据流量或者访问行为,首先经路由器到达企业级防火墙,并激活入侵检测系统(NIDS),经过防火墙的过滤和NIDS 的检测后,确定数据信息和访问行为安全后,才允许进入到企业网络。另外,为了切实维护企业商业机密的隐私和重要数据的安全,企业的内部访问网络和外部公共访问网络相互独立,并且各自部署了蜜罐系统。除此之外,一些企业网络系统中还会使用到黑洞技术、路由器访问控制列表保护技术等,对防御主机遭受网络的攻击也有重要作用。
2.2 防火墙保护
防火墙保护的机理是由系统默认或者用户自定义的规则,对所有外部传输流量及访问行为进行过滤,从而达到保证网络访问安全的目的。常用的防火墙可分为三种,一种是基于网络流状态跟踪的Stateful 防火墙,它能监视应用层的协议,判断执行该协议的各项命令是否正常。除此之外还有Nonstateful 防火墙和代理防火墙。防火墙在抵御蠕虫感染和攻击时,最直接的方式是关闭网络端口,从而切断本地主机与外部网络之间的数据交换。通过切断蠕虫传播途径,达到保护网络安全目的。蠕虫进行网络攻击时常用的漏洞和端口如表1 所示。
表1 网络蠕虫利用的漏洞和对应端口
当然,防火墙本身也会存在一些漏洞,而随着蠕虫的不断升级迭代,他们也会利用防火墙的漏洞进行攻击和传播,因此企业需要对防火墙进行不断的升级、打补丁,从而保证防火墙在防御和检测蠕虫方面发挥作用。从企业安全角度考虑,仅用边界防火墙显然不能满足安全需要,在将防火墙作为企业网络安全第一道屏障的基础上,还要综合运用网络入侵检测技术、蜜罐技术等进一步提高整体安全性。
2.3 入侵检测
入侵检测(IDS)是一种对网络传输进行即时监视,并且在发现可疑传输时发出警报或采取主动防御措施的网络安全技术。按照数据来源进行划分,又可分成面向主机的入侵检测系统(HIDS)和面向网络的入侵检测系统(NIDS)。前者的检测数据主要是主机中的日志文件、审计记录等,而后者以网络流量为主。入侵检测流程如图3 所示。
图3 入侵检测示意图
结合图3,当用户或者攻击者从外部网络访问企业信息系统时,首先由防火墙进行初步过滤,杜绝异常访问。然后通过特征检测器识别访问对象,同时向异常检测检测单元发送Web 请求。异常检测器接收到该请求后,利用数学模型进行异常检测,并判断有无异常行为。将检测结果反馈给训练控制台,最终由安全管理终端下达指令。如果经检测无异常,则允许访问者正常获取审计日志等文件信息;如果经检测发现有异常,则判断为入侵行为,终止其访问行为,从而保证审计日志的安全。
2.4 蜜罐技术
蜜罐(Honeypot)的机理是人为设置网络陷阱(即蜜罐),诱骗攻击者将主要的资源和时间都放在攻击蜜罐系统上,并暴露自己的攻击模式。现阶段很多比较先进的蜜罐系统,还能在受到攻击后作出相应的应答,让攻击者产生错误判断,继续执行攻击行为,在这一过程中让网络安全员或网络安全系统了解更多的技术细节,以便于根据攻击模式提供针对性的防御策略,甚至逆向追溯攻击者的IP 地址,达到打击网络犯罪的效果。现阶段蜜罐技术已经趋于成熟,并且衍生出了多种类型,例如按照交互程度的不同,可分为高交互蜜罐与低交互蜜罐,按照蜜罐是否真实可以分为实系统蜜罐、伪系统蜜罐等。在企业网络安全系统中,基于蜜罐的网络拓扑结构如图4 所示。
图4 基于蜜罐技术的网络拓扑结构
根据图4,网络安全系统在截取外部访问行为后,可直接进行攻击检测,也可基于人工智能的机器学习进行引擎检测,进一步判断是否存在隐蔽的攻击行为。如果发现有攻击行为,则直接进行攻击预警。完成攻击检测后,对于已经确定的攻击行为,则引导其攻击伪装服务器;如果未发现攻击行为,则正常访问真实服务器。其中,伪装服务器与真实服务器的服务功能相同,但是只保留了没有保密价值的数据。即便是攻击者最终破坏了伪装服务器的防火墙系统,也无法得到有价值的信息,从而让真实服务器的核心数据得到了保护。
2.5 白色蠕虫与反击技术
白色蠕虫(Ethical Worm)是利用应用补丁或者加固配置等方式,在检测到有蠕虫入侵,但是尚未侵占系统之间进行网络安全漏洞的修复,从而达到保护数据安全的一种技术手段。在传统的网络安全管理模式下,每当发布一个新的补丁时,系统管理员首先要判断系统是否需要安装该补丁,然后进一步验证补丁的真实性,以免安装了被攻击者伪装成补丁的恶意代码。验证通过后再安装补丁,修补系统的安全漏洞。整个过程不仅操作繁琐,而且浪费较多时间。相比之下,利用白色蠕虫技术则可以省略上述步骤,自动修补安全漏洞,有效遏制了蠕虫的大规模爆发,从而以更快的速度、更少的资源消耗,达到了保护系统安全的目的。另外,白色蠕虫技术除了可以作出主动防御外,还具备反击功能,主动清除主机内感染的蠕虫。
3 基于计算机网络的蠕虫防御与检测系统的设计与实现
3.1 实时监控模块设计
由于主机感染蠕虫后,短时间内蠕虫就会通过爆发式增长对其他主机造成破坏,因此必须要设计实时监控模块,保证在蠕虫感染初期、尚未造成严重损失前进行检测、识别,进而采取主动防御或清除措施。实时监控模块的进程操作可以用PsSetCreateProcessNotifyRoutine()函数来实现,函数原型为:
该 模 块 的 线 程 操 作 可 以 用PsSetCreateThreadNotifyRoutine()函数来实现。以上函数由Windows 2016 server 系统的ntoskrnl.exe 提供,并支持在用户态程序中调用。基于用户态I/O 口的请求调用流程如图5 所示。
图5 I/O 请求流程图
基于I/O 实时传输检测信息,实现对计算机网络进程和线程的全过程、动态化监控,一旦发现有蠕虫感染或攻击,则立即进入主动防御姿态,利用防火墙、蜜罐、Ethical 蠕虫反击等技术保护网络系统安全。
3.2 内核服务函数挂钩模块
挂钩技术(Hooking)可以拦截在软件之间传递的信息、时间或函数调用。当检测到系统被蠕虫入侵时,利用挂钩技术可以强制暂停系统调用,从而达到终止入侵行为、保护系统安全的效果。在本系统设计中,使用了基于核心态的挂钩模块。针对常见的蠕虫类型,设计不同的调用函数并存储在系统中,利用挂钩用户模式下的API函数可以检测出蠕虫攻击。例如,将Blaste 蠕虫注入到wvchost.exe 进程的rpcss.dll 中,调用CreateProcesss ()函数,该函数的返回地址在栈中,由此可以检测出Blaster蠕虫的攻击。
4 结论
蠕虫感染和攻击已经成为现阶段威胁网络安全的一种主要形式,为切实保护网络安全和用户隐私,必须要提高对蠕虫的检测精度和效率,在及时、准确识别蠕虫之后,立即采取主动防御或者清除措施,消除蠕虫的安全威胁。目前来看,防火墙保护、入侵检测、蜜罐技术以及Ethical 蠕虫反击技术等,在保护计算机网络安全方面均发挥了积极作用。当然,随着蠕虫自身的不断更新迭代,相应的防御和检测技术也必须持续创新,才能始终发挥系统保护作用。