网络空间安全 知识图谱
知识图谱入门
首先引入知识管理的含义,自己总结后,描述如下:在系统中建立一个技术相对成熟完善,内容相对公开透明的知识仓库,其中囊括广泛有用的知识和信息,通过大家的习得思考,创造分享,报录完备和存取更新等过程,达到知识仓库不断充实新颖的效果。这样,个人与团队的知识储备得以日益丰富且先进,有助于指导我们日后的学习和研究,同时也足够应对技术的更新迭代和市场的不断变化。
当下,知识管理广泛应用于计算机网络技术,在网络空间安全领域发挥重大的指导作用。
其中知识管理的其中一个分支为传统的语义网,目前经过进化,衍生出更具活力的知识图谱(knowledge graph)。相比语义网,它的主要优势在于:
- 规模大:实体的识别是从文本中抽取出特定的实体信息,关系的识别则是指实体间的各种关系,而知识图谱其涵盖的 实体以及联系的数量已多不胜数。
- 质量好:知识图谱中的语义关系丰富,建模方式多样,推理能力强:依托行业专家大牛或前人的经验教训,加上对海量数据的搜集和推理,质量上有很大保证。
- 结构友好:基于三元组是知识图谱的一种通用表示方式,可以保存为资源描述框架(Resource Description Framework,RDF),也可采用图形数据库存储,或采用关系型数据库存储,让计算机更易读,并实现对数据的有效处理;
知识图谱也有一些劣势,这体现在:
- 模式定势:在构建过程中,通常会进行预先设置,例如对于属性“身高”会预先设置值域,但考虑到所有人的身高都不是一成不变的; 反而在进行完善时候,需要大量的人力操作。
- 相对狭隘:知识图谱会因人类的有限认知遇到瓶颈,从而不能保证图谱的绝对完整性和正确性;
- 构建方式:目前构建知识图谱分为自顶向下和自下而上的方式。前者对于一个行业来说,数据内容,数据组织方式往往多种多样,敲定需要耗费大量人力物力,而且要求的专业性相对要高,和编书差不多;后者根据海量的数据,构建模型,速度是快了很多,但精度会下降,当数据较少的时候,自动构建能力往往差强人意。
它的作用在于:作为润滑剂,加快人机交互和机器交互的数据流动的速度。下边就从这两个角度对其进行描述。
知识图谱于人机交互:向机器提供理解或定义某种事物的一种结构,尽量减少数据流通中存在的阻力,方便用户集成信息,从而更直观习得信息。目前相对成熟的基于元数据的数据集成技术,打通老系统和各个新的子系统之间的数据访问,使用户不必考虑数据模型异构,数据抽取以及数据合成等相关问题。举个例子,疫情期间,出门在外,提供的通信大数据行程卡,可显示在前14天内达到或途径哪个地方,其中与行程相关的信息集成系统的结构大致有三层,数据交换中心处于中间层,对上层集成的各大应用系统提供服务,同时这些系统可以向上方便地再集成新的应用系统或服务,最下层则是各分布异构的数据源和实数据中心,这样,很大程度上帮助人们结构化设计过程,同时也带来了交互上的可视化。
知识图谱于机器交互:我们需要事先给定网络可寻址的资源(URI),并构建机器在网络中的联系。这就要用到元数据对它们进行解释,通过他们之间的联系或自身的内在联系,形成一张图,在图上继续定义更多上层的复杂操作,如查询,推理,筛选等操作,可玩性很高。例如,同学甲要邮寄物品给国外网友,需要自行选择国际物流公司并邮寄包裹到集运仓库(告知目的地址,根据图谱反馈是否确定能送到),需要核验产品是否能邮寄(验证最新协议图谱),装货(把目的地址写在单子上,根据每个转运点的路线关系图谱,进行智能筛选,转到下一站),选择合适运输方式(在由相关规定构建的图谱中选定),收取相应运费(按运输方式,运送国家,体积重量等构建的图谱计算费用)。对于整个流程,机器在扫描后,尽最大可能处理、识别并进行自描述。而知识图谱正充当了这个角色,让机器交互中数据似乎变得更有灵气,同时也使得数据处理更加稳定,准确,有效甚至高效。
最后引用管理大师德鲁克的认识作为对知识图谱介绍的结尾::“21世纪的组织,最有价值的资产是组织内的知识工作者和他们的生产力”
网安知识图谱(学习入门)(一)
按照蒋天星学长知乎《知识图谱在网络安全领域的应用》中推荐的八篇论文,逐个阅读分析后,写下读后笔记:
论文1:网络态势感知的功能总览
介绍一款用于网络战分析、可视化和知识管理的工具,CyGraph,它可以提高网络安全态势,在面临网络攻击时保持态势感知以及重点保护任务关键型资产:
首先引入两个概念:
1. 安全态势:在大规模网络环境中,对能够引起网络态势发生变化的安全要素进行获取、理解、显示并据此预测未来的网络安全发展趋势
2.网络拓扑:计算机网络拓扑(Computer Network Topology)是指由计算机组成的网络之间设备的分布情况以及连接状态.把它两画在图上就成了拓扑图.一般在图上要标明设备所处的位置,设备的名称类型,以及设备间的连接介质类型。
提出背景:网络攻击防御中,由于网络拓扑,主机配置、漏洞、防火墙设置、入侵检测程序等因素复杂多变,常规的安全评估方式难以有效、统筹分析以提供更加精确的决策支持和态势感知。
系统总体目标:提高发现潜在威胁和任务影响的能力,最大限度减少将多个不同的数据源组织成有意义的关系所需的时间。(这也正是知识图谱受到极大关注的原因,能够让人从机器中获得更加直观有用的信息,同时建立联系,减少机器之间的摩擦,让数据流通更加畅通无阻)
系统特点优势:
1. 能够将孤立的数据和事件汇集到一个持续的整体画面中,形成模型,提供决策支持和态势感知;
2. 在任务关键型系统下,优先考虑暴露的漏洞,并映射到潜在的威胁;
3. 面对实际的攻击,能够将入侵警报与已知的漏洞路径相关联,并提出响应攻击的最佳行动方案;
4. 攻击后进行分析取证,能显示需要深入检查的的易受攻击的路径,并汇总,整理,标记。
具体设计操作:
构建关于攻击的图的模型:在其中映射了通过网络的潜在攻击路径,添加任何可能导致攻击成功的网络属性,在融合各种数据源信息的基础上,利用各种工具进行分析,进行动态演化。这种模型是一个分层模型:
1. 网络基础设施层捕获网络如何分段和拓扑组织,传感器的位置等,
2. 网络态势层:主要考虑网络设施中可能影响网络攻击/防御的因素
3. 网络威胁层描述潜在的对手威胁,用于防御态势,这包含威胁情报以及警报和其他行为指标的事件流。
4. 任务依赖层捕获各种任务组件之间的依赖关系
这样CyGragh大大缩短了分析周期,减少错误警报,并提供了最佳建议,模型构建如图所示
实施架构
关键细节
1. CyQL
专门用于CyGraph范围内的应用程序领域,提高使用GyGraph的安全分析师和内容开发人员的效率,下边图显示底层CyQL数据模型的一个实例,我们表示为实体关系类型的图(任务准备,网络基础设施,网络威胁和网络态势通过“机器“和”漏洞利用”这两种节点类型联系在一起)。
优势:极大提高了针对网络数据模型的分析查询的清晰度,CyQL还封装并隐藏了许多必须在原生图数据库查询中表达的约束,在模型更复杂时,极大简化了工作量。同时CyQL提供的额外抽象层支持多个后端数据引擎实现,每个实现都有自己的本地查询语言,这意味着与CyGraph集成的用户和应用软件与单一语言交互。
补充1:CyGraph部署在MITRE网络分析虚拟环境(CAVE)中,CAVE为大数据分析提供了一个集成,可扩展,容错和托管的虚拟环境,它拥有一套网络数据存储库,知识库和分析引擎,以及查询和可视化功能,CyGraph综合了新的网络和任务知识,它们都存储在CAVE的知识库中。同时CyGraph提供了新的可视化形式,具体细节如下图示:
补充2:CyGraph架构基于客户机-服务器模型,它的客户端和服务器都可部署在单独的主机(或虚拟机),通常,CyGraph服务(中间层服务器和后端数据库)被实现为独立的虚拟机实例。如下图所示,其中客户端一个关键库CygraphStream为图形可视化、样式化和用户交互提供了基本功能。
2. 网络分析和网络态势评估
CyGraph支持在其知识图堆栈的各层内部和之间进行深度分析,包含利用TVA/tomcat工具来绘制网络基础设施的漏洞暴露图,这有助于确定主机漏洞的优先级,识别不安全的访问策略规则,并展示攻击者如何潜在地利用多个漏洞来逐步渗透网络。细节如图示:
补充:在更传统的网络安全工具中,分析和视觉行为是在设计时内置代码中,但是在CyGraph中,模型结构是由数据源以及它们如何被转换成图形数据库来驱动的,引用论文中的图,如果以后有接触,再为补充:
3. 网络威胁
网络态势层列举了大量可利用漏洞,威胁情报共享包括它们的攻击模式和待观察的等级,这些要素也促进了CyGraph等工具的发展,其中一个主要资源是CAPEC,它主要提供一种分类方法,具有笛卡尔式的节点布局,技术细节大家可以自行了解,可视化后的分类图如下:
4. 任务相关性
分析网络攻击对组织功能的影响,捕捉任务组件之间的层次依赖关系,这些统筹通过任务依赖关系的手动建模来获取,如图:
这里边显示网络攻击的可传递任务效果,eg:CyGraph查询可以从攻击的受害主机开始,向前遍历该图以美剧依赖于它的任务组件,显示对任务依赖层次结构的所有受害级别的影响,另外可以包括潜在的下一个攻击步骤,查询也可以沿着相反方向便利,因此这些类型的分析查询可以将CyGraph知识库的所有层之间的关系联系在一起