首页 资讯 招标 项目 展会 更多

位置:首页 > 新闻频道 > 技术动态


基于虚拟执行技术的高级恶意软件攻击在线检测系统

2016-05-27 10:51:39 安装信息网

相关链接: 中国安全网 中国质量网 中国论文网 中国资讯网

 郑生军1,2,郭龙华2,陈建3,南淑君1 

  (1.北京国电通网络技术有限公司,北京100070:2.上海交通大学电子信息与电气工程学院,上海200240:3.国网浙江省电力公司信息通信分公司,浙江杭州310007)

摘要:随着新一代网络技术的不断发展,针对工业控制网络的高级恶意软件大量出现,使以智能电网为代表的工业信息系统面临着巨大的信息安全威胁。目前主流的恶意软件检测技术主要是沙箱技术,其原理是在漏洞利用阶段之后,对恶意软件的行为进行分析。但是随着网

络攻击技术的不断发展,高级恶意软件通过多态和变形技术掩饰自己的恶意行为。为了抵御智能电网中的高级恶意软件攻击,文章设计了一种基于虚拟执行技术的高级恶意软件攻击在线检测系统,在传统静态检测的基础上,增加了动态检测引擎。动态检测采用和传统的沙箱检测不同的虚拟执行技术,通过系统调用跟踪来分析软件的行为特征,深入观察分析内存和指令属性的变化,有效规避了高级恶意软件漏洞利用后的逃避行为,在漏洞利用阶段发现高级恶意软件攻击。实验表明,在线检测系统能够有效避免智能电网遭受高级恶意软件的攻击.

 关键词:高级恶意软件;虚拟执行;在线检测;智能电网

 中图分类号:TP309  文章编号:1671-1122( 2016) 01-0029-050引言

 目前在智能电网领域,带有保护、测量、控制、计费等功能的智能电子设备在电网中被大量使用,为提高智能电子设备之间的互操作性及互操作的实时性,满足国际标准(如IEC 61850)的通信服务模块也被采用。相比传统电网,用于互连互通的网元(如工业交换机、路由器、网管服务器等)成为新型电网基础设施的重要组成部分,因此电力系统自动化、智能化得到了前所未有的发展。然而,信息通信技术( Information CommunicationTechnology,ICT)的广泛应用在促进电网快速发展的同时,也带来许多新的挑战。近年来专门针对智能电网系统的新型高破坏性攻击事件频发,严重威胁着人们的人身、资产安全和国家环境、能源安全。电网业务与常规计算机网络业务存在较大差别,现有的面向常规计算机网络业务的信息安全构件(如防火墙、入侵监测、漏洞扫描等)一方面分布在网络的不同环节,其监测采集的安全数据存在异构性,因而不能使这些安全监测数据成为上层安全决策的依据,不利于对数据进行整合和关联分析;另一方面,这些安全构件以被动防御为主,只对主机的一些常规参数(如IP地址、端口号等)进行分析,缺乏对网络流量、物理层参数等跨层参数的深度分析。同时,基于误用检测的入侵检测系统( IDS)、入侵防御系统(IPS)、防病毒软件等安全措施都是采用被动防御方式,采用决策树、机器学习等方法来检测已知的攻击事实,这类安全措施由于缺乏对面向电网业务的专有攻击的深度分析,且对恶意攻击的检测对特征库中特征码的数量和质量依赖性强、误报率高,因此,在恶意程序攻击造成危害之前难以快速有效地识别和拦截,不能满足电网系统高安全性、高稳定性的要求。

 目前主流的恶意软件检测技术主要是沙箱技术,其原理是在漏洞利用阶段之后,对恶意软件的行为进行分析。但是随着网络攻击技术的不断发展,高级恶意软件通过多态和变形技术,能够掩饰自己的恶意行为,例如在沙箱检测阶段暂停其恶意行为,从而躲过沙箱的检测。

 针对沙箱检测技术在检测高级恶意软件攻击上存在的不足,本文设计了基于虚拟执行技术的高级恶意软件攻击在线检测系统,该系统采用和沙箱检测不同的虚拟机机制,不仅通过系统调用跟踪来分析软件的行为特征,而且可以观察分析内存和指令的变化,在漏洞利用阶段发现高级恶意软件攻击,从而有效规避了漏洞利用后高级恶意程序的逃避技术。

1基于虚拟执行技术高级恶意软件攻击在线检测系统

 基于虚拟执行技术高级恶意软件攻击在线检测系统主要由静态检测引擎和动态检测引擎两大核心组件组成。静态检测在检测已知威胁的基础上,增加了多态Shell code检测技术;动态检测采用虚拟执行检测技术,深入内存和指令层面观察分析文件、进程、注册表、网络、服务的实时变化,从而能够在漏洞利用阶段就精确地检测出高级恶意软件的攻击。通过静态检测和动态检测两种检测策略并行检测,该系统能够在检测已知恶意程序的基础上,有效地检测出高级恶意软件攻击。

1.1静态检测

 在传统静态检测的基础上,本系统增加了智能Shell code检测部分,目的是检测高级恶意软件中的Shell code代码。静态检测基于已知的漏洞信息对攻击威胁中造成溢出的漏洞特征进行匹配,其检测精度高,并且针对利用同一漏洞的不同恶意软件,使用一个检测规则做到完整覆盖。Shell code检测主要利用传统恶意文件内部的固定填充字段和功能字段。静态解码模块从待检测文件队列中取出文件,文件如果不需要解码,则直接进行Shell code检测,如需要解码,则通过对文件动态解码,还原出功能字段,最后检测出Shell code。该检测方法能有效防止多态Shell code的逃避。

1.2动态检测

 动态检测主要由流量重组文件还原、虚拟执行技术、指令集实时分析和详尽的告警信息四部分组成。首先,通过流量重组识别对应的应用层传输协议,按照协议格式将文件从数据流中还原,为后面虚拟执行检测做好准备;接着采用虚拟执行机制,系统调用跟踪分析软件的行为特征,观察内存和指令的变化;再根据指令运行中的内存空间的异常变化,发现各种溢出攻击等漏洞利用行为;最后分析指令集和行为特征,系统从进程、文件、注册表、网络、漏洞利用等多个维度提供告警数据,为最终的定性提供数据支撑。

1.2.1流量重组文件还原引擎

 在网络传输中,文件以数据流的方式进行传播。常用的应用层文件传输协议包括HTTP协议、SMTP协议、POP3协议、IMAP协议和FTP协议。其中,HTTP协议是用于从WWW服务器传输超文本到本地浏览器的传送协议;MTP协议、POP3协议和IMAP协议是用于电子邮件传输的传送协议;FTP协议是用于主机间共享文件的传送协议。流量重组文件还原引擎通过流量重组识别对应的应用层传输协议,按照协议格式将文件从数据流中还原,为下一步虚拟执行检测做好准备。重组IP时获取每一个分片的报头,并分析分片报头的5个关键字段:标识符字段、不分片标志( DF)、更多分片标志(MF)、分片偏移量、总长度字段。以传输层( TCP)重组为例,首先在接收到三次握手的SYN、SYN+ACK和ACK报文段时,根据该报文的源/目的IP地址、端口号来标记一个数据流连接,分配一个Session数据结构,并设置初始序列号、最小时钟等。然后根据接收到的数据报文段源/目的IP地址、端口号找到对应的TCP连接,并把该报文所载的数据存放在正确的数据流缓冲区中。当数据流缓冲区中的数据量达到一定值时,将数据递交上一层分析程序。如果接收到关闭阶段的FIN报文段等,则向上一层的分析程序递交报告,并将TCP连接数据结构收回。

1.2.2虚拟执行检测技术

 虚拟执行检测技术采用和沙箱检测不同的虚拟机机制,通过系统调用跟踪分析软件的行为特征,观察内存和指令的变化。基于虚拟执行技术能够防止针对沙箱检测的逃避技术和利用漏洞的高级恶意软件。虚拟执行规则通过设计虚拟执行算法,根据实例执行的历史信息数据,在新工作流模型重新虚拟调度。利用命名空间虚拟化和写时拷贝机制实现了资源访问重定向和隔绝,并且在此基础上构建虚拟执行环境,以实现对多个行为的捕获。

 虚拟执行检测技术过程如下:

 1)根据动态检测策略,生成虚拟执行环境;

 2)将流量重组文件还原模块还原的文件放入文件存储队列;

 3)从文件存储队列中取出待检测的文件;

 4)将文件使用不同的软件版本打开并放到多个虚拟机环境下执行,以便判别漏洞针对的系统和软件版本;

 5)观察待检测文件被触发后,内存指令层面的变化,判断是否存在高级恶意软件攻击;

 6)观察待检测文件在虚拟机中的后续行为特征,包括文件和网络的访问、注册表的修改、进程的变化和模块以及驱动的加载等,识别其中哪些不是正常文件的行为,进一步判断是否存在恶意软件攻击。

1.2.3指令集实时分析

 指令特征包括堆、栈中的代码执行情况等,通过指令运行中的内存空间的异常变化,发现各种溢出攻击等漏洞利用行为,如零日威胁、APT等高级恶意软件攻击。动态检测系统通过指令级的代码分析能力,跟踪指令特征以及行为特征。各层次动态行为特征如表1所示。

 流量重组还原的文件在虚拟环境中执行后,如图1所示,分别进行文件、进程、注册表、网络操作以及服务操作检测等。将检测结果与告警规则库进行匹配,当命中告警规则时,输出告警信息;否则直接输出操作记录。以注册表检测为例,首先判断虚拟环境下流量重组还原的文件在执行过程中是否有访问注册表的操作。如果没有访问注册表的操作,则实时记下操作记录,为后续分析提供依据。如果有访问注册表操作,则继续判断是否命中规则库中的告警操作,即判断执行时是否恶意修改、删除或创建注册表信息,特别注意那些影响系统启动的注册表项。如果命中告警规则,则输出详细告警信息,并加入告警库。如果未命中告警规则,则输出操作记录,为将来可能进行的人工审核提供素材。

1.3详细告警信息

  通过对指令集和行为特征分析,动态检测从进程、文件、注册表、网络、漏洞利用等多个维度提供告警数据,为最终的定性提供数据支撑。告警信息如表2所示。以进程为例,通过判断进程创建、终止,写进程内存,创建远程线程等行为特征,输出详细的告警信息,包括进程ID、进程名、父进程ID、父进程名、内存地址、大小、内存镜像文件哈希值、线程入口地址等。

2基于虚拟执行技术的高级恶意软件攻击在线检测系统检测流程

 基于虚拟执行技术的高级恶意软件攻击在线检测流程如图2所示,图中虚线箭头代表数据流向,实线箭头代表执行方向。首先检测系统进行初始化,根据检测规则启动各检测引擎,流量重组还原引擎将文件从数据流中还原并放入文件存储队列,静态和动态检测引擎分别从文件存储队列中读取文件,执行检测并输出告警信息,具体检测步骤如下:

 1)系统完成初始化后,根据预先设定的检测策略分别启动各检测引擎,包括动态检测引擎和静态检测引擎以及流量重组文件还原引擎;

 2)流量重组文件还原引擎从网络流量中分离文件传输数据流,识别对应的应用层传输协议,按照协议格式将文件从数据流中还原,将数据流中还原出来的文件放入文件存储队列中;

 3)静态检测引擎从文件存储队列中获取文件,执行静态检测,基于已知的漏洞信息对攻击威胁中造成溢出的漏洞特征进行匹配,并输出静态检测告警信息;

 4)动态检测引擎从文件存储队列中获取文件,按照检测策略将文件放入不同虚拟执行环境进行动态检测,跟踪分析软件的行为特征,观察内存和指令的变化,最后输出动态检测告警信息。

 在检测过程中,根据需求不同,灵活设定检测策略。对安全性要求稍低但实时性要求较高的系统,只开启静态检测引擎以提高系统实时性能;对安全性要求高但实时性能要求稍低的系统,同时开启静态检测引擎和动态检测引擎以提高系统安全性能。

3实验与分析

 国家电网关键业务部门和相关支撑部门通过网络建立联系,内部数据中心和网管中心对网络和数据进行存储和管理,网络拓扑如图3所示。为验证系统的有效性,高级恶意软件攻击在线检测系统通过核心交换机的镜像口,采集镜像口的网络数据流量,并将网络数据流重组文件还原,通过静态检测和动态检测两种并行检测策略,实现已知和未知恶意程序的检测。对图3中的主机尝试进行各类恶意文件攻击,利用静态检测和动态检测两种并行检测策略,

检测出PDF、HTML、XLS、DLL和EXE等多种恶意文件类型以及Shell code代码段的特征,同时还能观察到进程、内存和注册表属性的变化,检测结果如表3所示。表4是动态检测详细信息。

 在智能电网中,源地址为10.14.53.47的主机通过HTTP应用下载目的地址10.34.55.91上的文件CVE-2012- 0158.doc,通过高级恶意软件攻击在线检测系统,同时开启静态和动态检测引擎。静态检测引擎未能有效检测出未知恶意样本,而动态检测引擎分别调用WinXP和Win 7虚拟执行环境,在虚拟环境Win XP下检测 到C:\WINDOWS\system32\cmd.exe (1932)创建新进程C:\ WINDOWS\system32\wscript.exe (404),命令行为wscript/ E:vbs c:\evil.vbs;在虚拟环境Win 7下检测到C:\Program Files\ Microsoft Office\Office14\WINWORD.EXE(504)有ROP代码执行,告警信息提示威胁详情为高威胁。实验结果表明,动态检测引擎能有效检测未知恶意程序在不同虚拟环境下的恶意行为,同时还能识别出未知恶意程序的来源以及类型。

 上述实验表明,采用静态检测和动态检测并行机制,能够在检测已知漏洞基础上,通过虚拟执行动态检测技术深入内存和指令层面,观察分析文件、进程、注册表、网络等指令集的实时变化,进一步在漏洞利用阶段就发现高级恶意软件的攻击,保护了智能电网的信息安全。

4结束语

 本文提出了一种基于虚拟执行技术的高级恶意软件在线检测系统,该检测系统通过深入观察虚拟执行环境下分析内存和指令属性的变化,能够在漏洞利用阶段就精确地检测出新一代高级恶意软件的攻击。将该系统应用于国家智能电网,能使智能化电网避免遭受新一代高级恶意攻击的威胁,从而降低了电力网络的安全隐患,有效地保障了国家智能电网的信息安全。

关键字:

上一篇:基于物联网的多指标实时环境监控系统

下一篇:返回列表

行业资讯月点击排行

展会信息月点击排行

招商信息月点击排行

首页 资讯 招标 项目 展会
关于我们 | 广告服务 | 友情连接 | 联系我们
触屏版 电脑版
安装信息网 www.36qyk.cn.