转载公众号 | 老刘说NLP
安全知识图谱作为一种实体和概念等安全知识的高效组织形式,能够发挥其知识整合的优势,将零散分布的多源异构的安全数据组织起来,为网络安全空间的威胁建模、风险分析、攻击推理等提供数据分析和知识推理方面的支持。
例如,上图展示了一个典型的安全知识图谱,由网络和安全知识库、情报库、资产库、行为日志中关键实体(概念)及关系构建而成。
一个典型的安全知识图谱构建流程主要包括以下几个步骤,包括数据来源、本体设计、图谱构建以及图谱应用等环节,下图展示了技术流程图。
1、主要数据来源
安全知识图谱的数据为多源异构数据,不仅来自多个不同来源,而且有混合型数据(包括结构化和非结构化)和离散性数据(分布在不同的系统或平台的数据)。
数据来源包括企业内部和互联网数据,其中:
企业内部信息系统本身每天产生海量的检测数据,而攻击者的操作行为也隐藏在系统自身记录的审计日志和网络流量数据中。
互联网数据包括开源情报、安全论坛发布的信息和网络公布的安全报告等。
2、主要数据形式
从数据结构上看,安全数据包括结构化数据、半结构化数据以及结构化数据。
首先,常见的结构化数据包括漏洞(CVE)、攻击模式(CAPEC)、知识数据库等知识以及从传感器收集的网络资产和终端日志等数据。通常存储在关系型数据库中,授权后可以直接获取。
其次,半结构化数据包含日志文件、 XML 文档、 JSON 文档、 Email ,权威机构发布的威胁情报 (STIX)、开源威胁指标 OpenIOC。
最后,非结构化数据包括文本数据,如漏洞描述、恶意软件分析报告、攻击组织分析报告, 安全热点事件等信息,来自于网络安全机构研究报告、社交媒体、安全社区博客及供应商公告、APT 报告、威胁分析报告、博客、推特和文档数据。主要依赖于手工收集和自动化爬虫,在获取开源数据时尽量选择可靠的数据源,例如权威安全研究机构来保证信息可信度,然后利用爬虫技术采集威胁情 报网站上特定格式的 IOC 描述,安全研究机构发布的威胁组织分析报告等。
3、常用安全本体
安全本体是本体概念在信息安全领域的应用,主要从安全角度出发,包含了资产、威胁、 脆弱性、恶意软件、攻击模式、防护对策、事件等概念知识抽象化后的安全领域模型,即给 出归一化、抽象、可推理的安全本体范式。
该本体模型其主要用于提供安全领域形式化统一 的术语及术语间关系,同时具备本体推理和查询的功能。例如,下图展示了攻击模式类的本体定义
在安全行业内,大量研究成果的也证实了本体在安全领域的应用的可行性,如:
Tsoumass 等人创建了一个安全本体(Security Ontology, SO)来对信息系统的资产、对策和风险管理的概念进行分类。
Vorobiev 等人开发了一个安全资产漏洞本体(Security Asset Vulnerability Ontology, SAVO),以对网络威胁、风险、拒绝服务攻击、非法访问和漏洞的概念、属性以及关系进行建模。
Syed 等人开发了统一网络安全本体(Unified Cybersecurity Ontology, UCO),以集成各种网络安全本体、异构数据方案以及用于网络威胁情报共享和交换的常用网络安全标准。
当前,网络安全还存在细分领域本体,其旨在解决某些具体维度上特定的网络安全问题,划分粒度更为细致,包括:
入侵检测本体(Intrusion Detection Ontology, IDO)
恶意软件分类本体(Malware Classification Ontology, MCO)
恶意软件行为本体(Malware Behavior Ontology, MBO)
网络威胁情报本体(Cyber Threat IntelligenceOntology, CTIO)
数字取证本体(Digital Forensics Ontology, DFO)
安全运维处理本体(Secure Operations and Processes Ontology, SOPO)
网络攻击和影响本体(Cyber Attack and Impact Ontology, CAIO)
网络安全对策技术本体(MITRE D3FEND Ontology)。
当前,已经陆续出现一些典型的安全领域知识图谱,例如D3FEND 网络安全对策知识图谱、Cygraph 网络安全态势分析图谱、攻击组织知识图谱等,恶意软件知识图谱等。
其中:
D3FEND 网络安全对策知识图谱针对 ATT&CK 攻击技术、数字工件和防御技术三 种概念进行建模 ,可以帮助网络安全分析师理解进攻性技术和防御性技术的关系以及如何应对 攻击威胁;
CyGraph 可以用于建立可能的攻击路径的预测模型,识别关键的漏洞,将警报与攻击路径关联起来,并允许在任务保证的上下文中进行基于图的数据分析。将网络安全知识图谱对概念的划分粒度提高可以有利于解决领域内特定维度或固定场景 上的应用问题;
恶意软件知识图谱可以对恶意软件、系统进程、 网络通信、源代码、漏洞利用 payload 和攻击行为等概念、属性和关系建模,辅助恶意软件家族分类。
1、Cygraph 网络安全态势分析图谱
由MITRE 公司推出的 Cygraph 网络安全态势分析图谱,从网络架构(Network Infrastructure)、安全状态(Security Posture)、网络威胁(Cyber Threats)、任务准备(Mission Readiness)四个层次构建知识图谱,用于支持针对关键资产保护的攻击面识别和攻击态势理解等任务。
1)Network infrastructure:网络拓扑信息,如主机、网络设备、安全设备、组织等。
2)Cyber posture:网络基础设施中影响网络攻击 / 防御的元素,如主机配置、漏洞、 服务、共享资源、防火墙策略等。
3)Cyber threats:潜在的网络威胁,如攻击告警、 CAPEC 攻击模式、 ATT&CK 攻击 技术等。
4)Mission readiness:任务准备包含任务目标、任务、信息之间的关系以及他们对网 络资产的依赖关系。
2、攻击组织知识图谱
上图展示了由绿盟科技攻击组织知识图谱,对于攻击组织涉及的各类安全实体主要参考上述的安全要素规范,实体关系的 设计则主要参考STIX2.0 描述语言以及 MITRE 公司定义的 CAPEC、MAEC、CWE、CPE 等标准, 构建威胁元语体系,涵盖 4 个层次,11 个主要实体类型,以及百万级别的知识节点。
威胁建模是网络安全威胁分析的一个重要环节,是一种分析和解决安全问题的结构化方 法,用来识别、量化并应对威胁,利用抽象的方法来帮助思考风险。
可以基于 ATT&CK 对各个攻击生命周期的攻击行为建模,利用基础的威胁建模知识与威胁攻击数据,可根据威胁相关知识的融合抽象,提供更细粒度、更动态的建模理论框架,在构建上,威胁建模主要含有资产、威胁(攻击行为)、漏洞几个主要元素,通过识别威胁和制定 保护策略来保证信息 CIA( 机密性 / 完整性 / 可用性 ) 三要素。
由于高级持续性威胁(APT)攻击往往具有明确的攻击意图,并且其攻击手段具备极高的隐蔽性和潜伏性, APT 正日益成为针对政府和企业重要资产的不可忽视的网络空间重大威胁。
因此,可以通过威胁情报关键要素的抽取与动态行为推理,实现 APT 攻击者团伙的威胁主体画像与自动归因,辅助攻击事件的研判与取证。
1、APT 组织画像归因
DARPA通过增强归因项目进行攻击组织的行为监控和追踪。
增强归因项目主要分为三个部分,先进行活动的监测和归纳,从海量数据中抽取能够代表确切事实的元数据;
再对元数据进行多源数据融合和模糊性数据的时序关联;最后对数据进验证和扩充,以提供可信的攻击者情报。
2、基于上下文感知计算的网络APT攻击组织追踪
为了有效解决海量多模态数据场景下攻击组织相关的高危安全事件的快速发现问题,构建基于攻击组织本体的上下文感知计算总体的框架。利用攻击组织知识库进行事件威胁上下文语义的富化、攻击链关联和攻击组织特征关联计算,最终发现攻击组织相关的高危事件。
3、基于特征图聚类的未知攻击组织发现
目前单纯依靠人工研判或者依赖安全专家基于离线的数据进行特征模型构建和分析已经很难有效满足大部分单位和组织对 APT 组织安全事件实时分析的要求。业界进行包括 APT 组织在内的攻击团伙的追踪和发现的方法主要包括直接基于网络流量进行特征建模和基于样本代码特征进行建模来进行攻击团伙发现。
但是由于原始流量数据量级往往过于巨大,其中 的噪声特征往往占据非常大的比例,直接基于原始流量构建的特征模型的鲁棒性往往不太好, 并且这一类方法通常需要耗费较多的人工分析成本,某些情况下只能基于离线保存的历史数 据进行分析,无法满足实时分析和追踪的需求。
具体的,基于实时生成的包含多条攻击链的攻击源数据,以攻击源 IP 为核心,抽取其中的特征生 成特征点,并连接特征点和核心点。
目前图结构以及图分析算法的研究发展迅速,图 结构及图算法也已经被应用到网络安全场景中。国内方面,已有许多产品和研究关注安全数 据的图分析方法。
基于安全知识图谱的事件风险画像、攻击路径调查、响应策略推荐,能够提供丰富的、具有安全语义的上下文,有效支撑动态事件的研判和策略部署,降低安全运营对专家经验与知识的依赖。
1、攻击画像及威胁评估
企业为了应对网络威胁,通常会部署多个检测设备(如网络入侵检测设备 IDS/IPS、全流 量检测和网络应用防护系统 WAF 等)。由于检测设备规则的敏感性,导致企业安全运营人 员每天要面对海量的告警,海量告警的筛选问题多年来一直困扰着安全行业。企业安全设备 产生的告警远远超出了安全运营人员的排查能力。安全知识图谱应用到企业智能 安全运营中,对提升安全运营的自动化水平,减少对人力投入与专家经验的依赖,降低威胁分析与响应的周期。
因此,攻击画像及风险评估是针对复杂的企业环境,利用采集到的日志或是设备告警构建相关的威胁图谱,以属性图的形式来刻画攻击和攻击源。然后利用图的相关方法对攻击源和攻击行为进行风险与威胁评估。
2、攻击路径调查
攻击路径调查是指在网络攻击事件发生时,找到攻击路径以及相关的攻击过程。在网络空间中,作为防御者需要“知彼”,就是回答在网络攻防对抗中谁攻击了我,攻 击点在哪以及相关攻击路径,这便是攻击事件调查 。
攻击源威胁评估是从海量的数据中找 到真正的攻击者,回答的是谁攻击了我的问题。除此之外,还需要找到相关的攻击路径实现 攻击事件的完整调查。通过攻击事件调查技术可以确定攻击源或攻击的中间介质,以及其相 应的攻击路径,以此制定更有针对性的防护与反制策略,实现主动防御。
安全知识图谱是描述安全事件相关的 抽象知识,而日志信息记录的是网络流量和系统行为等,其不仅包含攻击事件相关的信息, 同时也包含系统正常运行的相关信息,构建统一的基于知识图谱的模型, 通过对动态图模型的上下文分析,发现并还原攻击者的攻击路径,进而打破现有攻击路径调 查过程极度依赖安全专家的瓶颈。
3、响应缓解策略推荐
智能安全策略推荐是一种通过集成多个系统和平台来调整不同的安全工具和技术的方法, 以简化安全流程,增强安全自动化以及加速事件响应。它有助于将复杂的事件响应过程和任 务转换为一致的、可重复的、可度量的和有效的工作流。与人工协作相结合,安全编排将人员、 流程和技术集合在一起,以提高安全操作团队的整体效率。
上图展示了一个典型流程,其中:
安全智能决策模块首先对待处理的告警或事件进行攻击理解,借助已有的知识库了解当 前攻击的阶段、严重程度等等,借助原始日志和全流量等数据进行攻击事件调查,得到更多 被感染的机器,并且利用提前建立的预测模型,预测下一次攻击事件的类型和严重程度,通 过攻击理解模块,可以获取对当前攻击事件的完整刻画,包括当前事件、由当前事件引起的 其他事件以及将来可能发生的事件,即得到战略层面的信息。
实现面向网络空间测绘领域知识图谱的语义搜索、查询,智能问答和知识推理等任务,将资产、漏洞、安全机制、攻击模式等信息进行关联分析和数据融合汇聚,充分掌握网络空间资产及其状况。
1、网络空间资产风险分析
网络空间资产风险分析主要是对资产的风险态势进行评估,通过主动指纹探测、被动的 信息采集、收集,分析已知资产现状和发现未知资产,评估易被攻陷的高危主机、存在恶意 行为的主机、重点关注的 IP/ 域名、域名备案情况等,整合成为网络空间资产、身份、数据 等各类实体及其特征信息,以此输入到安全知识图谱中,进而形成网络空间资产的整体画像 和实体局部画像,支持网络空间资产风险的全面、深度分析。
2、团伙关系分析
攻击团伙往往已经 形成了一个密切协作的网络,严重威胁网络空间安全。攻击团伙发现的关键是基于网络空间 数据生成关联图与图上社区发现。
因此利用知识图谱关联分析的技术对海量的大数据进行挖掘,通过人工智能 算法实现对网络空间数据隐含关系的挖掘,及时有效分析团伙行为,实现定位、识别攻击组团伙行为发现是网络空间测绘领域中知识图谱应用的一个典型场景。
构建软件供应链知识图谱,通过知识图谱的关联与推理,完成软件供应链的风险识别、高风险推荐、影响范围分析和缓解措施决策等。
相比传统软件安全,软件供应链面临的安全风险不断加大,遭受破坏而引发的网络安全 事件数量逐步上升。
第一,软件供应链攻击面从软件产品本身的漏洞扩大为上游供应商的软件、组件和服务的漏洞,任何一个上游阶段的漏洞都会影响下游所有软件,这就导致软件供应链的受攻击面不断扩大。
第二,攻击面的扩大显著降低了攻击者攻击的难度,一旦对软件供应链中的任意环节进行攻击或篡改,都将会引起安全风险的连锁反应,产生巨大的安全危害。
最后,软件供应链开源化趋势增加,导致影响软件供应链的各个环节都不可避免受到开 源环境的影响。为了有效保障软件供应链的安全,关键需求如下:
其一,需要全面梳理软件供应链中涉及到的供应商、软件、信息、工具、服务、上下游交付 环节,保证供应链流程不会存在遗漏。
其二, 需要识别哪些代码、工具存在安全风险,重点是明确哪些组件引用了哪些高危组件, 又有哪些系统引用了这些组件。
其三,上游的漏洞如被引入当前环节,需追踪当前环节的产出会被哪些下游所使用,跟踪信 息流,确保问题发生时的影响范围是可知、可控和可追溯的。
其四,针对安全风险需要决策方案,通过替换、升级、修复进行解决,或者通过防护、封堵 等方式进行规避。
为了满足上述供应链安全的关键需求,利用安全知识图谱中的关系,可以表示为软件供 应链中的“引用”关系。基于知识图谱相关的图分析方法,识别软件供应链中的高风险点和 影响范围,给出相应的措施进行缓解,从而有效解决软件供应链安全的问题。构建软件供应链知识图谱,通过知识图谱的关联与推理,完成软件供应链的风险识别、高风险推荐、影响范围分析和缓解措施决策等。
1、开源组件风险识别
结合软件供应链安全知识图谱,采用不一致性进行判断。也就是通过设定规则,找出在 知识图谱中本应相同却不同、本应不同却相同的对象。如上图所示,开源组件 A 和 B,本 应是两个不同的开源组件,但若发现他们的 md5 相同,则可能存在冒用的风险。而若开源组 件 A,存在两个不同的 md5,则有可能是其他的恶意软件进行了伪装。
2、高风险软件推荐
软件供应链有一个很明显的特征,即引用关系链特别长。那么一旦某个节点被爆出存在 安全隐患,可根据知识图谱快速梳理出受影响的对象。如下图示例,用户 A 安装了 APP-I, 而 APP-I 引用了开源组件 A 和开源组件 B。若开源组件 A 存在安全漏洞,则会影响用户 A。而知识图谱的边,正好可以体现出这种引用关系,适合于软件供应链安全中的多级依赖场景。通过深度搜索,提取特征,可作为风险模型的输入。
3、影响范围分析
基于图谱中所有存储历史信息对潜在的威胁进行建模,包括开发工具污染、预留后门、 源代码污染、捆绑下载、升级劫持等 ,对于可识别威胁,通过图谱直接进行影响范围分析。
如下图所示, office2007、 2013 和 2016 都有 CVE-2017-111882 漏洞,被 Sidwinder 组织 在某次 APT 攻击战役中使用。通过组件的引用关系,就可以识别受到影响的终端。
未来安全防护的趋势是将功能安全与信息安全相结合,以业务系统功能安全(Safety)的可用 性为目标和约束,再考虑信息安全(Security),通过对两类安全防护能力的优化设计,消除冲突,实现工业系统的两安融合,降低信息物理融合带来的信息安全风险。
工业环境下,信息安全和功能安全分别针对不同的系统风险来源,各自建立了基于 IEC 62443 和 IEC 61508 的安全防护体系,两者并未形成有效的知识联系, 并没有打破“信息孤岛”的状态,难以全面分析工业系统在攻击过程中受到的影响。
在工业控制系统的信息层和物理层,各类安全系统每天产生海量的监测 数据,这些数据来源分散、语义多样、格式异构、相互关联,而攻击者的操作行为 隐藏在其中,目前还缺乏对攻击事件关联数据的挖掘和展现,不利于采取正确合理的 安全策略。
1、基于安全知识图谱的安全风险预判
基于知识图谱挖掘潜在安全风险,对潜在风险进行规则判定、图谱验证、 风险判定等识别过程,进而对可能发生的安全事故做出及时而迅速的预防。
如上图所示,风险层通过功能安全和信息安全融合的知识图谱,从安全告警信息中识别潜在的安 全风险,评估系统安全风险对系统业务的影响,根据系统具体业务给出响应处理的优先级。
策略层为应对特定系统安全风险,从功能安全和信息安全策略池中选择适当策略手 段进行组合,给予正确合理的安全防护。
基于知识图谱的工业系统安全风险预判通过构建主要风险要素(包括拓扑结构、漏洞状况、 运行数据等)的关系图谱,全方位了解系统安全风险状况,并利用信息层和物理层的监测告警数据。
本文主要围绕着知识图谱在安全领域的结合和应用进行了介绍,主要是对领域专业机构绿盟科技发布的安全知识图谱技术白皮书一文进行了阅读和总结。对于更为详尽的内容,读者可以查看报告,做更为深入的了解。
OpenKG
OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。
点击阅读原文,进入 OpenKG 网站。