CN109088899A - 一种针对xss攻击的apt预警方法 - Google Patents
一种针对xss攻击的apt预警方法 Download PDFInfo
- Publication number
- CN109088899A CN109088899A CN201811280577.7A CN201811280577A CN109088899A CN 109088899 A CN109088899 A CN 109088899A CN 201811280577 A CN201811280577 A CN 201811280577A CN 109088899 A CN109088899 A CN 109088899A
- Authority
- CN
- China
- Prior art keywords
- attack
- apt
- xss
- node
- signature
- 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
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/1441—Countermeasures against malicious traffic
-
- 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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
-
- 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/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种针对XSS攻击的APT预警方法,首先接收来自WEB应用防火墙的WEB攻击检测结果,并针对XSS攻击检测结果,模拟黑客绕过WEB应用防火墙拦截规则的行为,产生新的攻击规则,丰富XSS攻击规则库;然后结合APT攻击知识库,对XSS攻击检测结果进行标识,产生APT攻击标识结果;并将没有标识的XSS攻击添加到未知APT攻击集中;接着对未知APT攻击集合中进行预处理,得到未知APT攻击预处理结果集;利用基于MapReduce的分布式Aprior算法对未知APT攻击预处理结果集进行关联分析,产生APT关联规则,得到与XSS攻击对应的APT分析情报,作为APT威胁情报输出。本发明实现了对目前XSS攻击种类多样并主动防御的机制。
Description
技术领域
本发明涉及网络安全领域,特别是一种针对XSS攻击的APT预警方法。
背景技术
随着互联网规模的不断增长以及计算机网络的广泛应用,网络在带给人们极大便利的同时,也带来了各种各样的安全问题,网络攻击和入侵等问题与日剧增。跨站脚本(XSS攻击)攻击一直在威胁网络安全的各种攻击之中名列前茅,是一种恶意攻击者通过利用漏洞编写专门的恶意代码注入到被入侵系统中,通过执行注入的恶意代码,从而窃取用户的隐私信息或敏感数据,从而达到更进一步的入侵的攻击手段。高级持续性威胁(APT攻击)作为一种以高水平专业知识和丰富资源为基础通过不同攻击过程的隐蔽网络攻击,同样是目前网络安全领域面临的一个重要的挑战和发展方向。由于高级持续性威胁(APT攻击)极强的针对性、伪装性和长期的潜伏性非常适合利用XSS攻击实施入侵,所以攻击者经常将XSS攻击频繁用于APT入侵领域。通常当APT攻击者完成了侦查准备确定入侵点后,需要通过XSS攻击传入恶意代码,为初次入侵的实施提供基础;并在入侵目标网络之后,攻击者通过各种方式直接或间接的执行恶意代码,达到破坏关键信息基础设施或阻碍重要任务实施的攻击目的。针对XSS攻击的APT预警,可以识别攻击者在APT入侵的前期阶段的攻击,结合对XSS攻击的检测可以达到智能检测和深度关联分析从而有效防御APT。
在APT攻击防御的工作中,攻击检测是安全防护和加固的前提和依据。针对XSS攻击检测,已经出现了很多方法。总体上,检测XSS攻击的方法基本包括基于特征的检测,基于代码的检测,沙盒动态分析,WAF黑名单拦截等。
在全球网络信息化程度高速发展的大背景下,现有方法在面对数量巨大、来源多样的XSS攻击下大多存在效率低下,检测准确率不理想和被动防御等问题。同时在面对针对性和伪装性极强的APT入侵的时候,XSS攻击作为前期入侵的重要阶段,攻击者也同样通过各种方式绕过传统防火墙的方式导致传统的检测机制失效。
Aprior算法是早期提出的一种关联分析方法,其目的是挖掘数据集之间隐含的联系,根据预测准确性,模型的简洁程度,以及计算复杂性的侧重点不同适合不同的应用场景。
发明内容
有鉴于此,本发明的目的是提出一种针对XSS攻击的APT预警方法。
本发明采用以下方案实现:一种针对XSS攻击的APT预警方法,包括以下步骤:
步骤S1:接收来自WEB应用防火墙的WEB攻击检测结果;
步骤S2:根据步骤S1的WEB攻击检测结果,针对其中的XSS攻击检测结果,模拟黑客绕过WEB应用防火墙拦截规则的行为,产生新的攻击规则,丰富XSS攻击规则库,提升WEB应用防火墙的XSS攻击防护能力;
步骤S3:结合APT攻击知识库,对步骤S2所得到的XSS攻击检测结果进行标识,产生APT攻击标识结果;并将没有标识的XSS攻击添加到未知APT攻击集中;
步骤S4:对步骤S3得到的未知APT攻击集进行预处理,得到未知APT攻击预处理结果集;
步骤S5:利用基于MapReduce的分布式Aprior算法对步骤S4得到的未知APT攻击预处理结果集进行关联分析,产生APT关联规则,得到与XSS攻击对应的APT分析情报,作为APT威胁情报输出。
进一步地,步骤S2的主要方法是模拟黑客绕过WAF既定拦截规则过滤的行为,发现绕过WEB应用防火墙现有规则库的方式,并补充新发现的拦截规则到XSS攻击规则库中,从而提升WEB应用防火墙对XSS攻击的防护能力。具体包括以下步骤:
步骤S21:根据步骤S1的WEB攻击检测结果,通过WEB攻击检测结果对应记录中的攻击类型名称字段(type_name),筛选出XSS攻击检测结果,并将记录中的攻击信息字段(msg_context)作为该次XSS攻击的攻击特征S;
其中WEB应用防火墙输出的WEB攻击检测结果的记录通常包括以下字段:msg_id(信息编号)、alarm_date(报警时日期)、alarm_datetime(报警时间)、msg_context(攻击信息)、type_id(攻击类型编号)、type_name(攻击类型名称)、pattern_id(规则编号)、pattern_name(规则名称)、request_method(请求方式)、request_url(请求URL)、request_body(请求体)、match_name(匹配名称)、match_reg(匹配规则)、match_value(匹配值)、src_ip(源IP)、src_port(源端口)、src_counrty_code(源国家编码)、src_country(源国家名称)、src_region(源地区/省份)、src_city(源城市)、src_organization(源组织机构)、src_isp(源运营商)、org_id(单位编号)、org_name(单位名称)、site_id(站点编号)、site_name(站点名称)、url_id(url编号)、dest_domain(目标域名)、dest_ip(目标主机ip)、dest_port(目标端口)、dest_counrty_code(目标国家编码)、dest_country(目标国家名称)、(目标地区/省份)、dest_city(目标城市)、dest_organization(目标组织机构)、dest_isp(目标运营商)、client_id(目标客户端编号)、host_id(客户端所在主机编号)、host_name(主机名称)、os_type(操作系统)、os_revision(操作系统版本)、os_patch(操作系统补丁)、os_digit(操作系统位数)。
步骤S22:根据攻击特征转换表T,从中随机选择一种转换操作,对XSS攻击检测结果对应记录中的攻击信息字段(msg_context)进行转换修改,产生新的攻击特征S’;
其中,攻击特征转换表T用于模拟攻击者尝试的各种免杀方法,定义如下:
T={'charTo16','charTo10','charTo10Zero','addEnter','charToChar16','charToChar10'};
其中,转换操作就是模拟攻击者为绕过WEB防火墙攻击检测而对XSS攻击的恶意代码所可能采取的包括转化、修改在内的动作;
步骤S23:根据产生的新的攻击特征S’,判定是否为XSS攻击,若未判定为XSS攻击,则执行步骤S24;若仍判定为XSS攻击,则进一步判定尝试的转换操作次数是否超过设定的最大尝试次数,若超过,结束尝试,转到步骤S3,反之返回步骤S22;
步骤S24:若XSS攻击规则库中不包含攻击特征S’,则将攻击特征S’添加到XSS攻击规则库中。
进一步地,步骤S3具体包括以下步骤:
步骤S31:根据XSS攻击检测结果,将其攻击特征S与APT攻击知识库中的APT攻击特征进行匹配,若匹配成功,则对XSS攻击检测结果进行APT攻击标识,即将XSS攻击检测结果对应记录中的pattern_id修改为对应APT攻击的pattern_id,并进入步骤S3;若匹配失败,则进入步骤S32;
其中,APT攻击知识库中的APT攻击特征由APT编号pattern_id、前件特征X、后件特征Y、生成规则X→Y、支持度Support(X→Y)、可信度Confidence(X→Y)、可信度Confidence(Y)、作用度Lift(X→Y)组成;
其中,攻击特征S与APT攻击知识库中的APT攻击特征进行匹配的方法是利用KMP算法,将攻击特征S与APT知识库中的前件特征X和后件特征Y进行匹配;
步骤S32:将未标识APT攻击类型的XSS攻击添加到未知APT攻击集合中。
进一步地,步骤S4具体包括以下步骤:
步骤S41:对未知APT攻击集合中的每项未知APT攻击记录中的字符特征转换为标量特征;
步骤S42:利用信息增益算法,计算APT攻击记录所包含的每个特征的信息增益,保留信息增益高于指定阈值的特征,所保留的特征构成用于后续关联分析的特征子集FT;
步骤S43:未知APT攻击集合中的每项未知APT攻击记录,仅保留与特征子集FT中的特征对应的字段,得到未知APT攻击预处理结果集。
进一步地,步骤S41中,将APT攻击记录中的字符特征转换为标量特征F,采用以下公式:
式中,Ai为字符特征对应的字符串中的第i个字符的ASCII码值,odd为设定的一个大奇数。
进一步地,步骤S5具体包括以下步骤:
步骤S51:将未知APT攻击预处理结果集分割为大小相同的的M个数据子集,分发到M个Map节点上;
步骤S52:对每个Map节点上的数据子集,通过Map函数定义的操作进行Aprior挖掘,得到频繁项集;将频繁项集作为key-value对中的key,并将value赋值为1,作为Map节点的输出;
步骤S53:利用MapReduce中的shuffle功能,将Map节点的输出按照key值进行组合生成key-value list;
步骤S54:将生成的key-value list发送到N个Reducer节点上,使用Reducer函数中定义的方法对频繁项集进行汇总,计算每个频繁项集的支持数量,获得最大频繁项集;其中获得最大频繁项集具体为,将每个频繁项集的支持数量与min_sup进行比较,确定是否作为APT攻击预测结果输出该最大频繁项集,其中,最大频繁项集是频繁项集中满足条件的项集;
步骤S55:对步骤S54中获得的频繁项集进行计算评价,生成相应的关联规则。
进一步地,步骤S52具体包括以下步骤:
步骤S521:对每个Map节点上的数据集,根据设定的最小支持度min_sup,产生初始的频繁项集L1;
步骤S522:对当前的频繁项集Li,执行连接和剪枝操作,产生新的候选项集Ci,再根据min_sup产生新的频繁项集Li+1;
其中,Ci是Li的超集,且所有的频繁i-1项集都包含于Ci中;
步骤S523:重复步骤S522,直到当前的频繁项集Li为空或i超过设定的最大迭代次数K;
步骤S524:将保留下来的频繁项集作为key-value对中的key,并将value赋值为1,作为Map节点的输出。
进一步地,步骤S522中,所述连接的操作方法是通过Li-1与自身连接产生候选i项集的集合Li,该候选项集记作Ci。
进一步地,步骤S522中,所述剪枝的操作方法包括以下步骤:
步骤S5221:扫描Map节点上的数据集,确定Ci中每个候选子集的计数,建立所有候选子集的散列树:选择从2开始的连续质数来建立哈希树,建立方式如下:第一层节点为根节点,根节点有2个子节点;第二层的每个节点下有3个子节点;第三层的每个节点下有5个子节点;依此类推,即每层结点的子节点数目为连续的质数;
步骤S5222:设置节点的关键字,关键字在整个树中是全局唯一的,每个关键字对应候选子集的序号,节点的值设置为标志位,标志位为真时,认为节点的关键字是有效的即频繁的;
步骤S5223:进行子集测试:通过取余和比较的方式,证明节点的关键字和节点的子节点所对应的候选子集都是有效的,若i项集的所有i-1项集都有效则保留Ci;
其中取余操作是指向下搜索时通过对序号取余选择子节点,比较操作是指通过判断标志位是否为真来确定关键字是有效的,即候选项集Ci的子集是频繁的。
进一步地,步骤S55具体包括以下步骤:
步骤S551:生成关联规则X→Y并计算关联规则X→Y的可信度Confidence(X→Y);
其中,关联规则X→Y定义为:X称为前件,Y称为后件,X,Y是APT知识库中的特征;关联规则X→Y即表示某一未知APT攻击出现攻击特征X的情况下具有攻击特征Y;
其中,可信度的计算公式为:
式中,可信度Confidence(X→Y)是对关联规则X→Y的准确度的估计,P(X,Y)是攻击特征X和攻击特征Y同时出现的概率,P(X)是攻击特征X出现的概率;
步骤S552:计算可信度Confidence(Y)和作用度Lift(X→Y);
其中可信度Confidence(Y)表示特征Y的出现概率,代表Y本身的支持度,公式如下:
Confidence(Y)=P(Y);
其中,作用度Lift(X→Y)是可信度Confidence(X→Y)和可信度Confidence(Y)的比值,表示攻击特征X与攻击特征Y之间存在的强关联性,公式如下:
式中,P(Y|X)表示在攻击特征X出现的情况下攻击特征Y出现的概率;
步骤S553:计算XSS攻击预测结果的威胁度V,定义如下:
式中,pconfidence表示可信度Confidence在威胁度计算中所占重要程度;
步骤S554:对XSS攻击预测结果按照威胁度进行排序,并选择Top K条生成未知APT威胁报告,并将对应的XSS攻击预测结果的APT攻击特征加入APT攻击知识库中。
与现有技术相比,本发明有以下有益效果:
1、本发明面对防火墙失效的缺陷,提出的针对XSS攻击的APT预警方法通过模拟黑客绕过WEB应用防火墙拦截规则的行为,产生新的攻击规则,丰富XSS攻击规则库,提升WEB应用防火墙的XSS攻击防护能力,实现了对目前XSS攻击种类多样并主动防御的机制。
2、本发明通过对Aprior算法在分布式系统场景下的适当改进,结合海量安全数据以及现有的基于列的数据库技术对检测到的XSS攻击进行深度关联分析,同时对XSS攻击检测进行指导,达到识别APT攻击和预警的目的,更有效的预防APT的潜在入侵。这种结合大数据分析设计的思路,不仅提高了APT威胁分析的效率,而且改进后的算法在检测能力方面也有提升。
附图说明
图1为本发明实施例的方法流程图。
图2是本发明实施例的步骤S2的实现流程图。
图3是本发明实施例的步骤S3的实现流程图。
图4是本发明实施例的步骤S4的实现流程图。
图5是本发明实施例的步骤S5的实现流程图。
图6是本发明实施例的步骤S52的实现流程图。
图7是本发明实施例的步骤S522的实现流程图。
图8是本发明实施例的步骤S55的实现流程图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
如图1所示,本实施例提供了一种针对XSS攻击的APT预警方法,包括以下步骤:
步骤S1:接收来自WEB应用防火墙的WEB攻击检测结果;
步骤S2:根据步骤S1的WEB攻击检测结果,针对其中的XSS攻击检测结果,模拟黑客绕过WEB应用防火墙拦截规则的行为,产生新的攻击规则,丰富XSS攻击规则库,提升WEB应用防火墙的XSS攻击防护能力;
步骤S3:结合APT攻击知识库,对步骤S2所得到的XSS攻击检测结果进行标识,产生APT攻击标识结果;并将没有标识的XSS攻击添加到未知APT攻击集中;
步骤S4:对步骤S3得到的未知APT攻击集进行预处理,得到未知APT攻击预处理结果集;
步骤S5:利用基于MapReduce的分布式Aprior算法对步骤S4得到的未知APT攻击预处理结果集进行关联分析,产生APT关联规则,得到与XSS攻击对应的APT分析情报,作为APT威胁情报输出。
在本实施例中,如图2所示,步骤S2的主要方法是模拟黑客绕过WAF既定拦截规则过滤的行为,发现绕过WEB应用防火墙现有规则库的方式,并补充新发现的拦截规则到XSS攻击规则库中,从而提升WEB应用防火墙对XSS攻击的防护能力。具体包括以下步骤:
步骤S21:根据步骤S1的WEB攻击检测结果,通过WEB攻击检测结果对应记录中的攻击类型名称字段(type_name),筛选出XSS攻击检测结果,并将记录中的攻击信息字段(msg_context)作为该次XSS攻击的攻击特征S;
其中WEB应用防火墙输出的WEB攻击检测结果的记录通常包括以下字段:msg_id(信息编号)、alarm_date(报警时日期)、alarm_datetime(报警时间)、msg_context(攻击信息)、type_id(攻击类型编号)、type_name(攻击类型名称)、pattern_id(规则编号)、pattern_name(规则名称)、request_method(请求方式)、request_url(请求URL)、request_body(请求体)、match_name(匹配名称)、match_reg(匹配规则)、match_value(匹配值)、src_ip(源IP)、src_port(源端口)、src_counrty_code(源国家编码)、src_country(源国家名称)、src_region(源地区/省份)、src_city(源城市)、src_organization(源组织机构)、src_isp(源运营商)、org_id(单位编号)、org_name(单位名称)、site_id(站点编号)、site_name(站点名称)、url_id(url编号)、dest_domain(目标域名)、dest_ip(目标主机ip)、dest_port(目标端口)、dest_counrty_code(目标国家编码)、dest_country(目标国家名称)、(目标地区/省份)、dest_city(目标城市)、dest_organization(目标组织机构)、dest_isp(目标运营商)、client_id(目标客户端编号)、host_id(客户端所在主机编号)、host_name(主机名称)、os_type(操作系统)、os_revision(操作系统版本)、os_patch(操作系统补丁)、os_digit(操作系统位数)。
步骤S22:根据攻击特征转换表T,从中随机选择一种转换操作,对XSS攻击检测结果对应记录中的攻击信息字段(msg_context)进行转换修改,产生新的攻击特征S’;
其中,攻击特征转换表T用于模拟攻击者尝试的各种免杀方法,定义如下:
T={'charTo16','charTo10','charTo10Zero','addEnter','charToChar16','charToChar10'};
其中,转换操作就是模拟攻击者为绕过WEB防火墙攻击检测而对XSS攻击的恶意代码所可能采取的包括转化、修改在内的动作;
步骤S23:根据产生的新的攻击特征S’,判定是否为XSS攻击,若未判定为XSS攻击,则执行步骤S24;若仍判定为XSS攻击,则进一步判定尝试的转换操作次数是否超过设定的最大尝试次数,若超过,结束尝试,转到步骤S3,反之返回步骤S22;
步骤S24:若XSS攻击规则库中不包含攻击特征S’,则将攻击特征S’添加到XSS攻击规则库中。
在本实施例中,如图3所示,步骤S3具体包括以下步骤:
步骤S31:根据XSS攻击检测结果,将其攻击特征S与APT攻击知识库中的APT攻击特征进行匹配,若匹配成功,则对XSS攻击检测结果进行APT攻击标识,即将XSS攻击检测结果对应记录中的pattern_id修改为对应APT攻击的pattern_id,并进入步骤S3;若匹配失败,则进入步骤S32;
其中,APT攻击知识库中的APT攻击特征由APT编号pattern_id、前件特征X、后件特征Y、生成规则X→Y、支持度Support(X→Y)、可信度Confidence(X→Y)、可信度Confidence(Y)、作用度Lift(X→Y)组成;
其中,攻击特征S与APT攻击知识库中的APT攻击特征进行匹配的方法是利用KMP算法,将攻击特征S与APT知识库中的前件特征X和后件特征Y进行匹配;
步骤S32:将未标识APT攻击类型的XSS攻击添加到未知APT攻击集合中。
在本实施例中,如图4所示,步骤S4具体包括以下步骤:
步骤S41:对未知APT攻击集合中的每项未知APT攻击记录中的字符特征转换为标量特征;
步骤S42:利用信息增益算法,计算APT攻击记录所包含的每个特征的信息增益,保留信息增益高于指定阈值的特征,所保留的特征构成用于后续关联分析的特征子集FT;
步骤S43:未知APT攻击集合中的每项未知APT攻击记录,仅保留与特征子集FT中的特征对应的字段,得到未知APT攻击预处理结果集。
在本实施例中,步骤S41中,将APT攻击记录中的字符特征转换为标量特征F,采用以下公式:
式中,Ai为字符特征对应的字符串中的第i个字符的ASCII码值,odd为设定的一个大奇数。
在本实施例中,如图5所示,步骤S5具体包括以下步骤:
步骤S51:将未知APT攻击预处理结果集分割为大小相同的的M个数据子集,分发到M个Map节点上;
步骤S52:对每个Map节点上的数据子集,通过Map函数定义的操作进行Aprior挖掘,得到频繁项集;将频繁项集作为key-value对中的key,并将value赋值为1,作为Map节点的输出;
步骤S53:利用MapReduce中的shuffle功能,将Map节点的输出按照key值进行组合生成key-value list;
步骤S54:将生成的key-value list发送到N个Reducer节点上,使用Reducer函数中定义的方法对频繁项集进行汇总,计算每个频繁项集的支持数量,获得最大频繁项集;其中获得最大频繁项集具体为,将每个频繁项集的支持数量与min_sup进行比较,确定是否作为APT攻击预测结果输出该最大频繁项集,其中,最大频繁项集是频繁项集中满足条件的项集;
步骤S55:对步骤S54中获得的频繁项集进行计算评价,生成相应的关联规则。
在本实施例中,如图6所示,步骤S52具体包括以下步骤:
步骤S521:对每个Map节点上的数据集,根据设定的最小支持度min_sup,产生初始的频繁项集L1;
步骤S522:对当前的频繁项集Li,执行连接和剪枝操作,产生新的候选项集Ci,再根据min_sup产生新的频繁项集Li+1;
其中,Ci是Li的超集,且所有的频繁i-1项集都包含于Ci中;
步骤S523:重复步骤S522,直到当前的频繁项集Li为空或i超过设定的最大迭代次数K;
步骤S524:将保留下来的频繁项集作为key-value对中的key,并将value赋值为1,作为Map节点的输出。
在本实施例中,步骤S522中,所述连接的操作方法是通过Li-1与自身连接产生候选i项集的集合Li,该候选项集记作Ci。
在本实施例中,如图7所示,步骤S522中,所述剪枝的操作方法包括以下步骤:
步骤S5221:扫描Map节点上的数据集,确定Ci中每个候选子集的计数,建立所有候选子集的散列树:选择从2开始的连续质数来建立哈希树,建立方式如下:第一层节点为根节点,根节点有2个子节点;第二层的每个节点下有3个子节点;第三层的每个节点下有5个子节点;依此类推,即每层结点的子节点数目为连续的质数;
步骤S5222:设置节点的关键字,关键字在整个树中是全局唯一的,每个关键字对应候选子集的序号,节点的值设置为标志位,标志位为真时,认为节点的关键字是有效的即频繁的;
步骤S5223:进行子集测试:通过取余和比较的方式,证明节点的关键字和节点的子节点所对应的候选子集都是有效的,若i项集的所有i-1项集都有效则保留Ci;
其中取余操作是指向下搜索时通过对序号取余选择子节点,比较操作是指通过判断标志位是否为真来确定关键字是有效的,即候选项集Ci的子集是频繁的。
在本实施例中,如图8所示,步骤S55具体包括以下步骤:
步骤S551:生成关联规则X→Y并计算关联规则X→Y的可信度Confidence(X→Y);
其中,关联规则X→Y定义为:X称为前件,Y称为后件,X,Y是APT知识库中的特征;关联规则X→Y即表示某一未知APT攻击出现攻击特征X的情况下具有攻击特征Y;
其中,可信度的计算公式为:
式中,可信度Confidence(X→Y)是对关联规则X→Y的准确度的估计,P(X,Y)是攻击特征X和攻击特征Y同时出现的概率,P(X)是攻击特征X出现的概率;
步骤S552:计算可信度Confidence(Y)和作用度Lift(X→Y);
其中可信度Confidence(Y)表示特征Y的出现概率,代表Y本身的支持度,公式如下:
Confidence(Y)=P(Y);
其中,作用度Lift(X→Y)是可信度Confidence(X→Y)和可信度Confidence(Y)的比值,表示攻击特征X与攻击特征Y之间存在的强关联性,公式如下:
式中,P(Y|X)表示在攻击特征X出现的情况下攻击特征Y出现的概率;
步骤S553:计算XSS攻击预测结果的威胁度V,定义如下:
式中,pconfidence表示可信度Confidence在威胁度计算中所占重要程度;
步骤S554:对XSS攻击预测结果按照威胁度进行排序,并选择Top K条生成未知APT威胁报告,并将对应的XSS攻击预测结果的APT攻击特征加入APT攻击知识库中。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (10)
1.一种针对XSS攻击的APT预警方法,其特征在于:包括以下步骤:
步骤S1:接收来自WEB应用防火墙的WEB攻击检测结果;
步骤S2:根据步骤S1的WEB攻击检测结果,针对其中的XSS攻击检测结果,模拟黑客绕过WEB应用防火墙拦截规则的行为,产生新的攻击规则,丰富XSS攻击规则库,提升WEB应用防火墙的XSS攻击防护能力;
步骤S3:结合APT攻击知识库,对步骤S2所得到的XSS攻击检测结果进行标识,产生APT攻击标识结果;并将没有标识的XSS攻击添加到未知APT攻击集中;
步骤S4:对步骤S3得到的未知APT攻击集进行预处理,得到未知APT攻击预处理结果集;
步骤S5:利用基于MapReduce的分布式Aprior算法对步骤S4得到的未知APT攻击预处理结果集进行关联分析,产生APT关联规则,得到与XSS攻击对应的APT分析情报,作为APT威胁情报输出。
2.根据权利要求1所述的一种针对XSS攻击的APT预警方法,其特征在于:步骤S2具体包括以下步骤:
步骤S21:根据步骤S1的WEB攻击检测结果,通过WEB攻击检测结果对应记录中的攻击类型名称字段(type_name),筛选出XSS攻击检测结果,并将记录中的攻击信息字段(msg_context)作为该次XSS攻击的攻击特征S;
步骤S22:根据攻击特征转换表T,从中随机选择一种转换操作,对XSS攻击检测结果对应记录中的攻击信息字段(msg_context)进行转换修改,产生新的攻击特征S’;
其中,攻击特征转换表T用于模拟攻击者尝试的各种免杀方法,定义如下:
T={'charTo16','charTo10','charTo10Zero','addEnter','charToChar16','charToChar10'};
其中,转换操作就是模拟攻击者为绕过WEB防火墙攻击检测而对XSS攻击的恶意代码所可能采取的包括转化、修改在内的动作;
步骤S23:根据产生的新的攻击特征S’,判定是否为XSS攻击,若未判定为XSS攻击,则执行步骤S24;若仍判定为XSS攻击,则进一步判定尝试的转换操作次数是否超过设定的最大尝试次数,若超过,结束尝试,转到步骤S3,反之返回步骤S22;
步骤S24:若XSS攻击规则库中不包含攻击特征S’,则将攻击特征S’添加到XSS攻击规则库中。
3.根据权利要求1所述的一种针对XSS攻击的APT预警方法,其特征在于:步骤S3具体包括以下步骤:
步骤S31:根据XSS攻击检测结果,将其攻击特征S与APT攻击知识库中的APT攻击特征进行匹配,若匹配成功,则对XSS攻击检测结果进行APT攻击标识,即将XSS攻击检测结果对应记录中的pattern_id修改为对应APT攻击的pattern_id,并进入步骤S3;若匹配失败,则进入步骤S32;
其中,攻击特征S与APT攻击知识库中的APT攻击特征进行匹配的方法是利用KMP算法,将攻击特征S与APT知识库中的前件特征X和后件特征Y进行匹配;
步骤S32:将未标识APT攻击类型的XSS攻击添加到未知APT攻击集合中。
4.根据权利要求1所述的一种针对XSS攻击的APT预警方法,其特征在于:步骤S4具体包括以下步骤:
步骤S41:对未知APT攻击集合中的每项未知APT攻击记录中的字符特征转换为标量特征;
步骤S42:利用信息增益算法,计算APT攻击记录所包含的每个特征的信息增益,保留信息增益高于指定阈值的特征,所保留的特征构成用于后续关联分析的特征子集FT;
步骤S43:未知APT攻击集合中的每项未知APT攻击记录,仅保留与特征子集FT中的特征对应的字段,得到未知APT攻击预处理结果集。
5.根据权利要求4所述的一种针对XSS攻击的APT预警方法,其特征在于:步骤S41中,将APT攻击记录中的字符特征转换为标量特征F,采用以下公式:
式中,Ai为字符特征对应的字符串中的第i个字符的ASCII码值,odd为设定的一个大奇数。
6.根据权利要求1所述的一种针对XSS攻击的APT预警方法,其特征在于:步骤S5具体包括以下步骤:
步骤S51:将未知APT攻击预处理结果集分割为大小相同的的M个数据子集,分发到M个Map节点上;
步骤S52:对每个Map节点上的数据子集,通过Map函数定义的操作进行Aprior挖掘,得到频繁项集;将频繁项集作为key-value对中的key,并将value赋值为1,作为Map节点的输出;
步骤S53:利用MapReduce中的shuffle功能,将Map节点的输出按照key值进行组合生成key-value list;
步骤S54:将生成的key-value list发送到N个Reducer节点上,使用Reducer函数中定义的方法对频繁项集进行汇总,计算每个频繁项集的支持数量,获得最大频繁项集;
步骤S55:对步骤S54中获得的频繁项集进行计算评价,生成相应的关联规则。
7.根据权利要求6所述的一种针对XSS攻击的APT预警方法,其特征在于:步骤S52具体包括以下步骤:
步骤S521:对每个Map节点上的数据集,根据设定的最小支持度min_sup,产生初始的频繁项集L1;
步骤S522:对当前的频繁项集Li,执行连接和剪枝操作,产生新的候选项集Ci,再根据min_sup产生新的频繁项集Li+1;
其中,Ci是Li的超集,且所有的频繁i-1项集都包含于Ci中;
步骤S523:重复步骤S522,直到当前的频繁项集Li为空或i超过设定的最大迭代次数K;
步骤S524:将保留下来的频繁项集作为key-value对中的key,并将value赋值为1,作为Map节点的输出。
8.根据权利要求7所述的一种针对XSS攻击的APT预警方法,其特征在于:步骤S522中,所述连接的操作方法是通过Li-1与自身连接产生候选i项集的集合Li,该候选项集记作Ci。
9.根据权利要求7所述的一种针对XSS攻击的APT预警方法,其特征在于:步骤S522中,所述剪枝的操作方法包括以下步骤:
步骤S5221:扫描Map节点上的数据集,确定Ci中每个候选子集的计数,建立所有候选子集的散列树:选择从2开始的连续质数来建立哈希树,建立方式如下:第一层节点为根节点,根节点有2个子节点;第二层的每个节点下有3个子节点;第三层的每个节点下有5个子节点;依此类推,即每层结点的子节点数目为连续的质数;
步骤S5222:设置节点的关键字,关键字在整个树中是全局唯一的,每个关键字对应候选子集的序号,节点的值设置为标志位,标志位为真时,认为节点的关键字是有效的即频繁的;
步骤S5223:进行子集测试:通过取余和比较的方式,证明节点的关键字和节点的子节点所对应的候选子集都是有效的,若i项集的所有i-1项集都有效则保留Ci;
其中取余操作是指向下搜索时通过对序号取余选择子节点,比较操作是指通过判断标志位是否为真来确定关键字是有效的,即候选项集Ci的子集是频繁的。
10.根据权利要求6所述的一种针对XSS攻击的APT预警方法,其特征在于:步骤S55具体包括以下步骤:
步骤S551:生成关联规则X→Y并计算关联规则X→Y的可信度Confidence(X→Y);
其中,关联规则X→Y定义为:X称为前件,Y称为后件,X,Y是APT知识库中的特征;关联规则X→Y即表示某一未知APT攻击出现攻击特征X的情况下具有攻击特征Y;
其中,可信度的计算公式为:
式中,可信度Confidence(X→Y)是对关联规则X→Y的准确度的估计,P(X,Y)是攻击特征X和攻击特征Y同时出现的概率,P(X)是攻击特征X出现的概率;
步骤S552:计算可信度Confidence(Y)和作用度Lift(X→Y);
其中可信度Confidence(Y)表示特征Y的出现概率,代表Y本身的支持度,公式如下:
Confidence(Y)=P(Y);
其中,作用度Lift(X→Y)是可信度Confidence(X→Y)和可信度Confidence(Y)的比值,表示攻击特征X与攻击特征Y之间存在的强关联性,公式如下:
式中,P(Y|X)表示在攻击特征X出现的情况下攻击特征Y出现的概率;
步骤S553:计算XSS攻击预测结果的威胁度V,定义如下:
式中,pconfidence表示可信度Confidence在威胁度计算中所占重要程度;
步骤S554:对XSS攻击预测结果按照威胁度进行排序,并选择Top K条生成未知APT威胁报告,并将对应的XSS攻击预测结果的APT攻击特征加入APT攻击知识库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811280577.7A CN109088899B (zh) | 2018-10-30 | 2018-10-30 | 一种针对xss攻击的apt预警方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811280577.7A CN109088899B (zh) | 2018-10-30 | 2018-10-30 | 一种针对xss攻击的apt预警方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109088899A true CN109088899A (zh) | 2018-12-25 |
CN109088899B CN109088899B (zh) | 2021-04-27 |
Family
ID=64844493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811280577.7A Active CN109088899B (zh) | 2018-10-30 | 2018-10-30 | 一种针对xss攻击的apt预警方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109088899B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110502899A (zh) * | 2019-08-26 | 2019-11-26 | 四川长虹电器股份有限公司 | 一种xss攻击检测的方法 |
CN111740957A (zh) * | 2020-05-21 | 2020-10-02 | 江苏信息职业技术学院 | 一种FP-tree优化的XSS攻击自动检测方法 |
CN113536678A (zh) * | 2021-07-19 | 2021-10-22 | 中国人民解放军国防科技大学 | 基于贝叶斯网络及stride模型的xss风险分析方法及装置 |
CN114024709A (zh) * | 2021-09-22 | 2022-02-08 | 湖北天融信网络安全技术有限公司 | 防御方法、xss漏洞的查寻方法、流量检测设备及存储介质 |
CN116108439A (zh) * | 2023-04-12 | 2023-05-12 | 北京华云安信息技术有限公司 | Apt软件家族识别方法、装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104852909A (zh) * | 2015-04-24 | 2015-08-19 | 杭州华三通信技术有限公司 | 一种攻击检测规则的开启方法和设备 |
US20160359875A1 (en) * | 2014-12-03 | 2016-12-08 | Korea Internet & Security Agency | Apparatus, system and method for detecting and preventing malicious scripts using code pattern-based static analysis and api flow-based dynamic analysis |
WO2018008024A1 (en) * | 2016-07-07 | 2018-01-11 | Deceptive Bytes Ltd. | System and method for end-point malware prevention solution |
CN108259449A (zh) * | 2017-03-27 | 2018-07-06 | 新华三技术有限公司 | 一种防御apt攻击的方法和系统 |
CN110545293A (zh) * | 2019-10-08 | 2019-12-06 | 贵州银智科技发展有限公司 | 一种精准式网络攻击检测预警平台 |
-
2018
- 2018-10-30 CN CN201811280577.7A patent/CN109088899B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160359875A1 (en) * | 2014-12-03 | 2016-12-08 | Korea Internet & Security Agency | Apparatus, system and method for detecting and preventing malicious scripts using code pattern-based static analysis and api flow-based dynamic analysis |
CN104852909A (zh) * | 2015-04-24 | 2015-08-19 | 杭州华三通信技术有限公司 | 一种攻击检测规则的开启方法和设备 |
WO2018008024A1 (en) * | 2016-07-07 | 2018-01-11 | Deceptive Bytes Ltd. | System and method for end-point malware prevention solution |
CN108259449A (zh) * | 2017-03-27 | 2018-07-06 | 新华三技术有限公司 | 一种防御apt攻击的方法和系统 |
CN110545293A (zh) * | 2019-10-08 | 2019-12-06 | 贵州银智科技发展有限公司 | 一种精准式网络攻击检测预警平台 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110502899A (zh) * | 2019-08-26 | 2019-11-26 | 四川长虹电器股份有限公司 | 一种xss攻击检测的方法 |
CN111740957A (zh) * | 2020-05-21 | 2020-10-02 | 江苏信息职业技术学院 | 一种FP-tree优化的XSS攻击自动检测方法 |
CN113536678A (zh) * | 2021-07-19 | 2021-10-22 | 中国人民解放军国防科技大学 | 基于贝叶斯网络及stride模型的xss风险分析方法及装置 |
CN113536678B (zh) * | 2021-07-19 | 2022-04-19 | 中国人民解放军国防科技大学 | 基于贝叶斯网络及stride模型的xss风险分析方法及装置 |
US12013951B2 (en) | 2021-07-19 | 2024-06-18 | National University Of Defense Technology | Cross-site scripting (XSS) risk analysis method and apparatus based on bayesian network and stride model |
CN114024709A (zh) * | 2021-09-22 | 2022-02-08 | 湖北天融信网络安全技术有限公司 | 防御方法、xss漏洞的查寻方法、流量检测设备及存储介质 |
CN114024709B (zh) * | 2021-09-22 | 2024-06-11 | 湖北天融信网络安全技术有限公司 | 防御方法、xss漏洞的查寻方法、流量检测设备及存储介质 |
CN116108439A (zh) * | 2023-04-12 | 2023-05-12 | 北京华云安信息技术有限公司 | Apt软件家族识别方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109088899B (zh) | 2021-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109088899A (zh) | 一种针对xss攻击的apt预警方法 | |
Zhu et al. | Alert correlation for extracting attack strategies | |
CN106411921B (zh) | 基于因果贝叶斯网络的多步攻击预测方法 | |
Zhao et al. | P 3: Privacy-preserving scheme against poisoning attacks in mobile-edge computing | |
Niu et al. | Identifying APT malware domain based on mobile DNS logging | |
So-In et al. | An evaluation of data mining classification models for network intrusion detection | |
CN102075516A (zh) | 一种网络多步攻击识别和预测方法 | |
CN103916385A (zh) | 一种基于智能算法的waf安全监测系统 | |
CN114491541B (zh) | 基于知识图谱路径分析的安全运营剧本自动化编排方法 | |
Zhang et al. | AntiConcealer: Reliable detection of adversary concealed behaviors in EdgeAI-assisted IoT | |
Badajena et al. | Incorporating hidden Markov model into anomaly detection technique for network intrusion detection | |
Shang et al. | Discovering unknown advanced persistent threat using shared features mined by neural networks | |
CN114422224A (zh) | 面向攻击溯源的威胁情报智能分析方法及系统 | |
CN110557397A (zh) | 一种基于混沌理论分析的DDoS攻击检测方法 | |
CN114499982A (zh) | 蜜网动态配置策略生成方法、配置方法及存储介质 | |
Niu et al. | Modeling attack process of advanced persistent threat using network evolution | |
CN105430650B (zh) | 一种基于免疫机制的无线传感器网络攻击协同检测方法 | |
Jia et al. | Micro-honeypot: using browser fingerprinting to track attackers | |
CN109492390A (zh) | 一种基于攻击时间线的高级持续性威胁分析方法 | |
CN111191230A (zh) | 一种基于卷积神经网络的快速网络攻击回溯挖掘方法和应用 | |
Sodiya et al. | An Improved Semi-Global Alignment Algorithm for Masquerade Detection. | |
CN112291260A (zh) | 一种面向apt攻击的网络安全威胁隐蔽目标识别方法 | |
Xie et al. | Private transaction retrieval for lightweight bitcoin client | |
Huayu et al. | Research on fog computing based active anti-theft technology | |
CN115473667A (zh) | 一种基于子图匹配的apt攻击序列检测方法 |
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 |