笔记"/>
CyberSecurity Knowledge Base笔记
CSKB: A Cyber Security Knowledge Base Based on Knowledge Graph阅读笔记
- Purpose
- Background
- Ontology Construction
- Process of Ontology Construction
- Description of Ontology
- Ontology implementation
- Implementation of CSKB
- Knowledge Acquisition and Knowledge Fusion/Extraction
- Knowledge Fusion
- Knowledge Inference
- Conclusion
Purpose
本文基于知识图谱构建标准网络安全本体,并从知识获取、知识融合/抽取、知识存储、知识推理、知识更新五个方面介绍了网络安全知识库CSKB的实现过程,旨在为实时网络安全防护提供可靠的依据。
还提出了一种结合深度学习的路径排序算法TransFeature实现知识推理,并使用Neo4j存储安全领域知识。
Background
传统的网络安全数据集难以反映实时和复杂的网络攻击环境,因此,如何实现网络安全数据的标准化和集成,不断存储和更新恶意流量信息已成为亟待解决的关键问题。
Ontology Construction
Process of Ontology Construction
采用自上而下构建本体的方法,如图1所示,在语义层面尽可能全面地描述现代网络攻击的类型和特征。
首先构造顶层概念包括三个本体:Device、Attack、Feature,以及五个关系:Launch、Cause、Threat、Has、Dependence。接下来构建子概念。最后通过将规范化的安全数据映射到本体模型,将实例添加到网络攻击本体中。
Description of Ontology
Device表示现代网络环境中的各种物理实体或硬件、软件、操作系统,它可能是网络攻击的来源或目标,也可能是攻击特征的来源。
D e v i c e ⊆ ∀ l a u n c h A t t a c k ∪ ∀ c a u s e F e a t u r e Device \subseteq{\forall launch \ Attack \cup \forall cause \ Feature} Device⊆∀launch Attack∪∀cause Feature
Attack表示现代网络环境中的各种恶意行为。
A t t a c k ⊆ ∀ t h r e a t D e v i c e ∪ ∀ h a s F e a t u r e Attack \subseteq{\forall threat \ Device \cup \forall has \ Feature } Attack⊆∀threat Device∪∀has Feature
Feature表示攻击流量必须具备的特征。
F e a t u r e ⊆ ∀ d e p e n d e n c e A t t a c k Feature\subseteq{\forall dependence \ Attack} Feature⊆∀dependence Attack
子概念如表1、2、3所示。
Table 1. Device-based sub-concepts
ID | Sub-concepts | Entites |
---|---|---|
1 | Hardware | PC, Mobile device, IXIA etc |
2 | Software | Malicious software |
3 | OS | Win7, Win8, Win10, Linux etc |
Table 2. Attack-based sub-concepts
Id | Sub-concepts-1 | Sub-concepts-2 (Entities) |
---|---|---|
1 | Fuzzers | FTP Fuzz, Web Fuzz |
2 | Backdoors | Add root, Sniff user passwords |
3 | Exploits | SQL injection, Cross-site scripting, Weak password |
4 | Analysis | Port scan, Spam, Html files penetrations |
5 | Worms | E-mail, P2P, Vulnerability, Search engine |
6 | Shellcode | None |
7 | Reconnaissance | Data collation attack, Sniffing/scanning |
8 | DDoS | PortMap, NetBIOS, LDAP, MSSQL, UDP, SYN, UDP-Lag, NTP, DNS, SNMP, SSDP, Web |
Table 3. Feature-based sub-concepts
ID | Sub-concepts | Introduction |
---|---|---|
1 | srcip | Source IP address |
2 | sport | Source port number |
3 | dstip | Destination IP address |
4 | dsport | Destination port number |
5 | proto | Transaction protocol |
6 | sbytes | Source to destination bytes |
7 | sttl | Source to destination time to live |
8 | sloss | Source packets retransmitted or dropped |
9 | service | http, ftp, ssh, dns, etc |
10 | spkts | Source to destination packet count |
Ontology implementation
建立本体如图2所示。
Implementation of CSKB
基于知识图谱的CSKB的构建过程如图3所示,主要包括知识获取、知识融合/抽取、知识存储、知识推理、知识更新。
Knowledge Acquisition and Knowledge Fusion/Extraction
安全数据可分为结构化、半结构化、非结构化。结构化数据通常以安全数据集的格式存储,置信度一般比较高,可以将它们映射到网络安全本体,通过知识融合技术,可以利用其丰富的数据进行知识消歧;半结构化数据需要使用知识抽取工具分析,转化为结构化数据,以RDF格式存储;非结构化数据为拓展本体和CSKB提供了基础。
Knowledge Fusion
采用Neo4j。
Knowledge Inference
当通过知识获取收集到大量多源数据时,数据的可靠性不能保证,因此需要通过知识推理技术完成数据的分类和推荐。
基于CSKB中的高置信度数据,深度学习可以建立一个识别新类型的知识的模型。为了进一步验证输入数据的可靠性,设计了一个路径排序算法TransFeature。知识推理的过程如图4。
将特征实体作为CNN模型的输入,对应的攻击实体作为标签,训练完成后,模型能够区分输入的安全数据属于哪一种攻击类型。不能映射到攻击实体的数据将会被丢弃,反之将特征实体输入TransFeature算法,决定该知识是否可靠。
TransFeature学习实体和关系的低维向量表示,比较实体以优化模型。特征向量和相关计算如下
F ⃗ i = ( b i → , t i → , l i → , e i → , p i → ) \vec{F}_{i}=\left(\overrightarrow{b_{i}}, \overrightarrow{t_{i}}, \overrightarrow{l_{i}}, \overrightarrow{e_{i}}, \overrightarrow{p_{i}}\right) F i=(bi ,ti ,li ,ei ,pi )
F ′ → = ( b ′ → , t ′ → , l ′ → , e ′ → , p ′ → ) \overrightarrow{F^{\prime}}=\left(\overrightarrow{b^{\prime}}, \overrightarrow{t^{\prime}}, \overrightarrow{l^{\prime}}, \overrightarrow{e^{\prime}}, \overrightarrow{p^{\prime}}\right) F′ =(b′ ,t′ ,l′ ,e′ ,p′ )
τ k = ∥ k ⃗ ∥ max − ∥ k ′ → ∥ k = b , t , l , e , p \tau_{k}=\|\vec{k}\|_{\max }-\left\|\overrightarrow{k^{\prime}}\right\| k=b, t, l, e, p τk=∥k ∥max−∥∥∥k′ ∥∥∥k=b,t,l,e,p
T → = ( τ b , τ t , τ l , τ e , τ p ) \overrightarrow{\mathrm{T}}=\left(\tau_{b}, \tau_{t}, \tau_{l}, \tau_{e}, \tau_{p}\right) T =(τb,τt,τl,τe,τp)
d i = ∥ F i → − F ′ → ∥ d_{i}=\left\|\overrightarrow{F_{i}}-\overrightarrow{F^{\prime}}\right\| di=∥∥∥Fi −F′ ∥∥∥
其中 b i → , t i → , l i → , e i → , p i → \overrightarrow{b_{i}}, \overrightarrow{t_{i}}, \overrightarrow{l_{i}}, \overrightarrow{e_{i}}, \overrightarrow{p_{i}} bi ,ti ,li ,ei ,pi 表示第i个数据包的特征实体的(sbytes,sttl,loss,service,spkts)二维向量表示, F i → \overrightarrow{F_i} Fi 表示特征向量的集合, F ′ → \overrightarrow{F^{'}} F′ 是存储在CSKB中每个特征向量的平均值的集合, τ k \tau_k τk表示每个特征标量的最大差值, d i d_i di表示第i个数据包的特征向量与平均特征向量的的距离。最后通过比较 d i d_i di和阈值 T → \overrightarrow{T} T ,如果 d i > T → d_i > \overrightarrow{T} di>T ,数据是不可靠的,丢弃数据;否则数据是可靠的,将其存入CSKB。
Conclusion
本文致力于解决传统的安全数据集难以反映现代复杂的网络攻击环境的问题。从知识获取、知识融合/提取、知识存储、知识推理和知识更新五个阶段,构建了基于知识图谱的标准化网络安全本体,旨在充分反映现代网络攻击的动态性,为实时网络安全防护解决方案提供可靠依据。实验证明,CSKB中存储的知识可以有效地实现安全数据的规范和集成。在未来的工作中,作者考虑将CSKB扩展为一个交互行为知识库,从而建立一个智能的、可信的自适应记忆交互行为平台。
更多推荐
CyberSecurity Knowledge Base笔记
发布评论