一种基于信息流异步处理算法的自动化渗透测试方法、系统、设备以及存储介质技术方案

技术编号:37670324 阅读:15 留言:0更新日期:2023-05-26 04:31
一种基于信息流异步处理算法的自动化渗透测试方法、系统、设备以及存储介质,属于网络安全技术领域。采用信息流异步处理算法,实现信息流异步处理总线,将渗透测试步序执行变更为并序扫描,实现对同一个或者多个目标采取并发式及集群式扫描。将端口扫描分解为迅速端口发现及端口服务终端,实现迅速资产发现。渗透测试模式先扫描再验证的阻塞,变更为顺序无关的并发扫描并发验证异步模式,每个扫描功能模块均采用为无状态封装与系统解偶,可以做到多模块根据扫描任务的实际情况,自动调整每个模块的并发数量,实现在单位时间内扫描效率最大化,极大缩短扫描时间及提升扫描精准度。极大缩短扫描时间及提升扫描精准度。极大缩短扫描时间及提升扫描精准度。

【技术实现步骤摘要】
一种基于信息流异步处理算法的自动化渗透测试方法、系统、设备以及存储介质


[0001]本专利技术涉及网络安全
,具体涉及一种基于信息流异步处理算法的自动化渗透测试方法、系统、设备以及存储介质。

技术介绍

[0002]目前网络安全领域渗透测试系统是通过远程检测目标主机TCP/IP不同端口的服务,使用目标的应答与渗透测试系统提供的漏洞库进行匹配,如果满足匹配条件,则视为漏洞存在。现有的渗透测试系统机械化漏洞库匹配容易造成大量的漏洞误报,同时有严格的工作步序,渗透速度较慢,对同一个或者多个目标无法采取并发式及集群式扫描,在面对大规模网络安全检查时往往无法快速完成扫描任务。
[0003]因此,现有技术存在的缺陷为:由于对同一个或者多个目标无法采取并发式及集群式扫描,因此,在面对大规模网络安全检查时往往无法快速完成扫描任务。

技术实现思路

[0004]本专利技术解决了现有技术由于对同一个或者多个目标无法采取并发式及集群式扫描,因此,在面对大规模网络安全检查时往往无法快速完成扫描任务的问题。
[0005]本专利技术所述的一种基于信息流异步处理算法的自动化渗透测试方法,包括以下步骤:
[0006]步骤S1,硬件及系统初始化模块根据硬件配置信息,初始化各个模块的线程池,各个模块向任务调度模块注册在线状态及线程池参数,所述各个模块包括异步资产迅速发现模块、异步服务准确发现模块、异步漏洞侦测模块和异步漏洞验证模块;
[0007]步骤S2,任务调度模块接收到用户输入的目标地址范围,以IP
+
端口为单位,拆解为单元目标地址后,输入至总线模块,若单元目标地址包含高危端口,将这些单元目标地址的优先级设置为高;
[0008]步骤S3,任务调度模块根据单元目标地址优先级和各个模块的工作负荷情况,从总线模块获取待处理单元目标地址的信息,根据单元目标地址的类型,分别分配至各个模块,并标记单元目标地址状态,各个模块独立启动相应的线程对单元目标地址进行处理;
[0009]步骤S4,异步漏洞验证模块监听被侦测目标的请求,从请求数据中解码出ID信息,将ID信息回注到总线模块,异步漏洞侦测模块从总线模块中接收ID信息,匹配具体的漏洞侦测载荷,确定漏洞信息,再将漏洞信息回注到总线模块;
[0010]步骤S5,漏洞告警模块实时从总线模块中获取漏洞信息,生成漏洞信息简报,通过邮件系统发送至用户邮件地址,标记漏洞信息的预警状态。
[0011]进一步地,在本专利技术的一个实施例中,所述高危端口包括22、80、3306和3389。
[0012]本专利技术所述的一种基于信息流异步处理算法的自动化渗透测试系统,所述系统是采用上述方法中任一项所述的一种基于信息流异步处理算法的自动化渗透测试方法实现
的,所述系统包括硬件及系统初始化模块、任务调度模块、总线模块、异步资产迅速发现模块、异步服务准确发现模块、异步漏洞侦测模块、异步漏洞验证模块和漏洞告警模块;
[0013]所述硬件及系统初始化模块读取硬件信息,根据硬件性能数据,初始化各个模块的线程池,并启动各个模块,硬件及系统初始化模块根据总线模块的IP及端口配置,启动总线模块,将各模块的线程池参数写入总线模块,硬件及系统初始化模块将被侦测的目标范围地址写入总线模块;
[0014]所述任务调度模块从总线模块读取被侦测的目标范围地址,拆解为IP
+
端口的形式,若端口为高危则标注为优先级,任务调度模块每3秒获取总线模块的工作状态,并读取各个模块线程池及线程工作状态,任务调度模块每60秒根据总线模块中各待处理的单元目标地址队列程度,调整各个模块的运行的线程数量的比值;
[0015]所述总线模块用于实现各模块运行状态及线程数量、待处理的单元目标地址队列、漏洞结果的查询和持久化,并构建总线接口服务;
[0016]所述异步资产迅速发现模块根据自身空闲线程数量,从总线模块查询获取待迅速发现的目标,向目标端发送SYN请求建立连接,在等待时间内,收到ACK回答后,向总线模块更新该目标的在线状态;
[0017]所述异步服务准确发现模块根据自身空闲线程数量,从总线模块查询获取待服务目标,与目标端尝试建立连接,在等待时间内,接收到目标发送的Welcome Banner信息,与指纹库比对确定端口服务信息,向总线模块更新该目标的服务信息;
[0018]所述异步漏洞侦测模块根据自身空闲线程数量,从总线模块查询获取待漏洞侦测目标,根据目标的特征信息,选取针对性的漏洞侦测脚本及通用性漏洞脚本,在每次侦测脚本渗透前,向总线模块申请一个渗透批次ID,将ID与侦测脚本绑定后,向被渗透目标发送侦测载荷,同时在等待时间内,向总线模块查询批次ID是否渗透成功,并将侦测成功的结果信息写入总线模块;
[0019]所述异步漏洞验证模块根据配置的监听信息,开启监听服务,根据总线模块中的ID队列长度,生成ID并写入总线模块ID队列,在监听服务中,监听并解码收到来自被侦测目标的ID信息,向总线模块更新该ID的渗透结果;
[0020]所述漏洞告警模块从总线模块中周期性获取漏洞结果信息,并嵌入预设报告模板,根据告警邮件地址发送合成的告警邮件。
[0021]进一步地,在本专利技术的一个实施例中,所述硬件信息包括CPU核心数量、内存大小和网卡性能。
[0022]进一步地,在本专利技术的一个实施例中,所述任务调度模块调整各个功能模块的运行的线程数量的比值,具体为:
[0023]当待侦测的目标队列长度每超过50时,降低异步服务准确发现模块线程10%;
[0024]当待侦测的目标队列长度为0时,增加异步服务准确发现模块线程10%;
[0025]异步服务准确发现模块发现目标队列长度每超过30,降低异步资产迅速发现模块线程10%;
[0026]异步服务准确发现模块发现目标队列长度为0,增加异步资产迅速发现模块线程10%;
[0027]异步漏洞验证模块线程固定为1。
[0028]进一步地,在本专利技术的一个实施例中,所述监听服务包括icmplog、tcplog、udplog、httplog和dnslog。
[0029]进一步地,在本专利技术的一个实施例中,所述总线模块用于实现各模块运行状态及线程池、待处理的单元目标地址队列、漏洞结果的查询和持久化是基于redis;
[0030]总线模块构建总线接口服务是基于TCP和RSA算法。
[0031]本专利技术所述的一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
[0032]存储器,用于存放计算机程序;
[0033]处理器,用于执行存储器上所存放的程序时,实现上述方法中任一所述的方法步骤。
[0034]本专利技术所述的一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述方法中任一所述的方法步骤。
[0035]本专利技术解决本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于信息流异步处理算法的自动化渗透测试方法,其特征在于,包括以下步骤:步骤S1,硬件及系统初始化模块根据硬件配置信息,初始化各个模块的线程池,各个模块向任务调度模块注册在线状态及线程池参数,所述各个模块包括异步资产迅速发现模块、异步服务准确发现模块、异步漏洞侦测模块和异步漏洞验证模块;步骤S2,任务调度模块接收到用户输入的目标地址范围,以IP
+
端口为单位,拆解为单元目标地址后,输入至总线模块,若单元目标地址包含高危端口,将这些单元目标地址的优先级设置为高;步骤S3,任务调度模块根据单元目标地址优先级和各个模块的工作负荷情况,从总线模块获取待处理单元目标地址的信息,根据单元目标地址的类型,分别分配至各个模块,并标记单元目标地址状态,各个模块独立启动相应的线程对单元目标地址进行处理;步骤S4,异步漏洞验证模块监听被侦测目标的请求,从请求数据中解码出ID信息,将ID信息回注到总线模块,异步漏洞侦测模块从总线模块中接收ID信息,匹配具体的漏洞侦测载荷,确定漏洞信息,再将漏洞信息回注到总线模块;步骤S5,漏洞告警模块实时从总线模块中获取漏洞信息,生成漏洞信息简报,通过邮件系统发送至用户邮件地址,标记漏洞信息的预警状态。2.根据权利要求1所述的一种基于信息流异步处理算法的自动化渗透测试方法,其特征在于,所述高危端口包括22、80、3306和3389。3.一种基于信息流异步处理算法的自动化渗透测试系统,所述系统是采用权利要求1

2中任一所述的一种基于信息流异步处理算法的自动化渗透测试方法实现的,其特征在于,所述系统包括硬件及系统初始化模块、任务调度模块、总线模块、异步资产迅速发现模块、异步服务准确发现模块、异步漏洞侦测模块、异步漏洞验证模块和漏洞告警模块;所述硬件及系统初始化模块读取硬件信息,根据硬件性能数据,初始化各个模块的线程池,并启动各个模块,硬件及系统初始化模块根据总线模块的IP及端口配置,启动总线模块,将各模块的线程池参数写入总线模块,硬件及系统初始化模块将被侦测的目标范围地址写入总线模块;所述任务调度模块从总线模块读取被侦测的目标范围地址,拆解为IP
+
端口的形式,若端口为高危则标注为优先级,任务调度模块每3秒获取总线模块的工作状态,并读取各个模块线程池及线程工作状态,任务调度模块每60秒根据总线模块中各待处理的单元目标地址队列程度,调整各个模块的运行的线程数量的比值;所述总线模块用于实现各模块运行状态及线程数量、待处理的单元目标地址队列、漏洞结果的查询和持久化,并构建总线接口服务;所述异步资产迅速发现模块根据自身空闲线程数量,从总线模块查询获取待迅速发现的目标,向目标端发送SYN请求建立连接,在等待时间内,收到ACK回答后,向总线模块更新该目标的...

【专利技术属性】
技术研发人员:马红伟刘国清张巍元陈华林徐敏孙哲牛树海王栋柱潘新夏铭
申请(专利权)人:吉林省吉林祥云信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1