一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于人工智能的WEB高交互蜜罐系统及防攻击方法与流程

2022-03-09 05:18:57 来源:中国专利 TAG:

一种基于人工智能的web高交互蜜罐系统及防攻击方法
技术领域
1.本发明涉及计算机网络安全领域,尤其涉及一种基于人工智能的web高交互蜜罐系统。


背景技术:

2.蜜罐(英语:honeypot)是一个电脑术语,专指用来侦测或抵御未经授权操作或者是黑客攻击的陷阱,因原理类似诱捕昆虫的蜜罐因而得名。蜜罐通常伪装成看似有利用价值的网络、资料、电脑系统,并故意设置了bug,用来吸引黑客攻击。由于蜜罐事实上并未对网络提供任何有价值的服务,所以任何对蜜罐的尝试都是可疑的。蜜罐中还可能装有监控软件,用以监控黑客入侵后的举动。
3.强化学习是人工智能的重要研究方向——机器学习技术中除监督学习和无监督学习的第三大分支。强化学习与另两个分支的主要区别是,增加了奖励机制,而且不受数据集的“监督”或结构关系限制;同时,强化学习的数据集不是各自独立的,因为强化学习的状态之间是有紧密的转移、依赖关系的。也就是说,强化学习不需要明确的指导信号,而且适用的范围扩展到了多任务、多样化场景。
4.q-learning(q学习)算法是强化学习的经典算法之一,是基于马尔科夫决策过程实现的一种累计最优策略的选取算法。q学习旨在通过bellman方程,采用时序差分的方式进行迭代更新状态-动作价值函数q,使q函数逼近至真实值q*,从而最终得到累积的最优策略。
5.根据交互性能分类,蜜罐可以分为低交互蜜罐和高交互蜜罐两类。低交互蜜罐往往只模拟某一种特定的服务、一种协议或一个真实场景的小部分。它们通过对网络流量的捕捉和分析,获取攻击者的源ip地址、网络请求信息与载荷信息等流量数据的基本信息。低交互蜜罐最重要的优点是规模较小、部署的难度较小,这使得目前低交互蜜罐成为了网络安全领域常用的攻击数据收集工具。但与此同时,其轻量级的特点也带来了一些难以避免的缺点。其中最为关键的一点是,低交互蜜罐往往受到其规模限制,伪装程度较差,容易被攻击者发现其蜜罐的真实身份。另一类蜜罐则是高交互蜜罐。通常情况下,高交互蜜罐会对真实场景中的设备和服务进行全方位的模拟,尤其是会对操作环境进行全方位的模拟,以更好地迷惑技术能力较强的攻击者。这些蜜罐往往与攻击者有长时间、多次的交互过程,达到对真实系统环境的高度仿真,故称为高交互蜜罐。高交互蜜罐最主要的优点是交互能力强、模拟程度高,让攻击者难以分辨;但同时,其最主要的缺点是部署规模较大,资源需求也较大,导致其部署成本较高、难度较大。另一个缺点是,如果高交互蜜罐被攻陷,那么攻击者可能会将该蜜罐作为跳板,对其他系统进行攻击。总之,低交互蜜罐和高交互蜜罐各自具有明显的优缺点。前者虽然规模小、易于部署和维护,但是仿真度低、容易被攻击者识别出蜜罐身份;后者虽然仿真度高、交互性强,但是往往需要大量软硬件资源来部署、运行和维护。
6.同时,现有的蜜罐大多都在辨认出对蜜罐的攻击之后就即刻关闭与攻击者之间的连接。这样虽然能最小化蜜罐系统被彻底攻陷的风险,也收集到了一些初步的攻击数据,但
是让研究者丧失了获取攻击者的进一步攻击操作的机会。本发明的目标是,对这两类蜜罐系统取长补短,设计出一种轻量级、交互性强、引诱攻击者进行连续交互攻击的高交互蜜罐系统。本发明设计的蜜罐系统在初始状态下不能对攻击者做出即时的响应,但可以在受到攻击时将攻击请求转发到公网上,来获取并存储实际的脆弱设备对该请求的响应,最后将其转发给攻击者,使得攻击者误以为侵入了实际的设备,以此吸引攻击者进行进一步的攻击操作。在设计实现蜜罐系统的同时,结合目前热门的强化学习技术的经典算法——q-learning算法,提升蜜罐交互性能,提升蜜罐从海量的响应数据中选取发送给攻击者的响应的能力。


技术实现要素:

7.有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是结合低交互蜜罐与高交互蜜罐的优点,并尽可能最小化二者的缺点,设计出一款轻量级的、拥有高交互性能的蜜罐系统。
8.为实现上述目的,本发明提供了一种基于人工智能的web高交互蜜罐系统。
9.一种基于人工智能的web高交互蜜罐系统,包括请求收集层、响应获取层、人工智能层、日志记录层四层与活跃端口数据库、请求-响应数据库、人工智能数据库与访问日志数据库;请求收集层通过监听web服务相关端口来收集攻击者的恶意请求;响应获取层通过转发收到的恶意请求到公网并收集响应报文的方式,学习到每种恶意请求对应的响应报文,最终将响应报文回复给攻击者;日志记录层记录这次攻击的内容到访问日志数据库中;人工智能层结合人工智能技术中的强化学习算法,从大量来自公网ip的响应报文中选取一个攻击者最为期待的响应报文,将其回复给攻击者,并在蜜罐系统日志中记录这次攻击的细节。
10.进一步的,所述的
11.请求收集层:收集发送到蜜罐系统的恶意http请求,并将其转发给响应获取层;
12.响应获取层:接收来自请求收集层的响应报文,在请求-响应数据库中查找包含该报文的元组。如果存在这样的元组,那么直接将该报文转发给人工智能层;否则将该请求报文转发给具有开放端口的公网ip,收集来自这些ip的响应报文,并将其存入请求-响应数据库中,最后将请求报文转发给人工智能层。
13.进一步的,所述的
14.人工智能层:运用强化学习算法——q-learning算法,选取请求报文对应的响应报文,并将其转发到日志记录层;
15.日志记录层:记录来自攻击这的请求报文与蜜罐系统对应的响应报文。
16.进一步的,所述的强化学习算法的包括:
17.步骤108-1、人工智能层接收来自响应获取层的请求报文,从请求-响应数据库中查找得到对应于该请求报文的来自于公网的全部响应报文;
18.步骤108-2、在初始状态下,随机从这些响应报文中选取一条响应报文回复给攻击者,随后记录攻击者的下一步攻击动作,若无下一步动作,则记录连接关闭,重复该过程若干次;
19.步骤108-3、将请求报文、响应报文和攻击者的下一步操作,也即q-learning算法
中的回报,进行分类、量化并存入人工智能数据库中,形成一张攻击者与蜜罐系统的会话表,也即q-learning算法中的q表;
20.步骤108-4、人工智能层读取会话表并运行q学习算法程序部分,以寻找能最大化攻击者与蜜罐系统交互轮数的响应报文,并存储该报文;
21.步骤108-5、人工智能层将选出的响应报文回复给攻击者。
22.进一步的,所述的
23.活跃端口数据库:存储公网ip及其开放的端口,主要包括端口号和ip地址两个字段;
24.进一步的,所述的
25.请求-响应数据库:存储请求报文及其对应的响应报文,主要包括端口号、请求报文、响应报文等字段。
26.进一步的,所述的
27.人工智能数据库:存储人工智能层生成的q表,主要包括请求报文、响应报文、响应回报、端口号等字段。
28.进一步的,所述的
29.访问日志数据库:记录对蜜罐系统的web攻击报文及蜜罐系统对应的响应报文,主要包括系统时间、请求报文、响应报文、端口号等字段。
30.一种基于人工智能的防攻击方法,应用于所述的基于人工智能的web高交互蜜罐系统,在收到恶意http请求后,蜜罐系统的响应获取层借助公网ip获取响应报文,随后人工智能层在筛选响应报文之后,将获取到的响应报文转发给攻击者,蜜罐系统与攻击者的完整交互过程包括如下步骤:
31.步骤101、攻击者对蜜罐系统的开放端口尝试进行攻击,蜜罐系统保持与攻击者的tcp连接,并由请求收集层暂存来自攻击者的http请求报文并转发到响应获取层;
32.步骤102、响应获取层尝试从请求-响应数据库中获取包括该请求报文的元组;
33.步骤103、如果响应获取层找到了这样的元组,直接跳过步骤104、步骤105和步骤106,从步骤107继续执行;
34.步骤104、如果响应获取层未找到包含该请求报文的元组,那么该层会在活跃端口数据库中查询对应端口开放的公网ip;
35.步骤105、响应获取层将请求报文转发到步骤104查询得到的公网ip对应端口,并在一定时间内等待并接收它们的响应报文;
36.步骤106、响应获取层将获取到的响应报文、请求报文与端口号一同存入请求-响应数据库中;
37.步骤107、响应获取层将请求报文转发到人工智能层;
38.步骤108、人工智能层使用q-learning算法从获取到的响应报文中筛选出一条最符合攻击者期待的响应报文,并将其发送给攻击者,最后将请求报文、选取得到的响应报文一同转发到日志记录层;
39.步骤109、日志记录层将这轮蜜罐系统的交互数据写入蜜罐日志。
40.进一步的,使用一种基于强化学习的响应报文选取算法,人工智能层响应报文选取功能的训练过程包括如下步骤:
41.步骤108-1、人工智能层接收来自响应获取层的请求报文,从请求-响应数据库中查找得到对应于该请求报文的来自于公网的全部响应报文;
42.步骤108-2、在初始状态下,随机从这些响应报文中选取一条响应报文回复给攻击者,随后记录攻击者的下一步攻击动作,若无下一步动作,则记录连接关闭,重复该过程若干次;
43.步骤108-3、将请求报文、响应报文和攻击者的下一步操作,也即q-learning算法中的回报,进行分类、量化并存入人工智能数据库中,形成一张攻击者与蜜罐系统的会话表,也即q-learning算法中的q表;
44.步骤108-4、人工智能层读取会话表并运行q学习算法程序部分,以寻找能最大化攻击者与蜜罐系统交互轮数的响应报文,并存储该报文;
45.步骤108-5、人工智能层将选出的响应报文回复给攻击者。
46.本发明的基于人工智能的web高交互蜜罐系统,在占用网络资源量较少的情况下,达到模拟真实脆弱服务的效果;同时支持与攻击者的多轮交互,实现了较高的交互性能;另外,将人工智能算法引入响应报文的选取过程中,进一步提升蜜罐系统的交互性能。本发明的系统以恶意http请求为输入,通过存储并向公网ip转发该请求报文,来获得真实web服务对该请求报文的响应;随后,结合人工智能技术,从大量来自公网ip的响应报文中选取一个攻击者最为期待的响应报文,将其回复给攻击者,并在蜜罐系统日志中记录这次攻击的细节。总之,本发明将低交互蜜罐占用资源少、部署简单的优点和高交互蜜罐伪装程度高、交互能力强的优点有机结合,最小化了两类蜜罐各自的缺点;并利用人工智能技术,在一定程度上提升了蜜罐系统的交互性能。
47.以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
48.图1是本发明的一个较佳实施例的总体架构示意图;
49.图2是本发明的一个较佳实施例的响应获取层的实现流程示意图;
50.图3是本发明的一个较佳实施例的人工智能层训练过程示意图。
51.其中:1-请求收集层、2-响应获取层、3-人工智能层、4-日志记录层、5-活跃端口数据库、6-请求-响应数据库、7-访问日志数据库、8-人工智能数据库。
具体实施方式
52.以下参考说明书附图介绍本发明的多个优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。
53.本发明的一个较佳实施例,由请求收集层1、响应获取层2、人工智能层3、日志记录层4四层设计与活跃端口数据库5、请求-响应数据库6、人工智能数据库8与访问日志数据库7四个数据库组成。本发明的系统通过监听与web服务相关的端口来收集攻击者的恶意请求,通过转发收到的恶意请求到公网并收集响应报文的方式,学习到每种恶意请求对应的最佳响应报文,最终将攻击者最期待的响应报文回复给攻击者,并记录这次攻击的内容到
访问日志数据库中。
54.如图1所示,本发明的一个较佳实施例包括:
55.1)请求收集层1:收集发送到蜜罐系统的恶意http请求,并将其转发给响应获取层;
56.2)响应获取层2:接收来自请求收集层的响应报文,在请求-响应数据库中查找包含该报文的元组。如果存在这样的元组,那么直接将该报文转发给人工智能层;否则将该请求报文转发给具有开放端口的公网ip,收集来自这些ip的响应报文,并将其存入请求-响应数据库中,最后将请求报文转发给人工智能层。
57.3)人工智能层3:运用强化学习经典算法——q-learning算法,选取请求报文对应的响应报文,并将其转发到日志记录层。
58.4)日志记录层4:记录来自攻击这的请求报文与蜜罐系统对应的响应报文。
59.5)活跃端口数据库5:存储公网ip及其开放的端口,主要包括端口号和ip地址两个字段。
60.6)请求-响应数据库6:存储请求报文及其对应的响应报文,主要包括端口号、请求报文、响应报文等字段。
61.7)人工智能数据库8:存储人工智能层生成的q表,主要包括请求报文、响应报文、响应回报、端口号等字段。
62.8)访问日志数据库7:记录对蜜罐系统的web攻击报文及蜜罐系统对应的响应报文,主要包括系统时间、请求报文、响应报文、端口号等字段。
63.如图2所示,攻击者与蜜罐系统的响应获取层的交互过程如下:首先,攻击者对蜜罐系统的开放端口尝试进行攻击,蜜罐系统保持与攻击者的tcp连接,并由请求收集层暂存来自攻击者的http请求报文并转发到响应获取层。随后,响应获取层尝试从请求-响应数据库中获取包括该请求报文的元组。如果响应获取层找到了这样的元组,响应获取层会直接将该报文转发给人工智能层进行进一步的操作。否则,响应获取层会在活跃端口数据库中查询对应端口开放的公网ip,并将请求报文转发到步骤104查询得到的公网ip对应端口,并在一定时间内等待并接收它们的响应报文。在等待与报文收集过程结束后,响应获取层将获取到的响应报文、请求报文与端口号一同存入请求-响应数据库中,并将请求报文转发到人工智能层。接下来人工智能层会完成响应报文选取与回复攻击者的工作。
64.如图3所示,蜜罐系统人工智能层的响应报文选取算法训练过程如下:首先,人工智能层接收来自响应获取层的请求报文,从请求-响应数据库中查找得到对应于该请求报文的来自于公网的全部响应报文。在初始状态下,人工智能层会随机地从这些响应报文中选取一条响应报文回复给攻击者,随后记录攻击者的下一步攻击动作(若无下一步动作,则记录连接关闭),重复该过程若干次。与此同时,人工智能层会将请求报文、响应报文和攻击者的下一步操作(也即q-learning算法中的回报)进行分类、量化并存入人工智能数据库中,形成一张攻击者与蜜罐系统的会话表(也即q-learning算法中的q表)。最后,人工智能层读取会话表并运行q学习算法程序部分,以寻找能最大化攻击者与蜜罐系统交互轮数的响应报文,并存储该报文。在选取到报文之后,人工智能层将已选出的响应报文回复给攻击者,并将这一条攻击的记录转发到日志记录层。
65.在蜜罐系统中,本发明设计了一套恶意请求收集与响应的算法。该算法实现的蜜
罐系统与攻击者的完整交互过程包括如下步骤:
66.步骤101、攻击者对蜜罐系统的开放端口尝试进行攻击,蜜罐系统保持与攻击者的tcp连接,并由请求收集层暂存来自攻击者的http请求报文并转发到响应获取层;
67.步骤102、响应获取层尝试从请求-响应数据库中获取包括该请求报文的元组;
68.步骤103、如果响应获取层找到了这样的元组,直接跳过步骤104、步骤105和步骤106,从步骤107继续执行;
69.步骤104、如果响应获取层未找到包含该请求报文的元组,那么该层会在活跃端口数据库中查询对应端口开放的公网ip;
70.步骤105、响应获取层将请求报文转发到步骤104查询得到的公网ip对应端口,并在一定时间内等待并接收它们的响应报文;
71.步骤106、响应获取层将获取到的响应报文、请求报文与端口号一同存入请求-响应数据库中;
72.步骤107、响应获取层将请求报文转发到人工智能层;
73.步骤108、人工智能层使用q-learning算法从获取到的响应报文中筛选出一条最符合攻击者期待的响应报文,并将其发送给攻击者,最后将请求报文、选取得到的响应报文一同转发到日志记录层。
74.步骤109、日志记录层将这轮蜜罐系统的交互数据写入蜜罐日志。
75.本发明基于强化学习的q-learning算法,设计了人工智能层的响应报文选取算法。这一算法实现的人工智能层的训练过程包括如下步骤:
76.步骤108-1、人工智能层接收来自响应获取层的请求报文,从请求-响应数据库中查找得到对应于该请求报文的来自于公网的全部响应报文;
77.步骤108-2、在初始状态下,随机从这些响应报文中选取一条响应报文回复给攻击者,随后记录攻击者的下一步攻击动作(若无下一步动作,则记录连接关闭),重复该过程若干次;
78.步骤108-3、将请求报文、响应报文和攻击者的下一步操作(也即q-learning算法中的回报)进行分类、量化并存入人工智能数据库中,形成一张攻击者与蜜罐系统的会话表(也即q-learning算法中的q表)。
79.步骤108-4、人工智能层读取会话表并运行q学习算法程序部分,以寻找能最大化攻击者与蜜罐系统交互轮数的响应报文,并存储该报文。
80.步骤108-5、人工智能层将选出的响应报文回复给攻击者。
81.以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献