知识图谱 知识计算--- 本体推理 规则推理 路径计算 社区计算 相似图计算 链接预测 不一致检测
技术分享 | 知识图谱在网络安全领域的应用
from:http://www.winicssec.com/Index/show/catid/57/id/560.html
一、知识图谱介绍
知识图谱(Knowledge Graph)是Google在2012年提出来的概念。从学术的角度,知识图谱本质上是语义网络(Semantic Network)的知识库,从实际应用的角度出发可以简单地把知识图谱理解成多关系图(Multi-relational Graph)。多关系图的意思就是包含多种类型的节点和多种类型的边的图结构。这里的图既可以是有向图,也可以是无向图。
知识图谱用节点和关系组成图谱,为真实世界的各个场景直观地建模。通过不同知识的关联性形成一个网状的知识结构,对机器来说就是图谱。知识图谱对于人工智能的重要价值在于,知识是人工智能的基石。构建知识图谱这个过程的本质,就是让机器形成认知能力,去理解这个世界。
所以,知识图谱是人工智能的一个重要分支。在19世纪80年代,人工智能研究的主流变成了知识工程和专家系统,特别是基于规则的专家系统开始成为研究的重点。这时,语义网络的理论更加完善,特别是基于语义网络的推理取得不少进展。但是人工智能在当时并没有取得很大的商业成功,甚至一度进入“人工智能的冬天”。2006年,Hinton在神经网络的深度学习领域取得突破,是人工智能历史上标志性的技术进步,人工智能重新回到大家的视野。2012年,Google发布的知识图谱旨在实现更智能的搜索引擎,2013年以后开始在学术界和业界普及,并在智能问答、情报分析、反欺诈等应用中发挥重要作用。知识图谱以语义网络作为理论基础,并且结合了机器学习,自然语言处理和知识表示和推理的最新成果,在大数据的推动下受到了业界和学术界的广泛关注。知识图谱对于解决大数据中文本分析和图像理解问题发挥重要作用。
知识图谱和早期的语义网络相比,主要的进步是:
首先,知识图谱重点关注实体之间的关联,以及实体的属性值,相对早期的语义网络模型更简化。简化的数据模型容易在业界推广利用,大大降低了知识图谱的使用门槛。
其次,得益于大数据技术的发展,知识图谱通过对网络中数据的自动提取,知识挖掘技术可以快速构建大规模、高质量知识图谱,而早期语义网络主要靠人工构建,很难实现大规模的知识库。
最后,知识图谱的构建强调不同来源知识的整合和知识清洗技术,而这些不是早期语义网络关注的重点。不同知识的融合一方面带来知识的再次爆炸,一方面也能产生新的知识。
二、知识图谱构建
构建知识图谱的数据来源可以是非结构化数据(比如网页、文档内容)、半结构化数据(比如一些XML文档)和结构化数据(比如数据库中的数据)。这些数据经过知识抽取、知识融合、知识计算,最后统一概念,形成知识存储起来,供应用层调用。自动化构建知识图谱的过程本质就是深度机器学习的过程,现在的机器学习技术已经支持自动化的知识图谱构建,但是还是有很多场景需要人工参与,尤其是一些专业领域的知识图谱,需要领域专家参与构建。
搭建一个知识图谱系统的重点不完全在于算法和开发,最重要的核心在于对业务的理解以及对知识图谱本身的设计。这就类似于一个业务系统,数据库表的设计尤其关键,而且这种设计绝对离不开对业务的深入理解以及对未来业务场景变化的预估。
一个完整的知识图谱的构建包含以下几个步骤:
1.定义业务问题。
2.数据的收集和预处理。
3.知识图谱设计。
4.分析学习数据,构建知识,存储知识图谱。
5.上层应用的开发。
下图列出了构建知识图谱涉及的相关技术点,可以看到,知识图谱的构建涉及的技术非常多,每一个技术点都值得深入研究,同时也要和业务进行深入融合,结合业务来设计算法。
构建完成的知识图谱目前主要有2种存储方式,一种是基于RDF的存储;另一种是基于图数据库的存储。RDF是一种W3C定义的XML格式文档,易于发布以及共享,一般在学术研究方面应用比较多;图数据库则把重点放在了高效的图查询和搜索上,一般在实际的产品开发上应用比较广泛。
三、知识图谱的主流应用
知识图谱最早由Google推出,主要用于辅助搜索,提供更有效更准确的关联结果。知识图谱适合做深度的关联分析,深入挖掘节点之间的关系。由于图计算的引入,知识图谱在图形化展示方面特点非常突出。
如果你的业务有如下需求,知识图谱就是很好的选择:
1、关系的深入搜索;
2、关系查询的实时性要求;
3、数据多样化;
4、强烈的可视化需求。
当前,知识图谱的主要应用场景包括:
优化搜索和社交网络等传统互联网领域:这也是Google最开始使用知识图谱的应用场景,通过知识图谱找到内容关联的网页和答案,让搜索通往答案,给用户更好的搜索体验。社交网络通过构建各个人的关系图谱,可以挖掘人员之间的社交关系,从而分析每个人的爱好、社交圈、消费层次、娱乐八卦等信息。
股票金融领域的投资分析:通过知识图谱相关技术从招股书、年报、公司公告、券商研究报告、新闻等半结构化表格和非结构化文本数据中批量自动抽取公司的股东、子公司、供应商、客户、合作伙伴、竞争对手等信息,构建出公司的知识图谱。在某个宏观经济事件或者企业相关事件发生的时候,投资研究人员可以通过此图谱做更深层次的分析和更好的投资决策。
公安情报分析:通过融合企业和个人银行资金交易明细、通话、出行、住宿、工商、税务等信息构建初步的“资金账户-人-公司”关联知识图谱。同时从案件描述、笔录等非结构化文本中抽取人(受害人、嫌疑人、报案人)、事、物、组织、卡号、时间、地点等信息,链接并补充到原有的知识图谱中形成一个完整的证据链,从而辅助公安刑侦、经侦、银行进行案件线索侦查和挖掘同伙。
反欺诈情报分析:通过融合来自不同数据源的信息构成知识图谱,同时引入领域专家建立业务专家规则。我们通过知识图谱的一致性检测,可以识别潜在的欺诈风险。比如借款人张xx和借款人吴x填写信息为同事,但是两个人填写的公司名却不一样,以及同一个电话号码属于两个借款人,这些不一致性很可能有欺诈行为。
四、知识图谱在网络安全领域的应用
计算机网络本身就是由多个节点组成的,每一个计算设备和网络设备连接在一起形成完整的网络,大到互联网,小到局域网都刚好符合知识图谱的本质特征,即多关系有向图。所以一个计算机网络是可以构造形成一个知识图谱,每个计算节点对应知识图谱中的节点,节点之间的网络连接对应知识图谱中的边。
网络安全问题一般包括:仿冒身份访问、提权访问、否认访问、窃取数据信息、破坏数据信息或系统完整性、网络攻击等。这些安全问题都涉及到网络节点之间的关系,都需要先建立网络连接再实施网络入侵或网络攻击。
前面讲到,知识图谱可以用于分析人与人之间的金融欺诈、金融事件带来的风险评估等,同样,我们可以利用知识图谱来检测识别网络中的异常和攻击,并以图形化的方式展示出来。除了异常和攻击检测,结合安全专家的业务知识,把漏洞、攻击、规避方案融入知识图谱,可以为安全问题提供可靠的安全指导,或者直接实施规避方案来阻止攻击或入侵行为。
我们把基于一个网络构建的知识图谱成为网络安全知识图谱,那么该图谱包括2部分内容:
1、安全知识图谱:包括已知漏洞信息、漏洞修补方案、漏洞防护方案、攻击信息、攻击阻止方案等。这一部分知识属于已知的安全知识,可以从各个漏洞网站、攻击分析网站获取信息,由安全专家参与构建,并且随着时间的推移逐步补充内容(新的漏洞和攻击)。
2、网络知识图谱:包括网络节点信息、网络拓扑信息、网络连通信息、网络运维信息等。这部分知识属于某个网络的特有知识,需要针对具体的网络进行学习构建。数据来源包括资产发现、漏洞扫描、拓扑发现等。
这两部分共同构成一个网络安全知识图谱,我们一般把安全知识图谱称为核心图谱,网络知识图谱称为扩展图谱。
利用网络安全知识图谱,结合机器学习算法,可以有效发现一些网络异常和攻击,挖掘安全威胁的隐藏关系和路径,并对攻击进行预测,从而感知并展示网络的安全态势。
比如,下图中有一个针对资产1的攻击事件,那么基于该知识图谱可以做如下分析:
1、收到针对资产1的攻击事件。
2、攻击模式匹配,触发漏洞1。
3、资产漏洞匹配,漏洞1会触发漏洞2。
4、资产1产生严重告警,提示修补方案。
5、相关资产2、资产4产生预告警。
6、如果攻击蔓延,结合时间序列,就会记录对应的攻击路径。
7、如果启动自动防御,资产1主机上的主机卫士可以及时阻止自身漏洞相关进程,避免攻击扩散。
8、资产3、资产5和资产2是单向通信,都没有风险。
知识图谱不仅仅是存储的一些知识,也包括相关的推理算法,这些算法在网络安全领域都可以用于安全风险识别和评估,比如:
一致性验证:这是基于规则的验证算法,对于已知的规则,通过该算法可以验证节点和连接的一致性,从而发现异常。
模型学习和判断:通过对有向图的分析,可以学习节点之间关系的模型,相同的业务会有相同的图模型,如果发现模型不一样,就可能是网络异常或者攻击。
强关系挖掘:通过对网络流量的分析,识别网络中具有强关系的节点,即平时关系最紧密的节点,在某个节点发生异常告警时,就能准确识别问题的严重性,并对后续影响进行评估。
动态网络分析:基于网络图谱连接的变化,及时识别异常连接,判断安全风险。
五、网络安全知识图谱总结
通过在网络安全领域引入知识图谱技术,有如下优势:
1、快速应用:引入安全知识图谱,避免了传统机器学习的海量数据集的训练过程,系统部署后快速生效,进入安全防护状态。
2、准确识别:基于机器学习算法+安全知识图谱,相当于引入安全专家,可以精准识别潜在的威胁(包括已知和未知),准确评估威胁的影响。
3、安全可视化:基于安全知识图谱,以有向图的形式展示安全威胁及其攻击路径。
4、智能决策:知识图谱不仅能感知检测异常,还可以预测和主动防御。结合安全知识图谱,就可以给出解决方案,或者直接采取行动。
几年前,微软在Azure云上引入了知识图谱进行安全检测防护,实践证明,通过引入网络安全知识图谱,可以更迅速、更准确、更有效的检测异常攻击。
威努特在2018年凭借“基于人工智能的工控安全态势感知平台”,获得中关村国际前沿科技创新大赛的大数据和信息安全领域的Top 10,其中就是采用知识图谱技术识别网络安全问题,分析安全态势,达到态势感知、态势预测和安全防御的效果。该平台的整体结构图如下所示: