CN115186136A - 一种用于网络攻防对抗的知识图谱结构 - Google Patents
一种用于网络攻防对抗的知识图谱结构 Download PDFInfo
- Publication number
- CN115186136A CN115186136A CN202210492718.1A CN202210492718A CN115186136A CN 115186136 A CN115186136 A CN 115186136A CN 202210492718 A CN202210492718 A CN 202210492718A CN 115186136 A CN115186136 A CN 115186136A
- Authority
- CN
- China
- Prior art keywords
- class
- entity
- entities
- domain
- modeling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种用于网络攻防对抗的知识图谱结构,所述知识图谱结构包括:模式层,所述模式层内包括初级图谱的类信息,所述类信息包括多个业务域,所述业务域包括通用域、资产域、威胁域、活动域、观察域、定位域、决策域和行动域;实体层,所述实体层内包括所述初级图谱的实体信息,所述类信息为各所述实体对应的标签,任一所述实体可划分为多个所述业务域;资料层,所述资料层内包括所述初级图谱的数据项信息。本发明将OODA循环的主要业务需求纳入知识图谱结构中,使得网络知识图谱适用于攻防对抗领域。
Description
技术领域
本发明涉及网络攻防对抗技术领域,具体涉及一种用于网络攻防对抗的知识图谱结构。
背景技术
安全知识图谱作为安全领域的专用知识图谱,由节点和边组成大规模的安全语义网络,为真实安全世界的各类攻防场景提供直观建模方法。第一,通过知识图谱框架进行高效融合海量零散分布的多源异构安全数据;第二,图语言将安全知识可视化、关系化和体系化,非常直观和高效;第三,自带安全语义,威胁分析可以模拟安全专家的思考过程去发现、求证、推理。安全知识图谱是实现网络攻防对抗认知智能的关键,亦是应对网络空间高级、持续、复杂威胁与风险不可或缺的技术基础。知识图谱是由谷歌提出的概念,其本质是由实体 (概念)及实体(概念)间关系,以及关联属性组成的一种语义网络,通过结构化的数据组织结构,以有效表示实体(概念)之间的语义关联关系。一个典型的知识图谱主要可划分为模式层和数据层。模式层是整个知识图谱构建的基础,是数据组织的范式,一般通过本体库的设计实现。本体,是结构化知识库的概念模板,描述了数据的元信息与元结构。数据层是根据模式层本体模板范式生成的实体、关系及属性的实例集合,这些实例描述某一类或某一个概念的知识事实。安全知识图谱是网络攻防对抗领域专用知识图谱。安全知识图谱作为一种实体和概念等安全知识的高效组织形式,能够发挥其知识整合的优势,将零散分布的多源异构的安全数据组织起来,为网络攻防对抗空间的威胁建模、风险分析、攻击推理等提供数据分析和知识推理方面的支持,从而加速安全进入认知智能阶段。
由于网络空间涉及诸多复杂的实体和关系,如资产、威胁、漏洞、事件、行为等,其关联信息已经很难用传统的关系数据库来表达。尤其对于网络攻防对抗态势感知场景,需要对网络空间的各类实体进行详细建模。基于图数据模型构建的知识图谱可以有效表达复杂关系交互,融合多源异构数据,是刻画网络空间的可行工具。知识图谱的数据模式设计被称作本体模型。本体,是结构化知识库的概念模板,描述了数据的元信息与元结构。
但是,由于网络攻防对抗涉及场景众多,本体模型设计的工作量繁重,目前尚不存在通用性较好的知识图谱设计。安全知识图谱的构建存在一些难点:
通用性与定制性的权衡。组织的业务实战有其明确的侧重点,适合采用定制化的知识图谱设计。通用性过强的知识图谱会引入无关的设计,显得笨重,难以落地实现。然而,知识图谱设计又必须考虑功能扩展问题。当针对一个具体的业务场景设计一套本体模型之后,即使能满足当时的业务需求,但随业务而变化又可能失去适应性,此时原有的设计可能不易更改,从而导致知识图谱的业务价值下降。
海量数据的可维护性。在大数据时代,海量的安全数据存在重力和惯性。安全数据大都预先存放于多源异构的数据系统中,将其导入知识图谱将产生额外的负担,难以高效灵活地同知识图谱进行联动,表现为数据导入导出逻辑复杂、计算资源开销大、多个存储点信息不一致等现象。
异构图谱的互操作性。在企业破除数据孤岛的过程中,可能要打通多个异构的知识图谱,实现数据互联互通。然而,异构的知识图谱采取的本体模型设计可能互不兼容,使得数据融合出现困难。例如,A和B两个知识图谱由不同部门设计,其对“资产”概念采用了不同的定义。虽然二者都将硬件和软件定义成资产,但A设计将组织机构、人员也定义成资产,这点在B设计中未进行相应定义。另外,B设计将攻击者的基础设施定义为资产,但A设计将其定义为网络威胁而非资产。
语义分歧问题。当同一个属性值来自不同信息源时,可能会存在语义分歧,给出不一样的取值,给数据融合过程带来挑战。例如,对同一个网络攻击事件,有些数据源将其类型填写为“有害程序事件”,甚至还有数据源是误报,标记为“安全”。
态势感知与安全运营脱节。由于本体模型的设计常常忽略组织安全运营的实战需求,使得基于知识图谱的态势感知系统常常沦为纯粹的展示系统,与真实业务发生脱节。
发明内容
为此,本发明实施例提供一种用于网络攻防对抗的知识图谱结构,以期至少部分解决上述任一技术问题。
为了实现上述目的,本发明实施例提供如下技术方案:
一种用于网络攻防对抗的知识图谱结构,所述知识图谱结构包括:
模式层,所述模式层内包括初级图谱的类信息,所述类信息包括多个业务域,所述业务域包括通用域、资产域、威胁域、活动域、观察域、定位域、决策域和行动域;类信息决定了该类实体具有哪些属性和哪些关系类,类之间存在继承关联,子类继承自父类,拥有父类的全部属性种类和关系类种类,通过继承机制,类之间通常构成树状层级结构;知识图谱结构首先定义了对象 (Object)这种类型,其他所有的类都是从Object类中直接或间接派生出的,如果一个类直接以Object为父类,则可以称作一级类
实体层,所述实体层内包括所述初级图谱的实体信息,所述类信息为各所述实体对应的标签,任一所述实体可划分为多个所述业务域;
资料层,所述资料层内包括所述初级图谱的数据项信息;资料层存储着实际的数据资料,由多个数据存储系统构成,每个数据存储系统又被划分为多个数据项,数据项包含了实体的属性值信息。同一实体的不同属性信息可能被分隔到了多个数据存储系统。同一实体的同一属性信息也可冗余存储到多个数据存储系统中。
进一步地,所述实体层包括:
属性接口,所述属性接口用于在指定目标实体时,生成与所述目标实体对应的所有属性名称和对应取值;
关系接口,所述关系接口用于生成以所述目标实体为起点或终点的边。
进一步地,所述实体层还包括:
属性值访问接口,所述属性值访问接口用于根据所述目标实体和所述属性名称,生成属性值;
关系访问接口,所述关系访问接口用于根据所述目标实体和以所述目标实体为起点或终点的边,生成该边对应的邻居实体。
进一步地,所述通用域包括:
工件类,所述工件类为具有安全感知特征的实体的父类,所述工件类包括各所述实体的通用属性,所述工件类至少包括资源类;
集合类,所述集合类对应的实体与至少一个所述工件类对应的实体建立有包含关系;
序列节点类,所述序列节点类对应的各实体之间相互串接,以构成序列;
其中,“工件”(Artifact)类是一切可以进行安全感知的实体类的父类,定义了各种实体的通用属性,包括全局唯一ID(gid)、同类实体唯一ID(tid)、实体文本记号(notation)、实体描述(description)、信息来源(source)、创建时间(create_time)、更新时间(update_time)、失效时间(expire_time) 等。Artifact是一个一级类;通用域的其他一级类包括集合(Set)类和序列节点(SequenceNode)类;Set实体可以同一个或多个Artifact实体建立包含关系。SequenceNode实体互相之间可以串接起来,构成一个序列;一些工件实体具有地理位置属性,这种类称作可定位(Locatable)类,它是Artifact 的子类,在Artifact各属性的基础上增加了国家、省、市、区县、地址描述、经度、维度等属性。组织(Organization)类、人员(Person)类、硬件(Hardware) 类和IP地址(IP)类继承自Locatable类;
Artifact的其他子类包括:行业(Industry)、资源(Resource)、账户(Account)、域名(Dom)、链接(URL)、服务(Service)、软件(Software)、型号(Model)、网络(Network)等类;Organization、Person、Industry 等类型的实体之间应建立相应的关联关系,对社会运行方式进行建模;
Resource用于建模组织运营所需资源,如资产、资金、技术等要素; Service指代一个IP地址上的一个开放端口的组合,其属性需要包含传输层协议信息;从Account类中可派生出电子邮件(Email)类,代表电子邮件地址;Model类的属性应包含品牌、型号、版本号等信息;Software和Hardware 实体是软硬件的安装实例,这些实体可以同一个Model实体建立关联关系,代表后者是前者的型号;Network用于建模局域网、城域网、广域网等概念;Software或Hardware等各类实体可同Network可以建立代表联网的关系;
Set类有一些子类;IP集(IPSet)类同时继承自IP和Set,用于建模多个IP实体的集合,如一个IP段;型号集(ModelSet)类同时继承自Model 和Set,用于建模多个Model实体的集合;
资源集(ResourceSet)类同时继承自Resource和Set,用于建模多个 Resource实体的集合。
进一步地,所述资产域包括:
资产类,所述资产类为所述资源类的子类,所述资产类包括资产软件子类、资产硬件子类和资产设施子类;资产硬件子类同时继承自资产类和硬件类;资产设施子类继承自资产类,其子类包括耗材(Consumptive)、资产IP(AssetIP)、资产IP集(AssetIPSet)、资产域名(AssetDom)、资产网络(AssetNetwork)、云环境(Cloud)、机房(ServerRoom);AssetIP、AssetIPSet、AssetDom 和AssetNetwork分别也是IP、IPSet、Dom和Network的子类;Cloud通过同 Network实体建立联网关系,而云上的其他资产实体也可同该Network实体建立联网关系,从而间接地同Cloud实体建立关联;ServerRoom类实体泛指可以托管硬件的建筑设施,继承自AssetFacility和Locatable,同 AssetHardware实体建立代表托管的关联关系;
弱点类,所述弱点类为所述工件类的子类,用于建模资产中的隐患和风险点;
企业类,所述企业类为组织类的子类,用于建模公认的软件硬漏洞。
进一步地,所述威胁域包括:
威胁类,所述威胁类包括多个攻击者资源类型;
攻击团伙类,所述攻击团伙类用于对预存画像信息的攻击者进行建模;
灾害类,所述灾害类用于对资产伤害进行建模;
其中,威胁域用于建模网络威胁实体的发展态势,威胁域是指能够对宏观社会产生广泛危害的各类实体;
威胁域包含一个威胁(Threat)类,它是Resource的子类,Threat的子类型包括如下几类:有害IP(ThreatIP),继承自Threat和IP,代表被认为存在恶意的IP地址;恶意域名(ThreatDom),继承自Threat和Dom,代表被认为存在恶意的域名;恶意URL(ThreatURL),继承自Threat和URL;危险服务(ThreatService),继承自Threat和Service,代表被认定存在恶意是Service实体;恶意程序(Malware),继承自Threat和Software,用于建模计算机病毒、木马、蠕虫等有害程序的安装实例;黑客工具(HackerTool),继承自Threat和Software,用于建模攻击者或红队的工具实例,执行信息收集、漏洞利用、命令控制等目的;入侵集(ThreatSet),继承自Threat和 ResourceSet,用于辅助性地将多个Threat子类实体聚集起来,以表明其作为攻击资源隶属单个团伙;
攻击团伙(Attacker)类,继承自Organization,用于建模已经具有一些画像信息的黑客及其团伙,有害IP、恶意域名和恶意URL攻击者的所属物隶属于单一团伙,称为攻击资源;入侵集实体对各类攻击资源实体具有包含关系。
进一步地,所述活动域包括:
活动类,所述活动类用于对防守者活动和攻击者活动进行建模,继承自 Artifact和SequenceNode,用于对敌我双方的活动进行统一建模;Event实体之间产生“子活动”关系,Event的子类包括行动(Action)和事件(Incident),分别用于建模我方和敌方的活动;Event实体同Organization实体的关系包括主办方和承办方关系;Incident同Weakness形成弱点利用关系,Action 同Weakness形成弱点修复关系;Incident和Action分别对Asset形成侵害和保护关系,Action对Incident构成响应关系;
方法类,所述方法类用于对防守者和攻击者的技战术和流程进行建模,继承自Resource,用于建模攻防团队所掌握的战术、技术和流程,Method的子类包括战术(Tactic)、技术(Technique)和例程(Procedure),其中Tactic 实体可具体化为多个Technique实体,Technique实体实现为多个Procedure; Procedure的一个子类是措施(CourseOfAction),用于记录行动方案,Action 实体同一个或多个CourseOfAction实体建立代表采用的关联关系。
进一步地,所述观察域包括:
行为类,所述行为类为所述工件类的子类,所述行为类的属性信息包括时间描述、频次描述和是否成功;
包集类,所述包集类用于建模抓包结果;
观察域用于建模组织网络中观察到的各种行为,从而发现行为异常、识别网络攻击;网络空间中的行为可以表现为网络发包、传输层连接、应用会话以及对具体资产的访问行为等。观察域定义了行为(Behavior)实体,为Artifact 的子类;
Behavior的子类包括包(Packet)、连接(Connection)、会话(Session)、访问(Access)类;Packet对应一个数据包发送行为的语义信息,其属性至少要包含源IP、目的IP、IP协议版本等网络层信息;Connection实体代表传输层连接,其属性主要包括“五元组”,即源IP、源端口号、目的IP、目的端口号、传输层协议这五个属性;Connection实体的行为源实体和目标实体均为IP实体;Session对应应用层会话,;Session实体的源实体为IP实体,目标实体为Service实体,代表对IP同Service之间产生了应用层会话; Session实体的属性应包括客户端IP、客户端端口号信息、应用协议类型、应用层请求类型;应用层请求类型是域名解析、URL链接类别,此时该Session 实体分别同Dom实体、URL实体等Artifact进行关联,分别服务请求的关联内容,应用层响应类型是可选的。对于实际上的域名解析请求行为,关联一个 IP实体作为响应内容,此时Behavior实体可以同一个IP实体建立一个代表响应内容的关联关系;
Access实体同一个Artifact实体和一个Asset实体相关联,Artifact 实体对Asset实体的资源访问;
观察域还定义了包集(PacketSet)类,集成自Packet和Set,可用于建模一次抓包结果;通过对抓包结果的分析可以还原出数据包、连接、应用会话信息,PacketSet同其他类型的Behavior实体之间存在代表流量还原的关联关系。
进一步地,所述量化域包括:
量化器类,所述量化器类用于从实体中抽取数值;
量化值类,所述量化值类用于存放针对所述工件类的一次量化过程的结果;
量化过程作用于一个Artifact实体,以一定的策略产生量化结果,量化域定义了量化器(Quantizer)类,代表一个数值量化方案;量化域将各个类看做单个实体,定义了类(Class)这个一级类,如Artifact、Asset、Threat、 Vulnerability等具体实体的所属类都是以Class作为类型的实体;各实体到其对应的Class实体之间具有代表所属类的关联关系,Class实体之间存在继承关系;Quantizer到Class之间具有代表量化范围的关联关系。Quantizer 是一个一级类;Quantizer的输出结果就是一个未赋值的代数式,量化域定义了指标(Metric)类,代表一个这种代数式;Metric是一个一级类;量化域还定义了一级类算子(Functor),代表一个数值运算过程,可用于建模加法器、乘法器等简单算式,也可以建模人工神经元网络等复杂算法;Functor的输入输出分别对应一个或多个Metric;
量化域定义了量化值(Quantity)类,用于存放针对特定Artifact的一次量化过程的结果;Quantity可以看做Metric的具体赋值,其属性中应包含具体数值;Quantity工作在实体层,而Quantizer、Functor和Metric工作在模式层;Quantity继承自SequenceNode,这是因为对同一Artifact的多次测量可以构成一个时间序列。Quantity可以同一个Metric实体建立一个代表所参照量化指标的关联关系,也可以同其所量化的Artifact实体建立一个代表量化对象的关联关系;Quantity实体之间可以建立代表分项量化的关联关系,表示后者是前者的构成要素,用于建模总指标和分项指标的关系。
进一步地,所述诊断域包括:
诊断类,所述诊断类对应的实体与至少一个所述工件类对应的实体具有关联关系;
诊断域定义了诊断(Diagnosis)类,是一个一级类。Diagnosis类的子类型包括报告(Report)、备注(Note)、评论(Comment)、专题(Topic)、标签(Tagging)、告警(Alert);Diagnosis类型的实体均可以与一个或多个Artifact实体产生关联关系,代表前者是对后者的信息描述,用以补充对该Artifact的相关知识;
Note必须与一个或多个Artifact实体相关,用于建模针对后者的简要备注信息;Comment同时继承自Diagnosis和SequenceNode。Comment实体应关联特定的Diagnosis实体,表达对该Diagnosis的意见;Topic继承自 Diagnosis和Set,用于同多个Diagnosis实体建立多对多的关联关系,实现对Diagnosis实体的归类管理;Tagging用于同多个Topic建立多对多的关联关系,实现对Topic实体的归类管理;Alert实体需要与一个或多个Behavior实体之间建立关联关系,以表达对疑似异常行为的安全警告;
Note的子类型包括通报(Announcement)和检测规则(Rule); Announcement用于描述Incident、Threat、Vulnerability类型的Artifact 实体;检测规则代表了判断一个Artifact实体是否存在的模式特征,用于建模设备指纹、计算机病毒特征、漏洞存在性判断规则、失陷指标(Indicator of Compromise)实践中常用的安全规则类型;Rule同多个Behavior建立代表模式匹配的关联关系,表示后者匹配前者所描述的模式。
在一种或几种具体实施例中,本发明所提供的用于网络攻防对抗的知识图谱结构具有以下技术效果:
1、实体类型之间具有继承关系,对面向对象的软件设计具有亲和性,可以简化本体模型,有助于以简单语法实现复杂功能,降低使用者理解掌握难度,同时易于开发实现。
2、将代表数据结构概念的类型与代表网络攻防对抗业务概念的类型加以融合,便于使用者快速搭建高级概念。例如,EKGF引入了Set、SequenceNode 等代表数据结构概念的类型,可同IP、Threat等代表业务概念的类型搭配使用,构成有重要业务意义的概念。
3、将一些传统上通常作为属性进行存储的概念显式地定义为实体,有助于快速发现实体间的关键关联关系。例如,行业概念被定义为独立实体,有助于建模和分析APT(高级持续性威胁)的行为;将型号的概念从软件概念中脱离,形成独立实体,有助于对漏洞影响范围分析、软件物料清单分析等业务场景进行建模。
4、实体类型具有一定的概念相容性,便于从符合相关模型的数据中进行迁移。
5、一些通用域的实体具有攻防中立性,提炼了攻防角色的共性,进而作为父类分别派生出防护方和攻击方的等价实体,能够有效体现两类角色的对称性。
6、将OODA循环的主要业务需求纳入本体模型设计,使得网络安全运营有了形式化和规范化的设计。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。
图1为本发明所提供的用于网络攻防对抗的知识图谱结构一种具体实施方式的结构框图;
图2为图1所示知识图谱结构中业务域的结构框图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有技术中存在的问题,本发明提供了一种可实现语义扩展的知识图谱结构,该知识图谱结构可简称为EKGF(Extensible Knowledge Graph Framework),该知识图谱结构能够融合到组织机构的安全运营中,可结合业务需求的发展变化进行迭代,从简到繁地扩展知识图谱功能。
同时,将OODA(观察、定位、决策、行动,Observe-Orient-Decide-Action) 循环纳入本体模型设计,从而对组织的安全运营过程进行建模。OODA循环是安全领域经常被引用的一个军事概念。OODA循环是在20世纪60年代由战斗机飞行员、军事研究员以及战略家John Boyd发明的。他认为战斗机飞行员面对着装备与能力都比自己强大的对手时,使用OODA循环通过果断行动更快地对周边环境进行反应,可有效地攻击对手,将可能最终获胜。观察阶段聚焦于信息收集。在这个阶段,我们收集来自外部世界的任何有用的信息。如果我们试图捕获网络攻击者,观察阶段则包括收集日志、系统监控,以及收集任何可以帮助识别攻击者的外部信息。定位阶段将观察阶段收集的信息根据已知的信息转换成上下文内容。这里需要考验我们过去的经验,预设的概念、期望和模型。还是以棒球为例,定位需要依靠观察者对棒球移动方向、速度以及轨迹的判断,预测它的方向以及抓住它时所产生的冲击力。在网络攻击示例中,定位需要从日志中提取监测数据,并将其与有关网络,相关攻击组织以及先前识别的攻击手法(如特定IP地址或进程名称)等知识相结合。在决策这一环节中,信息已被收集(观察)并完成上下文关联(定位),所以现在是确定行动方式的时候了。决策阶段不是关于执行操作,而是评审各种行动方案,直到最后决定采取哪个行动为止。在处理网络攻击的情况下,这意味着决定是否等待并继续观察攻击者的动作,是否启动事件响应动作,还是忽略该活动。任何一种情况下,防御方决定实现其目标的下一步。行动阶段就是执行上一环节确定的执行方案。行动结果并不意味着100%成功,需要在下一个OODA循环的观察阶段进行确定,如此循环,反复进行。OODA循环是每个人每天经历数千次的基本决策过程的泛化。它解释了个人如何作出决定,也解释了团队和企业如何做出决定。它解释了网络防御者或事件响应者在收集信息并了解如何使用它时所经历的过程。OODA循环不只是单方在使用。我们作为网络防御者,在许多情况下,经历了观察、定向、决策和行动的过程,攻击者也是如此。攻击者观察着网络和网络防御者在该网络中的行为,并决定如何采取行动改变环境并试图胜出。与大多数场景一样,能够观察和更快适应的一方往往会赢得胜利。
请参考图1,图1为本发明所提供的用于网络攻防对抗的知识图谱结构一种具体实施方式的结构框图。
在一种具体实施方式中,本发明所提供的知识图谱结构包括模式层100、实体层200和资料层300。
其中,模式层100内包括初级图谱的类信息,所述类信息包括多个业务域,如图2所示,所述业务域包括通用域、资产域、威胁域、活动域、观察域、定位域、决策域和行动域。
具体地,模式层定义了一些实体类型和关系类型,统称为“类”(class)。在下文中,为了描述方便,将关系看作特殊的实体。需要指出的是,在EKGF 中,类是实体的标签,一个实体可以具有多个类。例如,一个恶意域名实体可以同时具有“域名”和“威胁”这两个类作为标签。类决定了该类实体具有哪些属性和哪些关系类。类之间存在继承(也叫派生)关联,子类继承自父类,拥有父类的全部属性种类和关系类种类。通过继承机制,类之间通常构成树状层级结构。例如,Debian和Ubuntu都属于Linux操作系统,Linux和Windows 都属于操作系统,操作系统和虚拟机管理软件、客户端应用程序、服务端应用程序都属于软件。不过,这种树状层级有时会被打破。例如,恶意域名这一类型隶属于域名类型,同时也隶属于攻击基础设施类型。因此,仅通过树型结构无法对模式层概念进行建模,需要引入图结构支持复杂的概念间关系。EKGF 首先定义了对象(Object)这种类型,其他所有的类都是从Object类中直接或间接派生出的。如果一个类直接以Object为父类,则可以称作一级类。
实体层200内包括所述初级图谱的实体信息,所述类信息为各所述实体对应的标签,任一所述实体可划分为多个所述业务域。
具体地,实体是概念中的个体,在图数据结构中对应一个节点。实体中包括一个或多个属性,实体同其他实体之间会形成一个关系,关系在图数据模型中对应一条边。边是单向的,有起点实体和终点实体,二者构成邻居关系。在本文中,对“实体”和“节点”不加区分,对“关系”和“边”也互换使用。实体存在基数(cardinality)。在该实施例中,假定实体属性的基数为1,边的基数大于1,即同一实体至多存在1个特定属性名的属性,但可以存在多个特定关系类型的。通常一对实体之间同一类型的边至多一个。
资料层300内包括所述初级图谱的数据项信息。
具体地,资料层存储着实际的数据资料,由多个数据存储系统构成,每个数据存储系统又被划分为多个数据项,数据项包含了实体的属性值信息。同一实体的不同属性信息可能被分隔到了多个数据存储系统。同一实体的同一属性信息也可冗余存储到多个数据存储系统中。实体层将屏蔽资料层的复杂性,提供统一的实体访问接口。实体层接口的访问者无需了解数据的实际存储位置。
假设某组织具有两类设备,分别为10个服务器和1000个个人主机。那么在模式层可以定义”服务器“和”个人主机“这两个实体类型,在实体层则存在1010个实体对象。单个服务器实体的属性分属多个存储系统进行存放,例如在图数据库中存放服务器的基本信息,如主机名称、IP地址、设备型号等;而在某个全文检索系统可存放该主机的更详细的信息,如当前管理员信息、历次登录日志等。单个实体属性与资料层的单个数据项存在两种索引方式:权威资料、参考资料。对于某一实体属性,如果存在多个数据项都对应该属性值,则需要指定一个数据项为该属性的权威资料,其余的对应数据项为该属性的参考资料。
传统的知识图谱结构均采用二层结构,划分为模式层和数据层。模式层是整个知识图谱构建的基础,是数据组织的范式,一般通过本体库的设计实现。数据层是根据模式层本体模板范式生成的实体、关系及属性的实例集合,这些实例描述某一类或某一个概念的知识事实。EKGF则与常规设计方式不同,它将数据层再切分为实体层和资料层,形成三级分层,分别用于管理元数据、实体数据和资料数据,以进一步分解和管控复杂性。
进一步地,上述实体层包括:
属性接口,所述属性接口用于在指定目标实体时,生成与所述目标实体对应的所有属性名称和对应取值;
关系接口,所述关系接口用于生成以所述目标实体为起点或终点的边;
属性值访问接口,所述属性值访问接口用于根据所述目标实体和所述属性名称,生成属性值;
关系访问接口,所述关系访问接口用于根据所述目标实体和以所述目标实体为起点或终点的边,生成该边对应的邻居实体。
也就是说,实体层要提供多种接口,包括属性接口、关系接口属性值访问接口和关系访问接口。其中,属性列举为指定实体,返回所有的属性名称及对应取值;关系列举为指定实体,返回所有以该实体为起点或终点的边;属性值访问为指定实体和属性名称,获取属性值;关系访问为指定实体及以该实体为起点或终点的一个关系,获取该边对应的邻居实体。
在一些实施例中,如图2所示,所述类信息包括多个业务域,任一所述实体可划分为多个所述业务域。通过分域将类划分到多个业务域,业务域代表业务场景,是指导性概念,以便在针对实际业务场景进行定制化的知识图谱设计。由于同一实体可具有多个类,所以同一实体可以同时被划分到多个业务域。 EKGF首先定义了通用域,包含了独立于攻、防角色的一般性概念,如IT运维和企业管理概念。基于通用域的各类实体类型,EKGF又定义了资产域和威胁域,分别用于描述组织内部的网络态势和组织外部的威胁态势,用于实现“知己知彼”。
在一些实施例中,所述业务域包括通用域,所述通用域包括:
工件类,所述工件类为具有安全感知特征的实体的父类,所述工件类包括各所述实体的通用属性,所述工件类至少包括资源类;
集合类,所述集合类对应的实体与至少一个所述工件类对应的实体建立有包含关系;
序列节点类,所述序列节点类对应的各实体之间相互串接,以构成序列。
具体地,如图2所示,在EKGF中,“工件”(Artifact)类是一切可以进行安全感知的实体类的父类,定义了各种实体的通用属性,包括全局唯一 ID(gid)、同类实体唯一ID(tid)、实体文本记号(notation)、实体描述(description)、信息来源(source)、创建时间(create_time)、更新时间(update_time)、失效时间(expire_time)等。Artifact是一个一级类。通用域的其他一级类包括集合(Set)类和序列节点(SequenceNode)类。 Set实体可以同一个或多个Artifact实体建立包含关系。SequenceNode实体互相之间可以串接起来,构成一个序列。一些工件实体具有地理位置属性,这种类称作可定位(Locatable)类,它是Artifact的子类,在Artifact各属性的基础上增加了国家、省、市、区县、地址描述、经度、维度等属性。组织 (Organization)类、人员(Person)类、硬件(Hardware)类和IP地址(IP) 类继承自Locatable类。
Artifact的其他子类包括:行业(Industry)、资源(Resource)、账户(Account)、域名(Dom)、链接(URL)、服务(Service)、软件(Software)、型号(Model)、网络(Network)等类。Organization、Person、Industry 等类型的实体之间应建立相应的关联关系,对社会运行方式进行建模。将组织所属行业信息设置为独立的Industry类是为了强化对具有行业特征的网络威胁的关联分析。Resource用于建模组织运营所需资源,如资产、资金、技术等要素。Service指代一个IP地址上的一个开放端口的组合,其属性需要包含传输层协议信息。从Account类中可派生出电子邮件(Email)类,代表电子邮件地址。Model类的属性应包含品牌、型号、版本号等信息。Software 和Hardware实体是软硬件的安装实例,这些实体可以同一个Model实体建立关联关系,代表后者是前者的型号。Network用于建模局域网、城域网、广域网等概念。Software或Hardware等各类实体可同Network可以建立代表联网的关系。
Set类有一些子类。IP集(IPSet)类同时继承自IP和Set,用于建模多个IP实体的集合,如一个IP段。型号集(ModelSet)类同时继承自Model 和Set,用于建模多个Model实体的集合。例如,某软件的2.X版本包含了2.1 至2.20这20个子版本,则2.X版本对应的ModelSet实体包含了20个子版本对应的Model实体。资源集(ResourceSet)类同时继承自Resource和Set,用于建模多个Resource实体的集合。
在一些实施例中,所述业务域包括资产域,所述资产域包括:
资产类,所述资产类为所述资源类的子类,所述资产类包括资产软件子类、资产硬件子类和资产设施子类;
弱点类,所述弱点类为所述工件类的子类;
企业类,所述企业类为组织类的子类。
具体地,如图2所示,资产域用于建模组织机构网络的资产安全态势,以刻画资产间依赖关系、漏洞影响范围、组织防御弱点以及潜在的IT供应链风险。资产是网络空间中需要保护对象的实体。物理空间中的一台设备,在网络空间中可能被拆分成设备、操作系统、应用框架、应用服务、IP地址、域名等多个资产实体。资产域定义了资产(Asset)类,是Resource类的子类。Asset 进一步派生出资产软件(AssetSoftware)、资产硬件(AssetHardware)、资产设施(AssetFacility)等子类。
其中,AssetSoftware类同时是Asset和Software的子类,它又派生出业务系统(Site)、操作系统(OS)、虚拟机(VM)、虚拟化容器(Container)、数据资产(Data)、文件(File)、进程(Process)、应用组件(Component)、客户端应用程序(APP)、服务端应用(AssetService)等子类。Site用于建模网站及组织内部的各类供用户操作的站点,如企业资源管理系统、客户关系管理系统等。AssetService类同时以软件类和服务类作为父类,可用于数据库服务、API服务等不提供界面的网络服务。Component一般指中间件或应用框架,但不包括提供网络服务的Service软件。比如,如果基于某Web开发框架制作网站,网站属于Site类型,而该开发框架的类型属于Model类,其安装实例属于Component类。APP则包括桌面端或手机端的客户端应用。 AssetSoftware实体可以同AssetHardware实体或其他软件实体建立代表软件运行依赖的关联关系,例如一个APP依赖于底层的Component,后者又依赖于 OS,该OS依赖于VM,该VM再次依赖一个OS实体。
AssetHardware同时继承自Asset和Hardware,可以进一步定义其子类型,以区分具体的设备形态。
AssetFacility继承自Asset,其子类包括耗材(Consumptive)、资产 IP(AssetIP)、资产IP集(AssetIPSet)、资产域名(AssetDom)、资产网络(AssetNetwork)、云环境(Cloud)、机房(ServerRoom)等。AssetIP、 AssetIPSet、AssetDom和AssetNetwork分别也是IP、IPSet、Dom和Network 的子类。Cloud可以通过同Network实体建立联网关系,而云上的其他资产实体也可同该Network实体建立联网关系,从而间接地同Cloud实体建立关联。ServerRoom类实体泛指可以托管硬件的建筑设施,如数据中心等,继承自 AssetFacility和Locatable,可同AssetHardware实体建立代表托管的关联关系。
资产域还定义了弱点(Weakness)类,作为Artifact的子类,用于建模资产中的隐患和风险点,例如MITRE公司提出的CWE(Common Weakness Enumeration)字典中所枚举的各项弱点。漏洞(Vulnerability)类是Weakness 的子类,用于建模公认的软件硬漏洞,一般带有公认的漏洞编号,如CVE编号等。漏洞一般与具体的产品型号相关,Vulnerability实体需要同一个或多个 Model实体建立关联关系,代表漏洞影响的型号范围,并进一步借助于Software同Model的关联,可用于描述漏洞影响的设备范围,便于快速关联特定漏洞所影响的设备。Model实体之间可以建立代表软件物料依赖的关联关系,可用于建模软件供应链风险。
资产域还定义了企业(Defender)类,它是Organization的子类,强调组织的防护角色。Asset同Person之间可以建立管理员关系。
在一些实施例中,所述业务域包括威胁域,所述威胁域包括:
威胁类,所述威胁类包括多个攻击者资源类型;
攻击团伙类,所述攻击团伙类用于对预存画像信息的攻击者进行建模;
灾害类,所述灾害类用于对资产伤害进行建模。
具体地,如图2所示,威胁域用于建模网络威胁实体的发展态势,威胁域是指能够对宏观社会产生广泛危害的各类实体。
威胁域包含一个威胁(Threat)类,它是Resource的子类,泛指攻击者的资源。Threat的子类型包括如下几类:有害IP(ThreatIP),继承自Threat 和IP,代表被认为存在恶意的IP地址;恶意域名(ThreatDom),继承自Threat 和Dom,代表被认为存在恶意的域名;恶意URL(ThreatURL),继承自Threat 和URL;危险服务(ThreatService),继承自Threat和Service,代表被认定存在恶意是Service实体;恶意程序(Malware),继承自Threat和Software,用于建模计算机病毒、木马、蠕虫等有害程序的安装实例;黑客工具(HackerTool),继承自Threat和Software,用于建模攻击者或红队的工具实例,执行信息收集、漏洞利用、命令控制等目的;入侵集(ThreatSet),继承自Threat和ResourceSet,用于辅助性地将多个Threat子类实体聚集起来,以表明其作为攻击资源隶属单个团伙。
威胁域定义了攻击团伙(Attacker)类,继承自Organization,用于建模已经具有一些画像信息的黑客及其团伙。防御方通常难以直接观察到Attacker,只能通过攻击资源的关系分析建立入侵集的概念,进而尝试将入侵集进行溯源,推断攻击团伙的身份。有害IP、恶意域名和恶意URL等攻击者的所属物一般隶属于单一团伙,具有一定的排他性,统称为攻击资源;而恶意程序、黑客工具、攻击手法等要素则不具有明显的排他性。入侵集实体对各类攻击资源实体具有包含关系。攻击团伙对攻击资源(含入侵集)具有持有关系,可类比企业对资产的持有关系。攻击团伙对非排他性的威胁实体之间具有使用关系,可类比企业对防护手法的使用关系。因此,本文对攻防双方的持有和使用关系统一建模,不区分攻防角色。Attacker实体作为Organization的子类对ThreatSet实体的持有关系可用于建模威胁溯源关联。
Malware和HackerTool实体中的属性可以不包含版本型号信息,而是通过同Model实体建立关联关系来追踪其具体型号。Model实体用于表示Malware 的型号时,互相之间可以建立代表变种的关联关系。
IP地址在整个生命周期中并非始终会表现为有害IP,因此同一个IP地址可能需要在IP类和ThreatIP类中互换。因此在实际使用时不建议使用 ThreatIP类,而是持续使用IP类,以可获得更好的可维护性。当IP地址被判定有害时,可以通过属性值标记有害IP类型。同样道理,实践中不主张使用ThreatURL和ThreatDom等类型,而应分别用URL和Dom类代替。
威胁域还定义了灾害(Disaster)类,作为Artifact的子类,用于建模各类天灾人祸导致的资产伤害。每一种灾害,如火灾、地震,全局中只有唯一 Disaster实例。例如,多次地震事件都对应单一的灾害实体。
在一些实施例中,所述业务域包括活动域,所述活动域包括:
活动类,所述活动类用于对防守者活动和攻击者活动进行建模;
方法类,所述方法类用于对防守者和攻击者的技战术和流程进行建模。
具体地,如图2所示,活动域用于记录组织针对安全目标所主动或被动采取的活动。
活动域定义了活动(Event)类,继承自Artifact和SequenceNode,用于对敌我双方的活动进行统一建模。Event实体之间可产生“子活动”关系。Event的子类包括行动(Action)和事件(Incident),分别用于建模我方和敌方的活动。一般而言,我方是防守方,Action的主办方和承办方均应为 Defender实体,但红队例外。攻防双方的活动中都伴随对资源的使用,统一建模为Event和Resource之间的关系。Event实体同Organization实体的关系包括主办方和承办方关系,其中Incident同主办方的关系可用于建模事件归因关联。Incident和Action有许多相互对称的关联关系,例如Incident 可以同Weakness形成弱点利用关系,而Action则常同Weakness形成弱点修复关系;Incident和Action可以分别对Asset形成侵害和保护关系。Action 可以对Incident构成响应关系。
在实践中,一旦一个安全告警被核实,并被认定具有一定的严重性,则应建立相应的Incident实体,表示确认一个安全事件。Alert实体可与Incident 实体之间建立关联关系,代表被确认为安全事件。
活动域定义了方法(Method)类,继承自Resource,用于建模攻防团队所掌握的战术、技术和流程,可参考MITRE公司的ATT&CK和D3FEND模型进行实现。Method的子类包括战术(Tactic)、技术(Technique)和例程(Procedure),其中Tactic实体可具体化为多个Technique实体,Technique实体可实现为多个Procedure。Technique实体也可以细化为多个更小粒度的Technique实体,后者被称作前者的子技术。Procedure的一个子类是措施(CourseOfAction),用于记录行动方案,如对漏洞的修复方案、对威胁的应对方案等。活动可以采用某种方法加以开展,例如Action实体可以同一个或多个CourseOfAction实体建立代表采用的关联关系。
在一些实施例中,所述业务域包括观察域,所述观察域包括:
行为类,所述行为类为所述工件类的子类,所述行为类的属性信息包括时间描述、频次描述和是否成功;
包集类,所述包集类用于建模抓包结果。
具体地,如图2所示,观察域用于建模组织网络中观察到的各种行为,从而发现行为异常、识别网络攻击。网络空间中的行为可以表现为网络发包、传输层连接、应用会话以及对具体资产的访问行为等。观察域定义了行为 (Behavior)实体,为Artifact的子类。Behavior可类比STIX模型中的 Observable,包含时间描述、频次描述、是否成功等属性信息。Behavior实体可以同一对Artifact实体相关联,分别代表行为的源实体和目标实体。
Behavior的子类包括包(Packet)、连接(Connection)、会话(Session)、访问(Access)等类。Packet对应一个数据包发送行为的语义信息,其属性至少要包含源IP、目的IP、IP协议版本等网络层信息,也可以可选地包含传输层和应用层信息。Connection实体代表传输层连接,其属性主要包括“五元组”,即源IP、源端口号、目的IP、目的端口号、传输层协议这五个属性。 Connection实体的行为源实体和目标实体均为IP实体。Session对应应用层会话,比Connection更为高级,Session实体的源实体为IP实体,目标实体为Service实体,代表对IP同Service之间产生了应用层会话。Session实体的属性应包括客户端IP、客户端端口号信息、应用协议类型、应用层请求类型等。应用层请求类型可以指明是域名解析、URL链接等类别,此时该 Session实体还应分别同Dom实体、URL实体等Artifact进行关联,分别服务请求的关联内容,如域名解析内容和具体访问链接。应用层响应类型是可选的。对于实际上的域名解析请求行为,可以关联一个IP实体作为响应内容,此时 Behavior实体可以同一个IP实体建立一个代表响应内容的关联关系。
Access实体同一个Artifact实体和一个Asset实体相关联,意指 Artifact实体对Asset实体的资源访问。
观察域还定义了包集(PacketSet)类,集成自Packet和Set,可用于建模一次抓包结果。通过对抓包结果的分析可以还原出数据包、连接、应用会话等信息,因此PacketSet同其他类型的Behavior实体之间存在代表流量还原的关联关系。
进一步地,所述业务域包括量化域,所述量化域包括:
量化器类,所述量化器类用于从实体中抽取数值;
量化值类,所述量化值类用于存放针对所述工件类的一次量化过程的结果。
具体地,如图2所示,量化域用于建模各类网络安全领域的定量指标,如资产风险水平、漏洞危害程度、事件严重性等。量化过程作用于一个Artifact 实体,以一定的策略产生量化结果。量化域定义了量化器(Quantizer)类,代表一个数值量化方案,这类方案用于从实体中抽取数值,例如从Asset实体中抽取漏洞数这个数值。然而,数值量化方案与具体实体无关,而是只涉及实体的类型。因此,量化域将各个类看做单个实体,定义了类(Class)这个一级类,如Artifact、Asset、Threat、Vulnerability等具体实体的所属类都是以Class作为类型的实体。各实体到其对应的Class实体之间具有代表所属类的关联关系,Class实体之间存在继承关系。Quantizer到Class之间具有代表量化范围的关联关系。Quantizer是一个一级类。Quantizer的输出结果就是一个未赋值的代数式,量化域定义了指标(Metric)类,代表一个这种代数式。Metric是一个一级类。量化域还定义了一级类算子(Functor),代表一个数值运算过程,可用于建模加法器、乘法器等简单算式,也可以建模人工神经元网络等复杂算法。Functor的输入输出分别对应一个或多个Metric。
量化域定义了量化值(Quantity)类,用于存放针对特定Artifact的一次量化过程的结果。Quantity可以看做Metric的具体赋值,其属性中应包含具体数值。Quantity工作在实体层,而Quantizer、Functor和Metric工作在模式层。Quantity继承自SequenceNode,这是因为对同一Artifact的多次测量可以构成一个时间序列。Quantity可以同一个Metric实体建立一个代表所参照量化指标的关联关系,也可以同其所量化的Artifact实体建立一个代表量化对象的关联关系。Quantity实体之间可以建立代表分项量化的关联关系,表示后者是前者的构成要素,用于建模总指标和分项指标的关系。
在一些实施例中,所述业务域包括诊断域,所述诊断域包括诊断类,所述诊断类对应的实体与至少一个所述工件类对应的实体具有关联关系。
具体地,如图2所示,诊断域用于建模对各类工件网络安全属性的定性描述,这种定性描述可以是基于定量指标的进一步判断,也可以是主观性的评价。
诊断域定义了诊断(Diagnosis)类,是一个一级类。Diagnosis类的子类型包括报告(Report)、备注(Note)、评论(Comment)、专题(Topic)、标签(Tagging)、告警(Alert)。Diagnosis类型的实体均可以与一个或多个Artifact实体产生关联关系,代表前者是对后者的信息描述,用以补充对该Artifact的相关知识。
Note必须与一个或多个Artifact实体相关,用于建模针对后者的简要备注信息。例如,Artifact实体可以是一个黑客团伙,某安全专家对该团伙的一段描述可以对应一个Note实体。Report是否与Artifact产生关联则不是强制性的。一般而言,Report实体中代表的定性描述并不以特定Artifact实体为目标时,且篇幅较长,可读性较好。Comment同时继承自Diagnosis和 SequenceNode。Comment实体应关联特定的Diagnosis实体,表达对该Diagnosis的意见。例如,网站中的一篇文章对应一个Report,而文章下的一条留言对应一个Comment。Topic继承自Diagnosis和Set,用于同多个 Diagnosis实体建立多对多的关联关系,实现对Diagnosis实体的归类管理。 Tagging用于同多个Topic建立多对多的关联关系,实现对Topic实体的归类管理。Alert实体需要与一个或多个Behavior实体之间建立关联关系,以表达对疑似异常行为的安全警告。
Note的子类型包括通报(Announcement)和检测规则(Rule)等。 Announcement一般用于描述Incident、Threat、Vulnerability等类型的 Artifact实体,并带有正式意味。检测规则代表了判断一个Artifact实体是否存在的模式特征,用于建模设备指纹、计算机病毒特征、漏洞存在性判断规则、失陷指标(Indicator of Compromise)等实践中常用的安全规则类型。 Rule可以同多个Behavior建立代表模式匹配的关联关系,表示后者匹配前者所描述的模式。
在一种或几种具体实施例中,本发明所提供的用于网络攻防对抗的知识图谱结构具有以下技术效果:
1、实体类型之间具有继承关系,对面向对象的软件设计具有亲和性,可以简化本体模型,有助于以简单语法实现复杂功能,降低使用者理解掌握难度,同时易于开发实现。
2、将代表数据结构概念的类型与代表网络攻防对抗业务概念的类型加以融合,便于使用者快速搭建高级概念。例如,EKGF引入了Set、SequenceNode 等代表数据结构概念的类型,可同IP、Threat等代表业务概念的类型搭配使用,构成有重要业务意义的概念。
3、将一些传统上通常作为属性进行存储的概念显式地定义为实体,有助于快速发现实体间的关键关联关系。例如,行业概念被定义为独立实体,有助于建模和分析APT(高级持续性威胁)的行为;将型号的概念从软件概念中脱离,形成独立实体,有助于对漏洞影响范围分析、软件物料清单分析等业务场景进行建模。
4、一些实体类型具有一定的概念相容性,便于从符合相关模型的数据中进行迁移。
5、一些通用域的实体具有攻防中立性,提炼了攻防角色的共性,进而作为父类分别派生出防护方和攻击方的等价实体,能够有效体现两类角色的对称性。
6、分域治理,独立维护。将本体模型的设计划分到多个业务域,业务域间保持低耦合。企业针对其自身业务特点对不需要的业务域进行裁剪,降低设计复杂性。
7、融合运营,联动变更。知识图谱的维护融入真实业务过程,及时反映业务状态的变更。采用EKGF方法构建的多个知识图谱之间可以互相融合。EKGF 支持过渡式融合,融合过程可以在业务运营过程中平稳过渡,而不要求一蹴而就。
8、三层演化,层间解耦。传统的知识图谱设计方法采用二层结构,划分为模式层和数据层。模式层是整个知识图谱构建的基础,是数据组织的范式,一般通过本体库的设计实现。数据层是根据模式层本体模板范式生成的实体、关系及属性的实例集合,这些实例描述某一类或某一个概念的知识事实。EKGF 则与常规设计方式不同,它将数据层再切分为实体层和资料层,形成三级分层,分别用于管理元数据、实体数据和资料数据,以进一步分解和管控复杂性。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (10)
1.一种用于网络攻防对抗的知识图谱结构,其特征在于,所述知识图谱结构包括:
模式层,所述模式层内包括初级图谱的类信息,所述类信息包括多个业务域,所述业务域包括通用域、资产域、威胁域、活动域、观察域、定位域、决策域和行动域;类信息决定了该类实体具有哪些属性和哪些关系类,类之间存在继承关联,子类继承自父类,拥有父类的全部属性种类和关系类种类,通过继承机制,类之间通常构成树状层级结构;知识图谱结构首先定义了对象(Object)这种类型,其他所有的类都是从Object类中直接或间接派生出的,如果一个类直接以Object为父类,则可以称作一级类
实体层,所述实体层内包括所述初级图谱的实体信息,所述类信息为各所述实体对应的标签,任一所述实体可划分为多个所述业务域;
资料层,所述资料层内包括所述初级图谱的数据项信息;资料层存储着实际的数据资料,由多个数据存储系统构成,每个数据存储系统又被划分为多个数据项,数据项包含了实体的属性值信息。同一实体的不同属性信息可能被分隔到了多个数据存储系统。同一实体的同一属性信息也可冗余存储到多个数据存储系统中。
2.根据权利要求1所述的用于网络攻防对抗的知识图谱结构,其特征在于,所述实体层包括:
属性接口,所述属性接口用于在指定目标实体时,生成与所述目标实体对应的所有属性名称和对应取值;
关系接口,所述关系接口用于生成以所述目标实体为起点或终点的边。
3.根据权利要求2所述的用于网络安全的知识图谱结构,其特征在于,所述实体层还包括:
属性值访问接口,所述属性值访问接口用于根据所述目标实体和所述属性名称,生成属性值;
关系访问接口,所述关系访问接口用于根据所述目标实体和以所述目标实体为起点或终点的边,生成该边对应的邻居实体。
4.根据权利要求1所述的用于网络攻防对抗的知识图谱结构,其特征在于,所述通用域包括:
工件类,所述工件类为具有安全感知特征的实体的父类,所述工件类包括各所述实体的通用属性,所述工件类至少包括资源类;
集合类,所述集合类对应的实体与至少一个所述工件类对应的实体建立有包含关系;
序列节点类,所述序列节点类对应的各实体之间相互串接,以构成序列;
其中,“工件”(Artifact)类是一切可以进行安全感知的实体类的父类,定义了各种实体的通用属性,包括全局唯一ID(gid)、同类实体唯一ID(tid)、实体文本记号(notation)、实体描述(description)、信息来源(source)、创建时间(create_time)、更新时间(update_time)、失效时间(expire_time)等。Artifact是一个一级类;通用域的其他一级类包括集合(Set)类和序列节点(SequenceNode)类;Set实体可以同一个或多个Artifact实体建立包含关系。SequenceNode实体互相之间可以串接起来,构成一个序列;一些工件实体具有地理位置属性,这种类称作可定位(Locatable)类,它是Artifact的子类,在Artifact各属性的基础上增加了国家、省、市、区县、地址描述、经度、维度等属性。组织(Organization)类、人员(Person)类、硬件(Hardware)类和IP地址(IP)类继承自Locatable类;
Artifact的其他子类包括:行业(Industry)、资源(Resource)、账户(Account)、域名(Dom)、链接(URL)、服务(Service)、软件(Software)、型号(Model)、网络(Network)等类;Organization、Person、Industry等类型的实体之间应建立相应的关联关系,对社会运行方式进行建模;
Resource用于建模组织运营所需资源,如资产、资金、技术等要素;Service指代一个IP地址上的一个开放端口的组合,其属性需要包含传输层协议信息;从Account类中可派生出电子邮件(Email)类,代表电子邮件地址;Model类的属性应包含品牌、型号、版本号等信息;Software和Hardware实体是软硬件的安装实例,这些实体可以同一个Model实体建立关联关系,代表后者是前者的型号;Network用于建模局域网、城域网、广域网等概念;Software或Hardware等各类实体可同Network可以建立代表联网的关系;
Set类有一些子类;IP集(IPSet)类同时继承自IP和Set,用于建模多个IP实体的集合,如一个IP段;型号集(ModelSet)类同时继承自Model和Set,用于建模多个Model实体的集合;
资源集(ResourceSet)类同时继承自Resource和Set,用于建模多个Resource实体的集合。
5.根据权利要求4所述的用于网络攻防对抗的知识图谱结构,其特征在于,所述资产域包括:
资产类,所述资产类为所述资源类的子类,所述资产类包括资产软件子类、资产硬件子类和资产设施子类;资产硬件子类同时继承自资产类和硬件类;资产设施子类继承自资产类,其子类包括耗材(Consumptive)、资产IP(AssetIP)、资产IP集(AssetIPSet)、资产域名(AssetDom)、资产网络(AssetNetwork)、云环境(Cloud)、机房(ServerRoom);AssetIP、AssetIPSet、AssetDom和AssetNetwork分别也是IP、IPSet、Dom和Network的子类;Cloud通过同Network实体建立联网关系,而云上的其他资产实体也可同该Network实体建立联网关系,从而间接地同Cloud实体建立关联;ServerRoom类实体泛指可以托管硬件的建筑设施,继承自AssetFacility和Locatable,同AssetHardware实体建立代表托管的关联关系;
弱点类,所述弱点类为所述工件类的子类,用于建模资产中的隐患和风险点;
企业类,所述企业类为组织类的子类,用于建模公认的软件硬漏洞。
6.根据权利要求5所述的用于网络攻防对抗的知识图谱结构,其特征在于,所述威胁域包括:
威胁类,所述威胁类包括多个攻击者资源类型;
攻击团伙类,所述攻击团伙类用于对预存画像信息的攻击者进行建模;
灾害类,所述灾害类用于对资产伤害进行建模;
其中,威胁域用于建模网络威胁实体的发展态势,威胁域是指能够对宏观社会产生广泛危害的各类实体;
威胁域包含一个威胁(Threat)类,它是Resource的子类,Threat的子类型包括如下几类:有害IP(ThreatIP),继承自Threat和IP,代表被认为存在恶意的IP地址;恶意域名(ThreatDom),继承自Threat和Dom,代表被认为存在恶意的域名;恶意URL(ThreatURL),继承自Threat和URL;危险服务(ThreatService),继承自Threat和Service,代表被认定存在恶意是Service实体;恶意程序(Malware),继承自Threat和Software,用于建模计算机病毒、木马、蠕虫等有害程序的安装实例;黑客工具(HackerTool),继承自Threat和Software,用于建模攻击者或红队的工具实例,执行信息收集、漏洞利用、命令控制等目的;入侵集(ThreatSet),继承自Threat和ResourceSet,用于辅助性地将多个Threat子类实体聚集起来,以表明其作为攻击资源隶属单个团伙;
攻击团伙(Attacker)类,继承自Organization,用于建模已经具有一些画像信息的黑客及其团伙,有害IP、恶意域名和恶意URL攻击者的所属物隶属于单一团伙,称为攻击资源;入侵集实体对各类攻击资源实体具有包含关系。
7.根据权利要求6所述的用于网络攻防对抗的知识图谱结构,其特征在于,所述活动域包括:
活动类,所述活动类用于对防守者活动和攻击者活动进行建模,继承自Artifact和SequenceNode,用于对敌我双方的活动进行统一建模;Event实体之间产生“子活动”关系,Event的子类包括行动(Action)和事件(Incident),分别用于建模我方和敌方的活动;Event实体同Organization实体的关系包括主办方和承办方关系;Incident同Weakness形成弱点利用关系,Action同Weakness形成弱点修复关系;Incident和Action分别对Asset形成侵害和保护关系,Action对Incident构成响应关系;
方法类,所述方法类用于对防守者和攻击者的技战术和流程进行建模,继承自Resource,用于建模攻防团队所掌握的战术、技术和流程,Method的子类包括战术(Tactic)、技术(Technique)和例程(Procedure),其中Tactic实体可具体化为多个Technique实体,Technique实体实现为多个Procedure;Procedure的一个子类是措施(CourseOfAction),用于记录行动方案,Action实体同一个或多个CourseOfAction实体建立代表采用的关联关系。
8.根据权利要求7所述的用于网络攻防对抗的知识图谱结构,其特征在于,所述观察域包括:
行为类,所述行为类为所述工件类的子类,所述行为类的属性信息包括时间描述、频次描述和是否成功;
包集类,所述包集类用于建模抓包结果;
观察域用于建模组织网络中观察到的各种行为,从而发现行为异常、识别网络攻击;网络空间中的行为可以表现为网络发包、传输层连接、应用会话以及对具体资产的访问行为等。观察域定义了行为(Behavior)实体,为Artifact的子类;
Behavior的子类包括包(Packet)、连接(Connection)、会话(Session)、访问(Access)类;Packet对应一个数据包发送行为的语义信息,其属性至少要包含源IP、目的IP、IP协议版本等网络层信息;Connection实体代表传输层连接,其属性主要包括“五元组”,即源IP、源端口号、目的IP、目的端口号、传输层协议这五个属性;Connection实体的行为源实体和目标实体均为IP实体;Session对应应用层会话,;Session实体的源实体为IP实体,目标实体为Service实体,代表对IP同Service之间产生了应用层会话;Session实体的属性应包括客户端IP、客户端端口号信息、应用协议类型、应用层请求类型;应用层请求类型是域名解析、URL链接类别,此时该Session实体分别同Dom实体、URL实体等Artifact进行关联,分别服务请求的关联内容,应用层响应类型是可选的。对于实际上的域名解析请求行为,关联一个IP实体作为响应内容,此时Behavior实体可以同一个IP实体建立一个代表响应内容的关联关系;
Access实体同一个Artifact实体和一个Asset实体相关联,Artifact实体对Asset实体的资源访问;
观察域还定义了包集(PacketSet)类,集成自Packet和Set,可用于建模一次抓包结果;通过对抓包结果的分析可以还原出数据包、连接、应用会话信息,PacketSet同其他类型的Behavior实体之间存在代表流量还原的关联关系。
9.根据权利要求8所述的用于网络攻防对抗的知识图谱结构,其特征在于,所述量化域包括:
量化器类,所述量化器类用于从实体中抽取数值;
量化值类,所述量化值类用于存放针对所述工件类的一次量化过程的结果;
量化过程作用于一个Artifact实体,以一定的策略产生量化结果,量化域定义了量化器(Quantizer)类,代表一个数值量化方案;量化域将各个类看做单个实体,定义了类(Class)这个一级类,如Artifact、Asset、Threat、Vulnerability等具体实体的所属类都是以Class作为类型的实体;各实体到其对应的Class实体之间具有代表所属类的关联关系,Class实体之间存在继承关系;Quantizer到Class之间具有代表量化范围的关联关系。Quantizer是一个一级类;Quantizer的输出结果就是一个未赋值的代数式,量化域定义了指标(Metric)类,代表一个这种代数式;Metric是一个一级类;量化域还定义了一级类算子(Functor),代表一个数值运算过程,可用于建模加法器、乘法器等简单算式,也可以建模人工神经元网络等复杂算法;Functor的输入输出分别对应一个或多个Metric;
量化域定义了量化值(Quantity)类,用于存放针对特定Artifact的一次量化过程的结果;Quantity可以看做Metric的具体赋值,其属性中应包含具体数值;Quantity工作在实体层,而Quantizer、Functor和Metric工作在模式层;Quantity继承自SequenceNode,这是因为对同一Artifact的多次测量可以构成一个时间序列。Quantity可以同一个Metric实体建立一个代表所参照量化指标的关联关系,也可以同其所量化的Artifact实体建立一个代表量化对象的关联关系;Quantity实体之间可以建立代表分项量化的关联关系,表示后者是前者的构成要素,用于建模总指标和分项指标的关系。
10.根据权利要求9所述的用于网络攻防对抗的知识图谱结构,其特征在于,所述诊断域包括:
诊断类,所述诊断类对应的实体与至少一个所述工件类对应的实体具有关联关系;
诊断域定义了诊断(Diagnosis)类,是一个一级类。Diagnosis类的子类型包括报告(Report)、备注(Note)、评论(Comment)、专题(Topic)、标签(Tagging)、告警(Alert);Diagnosis类型的实体均可以与一个或多个Artifact实体产生关联关系,代表前者是对后者的信息描述,用以补充对该Artifact的相关知识;
Note必须与一个或多个Artifact实体相关,用于建模针对后者的简要备注信息;Comment同时继承自Diagnosis和SequenceNode。Comment实体应关联特定的Diagnosis实体,表达对该Diagnosis的意见;Topic继承自Diagnosis和Set,用于同多个Diagnosis实体建立多对多的关联关系,实现对Diagnosis实体的归类管理;Tagging用于同多个Topic建立多对多的关联关系,实现对Topic实体的归类管理;Alert实体需要与一个或多个Behavior实体之间建立关联关系,以表达对疑似异常行为的安全警告;
Note的子类型包括通报(Announcement)和检测规则(Rule);Announcement用于描述Incident、Threat、Vulnerability类型的Artifact实体;检测规则代表了判断一个Artifact实体是否存在的模式特征,用于建模设备指纹、计算机病毒特征、漏洞存在性判断规则、失陷指标(Indicator of Compromise)实践中常用的安全规则类型;Rule同多个Behavior建立代表模式匹配的关联关系,表示后者匹配前者所描述的模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210492718.1A CN115186136A (zh) | 2022-05-07 | 2022-05-07 | 一种用于网络攻防对抗的知识图谱结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210492718.1A CN115186136A (zh) | 2022-05-07 | 2022-05-07 | 一种用于网络攻防对抗的知识图谱结构 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115186136A true CN115186136A (zh) | 2022-10-14 |
Family
ID=83514112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210492718.1A Pending CN115186136A (zh) | 2022-05-07 | 2022-05-07 | 一种用于网络攻防对抗的知识图谱结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115186136A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115878818A (zh) * | 2023-02-21 | 2023-03-31 | 创意信息技术股份有限公司 | 一种地理知识图谱构建方法、装置、终端及存储介质 |
CN116431835A (zh) * | 2023-06-06 | 2023-07-14 | 中汽数据(天津)有限公司 | 汽车认证领域自动化知识图谱构建方法、设备和介质 |
-
2022
- 2022-05-07 CN CN202210492718.1A patent/CN115186136A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115878818A (zh) * | 2023-02-21 | 2023-03-31 | 创意信息技术股份有限公司 | 一种地理知识图谱构建方法、装置、终端及存储介质 |
CN115878818B (zh) * | 2023-02-21 | 2023-05-30 | 创意信息技术股份有限公司 | 一种地理知识图谱构建方法、装置、终端及存储介质 |
CN116431835A (zh) * | 2023-06-06 | 2023-07-14 | 中汽数据(天津)有限公司 | 汽车认证领域自动化知识图谱构建方法、设备和介质 |
CN116431835B (zh) * | 2023-06-06 | 2023-09-15 | 中汽数据(天津)有限公司 | 汽车认证领域自动化知识图谱构建方法、设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mittal et al. | Cybertwitter: Using twitter to generate alerts for cybersecurity threats and vulnerabilities | |
US20230319090A1 (en) | Consolidating structured and unstructured security and threat intelligence with knowledge graphs | |
Mavroeidis et al. | Cyber threat intelligence model: an evaluation of taxonomies, sharing standards, and ontologies within cyber threat intelligence | |
US11194905B2 (en) | Affectedness scoring engine for cyber threat intelligence services | |
US10313382B2 (en) | System and method for visualizing and analyzing cyber-attacks using a graph model | |
Schlette et al. | A comparative study on cyber threat intelligence: The security incident response perspective | |
US20200201989A1 (en) | Multi-point causality tracking in cyber incident reasoning | |
US7530105B2 (en) | Tactical and strategic attack detection and prediction | |
GhasemiGol et al. | A comprehensive approach for network attack forecasting | |
Lenders et al. | Gaining an edge in cyberspace with advanced situational awareness | |
Mavroeidis et al. | Data-driven threat hunting using sysmon | |
US20080148398A1 (en) | System and Method for Definition and Automated Analysis of Computer Security Threat Models | |
KR20180015640A (ko) | 컴퓨터 네트워크에서의 보안 관리를 위한 방법 및 장치 | |
KR102542720B1 (ko) | 제로 트러스트 보안을 위한 행동 인터넷 기반 지능형 데이터 보안 플랫폼 서비스 제공 시스템 | |
CN115186136A (zh) | 一种用于网络攻防对抗的知识图谱结构 | |
Rassam et al. | Big Data Analytics Adoption for Cybersecurity: A Review of Current Solutions, Requirements, Challenges and Trends. | |
Merah et al. | Ontology-based cyber risk monitoring using cyber threat intelligence | |
Li et al. | An approach to model network exploitations using exploitation graphs | |
Nour et al. | A survey on threat hunting in enterprise networks | |
Ben Jaballah et al. | A grey-box approach for detecting malicious user interactions in web applications | |
Arbanas et al. | Ontology in information security | |
Eom et al. | A framework of defense system for prevention of insider's malicious behaviors | |
Ju et al. | MCKC: a modified cyber kill chain model for cognitive APTs analysis within Enterprise multimedia network | |
Miloslavskaya | Information security management in SOCs and SICs | |
Daley et al. | Operationalizing the coordinated incident handling model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |