一种基于AI的自动化渗透测试系统技术方案

技术编号:25123438 阅读:41 留言:0更新日期:2020-08-05 02:52
本发明专利技术公开了一种基于AI的自动化渗透测试系统,包括用于对网络目标进行攻击面和情报信息采集并分析网络目标存在的漏洞生成漏洞信息的信息收集模块(100),用于对漏洞进行利用,对网络目标进行攻击获取网络目标的访问权或信息的渗透攻击模块(200);用于对网络目标进行提权和提取情报信息并对网络目标关联网络中的其它对象进行探测和跳板攻击的后渗透模块(300)和用于根据攻击面和情报信息、漏洞信息、访问权或信息、权限信息和情报信息生成攻击方法并根据所述攻击方法生成驱动指令的人工智能模块(400)。本发明专利技术提供的一种基于AI的自动化渗透测试系统,能够有效的提高渗透测试的稳定性和效率。

【技术实现步骤摘要】
一种基于AI的自动化渗透测试系统
本专利技术涉及网络数据安全
,具体涉及一种基于AI的自动化渗透测试系统。
技术介绍
渗透测试(PenetrationTest)是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全作深入的探测,发现系统最脆弱的环节,发现复杂、相互关联的安全问题、更深层次的弱点,并将入侵的过程和细节产生报告给用户。渗透测试工作流程主要分为三个阶段:预攻击阶段、攻击阶段、后攻击阶段。预攻击阶段:目的是进行信息收集工作。一般通过基本网络信息的获取、常规漏洞扫描等工具对目标进行检测、分析来获取信息。攻击阶段:目的是对目标进行攻击,获取系统的一定权限。一般通过基于通用设备、数据库、操作系统和应用的攻击,口令猜解技术等方式来完成。后攻击阶段:目的是对目标维持一定的权限,并进行横向渗透。一般来说,可以通过提权、口令破解、跳板攻击等手法来达到目的。目前,渗透测试工作一般有以下两种方式:(1)人工服务方式。由富有经验的安全工程师,凭借人工经验,利用网络安全扫描器、专用安全测试工具对网络中操作系统、网络设备、应用系统等进行非破坏性质的模拟攻击。但需要投入的人力资源较大,对测试者的专业技能要求较高,渗透测试报告的价值直接依赖于测试者的专业技能,无法提供标准化渗透测试服务。同时,渗透测试服务人员短缺问题一直长期存在。(2)自动化工具方式。使用MetasploitFramework(简称MSF)等漏洞利用框架,虽然可以通过渗透测试任务配置向导,建立一个测试任务。自动化工具会自动收集网络目标信息,根据目标指纹选取匹配的攻击组件对目标执行攻击,然后基于测试结果输出渗透测试报告。但其渗透测试对象有局限,不支持情报信息识别和提取,对于WEB应用系统无法检测出相关风险,不支持迭代攻击,不支持基于实际业务风险进行漏洞风险优先级排名等问题。要发挥其能力,仍然需要具备相当经验的渗透测试人员操作使用。
技术实现思路
本专利技术是为了解决现有技术中渗透测试在使用人工服务和自动化工具时存在的上述技术问题,提供一种基于AI的自动化渗透测试系统,能够有效的提高渗透测试服务的稳定性和效率,降低对外部渗透测试服务人员的依赖。本专利技术提供一种基于AI的自动化渗透测试系统,包括:信息收集模块:用于对网络目标进行攻击面和情报信息采集,用于分析和生成网络目标存在的漏洞信息,用于将攻击面和情报信息、漏洞信息传送至渗透攻击模块和人工智能模块,用于接收人工智能模块传送的驱动指令;渗透攻击模块:用于接收信息收集模块传送的攻击面和情报信息、漏洞信息,用于对漏洞信息进行验证并利用漏洞对网络目标进行攻击,获取网络目标的访问权或信息,并将访问权或信息传送至后渗透模块和人工智能模块,用于接收人工智能模块传送的驱动指令;后渗透模块:用于接收渗透攻击模块传送的访问权或信息,用于对网络目标进行提权和提取情报信息,用于对网络目标关联网络中的其它对象进行探测和跳板攻击,用于将权限信息和情报信息传送至人工智能模块,用于接收人工智能模块传送的驱动指令;人工智能模块:用于接收信息收集模块传送的攻击面和情报信息、漏洞信息,用于接收渗透攻击模块传送的网络目标的访问权或信息,用于接收后渗透模块传送的权限信息和情报信息,用于根据攻击面和情报信息、漏洞信息、访问权或信息、权限信息和情报信息生成攻击方法并根据攻击方法生成驱动指令,用于向信息收集模块、渗透攻击模块和后渗透模块发送驱动指令。本专利技术所述的一种基于AI的自动化渗透测试系统,作为优选方式,信息收集模块包括:爬虫模块:用于针对网络目标的域名或WEB应用类目标通过广度优先或深度优先策略全量爬取静态页面和动态页面,用于对静态页面和动态页面的HTML页面代码内容进行识别并分析可以用于攻击的攻击面和情报信息,用于将攻击面和情报信息传送至漏洞扫描模块,用于接收人工智能模块传送的驱动指令;爆破模块:用于通过子域爆破、URL爆破、路径爆破、弱口令爆破和webshell爆破对网络目标的域名、URL路径、弱口令和webshell入口进行爆破并获取攻击面和情报信息,用于将攻击面和情报信息传送至漏洞扫描模块,用于接收人工智能模块传送的所述驱动指令;漏洞扫描模块:用于接收爬虫模块传送的攻击面和情报信息,用于接收爆破模块传送的攻击面和情报信息,用于根据攻击面和情报信息对网络目标进行漏洞扫描并生成漏洞信息,用于将攻击面和情报信息、漏洞信息传送至渗透攻击模块,用于接收人工智能模块传送的驱动指令。本专利技术所述的一种基于AI的自动化渗透测试系统,作为优选方式,人工智能模块包括:专家系统模块:用于存储决策知识,用于将决策知识传送至决策大脑模块;决策大脑模块:用于接收专家系统模块传送的决策知识,用于根据决策知识进行攻击建模,用于接收信息收集模块传送的攻击面和情报信息、漏洞信息,用于接收渗透攻击模块传送的网络目标的访问权或信息,用于接收后渗透模块传送的权限信息和情报信息,用于将攻击面和情报信息、漏洞信息、网络目标的访问权或信息、权限信息和情报信息输入攻击建模生成驱动指令,用于向信息收集模块、渗透攻击模块和后渗透模块发送驱动指令;专项智能模块:用于根据不同场景向决策大脑模块提供决策支撑。决策大脑的攻击建模包括以下过程:1)确定建模的对象和目的。建模对象为最优攻击动作与影响因素之间的关系。建模的目的是选择在特定影响因素下的最优原子攻击方法。2)选择影响因素。根据实际渗透测试中获得的经验,最优攻击动作的选择一般与下列因素有关:目标权限,目标漏洞,目标服务,辅助攻击情报(如账号密码),网络过滤规则。3)收集样本数据。在实际渗透测试中收集到的样本数据。4)设计神经元网络。该模型为一非线性拟合问题,采用多层前向网络。其中,输入节点数取因素数5,输出层有2个参数,原子攻击方法和成功概率。根据经验公式,隐藏层节点数取输入层的2-3倍,这里取10。对该神经元网络直接采用高级语言进行模拟。5)神经元网络的训练。选择神经元网络学习方法,并对神经元网络进行训练。这里选择多层神经元网络的经典学习方法——BP算法。利用该学习方法,将样本数据输入神经元网络,逐层计算网络输出,将网络输出与标准的最佳原子攻击集相比较。如果在最佳原子攻击方法集范围内,则结束该样本的训练,进入下一样本的训练。否则反向计算各层误差,然后逐层调整网络全职,使最终输出落入最佳攻击方法集范围。当所有样本训练结束后,整个训练过程结束。6)模型的验证。输入非训练样本数据,输入神经元网络,比较网络输出与样本理想输出,如果在最佳原子攻击方法集范围内,则接受该模型。否则,需要重新收集样本、重新进行网络设计并重新进行训练,直到获得满意结果为止。7)模型的应用。经过验证的模型,可运用于实际生产中。具体步骤如下:将各个实测的影响因素输入神经元网络,由神经元网络输出原子攻击方法和成功概率,并由渗透攻击模块执行攻击,以对目标进行有效攻击。本专利技术所述的一种基于AI的自动化渗透测试系统,本文档来自技高网
...

【技术保护点】
1.一种基于AI的自动化渗透测试系统,其特征在于:包括:/n信息收集模块(100):用于对网络目标进行攻击面和情报信息采集,用于分析和生成所述网络目标存在的漏洞信息,用于将所述攻击面和情报信息、所述漏洞信息传送至渗透攻击模块(200)和人工智能模块(400),用于接收所述人工智能模块(400)传送的驱动指令;/n渗透攻击模块(200):用于接收所述信息收集模块(100)传送的所述攻击面和情报信息、所述漏洞信息,用于对所述漏洞信息进行验证并利用所述漏洞信息对所述网络目标进行攻击,获取所述网络目标的访问权或信息,并将所述访问权或信息传送至后渗透模块(300)和所述人工智能模块(400),用于接收所述人工智能模块(400)传送的驱动指令;/n后渗透模块(300):用于接收所述渗透攻击模块(200)传送的所述访问权或信息,用于对所述网络目标进行提权和提取情报信息,用于对所述网络目标关联网络中的其它对象进行探测和跳板攻击,用于将所述权限信息和所述情报信息传送至所述人工智能模块(400),用于接收所述人工智能模块(400)传送的驱动指令;/n人工智能模块(400):用于接收所述信息收集模块(100)传送的所述攻击面和情报信息、所述漏洞信息,用于接收所述渗透攻击模块(200)传送的所述网络目标的访问权或信息,用于接收所述后渗透模块(300)传送的所述权限信息和所述情报信息,用于根据所述攻击面和情报信息、所述漏洞信息、所述访问权或信息、所述权限信息和所述情报信息生成攻击方法并根据所述攻击方法生成驱动指令,用于向所述信息收集模块(100)、所述渗透攻击模块(200)和所述后渗透模块(300)发送驱动指令。/n...

【技术特征摘要】
1.一种基于AI的自动化渗透测试系统,其特征在于:包括:
信息收集模块(100):用于对网络目标进行攻击面和情报信息采集,用于分析和生成所述网络目标存在的漏洞信息,用于将所述攻击面和情报信息、所述漏洞信息传送至渗透攻击模块(200)和人工智能模块(400),用于接收所述人工智能模块(400)传送的驱动指令;
渗透攻击模块(200):用于接收所述信息收集模块(100)传送的所述攻击面和情报信息、所述漏洞信息,用于对所述漏洞信息进行验证并利用所述漏洞信息对所述网络目标进行攻击,获取所述网络目标的访问权或信息,并将所述访问权或信息传送至后渗透模块(300)和所述人工智能模块(400),用于接收所述人工智能模块(400)传送的驱动指令;
后渗透模块(300):用于接收所述渗透攻击模块(200)传送的所述访问权或信息,用于对所述网络目标进行提权和提取情报信息,用于对所述网络目标关联网络中的其它对象进行探测和跳板攻击,用于将所述权限信息和所述情报信息传送至所述人工智能模块(400),用于接收所述人工智能模块(400)传送的驱动指令;
人工智能模块(400):用于接收所述信息收集模块(100)传送的所述攻击面和情报信息、所述漏洞信息,用于接收所述渗透攻击模块(200)传送的所述网络目标的访问权或信息,用于接收所述后渗透模块(300)传送的所述权限信息和所述情报信息,用于根据所述攻击面和情报信息、所述漏洞信息、所述访问权或信息、所述权限信息和所述情报信息生成攻击方法并根据所述攻击方法生成驱动指令,用于向所述信息收集模块(100)、所述渗透攻击模块(200)和所述后渗透模块(300)发送驱动指令。


2.根据权利要求1所述的一种基于AI的自动化渗透测试系统,其特征在于:所述信息收集模块(100)包括:
爬虫模块(110):用于针对所述网络目标的域名或WEB应用类目标通过广度优先或深度优先策略全量爬取静态页面和动态页面,用于对所述静态页面和所述动态页面的HTML页面代码内容进行识别并分析可以用于攻击的所述攻击面和情报信息,用于将所述攻击面和情报信息传送至漏洞扫描模块(130),用于接收所述人工智能模块(400)传送的所述驱动指令;
爆破模块(120):用于通过子域爆破、URL爆破、路径爆破、弱口令爆破和webshell爆破对所述网络目标的域名、URL路径、弱口令和webshell入口进行爆破并获取所述攻击面和情报信息,用于将所述攻击面和情报信息传送至所述漏洞扫描模块(130),用于接收所述人工智能模块(400)传送的所述驱动指令;
漏洞扫描模块(130):用于接收所述爬虫模块(110)传送的所述攻击面和情报信息,用于接收所述爆破模块(120)传送的所述攻击面和情报信息,用于根据所述攻击面和情报信息对所述网络目标进行漏洞扫描并生成所述漏洞信息,用于将所述攻击面和情报信息、所述漏洞信息传送至所述渗透攻击模块(200),用于接收所述人工智能模块(400)传送的所述驱动指令。


3.根据权利要求1所述的一种基于AI的自动化渗透测试系统,其特征在于:所述人工智能模块(400)包括:
专家系统模块(410):用于存储决策知识,用于将所述决策知识传送至决策大脑模块(420);
决策大脑模块(420):用于接收所述专家系统模块(410)传送的所述决策知识,用于根据所述决策...

【专利技术属性】
技术研发人员:谢鑫何召阳何础成王欣宇郭路路方仁贵
申请(专利权)人:北京墨云科技有限公司
类型:发明
国别省市:北京;11

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

1