基于大数据和人工智能技术的信息安全态势感知系统研究
2018-03-19王海涛
◆王海涛
基于大数据和人工智能技术的信息安全态势感知系统研究
◆王海涛
(中国电力建设股份有限公司信息化管理部 北京 100048)
企业面临的信息安全威胁呈高速增长趋势,同时安全攻击的技术也呈多样化并高水平化发展,企业必须采用更有效的手段和措施将这些威胁完整并全面的展现出来,为管理层和技术人员快速处置以及溯源提供技术支撑。为此,必须研究并建立信息安全态势感知系统。本文首先分析了企业目前在信息安全态势感知方面的不足,然后利用大数据技术、人工智能算法、威胁情报技术等,研究企业级信息安全态势感知系统的建设,提出了信息安全态势感知系统的模型、架构以及具体的实现方式等。通过该系统的设计和部署,能够在企业中实现信息安全威胁的有效发现、威胁感知、风险判定以及威胁溯源,全面提高企业应对安全威胁和安全攻击的检测能力,为安全事件处置提供有效的技术支撑。
大数据;人工智能;态势感知;威胁情报
0 引言
近年来,具备国家和组织背景的网络攻击日益增多,政府、军队、金融、大型企业等所处的特殊角色,经常会面临更多的来自外部的攻击威胁。例如:攻击伊朗布什尔核电站的“震网病毒”,针对Google邮件服务器的“极光攻击”,针对乌克兰电网的“BlackEnergy”攻击等。虽然企业的信息安全人员已经在网络中部署了大量的安全设备,但仍然会有部分攻击绕过所有的防护措施直达企业内部,导致重要数据资产的泄露、损坏或篡改。因此,需要通过技术手段及时发现潜藏在网络中的安全威胁,尽早的快速发现威胁中的恶意行为,并对受害目标以及攻击源头进行精准定位,对入侵途径以及攻击者背景进行研判与溯源,从而从源头上解决企业网络中的安全威胁,尽可能地减少安全威胁给企业带来的损失。
1 企业在信息安全态势感知方面面临的挑战
多年以来,企业的信息安全一直处于“防御-发现-修复”的被动循环中,通常的做法是通过渗透测试或者风险评估尽可能早地发现网络和信息系统中存在的漏洞或者风险,及时进行修复,同时当发现攻击行为时,通过分析相关的安全设备日志、网络流量确定攻击行为并尽快阻断攻击。在这种被动防御的infosec生命周期中(图1),绝大多数企业都将95%的精力放在防御上,5%的精力放在了发现攻击上,而修复基本上一是依托于产品/设备的原厂商发布补丁进行被动的修复,二是不断优化完善防御策略,提高防御的能力。
图1 Infosec生命周期
随着企业信息安全建设的不断深入,信息安全的防御手段也在逐步增强,大部分企业都建设了终端管理、网络杀毒、访问控制、安全审计、漏洞发现等安全系统,在一定程度上保障了业务的安全运行,但各系统各自为政、互相独立,无法做到统一管理、统一预警、统一追查并溯源。另一方面,由于大型企业的网络规模庞大,存在大量不同格式的日志,如Syslog日志、Web服务日志、防火墙日志、Netflow日志等,这些日志来源于各个业务系统服务器以及众多的安全设备、网络设备,分布甚广、数量巨大,这些日志数据往往没有进行有效管理和充分利用,不能够充分发挥日志的分析作用,尤其是没有对所有日志进行高速采集、归一化存储、关联性分析。近年来,技术越进步、越先进,企业网络面临的攻击就越多。而且新技术的不断应用,导致攻击的手段和方式也越来越隐蔽、越来越不易发现。高级持续性威胁(Advanced Persistent Threat,APT)便是一种可以绕过各种传统安全检测防护措施,通过精心伪装、长期潜伏、持续渗透,从而实现定点攻击的复杂、隐蔽的攻击手段。
图2的上半部分是Verizo数据泄露报告中有关企业网络遭受恶意攻击导致数据丢失甚至系统瘫痪的时间分布表,下半部分是企业发现攻击并修复漏洞、恢复系统运行所需要的时间对比表,从图中可以看出,目前攻击能够在几分钟、几个小时内就导致企业数据的外泄甚至系统瘫痪,而企业要发现这些攻击并有效阻止这些攻击则需要数周、甚至数月的时间。这就让企业的网络、系统、数据长时间处于危险状态,而且旧的漏洞被修复后,攻击者又会发现并利用新的漏洞,导致信息安全人员疲于应付。
图2 Verizo数据泄露报告
2 系统总体设计
为应对企业面临的各种信息安全威胁,中国电建启动了信息安全态势感知系统的研究,经过大量的调研与论证,最终确定下来系统的总体模型如图3所示。其核心思想是结合企业内网安全数据以及互联网安全数据,对企业内部的信息安全威胁进行综合的威胁评估和风险分析,从而全面感知企业所面临的威胁,最大限度的掌握企业的整体安全态势。企业内网的安全数据源主要包括安全设备告警、设备日志(网络设备、服务器、应用等)、内网安全评估数据、网络重要区域边界的网络流量数据等。外网安全数据源主要包括来自互联网的商业及开源威胁情报数据、互联网安全舆情和漏洞监测数据等。安全态势感知系统将内、外部安全数据进行关联分析,判定安全攻击并进行验证,同时结合资产脆弱性等维度,利用风险评估模型进行综合风险评估,最后将风险评估结果送至威胁态势展现模块进行展现。针对高级持续性攻击(APT),主要依靠大数据的威胁情报,通过对企业内网中存储的历史数据进行检索,从而发现内网中可能存在的未知威胁,并将发现的APT攻击事件直观展现在态势展现模块。
图3信息安全态势感知系统模型图
要实现以上功能,我们设计出信息安全态势感知系统的结构框架如图4所示。系统整体设计成五层分布式体系架构,分为数据采集层、预处理层、存储层、大数据分析层和态势展现层。从系统架构上说,主要分为两大部分,一部分通过采集各种安全设备、监控系统的报警信号,及时发现系统中的信息安全事件,被动对威胁进行感知;另一部分对采集的环境数据、配置数据、行为数据、协议解析数据等进行智能的关联分析,发现、预警潜在的信息安全事件,甚至对事件背后的组织背景、影响范围、破坏能力等进行评估,主动对威胁进行感知。系统核心组件包括大数据采集探针(日志、流量)、云端数据采集、分布式实时计算系统、复杂事件处理引擎、分布式全文搜索引擎等。
图4信息安全态势感知系统结构框架图
3 系统核心平台设计
信息安全态势感知系统的工作原理就是要通过大数据对相关的信息安全态势进行分析、感知,因此必须对海量的大数据进行高效的存储、计算、关联分析、检索等。为此我们构建了一个以分布式存储为基础,采用大数据处理技术,能够进行分布式计算的核心平台,该平台的核心技术主要包括:
(1)Hadoop Distributed File System(HDFS),我们采用Hadoop分布式文件系统作为系统的文件系统,HDFS文件系统具备高容错性的特点,并且可以部署在价格低廉的PC服务器上,HDFS放宽了对POSIX的要求,这样便可以实现以流的形式访问文件系统中的数据,另一方面,HDFS还支持大规模集群部署,这样便可以通过无限扩容节点解决高吞吐量并发访问数据的需求。
图5 HDFS分布式文件系统
(2)HBase--Hadoop Database,我们采用运行在HDFS上的NoSQL数据库——HBase作为系统的数据库,HBase具有高可靠性、高性能、面向列、可伸缩的特点。HBase是一个非关系型数据库,它通过一个四维数据模型来定义数据:
①行键:每行都有唯一的行键,行键没有数据类型,行键是一个字节数组。
②列簇:数据在行中被组织成列簇,每行有相同的列簇,但是在行之间,相同的列簇不需要有相同的列修饰符,在数据库引擎中,HBase将列簇存储在它自己的数据文件中,它们事先被定义好。
③列修饰符:列簇定义真实的列,被称之为列修饰符,列修饰符就是列本身。
④版本:每列都可以有多个可配置的版本,HBase通过列修饰符指定的版本来获取数据。
图6 HBase分布式数据库
HBase这种基于列、而不是基于行的数据定义、存储、使用模式,非常适合动态增加数据的属性,通过HBase,可以创建一张很大的表,而这个表的属性可以根据需求去动态增加,特别适合非结构化数据的处理。
(3)MapReduce分布式计算平台,我们构建了一个基于MapReduce计算模型的、适用于大规模数据集并行运算的分布式计算平台MapReduce。MapReduce的核心思想就是利用“Map(映射)”以及“Reduce(化简)”的思想,对现有的软件系统进行改造,通过将现有软件系统中的计算功能指定给一个Map函数,用来把一组“键值对”映射成一组新的“键值对”,并指定并发的Reduce函数,从而保证所有映射的“键值对”中,每一个共享相同“键值对”的函数能够进行协调的并行计算,这样便极大地方便了不会分布式并行编程的程序员,能够以最小化修改代码的方式将传统的程序重新运行在分布式系统上。
图7 MapReduce计算模型
4 系统关键技术研究
4.1数据采集
系统需要采集的数据源包括:网络流量镜像数据、日志数据、安全情报及支持数据等。其中,日志数据相对比较规范,只需对相关设备、服务器的日志进行配置,便可以导出Syslog日志、Web服务日志、防火墙日志、Netflow日志等。安全情报及支持数据目前还没有统一的标准,我们将安全情报数据归一化为系统能够识别、利用的情报数据,同时通过同步云服务器或升级包的方式对情报库进行定期更新,将各类情报及支持数据存储在系统中,供系统处理及分析时使用。
系统平台数据采集的难点是网络流量镜像数据的采集和处理,由于大型企业、尤其是大型数据中心的网络流量巨大、采集点多,因此采集探针必须具有良好的容错和扩展性,并且必须具有大数据量采集的能力。系统对原始镜像流量进行预处理,使用多核并行化处理手段对大流量的网络原始数据进行解析、还原、分析等工作,然后形成统一的流量日志格式上传到大数据平台进行保存。流量采集探针的架构图如下图8所示:
图8流量采集架构图
流量采集探针主要分为两个模块,基础流量处理模块负责对原始流量进行预处理,包含基本的包重组和流量重组,并且能够解析流量的传输层及网络层信息;高层协议处理模块又分为异常行为发现、协议解析和消息传输等模块,其中协议解析模块负责对应用层协议进行深度解析,分析HTTP、DNS、SMTP等应用层协议的信息,并提取关键信息输送到消息传输模块,同时对HTTP、SMTP等协议中包含的文件进行还原,并将还原后的信息发送到大数据平台进行保存;异常行为发现模块对流量中可能存在的蠕虫、端口扫描、木马等行为进行发现,所有信息都通过消息传输模块进行标准化处理,然后发送到大数据平台进行存储。
经过不断的测试和优化,我们通过万兆网络以及IPv4/IPv6网络环境下数据还原技术最终实现了网络全流量的实时采集和处理,该技术主要采用分光器镜像或者网络端口镜像技术,将网络中的流量导出,然后输入到分析平台进行相关分析。流量还原和数据分析可以在IPv4/IPv6网络环境下,对HTTP、SMTP/POP3等主流协议进行高性能分析,并通过碎片文件侦测和P2SP重组,还原主流P2SP软件传输的文件。
(1)端口匹配:在网络协议发展过程中,已经形成一系列的标准协议规范,规定了不同协议使用的端口,其它一些广泛使用的应用程序虽然没有标准化端口,但已经形成了事实上的标准端口。端口匹配就是根据标准或事实标准的对应关系,利用TCP/UDP的端口来识别行为,这种方式具备检测效率高的优点,但容易被伪造,因此在端口检测基础上,需要增加特征检测的判断和分析来进一步深度分析数据。
图9流量采集分析模型
(2)流量特征检测:流量特征检测分为两种,一种是标准协议流量的识别,标准协议规定了特有的消息、命令和状态迁移机制,通过分析流量数据包中应用层的专有字段和状态,就可以精确可靠地识别这些流量;另一种是未公开协议流量的识别,一般需要通过逆向工程分析协议机制,直接或解密后通过报文流的特征字段来识别该通信流量。
(3)自动连接关联:随着互联网应用的发展,在互联网上传输的数据越来越多,单个连接完成所有任务的模式也逐渐开始出现瓶颈,因此很多协议采用动态协商端口的方式进行数据传输,为了识别这些数据,需要根据控制链接上面的报文信息,自动关联到数据传输的链接并对其进行还原。
(4)行为特征分析:针对一些不便于还原的数据流量,我们采用了行为特征的方法进行分析,也就是说系统不试图分析链接上的数据,而使用链接的统计特征,如连接数、单个IP的连接模式、上下行流量的比例、数据包发送频率等指标来区分数据流。
4.2数据预处理
由于我们的核心平台采用了基于大数据技术的Stream框架,因此可以对各类数据按照预定的流程进行流式处理,以保证各种数据处理的准确性。Stream框架是一个分布式的结构,支持水平扩展,通过增加集群节点便可提高集群的并发处理能力。Stream框架还具有自动容错机制,可自动处理进程、机器以及网络异常,保证事件处理流程的稳定运行。在处理数据时,数据不写入磁盘,缓存在各个节点的内存中。我们的核心能力平台具有延迟低,实时性强的特点,通过预先设定事件处理拓扑,可以快速的对事件处理流程进行搭建,可根据不同的处理要求构建相应的事件处理拓扑模型,满足业务要求。
我们的大数据平台采用如下图10的事件处理拓扑,对日志信息以及网络流数据进行处理,该拓扑结构可以灵活的配置及开发。
图 10数据预处理拓扑图
(1)数据归一。在Stream流中,系统将各种厂商以及设备的日志信息、流量数据按照正则表达式、协议还原等方式进行归一化处理,统一转化为系统平台通用的数据对象,并将这些数据对象作为整个系统平台分析、存储的数据元。
(2)情报知识库的关联。数据元经过情报库与知识库关联,并关联到企业自己的支持信息及情报信息,为后续的检测分析提供数据基础。情报库与知识库均存储在系统平台的分布式搜索引擎中,可为系统平台数据关联提供快速的检索功能。
(3)数据归并。系统通过计算分析引擎按照预置的事件流程框架将数据进行归并。计算分析引擎的重点一方面是要以时间为纽带分析相关事件之间复杂的关联数据并作出相应反应,另一方面还必须具备吞吐量高、响应时间低以及能够快速处理复杂逻辑的功能。计算分析引擎通过事件过滤、时间滑动窗口聚集、事件分组窗口输出率限制、事件内外连接等逻辑对事件进行分析。系统平台使用计算分析引擎作为实时关联规则引擎,作为事件处理流程中的一个Bolt节点,所有事件处理完成后汇总进入计算分析引擎的规则引擎入口,规则引擎结合日志数据、流量数据等数据元分析数据流中的异常,从而触发告警。
4.3数据存储与海量数据检索
为从海量数据中有效地快速查询所需的信息,我们采用了大数据搜索引擎Elastic Search。ElasticSearch是一个基于Lucene的搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎,是目前Java开源社区最流行的企业搜索引擎之一,尤其适合部署在企业的云计算环境中。系统平台经过数据处理与计算层之后,将数据分别保存在分布式搜索引擎的索引文件中,分布式搜索引擎可以为各种存储类型按字段建立索引,从而提供快速的检索功能。分布式搜索引擎中的索引字段可以按照事件分类、事件名称、事件原始内容等字段进行分词检索。为了提高检索性能,同时保证数据的可靠性,我们将索引以多个分片以及多个副本的形式存储于分布式文件系统中,通过分布式计算和搜索技术,实现了对近期录入的数据可以达到近似实时的查询,对于存储于分布式存储中的TB级数据也能够做到秒级查询。
4.4检测分析与处理
各种日志数据、网络流量数据经过归一化预处理后,存储于分布式HBase和HDFS中,下一步就是要对这些大数据进行深度挖掘和关联分析,主动发现潜在的风险和威胁,防患于未然。
(1)恶意代码智能检测技术
为了检测恶意代码,我们构建了一个人工智能引擎,该引擎能够根据已知的正常软件和恶意软件的大量样本,通过数据挖掘找出两类软件最具区分度的特征,然后建立机器学习模型,使用机器学习算法,得到恶意软件的识别模型(如图11),最后通过模型对未知程序进行分析判断,计算软件的恶意概率,从而在可控的误报率之下尽可能多的发现恶意程序。
其中,恶意代码机器学习算法是人工智能引擎的核心模块,其模型如图12所示,海量可执行程序文件(包括恶意程序和非恶意程序)作为PE文件输入引擎,引擎根据行为类特征的不同,包含了k个决策机,以及对应k个决策机的k个训练模型;引擎分析可执行程序文件后,抽取相应的类行为特征,将所抽取的类行为特征放入一个相应的特征向量之内,根据已经抽取到的特征,进行特征分类;最后根据分类的结果,将不同类别程序文件的特征向量和黑白属性使用不同的决策机进行训练,得到相应的训练模型。
图11恶意代码智能检测模型图
(2)广谱反病毒查杀技术
我们在传统的Windows可执行文件反病毒特征码查杀技术的基础上,优化了改进型特征码查杀技术。近年来,变形病毒和感染型病毒越来越多,而且越来越复杂、伪装越来越隐蔽。在定位病毒特征码方面,采用传统的基于“文件偏移”、“入口偏移”、“节偏移”的特征引擎已经很难发现病毒,因此,必须研究采用“输出函数偏移”、“资源偏移”、“导入函数调用偏移”等多种定位方法,才能够在多个层次对目标文件进行定位;同时,合理利用“普通匹配”和“模糊匹配”方法,在不影响效率的情况下,提高病毒特征码匹配的能力与速度。另一方面,为了提高查杀的准确性,还引入了“导入函数匹配”、“指令分析匹配”、“资源匹配”等多种基于样本解析的抽象匹配方法。
(3)机器学习、重沙箱技术
系统具有数据的采集和处理能力后,还需要依赖机器学习、重沙箱和关联分析等技术对大量数据进行筛选,提取重要信息输送到人工运营团队进行分析。其中,机器学习部分我们采用了Euler平台,基于Euler平台提供的各种算法,可以对DNS、文件等信息进行聚类和相似度分析,以便从海量的低价值信息中筛选出可能和已知的攻击行为或攻击特征相关的新生威胁。另一方面,通过可视化关联分析平台,可以将任意两个互联网信息间的关联性直观的展现出来,比如两个毫不相干的域名可能拥有相同的注册人,为安全运营团队进一步分析攻击行为和攻击背景提供有效的工具。而重沙箱则从文件角度将大量恶意文件或未知文件的网络行为和进程行为输出到机器学习平台和人工运营团队,既为分析提供数据支撑,也直接输出部分攻击线索。
(4)自动化数据处理技术
态势感知系统作为智能化的工具平台,最终还是要靠人来运用,为了尽可能地为专业人员提供可靠、可信、综合的数据,我们构建了一个基于人工智能自学习的自动化数据处理平台,通过该平台可以将系统中大数据分析出的未知威胁通过专业人员进行人工干预,做到精细分析,确认攻击手段、攻击对象以及攻击目的,通过人工智能结合大数据知识以及攻击者的多个维度特征还原出攻击者的全貌,包括程序形态、不同编码风格和不同攻击原理的同源木马程序、恶意服务器等,通过全貌特征“跟踪”攻击者,持续的发现未知威胁,最终确保发现未知威胁的准确性,生成可供本地分析平台使用的威胁情报。
5 总结
企业面临的安全威胁数量呈高速增长趋势,同时安全威胁技术也呈现多样化和高水平化发展,企业必须采用更有效的手段和措施将这些威胁完整并全面的展现出来,为管理层和技术人员后续处置和溯源提供技术支撑。本文阐述了一种基于大数据存储分析以及人工智能技术的态势感知系统的设计思路,采用大数据存储技术、威胁情报技术、机器学习算法、关联分析技术等,全面的发现和展现企业信息系统所面临的安全威胁,并对威胁进行风险评估,全面评估信息系统安全风险状态。企业可以参考本文完成系统的研发和部署,全面提升企业的威胁发现和感知能力。
[1]陶翔.大数据技术的发展历程及其演化趋势[N].科技日报,2014.
[2]席荣荣,云晓春,金舒原,张永铮.网络安全态势感知研究综述[J].计算机应用,2012.
[3]刘鹏,孟炎,吴艳艳.大规模网络安全态势感知及预测[J].计算机安全,2013.