本发明涉及网络安全领域,具体地,涉及一种基于人工智能的web非法请求的拦截方法。
背景技术:
1、随着互联网的高速发展和社交媒体等的兴起,带来便利的同时也导致网络空间的安全形势越来越严峻,网络安全和用户隐私问题也越发受到人们关注。一个web系统每天需要处理大量的用户请求,除了用户的合理请求,还伴随着非法请求,如xss(跨站脚本)攻击请求、csrf(跨站请求伪造)和sql注入漏洞等,面对纷繁复杂的网络攻击,目前常用的解决方法是利用开发框架提供的相关机制和功能进行拦截,但由于提供的相关机制和功能并非专门用于拦截恶意攻击等非法请求,导致非法请求的识别率低和识别效率低,从而导致用户的web网络空间被病毒侵占或用户隐私被泄漏等问题。
技术实现思路
1、为了保护web的网络安全和用户隐私,本发明提供了一种基于人工智能的web非法请求的拦截方法,所述方法包括:获取应用程序的请求日志文件,基于所述请求日志文件获得识别模型,将所述识别模型应用到所述应用程序;若所述应用程序接收到请求,基于所述识别模型,识别所述请求的特征,基于所述特征,判断所述请求是否合法,若是则将所述请求传递到服务器进行响应处理;若否则拦截所述请求。通过应用程序的请求日志文件获得识别模型,再将所述识别模型应用到所述应用程序,通过识别模型识别请求的特征,从而判断所述请求是否合法,识别模型的应用可以全面的和快速解析请求的特征,从而提高非法请求的识别率和识别效率。
2、在实施上述方案的过程中,申请人发现不同算法训练的识别模型有不同的识别效果,为了选择更优的识别模型,申请人优化了获得识别模型的步骤,通过所述请求日志文件训练多个不同的模型,再通过测试集测试模型获得识别结果,再将识别结果与预设参数比较获得最优的模型。
3、进一步地,基于所述请求日志文件获得识别模型的具体步骤包括:预处理所述请求日志文件,获得数据集,所述数据集包括若干合法请求数据和若干非法请求数据;对所述数据集进行特征提取和特征构建,获得训练集;基于预设参数,选取若干第一模型;基于所述训练集,对每个所述第一模型进行训练,累计获得若干优化模型;基于测试集对每个所述优化模型进行测试,累计获得若干测试结果;将每个所述测试结果与预设指标进行比较,获得最优测试结果;基于与所述最优测试结果对应的所述优化模型获得所述识别模型。预处理所述请求日志文件可以提高所述数据集的多样性和重复性,以提高模型的鲁棒性,所述数据集进行特征提取和特征构建,可以提高所述识别模型的识别性能和泛化能力,使用所述训练集对每个所述第一模型进行迭代训练,可以使得所述优化模型的预测结果和真实值之前的误差最小化,使用测试集对每个所述优化模型进行评估,包括每个所述优化模型的预测性能、准确度和泛化能力,选择出各项指标最优的所述优化模型,获得所述识别模型,从而使得所述识别模型的识别率提高和识别效率提升。
4、在实施上述方案的过程中,申请人发现用户的请求为非法请求,但用户需要相关的请求数据,为了解决这一问题,申请人改进了所述方法,获取请求的请求数据,通过提取并匹配请求数据的关键字,推荐用户与请求相关的数据。
5、进一步地,若所述请求为非法请求,所述方法还包括:获取所述请求的请求数据,对所述请求数据进行关键字提取,获得关键字;获得与所述关键字相匹配的推荐数据,所述推荐数据用于在请求被拦截状态下推荐用户需要的数据,在保证用户网络安全的情况下推荐用户与请求相关的数据,可以提高用户的体验感。
6、在实施上述方案的过程中,申请人发现所述识别模型会误将某些用户请求识别为非法请求,进而拦截,导致用户无法查看请求数据,为了解决这一问题,申请人改进了所述方法,将与请求对应的网址记录到信任名单,从而实现用户可以查看请求数据。
7、进一步地,若所述请求为非法请求,所述方法还包括:将与所述请求对应的第一网址记录到信任名单,所述请求更新为合法请求,所述信任名单用于误拦截情况下用户访问所述第一网址。增加误拦截的补救措施,提高用户的体验感。
8、在实施上述方案的过程中,为了减少所述识别模型的误拦截次数,申请人改进了所述方法,获取所述信任名单中的请求,对其进行特征提取,获得信任特征,若所述识别模型识别到所述信任特征,则预测所述请求是合法请求,从而减少所述识别模型的误拦截次数。
9、进一步地,所述方法还包括:获取所述信任名单的若干所述第一网址,将每个所述第一网址进行特征提取,获得信任特征;若所述识别模型识别到所述信任特征,则预测所述请求是合法请求。减少误拦截次数,提高用户的体验感。
10、在实施上述方案的过程中,申请人发现某些请求虽然识别为合法请求,但用户讨厌并将其拉黑至黑名单,为了解决这一问题,申请人改进了所述方法,获取黑名单中请求,对其进行特征提取,获得拦截特征,若所述识别模型识别到所述拦截特征,则预测所述请求是非法请求,实现自动识别用户讨厌的请求,提高用户的体验感。
11、进一步地,若所述请求为合法请求,所述方法还包括:获取用户黑名单中的若干第二网址;将每个所述第二网址进行特征提取,获得拦截特征;若所述识别模型识别到所述拦截特征,则预测所述请求是非法请求。自动识别用户讨厌的请求,提高用户的体验感。
12、在实施上述方案的过程中,申请人发现某些请求中包含了广告,其广告占用了网页的大篇幅位置,降低用户的使用感和观看性,甚至用户点到某些广告会跳转至其他网页,从而导致用户的网络安全受到攻击或用户隐私泄露,为了解决这一问题,申请人改进了所述方法,通过包含广告的网页数据和不包含广告的网页数据对所述识别模型进一步进行训练,从而使得所述识别模型可以识别所述请求的请求数据是否包含广告,若是则将广告数据删除,从而保护用户的网络安全和隐私安全。
13、进一步地,若所述请求为合法请求,所述方法还包括:获取所述应用程序的网页数据,所述网页数据包括包含广告的网页数据和不包含广告的网页数据;对所述网页数据进行特征提取获得网页训练集,基于所述网页训练集对所述识别模型进行训练,所述识别模型针对所述网页数据进行是否包含广告的识别。进一步的完善所述识别模型,提高所述识别模型的完整性和多功能性。
14、进一步地,所述识别模型识别所述网页数据是否包含广告的具体步骤包括:获取所述请求的请求数据;基于所述识别模型分析所述请求数据获得广告特征,所述广告特征包含若干子特征,每个所述子特征对应一个权重;基于每个所述子特征的所述权重累计获得所述广告特征的权重值;判断所述权重值是否大于或等于阈值;若是则基于所述广告特征获取所述请求数据中的广告数据;删除所述广告数据,获得过滤数据;将所述请求数据更新为所述过滤数据。删除广告数据,提高用户的使用感和减少潜在的危险。
15、在实施上述方案的过程中,申请人发现某些场景下,用户需要查看拦截记录,申请人改进了所述方法,将拦截记录到拦截名单,用于用户查看拦截记录。
16、进一步地,若所述请求为非法请求,所述方法还包括:记录所述请求到拦截名单。
17、在实施上述方案的过程中,申请人发现某些非法请求的请求数据包含恶意数据,为了解决这一问题,申请人改进了所述方法,将恶意数据删除或替换,使得非法请求变更为合法请求,可以在保证用户的网络安全情况下,提高请求数据的可用范围。
18、进一步地,若所述请求为非法请求,所述方法还包括:获取所述请求的请求数据,将所述请求数据进行清洗,获得第二请求,将所述第二请求变更为合法请求,所述请求更新为所述第二请求。提高请求数据的可用范围,从而提高用户的体验感。
19、在实施上述方案的过程中,申请人考虑受到非法请求的攻击时,应用程序应该对其进行相应的响应或保护措施,申请人改进了所述方法,判断非法请求的类型,针对不同的类型响应不同的机制,从而进一步的保护用户的网络安全或隐私。
20、进一步地,若所述请求为非法请求,所述方法还包括:基于所述识别模型对所述请求进行分析,获得所述请求的非法请求类型,基于所述非法请求类型,启动与所述非法请求类型相应的应急相应机制。
21、在实施上述方案的过程中,申请人考虑到某些用户不希望留下请求记录,于是申请人改进了所述方法,在用户关闭请求对应的网址后,将请求记录删除,实现无痕浏览,保护用户的隐私。
22、进一步地,所述方法还包括:若所述请求结束,则将所述请求的记录删除。
23、在实施上述方案的过程中,申请人考虑到某些用户的请求记录希望记录到隐藏空间,不想其他人查看,于是申请人改进了所述方法,设置了验证码,当输入的验证码与用户设定的验证码一致时,才能查看隐藏起来的请求记录,从而提高用户隐私的私密性。
24、进一步地,所述方法还包括:获取验证码,判断所述验证码与设定验证码是否相同,若是则获取所述请求的请求记录。
25、在实施上述方案的过程中,申请人发现有些不法分子会通过网络爬取用户的网页数据,为了解决这一问题,申请人改进了所述方法,在用户请求记录中增加或替换虚假的请求记录,使得不法分子获取的用户信息错误,从而达到保护隐私的目的。
26、进一步地,所述方法还包括:设置虚假请求记录;将所述请求的请求记录更新为所述虚假请求记录。
27、本发明提供的一个或多个技术方案,至少具有如下技术效果或优点:
28、1.通过训练多个模型选择最优的识别模型,提高对非法请求的识别率和提升识别效率。2.分析拦截的非法请求对应的请求数据,推荐用户与请求数据相关的数据,保证用户网络安全的同时满足用户的请求。3.识别合法请求的请求数据是否包含广告,并对广告数据进行删除,提高用户的网络安全。4.无痕浏览和验证码提高了用户的隐私性。