CN115333768B - 一种面向海量网络攻击的快速研判方法 - Google Patents
一种面向海量网络攻击的快速研判方法 Download PDFInfo
- Publication number
- CN115333768B CN115333768B CN202210759105.XA CN202210759105A CN115333768B CN 115333768 B CN115333768 B CN 115333768B CN 202210759105 A CN202210759105 A CN 202210759105A CN 115333768 B CN115333768 B CN 115333768B
- Authority
- CN
- China
- Prior art keywords
- data
- value
- destination
- original data
- source
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000011160 research Methods 0.000 claims abstract description 46
- 238000012216 screening Methods 0.000 claims abstract description 10
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 7
- 238000004364 calculation method Methods 0.000 claims abstract description 4
- 238000000605 extraction Methods 0.000 claims abstract description 4
- 230000004044 response Effects 0.000 claims description 37
- 239000013598 vector Substances 0.000 claims description 18
- 230000005540 biological transmission Effects 0.000 claims description 16
- 238000002347 injection Methods 0.000 claims description 12
- 239000007924 injection Substances 0.000 claims description 12
- 238000004458 analytical method Methods 0.000 claims description 9
- 230000011218 segmentation Effects 0.000 claims description 9
- 238000003672 processing method Methods 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 5
- 238000010276 construction Methods 0.000 claims description 3
- 238000007781 pre-processing Methods 0.000 claims description 3
- 238000012360 testing method Methods 0.000 claims description 3
- 238000012549 training Methods 0.000 claims description 2
- 238000012546 transfer Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 3
- 238000004519 manufacturing process Methods 0.000 abstract description 2
- 238000013473 artificial intelligence Methods 0.000 abstract 1
- 238000005516 engineering process Methods 0.000 abstract 1
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
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/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/1425—Traffic logging, e.g. anomaly detection
-
- 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/9027—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0604—Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time 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/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)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明是有关于一种面向海量网络攻击数据的研判方法、***及介质,涉及网络安全技术、人工智能、大数据领域,其中方法包括:对海量网络攻击数据进行自动化特征抽取,根据属性特征利用算法筛选出最有价值的攻击数据交予人工研判,通过人工研判结果对数据进行标注,利用标注后的数据与剩余网络攻击数据进行相似性计算,对相似的网络攻击数据进行自动标注。不相似的数据再次进行筛选,直至全部标注完毕。此方法,通过研判人员能力的约束结合算法的泛化能力,使得有价值的网络攻击可以优先被研判,相似的事件自动被研判。在实际生产中能够在保证研判效果的同时也降低需要人工研判的网络攻击数量,整体提升研判效率。
Description
技术领域
本发明涉及一种网络安全领域的网络攻击的研判方法,特别是涉及一种面向海量网络攻击的快速研判方法。
背景技术
目前针对网络的各种攻击行为、攻击手段呈几何形式增长。针对网络攻击,也出现了自主研发的多款网络安全产品。在实际生产中,多款的安全设备每天产生着大量的告警事件,大量的告警事件往往需要花费大量的人力物力进行分析研判。当前现有常见的技术方案是:
其一是首先模拟网络攻击构建知识图谱,生成通用的规则库。当有新的网络攻击出现时则在时间窗口内统计由目的IP产生相同威胁要素的次数以及目的IP产生的不同威胁要素与设定的威胁要素组合中匹配能成功的个数,然后与设定的阈值进行比较,大于等于阈值的情况则与安全知识图谱进行匹配,小于阈值的情况则将威胁要素缓存,与下一时间窗口内的威胁要素一起进行计算。最后依据节点IP在场景知识图谱中寻找对应的实例的属性,根据属性值判断是否具备被攻击的条件,如果具备被攻击的条件,则认为是有效的单步攻击,反之认为是无效攻击,将其过滤。该技术方案对各类专家知识库要求较高,前期需要大量的模拟实验。其次其过分依赖专家知识库,当接入的安全事件未在专家知识库中时,容易造成误。
其二是通过对网络攻击数据研判业务进行优化,对网络安全攻击事件的研判人员进行合理调配,使得研判人员能分发到自己擅长处理的网络攻击数据,同一个网络攻击数据不会分发给不同的研判人员。通过对网络攻击数据和研判人员能力的干预,使得紧急的网络攻击数据能得到及时的响应,提前做好安全防护或减小网络攻击产生的破坏,同时也能提升整体研判效率。
但该方法虽然通过对网络安全事件进行分发,使得研判人员研判自己擅长的领域,但是并未改变需要研判网络攻击事件的总量。当面对海量网络攻击事件时,人海战术并不是最优的选择。
有鉴于上述现有的技术方案存在的缺陷,本发明人经过不断的研究、设计,并经反复试作及改进后,终于创设出确具实用价值的本发明。
发明内容
本发明的主要目的在于,克服现有的网络攻击的研判方法存在的缺陷,而提供一种新的一种面向海量网络攻击的快速研判方法,所要解决的是面向海量网络攻击的研判速度慢、不能保证质量的技术问题,使其有效保证研判的速度与质量,非常适于实用。
本发明的另一目的在于,提供一种新的一种面向海量网络攻击的快速研判方法,所要解决的技术问题是使其通过人机协同的方式,分析人员只需研判最有价值的事件,其余部分由机器自动进行研判。能够在保证研判质量的同时最大限度的减少人工成本,从而更加适于实用。
本发明的目的及解决其技术问题是采用以下技术方案来实现的。依据本发明提出的一种面向海量网络攻击的快速研判方法,其包括以下步骤:
步骤1:通过孤立森林算法获取告警事件中最有价值的样本交于人工研判;
步骤2:通过人工研判,对筛选出的数据进行标注;
步骤3:对已经人工研判后的样本进聚类,自动进行研判;
步骤4:将剩余数据重复1~3步,直至满足设置条件停止迭代。
进一步,所述的步骤1包括以下步骤:
步骤1.1:特征提取,将文本进行切割,拼接生成词向量;
步骤1.2:数据预处理,展示部分原始数据;
步骤1.3样本筛选。
进一步,所述的告警事件包含着丰富的信息,攻击内容包含在请求url或者payload中;
所述的原始数据包括多种属性,其中一部分直接用来作为入侵检测的分析项,或从数据中挖掘出一些隐藏的网络连接信息直接用来作为入侵检测的分析项,或从数据中挖掘出隐藏的网络连接信息的分析项。
进一步,作为分析项的所述的属性包括:
常规特征属性:源端口号、目的端口号、开始时间、URL触发警报类型、数据传输方式、POST数据内容、响应码、响应长度、响应内容、重定向;以及,
特征属性:最近100个连接中与当前连接的源IP一样的个数,最近100个连接中与当前连接的目的IP相同的个数,最近100个连接中与当前连接的源IP相同且目的端口相同的个数,最近100个连接当中与当前连接的目的IP相同且源端口相同的个数,最近100个连接当中与当前连接的源IP、源端口、目的IP、目的端口相同的个数等5个连接特征。
进一步,所述的常规特征的对应值处理方法如下:
“源端口号”等于原始数据data中“源端口号”的值,并将数据格式从原始的string类型转化为int类型;
“目的端口号”等于原始数据data中“目的端口号”的值,并将数据格式从原始的string类型转化为int类型;
“开始时间”忽略了原始数据data中“开始时间”取值中年、月、日对时间属性的影响,截取了其中的时、分、秒作为参考,将“开始时间”记录为时分秒对应的秒数;
“数据传输方式”对应为原始数据data中“数据传输方式”的类型,将原始数据中“数据传输方式”为“GET”的记录为0,为“POST”的记录为1;
“POST数据内容”对应为原始数据data中“POPST数据内容”的类型,将原始数据中“POST数据内容”为“空值”的记录为0,不为“空值”的记录为1;
“响应码”对原始数据data中“响应码”属性项为“空值”的情况进行了考虑,将原始数据中“响应码”为“空值”的记录为0,不为“空值”的记录为原始值,并将数据格式从string转化为int类型;
“响应长度”等于原始数据data中“响应长度”的值,并将数据格式从string转化为int类型;
“响应内容”对应为原始数据data中“响应内容”的类型,将原始数据中“响应内容”为“空值”的记录为0,不为“空值”的记录为1;
“重定向”对应为原始数据data中“重定向”的类型,将原始数据中“重定向”为“空值”的记录为0,不为“空值”的记录为1;
“url长度”等于原始数据data中“url长度”的值,并将数据格式从string转化为int类型。
进一步,所述的特征属性的对应值处理方法如下:
对于告警事件数据集中的5个连接特征属性项,在进行获取时通过一个存储最近100条连接数据的四维数组history来完成,数组history的长度固定为100,数组中存储了最近100条连接数据中“源IP”、“源端口号”、“目的IP”、“目的端口号”的值,每次通过替换掉当前数据中最早存入history的数据来保证数组中数据的特性。最近100个连接中与当前连接的源IP相同的个数,过对数组history进行遍历得到,记录为其中与当前网络连接数据源IP相同的连接个数;
“最近100个连接当中与当前连接的目的IP相同的个数”通过对数组history进行遍历得到,记录为其中与当前网络连接数据“目的IP”相同的连接个数;
“最近100个连接中与当前连接的源IP相同且目的端口相同的个数”通过对数组history进行遍历得到,记录为其中与当前网络连接数据“源IP”相同且“目的端口号”相同的连接个数;
“最近100个连接中与当前连接的目的IP相同且源端口相同的个数”通过对数组history进行遍历得到,记录为其中与当前网络连接数据“目的IP”相同且“源端口号”相同的连接个数;
“最近100个连接当中与当前连接的源IP、源端口、目的IP、目的端口相同的个数”通过对数组history进行遍历得到,记录为其中与当前网络连接数据“源IP”、“目的IP”、“源端口号”、“目的端口号”相同的连接个数;
如果原始数据中事件名称包含了某一种攻击小类型的敏感关键词,记录为对应类型的代表数字。其中用1代表“SQL联合查询”、2代表“远程代码执行”、3代表“远程命令执行”、4代表“tomcatsession操纵漏洞”、5代表“SQL方式注入”、6代表“SQL注入漏洞”、7代表“通过HTTP请求程序特征”、8代表“敏感文件读取”、9代表“SQL注入测试”、10代表“SQL注入攻击”、11代表“XSS特征攻击”、12代表“远程代码执行漏洞”、13代表“针对MySQL恶意利用特征”、14代表“基于数据库的SQL攻击”、15代表“getshell漏洞”、16代表“非法使用路径跳转”、17代表“web弱口令登录尝试”、18代表“拖库攻击”;如果原始数据中事件名称不包含任何一个攻击小类型的敏感关键词,则认为该事件未触发攻击类型警报,将该事件记录为正常数据对应的数字0。
进一步,所述的步骤1.3的样板筛选包括:构建孤立树,首先根据数据集输入的特征,对所有数据特征信息进行均衡建模,从样本数据集中随机选取属性特征和分割值,依据特征和分割值对每个数据对象进行切分,直到孤立树构建完成;将孤立树的数量设置为100,孤立树的深度为8,分割参数选择为0.03。
进一步,所述的样本筛选具体步骤如下:
1.3.1:选取所有样本放入树的根节点;
1.3.2:随意指定一个属性,在当前节点数据中随机产生一个切割点P,切割点产生于当前节点指定属性的最大值和最小值之间;
1.3.3:以此切割点生成一个超平面,然后将当前节点数据空间划分为2个子空间:指定属性里小于P的数据放在当前节点的左节点,把大于等于P的数据放在当前节点的右节点。
1.3.4:在子节点中递归步骤1.3.2和步骤1.3.3,不断构造新的子节点,直到子节点中只有一个数据无法在切割或子节点已达限定高度;
对于每一个样本令其遍历每一棵树,然后计算X最终在每个树第几层。然后得出x在每棵树的高度平均值,即平均路径长度,通过平均路径长度得到每个样本的异常分数,平均长度公式如下:
C(n)=2H(n-1)-(2(n-1)/n)
其中,n是样本量,c(n)是该样本量下的平均路径长度,H(i)是谐波数,或者是:
进一步,所述的步骤3的自动研判是对过人工研判后样本进行标注为真实告警或误报,以标准后的数据作为标准自动找到相似的事件进行标注,为了排除常见请求词汇带来的干扰,通过统计词频的方式将出现词频较高的词加入到停用词表中,对常用词进行删除,具体步骤是
步骤3.1:利用word2vec进行词向量的训练,得到每个词汇的词向量;
步骤3.2:将切割后的url使用2-gram构成短语,此时句子S和T分别表示为:S(s1s2…sn)和T(t1t2…tn);
步骤3.3:计算S中每一个词s对应的词向量Vs在句子T中所能得到的最大匹配值,将其作为该词汇在句子S和T中的共现度,公式为:
步骤3.4:将得到的每个词向量的最大匹配值与阈值α进行比较,高于阈值α的判定为两句的交集,低于α的记为不相似部分,以1-sim(S,T)计算其不相似度,然后将其得到的最大匹配sim(S,T)置为0:
sim(S,T)=0(sim(S,T)≤α)
交换S和T,重复步骤3.2)、步骤3.3)
最终的相似度计算公式为
其中,分子部分是句子S和句子T词向量的共现值,即句子S和句子T在语义上的交集。分母部分包含了分子,而且包括了所有匹配值低于阈值α的不相似度,因此
0≤sim(S,T)≤1
将得到的句子S和句子T的相似度sim(S,T)与阈值β进行比较,若大于β则判定为相似,否则视为不相似。
本发明与现有技术相比具有明显的优点和有益效果。其至少具有下列优点:
(1)本发明通过孤立森林算法获取告警事件中最有价值的样本交于人工研判,重点解决海量网络攻击的研判问题,有效保证研判的速度与质量提高了研判效率.
(2)基于人工标注过的样本通过相似度算法对剩余样本进行自动研判通过人机协同的方式,分析人员只需研判最有价值的事件,其余部分由机器自动进行研判。能够在保证研判质量的同时最大限度的减少人工成本
本发明的具体方法由以下实施例及其附图详细给出。
附图说明
图1是本发明流程示意图。
图2:是本发明样本筛选实施例。
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种面向海量网络攻击的快速研判方法
其具体实施方法、步骤、特征及其功效,详细说明如后。
为了有效解决海量网络攻击的快速研判问题,本发明提供了一种面向海量网络攻击的快速研判方法,包括如下3个步骤:
步骤1:通过孤立森林算法获取告警事件中最有价值的样本交于人工研判;
步骤2:通过人工研判,对筛选出的数据进行标注
步骤3:对已经人工研判后的样本进聚类,自动进行研判
步骤4:将剩余数据重复1~3步,直至满足设置条件停止迭代
面对海量告警数据,如何在数据中筛选出价值最高的事件是本申请需要解决的重点问题步,其中,步骤骤1的详细步骤如下:
步骤1.1、特征提取
告警事件包含着丰富的信息,攻击内容往往包含在请求url或者payload中。例如:
http://10.2.8.235:8080/jsp-examples/jsp2/simpletag/;repeat.jsp?file=./pictures/2.jpg&size=-1'OR 2+230-230-1=0+0+0+1 or 'mRyJIAoK'='
将文本进行切割,拼接生成词向量
步骤1.2、数据预处理,展示部分原始数据
原始数据data中包含了很多属性,其中有一些可以直接用来作为入侵检测的分析项,另外,从数据中挖掘出一些隐藏的网络连接信息。
本发明进行分析的属性为:源端口号、目的端口号、开始时间、URL触发警报类型、数据传输方式、POST数据内容、响应码、响应长度、响应内容、重定向等10个常规特征,以及最近100个连接中与当前连接的源IP一样的个数,最近100个连接中与当前连接的目的IP相同的个数,最近100个连接中与当前连接的源IP相同且目的端口相同的个数,最近100个连接当中与当前连接的目的IP相同且源端口相同的个数,最近100个连接当中与当前连接的源IP、源端口、目的IP、目的端口相同的个数等5个连接特征,一共15个特征属性。
告警事件中各属性项对应值的处理方法包括:常规特征的对应值的处理方式和特征属性的对应值处理方法,其中;
常规特征的对应值的处理方法如下:
1)“源端口号”等于原始数据data中“源端口号”的值,并将数据格式从原始的string类型转化为int类型。
2)“目的端口号”等于原始数据data中“目的端口号”的值,并将数据格式从原始的string类型转化为int类型。
3)“开始时间”忽略了原始数据data中“开始时间”取值中年、月、日对时间属性的影响,截取了其中的时、分、秒作为参考,将“开始时间”记录为时分秒对应的秒数。
4)“数据传输方式”对应为原始数据data中“数据传输方式”的类型,将原始数据中“数据传输方式”为“GET”的记录为0,为“POST”的记录为1。
5)“POST数据内容”对应为原始数据data中“POPST数据内容”的类型,将原始数据中“POST数据内容”为“空值”的记录为0,不为“空值”的记录为1。
6)“响应码”对原始数据data中“响应码”属性项为“空值”的情况进行了考虑,将原始数据中“响应码”为“空值”的记录为0,不为“空值”的记录为原始值,并将数据格式从string转化为int类型。
7)“响应长度”等于原始数据data中“响应长度”的值,并将数据格式从string转化为int类型。
8)“响应内容”对应为原始数据data中“响应内容”的类型,将原始数据中“响应内容”为“空值”的记录为0,不为“空值”的记录为1。
9)“重定向”对应为原始数据data中“重定向”的类型,将原始数据中“重定向”为“空值”的记录为0,不为“空值”的记录为1。
10)“url长度”等于原始数据data中“url长度”的值,并将数据格式从string转化为int类型.
特征属性的对应值处理方法如下:
1)对于告警事件数据集中的5个连接特征属性项,在进行获取时通过一个存储最近100条连接数据的四维数组history来完成。数组history的长度固定为100,数组中存储了最近100条连接数据中“源IP”、“源端口号”、“目的IP”、“目的端口号”的值,每次通过替换掉当前数据中最早存入history的数据来保证数组中数据的特性。“最近100个连接中与当前连接的源IP相同的个数,过对数组history进行遍历得到,记录为其中与当前网络连接数据源IP相同的连接个数。
2)“最近100个连接当中与当前连接的目的IP相同的个数”通过对数组history进行遍历得到,记录为其中与当前网络连接数据“目的IP”相同的连接个数。
3)“最近100个连接中与当前连接的源IP相同且目的端口相同的个数”通过对数组history进行遍历得到,记录为其中与当前网络连接数据“源IP”相同且“目的端口号”相同的连接个数。
4)“最近100个连接中与当前连接的目的IP相同且源端口相同的个数”通过对数组history进行遍历得到,记录为其中与当前网络连接数据“目的IP”相同且“源端口号”相同的连接个数。
5)“最近100个连接当中与当前连接的源IP、源端口、目的IP、目的端口相同的个数”通过对数组history进行遍历得到,记录为其中与当前网络连接数据“源IP”、“目的IP”、“源端口号”、“目的端口号”相同的连接个数。
6)如果原始数据中事件名称包含了某一种攻击小类型的敏感关键词,记录为对应类型的代表数字。其中用1代表“SQL联合查询”、2代表“远程代码执行”、3代表“远程命令执行”、4代表“tomcat session操纵漏洞”、5代表“SQL方式注入”、6代表“SQL注入漏洞”、7代表“通过HTTP请求程序特征”、8代表“敏感文件读取”、9代表“SQL注入测试”、10代表“SQL注入攻击”、11代表“XSS特征攻击”、12代表“远程代码执行漏洞”、13代表“针对MySQL恶意利用特征”、14代表“基于数据库的SQL攻击”、15代表“getshell漏洞”、16代表“非法使用路径跳转”、17代表“web弱口令登录尝试”、18代表“拖库攻击”;如果原始数据中事件名称不包含任何一个攻击小类型的敏感关键词,则认为该事件未触发攻击类型警报,将该事件记录为正常数据对应的数字0。
步骤1.3:样本筛选
如何在众多告警事件中筛选出需要高价值需要进行人工研判的样本是本发明需要解决的重点问题,在告警事件中往往包含大量误报,真实攻击只占一小部分,本发明通过孤立森林算法筛选出告警事件中最异常的部分交于人工研判。
在构建孤立树时,首先根据数据集输入的特征,对所有数据特征信息进行均衡建模,从样本数据集中随机选取属性特征和分割值,依据特征和分割值对每个数据对象进行切分,直到孤立树构建完成。我们将树的数量设置为100,孤立树的深度为8,分割参数选择为0.03:具体步骤如下:
步骤1.3.1:选取所有样本放入树的根节点
步骤1.3.2:随意指定一个属性,在当前节点数据中随机产生一个切割点P(切割点产生于当前节点指定属性的最大值和最小值之间)。
步骤1.3.3:以此切割点生成一个超平面,然后将当前节点数据空间划分为2个子空间:指定属性里小于P的数据放在当前节点的左节点,把大于等于P的数据放在当前节点的右节点。
步骤1.3.4、在子节点中递归步骤1.3.2和步骤1.3.3,不断构造新的子节点,直到子节点中只有一个数据(无法在切割)或子节点已达限定高度。
对于每一个样本我们令其遍历每一棵树,然后计算X最终在每个树第几层。然后我们可以得出x在每棵树的高度平均值,即平均路径长度,通过平均路径长度可以得到每个样本的异常分数。
参阅图2所示:a,b,c,d四个例子中,d的平均路径最短,最早被区分出来,可能是异常值点。a,b,c,d四个实例中,d的平均路径最短,最早被区分出来,可能是异常值点。
平均路径长度
C(n)=2H(n-1)-(2(n-1)/n)
其中,n是样本量,c(n)是该样本量下的平均路径长度,H(i)是谐波数,可以被
步骤3:自动研判是对人工研判后样本进行标注为真实告警或误报,以标准后的数据作为标准自动找到相似的事件进行标注,为了排除常见请求词汇带来的干扰,通过统计词频的方式将出现词频较高的词加入到停用词表中,对常用词进行删除,具体步骤如下:
步骤3.1:利用word2vec进行词向量的训练,得到每个词汇的词向量。
步骤3.2:将切割后的url使用2-gram构成短语,此时句子S和T分别表示为:S(s1s2…sn)和T(t1t2…tn)
步骤3.3:计算S中每一个词s对应的词向量Vs在句子T中所能得到的最大匹配值,将其作为该词汇在句子S和T中的共现度,公式为:
步骤3.4:将得到的每个词向量的最大匹配值与阈值α进行比较,高于阈值α的判定为两句的交集,低于α的记为不相似部分,以1-sim(S,T)计算其不相似度,然后将其得到的最大匹配sim(S,T)置为0:
sim(S,T)=0(sim(S,T)≤α)
交换S和T,重复步骤3.2)、步骤3.3)
最终的相似度计算公式为
其中,分子部分是句子S和句子T词向量的共现值,即句子S和句子T在语义上的交集。分母部分包含了分子,而且包括了所有匹配值低于阈值α的不相似度,因此
0≤sim(S,T)≤1
将得到的句子S和句子T的相似度sim(S,T)与阈值β进行比较,若大于β则判定为相似,否则视为不相似。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (5)
1.一种面向海量网络攻击的快速研判方法,其特征在于:其包括以下步骤:
步骤1:通过孤立森林算法获取告警事件中最有价值的样本交于人工研判;所述的步骤1包括以下步骤:
步骤1.1:特征提取,将文本进行切割,拼接生成词向量;
步骤1.2:数据预处理,展示部分原始数据;
步骤1.3样本筛选,所述的样本筛选包括:构建孤立树,首先根据数据集输入的特征,对所有数据特征信息进行均衡建模,从样本数据集中随机选取属性特征和分割值,依据特征和分割值对每个数据对象进行切分,直到孤立树构建完成;将孤立树的数量设置为100,孤立树的深度为8,分割参数选择为0.03;所述的样本筛选具体步骤如下:
1.3.1:选取所有样本放入树的根节点;
1.3.2:随意指定一个属性,在当前节点数据中随机产生一个切割点P,切割点产生于当前节点指定属性的最大值和最小值之间;
1.3.3:以此切割点生成一个超平面,然后将当前节点数据空间划分为2个子空间:指定属性里小于P的数据放在当前节点的左节点,把大于等于P的数据放在当前节点的右节点;
1.3.4:在子节点中递归步骤1.3.2和步骤1.3.3,不断构造新的子节点,直到子节点中只有一个数据无法在切割或子节点已达限定高度;
对于每一个样本令其遍历每一棵树,然后计算X最终在每个树第几层,然后得出x在每棵树的高度平均值,即平均路径长度,通过平均路径长度得到每个样本的异常分数,平均长度公式如下:
C(n)=2H(n-1)-(2(n-1)/n)
其中,n是样本量,c(n)是该样本量下的平均路径长度,H(i)是谐波数,或者是:
步骤2:通过人工研判,对筛选出的数据进行标注;
步骤3:对已经人工研判后的样本进聚类,自动进行研判;所述的步骤3的自动研判是对过人工研判后样本进行标注为真实告警或误报,以标准后的数据作为标准自动找到相似的事件进行标注,为了排除常见请求词汇带来的干扰,通过统计词频的方式将出现词频较高的词加入到停用词表中,对常用词进行删除,具体步骤是:
步骤3.1:利用word2vec进行词向量的训练,得到每个词汇的词向量;
步骤3.2:将切割后的url使用2-gram构成短语,此时句子S和T分别表示为:S(s1s2…sn)和T(t1t2…tn);
步骤3.3:计算S中每一个词s对应的词向量Vs在句子T中所能得到的最大匹配值,将其作为该词汇在句子S和T中的共现度,公式为:
步骤3.4:将得到的每个词向量的最大匹配值与阈值α进行比较,高于阈值α的判定为两句的交集,低于α的记为不相似部分,以1-sim(S,T)计算其不相似度,然后将其得到的最大匹配sim(S,T)置为0:
sim(S,T)=0(sim(S,T)≤α)
交换S和T,重复步骤3.2)、步骤3.3)
最终的相似度计算公式为
其中,分子部分是句子S和句子T词向量的共现值,即句子S和句子T在语义上的交集,分母部分包含了分子,而且包括了所有匹配值低于阈值α的不相似度,因此
0≤sim(S,T)≤1
将得到的句子S和句子T的相似度sim(S,T)与阈值β进行比较,若大于β则判定为相似,否则视为不相似;
步骤4:将剩余数据重复1~3步,直至满足设置条件停止迭代。
2.根据权利要求1所述的一种面向海量网络攻击的快速研判方法,其特征在于:所述的告警事件包含着丰富的信息,攻击内容包含在请求url或者payload中;
所述的原始数据包括多种属性,其中一部分直接用来作为入侵检测的分析项,或从数据中挖掘出一些隐藏的网络连接信息直接用来作为入侵检测的分析项,或从数据中挖掘出隐藏的网络连接信息的分析项。
3.根据权利要求2所述的一种面向海量网络攻击的快速研判方法,其特征在于:作为分析项的所述的属性包括:
常规特征属性:源端口号、目的端口号、开始时间、URL触发警报类型、数据传输方式、POST数据内容、响应码、响应长度、响应内容、重定向;以及,
特征属性:最近100个连接中与当前连接的源IP一样的个数,最近100个连接中与当前连接的目的IP相同的个数,最近100个连接中与当前连接的源IP相同且目的端口相同的个数,最近100个连接当中与当前连接的目的IP相同且源端口相同的个数,最近100个连接当中与当前连接的源IP、源端口、目的IP、目的端口相同的个数5个连接特征。
4.根据权利要求3所述的一种面向海量网络攻击的快速研判方法,其特征在于:所述的常规特征的对应值处理方法如下:
“源端口号”等于原始数据data中“源端口号”的值,并将数据格式从原始的string类型转化为int类型;
“目的端口号”等于原始数据data中“目的端口号”的值,并将数据格式从原始的string类型转化为int类型;
“开始时间”忽略了原始数据data中“开始时间”取值中年、月、日对时间属性的影响,截取了其中的时、分、秒作为参考,将“开始时间”记录为时分秒对应的秒数;
“数据传输方式”对应为原始数据data中“数据传输方式”的类型,将原始数据中“数据传输方式”为“GET”的记录为0,为“POST”的记录为1;
“POST数据内容”对应为原始数据data中“POPST数据内容”的类型,将原始数据中“POST数据内容”为“空值”的记录为0,不为“空值”的记录为1;
“响应码”对原始数据data中“响应码”属性项为“空值”的情况进行了考虑,将原始数据中“响应码”为“空值”的记录为0,不为“空值”的记录为原始值,并将数据格式从string转化为int类型;
“响应长度”等于原始数据data中“响应长度”的值,并将数据格式从string转化为int类型;
“响应内容”对应为原始数据data中“响应内容”的类型,将原始数据中“响应内容”为“空值”的记录为0,不为“空值”的记录为1;
“重定向”对应为原始数据data中“重定向”的类型,将原始数据中“重定向”为“空值”的记录为0,不为“空值”的记录为1;
“url长度”等于原始数据data中“url长度”的值,并将数据格式从string转化为int类型。
5.根据权利要求3所述的一种面向海量网络攻击的快速研判方法,其特征在于:所述的特征属性的对应值处理方法如下:
对于告警事件数据集中的5个连接特征属性项,在进行获取时通过一个存储最近100条连接数据的四维数组history来完成,数组history的长度固定为100,数组中存储了最近100条连接数据中“源IP”、“源端口号”、“目的IP”、“目的端口号”的值,每次通过替换掉当前数据中最早存入history的数据来保证数组中数据的特性,最近100个连接中与当前连接的源IP相同的个数,过对数组history进行遍历得到,记录为其中与当前网络连接数据源IP相同的连接个数;
“最近100个连接当中与当前连接的目的IP相同的个数”通过对数组history进行遍历得到,记录为其中与当前网络连接数据“目的IP”相同的连接个数;
“最近100个连接中与当前连接的源IP相同且目的端口相同的个数”通过对数组history进行遍历得到,记录为其中与当前网络连接数据“源IP”相同且“目的端口号”相同的连接个数;
“最近100个连接中与当前连接的目的IP相同且源端口相同的个数”通过对数组history进行遍历得到,记录为其中与当前网络连接数据“目的IP”相同且“源端口号”相同的连接个数;
“最近100个连接当中与当前连接的源IP、源端口、目的IP、目的端口相同的个数”通过对数组history进行遍历得到,记录为其中与当前网络连接数据“源IP”、“目的IP”、“源端口号”、“目的端口号”相同的连接个数;
如果原始数据中事件名称包含了某一种攻击小类型的敏感关键词,记录为对应类型的代表数字,其中用1代表“SQL联合查询”、2代表“远程代码执行”、3代表“远程命令执行”、4代表“tomcat session操纵漏洞”、5代表“SQL方式注入”、6代表“SQL注入漏洞”、7代表“通过HTTP请求程序特征”、8代表“敏感文件读取”、9代表“SQL注入测试”、10代表“SQL注入攻击”、11代表“XSS特征攻击”、12代表“远程代码执行漏洞”、13代表“针对MySQL恶意利用特征”、14代表“基于数据库的SQL攻击”、15代表“getshel l漏洞”、16代表“非法使用路径跳转”、17代表“web弱口令登录尝试”、18代表“拖库攻击”;如果原始数据中事件名称不包含任何一个攻击小类型的敏感关键词,则认为该事件未触发攻击类型警报,将该事件记录为正常数据对应的数字0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210759105.XA CN115333768B (zh) | 2022-06-29 | 2022-06-29 | 一种面向海量网络攻击的快速研判方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210759105.XA CN115333768B (zh) | 2022-06-29 | 2022-06-29 | 一种面向海量网络攻击的快速研判方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115333768A CN115333768A (zh) | 2022-11-11 |
CN115333768B true CN115333768B (zh) | 2024-06-04 |
Family
ID=83916990
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210759105.XA Active CN115333768B (zh) | 2022-06-29 | 2022-06-29 | 一种面向海量网络攻击的快速研判方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115333768B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107749034A (zh) * | 2017-11-17 | 2018-03-02 | 浙江工业大学 | 社交网络中一种安全的朋友推荐方法 |
CN109960729A (zh) * | 2019-03-28 | 2019-07-02 | 国家计算机网络与信息安全管理中心 | Http恶意流量的检测方法及*** |
CN111741023A (zh) * | 2020-08-03 | 2020-10-02 | 中国人民解放军国防科技大学 | 面向网络攻防试验平台的攻击研判方法、***及介质 |
CN112822194A (zh) * | 2021-01-07 | 2021-05-18 | 国家计算机网络与信息安全管理中心 | 一种识别判定DDoS攻击团伙行为的方法 |
CA3174601A1 (en) * | 2020-03-05 | 2021-09-10 | 10353744 Canada Ltd. | Text intent identifying method, device, computer equipment and storage medium |
-
2022
- 2022-06-29 CN CN202210759105.XA patent/CN115333768B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107749034A (zh) * | 2017-11-17 | 2018-03-02 | 浙江工业大学 | 社交网络中一种安全的朋友推荐方法 |
CN109960729A (zh) * | 2019-03-28 | 2019-07-02 | 国家计算机网络与信息安全管理中心 | Http恶意流量的检测方法及*** |
CA3174601A1 (en) * | 2020-03-05 | 2021-09-10 | 10353744 Canada Ltd. | Text intent identifying method, device, computer equipment and storage medium |
CN111741023A (zh) * | 2020-08-03 | 2020-10-02 | 中国人民解放军国防科技大学 | 面向网络攻防试验平台的攻击研判方法、***及介质 |
CN112822194A (zh) * | 2021-01-07 | 2021-05-18 | 国家计算机网络与信息安全管理中心 | 一种识别判定DDoS攻击团伙行为的方法 |
Non-Patent Citations (4)
Title |
---|
一种基于深度学习的层次化钓鱼网站检测方法;吕志泉;通信技术;20170510;全文 * |
基于孤立森林算法的移动警务网络流量监测方法研究;袁艺芳;李雁;陈绪;高永龙;席新;;软件;20191215(12);全文 * |
基于词向量的Jaccard相似度算法;田星;郑瑾;张祖平;;计算机科学;20180715(07);全文 * |
网络ARP伪装攻击过滤方法研究与仿真;农国才;;计算机仿真;20120915(09);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115333768A (zh) | 2022-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112434208B (zh) | 一种孤立森林的训练及其网络爬虫的识别方法与相关装置 | |
CN112738126B (zh) | 基于威胁情报和att&ck的攻击溯源方法 | |
CN103823824B (zh) | 一种借助互联网自动构建文本分类语料库的方法及*** | |
US6047277A (en) | Self-organizing neural network for plain text categorization | |
CN111953697B (zh) | 一种apt攻击识别及防御方法 | |
CN104268148B (zh) | 一种基于时间串的论坛页面信息自动抽取方法及*** | |
Chen et al. | Research on intrusion detection method based on Pearson correlation coefficient feature selection algorithm | |
CN112149135B (zh) | 一种安全漏洞的评估方法及装置、计算机可读存储介质 | |
CN111740946B (zh) | Webshell报文的检测方法及装置 | |
CN115242438B (zh) | 基于异质信息网络的潜在受害群体定位方法 | |
CN106708952A (zh) | 一种网页聚类方法及装置 | |
CN114187036B (zh) | 一种基于行为特征识别的互联网广告智能推荐管理*** | |
Alwan et al. | Big data: Definition, characteristics, life cycle, applications, and challenges | |
CN115333768B (zh) | 一种面向海量网络攻击的快速研判方法 | |
KR102318297B1 (ko) | 가짜뉴스 탐지와 주기적 웹 모니터링을 통한 범죄첩보 탐지 시스템 및 그 방법 | |
Teoh et al. | Analyst intuition inspired high velocity big data analysis using PCA ranked fuzzy k-means clustering with multi-layer perceptron (MLP) to obviate cyber security risk | |
CN115237978A (zh) | 一种开源威胁情报聚合平台 | |
Levshun et al. | Active learning approach for inappropriate information classification in social networks | |
Feng et al. | Beyond outliers and on to micro-clusters: Vision-guided Anomaly Detection | |
Shi | Research progress of Web vulnerability mining based on machine learning | |
CN117473571B (zh) | 一种数据信息安全处理方法及*** | |
CN116244738B (zh) | 一种基于图神经网络的敏感信息检测方法 | |
Zhang et al. | Identification research of Trichagalma glabrosa insect gall pests based on YOLOv5s | |
CN116501788B (zh) | 一种库仓湖一体化数据管控平台 | |
CN117131503B (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 |