本发明属于网络安全,尤其涉及一种应用于网络安全领域的资产发现方法、系统、设备及存储介质。
背景技术:
1、随着网络行业的高速发展,各行业对网络安全的要求也逐步增高,实施网络安全的第一步就是梳理出所拥有的网络主机资产以及主机资产暴漏的端口和端口提供的服务信息。得到了这些基础信息才能去更进一步的防护和加固。
2、现有解决方式一般为使用如nmap的扫描工具对存活主机和端口进行扫描,获取到返回结果后再手工去清洗成自己所需要的格式,然后记录到另一介质中去做管理。对端口扫描获取这块需求,会应用扫描工具自带的端口字典来进行遍历扫描,确认端口字典中所记录端口是不是被主机暴漏出来。再这整个流程中,清洗数据带来了极大的人工成本,在清洗和记录到其他介质的过程中还有很大率会出现错误,有准确率隐患。扫描所用的端口字典为固定字典,端口字典外的端口不会去扫描验证,这就导致主机如果对外暴漏端口不在已有端口字典中就不会得到验证,遗漏重要的端口和服务数据。
技术实现思路
1、为解决上述问题,本发明的目的是提供一种应用于网络安全领域的资产发现方法、系统、设备及存储介质,适用于网络安全领域资产发现能力,调用扫描工具,自动化清洗数据并记录存储,降低人工成本。动态改变和优化端口字典,极大提高资产发现准确率,为后续资产管理提供支持和基础。
2、本发明提供的技术方案为:一种应用于网络安全领域的资产发现方法,包括如下步骤:
3、响应于用户界面中预设控件的触发指令从用户界面中读取目标扫描信息并进行解析;
4、使用runtime.exec执行服务器系统命令调用nmap命令,并返回process对象;
5、记录当前java线程id至当前扫描任务,以数组和链表组合的hashmap形式记录当前process对象并存储至当前服务器内存,该hashmap以当前任务标识为键,process对象为值;
6、基于所述目标扫描信息通过nmap命令探测存活主机,基于所述目标扫描信息获取目标端口字典数据并探测端口服务信息,进行数据清洗并发送给前端用户界面;
7、基于预设算法优化调整所述目标端口字典数据。
8、优选的,所述目标扫描信息至少包括ip地址、ip段地址以及扫描速度,所述扫描速度包括多个已定义或自定义的扫描模式,每个扫描模式下对每个ip下的对应端口进行扫描。
9、优选的,使用runtime.exec执行服务器系统命令调用nmap命令,并返回process对象进一步包括:
10、基于解析后的所述目标扫描信息和所述nmap命令进行组装以拼接成服务器命令,基于java调用宿主机服务器系统命令的能力,使用runtime.exec执行组装好的nmap命令,并返回一个process对象。
11、优选的,所述方法还包括:
12、当接收到停止当前任务的触发指令时,根据当前任务标识从内存中获取当前任务存储的process对象;
13、调用process的destory方法销毁自身从而达到停止系统nmap命令;
14、从内存中销毁保存的该process对象的hash占位。
15、优选的,所述方法还包括:
16、接收到停止当前任务的触发指令后,基于java程序执行系统命令前记录了该任务的线程的id,利用java本身的能力打断并停止当前线程。
17、优选的,基于所述目标扫描信息获取目标端口字典数据并探测端口服务信息进一步包括:
18、根据目标扫描信息中的扫描速度信息选取端口字典中对应的端口逐个探测存活ip的端口信息,验证端口字典中端口是否开启和端口服务信息。
19、优选的,基于预设算法优化调整所述目标端口字典数据进一步包括:
20、根据预设扫描速度从端口字典选取前n个端口再加上x个预选端口,n的值为和扫描速度对应的预设值,所述预选端口是从1至65535个端口排除已选的n个端口中随机选取,x的大小为自定义;
21、扫描出的各个端口和端口集合进行对比,探测验证到的暴漏出来的端口和选取的n个端口进行逐个对比,如果该端口已存在于n个端口组成的集合中,则集合中的该端口权重增加;如果该端口不在集合中,将该端口加入端口集合,并给予默认权重;
22、根据扫描权重重新排序端口字典中的端口顺序。
23、基于相同的构思本发明还提供一种应用于网络安全领域的资产发现系统,包括:
24、信息获取模块,用于响应于用户界面中预设控件的触发指令从用户界面中读取目标扫描信息并进行解析;
25、命令调用模块,用于使用runtime.exec执行服务器系统命令调用nmap命令,并返回process对象;
26、命令存储模块,用于记录当前java线程id至当前扫描任务,以数组和链表组合的hashmap形式记录当前process对象并存储至当前服务器内存,该hashmap以当前任务标识为键,process对象为值;
27、扫描模块,用于基于所述目标扫描信息通过nmap命令探测存活主机,基于所述目标扫描信息获取目标端口字典数据并探测端口服务信息;
28、字典优化模块,用于基于预设算法优化调整所述目标端口字典数据。
29、基于相同的构思本发明还提供一种电子设备,包括:
30、存储器,所述存储器用于存储处理程序;
31、处理器,所述处理器执行所述处理程序时实现如权利要求1至7中任意一项所述的应用于网络安全领域的资产发现方法。
32、基于相同的构思本发明还提供一种可读存储介质,所述可读存储介质上存储有处理程序,所述处理程序被处理器执行时实现上述任意一项所述的应用于网络安全领域的资产发现方法。
33、本发明由于采用以上技术方案,使其与现有技术相比具有以下的优点和积极效果:
34、本发明的技术方案响应于用户界面预设控件的触发指令自动的从用户界面读取用户需要扫描的目标端口的扫描信息,然后调用nmap命令扫描工具进行自动化扫描,在每次扫描探测之后优化调整端口字典数据,持续对端口字典进行更新,避免因端口字典为固定字典,对端口字典外的端口不进行扫描验证,导致主机如果对外暴漏端口不在已有端口字典中就不会得到验证,遗漏重要的端口和服务数据的问题。自动化进行数据清洗后发送给前端用户界面,自动化清洗大大节省了人力资源。
1.一种应用于网络安全领域的资产发现方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的应用于网络安全领域的资产发现方法,其特征在于,所述目标扫描信息至少包括ip地址、ip段地址以及扫描速度,所述扫描速度包括多个已定义或自定义的扫描模式,每个扫描模式下对每个ip下的对应端口进行扫描。
3.根据权利要求1所述的应用于网络安全领域的资产发现方法,其特征在于,使用runtime.exec执行服务器系统命令调用nmap命令,并返回process对象进一步包括:
4.根据权利要求1所述的应用于网络安全领域的资产发现方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的应用于网络安全领域的资产发现方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的应用于网络安全领域的资产发现方法,其特征在于,基于所述目标扫描信息获取目标端口字典数据并探测端口服务信息进一步包括:
7.根据权利要求1所述的应用于网络安全领域的资产发现方法,其特征在于,基于预设算法优化调整所述目标端口字典数据进一步包括:
8.一种应用于网络安全领域的资产发现系统,其特征在于,包括:
9.一种电子设备,其特征在于,包括:
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有处理程序,所述处理程序被处理器执行时实现上述任意一项所述的应用于网络安全领域的资产发现方法。