logo好方法网

基于人工智能的web检测方法和装置


技术摘要:
本申请公开了一种基于人工智能的web检测方法和装置。所述方法包括:步骤A,获取web检测操作的训练样本数据;步骤B,利用至少两种特征提取算法,分别获取所述训练样本数据对应的不同类别的特征向量文件;步骤C,利用至少两种监督学习算法,对训练样本数据的不同类别的特  全部
背景技术:
Web的开放性、易用性、易开发性和Web应用的广泛性使Web应用的安全问题日益突 出。随着互联网的快速发展,Web应用也随之多样化快速发展,而针对Web应用的攻击形式也 纷繁多样,其中以SQL(Structured  Query   Language,结构化查询语言)注入攻击和XSS (cross  site  script,跨站脚本)攻击最为流行,危害最大,是当前信息泄露的主要途径。这 两类攻击具有危害大、类型多、变异快、攻击隐蔽等特点,是Web应用攻击检测的重要任务之 一。 在Web应用攻击检测的发展历史中,一般是依赖于规则的黑名单检测机制,无论是 Web应用防火墙或IDS(Intrusion  Detection  Systems,入侵检测系统)等,都是依赖于检测 引擎内置的正则表达式,进行报文的匹配。通常能够抵御绝大部分的攻击,但在实际应用环 境中普遍存在以下问题,规则库维护和升级困难,误报不易及时修改;规则级别难以设定, 太严会产生误报,太宽则会漏报;特征库臃肿不堪,严重影响检测性能和正常的业务需求。 针对Web攻击检测已经有不少研究成果,主要包括离线分析和实时分析这种方式。 对于离线分析,Adeva等人和Almgren等人提出通过分析Web日志发现攻击行为;何鹏程等人 在分析日志的基础上,提出增加网络参数指标,进而发现攻击。离线分析存在较大的缺陷, 不能够实时检测和阻断,难以满足Web网站的实时性防护要求。对于实时分析方式,除了传 统的特征规则检测方法外,机器学习方法也被广泛研究。张伟等人提出使用人工特征提取, 并使用SVM训练分类器,用以检测Web攻击;Vishnu等人使用基于朴素贝叶斯、SVM和J48决策 树3种机器学习算法预测XSS脚本攻击;Rathore等人提出XSS检测工具XSSClassifier,使用 10种不同机器学习算法检测SNS  网站的XSS攻击。Fang  Yong等人提出基于SQL注入的分词 向量,并使用深度学习算法LSTM训练SQL注入检测模型。这些方法存在以下问题,选择特征 向量提取算法单一、简单的使用一个或多个监督学习算法、缺少利用集成学习和强化学习 进行Web攻击检测的深入研究。 在Web攻击检测领域,学习方式可以为深度学习、集成学习或者强化学习,基于提 升Web攻击检测能力的研究,还没有形成一个较为成熟的应用体系。特别是,在Web攻击检测 领域,如何提高Web攻击检测精度和检测效率,降低误报,这是一个新的挑战。 鉴于此,现有技术有待改进和提高。
技术实现要素:
为了解决上述技术问题,本申请提供了一种基于人工智能的web检测方法和装置, 能够提高Web攻击模型的检测精度和检测效率。 为了达到本申请目的,本申请提供了一种基于人工智能的web检测方法,包括: 步骤A,获取web检测操作的训练样本数据; 4 CN 111600919 A 说 明 书 2/17 页 步骤B,利用至少两种特征提取算法,分别获取所述训练样本数据对应的不同类别 的特征向量文件; 步骤C,利用至少两种监督学习算法,对训练样本数据的不同类别的特征向量文件 进行训练,得到基模型; 步骤D,对基模型进行组合,得到WAF检测模型。 在一个示例性实施例中,所述步骤A中的训练样本数据是通过如下至少一种方式 获取的,包括: 从Web应用防护设备接收的网络流量中,获取Web合法载荷和/或Web 攻击载荷; 利用网络爬虫从预先记录的合法网站上获取Web合法载荷; 利用网络爬虫从预先记录的开源社区获取Web攻击载荷; 获取web服务器执行渗透测试操作过程中检测得到的Web攻击载荷。 在一个示例性实施例中,所述在步骤B之前,所述方法还包括: 对所述训练样本数据进行数据清洗操作。 在一个示例性实施例中,所述步骤C包括: 步骤C1,在同一特征向量经过至少两种监督学习算法训练后,对训练所产生的至 少两个基模型进行交叉验证,得到基模型的交叉验证结果; 步骤C2,根据所述基模型的交叉验证结果,利用预先存储的基模型选择策略选择 最优的Top-k个最优的监督学习算法,其中Top-k为自然数; 步骤C3,更换特征向量的类别,循环执行步骤C1和步骤C2,获取针对不同类别特征 向量的Top-k个交叉验证最优的监督学习算法,直到对所述训练样本数据的全部类别的特 征向量均执行完成步骤C1和步骤C2; 步骤C4,记录每个基模型的特征向量类别、Top-k个监督学习算法及交叉验证结 果。 在一个示例性实施例中,所述步骤D包括: 步骤D1、根据每个基模型的特征向量类别、Top-k个监督学习算法及交叉验证结 果,对所述至少两个基模型进行训练,得到至少两个基分类器; 步骤D2,根据预先获取的需求信息,对得到的基分类器进行组合,得到高层分类 器; 步骤D3,在对高层分类器训练完成后,对高层训练器进行交叉验证,得到高层分类 器的交叉验证结果; 步骤D4,根据高层分类器的交叉验证结果,生成WAF检测模型。 在一个示例性实施例中,所述步骤D2包括: 采用预先设置的复合金字塔模型的集成策略,对得到的基分类器进行组合,得到 高层分类器,其中所述高层分类器所使用的不同监督学习算法均使用相同的模块进行处 理,包括训练样本集合获取模块、特征提取模块和检测结果判断模块中的至少一个。 在一个示例性实施例中,所述在步骤D之后,所述方法还包括: 利用所述web检测模型,对网络流量进行检测。 在一个示例性实施例中,所述在步骤D之后,所述方法还包括: 步骤E,获取Web攻击免杀样本训练数据集; 5 CN 111600919 A 说 明 书 3/17 页 步骤F,利用所述Web攻击免杀样本训练数据集,迭代训练新的智能WAF  检测模型。 在一个示例性实施例中,所述步骤E包括: 获取已检测确认为web攻击的数据作为黑样本数据; 利用强化学习基于获取到的黑样本数据生成web攻击免杀样本数据。 在一个示例性实施例中,所述利用强化学习基于获取到的黑样本生成web  攻击免 杀样本数据,包括: 利用强化学习基于所述黑样本数据生成伪装为合法载荷的攻击载荷; 在所述攻击载荷在经过预设的查杀处理操作后,利用强化学习为所述每个攻击载 荷的处理结果确定对应的奖励数值; 记录所述攻击载荷在攻击载荷对应的每组对应的奖励数值; 根据所述奖励数值,从所述攻击载荷中确定web攻击免查杀样本数据。 一种基于人工智能的web检测装置,其特征在于,包括处理器和存储器,其中所述 存储器存储计算机程序,所述处理器用于调用所述处理器中的计算机程序以实现上文任一 所述的方法。 本申请实施例提供的技术方案,获取web检测操作的训练样本数据,利用至少两种 特征提取算法,分别获取所述训练样本数据对应的不同类别的特征向量文件,并利用至少 两种监督学习算法,对训练样本数据的不同类别的特征向量文件进行训练,得到基模型,再 对基模型进行组合,得到WAF检测模型,够提高Web攻击模型的检测精度和检测效率。 本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变 得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在说明书、权利 要求书以及附图中所特别指出的结构来实现和获得。 附图说明 附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本 申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。 图1为本申请提供的一种基于人工智能的web检测方法的流程图; 图2为本申请实施例提供的基于混合学习的智能WAF构建方法的流程示意图; 图3为本申请实施例提供的基于混合学习的智能WAF训练方法的流程图; 图4为本申请实施例提供的一种基于混合学习的智能WAF的复合金字塔模型的示 意图; 图5为本申请实施例提供的一种基于混合学习的智能WAF的强化学习方法的流程 图; 图6为本申请实施例提供的一种基于混合学习的智能WAF装置的强化学习A3C算法 的示意图; 图7为本申请实施例提供的一种基于混合学习的智能WAF检测方法的流程图; 图8为本申请实施例提供的一种基于混合学习的智能WAF装置的结构示意图; 图9为本申请实施例提供的一种基于混合学习的智能WAF装置的部署示意图。 6 CN 111600919 A 说 明 书 4/17 页
下载此资料需消耗2积分,
分享到:
收藏