CN107577945B - Url攻击检测方法、装置以及电子设备 - Google Patents

Url攻击检测方法、装置以及电子设备 Download PDF

Info

Publication number
CN107577945B
CN107577945B CN201710896594.2A CN201710896594A CN107577945B CN 107577945 B CN107577945 B CN 107577945B CN 201710896594 A CN201710896594 A CN 201710896594A CN 107577945 B CN107577945 B CN 107577945B
Authority
CN
China
Prior art keywords
url
access request
parameter
sample
url access
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
Application number
CN201710896594.2A
Other languages
English (en)
Other versions
CN107577945A (zh
Inventor
张雅淋
李龙飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced New Technologies Co Ltd
Original Assignee
Advanced New Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201710896594.2A priority Critical patent/CN107577945B/zh
Publication of CN107577945A publication Critical patent/CN107577945A/zh
Application granted granted Critical
Publication of CN107577945B publication Critical patent/CN107577945B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本说明书提供一种URL攻击检测方法,包括:从URL访问请求中携带的URL参数中分别提取若干维度的参数特征;将所述参数特征输入预设的URL攻击检测模型进行预测计算,得到所述URL访问请求的风险评分;其中,所述URL攻击检测模型为基于PU‑Learning机器学习算法对若干URL访问请求样本进行训练得到的机器学习模型;基于所述风险评分确定所述URL访问请求是否为URL攻击请求。

Description

URL攻击检测方法、装置以及电子设备
技术领域
本说明书涉及计算机应用领域,尤其涉及一种URL攻击检测方法、装置、以及电子设备。
背景技术
在互联网的应用场景中,每天都会产生大量的对于网址的URL访问请求。在这些大量的URL访问请求,也不乏不法分子试图通过不合法的URL访问请求而发起的URL攻击;例如,常见的URL攻击如SQL注入攻击、跨站脚本攻击(XSS)等。这一类非法的URL访问请求,通常会与普通的URL访问请求存在一定的区别;因此,在构建线上系统的同时,通过一些安全手段对非法用户发起的URL攻击进行快速的识别检测是不可忽视的问题。
发明内容
本说明书提出一种URL攻击检测方法,所述方法包括:
从URL访问请求中携带的URL参数中分别提取若干维度的参数特征;
将所述参数特征输入预设的URL攻击检测模型进行预测计算,得到所述 URL访问请求的风险评分;其中,所述URL攻击检测模型为基于PU-Learning 机器学习算法对若干URL访问请求样本进行训练得到的机器学习模型;
基于所述风险评分确定所述URL访问请求是否为URL攻击请求。
可选的,所述URL攻击检测模型为基于代价敏感的PU-Learning机器学习算法对所述若干URL访问请求样本进行训练得到的机器学习模型。
可选的,所述方法还包括:
从所述若干URL访问请求样本中携带的URL参数中分别提取若干维度的参数特征;其中,所述若干URL访问请求样本包括被标记了样本标签的 URL访问请求样本和未标记样本标签的URL访问请求样本;所述样本标签表征所述URL访问请求样本为URL攻击请求;
基于提取到的参数特征构建训练样本;
基于代价敏感的PU-Learning机器学习算法对所述若干URL访问请求样本进行训练得到所述URL攻击检测模型。
可选的,与被标记了样本标签的URL访问请求样本和未标记样本标签的 URL访问请求样本对应的损失函数,分别被配置了代价敏感权重;其中,与被标记了样本标签的URL访问请求样本对应的损失函数的代价敏感权重,大于与未标记样本标签的URL访问请求样本对应的损失函数的代价敏感权重。
可选的,所述URL攻击检测模型包括基于PU-Learning机器学习算法对若干URL访问请求样本进行训练得到的多个机器学习模型;
将所述参数特征输入预设的URL攻击检测模型进行预测计算,得到所述 URL访问请求的风险评分,包括:
将所述参数特征分别输入所述多个机器学习模型进行预测计算,得到多个风险评分;对所述多个风险评分进行加权计算得到所述URL访问请求的风险评分。
可选的,提取出的所述若干维度的参数特征包括以下参数特征中的多个的组合:
URL参数的字符总数、URL参数的字母总数、URL参数的数字总数、 URL参数的符号总数、URL参数的不同字符数、URL参数的不同字母数、 URL参数的不同数字数、URL参数的不同符号数。
本说明书还提出一种URL攻击检测装置,所述装置包括:
第一提取模块,从URL访问请求中携带的URL参数中分别提取若干维度的参数特征;
预测模块,将所述参数特征输入预设的URL攻击检测模型进行预测计算,得到所述URL访问请求的风险评分;其中,所述URL攻击检测模型为基于 PU-Learning机器学习算法对若干URL访问请求样本进行训练得到的机器学习模型;
确定模块,基于所述风险评分确定所述URL访问请求是否为URL攻击请求。
可选的,所述URL攻击检测模型为基于代价敏感的PU-Learning机器学习算法对所述若干URL访问请求样本进行训练得到的机器学习模型。
可选的,所述装置还包括:
第二提取模块,从所述若干URL访问请求样本中携带的URL参数中分别提取若干维度的参数特征;其中,所述若干URL访问请求样本包括被标记了样本标签的URL访问请求样本和未标记样本标签的URL访问请求样本;所述样本标签表征所述URL访问请求样本为URL攻击请求;
构建模块,基于提取到的参数特征构建训练样本;
训练模块,基于代价敏感的PU-Learning机器学习算法对所述若干URL 访问请求样本进行训练得到所述URL攻击检测模型。
可选的,与被标记了样本标签的URL访问请求样本和未标记样本标签的URL访问请求样本对应的损失函数,分别被配置了代价敏感权重;其中,与被标记了样本标签的URL访问请求样本对应的损失函数的代价敏感权重,大于与未标记样本标签的URL访问请求样本对应的损失函数的代价敏感权重。
可选的,所述URL攻击检测模型包括基于PU-Learning机器学习算法对若干URL访问请求样本进行训练得到的多个机器学习模型;
将预测模块进一步:
将所述参数特征分别输入所述多个机器学习模型进行预测计算,得到多个风险评分;对所述多个风险评分进行加权计算得到所述URL访问请求的风险评分。
可选的,提取出的所述若干维度的参数特征包括以下参数特征中的多个的组合:
URL参数的字符总数、URL参数的字母总数、URL参数的数字总数、 URL参数的符号总数、URL参数的不同字符数、URL参数的不同字母数、 URL参数的不同数字数、URL参数的不同符号数。
本说明书还提出一种电子设备,包括:
处理器;
用于存储机器可执行指令的存储器;
其中,通过读取并执行所述存储器存储的与群聊场景下的人员统计的控制逻辑对应的机器可执行指令,所述处理器被促使:
从URL访问请求中携带的URL参数中分别提取若干维度的参数特征;
将所述参数特征输入预设的URL攻击检测模型进行预测计算,得到所述 URL访问请求的风险评分;其中,所述URL攻击检测模型为基于PU-Learning 机器学习算法对若干URL访问请求样本进行训练得到的机器学习模型;
基于所述风险评分确定所述URL访问请求是否为URL攻击请求。
本说明书实施例提供的技术方案,通过将从URL访问请求中携带的URL 参数中提取出的参数特征输入至基于PU-Learning机器学习算法训练出的 URL攻击检测模型进行预测计算,来对URL访问请求进行攻击检测,可以提前发现潜在的URL攻击,从而有助于对潜在的异常URL访问及时的进行安全防护。
附图说明
图1是本说明书一实施例示出的URL攻击检测方法的流程图;
图2是本说明书一实施例示出的一种构建训练样本集训练PU-Learning 模型的流程图;
图3是本说明书一实施例提供的承载一种URL攻击检测装置的电子设备所涉及的硬件结构图;
图4是本说明书一实施例提供的一种所述URL攻击检测装置的逻辑框图。
具体实施方式
机器学习,根据训练样本是否有标记信息,通常被划分为为有监督学习、无监督学习、半监督学习这三大类。其中,半监督学习,是指用于训练机器学习模型的训练样本中,仅部分训练样本是有标记样本,而其余的训练样本为无标记样本,利用无标记样本来辅助有标记样本的学习过程。
传统的半监督学习,通常存在多种类型的标记样本;例如,对于应用极为广泛的二分类问题,有标记的训练样本通常被划分为有标记的正样本和负样本;
然而,在实际场景中,建模一方收集到的训练样本中的有标记样本,很可能只包含一个类别的标记;比如,可能只有少量有标记的正样本,其余的样本均为无标记样本。而针对于这场景的机器学习,通常称之PU Learning (Positive and Unlabeled Learning,正样本和无标记学习),即针对有标记的正样本和无标记样本的机器学习过程。
在传统的进行URL攻击检测的安全系统中,通常会沉淀大量的被标记为 URL攻击的URL访问请求,和大量无标记的URL访问请求;因此,如何利用传统的安全系统中沉淀的这些携带标记和未被标记的URL访问请求,通过机器学习的方式来提前发现那些潜在的URL攻击,对于URL攻击的识别检测和及时防护,则具有十分重要的意义。
有鉴于此,本说明书提出一种基于PU-Learning机器学习算法对同时包含大量被标记为URL攻击和未被标记的URL访问请求样本进行机器学习训练,来构建URL攻击检测模型,并使用该URL攻击检测模型对正常的URL 访问请求进行攻击检测,来发现潜在的URL攻击的技术方案。
在实现时,可以预先准备若干URL访问请求样本;其中,在这些URL 访问请求样本中同时包含若干被标记为URL攻击的正样本和若干无标记样本。然后,可以对这些URL访问请求样本进行数据切分,提取出这些URL 访问请求样本中携带的URL参数名(ParamName)以及对应的参数取值 (ParamValue),然后从这些URL参数名中筛选出URL攻击请求中常见的那一部分URL参数名和对应的参数取值,用以构建机器学习模型。
进一步,对于筛选出的URL参数,可以从与这些URL参数对应的参数取值中分别提取出若干个维度的参数特征,并对这些参数特征进行归一化处理,然后将归一化处理后的参数特征作为建模特征来构建训练样本。当训练样本构建完成后,可以基于PU-Learning机器学习算法对这些训练样本进行训练,来构建URL攻击检测模型;例如,可以采用基于代价敏感的 PU-Learning机器学习算法对训练样本进行训练。
最后,当URL攻击检测模型训练完成后,可以按照相同的方式,从需要进行攻击检测的URL访问请求携带的URL参数中分别提取出若干维度的参数特征,并基于提取出的参数特征来构建预测样本,将构建完成的预测样本输入至上述URL攻击检测模型中进行预测计算,得到该URL访问请求的风险评分(比如该URL访问请求为URL攻击请求的风险概率),然后可以基于该风险评分来确定该URL访问请求是否为URL攻击请求。
通过以上技术方案,通过将从URL访问请求中携带的URL参数中提取出的参数特征输入至基于PU-Learning机器学习算法训练出的URL攻击检测模型进行预测计算,来对URL访问请求进行攻击检测,可以提前发现潜在的 URL攻击,从而有助于对潜在的异常URL访问及时的进行安全防护。
下面通过具体实施例并结合具体的应用场景对本说明书进行描述。
请参考图1,图1是本说明书一实施例提供的一种URL攻击检测方法,执行以下步骤:
步骤102,从URL访问请求中携带的URL参数中分别提取若干维度的参数特征;
步骤104,将所述参数特征输入预设的URL攻击检测模型进行预测计算,得到所述URL访问请求的风险评分;其中,所述URL攻击检测模型为基于PU-Learning机器学习算法对若干URL访问请求样本进行训练得到的机器学习模型;
步骤106,基于所述风险评分确定所述URL访问请求是否为URL攻击请求。
在本说明书中,建模方可以预先收集大量的被标记为URL攻击的URL 访问请求作为正样本,和大量未进行标记的URL访问请求作为无标记样本,并基于收集到的这些URL访问请求样本来构建训练样本集,然后基于 PU-Learning机器学习算法对该训练样本集进行训练,来构建上述URL攻击检测模型。
请参见图2,图2为本说明书示出的一种构建训练样本集训练 PU-Learning模型的流程图。
如图2所示,首先,可以对收集到的这些原始的URL访问请求样本分别进行数据切分,提取出这些URL访问请求样本中携带的URL参数名 (ParamName)以及对应的参数取值(ParamValue)。
当提取出这些URL访问请求样本中携带的URL参数名和对应的参数取值后,可以从这些URL参数名从这些URL参数名中筛选出已知的URL攻击请求中较为常见的那一部分URL参数名和对应的参数取值,用以构建机器学习模型。即通过筛选出最能够表征URL攻击请求的特征的URL参数,来参与建模。
例如,在实际应用中,对于部分只在个别的URL访问请求中出现的特殊 URL参数,由于这部分URL参数并不能真实反映出URL攻击请求的特征,因此对于这部分URL参数可以进行过滤。
进一步的,对于筛选出的URL参数,可以从与这些URL参数对应的参数取值中分别提取出若干个维度的参数特征,来作为建模特征。
其中,从这些URL参数对应的参数取值中提取出的参数特征,在本说明书中不进行特殊限定,在实际应用中,任意形式的能够表征URL攻击请求中携带的URL参数的特征以及规律的参数特征,都可以被选定作为建模特征。
例如,在实际应用中,参与建模的本领域技术人员,可以基于经验从这些URL参数对应的参数取值中提取出若干个维度的参数特征,然后基于这些参数特征进行尝试建模,并对建模结果进行评估,来从中筛选出对模型的贡献度最高的若干个维度的参数特征作为建模特征。
在示出的一种实施方式中,从这些URL参数对应的参数取值中提取出的参数特征,可以包括URL参数的字符总数、URL参数的字母总数、URL参数的数字总数、URL参数的符号总数、URL参数的不同字符数、URL参数的不同字母数、URL参数的不同数字数、URL参数的不同符号数等8个维度。在实际应用中,本领域技术人员可以将以上8个维度进行组合作为建模特征,或者从以上8个维度进一步筛选出多个维度进行组合作为建模特征。
当然,以上示出的8个维度的参数特征仅为示例性的;显然,在实际应用中,本领域技术人员也可以从这些URL参数中提取出以上8个维度以外的其它维度的参数特征作为建模特征,在本说明书中不再进行一一列举。
请继续参见图2,当从筛选出的URL参数对应的参数取值中分别提取出若干个维度的参数特征后,由于不同的参数特征的取值范围可能并不同一,因此还可以对这些维度的参数特征进行归一化处理,将不同的参数特征的取值范围归一化到一个统一的数值区间,从而来消除由于参数特征的取值范围不同对建模精度造成的影响。
当对提取出的参数特征归一化处理完成之后,可以基于从各URL访问请求样本携带的URL参数对应的URL参数取值中提取出的参数特征,为各 URL访问请求样本分别创建一个对应的特征向量作为训练样本;其中,创建的特征向量的维度,与提取出的参数特征的维度相同。
当为各URL访问请求样本构建了对应的特征向量后,此时可以基于为各 URL访问请求样本构建的特征向量,创建一个目标矩阵;例如,假设共计收集到N条URL访问请求样本,从每一个URL访问请求样本提取出M维的参数特征,那么该目标矩阵具体可以是一个N*M维的目标矩阵。
此时,创建的该目标矩阵,即为最终参与机器学习模型训练的训练样本集。
请继续参见图2,当训练样本集训练完毕,此时可以基于PU-Learning 机器学习算法对这些训练样本进行训练,来构建上述URL攻击检测模型。
其中,对于PU-Learning机器学习算法而言,通常可以包含多种机器学习策略;例如,PU-Learning机器学习算法包含的典型的机器学习策略,通常包括两阶段法(two-stagestrategy)和代价敏感法(cost-sensitive strategy)两类。
所谓两阶段法,算法首先基于已知的正样本和无标记样本,在无标记样本中挖掘发现潜在的可靠负样本(Reliable Negative),然后基于已知的正样本和挖掘出来的可靠负样本,将问题转化为传统的有监督的机器学习的过程,来训练分类模型。
而对于代价敏感的策略而言,算法假设无标记样本中正样本的比例极低,通过直接将无标记样本看作负样本对待,为正样本设置一个相对于负样本更高的代价敏感权重;例如,通常会在基于代价敏感的PU-Learning机器学习算法的目标方程中,为与正样本对应的损失函数,设置一个更高的代价敏感权重。
通过给正样本设置更高的代价敏感权重,使得最终训练出的分类模型分错一个正样本的代价远远大于分错一个负样本的代价,如此一来,可以直接通过利用正样本和无标记样本(当作负样本)学习一个代价敏感的分类器,来对未知的样本进行分类。
在本说明书,既可以基于代价敏感的PU-Learning机器学习算法对上述训练样本集进行训练,也可以采用两阶段法对上述训练样本集进行训练。
其中,发明人经过仔细的思考,在对采用两阶段法和代价敏感法分别进行建模后的建模结果进行分析和验证后发现,两阶段法和代价敏感法相比,代价敏感的学习策略,通常具有更好的效率和建模效果。
因此,在本说明书中,可以选择代价敏感的PU-Learning机器学习算法作为建模算法,对上述训练样本集进行训练,来构建上述URL攻击检测模型。
以下对基于代价敏感的PU-Learning机器学习算法对上述训练样本集进行训练的过程进行详细。
其中,需要说明的是,在本说明书中以基于代价敏感的PU-Learning机器学习算法对上述训练样本集进行训练仅为示例性的,并不用于限定;显然,本领域技术人员在结合本说明书中披露的技术细节,对本说明书的方案进行实施时,也可以采用PU-Learning机器学习算法中其它的机器学习策略,在本说明书中不再一一详述。
在本说明书中,假设上述训练样本集中的正样本被标记为1,表示与该训练样本对应的URL访问请求,为已知的URL攻击请求;无标记样本被作为负样本标记为-1,表示该训练样本对应的URL访问请求为正常的URL访问请求。
基于代价敏感的PU-Learning机器学习算法的目标方程可以用如下公式进行表征:
Figure BDA0001422270100000101
其中,在以上公式中:
Figure BDA0001422270100000102
即为最终需要训练的机器学习模型的函数表达式,表示学习到的模型对训练样本xi的预测结果(即最终输出的风险评分)。其中, wT和b即为最终需要训练出的模型参数。
yi1l(yi,g(xi))表示与标记为1的正样本对应的损失函数,用于表征模型对正样本的预测结果g(xi)和真实标记yi=1之间的误差损失;
yi=-1l(yi,g(xi))表示与标记为-1的负样本对应的损失函数,用于表征模型对负样本的预测结果g(xi)和真实标记yi=-1之间的误差损失;通常来说, g(xi)和yi的差别越大,带来的损失越大。
C+表示为正样本对应的损失函数配置的代价敏感权重。
C-表示为正样本对应的损失函数配置的代价敏感权重。其中,C+的取值大于C-,在实际应用中,可以将C+的取值设置为一个远大于C-的取值,表示最终训练出的URL攻击检测模型分错一个正样本的代价大于分错一个负样本的代价。
其中,上述损失函数l(yi,g(xi))的具体类型,在本说明书中不进行特别限定;例如,在实际应用中,可以选择常见的log-loss函数或者hinge-loss函数。
其中,当上述损失函数l(yi,g(xi)采用log-loss函数,表达式为:
log-loss{l(yi,g(xi))=log(1+exp(-yig(xi)))};
当上述损失函数l(yi,g(xi)采用hinge-loss函数,表达式为:
hinge-loss{l(yi,g(xi))=max{0,1-yig(xi)})。
上述λR(w)表示R(w)为正则化项,用于控制模型的复杂度;例如,上述正则化项的通常可以用L1范数或L2范数来标识;上述λ为正则化超参数,在实际应用中可以灵活设置。
例如,假设选择log-loss函数作为损失函数,选择L2范数作为正则化项,那么基于代价敏感的PU-Learning机器学习算法的目标方程可以表示成如下公式的形式:
Figure BDA0001422270100000111
在本说明书中,可以将上述训练样本集中的训练样本,输入以上目标方程中进行迭代运算,计算出预测结果g(xi)和真实标记yi=1以及yi=-1之间的误差损失最小时的模型参数wT和b。其中,具体的迭代运算以及求解过程,本说明书中不再进行详述,本领域技术人员在将本说明书的技术方案付诸实践时,可以参考相关技术中的记载。
当计算出预测结果g(xi)和真实标记yi=1以及yi=-1之间的误差损失最小时的模型参数wT和b后,此时上述目标方程算法收敛,上述URL攻击检测模型训练完毕。
在本说明书中,当上述URL攻击检测模型训练完毕后,可以按照如图2 示出的相同的特征提取方式,从需要进行攻击检测的URL访问请求提取URL 参数名以及对应的参数取值、从提取到的URL参数名中筛选URL参数、从筛选出的URL参数的参数取值中提取若干个维度的参数特征(与模型训练阶段的参数特征一致),然后基于提取到的参数特征构建预测样本,并将预测样本输入至上述URL攻击检测模型进行预测计算,得到该URL访问请求的风险评分。
当通过上述URL攻击检测模型预测出该URL访问请求的风险评分后,可以进一步进行该URL风险评分,来确定该URL访问请求是否为URL攻击请求;
例如,将预测样本输入至URL攻击检测模型后,模型通常会对应于正样本(即URL攻击请求)和负样本(即正常URL访问请求)分别输出一个风险评分;
在一种实现方式中,可以通过比较这两个风险评分之间的大小,来确定该URL访问请求为URL攻击请求,还是普通的正常URL访问请求;如果与正样本对应的风险评分大于与负样本对应的风险评分,则表明该URL访问请求为URL攻击请求;反之,表明该URL访问请求为正常URL访问请求。
在另一种实现方式中,为了提升判定结果的准确度,除了直接比较这两个风险评分以外,还可以将这两个风险评分与预设的风险阈值进行比较,来确定该URL访问请求的具体类型;如果与正样本对应的风险评分大于与负样本对应的风险评分,并且与正样本对应的风险评分大于预设的风险阈值,则表明该URL访问请求为URL攻击请求;反之,如果与负样本对应的风险评分大于与正样本对应的风险评分,并且与负样本对应的风险评分大于预设的风险阈值,责表明该URL访问请求为正常URL访问请求。
请继续参见图2,在本说明书中,为了提升训练出的URL攻击检测模型的稳定性和预测能力,可以采用集成学习的方式,训练出多个URL攻击检测模型,并在该多个URL攻击检测模型训练完毕后,通过集成(融合)该多个攻击检测模型输出的风险评分,来确定该URL访问请求的具体类型。
其中,在通过上述集成学习的方式,来训练多个URL攻击检测模型时,所采用的训练样本、训练样本中包含的建模特征、目标方程都可以存在差异,在实际应用中,本领域技术人员可以基于实际的建模需求进行灵活的控制。
例如,在一种实现方式中,可以通过对上述训练样本集中的训练样本所包含的建模特征进行采样,将上述训练样本集按照所包含的建模特征,划分为多个训练样本子集,然后针对每一个训练样本子集分别进行训练,来构建上述URL攻击检测模型。当然,在实际应用中,也可以不对上述训练样本集进行采样,而是需要训练的多个URL攻击检测模型共用一个训练样本集,在本说明书中不进行别限定。
在另一种实现方式中,在通过上述集成学习的方式,来训练多个URL 攻击检测模型时,各URL攻击检测模型的目标方程也可以存在差异;例如,仍以以上示出的基于代价敏感的PU-Learning机器学习算法的目标方程为例,在实际应用中,在通过集成学习的方式,训练各个URL攻击检测模型时,与各URL攻击检测模型对应的目标方程中,所采用的损失函数的类型、以及正则化项可以互不相同;比如,以通过集成学习训练两个URL攻击检测模型为例,第一攻击检测模型对应的目标方程中,可以采用log-loss函数;而第二攻击检测模型对应的目标方程中,可以采用hinge-loss函数;或者,第一攻击检测模型的目标方程中的正则化项,可以采用L1范数;而第二攻击检测模型对应的目标方程中的正则化项,可以采用L2范数,等等。
在这种情况下,当需要使用训练完成的URL攻击检测模型,对需要进行攻击检测的URL访问请求进行攻击检测时,可以基于同样的方式,构建多个预测样本,然后分别输入至该多个URL攻击检测模型进行预测计算,得到多个对应于该URL访问请求的风险评分。此时,可以对该多个风险评分进行加权计算,然后将加权计算结果作为该URL访问请求最终的风险评分,来进一步确定该URL访问请求的具体类型。
其中,对上述多个风险评分进行加权计算的具体方式,在本说明书中不进行特别限定;例如,在一种实现方式中,可以采用加权平均的方式,将每一个风险评分的权重值设置为0.5进行求和,利用多个URL攻击建模模型进行预测计算得到的风险评分的平均值,来作为该URL访问请求最终的风险评分。
通过以上实施例可知,在本说明书中,通常将安全系统中沉淀大量的被标记为URL攻击的URL访问请求,和大量无标记的URL访问请求作为正样本和无标记样本,利用PU-Learning机器学习算法训练来构建URL攻击检测模型,并使用该URL攻击检测模型对URL访问请求进行攻击检测,与传统的由安全人员在安全系统中手工配置的检测规则进行URL攻击检测的方式相比,可以提前发现潜在的URL攻击,从而有助于对潜在的异常URL访问及时的进行安全防护。而且,由于上述URL攻击检测模型能够在日常的URL 访问请求中,提前发现潜在的威胁,因此可以指导安全人员及时的对安全系统中的检测规则及时的进行完善和补充,能够提升整个安全系统的安全等级。
与上述方法实施例相对应,本说明书还提供了一种URL攻击检测装置的实施例。本说明书的URL攻击检测设备的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本说明书的用户决策装置所在电子设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
图4是本说明书一示例性实施例示出的一种URL攻击检测装置的框图。
请参考图4,所述URL攻击检测装置40可以应用在前述图3所示的电子设备中,包括有:第一提取模块401、预测模块402和确定模块403。
其中,第一提取模块401,从URL访问请求中携带的URL参数中分别提取若干维度的参数特征;
预测模块402,将所述参数特征输入预设的URL攻击检测模型进行预测计算,得到所述URL访问请求的风险评分;其中,所述URL攻击检测模型为基于PU-Learning机器学习算法对若干URL访问请求样本进行训练得到的机器学习模型;
确定模块403,基于所述风险评分确定所述URL访问请求是否为URL 攻击请求。
在本实施例中,所述URL攻击检测模型为基于代价敏感的PU-Learning 机器学习算法对所述若干URL访问请求样本进行训练得到的机器学习模型。
在本实施例中,所述装置40还包括:
第二提取模块404(图4中未示出),从所述若干URL访问请求样本中携带的URL参数中分别提取若干维度的参数特征;其中,所述若干URL访问请求样本包括被标记了样本标签的URL访问请求样本和未标记样本标签的URL访问请求样本;所述样本标签表征所述URL访问请求样本为URL 攻击请求;
构建模块405(图4中未示出),基于提取到的参数特征构建训练样本;
训练模块406(图4中未示出),基于代价敏感的PU-Learning机器学习算法对所述若干URL访问请求样本进行训练得到所述URL攻击检测模型。
在本实施例中,与被标记了样本标签的URL访问请求样本和未标记样本标签的URL访问请求样本对应的损失函数,分别被配置了代价敏感权重;其中,与被标记了样本标签的URL访问请求样本对应的损失函数的代价敏感权重,大于与未标记样本标签的URL访问请求样本对应的损失函数的代价敏感权重。
在本实施例中,所述URL攻击检测模型包括基于PU-Learning机器学习算法对若干URL访问请求样本进行训练得到的多个机器学习模型;
将预测模块402进一步:
将所述参数特征分别输入所述多个机器学习模型进行预测计算,得到多个风险评分;
对所述多个风险评分进行加权计算得到所述URL访问请求的风险评分。
在本实施例中,提取出的所述若干维度的参数特征包括以下参数特征中的多个的组合:
URL参数的字符总数、URL参数的字母总数、URL参数的数字总数、 URL参数的符号总数、URL参数的不同字符数、URL参数的不同字母数、 URL参数的不同数字数、URL参数的不同符号数。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
与上述方法实施例相对应,本说明书还提供了一种电子设备的实施例。该电子设备包括:处理器以及用于存储机器可执行指令的存储器;其中,处理器和存储器通常通过内部总线相互连接。在其他可能的实现方式中,所述设备还可能包括外部接口,以能够与其他设备或者部件进行通信。
在本实施例中,通过读取并执行所述存储器存储的与URL攻击检测的控制逻辑对应的机器可执行指令,所述处理器被促使:
从URL访问请求中携带的URL参数中分别提取若干维度的参数特征;
将所述参数特征输入预设的URL攻击检测模型进行预测计算,得到所述 URL访问请求的风险评分;其中,所述URL攻击检测模型为基于PU-Learning 机器学习算法对若干URL访问请求样本进行训练得到的机器学习模型;
基于所述风险评分确定所述URL访问请求是否为URL攻击请求。
在本实施例中,所述URL攻击检测模型为基于代价敏感的PU-Learning 机器学习算法对所述若干URL访问请求样本进行训练得到的机器学习模型。
在本实施例中,通过读取并执行所述存储器存储的URL攻击检测的控制逻辑对应的机器可执行指令,所述处理器还被促使:
从所述若干URL访问请求样本中携带的URL参数中分别提取若干维度的参数特征;其中,所述若干URL访问请求样本包括被标记了样本标签的 URL访问请求样本和未标记样本标签的URL访问请求样本;所述样本标签表征所述URL访问请求样本为URL攻击请求;
基于提取到的参数特征构建训练样本;
基于代价敏感的PU-Learning机器学习算法对所述若干URL访问请求样本进行训练得到所述URL攻击检测模型。
在本实施例中,与被标记了样本标签的URL访问请求样本和未标记样本标签的URL访问请求样本对应的损失函数,分别被配置了代价敏感权重;其中,与被标记了样本标签的URL访问请求样本对应的损失函数的代价敏感权重,大于与未标记样本标签的URL访问请求样本对应的损失函数的代价敏感权重。
在本实施例中,所述URL攻击检测模型包括基于PU-Learning机器学习算法对若干URL访问请求样本进行训练得到的多个机器学习模型;
在本实施例中,通过读取并执行所述存储器存储的URL攻击检测的控制逻辑对应的机器可执行指令,所述处理器还被促使:
将所述参数特征分别输入所述多个机器学习模型进行预测计算,得到多个风险评分;
对所述多个风险评分进行加权计算得到所述URL访问请求的风险评分。
在本实施例中,提取出的所述若干维度的参数特征包括以下参数特征中的多个的组合:
URL参数的字符总数、URL参数的字母总数、URL参数的数字总数、 URL参数的符号总数、URL参数的不同字符数、URL参数的不同字母数、 URL参数的不同数字数、URL参数的不同符号数。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

Claims (9)

1.一种URL攻击检测方法,所述方法包括:
从URL访问请求中携带的URL参数中分别提取若干维度的参数特征;
将所述参数特征输入预设的URL攻击检测模型进行预测计算,得到所述URL访问请求的风险评分;其中,所述URL攻击检测模型为基于代价敏感的PU-Learning机器学习算法对若干URL访问请求样本进行训练得到的机器学习模型;其中,所述若干URL访问请求样本包括被标记了样本标签的URL访问请求样本和未标记样本标签的URL访问请求样本;所述样本标签表征所述URL访问请求样本为URL攻击请求;与被标记了样本标签的URL访问请求样本和未标记样本标签的URL访问请求样本对应的损失函数,分别被配置了代价敏感权重;其中,与被标记了样本标签的URL访问请求样本对应的损失函数的代价敏感权重,大于与未标记样本标签的URL访问请求样本对应的损失函数的代价敏感权重;
基于所述风险评分确定所述URL访问请求是否为URL攻击请求。
2.根据权利要求1所述的方法,所述方法还包括:
从所述若干URL访问请求样本中携带的URL参数中分别提取若干维度的参数特征;
基于提取到的参数特征构建训练样本;
基于代价敏感的PU-Learning机器学习算法对所述若干URL访问请求样本进行训练得到所述URL攻击检测模型。
3.根据权利要求1所述的方法,所述URL攻击检测模型为基于代价敏感的PU-Learning机器学习算法对若干URL访问请求样本进行训练得到的多个机器学习模型;
将所述参数特征输入预设的URL攻击检测模型进行预测计算,得到所述URL访问请求的风险评分,包括:
将所述参数特征分别输入所述多个机器学习模型进行预测计算,得到多个风险评分;对所述多个风险评分进行加权计算得到所述URL访问请求的风险评分。
4.根据权利要求1或者2所述的方法,提取出的所述若干维度的参数特征包括以下参数特征中的多个的组合:
URL参数的字符总数、URL参数的字母总数、URL参数的数字总数、URL参数的符号总数、URL参数的不同字符数、URL参数的不同字母数、URL参数的不同数字数、URL参数的不同符号数。
5.一种URL攻击检测装置,所述装置包括:
第一提取模块,从URL访问请求中携带的URL参数中分别提取若干维度的参数特征;
预测模块,将所述参数特征输入预设的URL攻击检测模型进行预测计算,得到所述URL访问请求的风险评分;其中,所述URL攻击检测模型为基于代价敏感的PU-Learning机器学习算法对若干URL访问请求样本进行训练得到的机器学习模型;其中,所述若干URL访问请求样本包括被标记了样本标签的URL访问请求样本和未标记样本标签的URL访问请求样本;所述样本标签表征所述URL访问请求样本为URL攻击请求;与被标记了样本标签的URL访问请求样本和未标记样本标签的URL访问请求样本对应的损失函数,分别被配置了代价敏感权重;其中,与被标记了样本标签的URL访问请求样本对应的损失函数的代价敏感权重,大于与未标记样本标签的URL访问请求样本对应的损失函数的代价敏感权重;
确定模块,基于所述风险评分确定所述URL访问请求是否为URL攻击请求。
6.根据权利要求5所述的装置,所述装置还包括:
第二提取模块,从所述若干URL访问请求样本中携带的URL参数中分别提取若干维度的参数特征;
构建模块,基于提取到的参数特征构建训练样本;
训练模块,基于代价敏感的PU-Learning机器学习算法对所述若干URL访问请求样本进行训练得到所述URL攻击检测模型。
7.根据权利要求5所述的装置,所述URL攻击检测模型为基于代价敏感的PU-Learning机器学习算法对若干URL访问请求样本进行训练得到的多个机器学习模型;
将预测模块进一步:
将所述参数特征分别输入所述多个机器学习模型进行预测计算,得到多个风险评分;对所述多个风险评分进行加权计算得到所述URL访问请求的风险评分。
8.根据权利要求5或者6所述的装置,提取出的所述若干维度的参数特征包括以下参数特征中的多个的组合:
URL参数的字符总数、URL参数的字母总数、URL参数的数字总数、URL参数的符号总数、URL参数的不同字符数、URL参数的不同字母数、URL参数的不同数字数、URL参数的不同符号数。
9.一种电子设备,包括:
处理器;
用于存储机器可执行指令的存储器;
其中,通过读取并执行所述存储器存储的机器可执行指令,所述处理器被促使:
从URL访问请求中携带的URL参数中分别提取若干维度的参数特征;
将所述参数特征输入预设的URL攻击检测模型进行预测计算,得到所述URL访问请求的风险评分;其中,所述URL攻击检测模型为基于代价敏感的PU-Learning机器学习算法对若干URL访问请求样本进行训练得到的机器学习模型;其中,所述若干URL访问请求样本包括被标记了样本标签的URL访问请求样本和未标记样本标签的URL访问请求样本;所述样本标签表征所述URL访问请求样本为URL攻击请求;与被标记了样本标签的URL访问请求样本和未标记样本标签的URL访问请求样本对应的损失函数,分别被配置了代价敏感权重;其中,与被标记了样本标签的URL访问请求样本对应的损失函数的代价敏感权重,大于与未标记样本标签的URL访问请求样本对应的损失函数的代价敏感权重;
基于所述风险评分确定所述URL访问请求是否为URL攻击请求。
CN201710896594.2A 2017-09-28 2017-09-28 Url攻击检测方法、装置以及电子设备 Active CN107577945B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710896594.2A CN107577945B (zh) 2017-09-28 2017-09-28 Url攻击检测方法、装置以及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710896594.2A CN107577945B (zh) 2017-09-28 2017-09-28 Url攻击检测方法、装置以及电子设备

Publications (2)

Publication Number Publication Date
CN107577945A CN107577945A (zh) 2018-01-12
CN107577945B true CN107577945B (zh) 2021-03-23

Family

ID=61039604

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710896594.2A Active CN107577945B (zh) 2017-09-28 2017-09-28 Url攻击检测方法、装置以及电子设备

Country Status (1)

Country Link
CN (1) CN107577945B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108111489B (zh) * 2017-12-07 2020-06-30 阿里巴巴集团控股有限公司 Url攻击检测方法、装置以及电子设备
CN108229156A (zh) 2017-12-28 2018-06-29 阿里巴巴集团控股有限公司 Url攻击检测方法、装置以及电子设备
CN108366071B (zh) * 2018-03-06 2020-06-23 阿里巴巴集团控股有限公司 Url异常定位方法、装置、服务器及存储介质
CN108600200B (zh) * 2018-04-08 2021-06-11 腾讯科技(深圳)有限公司 域名检测方法、装置、计算机设备及存储介质
CN108881263B (zh) * 2018-06-29 2022-01-25 北京奇虎科技有限公司 一种网络攻击结果检测方法及系统
CN108683687B (zh) * 2018-06-29 2021-08-10 北京奇虎科技有限公司 一种网络攻击识别方法及系统
CN108881265B (zh) * 2018-06-29 2021-02-12 北京奇虎科技有限公司 一种基于人工智能的网络攻击检测方法及系统
CN108471429B (zh) * 2018-06-29 2021-10-15 北京奇虎科技有限公司 一种网络攻击告警方法及系统
CN109375609B (zh) * 2018-10-18 2021-02-02 北京鼎力信安技术有限公司 异常攻击的检测方法及装置
CN116827677A (zh) * 2019-04-16 2023-09-29 北京嘀嘀无限科技发展有限公司 检测异常的系统和方法
CN110808968B (zh) * 2019-10-25 2022-02-11 新华三信息安全技术有限公司 网络攻击检测方法、装置、电子设备和可读存储介质
CN113158182A (zh) * 2020-01-07 2021-07-23 深信服科技股份有限公司 一种web攻击检测方法、装置及电子设备和存储介质
CN111314291A (zh) * 2020-01-15 2020-06-19 北京小米移动软件有限公司 网址安全性检测方法及装置、存储介质
CN112884161B (zh) * 2021-02-02 2021-11-02 山东省计算中心(国家超级计算济南中心) 一种抗标签翻转攻击的协同学习方法、装置、设备及介质
CN113312622A (zh) * 2021-06-09 2021-08-27 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) 一种检测url的方法及装置
CN114553496B (zh) * 2022-01-28 2022-11-15 中国科学院信息工程研究所 基于半监督学习的恶意域名检测方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104735074A (zh) * 2015-03-31 2015-06-24 江苏通付盾信息科技有限公司 一种恶意url检测方法及其实现系统
CN106201871B (zh) * 2016-06-30 2018-10-02 重庆大学 基于代价敏感半监督的软件缺陷预测方法
CN106789888B (zh) * 2016-11-18 2020-08-04 重庆邮电大学 一种多特征融合的钓鱼网页检测方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"PU学习场景下代价敏感数据流分类算法研究";李硕;《中国优秀硕士学位论文全文数据库 信息科技辑》;20160115;第I138-318页 *
Cost-Sensitive Rank Learning From Positive and Unlabeled Data for Visual Saliency Estimation;Jia Li等;《IEEE Signal Processing Letters》;20100630;全文 *
Semi-supervised learning by disagreement;Zhi-Hua Zhou;《2008 IEEE International Conference on Granular Computing》;20081031;全文 *

Also Published As

Publication number Publication date
CN107577945A (zh) 2018-01-12

Similar Documents

Publication Publication Date Title
CN108111489B (zh) Url攻击检测方法、装置以及电子设备
CN107577945B (zh) Url攻击检测方法、装置以及电子设备
US11514297B2 (en) Post-training detection and identification of human-imperceptible backdoor-poisoning attacks
Song et al. Constructing unrestricted adversarial examples with generative models
US11609990B2 (en) Post-training detection and identification of human-imperceptible backdoor-poisoning attacks
US11475130B2 (en) Detection of test-time evasion attacks
CN109302410B (zh) 一种内部用户异常行为检测方法、系统及计算机存储介质
Thieltges et al. The devil’s triangle: Ethical considerations on developing bot detection methods
Shi et al. Active deep learning attacks under strict rate limitations for online API calls
US20190147218A1 (en) User specific classifiers for biometric liveness detection
Liu et al. Adversaries or allies? Privacy and deep learning in big data era
Ra et al. DeepAnti-PhishNet: Applying deep neural networks for phishing email detection
Barros et al. Malware‐SMELL: A zero‐shot learning strategy for detecting zero‐day vulnerabilities
CN112948578B (zh) 一种dga域名开集分类方法、装置、电子设备及介质
Suratkar et al. Deep-fake video detection approaches using convolutional–recurrent neural networks
CN115238827A (zh) 保护隐私的样本检测系统训练方法及装置
Abdessadki et al. A new classification based model for malicious PE files detection
Özkan et al. Evaluation of convolutional neural network features for malware detection
CN111062019A (zh) 用户攻击检测方法、装置、电子设备
WO2020075462A1 (ja) 学習器推定装置、学習器推定方法、リスク評価装置、リスク評価方法、プログラム
Tsai et al. Toward more generalized malicious url detection models
Sheta et al. A professional comparison of c4. 5, mlp, svm for network intrusion detection based feature analysis
Mondal et al. Spear Phishing Detection: An Ensemble Learning Approach
US20230306106A1 (en) Computer Security Systems and Methods Using Self-Supervised Consensus-Building Machine Learning
CN113259369B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20191212

Address after: P.O. Box 31119, grand exhibition hall, hibiscus street, 802 West Bay Road, Grand Cayman, Cayman Islands

Applicant after: Innovative advanced technology Co., Ltd

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Co., Ltd.

GR01 Patent grant
GR01 Patent grant