本文针对网络与信息系统主动防御技术方法,以漏洞触发条件、漏洞利用成因、控制机理为基础,研究网络与信息系统主动防御技术,针对攻击者攻击前的扫描探测、攻击中的提权、攻击后的破坏等行为,探索研究针对网络与信息系统攻击各环节中应该采用怎样的主动防御技术方法,梳理形成主动防御技术体系和实现方法,为网络与信息系统安全保护提供技术支撑。

一、漏洞规避、主动防御等尚存技术差距

在网络与信息系统安全技术领域,我国入侵检测、病毒查杀、防火墙、安全网关、认证与加密、漏洞扫描、统一威胁管理等技术产品相对成熟,部分已接近或基本达到国际先进水平,但是,在漏洞规避、主动防御等方面尚存在技术差距,漏洞攻击各环节的主动防御技术体系设计与建设有待完善。

虽然我国已积极在新兴领域前瞻布局,但是,云安全产品、数据防泄漏、APT攻击检测防御、智能制造安全防护等方面多为刚刚起步,数据挖掘、关联分析、机器学习、智能感知等技术能力不足,成熟产品种类少、产品适用性有待检验。我国尚需加快防火墙、入侵防御等网络与边界安全类产品,病毒查杀、身份管理与访问控制、内容安全管理等终端安全类产品的创新和应用。

其中,入侵防御系统等安全产品具有一定程度的主动防御行为,是早期的专家系统,是初级的智能系统。目前,市场上已经出现带有机器学习的智能防火墙产品,防御关口前移的防扫描、反扫描类安全产品,拟态防御产品也带有主动防御技术,能实现在有毒带菌环境下保证系统安全运行,只是需要进一步加快实用化进程。这些产品都具有不同程度的主动防御技术和理念,给网络安全防护技术进步和产业发展带来积极影响。

二、从源头上规避漏洞威胁的技术方法

开展漏洞防护技术研究,探索从源头上规避漏洞威胁的技术方法,在深入分析漏洞利用成因和控制机理的基础上,初步提出规避零日漏洞、未知漏洞的新方法,较全面地研究漏洞利用各个环节的触发条件及行为方式,对漏洞的利用实现多层次的阻断,形成漏洞利用全生命周期的规避能力,以实现最佳漏洞规避效果。溢出漏洞防御、基于行为分析和过滤的防护、基于保护膜的系统清洗、网络应用净化、漏洞探测屏蔽等技术,都是规避漏洞威胁的技术方法。

1.漏洞探测屏蔽技术研究

网络攻击的前提是能够发现目标系统中存在的漏洞信息,如果能够将攻击者针对攻击目标的漏洞扫描行为进行拦截,就可以有效保护网络安全。基于规则推理的探测报文判定模型、基于信息熵的加密流量识别方法以及Web注入探测检测等关键技术,实现了对进入受保护系统的网络流量的深度感知,并实现对恶意报文进行丢弃以阻断攻击,对滥用报文进行限制,从而保护目标系统安全。

2.溢出漏洞防御技术研究

缓冲区溢出是一种非常普遍、非常危险的漏洞,在各种操作系统、应用软件中广泛存在,利用缓冲区溢出攻击,可以导致程序运行失败、系统关机、重新启动、获取系统root权限等严重后果,如何有效阻止本地缓冲区溢出攻击,是实现系统防御的关键环节。通过整合零日溢出漏洞防御技术与内核级漏洞利用阻断技术,深入研究溢出漏洞跟踪中的污点标记技术、基于虚拟执行的溢出漏洞监控技术、基于动态地址漂移的漏洞阻断技术、检测堆栈溢出位置的方法、XP中地址空间布局随机化方法、基于代码控制流完整性的漏洞防御技术和基于赋权特征向量的改进攻击树模型检测方法等技术,可以有效发现本地缓冲区溢出攻击行为,并及时进行阻断,以实现系统的安全防护。

3.基于行为分析和过滤的防护技术研究

传统基于规则的主动防御仅仅只是将当前的操作与预置的规则库进行比对,如果比对成功,表示操作属于威胁操作,则将其终止、阻拦,此方法误报率较高,对于大型网络将会产生很多无用的数据。通过研究超微粒度行为监控融合、面向恶意指令的攻击识别、基于规则库的行为分析识别等技术,对行为动作关联分析,匹配行为规则库,并在系统中安装多种监测手段获取系统资源访问、系统API的调用信息,结合动作发生时的环境,将动作精确定位到模块和线程,同时记录处理结果,以实现基于行为分析和过滤的安全防护。

4.网络应用净化技术研究

分析网络应用漏洞技术原理,探索数据库注入、代码注入、信息探测等防护与规避方法,研究数据库异常操作规避、面向攻击端的深度人机识别等技术方法,以实现网络应用的安全防御。

5.基于保护膜的系统清洗技术研究

针对目前操作系统没有快速系统还原问题,研究基于保护膜的操作系统清洗技术,以实现对操作系统中的数据安全保护、快速清洗还原和应急恢复。研究操作系统内核的映射机制,提出一种从逻辑设备到物理设备的映射框架机制,制定实现存储资源的管理策略,当操作系统或数据受到破坏时,以实现系统或数据的快速恢复。

三、形成主动防御技术体系和探索实现

技术实现方法研究主要包括漏洞探测屏蔽、溢出漏洞防御、基于行为分析和过滤的防护、网络应用净化和基于保护膜的系统清洗五个方面。

1.漏洞探测屏蔽技术实现

针对攻击发起的前置环节(扫描探测),研究多种探测技术原理及屏蔽方法,包括端口探测屏蔽技术、Web注入探测屏蔽技术、系统服务探测屏蔽技术等,综合利用模式匹配算法、新型网络数据流处理框架,研制漏洞探测屏蔽原型系统,实现对漏洞攻击发起前置环节的有效规避。

1)端口探测屏蔽。分析SYN、Connect、ACK、FIN、Xmas、NULL、UDP等的扫描机理,梳理各扫描特征,屏蔽这些扫描请求,以实现端口探测屏蔽。

2)Web注入探测检测。针对以SQL注入为代表的Web注入攻击,将截获的TCP报文组合为应用层报文并对其进行base64解码或者html解码,然后对访问网页提交的关键字进行过滤,一旦发现违法的关键字的时,就提示非法访问,并将该IP地址存入服务器黑名单数据库,使该IP不能再访问该网址。

3)基于指纹信息的系统服务漏洞探测屏蔽。攻击者在系统端口扫描完成之后,会针对主机开放的端口发送一些与系统、服务、已知漏洞相关的数据包进行探测,掌握目标主机所运行的系统版本、服务类型及可能存在的漏洞信息,这些探测行为共性特征是通过特定数据包或者是指纹进行检测,对于此类探测行为采用模式匹配的方法进行网络数据包检测,通过分析各种扫描器的指纹库、漏洞库,构建相应的检测规则库,以实现探测屏蔽。

2.溢出漏洞防御技术实现

通过整合零日溢出漏洞防御技术与内核级漏洞利用阻断技术,结合溢出漏洞跟踪中的污点标记、基于虚拟执行的溢出漏洞监控、基于动态地址漂移的漏洞阻断、检测堆栈溢出位置的方法、地址空间布局随机化方法、基于代码控制流完整性的漏洞防御、基于赋权特征向量的改进攻击树模型检测等技术方法,可实现有效发现本地缓冲区溢出攻击行为,并及时进行阻断。

1)溢出漏洞跟踪中的污点标记。通过对不信任的输入数据做标记,动态跟踪程序运行过程中污点数据的传播路径,检测使用污点数据的内存区域以及操作方式,可以检测到敏感数据(如字符串参数)被改写而造成的缓冲区溢出、不可靠数据的非法使用等问题。当来自内存或者网络的数据被用到敏感操作中时,污点分析技术可以提供详细的操作路径,从而根据这种数据流的流向,完整地建立起操作不可靠数据的若干API函数之间的依赖关系。

2)基于动态地址漂移的漏洞阻断。从进程调用、内存检查、路径分析等多个层面,对溢出漏洞进行阻断,研究地址空间布局随机化方法及装置,对应用程序进行强制保护,针对ROP攻击原理,综合运用攻击树模型检测方法,采用多种手段检测发现溢出攻击,并实现阻断。

3.基于行为分析和过滤的防护技术实现

通过采用超微粒度行为监控融合、面向恶意指令的攻击识别、基于规则库的行为分析识别等技术,实现安全防护。其中,超微粒度行为监控融合技术,以行为操作为出发点,融合多种监控技术,对主机操作多关键位置实施监控:通过NDIS驱动控制网络数据流动,可限制进入的数据包,限制用户可以访问的IP、IP段;采用SSDT HOOK方式完成。防止进程被破坏,防止间谍程序对键盘输入信息的记录;进行移动存储控制,防止外部设备对内网的病毒、木马入侵;检测系统自启动的程序是否为合法的程序,保证系统启动的时候只启动经过认证的程序;对系统注册表中关键位置的信息进行检测,防止注册表信息被非法篡改,造成系统安全度降低;实现系统服务控制,防止系统启动一些无关的服务,优化系统速度,降低资源占用等。

4.网络应用净化技术实现

通过研究数据库异常操作规避、面向攻击端的深度人机识别等技术方法,实现网络应用净化,主要包括:

1)数据库异常操作规避。针对SQL注入攻击、异常操作等情况,预先定义含权限、常用语句等内容的规则集,结合Web注入探测检测技术,形成关联规则库并提供修正接口,实现漏洞库异常操作规避。

2)面向攻击端的深度人机识别。深入分析自动化攻击扫描、数据库漏洞探测利用等手段,采用四步动态方法实现人机识别及防护:a)动态封装技术:在敏感位置处(URL、表单等)对网站返回内容的底层代码进行封装;b)动态验证:通过轻量级的反馈包,验证对端是否为正常浏览器;c)动态混淆:对内容以加密矩阵方式进行混淆;d)动态令牌:轻量级程序难以绕过的令牌(如滑动框),根据用户响应进行判定。通过人机识别判定后,进一步执行阻断等操作。

5.基于保护膜的系统清洗技术实现

研究操作系统保护膜技术、系统控制技术、三元映射模型等,构建清洗系统原型,实现攻击完成后的系统状态快速回退、磁盘清洗等。

1)状态回退。使用状态保存功能时,首先根据映射表中的映射关系,将缓冲区中的数据读取出来并写入对应的受保护扇区中,完成对受保护数据的更新操作,然后由磁盘扫描功能对系统盘重新扫描并生成新的保护状态表。

2)磁盘清洗。从系统底层入手,通过映射的方式,将所有对受保护数据的修改都重定向写入到缓冲区中,保护系统文件和数据不被改写,以实现数据遭受攻击破坏后快速恢复的效果。

四、结语

本文对网络与信息系统主动防御技术方法进行了探索研究,涉及攻击者“攻击前”“攻击中”和“攻击后”三个环节,提出了“攻击前”采用漏洞探测屏蔽的方法进行主动防御,“攻击中”采用溢出漏洞防御、基于行为分析和过滤的安全防护、网络应用净化进行主动防御,“攻击后”采用基于保护膜的系统清洗进行系统和数据恢复,初步设计构建了纵深防御技术体系,可为网络与信息系统的主动防御提供技术支撑与方法参考。

(本文刊登于《中国信息安全》杂志2018年第12期)

声明:本文来自中国信息安全,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。