初探网络安全智能决策
2020-07-21
引言
事件响应是企业网络安全团队的重要工作内容之一。安全设备每天会产生海量告警,安全分析人员需要找出高危告警,并对这些告警进行分析和追踪溯源,做出合适的处置操作。事件响应的复杂性和专业性导致了低时效性。在日益复杂的网络环境中,分析人员决策结果的合理性也往往存疑。因此根据当前网络环境做出快速的、合理的决策是每个安全公司需要思考的问题。本文以自动驾驶领域的决策方法做类比,介绍在网络安全领域做出智能决策的大体路线、条件约束和研究问题。
一、背景
网络安全已经逐渐渗透到生活的方方面面,其重要性已逐渐凸显。就目前的网络防御手段而言,大体逃不过两种方式,一是在软件开发阶段引入各种规范,加强系统的安全性,减少攻击面;二是通过纵深防御的方式在网络的各个层面加强安全性,如:加密、访问控制、防火墙、入侵检测等等。然而这种静态的防御方式已经满足不了日益复杂的网络环境。
一方面人工防护手段如软件测试、渗透测试、补丁部署、安全事件分析等等,这些手段的时效性较低,跟不上攻击者的攻击速度;另一方面企业庞杂的网络环境和设备产生的海量数据,人力已无法详尽分析,做出的决策往往有局限性。因此现代企业需要更高级的防护手段。为了解决上述防护手段的时效性和人力的局限性问题,我们提出安全智能决策的概念,期望自动化实现事件响应的流程,提高时效性,并使用大数据分析的手段对当前网络进行建模分析,做出更加合理的决策。
安全智能决策的目标为根据当前的网络环境以及历史经验,在一定时间内,实现对当前事件的响应。
做出决策的过程与对事件的认知息息相关。在认知理论中,人的认知系统包含两个子系统,如图1所示:子系统1是直觉系统,主要负责快读、无意识、非语言的认知,比如当人被问到一个问题的时候,可能下意识的或者说习惯性的回答,这就属于子系统1的范畴,深度学习主要就在做子系统1的事情;子系统2是逻辑分析系统,代表认知智能,是有意识的、带逻辑、规划、推理以及可以语言表达的系统,人在通过子系统2处理问题的时候,往往要收集相关数据、进行逻辑分析和推理,最终做出决策。
图1、人类认知的两个子系统[3]
符合上述的决策流程且已经落地并逐渐成熟的行业,自动驾驶当属一例。图2为典型无人驾驶车辆的系统架构[15],从技术角度看,现阶段的单车智能可以简单的理解为环境感知、决策规划和控制执行三大模块。
第一个模块为环境感知模块,该模块作为其他部分的基础,是实现自动驾驶的前提条件,起着人类驾驶员“眼睛” “耳朵”的作用。感知技术是利用摄像机、激光雷达、毫米波雷达、超声波等车载传感器,以及V2X和5G网络等获取汽车所处的交通环境信息和车辆状态信息等多源信息,为自动驾驶汽车的决策规划进行服务;
第二个模块为决策规划模块,该模块综合环境及车信息,使无人车产生安全、合理的驾驶行为,指导运动控制系统对车辆进行控制,行为决策系统是狭义的决策系统,其根据感知层输出的信息合理决策出当前车辆的行为,并根据不同的行为确定轨迹规划的约束条件,指导轨迹规划模块规划出合适的路径、车速等信息,发送给控制层;
第三模块为控制执行模块,该模块是自动驾驶汽车行驶的基础,包括车辆的纵向控制和横向控制。纵向控制,即车辆的驱动与制动控制,是指通过对油门和制动的协调,实现对期望车速的精确跟随,横向控制,即通过方向盘角度的调整以及轮胎力的控制,实现自动驾驶汽车的路径跟踪。不难看出,决策规划模块通过融合对环境的理解、车辆自身状态的了解将决策步骤一步步分解,从而最终指导汽车做出合理的行驶动作,该模块也是体现无人驾驶汽车智能化的核心所在。
图2、典型无人驾驶车辆系统架构
从自动化程度看,国际汽车工程师协会(SAE International)将汽车的自动化程度分为6级[1],如图2所示:0级代表了所有驾驶操作都是人类负责的车辆;1级包含基础驾驶协助,如防抱死制动系统;2级包含高级协助,如风险最小化纵向控制(通常基于控制理论来计算存在风险的状态集合);3级代表有条件的自动化,必要时候无人车需要人控制;4级表示无人车能在某些环境下可以完全自动化;5级则是完全自动化。根据自动驾驶公司Momenta的报道[2],该公司目前已经实现L4级自动驾驶。
图3、自动驾驶的SAE-J3016分级标准
类比自动驾驶的自动化程度,在网络安全领域,大量的安全产品(如蜜罐、IDPS、威胁情报等)极大地提高了我们对安全的感知能力,即自动驾驶中的“感知”模块;另一方面,自从2017年Gartner提出持续自适应风险与信任评估(Continuous Adaptive Risk and Trust Assessment, CARTA)技术[4]以来,CARTA作为新一代网络安全的战略方法而备受瞩目,在CARTA技术框架中,很重要的一点就是“自适应响应”, SOAR(Security Orchestration,Automationand Response)在这种背景下被提出,通过编写Playbook脚本,将传统需要人工进行的响应操作自动化,完成了“控制”模块的功能。“感知”和“控制”模块都有对应的产品出现,而“决策”领域的研究还处于初级阶段。
总结来说,目前安全产品中已经有SOAR完成“驾驶操作”,有各种感知产品完成“周边监控”,只是缺乏智能决策部分对网络防御系统进行“接管”,姑且可以认为网络安全防御的自动化程度已经或者即将到达L3水平,因此不难得出结论:L4水平的安全智能决策已初具落地条件。
二、安全智能决策 vs自动驾驶决策
自动驾驶与网络安全领域存在极大的相似性,两者对于安全和实时性的要求都比较高,同样需要根据环境和要求的不同做出相应决策。本部分以自动驾驶领域的技术路线为引导,探讨安全智能决策的大体框架,并且分析两者的差异。
决策规划模块不仅仅是目前自动驾驶领域的智能化体现,也是实现L5级自动驾驶的主要瓶颈。实际上,决策规划模块的架构层次被研究多年,不同机构对其分解也略有不同,根据[16]的总结,2000年后的主要机构和公司在决策规划层上所采取的架构层次如图4所示,不难发现,不论如何进行分类,其架构层次基本符合“战略+战术+操作”的逻辑,在本文中,我们采用[10]中所采用的对决策规划模块细粒度的划分方法,如图5所示,这三个层次分别为:
· 全局路径规划(routeplanning),在接收到一个给定目的地后,结合地图信息生成全局路径。
· 行为决策层(behaviorallayer),在接受到全局路径后,结合从环境感知模块得到的环境信息(其他车辆,行人,障碍物和路上的交通规则信息),做出具体的行为决策(如变道超车,转弯等)。在一些文献中,该层有时候也被称为“behavioral planning”
· 运动规划(motion planning),根据具体的行为决策,规划生成满足特定约束条件(如车辆动力学约束、乘客舒适性)的轨迹,该轨迹作为控制与执行模块的输入决定车辆最终的行驶路径。
图4、决策规划模块的架构层次总结
图5、决策规划模块分层[10]
总结下来,自动驾驶领域中决策功能在领域内被称之为决策规划模块,典型的分类方法将其分解为3层,分别行使在“战略+战术+操作”上的决策,详细见图6。
图6、自动驾驶中的决策规划模块分解
类似于自动驾驶,如果将其整体流程看作一种自动化网络防御体系的话,其中安全智能决策同样为核心功能,如图7所示,安全智能决策需要在对环境感知的基础上,如:IDPS感知网络侧威胁,EDR感知终端侧威胁,威胁情报在云端提供全网威胁感知,根据当前的网络环境,确定防护策略,最终交由执行模块去执行相应的策略。安全智能决策模块与网络环境的交互模型如图8所示。
图7 、安全智能决策与自动驾驶决策关系对照图
图8,安全智能决策模块与网络环境的交互模型
虽然网络安全和自动驾驶两个领域在大方向上相似,但是细节上还有很多不同的地方,这些不同会对安全智能决策的落地产生较大影响,主要有以下几点:
1. 在环境感知上。自动驾驶领域借助人工智能技术、精确定位技术,已经可以非常准确地捕捉车辆自身和周边环境信息,而这种精准感知技术也是做出决策与规划的重要依据,然而在网络安全领域,虽然我们有众多的网络防护设备,但是对网络环境的观察能力依然存在不足,安全设备误报漏报的现象依然十分普遍,这与安全本身这种“攻防博弈”的本质是分不开的,因此从理论上来说,该问题无解,这对决策提出了较大挑战。
2. 在决策与规划上。由于攻防博弈的存在,网络安全领域的动态性更大,随着各种新技术的兴起,如5G、物联网等,网络安全的场景更加复杂,对应的动作空间和状态空间更大,任务分解更为复杂和困难,这一点同样对决策提出了挑战。
3. 数据采集上。自动驾驶可以进行大量模拟采取数据,而且数据的也可以打出明确的标签,数据在质量和数量上都有保证,但是安全领域中,真正的攻击往往极少,也缺乏标签,真正有质量的数据很难获取,数据驱动的方式很难落地。
4. 因此,自动驾驶对安全智能决策有一定的借鉴意义,但仍需要专业领域内的定制化处理。
三、安全智能决策功能解耦
3.1名词解析
何为安全智能决策?我们将该问题分解为3个名词“安全”、“智能”和“决策”。
“安全”指的是在网络安全领域,因此“安全智能决策”也可称为“网络安全智能决策”。
“智能”这个词很宽泛,在网络安全中,我们认为智能体现在能够综合各方面的因素,给出更全面的判断,具备“快速处理”和“自主学习”这两种能力,例如:当一个网络设备产生告警后,可以根据告警的产生原因、可能造成的影响、被攻击资产的重要性、攻击者能力等因素全面刻画该告警的风险值,进而对该告警进行快速处理,并且学习本次事件的处理经验。
“决策”实际上与智能科学息息相关,参考[17]决策的表述:“智能科学在这两个方面均取 得了长足的进步与发展。一方面,以机器学习,计算机视觉和语言为代表的学科分支,极大的提高了机器预测与推理的准度与精度,提高了思考能力;另一方面,以搜索、博弈和强化学习为代表的学科分支,以认知与推理为输入进行建模,优化智能体的决策,从而提高了行动能力”,我们可以知道机器学习解决认知、推理问题,“决策”以这些认知和推理为输入,进行行动。
总结来说,安全智能决策的定义为:在网络安全场景下,对告警或事件进行深入认知和推理,综合方面信息的进而采取相应动作的过程。
3.2安全智能决策整体框架
提出框架之前,我们来看看针对安全事件的处理方式。一般来说,遇到安全设备产生的告警后,安全人员首先会对告警进行详细的评估,判断是否为真正的网络攻击。如果是真正的攻击就要采取相关的措施,根据攻击者攻击目标重要程度的不同,采取的响应动作也不尽相同。处理完当前攻击事件后,需要进行攻击溯源,找出攻击者和攻击路径,并且对受害主机采取相应的恢复操作。最后,会对攻击事件进行记录总结,在防护设备添加对应规则。
上述操作其实就是事件响应的一般流程,可以看到,事件响应实际上可以分解为两部分:1. 缓解当前攻击造成的损失;
2. 完成事后补救。实际上,要做出相对完善的决策,对于事件的评估和一定的预测也是非常重要的,例如,在自动驾驶中,做出当前汽车的动作之前,还要预判行人和其他汽车的运动轨迹,这一点往往是事件响应中缺失的一环。在网络安全中,将来状态的影响非常重要,很多高级威胁也是在后期实施破坏性操作,因此,对于将来事件的预测或者说潜在风险的评估对于决策来说必不可少。安全智能决策从总体功能上来说基于事件响应却高于事件响应,包含事件预测功能。
总结来说,安全智能决策包含事件响应的操作具体有:
1. 攻击理解,判断攻击正在进行还是网络已经被攻陷,如果是正在进行,则需要进行攻击缓解,如果网络已经被攻陷,如:攻击者正在进行隐私数据回传,那么在切断通信的同时,还需要进行攻击溯源,找出被感染的机器,修补漏洞,清除木马;
2. 执行策略,根据攻击理解的结果,结合当前网络环境、防御成本等因素,确定最终要执行的动作。
更进一步,由于事件响应对于告警的处理是不完善的,事件响应中获得的经验一般是固定成防护设备的规则,但是当这样的经验逐步累加之后,攻击模式便可以构建了,如MITRE公司提出的ATT&CK模型,洛克希德-马丁公司提出的Kill-Chain模型等,并且借助深度学习强大的预测能力,针对一些攻击,我们可以预测攻击者下一步的攻击方式和攻击目标,从而进行主动防御,我们将之称为攻击预测。攻击预测和攻击溯源统称为攻击推理,其中攻击溯源为前向推理,攻击预测为后向推理。
综上所述,安全智能决策部分的功能解耦如图10所示,其中圆形代表数据模块,方形代表功能模块,实线代表正向数据流,虚线代表反向数据流。
安全智能决策模块首先对待处理的告警或事件进行攻击理解,借助已有的知识库了解当前攻击的阶段、严重程度等等,借助原始日志和全流量等数据进行攻击溯源,得到更多被感染的机器,并且利用提前建立的预测模型,预测下一次攻击事件的类型和严重程度,通过攻击理解模块,可以获取对当前攻击事件的完整刻画,包括当前事件、由当前事件引起的其他事件已经将来可能发生的事件,即得到战略层面的信息;
行动决策模块接收攻击理解模块对当前攻击的攻击刻画,结合当前环境信息、决策目标、决策知识库做出防护策略,如:对IP192.168.0.1进行封堵,及战术层面的决策;动作执行模块则需要根据实际的机器、网络等给出具体可行的操作,如,IP为192.168.0.2的IPS机器对192.168.0.1的DNS报文进行封堵。
最后具体的行动由SOAR来完成,完成相应的动作后,需要利用一定手段对动作的有效性进行评估,评估的结果会影响智能决策模块作出下一步的决策行动。另外整个决策模块全程需要各种类型的攻击知识库做支持,如:ATT&CK模型,Kill-Chain模型,CVE漏洞库等等。
图9、安全智能决策功能结构图
值得一提的是,要实现上述功能,不光需要各种决策算法支撑,还需要很多外部条件,我们把外部条件分为两种:静态外部条件和动态外部条件。静态外部条件包括攻击者的有关知识库和决策知识库,根据MITRE公司的ATT&CK模型,攻击者的攻击往往遵从一定的框架,所使用的漏洞也往往被各种漏洞库所收集,这些信息供决策系统对攻击者有系统认知,另一方面,决策算法需要决策知识库去学习各种不同环境下对应的处置操作,而动态外部条件为企业自身所处的环境,如:对资产的重要性评估,脆弱性评估等,这些信息提供决策系统对保护对象的系统认知。
3.3核心决策算法
该部分为上一小节中的行动决策模块,决策的基础建立在对攻击的理解能力、自身的脆弱性评估两方面上,在某些特定场景下,决策的最终目标也可以作为输入的一部分,我们称之为“决策目标”,根据这些信息,我们可以计算出当前攻击在特定网络中的整体风险,结合决策目标和决策知识库,行动决策会给出具体的防护策略。
决策算法,可简单可复杂,随问题的复杂程度而定,由于在网络安全中,我们无法做到对环境信息的100%感知,总有威胁我们无法发现,因此决策算法遇到的最大困难是在存在感知不确定性,由于不确定性的存在,决策算法往往也是各行各业做出决策的核心瓶颈所在。决策算法一般有如下4类:
l 有限状态机模型
有限状态机模型是决策算法中最常用的模型,通过定义不同的状态,构造状态之前的转移关系,再构建有限的有向联通图将这些状态和转移关系联系起来,从而可以根据状态的迁移反应式的生成决策动作。
有限状态机模型简单、易行,是无人驾驶领域目前最广泛的行为决策模型,但是该类模型忽略了环境的动态性和不确定性,当场景特征较多、状态的划分和管理比较复杂时,往往难以胜任。
l 决策树模型
该模型与状态机模型类似,也是通过当前的状态属性值反应式地选择不同的动作,不同是该类模型将状态和控制逻辑固化到了树形结构中,通过自动向下的“轮询”机制进行策略搜索。该类模型需要针对每个场景定义决策策略,当状态空间、行为空间较大时,控制逻辑会比较复杂,同时也无法考虑各种不确定性因素。
l 基于知识的推理决策模型
基于知识的推理决策模型由“场景特征-动作”之间的映射关系来模仿行为决策过程,该类模型将决策知识存储在知识库或者神经网络中,决策知识主要表现为规则、案例或场景特征到动作的映射关系,该模型通过“查询”机制从知识库或者训练过的网络结构中推理出决策动作。
该类模型对于先验知识、训练数据的依赖性较大,需要对各种决策知识进行精心梳理、管理和更新,虽然使用神经网络可以节省部分问题,但是缺点也很明显:1.其数据驱动的机制导致对数据依赖性大,2.可解释性差,在实际系统中无法进行追溯,难以发现问题的根本原因。
l 基于价值的决策模型
根据最大效用理论,基于效用/价值的决策模型的基本思想是依据选择准则在多个备选方案中选择出最优的动作,为了评估每个动作的好坏程度,该类模型定义了价值函数,根据某些准则属性定量地评估策略符合任务目标的程度,对于网络安全而言,这些属性准则可以是安全性、经济成本、人力成本等等,也可以是组合策略,这也是前文所述的“决策目标”的设定原因。
四、已有工作
经过第3小节对安全智能决策功能的分析可以发现,总体上,安全智能决策要实现从攻击理解到最终响应策略确定的一整套流程,我们整理了一些典型工作供读者参考。
当前事件理解:[5]关联攻击告警,将关联结果映射到ATT&CK模型,提供对攻击的高层认知。
攻击推理:[6]利用深度学习的方法预测下一步攻击事件,[9]通过分析机器上的二进制文件预测下一步可能被攻击的机器,[7]对终端数据构造图结构进行攻击路径还原。
有效性评估:[8]一书中涉及到防御行为有效性评估的方法。
行动决策:根据前一小节的介绍,行动决策在自动驾驶领域有较多成型算法,如基于部分可观马尔可夫过程(POMDP)的行为决策模型[11],基于价值函数的行为决策模型[12],使用博弈论模型解决多智能体参与的复杂环境中的决策问题[13],基于深度强化学习的动作生成方法[14]。
五、总结
本文以自动驾驶为例,分析安全智能决策研究的可行性和必要性,提出安全智能决策研究的总体框架,该框架大部分的研究工作已在同步进行,如有兴趣,可持续关注bbin宝盈集团科技的官方公众平台动态。
参考文献:
[1] 浅谈机器学习在自动驾驶中的应用.http://www.aminer.cn/research_report/5cf6211900eea1f1d521d75d?download=false
[2] Momenta发布L4级自动驾驶MSD,两条腿战略雏形形成.http://www.momenta.cn/article/46.html
[3] Yoshua Bengio在NeuIPS 2019的报告.http://drive.google.com/file/d/1zbe_N8TmAEvPiKXmn6yZlRkFehsAUS8Z/view
[4] Gartner 2020年10大战略技术趋势分析.http://www.gartner.com/smarterwithgartner/gartner-top-10-strategic-technology-trends-for-2020/
[5] Milajerdi, Sadegh M., et al. "Holmes: real-time apt detection through correlation of suspicious information flows." 2019 IEEE Symposium on Security and Privacy (SP). IEEE, 2019.
[6] Shen, Yun, et al. "Tiresias: Predicting security events through deep learning." Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security. 2018.
[7] Hassan, Wajih Ul, Adam Bates, and Daniel Marino. "Tactical Provenance Analysis for Endpoint Detection and Response Systems." Proceedings of the IEEE Symposium on Security and Privacy. 2020.
[8] Jajodia, Sushil, et al., eds. Adversarial and Uncertain Reasoning for Adaptive Cyber Defense: Control-and Game-theoretic Approaches to Cyber Security. Vol. 11830. Springer Nature, 2019.
[9] Bilge, Leyla, Yufei Han, and Matteo Dell'Amico. "Riskteller: Predicting the risk of cyber incidents." Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security. 2017.
[10] Paden B, Cap M, Yong S Z, et al. A Survey of Motion Planning and Control Techniques for Self-Driving Urban Vehicles[J]. IEEE Transactions on Intelligent Vehicles, 2016, 1(1): 33–55.
[11] Bai, Haoyu, et al. "Intention-aware online POMDP planning for autonomous driving in a crowd." 2015 ieee international conference on robotics and automation (icra). IEEE, 2015.
[12] Wei, Junqing, et al. "A behavioral planning framework for autonomous driving." 2014 IEEE Intelligent Vehicles Symposium Proceedings. IEEE, 2014.
[13] Martin, Andrea. "Interactive Motion Prediction using Game Theory." (2013).
[14] Vitelli, Matt, and Aran Nayebi. Carma: A deep reinforcement learning approach to autonomous driving. Tech. rep. Stanford University, 2016.
[15] 熊璐,康宇宸,张培志,朱辰宇,余卓平. 无人驾驶车辆行为决策系统研究[J]. 汽车技术,2018(08):1-9.[16] 陈永尚. 智能汽车城区复杂交通情景的驾驶行为决策方法研究[D].吉林大学,2019.[17] 唐平中,朱军,俞扬,汤斯亮. 动态不确定条件下的人工智能[J]. 中国科学基金,2018,32(03):266-270.