CN112104677A - 一种基于知识图谱的受控主机检测方法和装置 - Google Patents
一种基于知识图谱的受控主机检测方法和装置 Download PDFInfo
- Publication number
- CN112104677A CN112104677A CN202011317923.1A CN202011317923A CN112104677A CN 112104677 A CN112104677 A CN 112104677A CN 202011317923 A CN202011317923 A CN 202011317923A CN 112104677 A CN112104677 A CN 112104677A
- Authority
- CN
- China
- Prior art keywords
- community
- domain name
- knowledge graph
- nxdomain
- cluster
- 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.)
- Granted
Links
- 238000001514 detection method Methods 0.000 title claims description 63
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 79
- 238000000034 method Methods 0.000 claims abstract description 45
- 230000004044 response Effects 0.000 claims abstract description 35
- 238000010276 construction Methods 0.000 claims abstract description 25
- 238000007781 pre-processing Methods 0.000 claims abstract description 19
- 238000004458 analytical method Methods 0.000 claims abstract description 15
- 238000005111 flow chemistry technique Methods 0.000 claims abstract description 6
- 239000013598 vector Substances 0.000 claims description 76
- 238000012545 processing Methods 0.000 claims description 30
- 238000001914 filtration Methods 0.000 claims description 27
- 238000013507 mapping Methods 0.000 claims description 24
- 238000002372 labelling Methods 0.000 claims description 16
- 238000007689 inspection Methods 0.000 claims description 10
- 230000007246 mechanism Effects 0.000 claims description 8
- 238000005070 sampling Methods 0.000 claims description 8
- 238000012790 confirmation Methods 0.000 claims description 6
- 230000000694 effects Effects 0.000 claims description 6
- 238000003860 storage Methods 0.000 claims description 5
- 238000002790 cross-validation Methods 0.000 claims description 4
- 238000011156 evaluation Methods 0.000 claims description 4
- 230000002159 abnormal effect Effects 0.000 claims description 3
- 230000008520 organization Effects 0.000 claims description 3
- 230000036961 partial effect Effects 0.000 claims description 3
- 238000005206 flow analysis Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 17
- 230000002829 reductive effect Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000013145 classification model Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 206010042635 Suspiciousness Diseases 0.000 description 2
- 101150041570 TOP1 gene Proteins 0.000 description 2
- 230000008485 antagonism Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000009193 crawling Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000003278 mimic effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000009412 basement excavation Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 238000005295 random walk Methods 0.000 description 1
- 238000013077 scoring method Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000002922 simulated annealing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- 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
-
- 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/1433—Vulnerability analysis
-
- 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/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
-
- 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/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Virology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种基于知识图谱的受控主机检测方法和装置,使用DNS流量中应答状态为NXDOMAIN的数据,对提取的特征数据进行过滤,基于知识图谱构建框架对数据进行描述,构建NXDOMAIN‑IP知识图谱,最后利用社区发现算法和社区判定算法对于知识图谱进行分析,获取受控主机列表并标注疑似恶意代码家族。本发明基于分布式数据流处理框架,大规模分析实时的DNS请求流量,通过多阶段数据预处理过程,极大的提高了分析效率;通过NXDOMAIN‑IP知识图谱构建、社区发现和社区判定,检测词表拼接DGA域名并确定受控主机以及相关恶意代码家族,及时提醒受害人对主机进行AV升级以及全盘扫描,并对主机漏洞进行加固。
Description
技术领域
本发明属于受控主机检测技术领域,具体涉及一种基于知识图谱的受控主机检测方法和装置。
背景技术
在高度复杂的网络攻击中,命令与控制(C&C)服务器始终使用域名生成算法(DGA)动态生成多个候选域名,而不是静态的IP地址或域名的硬编码列表。区分DGA生成的域名与合法的域名对于发现受控主机或进一步定位隐藏的攻击者至关重要。与传统的基于字符的DGA域名相比,最近的网络攻击事件中公开的基于单词的DGA域名显示出明显更强的隐身性和对抗性。在基于单词的DGA域名中,从一个或多个特定词典中随机选择两个或多个单词以形成动态域名,这些规则生成的域名旨在模仿合法域名的特征。
在过去的十年中,识别恶意域名的问题已经广泛研究,主要是依赖手动特征工程的技术。 Antonakakis等人提出了使用隐马尔可夫模型(HMM)解决该问题的第一种无特征方法。在将深度学习首次应用于DGA域名分类的问题中,Woodbridge,Anderson,Ahuja和Grant表明,长短期记忆网络(LSTM)在识别DGA域名方面非常有效。其他作者基于卷积神经网络(CNN)和LSTM集成来识别DGA域名,论文表示效果也较为明显。但是,在检测词表拼接DGA域名领域,这些检测技术难以胜任,单词拼接的DGA域名与合法域名从外观方面几乎难以区分。因此,识别基于词表拼接DGA域名的问题极具挑战性,这些域名不一定看起来是随机的。例如,诸如s82r4luxrw.com(由madmaxDGA生成)之类的域名比诸如activitypossess.com(由matsnuDGA生成)之类的域名具有更大的可疑性。
最近,在检测词表拼接DGA域名领域已经取得了一些进展。2018年,Yang等人提出了一种随机森林分类器,该分类器使用手动提取的统计特征向量,例如词频、词性标签、词相关性等,进而对词表拼接DGA域名进行分类。同年,Pereira等人设计一种基于图的方法,用于学习词表拼接DGA域名所使用的单词列表。虽然成功,但他们的方法需要大量与DGA单词表大小相关的训练示例,进而通过查找域名之间的公共子字符串来识别候选单词。同年,Curtin等人提出了smashword评分方法,衡量词表拼接DGA域名与英语单词的领域相似度,并开发了一种模型,该模型利用WHOIS信息在高分家族中获得良好的表现。
通过对现有的词表拼接DGA域名检测方案进行分析和评测,现有技术依赖于人工特征工程或学习DGA单词表的分类器,并且需要使用外部信息进行扩充。然而,仍无法准确地找到词表拼接DGA域名,同时又保持了可接受的误报率。而且,Yang、Pereira和Curtin等人提出的方法限制较多,难以进一步工程化。因此,无法进一步发现受控主机,降低用户资产风险。
发明内容
为了解决上述技术问题,本发明提供一种基于知识图谱的受控主机检测方法和装置,解决了现有技术中对词表拼接DGA域名检测时存在的性能、精度和工程化等问题,进而能够更为精准的发现受控主机,降低用户资产风险。
本发明是这样实现的,一种基于知识图谱的受控主机检测方法,包括如下步骤:
1)获取域名解析的DNS原始流量,解析域名响应的特征数据,对解析后的特征数据进行DNS应答状态过滤,获取DNS应答状态为NXDOMAIN的特征数据向量流,写入到消息队列的特征数据向量流Topic;
2)以预设的滑动时间窗口为检测周期对特征数据向量流进行多次统计,生成IP与域名列表映射以及域名与IP列表映射的邻接链表,同时,对邻接链表进行多阶段数据预处理,利用一种或多种异常检测算法进行过滤和标注,获取知识图谱构建输入数据集,写回消息队列的知识图谱数据向量流Topic;
3)针对知识图谱构建输入数据集,进行NXDOMAIN-IP知识图谱构建,并将知识图谱存储到图数据库;
4)利用社区发现算法对NXDOMAIN-IP知识图谱进行分析,并生成多个具备个性的社区簇;
5)利用社区判定算法对各个社区簇进行性质判定,区分合法社区簇、恶意代码社区簇以及暂未判定社区簇;
6)对于恶意代码社区簇,获取其IP列表,标记这些IP为受控主机,并根据域名相关标注确定恶意代码家族信息,并写入数据库。
优选地,所述步骤1)具体包括如下步骤:
101)利用协议解析引擎对DNS协议的响应流量进行处理,解析域名响应的特征数据;
102)对解析后的特征数据进行DNS应答状态过滤,获取DNS应答状态为NXDOMAIN的特征数据向量流;
103)对于特征数据向量流,若源IP字段命中网关类IP名单,则进行过滤,若目标域名命中域名白名单列表,则进行过滤;
104)利用采集器获取来自实时DNS流量的过滤后的特征数据向量流,写入到消息队列的特征数据向量流Topic。
进一步优选,所述步骤2)具体包括如下步骤:
201)利用分布式数据流处理组件,从消息队列的特征数据向量流Topic读取相应的特征数据向量流;
202)利用分布式数据流处理组件的滑动时间窗口机制,以预设的滑动时间窗口为检测周期对特征数据向量流进行统计,以源IP为分析对象进行汇聚,即ip:{domain1,domain2,domain3,…,domainn},若源IP在指定的时间窗口内发起不重复域名请求数量超过指定的阈值,则判定该源IP为网关类设备,更新网关类IP名单列表;
203)利用分布式数据流处理组件的滑动时间窗口机制,以预设的滑动时间窗口为检测周期对特征数据向量流进行检测统计,以域名为分析对象进行汇聚,即domain:{ip1,ip2,ip3,…,ipn},若目标域名domain在指定时间窗口内不同源IP请求解析数量超过指定的阈值,则判定该域名为目标组织常用域名,更新域名白名单列表;
204)通过步骤202)和步骤203)生成IP与域名列表映射以及域名与IP列表映射,利用IP与域名列表映射以及域名与IP列表映射生成邻接链表;
205)对邻接链表进行多阶段数据预处理,利用多种异常检测算法进行过滤和标注;
206)输出用于构造NXDOMAIN-IP知识图谱的特征数据向量流,并写回消息队列的知识图谱数据向量流Topic。
进一步优选,所述步骤3)具体包括如下步骤:
301)利用分布式数据流处理组件,从消息队列的知识图谱数据向量流Topic读取相应的数据向量流;
302)定义NXDOMAIN-IP知识图谱的实体和关系,并利用NXDOMAIN-IP知识图谱构建算法,构建NXDOMAIN-IP知识图谱;
303)将知识图谱存储到图数据库。
进一步优选,所述步骤4)具体包括如下步骤:
401)选择NXDOMAIN-IP知识图谱的部分数据对社区发现算法进行评价,通过交叉验证选择效果最优的社区发现算法;
402)利用最优的社区发现算法对NXDOMAIN-IP知识图谱进行分析,生成多类具备不同特性的社区簇;
所述步骤5)具体包括如下步骤:
501)对于不同的NXDOMAIN-IP知识图谱社区簇,利用社区判定算法进行性质判定,区分合法社区簇和疑似恶意代码社区簇;
502)对于疑似恶意代码社区簇,进行抽样检验,即从社区簇中随机选取一定比例的域名集合,利用WHOIS和权威情报提供商进行在线实时确认,若该域名集合的域名存在注册机构或个人的比例低于指定阈值,则判定该疑似恶意代码社区簇为暂未判定社区簇,否则为恶意代码社区簇。
本发明还提供一种基于知识图谱的受控主机检测装置,包括:
数据采集单元,用于获取DNS应答状态为NXDOMAIN的特征数据向量流;
数据预处理单元,用于获取知识图谱构建输入数据集;
NXDOMAIN-IP知识图谱构建单元,用于构建NXDOMAIN-IP知识图谱,并进行存储;
社区发现单元,用于生成若干个具备某种聚类特性的知识图谱社区簇;
威胁社区判定单元,用于对知识图谱社区簇的性质进行判定,区分合法社区簇、恶意代码社区簇、以及暂未判定社区簇。
优选地,所述数据采集单元和数据预处理单元,通过流量分析模块解析DNS原始流量,并利用过滤模块对解析后的特征数据进行DNS应答状态过滤,获取DNS应答状态为NXDOMAIN的特征数据向量流;然后,利用统计模块,以预设的滑动时间窗口为检测周期对特征数据向量流进行统计,生成IP与域名列表映射以及域名与IP列表映射的邻接链表;最后,利用异常检测模块对邻接链表进行多阶段数据预处理,提高后续处理效率并降低误报,进而获取知识图谱构建输入数据集。
进一步优选,所述NXDOMAIN-IP知识图谱构建单元,对知识图谱构建输入数据集,利用知识图谱构建模块进行NXDOMAIN-IP知识图谱构建,并利用知识图谱存储模块将知识图谱存储到图数据库。
进一步优选,所述社区发现单元,利用社区发现算法评价模块选取最优的社区发现算法,然后利用选取的社区发现算法对指定时间窗口内的NXDOMAIN-IP知识图谱进行分析,生成若干个具备某种聚类簇特性的知识图谱社区簇,并利用实体特征标注模块根据聚类簇信息标注实体的社区信息;
进一步优选,所述威胁社区判定单元,利用查询模块获取满足具体聚类簇特性的知识图谱;然后利用社区判定模块进行社区性质判定,区分合法社区簇和疑似恶意代码社区簇;接下来,利用社区检验模块对疑似恶意代码家族社区簇,进行抽样检验,即从社区簇中随机选取一定比例的域名集合,利用WHOIS和权威情报提供商进行在线实时确认,若该域名集合的域名存在注册机构或个人的比例低于指定阈值,则判定该疑似恶意代码社区簇为暂未判定社区簇,否则为恶意代码社区簇;最后,利用受控主机判定模块,对于恶意代码社区簇,获取其IP列表,标记这些IP为受控主机,并根据域名相关标注确定恶意代码家族信息,并写入数据库。
与现有技术相比,本发明的优点在于:
本发明提供的一种基于知识图谱的受控主机检测方法和装置,使用了DNS流量中的应答状态为NXDOMAIN数据,并利用多种算法对提取的特征数据进行过滤和清洗。然后,基于知识图谱构建框架对NXDOMAIN数据进行描述,构建NXDOMAIN-IP知识图谱。最后,利用社区发现算法和社区判定算法对于NXDOMAIN-IP知识图谱进行分析,进而获取受控主机列表并标注疑似恶意代码家族。同时,本发明提出一套基于知识图谱的受控主机检测框架,使得本发明具备以下优点:
1)通过多重的DNS数据过滤和标注机制,极大的减少了数据规模,降低了知识图谱构建成本,提高了社区发现算法和社区判定算法的执行效率,进而提高了系统整体处理效率;
2)通过使用分布式处理框架,可以大规模分析实时的DNS请求流量,极大的提高了系统处理效率,降低了系统维护和升级的代价;
3)通过提出的NXDOMAIN-IP知识图谱构建、社区发现和社区判定算法,能够将复杂问题进行分解,将域名识别问题转变为关系构建和社区聚类问题,极大的提高了词表拼接DGA域名的检测性能和准确率,进而提高了受控主机的检测能力。同时,将时间代价较大的知识图谱构建和受控主机判定放到后期处理流程,大幅度提高了系统处理效率和工程化水平;
4)本发明提供的一种基于知识图谱的受控主机检测方法和装置,通过检测DNS的NXDOMAIN数据,能够检测高可信的词表拼接DGA域名,通过进一步分析可以检测词表拼接DGA域名并确定受控主机以及相关恶意代码家族。同时,及时提醒受害人对主机进行AV升级以及全盘扫描,并对主机漏洞进行加固。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于知识图谱的受控主机检测方法的原理示意图;
图2为本发明实施例提供的基于知识图谱的受控主机检测方法流程图;
图3为本发明实施例提供的基于知识图谱的受控主机检测方法之原始特征向量流获取过程;
图4为本发明实施例提供的基于知识图谱的受控主机检测方法之原始特征向量流预处理过程;
图5为本发明实施例提供的基于知识图谱的受控主机检测方法之NXDOMAIN-IP知识图谱挖掘过程;
图6为本发明实施例提供的基于知识图谱的受控主机检测装置结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
各种恶意软件家族都需要与命令和控制(C&C)服务器进行通信,以便接收指令,窃听收集的情报或从事其他恶意活动。由于硬编码的域名地址容易被逆向获取,导致C&C通信失败。因此,恶意软件通常会使用域名生成算法(DGA)来生成大量的伪随机域名,并据此尝试进行连接。由于威胁的非对称性质,这种行为很难被检测。安全设备必须能够对整个域名集合进行检测和阻断才能够遏制攻击,而恶意软件作者只需控制一个域名即可以保持C&C通信。与传统的基于字符的DGA域名相比,最近的网络攻击事件中公开的基于单词的DGA域名显示出明显更强的隐身性和对抗性。在基于单词的DGA域名中,从一个或多个特定词典中随机选择两个或多个单词以形成动态域名,这些规则生成的域名旨在模仿合法域名的特征。识别基于词表拼接DGA域名的问题极具挑战性,这些域名不一定看起来是随机的。例如,诸如s82r4luxrw.com(由madmax DGA生成)之类的域名比诸如activitypossess.com(由matsnu DGA生成)之类的域名具有更大的可疑性。
本申请实施例中,获取域名解析的DNS原始流量,解析域名响应的特征数据,对解析后的特征数据进行DNS应答状态过滤,获取DNS应答状态为NXDOMAIN的特征数据向量流。进一步的,以预设的滑动时间窗口为检测周期对特征数据向量流进行统计,生成IP与域名列表映射以及域名与IP列表映射的邻接链表。同时,对邻接链表进行多阶段数据预处理,利用多种异常检测算法进行过滤和标注,提高后续处理效率并降低误报,例如白名单、域名黑名单、DGA模型检测、可分词性、主机访问次数等,获取知识图谱构建输出数据集。然后,进行NXDOMAIN-IP知识图谱构建,并将知识图谱存储到图数据库。接下来,利用社区发现算法对NXDOMAIN-IP知识图谱进行分析,并生成多个具备个性的社区簇。同时,利用社区判定算法对各个社区簇进行性质判定,区分合法社区簇、恶意代码各个家族的社区簇以及暂未判定社区簇。最后,对于恶意代码社区簇,获取其IP列表,标记这些IP为受控主机,并根据域名相关标注确定恶意代码家族信息,并写入数据库。
本发明基于分布式数据流处理框架,可以大规模分析实时的DNS请求流量,通过多阶段数据预处理过程,极大的提高了分析效率。并且,通过NXDOMAIN-IP知识图谱构建、社区发现和社区判定,可以检测词表拼接DGA域名并确定受控主机以及相关恶意代码家族,及时提醒受害人对主机进行AV升级以及全盘扫描,并对主机漏洞进行加固。具体的:
图1为本发明实施例提供的基于知识图谱的受控主机检测方法的原理示意图,DNS访问客户端IP为192.168.2.21和192.168.2.22,获取其DNS应答状态为NXDOMAIN的数据,并建立知识图谱,白名单列表中的数据(www.baidu.com)在数据处理过程中将被过滤掉,用虚线表示。其他对词表拼接域名的访问将构成一个威胁社区,利用社区发现算法能够识别,进而定位这两台主机为受控主机,再根据域名特性判断主机被suppobox僵尸网络家族控制。
下面结合附图和具体实施例进一步说明本发明实施例的技术方案。
图2是本发明实施例提供的基于知识图谱的受控主机检测方法流程图,包括以下步骤:
步骤S101:获取域名解析的DNS原始流量,解析域名请求的特征数据,获取DNS应答状态为NXDOMAIN的特征数据向量流,如图3所示;
在具体实施过程中,包含以下步骤:
步骤S101-1,利用协议解析引擎对DNS协议的响应流量进行处理,解析域名响应的特征数据;
进一步地,优选的是,对于协议解析引擎,可以使用C语言、Python语言根据DNS协议规范进行开发,也可以使用开源的DNS协议解析工具代替;
进一步地,优选的是,协议解析过程中,需要提取的字段包括请求时间戳、源IP、请求域名、请求状态;
进一步地,优选的是,协议解析过程中,仅考虑对DNS的响应流量进行处理,可以极大地提高处理效率。
步骤S101-2,对解析后的特征数据进行DNS应答状态过滤,获取DNS应答状态为NXDOMAIN的特征数据向量流;
进一步地,优选的是,RFC2136对DNS状态码的描述如下:
(1)NOERROR,0,无错误条件;
(2)FORMERR,1,名称服务器无法解释格式错误导致的请求;
(3)SERVFAIL,2,名称服务器在处理此请求时遇到内部故障,例如操作系统错误或转发超时;
(4)NXDOMAIN,3,应该存在的某些名称不存在;
(5)NOTIMP,4,名称服务器不支持指定的操作码;
(6)REFUSED,5,名称服务器出于策略或安全原因拒绝执行指定的操作;
(7)YXDOMAIN,6,确实存在一些不应该存在的名称;
(8)YXRRSET,7,确实存在一些不应该存在的RRset;
(9)NXRRSET,8,应该存在的某些RRset不存在;
(10)NOTAUTH,9,服务器对“区域”部分中命名的区域没有权威性;
(11)NOTZONE,10,在“前提条件”或“更新”部分中使用的名称不在“区域”部分指示的区域内。
进一步地,优选的是,选择DNS应答状态为NXDOMAIN的DNS特征数据向量流;
进一步地,优选的是,DNS应答状态为NXDOMAIN,可能由以下原因导致:
(1)DGA域名请求,包括随机生成的DGA域名和词表拼接的DGA域名;
(2)拼写错误的域名请求;
(3)失效的域名请求;
(4)系统配置错误,例如DNS服务冲突;
(5)防火墙阻断;
(6)网络配置等问题。
步骤S101-3,对于特征数据向量流,若源IP字段命中网关类IP名单则进行过滤。若目标域名命中域名白名单列表,则进行过滤;
进一步地,优选的是,若流量中源IP为网关IP占比超过指定的阈值,则可以判断获取流量的位置部署不正确,需要部署到网关(或代理)之前;
进一步地,优选的是,域名白名单列表生成过程在步骤S102,本阶段是直接使用进行过滤操作。
步骤S101-4,利用采集器获取来自实时DNS流量的特征数据,写入到消息队列的特征数据向量流Topic。
进一步地,优选的是,消息队列包括不同的数据通道,使用Topic进行区分。例如,以Kafka为例,典型的分布式消息队列,采集器获取过滤后的DNS特征向量数据,写入到Kafka的特征数据向量流Topic中。
步骤S102:以预设的滑动时间窗口为检测周期对特征数据向量流进行统计,生成IP与域名列表映射邻接链表。并且,对邻接链表进行多阶段数据预处理,利用多种异常检测算法过滤和标注,获取知识图谱构建输出数据集,如图4所示;
在具体实施过程中,包含以下步骤:
步骤S102-1,利用分布式数据流处理组件,从消息队列的特征数据向量流Topic读取相应的数据流;
进一步地,优选的是,对于分布式数据流处理组件,可以选用Flink、Storm、SparkStreaming等,实施例不局限使用哪种;
进一步地,优选的是,可以使用Flink的Kafka读取接口从Kafka消息队列的特征数据向量流Topic读取DNS特征数据流。
步骤S102-2,利用分布式数据流处理组件的滑动时间窗口机制,以预设的滑动时间窗口为检测周期对特征数据向量流进行统计,以源IP为分析对象进行汇聚,即ip:{domain1,domain2,domain3,…,domainn}。若源IP在指定的时间窗口内发起不重复域名请求数量超过指定的阈值,则判定该源IP为网关类设备,更新网关类IP名单列表;
进一步地,优选的是,网关IP判定算法描述如下:
(1)获取指定时间窗口T1的DNS特征数据向量流;
(2)对DNS特征数据向量流的源IP字段进行统计,并进行频度排名;
(3)若Top1的源IP频度占比大于指定阈值tv-1,则判定为该IP为代理或网关类IP;
(4)若Top1的源IP频度占比大于指定阈值tv-2,则判定为代理或网络类流量过大,流量监控的位置部署不正确。
默认,时间窗口T1的取值为24小时,阈值tv-1为0.5,阈值tv-2为0.8。
步骤S102-3,利用分布式数据流处理组件的滑动时间窗口机制,以预设的滑动时间窗口为检测周期对特征数据向量流进行检测统计,以域名为分析对象进行汇聚,即domain:{ip1,ip2,ip3,…,ipn}。若目标域名domain在指定时间窗口内不同源IP请求解析数量超过指定的阈值,则判定为该域名为目标组织常用域名,更新域名白名单列表;
进一步地,优选的是,域名白名单构造算法描述如下:
(1)获取指定时间窗口T2的DNS特征数据向量流;
(2)统计域名到IP的映射及频度,domaini={ip1:count,ip2:count,ip3:count, …,ipn:count};
(3)若domaini中,不同IP的数量超过指定的阈值tv-3,则将该域名domaini添加到白名单列表中;
(4)若domaini中,对于同一个IP,访问频度超过指定的阈值tv-3,则将该域名domaini添加到白名单列表中;
(5)此外,获取多个来源的域名白名单,例如Alex-1M、cisco-1M、majestic-1M、quantcast-1M和statvoo-1M,总计接近500万的白域名样本。然后,对样本源的更新频度进行权重分配(也可自定义权重),进而根据权重进行样本去重和排名,去重后样本规模为400万左右;
(6)此外,从其他来源,例如权威机构国家互联网应急中心CERT、中国互联网管理中心CNNIC等机构,获取国内合法域名列表;
(7)输出域名白名单列表,并定时更新。
步骤S102-4,利用IP与域名列表映射以及域名与IP列表映射生成邻接链表;
进一步地,优选的是,邻接链表是一种顺序分配和链式分配相结合的存储结构,常用于表示图结构。
步骤S102-5,对邻接链表进行多阶段数据预处理,利用多种异常检测算法进行过滤和标注,包括域名黑名单、DGA模型检测、主机访问次数等,进而提高后续处理效率并降低误报;
进一步地,优选的是,实施例中的异常检测算法集合是基于异常检测框架的,可以基于该框架增加新的异常检测算法,也可以关闭已有的算法,进而实现灵活的数据处理能力;
进一步地,优选的是,实施例中的异常检测算法之域名黑名单,域名黑名单主要来自三个方面数据源,威胁情报购买、公开威胁情报源爬取以及沙箱产品生成;
进一步地,优选的是,实施例中的异常检测算法之DGA域名检测模型,基于DGA域名家族数据集,利用机器学习、深度学习或集成学习技术训练DGA域名家族检测模型,进而识别合法域名、恶意域名及家族。该模型仅能够识别随机生成的DGA域名,对于词表拼接的DGA域名(“tablethirteen.net”、“arivenice.ru”等)以及高仿DGA域名(“amazons.com”、“microsofta.com”等)无能为力。DGA域名检测模型包括两个子模型,一个二分类模型和一个多分类模型。对于二分类模型,输出结果为恶意域名与未知域名两类。恶意域名将被送到多分类模型进一步对恶意域名家族进行分类;
进一步地,优选的是,实施例中的异常检测算法之主机访问次数,具体可以分为单主机访问指定域名的次数F1,以及不同主机访问该域名的次数F2。若F1大于指定的阈值或F2大于指定的阈值,则判定该域名为合法域名;
进一步地,优选的是,对于判定为合法域名的特征向量执行过滤操作,对于判定为恶意域名的特征向量将其家族名对域名实体进行特征标注,对于判定为未知域名的特征向量记为下一阶段重点分析的目标;
进一步地,优选的是,通过多种异常检测算法的过滤和标注,特征数据向量流的规模被大幅度降低,提高了后续的处理效率并减低了误报。
步骤S102-6,输出用于构造NXDOMAIN-IP知识图谱的特征数据向量流,并写回消息队列的知识图谱数据向量流Topic。
进一步地,优选的是,实施例中的NXDOMAIN-IP知识图谱,是指利用DNS流量中应答状态为NXDOMAIN的域名与客户端源IP为实体,之间的请求行为为关系,域名和客户端的特征为实体的特征向量,请求行为特征为关系的特征向量,进而构建的NXDOMAIN-IP知识图谱;
对于步骤S103、步骤S104和步骤S105,过程如图5所示,具体描述如下;
步骤S103:基于知识图谱构建数据集,进行NXDOMAIN-IP知识图谱构建,并将知识图谱存储到图数据库;
在具体实施过程中,包含以下步骤:
步骤S103-1,利用分布式数据流处理组件,从消息队列的知识图谱数据向量流Topic读取相应的数据流;
步骤S103-2,定义NXDOMAIN-IP知识图谱的实体和关系,并利用NXDOMAIN-IP知识图谱构建算法,构建NXDOMAIN-IP知识图谱;
进一步地,优选的是,实施例中的NXDOMAIN-IP知识图谱的实体和关系定义描述如下,对于NXDOMAIN-IP知识图谱,定义为,表示实体集合,包括DNS流量中应答状态为NXDOMAIN的域名与客户端源IP;表示边集合,,即客户端与域名之间的请求关系。域名和客户端的特征为实体的特征向量,请求行为特征为关系的特征向量;
(1)获取应答状态为NXDOMAIN的DNS请求元数据;
进一步地,优选的是,在图1中,例证了知识图谱建立过程。对于客户端IP为192.168.2.21和客户端IP为192.168.2.22,查询了大量域名,包括应答状态为NXDOMAIN和NOERROR的域名,包括thinksuppose.net、presentsuppose.net、middleriver.ru、morningsuppose.ru、oftenriver.net、chiefriver.net、baidu.com等域名请求。在数据预处理过程中,应答状态为NOERROR的域名请求将被过滤掉,仅保留应答状态为NXDOMAIN的DNS请求。客户端IP为192.168.2.21和客户端IP为192.168.2.22都访问了域名collegeriver.ru和chiefriver.net,故对知识图谱分析发现,构成了一个恶意代码家族社区,家族为suppobox僵尸网络家族,客户端IP为192.168.2.21和客户端IP为192.168.2.22都被判定为受控主机。
步骤S103-3,将知识图谱存储到图数据库。
进一步地,优选的是,知识图谱存储方式有多种,包括关系数据库存储,例如Mysql、Oracle等,图数据存储,例如Neo4j、Janusgraph&HBase,Janusgraph&Cassandra等。在本实施例中,知识图谱存储方案可以选用Janusgraph作为图数据库,HBase作为存储后端。
步骤S104:利用社区发现算法对NXDOMAIN-IP知识图谱进行分析,并生成多个具备个性的社区簇;
步骤S105:利用社区判定算法对各个社区簇进行性质恶意代码社区判定。对于判定为恶意代码社区的簇,获取其IP列表,标记这些IP为受控主机,并根据域名相关标注确定恶意代码家族信息,并写入数据库。
在步骤S104和S105的具体实施过程中,包含以下步骤:
步骤S104-S105-1,选择NXDOMAIN-IP知识图谱的部分数据对社区发现算法进行评价,通过交叉验证选择效果最优的社区发现算法;
进一步地,优选的是,在网络安全领域存在各种各样的网络,诸如APT攻击网、僵尸网络、挖矿网、黑产交易网等。对于这些网络进行社区发现具有极大的意义,例如在僵尸网络中,可以发现出具有不同目标、不同攻击手法和不同背景的黑客团体,有利于受害方进行阻断并溯源取证;
进一步地,优选的是,主流文献提出了大量的技术来在相当快的时间内找到最优的社区,例如传统算法(图分割、聚类)、分裂方法(GN算法)、谱方法、模块度方法(贪心、模拟退火、极值优化、谱优化)、动态算法(自旋模型、随机游走、同步算法)、基于统计推断的方法(生成模型、判别模型)、其他算法(重叠社区、动态社区发现、Web社区发现)等;
进一步地,优选的是,在实施例中选取了主流的Louvain算法、CNM算法、LPA算法、K-Core算法进行评价,并通过交叉验证选择效果最优的社区发现算法,最后选取Louvain算法进行实施例验证算法;
步骤S104-S105-2,利用最优的社区发现算法对指定时间窗口的NXDOMAIN-IP知识图谱进行分析,生成多类具备不同特性的社区簇,过程描述如下:
(1)将图中的每个节点看成一个独立的社区,次数社区的数目与节点个数相同;
(2)对每个节点i,依次尝试把节点i分配到其每个邻居节点所在的社区,计算分配前与分配后的模块度变化,并记录最大的那个邻居节点,如果,则把节点i分配最大的那个邻居节点所在的社区,否则保持不变。其中,定义如公式(1)所示。其中,表示节点i和节点j之间边的权重,网络不是带权图时,所有边的权重可以看做是1。,表示所有与节点i相连的边的权重之和(度数);表示节点i所属的社区;表示所有边的权重之和(边的数目);是社区c内节点与节点i的边权重之和;表示一个社区内部的连线数;表示一个社区所有节点的度数之和;
(3)重复步骤(2),直到所有节点的所属社区不再变化;
(4)对图进行压缩,将所有在同一个社区的节点压缩成一个新节点,社区内节点之间的边的权重转化为新节点的环的权重,社区间的边权重转化为新节点间的边权重;
(5)重复步骤(1)直到整个图的模块度不再发生变化。
进一步地,优选的是,从算法流程来看,Louvain算法能够产生层次性的社区结构,其中计算耗时较多的是最底一层的社区划分,节点按社区压缩后,将大大缩小边和节点数目,并且计算节点i分配到其邻居j的时模块度的变化只与节点i、j的社区有关,与其他社区无关,因此计算代价较小。
步骤S104-S105-3,对于不同的NXDOMAIN-IP知识图谱社区簇,利用社区判定算法进行性质判定,区分合法社区簇和疑似恶意代码社区簇;
进一步地,优选的是,社区判定算法具体描述如下:
(2)若低于阈值,则对该社区的域名进行分词,并进行词频统计,输出,其中,w表示词,n表示词出现的频度,若存在k个单词的频度超过给定的次数阈值,且域名的平均长度超过给定的阈值l,则判定为该社区为疑似恶意代码社区,恶意代码家族类别需要进一步判定;
(3)否则,该社区将判定为合法社区;
(4)重复步骤(1)直到整个社区集合都被判定完成。
进一步地,优选的是,对于词表拼接的DGA社区的判定原理来自以下观测:
(1)词表拼接的DGA通常来自同一个较小字典,域名分词后存在交集的概率较大。这是由于词表拼接的DGA域名需要字典,若字典过于庞大,恶意代码获取字典会很慢,被检测到的风险较大。若使用的字典较小,则生成的域名随机性会受到影响,通过逆向同城识别和检测此类恶意软件将变得更加容易;
(2)同一恶意代码家族控制的不同主机DNS请求,出现域名或二级域名相同的概率较大;
(3)由单词拼接创建的DGA域名通常较长;
(4)合法域名已经在多重过滤中清洗掉了,遗留相对较小。
步骤S104-S105-4,对于疑似恶意代码社区簇,进行抽样检验,即从社区簇中随机选取一定比例的域名集合,利用WHOIS和权威情报提供商进行在线实时确认,若该域名集合的域名存在注册机构或个人的比例低于指定阈值,则判定该疑似恶意代码社区簇为暂未判定社区簇,否则为恶意代码社区簇;
进一步地,优选的是,为了进一步对疑似恶意代码社区簇进行准确识别,需要先验知识对于域名进行抽样检测,进而将疑似恶意代码社区簇区分为恶意代码社区簇和暂未判定社区簇;
步骤S104-S105-5,对于恶意代码社区簇,获取其IP列表,标记这些IP为受控主机,并根据域名相关标注确定恶意代码家族信息,并写入数据库。
此外,与本发明方法实施例相对应,参考图6所示,还提供了一种基于知识图谱的受控主机检测装置,包括:
S501:数据采集单元,通过流量分析模块解析DNS原始流量,并利用过滤模块对解析后的特征数据进行DNS应答状态过滤,获取DNS应答状态为NXDOMAIN的特征数据向量流;
所述S501进一步为,通过架设DNS协议解析服务器、爬虫服务器、镜像交换机以及光电转换等设备,实现从现网DNS协议流量解析日志数据,并进行汇聚。其中,爬虫服务器用于爬取域名的先验知识,进行抽样检验;
S502:数据预处理单元,利用统计模块以预设的滑动时间窗口为检测周期对特征数据向量流进行统计,生成IP与域名列表映射以及域名与IP列表映射的邻接链表。最后,利用异常检测模块对邻接链表进行多阶段数据预处理,提高后续处理效率并降低误报,进而获取知识图谱构建输入数据集;
所述S502进一步为,基于分布式数据流处理框架,例如Flink框架,对于特征数据向量流进行统计分析,并基于异常检测模块对数据进行过滤和标注,例如域名黑名单、DGA模型检测、单主机访问次数等,进而提高后续模块的数据处理效率;
S503:NXDOMAIN-IP知识图谱构建单元,对知识图谱构建输入数据集,利用知识图谱构建模块进行NXDOMAIN-IP知识图谱构建,并利用知识图谱存储模块将知识图谱存储到图数据库;
S504:社区发现单元,利用社区发现算法评价模块选取最优的社区发现算法。然后,利用选取的社区发现算法模块对指定时间窗口内的NXDOMAIN-IP知识图谱进行分析,生成若干个具备某种聚类特性的知识图谱社区簇,并利用实体特征标注模块根据聚类簇信息标注实体的社区信息;
S505:威胁社区判定单元,利用查询模块获取满足具体聚类簇特性的知识图谱。然后,利用社区判定模块进行社区性质判定,区分合法社区簇和疑似恶意代码社区簇。接下来,利用社区检验模块对疑似恶意代码家族社区簇,进行抽样检验,即从社区簇中随机选取一定比例的域名集合,利用WHOIS和权威情报提供商进行在线实时确认,若该域名集合的域名存在注册机构或个人的比例低于指定阈值,则判定该疑似恶意代码社区簇为暂未判定社区簇,否则为恶意代码社区簇。最后,利用受控主机判定模块,对于恶意代码社区簇,获取其IP列表,标记这些IP为受控主机,并根据域名相关标注确定恶意代码家族信息,并写入数据库。
综上所述,本发明涉及一种基于知识图谱的受控主机检测方法,本方法的核心是,使用了DNS流量中的应答状态为NXDOMAIN数据,并利用多种算法对提取的特征数据进行过滤和清洗。然后,基于知识图谱构建框架对NXDOMAIN数据进行描述,构建NXDOMAIN-IP知识图谱。最后,利用社区发现算法和社区判定算法对于NXDOMAIN-IP知识图谱进行分析,进而获取受控主机列表并标注疑似恶意代码家族。同时,本发明提出一套基于知识图谱的受控主机检测框架,使得本发明具备以下优点:
(1)通过多重的DNS数据过滤和标注机制,极大的减少了数据规模,降低了知识图谱构建成本,提高了社区发现算法和社区判定算法的执行效率,进而提高了系统整体处理效率;
(2)通过使用分布式处理框架,可以大规模分析实时的DNS请求流量,极大的提高了系统处理效率,降低了系统维护和升级的代价;
(3)通过提出的NXDOMAIN-IP知识图谱构建、社区发现和社区判定算法,能够将复杂问题进行分解,将域名识别问题转变为关系构建和社区聚类问题,极大的提高了词表拼接DGA域名的检测性能和准确率,进而提高了受控主机的检测能力。同时,将时间代价较大的知识图谱构建和受控主机判定放到后期处理流程,大幅度提高了系统处理效率和工程化水平;
(4)本发明提供的一种基于知识图谱的受控主机检测方法和装置,通过检测DNS的NXDOMAIN数据,能够检测高可信的词表拼接DGA域名,通过进一步分析可以检测词表拼接DGA域名并确定受控主机以及相关恶意代码家族。同时,及时提醒受害人对主机进行AV升级以及全盘扫描,并对主机漏洞进行加固。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的保护范围当中。
Claims (10)
1.一种基于知识图谱的受控主机检测方法,其特征在于,包括:
1)获取域名解析的DNS原始流量,解析域名响应的特征数据,对解析后的特征数据进行DNS应答状态过滤,获取DNS应答状态为NXDOMAIN的特征数据向量流,写入到消息队列的特征数据向量流Topic;
2)以预设的滑动时间窗口为检测周期对特征数据向量流进行统计,生成IP与域名列表映射以及域名与IP列表映射的邻接链表,同时,对邻接链表进行多阶段数据预处理,利用一种或多种异常检测算法进行过滤和标注,获取知识图谱构建输入数据集,写回消息队列的知识图谱数据向量流Topic;
3)针对知识图谱构建输入数据集,进行NXDOMAIN-IP知识图谱构建,并将知识图谱存储到图数据库;
4)利用社区发现算法对NXDOMAIN-IP知识图谱进行分析,并生成多个具备个性的社区簇;
5)利用社区判定算法对各个社区簇进行性质判定,区分合法社区簇、恶意代码社区簇以及暂未判定社区簇;
6)对于恶意代码社区簇,获取其IP列表,标记这些IP为受控主机,并根据域名相关标注确定恶意代码家族信息,并写入数据库。
2.根据权利要求1所述的基于知识图谱的受控主机检测方法,其特征在于,所述步骤1)具体包括如下步骤:
101)利用协议解析引擎对DNS协议的响应流量进行处理,解析域名响应的特征数据;
102)对解析后的特征数据进行DNS应答状态过滤,获取DNS应答状态为NXDOMAIN的特征数据向量流;
103)对于特征数据向量流,若源IP字段命中网关类IP名单,则进行过滤,若目标域名命中域名白名单列表,则进行过滤;
104)利用采集器获取来自实时DNS流量的过滤后的特征数据向量流,写入到消息队列的特征数据向量流Topic。
3.根据权利要求1所述的基于知识图谱的受控主机检测方法,其特征在于,所述步骤2)具体包括如下步骤:
201)利用分布式数据流处理组件,从消息队列的特征数据向量流Topic读取相应的特征数据向量流;
202)利用分布式数据流处理组件的滑动时间窗口机制,以预设的滑动时间窗口为检测周期对特征数据向量流进行统计,以源IP为分析对象进行汇聚,即ip:{domain1,domain2,domain3,…,domainn},若源IP在指定的时间窗口内发起不重复域名请求数量超过指定的阈值,则判定该源IP为网关类设备,更新网关类IP名单列表;
203)利用分布式数据流处理组件的滑动时间窗口机制,以预设的滑动时间窗口为检测周期对特征数据向量流进行检测统计,以域名为分析对象进行汇聚,即domain:{ip1,ip2,ip3,…,ipn},若目标域名domain在指定时间窗口内不同源IP请求解析数量超过指定的阈值,则判定该域名为目标组织常用域名,更新域名白名单列表;
204)通过步骤202)和步骤203)生成IP与域名列表映射以及域名与IP列表映射,利用IP与域名列表映射以及域名与IP列表映射生成邻接链表;
205)对邻接链表进行多阶段数据预处理,利用一种或多种异常检测算法进行过滤和标注;
206)输出用于构造NXDOMAIN-IP知识图谱的特征数据向量流,并写回消息队列的知识图谱数据向量流Topic。
4.根据权利要求1所述的基于知识图谱的受控主机检测方法,其特征在于,所述步骤3)具体包括如下步骤:
301)利用分布式数据流处理组件,从消息队列的知识图谱数据向量流Topic读取相应的数据向量流;
302)定义NXDOMAIN-IP知识图谱的实体和关系,并利用NXDOMAIN-IP知识图谱构建算法,构建NXDOMAIN-IP知识图谱;
303)将知识图谱存储到图数据库。
5.根据权利要求1所述的基于知识图谱的受控主机检测方法,其特征在于,所述步骤4)具体包括如下步骤:
401)选择NXDOMAIN-IP知识图谱的部分数据对社区发现算法进行评价,通过交叉验证选择效果最优的社区发现算法;
402)利用最优的社区发现算法对NXDOMAIN-IP知识图谱进行分析,生成多类具备不同特性的社区簇;
所述步骤5)具体包括如下步骤:
501)对于不同的NXDOMAIN-IP知识图谱社区簇,利用社区判定算法进行性质判定,区分合法社区簇和疑似恶意代码社区簇;
502)对于疑似恶意代码社区簇,进行抽样检验,即从社区簇中随机选取一定比例的域名集合,利用WHOIS和权威情报提供商进行在线实时确认,若该域名集合的域名存在注册机构或个人的比例低于指定阈值,则判定该疑似恶意代码社区簇为暂未判定社区簇,否则为恶意代码社区簇。
6.一种基于知识图谱的受控主机检测装置,其特征在于,包括:
数据采集单元,用于获取DNS应答状态为NXDOMAIN的特征数据向量流;
数据预处理单元,用于获取知识图谱构建输入数据集;
NXDOMAIN-IP知识图谱构建单元,用于构建NXDOMAIN-IP知识图谱,并进行存储;
社区发现单元,用于生成若干个具备某种聚类特性的知识图谱社区簇;
威胁社区判定单元,用于对知识图谱社区簇的性质进行判定,区分合法社区簇、恶意代码社区簇、以及暂未判定社区簇。
7.根据权利要求6所述的基于知识图谱的受控主机检测装置,其特征在于,所述数据采集单元和数据预处理单元,通过流量分析模块解析DNS原始流量,并利用过滤模块对解析后的特征数据进行DNS应答状态过滤,获取DNS应答状态为NXDOMAIN的特征数据向量流;然后,利用统计模块,以预设的滑动时间窗口为检测周期对特征数据向量流进行统计,生成IP与域名列表映射以及域名与IP列表映射的邻接链表;最后,利用异常检测模块对邻接链表进行多阶段数据预处理,进而获取知识图谱构建输入数据集。
8.根据权利要求6所述的基于知识图谱的受控主机检测装置,其特征在于,所述NXDOMAIN-IP知识图谱构建单元,对知识图谱构建输入数据集,利用知识图谱构建模块进行NXDOMAIN-IP知识图谱构建,并利用知识图谱存储模块将知识图谱存储到图数据库。
9.根据权利要求6所述的基于知识图谱的受控主机检测装置,其特征在于,所述社区发现单元,利用社区发现算法评价模块选取最优的社区发现算法,然后利用选取的社区发现算法对指定时间窗口内的NXDOMAIN-IP知识图谱进行分析,生成若干个具备某种聚类簇特性的知识图谱社区簇,并利用实体特征标注模块根据聚类簇信息标注实体的社区信息。
10.根据权利要求6所述的基于知识图谱的受控主机检测装置,其特征在于,所述威胁社区判定单元,利用查询模块获取满足具体聚类簇特性的知识图谱;然后利用社区判定模块进行社区性质判定,区分合法社区簇和疑似恶意代码社区簇;接下来,利用社区检验模块对疑似恶意代码家族社区簇,进行抽样检验,即从社区簇中随机选取一定比例的域名集合,利用WHOIS和权威情报提供商进行在线实时确认,若该域名集合的域名存在注册机构或个人的比例低于指定阈值,则判定该疑似恶意代码社区簇为暂未判定社区簇,否则为恶意代码社区簇;最后,利用受控主机判定模块,对于恶意代码社区簇,获取其IP列表,标记这些IP为受控主机,并根据域名相关标注确定恶意代码家族信息,并写入数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011317923.1A CN112104677B (zh) | 2020-11-23 | 2020-11-23 | 一种基于知识图谱的受控主机检测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011317923.1A CN112104677B (zh) | 2020-11-23 | 2020-11-23 | 一种基于知识图谱的受控主机检测方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112104677A true CN112104677A (zh) | 2020-12-18 |
CN112104677B CN112104677B (zh) | 2021-03-02 |
Family
ID=73785350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011317923.1A Active CN112104677B (zh) | 2020-11-23 | 2020-11-23 | 一种基于知识图谱的受控主机检测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112104677B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112822191A (zh) * | 2021-01-06 | 2021-05-18 | 大连理工大学 | 一种网络化协同系统中多维数据安全性检测的方法 |
CN112835995A (zh) * | 2021-02-04 | 2021-05-25 | 中国互联网络信息中心 | 一种基于解析关系的域名图嵌入表示分析方法及装置 |
CN112910888A (zh) * | 2021-01-29 | 2021-06-04 | 杭州迪普科技股份有限公司 | 非法域名注册团伙挖掘方法及装置 |
CN112925920A (zh) * | 2021-03-23 | 2021-06-08 | 西安电子科技大学昆山创新研究院 | 一种智慧社区大数据知识图谱网络社团检测方法 |
CN113392399A (zh) * | 2021-06-23 | 2021-09-14 | 绿盟科技集团股份有限公司 | 一种恶意软件分类方法、装置、设备及介质 |
CN113704762A (zh) * | 2021-09-02 | 2021-11-26 | 广州大学 | 基于集成学习的恶意软件加密流量检测方法 |
CN113934862A (zh) * | 2021-09-29 | 2022-01-14 | 北方工业大学 | 社区安全风险预测方法、装置、电子设备及介质 |
CN114051015A (zh) * | 2021-11-22 | 2022-02-15 | 北京天融信网络安全技术有限公司 | 域名流量图的构建方法、装置、设备以及存储介质 |
CN114095212A (zh) * | 2021-10-29 | 2022-02-25 | 北京天融信网络安全技术有限公司 | 一种对抗训练dga域名检测模型的方法及装置 |
CN114513325A (zh) * | 2021-12-21 | 2022-05-17 | 中国人民解放军战略支援部队信息工程大学 | 基于saw社区发现的非结构化p2p僵尸网络检测方法及装置 |
CN114826679A (zh) * | 2022-03-30 | 2022-07-29 | 西安电子科技大学 | 面向物联网设备的分布式dga域名检测方法及系统 |
CN114866264A (zh) * | 2021-01-19 | 2022-08-05 | 上海观安信息技术股份有限公司 | 一种基于半监督学习算法的dga域名检测与家族聚类的方法 |
CN115102796A (zh) * | 2022-08-26 | 2022-09-23 | 中国科学技术大学 | 基于知识图谱和随机游走策略的漏洞关联评估方法及系统 |
CN115102758A (zh) * | 2022-06-21 | 2022-09-23 | 新余学院 | 异常网络流量的检测方法、装置、设备及存储介质 |
CN118333155A (zh) * | 2024-06-12 | 2024-07-12 | 江苏中天互联科技有限公司 | 运维知识图谱构建方法、装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160294859A1 (en) * | 2015-03-30 | 2016-10-06 | Electronics And Telecommunications Research Institute | Apparatus and method for detecting malicious domain cluster |
CN107786575A (zh) * | 2017-11-11 | 2018-03-09 | 北京信息科技大学 | 一种基于dns流量的自适应恶意域名检测方法 |
CN108985361A (zh) * | 2018-07-02 | 2018-12-11 | 北京金睛云华科技有限公司 | 一种基于深度学习的恶意流量检测实现方法和装置 |
CN110290116A (zh) * | 2019-06-04 | 2019-09-27 | 中山大学 | 一种基于知识图谱的恶意域名检测方法 |
CN111651591A (zh) * | 2019-03-04 | 2020-09-11 | 腾讯科技(深圳)有限公司 | 一种网络安全分析方法和装置 |
-
2020
- 2020-11-23 CN CN202011317923.1A patent/CN112104677B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160294859A1 (en) * | 2015-03-30 | 2016-10-06 | Electronics And Telecommunications Research Institute | Apparatus and method for detecting malicious domain cluster |
CN107786575A (zh) * | 2017-11-11 | 2018-03-09 | 北京信息科技大学 | 一种基于dns流量的自适应恶意域名检测方法 |
CN108985361A (zh) * | 2018-07-02 | 2018-12-11 | 北京金睛云华科技有限公司 | 一种基于深度学习的恶意流量检测实现方法和装置 |
CN111651591A (zh) * | 2019-03-04 | 2020-09-11 | 腾讯科技(深圳)有限公司 | 一种网络安全分析方法和装置 |
CN110290116A (zh) * | 2019-06-04 | 2019-09-27 | 中山大学 | 一种基于知识图谱的恶意域名检测方法 |
Non-Patent Citations (1)
Title |
---|
王媛媛: "基于深度学习的恶意域名检测技术的研究与应用", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112822191A (zh) * | 2021-01-06 | 2021-05-18 | 大连理工大学 | 一种网络化协同系统中多维数据安全性检测的方法 |
CN112822191B (zh) * | 2021-01-06 | 2021-11-02 | 大连理工大学 | 一种网络化协同系统中多维数据安全性检测的方法 |
CN114866264A (zh) * | 2021-01-19 | 2022-08-05 | 上海观安信息技术股份有限公司 | 一种基于半监督学习算法的dga域名检测与家族聚类的方法 |
CN112910888A (zh) * | 2021-01-29 | 2021-06-04 | 杭州迪普科技股份有限公司 | 非法域名注册团伙挖掘方法及装置 |
CN112835995A (zh) * | 2021-02-04 | 2021-05-25 | 中国互联网络信息中心 | 一种基于解析关系的域名图嵌入表示分析方法及装置 |
CN112835995B (zh) * | 2021-02-04 | 2023-11-07 | 中国互联网络信息中心 | 一种基于解析关系的域名图嵌入表示分析方法及装置 |
CN112925920A (zh) * | 2021-03-23 | 2021-06-08 | 西安电子科技大学昆山创新研究院 | 一种智慧社区大数据知识图谱网络社团检测方法 |
CN113392399A (zh) * | 2021-06-23 | 2021-09-14 | 绿盟科技集团股份有限公司 | 一种恶意软件分类方法、装置、设备及介质 |
CN113704762A (zh) * | 2021-09-02 | 2021-11-26 | 广州大学 | 基于集成学习的恶意软件加密流量检测方法 |
CN113704762B (zh) * | 2021-09-02 | 2022-06-21 | 广州大学 | 基于集成学习的恶意软件加密流量检测方法 |
CN113934862A (zh) * | 2021-09-29 | 2022-01-14 | 北方工业大学 | 社区安全风险预测方法、装置、电子设备及介质 |
CN114095212A (zh) * | 2021-10-29 | 2022-02-25 | 北京天融信网络安全技术有限公司 | 一种对抗训练dga域名检测模型的方法及装置 |
CN114095212B (zh) * | 2021-10-29 | 2023-09-01 | 北京天融信网络安全技术有限公司 | 一种对抗训练dga域名检测模型的方法及装置 |
CN114051015A (zh) * | 2021-11-22 | 2022-02-15 | 北京天融信网络安全技术有限公司 | 域名流量图的构建方法、装置、设备以及存储介质 |
CN114051015B (zh) * | 2021-11-22 | 2023-07-14 | 北京天融信网络安全技术有限公司 | 域名流量图的构建方法、装置、设备以及存储介质 |
CN114513325A (zh) * | 2021-12-21 | 2022-05-17 | 中国人民解放军战略支援部队信息工程大学 | 基于saw社区发现的非结构化p2p僵尸网络检测方法及装置 |
CN114513325B (zh) * | 2021-12-21 | 2023-05-12 | 中国人民解放军战略支援部队信息工程大学 | 基于saw社区发现的非结构化p2p僵尸网络检测方法及装置 |
CN114826679A (zh) * | 2022-03-30 | 2022-07-29 | 西安电子科技大学 | 面向物联网设备的分布式dga域名检测方法及系统 |
CN115102758A (zh) * | 2022-06-21 | 2022-09-23 | 新余学院 | 异常网络流量的检测方法、装置、设备及存储介质 |
CN115102796A (zh) * | 2022-08-26 | 2022-09-23 | 中国科学技术大学 | 基于知识图谱和随机游走策略的漏洞关联评估方法及系统 |
CN118333155A (zh) * | 2024-06-12 | 2024-07-12 | 江苏中天互联科技有限公司 | 运维知识图谱构建方法、装置及电子设备 |
CN118333155B (zh) * | 2024-06-12 | 2024-09-03 | 江苏中天互联科技有限公司 | 运维知识图谱构建方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112104677B (zh) | 2021-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112104677B (zh) | 一种基于知识图谱的受控主机检测方法和装置 | |
CN109450842B (zh) | 一种基于神经网络的网络恶意行为识别方法 | |
CN107566376B (zh) | 一种威胁情报生成方法、装置及系统 | |
US8260914B1 (en) | Detecting DNS fast-flux anomalies | |
CN111355697B (zh) | 僵尸网络域名家族的检测方法、装置、设备及存储介质 | |
CN112910929B (zh) | 基于异质图表示学习的恶意域名检测方法及装置 | |
CN112866023B (zh) | 网络检测、模型训练方法、装置、设备及存储介质 | |
Stevanovic et al. | On the ground truth problem of malicious DNS traffic analysis | |
CN110336789A (zh) | 基于混合学习的Domain-flux僵尸网络检测方法 | |
Zhou et al. | CNN-based DGA detection with high coverage | |
CN110177123B (zh) | 基于dns映射关联图的僵尸网络检测方法 | |
CN113992349B (zh) | 恶意流量识别方法、装置、设备和存储介质 | |
EP3913888A1 (en) | Detection method for malicious domain name in domain name system and detection device | |
CN115021997B (zh) | 一种基于机器学习的网络入侵检测系统 | |
Li et al. | Street-Level Landmarks Acquisition Based on SVM Classifiers. | |
Herrera-Semenets et al. | A data reduction strategy and its application on scan and backscatter detection using rule-based classifiers | |
Brandao et al. | Log Files Analysis for Network Intrusion Detection | |
Liao et al. | A Survey of Deep Learning Technologies for Intrusion Detection in Internet of Things | |
Song et al. | Towards the construction of global IPv6 hitlist and efficient probing of IPv6 address space | |
CN117332095A (zh) | 一种基于资产探测的网络空间知识图谱构建方法 | |
Xu et al. | [Retracted] DDoS Detection Using a Cloud‐Edge Collaboration Method Based on Entropy‐Measuring SOM and KD‐Tree in SDN | |
Ma et al. | GraphNEI: A GNN-based network entity identification method for IP geolocation | |
Nguyen Quoc et al. | Detecting DGA Botnet based on Malware Behavior Analysis | |
Campbell et al. | Exploring tunneling behaviours in malicious domains with self-organizing maps | |
CN110891055A (zh) | 一种基于规则树的工控网络白名单异常检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |