CN111488588B - 一种基于ai的自动化渗透测试方法 - Google Patents

一种基于ai的自动化渗透测试方法 Download PDF

Info

Publication number
CN111488588B
CN111488588B CN202010303652.8A CN202010303652A CN111488588B CN 111488588 B CN111488588 B CN 111488588B CN 202010303652 A CN202010303652 A CN 202010303652A CN 111488588 B CN111488588 B CN 111488588B
Authority
CN
China
Prior art keywords
module
information
attack
vulnerability
driving instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010303652.8A
Other languages
English (en)
Other versions
CN111488588A (zh
Inventor
何晓刚
谢鑫
刘兵
董昊辰
高晓辉
左厚德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Moyun Technology Co ltd
Original Assignee
Beijing Moyun Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Moyun Technology Co ltd filed Critical Beijing Moyun Technology Co ltd
Priority to CN202010303652.8A priority Critical patent/CN111488588B/zh
Publication of CN111488588A publication Critical patent/CN111488588A/zh
Application granted granted Critical
Publication of CN111488588B publication Critical patent/CN111488588B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于AI的自动化渗透测试方法,包括以下步骤:S1、渗透测试任务设定;S2、信息收集;S3、渗透攻击;S4、迭代攻击判断;S5、后渗透;S6、漏洞风险优先级重置;S7、测试报告生成。本发明提供的一种基于AI的自动化渗透测试方法,能够有效的提高渗透测试的稳定性和效率,降低对外部渗透测试服务人员的依赖。

Description

一种基于AI的自动化渗透测试方法
技术领域
本发明涉及网络数据安全技术领域,具体涉及一种基于AI的自动化渗透测试方法。
背景技术
渗透测试(Penetration Test)是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全作深入的探测,发现系统最脆弱的环节,发现复杂、相互关联的安全问题、更深层次的弱点,并将入侵的过程和细节产生报告给用户。渗透测试工作流程主要分为三个阶段:预攻击阶段、攻击阶段、后攻击阶段。预攻击阶段:目的是进行信息收集工作。一般通过基本网络信息的获取、常规漏洞扫描等工具对目标进行检测、分析来获取信息。攻击阶段:目的是对目标进行攻击,获取系统的一定权限。一般通过基于通用设备、数据库、操作系统和应用的攻击,口令猜解技术等方式来完成。后攻击阶段:目的是对目标维持一定的权限,并进行横向渗透。一般来说,可以通过提权、口令破解、跳板攻击等手法来达到目的。
目前,渗透测试工作一般有以下两种方式:
(1)人工服务方式。由富有经验的安全工程师,凭借人工经验,利用网络安全扫描器、专用安全测试工具对网络中操作系统、网络设备、应用系统等进行非破坏性质的模拟攻击。但需要投入的人力资源较大,对测试者的专业技能要求较高,渗透测试报告的价值直接依赖于测试者的专业技能,无法提供标准化渗透测试服务;同时,渗透测试服务人员短缺问题一直长期存在。
(2)自动化工具方式。使用Metasploit Framework(简称MSF)等漏洞利用框架,虽然通过渗透测试任务配置向导,建立一个测试任务。自动化工具会自动收集目标网络信息,根据目标指纹选取匹配的攻击组件对目标执行攻击,然后基于测试结果输出渗透测试报告。但其渗透测试对象有局限,不支持情报信息识别和提取,对于WEB应用系统无法检测出相关风险,不支持迭代攻击,不支持基于实际业务风险进行漏洞风险优先级排名等问题,要发挥其能力仍然需要具备相当经验的渗透测试人员操作使用。
发明内容
本发明是为了解决现有技术中渗透测试在使用人工服务和自动化工具时存在的上述技术问题,提供一种基于AI的自动化渗透测试方法,能够有效的提高渗透测试服务的稳定性和效率,降低对外部渗透测试服务人员的依赖。
本发明提供一种基于AI的自动化渗透测试方法,包括以下步骤:
S1、渗透测试任务设定:包括设定渗透目标、参数、是否自动跳板攻击,并启动任务;
S2、攻击面和情报信息、漏洞信息收集:决策大脑模块根据渗透测试任务设定的目标IP或域名,生成驱动指令发送至信息收集模块,信息收集模块根据驱动指令收集攻击面和情报信息、漏洞信息并将攻击面和情报信息、漏洞信息传送至决策大脑模块;
S3、渗透攻击:决策大脑模块根据攻击面和情报信息、漏洞信息生成驱动指令并将驱动指令传送至渗透攻击模块,渗透攻击模块根据驱动指令进行渗透攻击,并向决策大脑模块输出漏洞验证结果和漏洞利用结果;
S4、迭代攻击判断:专项智能模块根据漏洞验证结果和漏洞利用结果判断是否需要迭代攻击,若判断进行下一轮攻击利用则进入步骤S3,若判断进行新攻击目标探测时,则进入步骤S2,若判断为否则进入步骤S5;
S5、后渗透:决策大脑模块根据所获得的权限对目标网络进行提权或敏感信息提取;并判断是否进行迭代攻击,若判断是则返回步骤S2或S3;进一步判断是否进行跳板攻击,若判断为是则针对相邻目标网络返回步骤S2,若判断为否则进入步骤S6;
S6、漏洞风险优先级重置:漏洞风险优先级重置模块根据漏洞利用结果重置漏洞修复优先级;
S7、渗透测试报告生成:渗透测试报告模块基于上述过程产生的数据生成测试报告。
本发明所述的一种基于AI的自动化渗透测试方法,作为优选方式,步骤S2进一步包括以下步骤:
S21、决策大脑模块判断渗透测试任务的类型,当设定的目标为IP地址或IP地址段时进入步骤S22,当设定的目标为URL或域名时进入步骤S23;
S22、决策大脑模块生成驱动指令并传送至信息收集模块,信息收集模块根据驱动指令对网络目标的端口和服务进行扫描,检测所有可能的WEB应用入口,进入步骤S24;
S23、决策大脑模块生成驱动指令并传送至信息收集模块,信息收集模块反查所述网络目标的IP地址,并对网络目标的端口和服务进行扫描,检测所有可能的WEB应用入口,进入步骤S24;
S24、当存在URL或域名入口时,决策大脑模块生成驱动指令并将驱动指令传送至爬虫模块,爬虫模块根据驱动指令进行全量URL爬取和页面HTML代码内容爬取,并将爬取数据传送至专项智能模块;
S25、专项智能模块对页面HTML代码进行情报识别与提取,为爆破模块和渗透攻击模块提供情报数据;
S26、当存在域名时,决策大脑模块生成驱动指令并将驱动指令传送至爆破模块,爆破模块根据驱动指令、情报数据和域名字典进行子域名爆破,将数据传送至漏洞扫描模块;
S27、当存在URL路径时,决策大脑模块生成驱动指令并将驱动指令传送至爆破模块,爆破模块根据驱动指令、情报数据和URL路径字典进行URL路径爆破,将数据传送至漏洞扫描模块;
S28、当存在SMB、Rlogin、RDP、ftp、telnet、SSH、SNMP、数据库服务、管理后台和webshell等访问入口时,决策大脑模块生成驱动指令并将驱动指令传送至爆破模块,爆破模块根据驱动指令、情报数据和弱口令字典进行弱口令爆破,若当登录页面存在一次性验证码时,图灵对抗模块对验证码进行识别和自动填写,将数据传送至漏洞扫描模块;
S29、漏洞扫描模块对目标IP、域名或URL进行系统漏洞扫描、web应用漏洞扫描和安全配置扫描,生成漏洞信息并将漏洞信息传送至人工智能模块。
本发明所述的一种基于AI的自动化渗透测试方法,作为优选方式,访问入口包括SMB、Rlogin、RDP、ftp、telnet、SSH、SNMP、数据库服务、管理后台和webshell等。
本发明所述的一种基于AI的自动化渗透测试方法,作为优选方式,步骤S3进一步包括以下步骤:
S31、判断攻击类别,当对系统进行渗透攻击时进入步骤S32,当对WEB应用进行渗透攻击时进入步骤S35;
S32、决策大脑模块根据攻击面和情报信息、漏洞信息决策建立攻击分支节点,并通过漏洞利用成功率进行优先级排序;
S33、从优先级最高的漏洞开始,根据专项智能模块的数据解析与攻击载荷生成决策生成单个或多个攻击载荷对漏洞进行逐个检测,并判断是否所有漏洞攻击利用是否均未成功,若判断为是则进入步骤S34,若判断为否则进入步骤S38;
S34、专项智能模块综合所有指纹情报信息进行指纹分析决策,采用模糊匹配的方式,匹配出其它漏洞,返回步骤S32;
S35、决策大脑模块根据攻击面和情报信息、漏洞信息建立攻击分支节点并通过漏洞利用成功率进行优先级排序;
S36、从优先级最高的漏洞开始,根据专项智能模块的数据解析与攻击载荷生成决策对相关URL进行数据解释,拼接成单个或多个攻击载荷对漏洞进行逐个检测,并判断漏洞是否利用成功,若判断为是则进入步骤S38,若判断为否则进入步骤S37;
S37、专项智能模块对反馈信息进行分析,优化调整参数后返回步骤S36;
S38、记录漏洞验证结果和攻击利用结果:对于利用失败的结果,进行记录;对于利用成功的结果获取到敏感信息的情况,进行敏感信息记录;对于利用成功的结果获取权限的情况反弹shell,获取到网络目标的访问权限。
本发明所述的一种基于AI的自动化渗透测试方法,作为优选方式,步骤S4进一步包括以下步骤:
S41、决策大脑模块根据步骤S3中漏洞验证结果和漏洞利用结果生成迭代攻击决策并判断是否进行迭代攻击,当判断为是时进入步骤S42,当判断为否时进入步骤S5;
S42、当判断进行下一轮攻击利用时进入步骤S33或S36;当判断进行新攻击目标探测时,进入步骤S2。
本发明所述的一种基于AI的自动化渗透测试方法,作为优选方式,步骤S5进一步包括以下步骤:
S51、后渗透模块识别当前shell为普通权限后,自动通过漏洞利用进行提权;
S52、后渗透模块自动从内存中提取密码数据;
S53、后渗透模块自动对文件系统进行遍历,专项智能模块根据文件系统的内容识别敏感数据的文件,提取敏感信息;
S54、决策大脑模块根据所述敏感信息进行判断是否需要进行迭代攻击,若判断为是则返回步骤S2、S33或S36,若判断为否则进入步骤S55;
S55、决策大脑模块判断是否进行跳板攻击,若判断为是则针对相邻网络目标返回步骤S2,若判断为否则进入步骤S6。
本发明所述的一种基于AI的自动化渗透测试方法,作为优选方式,用于运行所述基于AI的自动化渗透测试方法的测试系统包括:
信息收集模块:用于对网络目标进行攻击面和情报信息采集,用于分析和生成网络目标存在的漏洞信息,用于将攻击面和情报信息、漏洞信息传送至渗透攻击模块和人工智能模块,用于接收人工智能模块传送的驱动指令;攻击面和情报信息包括IP、域名、旁域、端口、URL、API入口路径、数据库链接入口、邮箱地址、姓名、电话号码、被注释掉的路径、后台登录入口、前台登录入口、文件上传入口,服务、操作系统版本、中间件版本、数据库版本、网络设备版本、应用组件版本、应用框架、开发语言、WEBshell、凭证信息(账号、口令)、弱口令、敏感信息、绝对路径信息;所属漏洞信息包括系统漏洞、WEB应用漏洞和不安全配置;
渗透攻击模块:用于接收信息收集模块传送的攻击面和情报信息、漏洞信息,用于对漏洞信息进行验证并利用漏洞对网络目标进行攻击,获取网络目标的访问权或信息,并将访问权或信息传送至后渗透模块和人工智能模块,用于接收人工智能模块传送的驱动指令;
后渗透模块:用于接收渗透攻击模块传送的访问权或信息,用于对网络目标进行提权和提取情报信息,用于对网络目标关联网络中的其它对象进行探测和跳板攻击,用于将权限信息和情报信息传送至人工智能模块,用于接收人工智能模块传送的驱动指令;
人工智能模块:用于接收信息收集模块传送的攻击面和情报信息、漏洞信息,用于接收渗透攻击模块传送的网络目标的访问权或信息,用于接收后渗透模块传送的权限信息和情报信息,用于根据攻击面和情报信息、漏洞信息、访问权或信息、权限信息和情报信息生成攻击方法并根据攻击方法生成驱动指令,用于向信息收集模块、渗透攻击模块和后渗透模块发送驱动指令;
漏洞风险优先级重置模块:用于根据漏洞对网络目标造成的实际风险进行风险值计算,根据漏洞的CVSS值、漏洞利用是否成功、漏洞利用成功后所造成的风险和基于漏洞的迭代利用最终造成的风险对风险值进行调整,用于根据调整后的风险值对漏洞的危险度进行排序;
渗透测试报告模块:用于根据人工智能模块和漏洞风险优先级重置模块的输出数据生成渗透测试报告。
本发明所述的一种基于AI的自动化渗透测试方法,作为优选方式,信息收集模块包括:
爬虫模块:用于针对网络目标的域名或WEB应用类目标通过广度优先或深度优先策略全量爬取静态页面和动态页面,用于对静态页面和动态页面的HTML页面代码内容进行识别并分析可以用于攻击的攻击面和情报信息,用于将攻击面和情报信息传送至漏洞扫描模块,用于接收人工智能模块传送的驱动指令;
爆破模块:用于通过子域爆破、URL爆破、路径爆破、弱口令爆破和webshell爆破对网络目标的域名、URL路径、弱口令和webshell入口进行爆破并获取攻击面和情报信息,用于将攻击面和情报信息传送至漏洞扫描模块,用于接收人工智能模块传送的所述驱动指令;
漏洞扫描模块:用于接收爬虫模块传送的攻击面和情报信息,用于接收爆破模块传送的攻击面和情报信息,用于根据攻击面和情报信息对网络目标进行漏洞扫描并生成漏洞信息,用于将攻击面和情报信息、漏洞信息传送至渗透攻击模块,用于接收人工智能模块传送的驱动指令。
本发明所述的一种基于AI的自动化渗透测试方法,作为优选方式,人工智能模块包括:
专家系统模块:用于存储决策知识,用于将决策知识传送至决策大脑模块;
决策大脑模块:用于接收专家系统模块传送的决策知识,用于根据决策知识进行攻击建模,用于接收信息收集模块传送的攻击面和情报信息、漏洞信息,用于接收渗透攻击模块传送的网络目标的访问权或信息,用于接收后渗透模块传送的权限信息和情报信息,用于将攻击面和情报信息、漏洞信息、网络目标的访问权或信息、权限信息和情报信息输入攻击建模生成驱动指令,用于向信息收集模块、渗透攻击模块和后渗透模块发送驱动指令;网络目标的访问权或信息包括目标、系统信息、用户名称和shell远控系统等系统权限、数据库的库表结构信息、遍历目录信息;情报信息包括用户/用户组、密码信息、令牌、敏感信息和网络信息;
专项智能模块:用于根据不同场景向决策大脑模块提供决策支撑。
决策大脑的攻击建模包括以下过程:
1)确定建模的对象和目的。建模对象为最优攻击动作与影响因素之间的关系。建模的目的是选择在特定影响因素下的最优原子攻击方法。
2)选择影响因素。根据实际渗透测试中获得的经验,最优攻击动作的选择一般与下列因素有关:目标权限,目标漏洞,目标服务,辅助攻击情报(如账号密码),网络过滤规则。
3)收集样本数据。在实际渗透测试中收集到的样本数据。
4)设计神经元网络。该模型为一非线性拟合问题,采用多层前向网络。其中,输入节点数取因素数5,输出层有2个参数,原子攻击方法和成功概率。根据经验公式,隐藏层节点数取输入层的2-3倍,这里取10。对该神经元网络直接采用高级语言进行模拟。
5)神经元网络的训练。选择神经元网络学习方法,并对神经元网络进行训练。这里选择多层神经元网络的经典学习方法——BP算法。利用该学习方法,将样本数据输入神经元网络,逐层计算网络输出,将网络输出与标准的最佳原子攻击集相比较。如果在最佳原子攻击方法集范围内,则结束该样本的训练,进入下一样本的训练。否则反向计算各层误差,然后逐层调整网络全职,使最终输出落入最佳攻击方法集范围。当所有样本训练结束后,整个训练过程结束。
6)模型的验证。输入非训练样本数据,输入神经元网络,比较网络输出与样本理想输出,如果在最佳原子攻击方法集范围内,则接受该模型。否则,需要重新收集样本、重新进行网络设计并重新进行训练,直到获得满意结果为止。
7)模型的应用。经过验证的模型,可运用于实际生产中。具体步骤如下:将各个实测的影响因素输入神经元网络,由神经元网络输出原子攻击方法和成功概率,并由渗透攻击模块执行攻击,以对目标进行有效攻击。
本发明所述的一种基于AI的自动化渗透测试方法,作为优选方式,专项智能模块包括:
信息收集决策模块:用于对攻击面和情报信息收集过程进行决策;
图灵对抗模块:用于对WEB应用系统登录界面中的字符验证码进行识别;
情报识别与提取模块:根据情报信息,识别和提取对攻击有帮助的情报数据;
指纹分析决策模块:当网络目标指纹、版本信息被修改以隐藏系统真实信息时,基于多维指纹信息分析,进行模糊决策,以匹配更多可能使用的攻击组件;
数据解析与攻击载荷生成决策模块:根据攻击目标和网络环境信息,综合决策,拼接和动态调整参数以生成攻击载荷;对于WEB应用,对URL的数据结构进行解释,以生成针对性的漏洞利用和攻击载荷;并根据每次攻击执行后返回的结果,判断攻击是否正确,分析攻击失败的原因,并为下一次攻击载荷生成决策提供依据。
本发明具有以下优点:
(1)与人工服务方式相比
1)以机器人程序模拟黑客可能使用的攻击技术/方法、漏洞发现技术,对系统和网络进行非破坏性质的攻击性测试,实现渗透测试服务标准化,服务水平稳定,不受人的不确定因素的影响;
2)机器人程序内置全面的漏洞验证、漏洞利用组件,全面覆盖WEB应用、主机、数据库、中间件、网络设备、大数据平台、云计算平台、虚拟化系统、工业控制系统、物联网设备等对象,具备“全域”技术能力,知识面盲点少;
3)机器人程序可以无限复制,复制成本低,不存在人才短缺的缺点;
4)机器人程序可以无限复制,复制成本低,可满足海量IT系统的渗透测试的需要;
5)机器人程序可以无限复制,复制成本低,所有系统都可以以更短的间隔周期进行渗透测试,大幅缩减风险暴露窗口;
6)不存在引入外部“人”的安全风险,渗透测试范围和过程可控,渗透测试过程可审计,不存在数据外泄,或者瞒报有价值的安全漏洞等方面的风险,降低第三方安全服务人员依赖。
(2)与现有的自动化工具相比
1)支持全域对象的自动化渗透测试:除了支持对操作系统、网络设备、数据库、中间件等系统对象进行自动化渗透测试;还可以有效支持对于WEB应用类目标的自动化渗透测试,包括SQL注入、上传漏洞等通用类漏洞的渗透测试,产出效果优良;
2)对通过修改目标指纹/版本号刻意隐藏目标真实情况的渗透目标,仍可在增加有限攻击算力的情况下,准确分析其存在的漏洞:提供漏洞利用结果综合评估分析攻击实际效果,当攻击效果达不到预期时,提供指纹分析决策支持,通过对多维指纹信息分析,进行模糊决策,以匹配更多可能适用的验证或者利用组件,进行更全面的漏洞攻击利用,确保目标风险可以被正确识别;
3)支持全面情报信息识别和提取:提供信息搜集决策支持,对攻击面信息搜集过程进行决策,以决定搜集什么信息,怎么搜集;提供情报识别与提取支持,支持从目标识别和提取情报信息,如账号密码信息、邮箱信息、电话号码、姓名、数据库链接入口等,以贴合实际业务环境的情报信息进行渗透测试;
4)自动评估、优化校正和动态生成攻击payload:对于WEB应用,提供数据解析与攻击载荷生成决策支持,对URL的数据结构进行解释,以生成针对性的漏洞利用和攻击载荷;并根据每次攻击执行后返回的结果,评估漏洞利用结果信息,以不断优化调整攻击载荷,提升漏洞利用成功率;
5)支持自动迭代攻击:在对各个漏洞进行单点验证或利用基础上,提供迭代攻击决策支持,支持基于目标的情报信息进行自主规划和决策攻击路径和攻击方法。支持自主基于情报信息和漏洞联合利用,支持自主基于2个或者以上漏洞的联合利用,支持自主利用所获取的信息、权限等进行迭代攻击。可发现复杂、相互关联的安全问题,发现深层次风险;
6)支持基于实际业务风险进行漏洞风险优先级重置:直接根据漏洞对业务系统造成的实际风险进行优先级排序,有效提升安全漏洞修复效率和效用;
7)支持自动化跳板攻击:在获得目标主机权限后,支持基于该主机,自动对关联网络中的其它对象进行探测和跳板攻击,过程不需要人工参与;
8)图灵对抗:自动识别WEB应用系统登录界面是否存在一次性验证码,如果存在,则自动对验证码进行识别,并自动打码。
附图说明
图1为一种基于AI的自动化渗透测试方法流程图;
图2为一种基于AI的自动化渗透测试方法数据收集方法流程图;
图3为一种基于AI的自动化渗透测试方法渗透攻击方法流程图;
图4为一种基于AI的自动化渗透测试方法迭代攻击方法流程图;
图5为一种基于AI的自动化渗透测试方法后渗透方法流程图;
图6为一种基于AI的自动化渗透测试系统组成图;
图7为一种基于AI的自动化渗透测试系统信息收集模块组成图;
图8为一种基于AI的自动化渗透测试系统人工智能模块组成图;
图9为一种基于AI的自动化渗透测试系统专项智能模块组成图。
附图标记:
100、信息收集模块;110、爬虫模块;120、爆破模块;130、漏洞扫描模块;200、渗透攻击模块;300、后渗透模块;400、人工智能模块;410、专家系统模块;420、决策大脑模块;430、专项智能模块;431、信息收集决策模块;432、图灵对抗模块;433、情报识别与提取模块;434、指纹分析决策模块;435、数据解析与攻击载荷生成决策模块;500、漏洞风险优先级重置模块;600、渗透测试报告模块。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
实施例1
如图1所示,本实施例在使用过程中包括以下步骤:
S1、渗透测试任务设定:包括设定渗透目标、参数、是否自动跳板攻击,并启动任务;
S2、攻击面和情报信息、漏洞信息收集:决策大脑模块420根据渗透测试任务设定的目标IP或域名,生成驱动指令发送至信息收集模块100,信息收集模块100根据驱动指令收集攻击面和情报信息、漏洞信息并将攻击面和情报信息、漏洞信息传送至决策大脑模块420;如图2所示,步骤S2进一步包括以下步骤:
S21、决策大脑模块420判断渗透测试任务的类型,当设定的目标为IP地址或IP地址段时进入步骤S22,当设定的目标为URL或域名时进入步骤S23;
S22、决策大脑模块420生成驱动指令并传送至信息收集模块100,信息收集模块100根据驱动指令对网络目标的端口和服务进行扫描,检测所有可能的WEB应用入口,进入步骤S24;
S23、决策大脑模块420生成驱动指令并传送至信息收集模块100,信息收集模块100反查所述网络目标的IP地址,并对网络目标的端口和服务进行扫描,检测所有可能的WEB应用入口,进入步骤S24;
S24、当存在URL或域名入口时,决策大脑模块420生成驱动指令并将驱动指令传送至爬虫模块110,爬虫模块110根据驱动指令进行全量URL爬取和页面HTML代码内容爬取,并将爬取数据传送至专项智能模块430;
S25、专项智能模块430对页面HTML代码进行情报识别与提取,为爆破模块120和渗透攻击模块200提供情报数据;
S26、当存在域名时,决策大脑模块420生成驱动指令并将驱动指令传送至爆破模块120,爆破模块120根据驱动指令、情报数据和域名字典进行子域名爆破,将数据传送至漏洞扫描模块130;
S27、当存在URL路径时,决策大脑模块420生成驱动指令并将驱动指令传送至爆破模块120,爆破模块120根据驱动指令、情报数据和URL路径字典进行URL路径爆破,将数据传送至漏洞扫描模块130;
S28、当存在SMB、Rlogin、RDP、ftp、telnet、SSH、SNMP、数据库服务、管理后台和webshell等访问入口时,决策大脑模块420生成驱动指令并将驱动指令传送至爆破模块120,爆破模块120根据驱动指令、情报数据和弱口令字典进行弱口令爆破,若当登录页面存在一次性验证码时,图灵对抗模块432对验证码进行识别和自动填写,将数据传送至漏洞扫描模块130;
S29、漏洞扫描模块130对目标IP、域名或URL进行系统漏洞扫描、web应用漏洞扫描和安全配置扫描,生成漏洞信息并将漏洞信息传送至人工智能模块400;
S3、渗透攻击:决策大脑模块420根据漏洞信息生成驱动指令并将驱动指令传送至渗透攻击模块200,渗透攻击模块200根据驱动指令进行渗透攻击,并向决策大脑模块420输出漏洞验证结果和漏洞利用结果;如图3所示,步骤S3进一步包括以下步骤:
S31、判断攻击类别,当对系统进行渗透攻击时进入步骤S32,当对WEB应用进行渗透攻击时进入步骤S35;
S32、决策大脑模块420根据攻击面和情报信息、漏洞信息决策建立攻击分支节点,并通过漏洞利用成功率进行优先级排序;
S33、从优先级最高的漏洞开始,根据专项智能模块430的数据解析与攻击载荷生成决策生成单个或多个攻击载荷对漏洞进行逐个检测,并判断是否所有漏洞攻击利用是否均未成功,若判断为是则进入步骤S34,若判断为否则进入步骤S38;
S34、专项智能模块430综合所有指纹情报信息进行指纹分析决策,采用模糊匹配的方式,匹配出其它漏洞,返回步骤S32;
S35、决策大脑模块420根据攻击面和情报信息、漏洞信息建立攻击分支节点并通过漏洞利用成功率进行优先级排序;
S36、从优先级最高的漏洞开始,根据专项智能模块430的数据解析与攻击载荷生成决策对相关URL进行数据解释,拼接成单个或多个攻击载荷对漏洞进行逐个检测,并判断漏洞是否利用成功,若判断为是则进入步骤S38,若判断为否则进入步骤S37;
S37、专项智能模块430对反馈信息进行分析,优化调整参数后返回步骤S36;
S38、记录漏洞验证结果和攻击利用结果:对于利用失败的结果,进行记录;对于利用成功的结果获取到敏感信息的情况,进行敏感信息记录;对于利用成功的结果获取权限的情况反弹shell,获取到网络目标的访问权限;
S4、迭代攻击判断:专项智能模块430根据漏洞验证结果和漏洞利用结果判断是否需要迭代攻击,若判断进行下一轮攻击利用则进入步骤S33或S36,若判断进行新攻击目标探测时,则进入步骤S2,若判断为否则进入步骤S5;如图4所示,步骤S4进一步包括以下步骤:
S41、决策大脑模块420根据步骤S3中漏洞验证结果和漏洞利用结果生成迭代攻击决策并判断是否进行迭代攻击,当判断为是时进入步骤S42,当判断为否时进入步骤S5;
S42、当判断进行下一轮攻击利用时进入步骤S33或S36;当发现新的攻击目标时,进入步骤S2;
S5、后渗透:决策大脑模块420根据所获得的权限对网络目标进行提权或敏感信息提取,判断是否进行迭代攻击,若判断是则返回步骤S2、S33或S36,进一步并判断是否进行跳板攻击,若判断为是则针对相邻网络目标返回步骤S2,若判断为否则进入步骤S6;如图5所示,步骤S5进一步包括以下步骤:
S51、后渗透模块300识别当前shell为普通权限后,自动通过漏洞利用进行提权;
S52、后渗透模块300自动从内存中提取账号密码数据;
S53、后渗透模块300自动对文件系统进行遍历,专项智能模块430根据文件系统的内容识别敏感数据的文件,生成敏感信息;
S54、决策大脑模块420根据所述敏感信息进行判断是否需要进行迭代攻击,若判断为是则返回步骤S2、S33或S36,若判断为否则进入步骤S55;
S55、决策大脑模块420判断是否进行跳板攻击,若判断为是则针对相邻网络目标返回步骤S2,若判断为否则进入步骤S6。
S6、漏洞风险优先级重置:漏洞风险优先级重置模块500根据漏洞利用结果重置漏洞修复优先级;
S7、渗透测试报告生成:渗透测试报告模块600基于上述过程产生的数据生成测试报告。
如图6所示,一种用于运行基于AI的自动化渗透测试方法的测试系统,包括:
信息收集模块100:用于对网络目标进行攻击面和情报信息采集,用于分析网络目标存在的漏洞临床,用于将攻击面和情报信息、漏洞信息传送至渗透攻击模块200和人工智能模块400,用于接收人工智能模块400传送的驱动指令;攻击面和情报信息包括IP、域名、旁域、端口、URL、API入口路径、数据库链接入口、邮箱地址、姓名、电话号码、被注释掉的路径、后台登录入口、前台登录入口、文件上传入口,服务、操作系统版本、中间件版本、数据库版本、网络设备版本、应用组件版本、应用框架、开发语言、WEBshell、凭证信息(账号、口令)、弱口令、敏感信息、绝对路径信息;漏洞信息包括系统漏洞、WEB应用漏洞和不安全配置;如图7所示,信息收集模块100包括:
爬虫模块110:用于针对网络目标的域名或WEB应用类目标通过广度优先或深度优先策略全量爬取静态页面和动态页面,用于对静态页面和动态页面的HTML页面代码内容进行识别并分析可以用于攻击的攻击面和情报信息,用于将攻击面和情报信息传送至漏洞扫描模块130,用于接收人工智能模块400传送的驱动指令;
爆破模块120:用于通过子域爆破、URL爆破、路径爆破、弱口令爆破和webshell爆破对网络目标的域名、URL路径、弱口令和webshell入口进行爆破并获取攻击面和情报信息,用于将攻击面和情报信息传送至漏洞扫描模块130,用于接收人工智能模块400传送的所述驱动指令;
漏洞扫描模块130:用于接收爬虫模块100传送的攻击面和情报信息,用于接收爆破模块120传送的攻击面和情报信息,用于根据攻击面和情报信息对网络目标进行漏洞扫描并生成漏洞信息,用于将攻击面和情报信息、漏洞信息传送至渗透攻击模块200,用于接收人工智能模块400传送的驱动指令;
渗透攻击模块200:用于接收信息收集模块100传送的攻击面和情报信息、漏洞信息,用于对漏洞信息进行验证并利用漏洞对网络目标进行攻击,获取网络目标的访问权或信息,并将访问权或信息传送至后渗透模块300和人工智能模块400,用于接收人工智能模块400传送的驱动指令;网络目标的访问权或信息包括权限所在的目标、系统信息、用户名称和shell远控系统等系统权限,数据库的库表结构信息和遍历目录信息;
后渗透模块300:用于接收渗透攻击模块200传送的访问权或信息,用于对网络目标进行提权和提取情报信息,用于对网络目标关联网络中的其它对象进行探测和跳板攻击,用于将权限信息和情报信息传送至人工智能模块400,用于接收人工智能模块400传送的驱动指令,情报信息包括用户/用户组、密码信息、令牌、敏感信息和网络信息;
人工智能模块400:用于接收信息收集模块100传送的攻击面和情报信息、漏洞信息,用于接收渗透攻击模块200传送的网络目标的访问权或信息,用于接收后渗透模块300传送的权限信息和情报信息,用于根据攻击面和情报信息、漏洞信息、访问权或信息、权限信息和情报信息生成攻击方法并根据攻击方法生成驱动指令,用于向信息收集模块100、渗透攻击模块200和后渗透模块300发送驱动指令;如图8所示,人工智能模块400包括:
专家系统模块410:用于存储决策知识,用于将决策知识传送至决策大脑模块420;
决策大脑模块420:用于接收专家系统模块410传送的决策知识,用于根据决策知识进行攻击建模,用于接收信息收集模块100传送的攻击面和情报信息、漏洞信息,用于接收渗透攻击模块200传送的网络目标的访问权或信息,用于接收后渗透模块300传送的权限信息和情报信息,用于将攻击面和情报信息、漏洞信息、网络目标的访问权或信息、权限信息和情报信息输入攻击建模生成驱动指令,用于向信息收集模块100、渗透攻击模块200和后渗透模块300发送驱动指令;
专项智能模块430:用于根据不同场景向决策大脑模块420提供决策支撑;如图9所示,专项智能模块430包括:
信息收集决策模块431:用于对攻击面和情报信息收集过程进行决策;
图灵对抗模块432:用于对WEB应用系统登录界面中的字符验证码进行识别;
情报识别与提取模块433:根据情报信息,识别和提取对攻击有帮助的情报数据;
指纹分析决策模块434:当网络目标指纹、版本信息被修改以隐藏系统真实信息时,基于多维指纹信息分析,进行模糊决策,以匹配更多可能使用的攻击组件;
数据解析与攻击载荷生成决策模块435:根据攻击目标和网络环境信息,综合决策,拼接和动态调整参数以生成攻击载荷;对于WEB应用,对URL的数据结构进行解释,以生成针对性的漏洞利用和攻击载荷;并根据每次攻击执行后返回的结果,判断攻击是否正确,分析攻击失败的原因,并为下一次攻击载荷生成决策提供依据;
漏洞风险优先级重置模块500:用于根据漏洞对网络目标造成的实际风险进行风险值计算,根据漏洞的CVSS值、漏洞利用是否成功、漏洞利用成功后所造成的风险和基于漏洞的迭代利用最终造成的风险对风险值进行调整,用于根据调整后的风险值对漏洞的危险度进行排序;
渗透测试报告模块600:用于根据人工智能模块400和漏洞风险优先级重置模块500的输出数据生成渗透测试报告。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

Claims (3)

1.一种基于AI的自动化渗透测试方法,其特征在于:包括以下步骤:
S1、渗透测试任务设定:包括设定渗透目标、参数、是否自动跳板攻击,并启动任务;
S2、攻击面和情报信息、漏洞信息收集:决策大脑模块(420)根据所述渗透测试任务设定的目标IP或域名,生成驱动指令发送至信息收集模块(100),所述信息收集模块(100)根据所述驱动指令收集所述攻击面和情报信息、所述漏洞信息并将所述攻击面和情报信息、所述漏洞信息传送至决策大脑模块(420);步骤S2进一步包括以下步骤:
S21、所述决策大脑模块(420)判断所述渗透测试任务的类型,当设定的目标为IP地址或IP地址段时进入步骤S22,当设定的目标为URL或域名时进入步骤S23;
S22、所述决策大脑模块(420)生成驱动指令并传送至所述信息收集模块(100),所述信息收集模块(100)根据所述驱动指令对目标网络的端口和服务进行扫描,检测所有可能的WEB应用入口,进入步骤S24;
S23、所述决策大脑模块(420)生成驱动指令并传送至所述信息收集模块(100),所述信息收集模块(100)反查所述目标网络的IP地址,并对目标网络的端口和服务进行扫描,检测所有可能的WEB应用入口,进入步骤S24;
S24、当存在URL或域名入口时,所述决策大脑模块(420)生成驱动指令并将所述驱动指令传送至爬虫模块(110),所述爬虫模块(110)根据所述驱动指令进行全量URL爬取和页面HTML代码内容爬取,并将爬取数据传送至专项智能模块(430);
S25、所述专项智能模块(430)对页面HTML代码进行情报识别与提取,为爆破模块(120)和所述渗透攻击模块(200)提供情报数据;
S26、当存在域名时,所述决策大脑模块(420)生成驱动指令并将所述驱动指令传送至所述爆破模块(120),所述爆破模块(120)根据所述驱动指令、所述情报数据和域名字典进行子域名爆破,将数据传送至漏洞扫描模块(130);
S27、当存在URL路径时,所述决策大脑模块(420)生成驱动指令并将所述驱动指令传送至所述爆破模块(120),所述爆破模块(120)根据所述驱动指令、所述情报数据和URL路径字典进行URL路径爆破,将数据传送至所述漏洞扫描模块(130);
S28、当存在访问入口时,所述决策大脑模块(420)生成驱动指令并将所述驱动指令传送至所述爆破模块(120),所述爆破模块(120)根据所述驱动指令、所述情报数据和弱口令字典进行弱口令爆破,若当登录页面存在一次性验证码时,图灵对抗模块(432)对验证码进行识别和自动填写,将数据传送至所述漏洞扫描模块(130);
S29、所述漏洞扫描模块(130)对目标IP、域名或URL进行系统漏洞扫描、web应用漏洞扫描和安全配置扫描,生成漏洞信息并将所述漏洞信息传送至人工智能模块(400);
S3、渗透攻击:所述决策大脑模块(420)根据所述攻击面和情报信息、所述漏洞信息生成驱动指令并将所述驱动指令传送至所述渗透攻击模块(200),所述渗透攻击模块(200)根据所述驱动指令进行渗透攻击,并向所述决策大脑模块(420)输出漏洞验证结果和漏洞利用结果;步骤S3进一步包括以下步骤:
S31、判断攻击类别,当对系统进行渗透攻击时进入步骤S32,当对WEB应用进行渗透攻击时进入步骤S35;
S32、所述决策大脑模块(420)根据所述攻击面和情报信息、所述漏洞信息建立攻击分支节点并通过漏洞利用成功率进行优先级排序;
S33、从优先级最高的漏洞开始,根据所述专项智能模块(430)的数据解析与攻击载荷生成决策生成单个或多个攻击载荷对所述漏洞进行逐个检测,并判断所有漏洞攻击利用是否均未成功,若判断为是则进入步骤S34,若判断为否则进入步骤S38;
S34、所述专项智能模块(430)综合所有指纹情报信息进行指纹分析决策,采用模糊匹配的方式,匹配出其它漏洞,返回步骤S32;
S35、所述决策大脑模块(420)根据所述攻击面和情报信息、所述漏洞信息建立攻击分支节点并通过漏洞利用成功率进行优先级排序;
S36、从优先级最高的漏洞开始,根据所述专项智能模块(430)的数据解析与攻击载荷生成决策对相关URL进行数据解释,拼接成单个或多个攻击载荷对所述漏洞进行逐个检测,并判断漏洞是否利用成功,若判断为是则进入步骤S38,若判断为否则进入步骤S37;
S37、所述专项智能模块(430)对反馈信息进行分析,优化调整参数后返回步骤S36;
S38、记录漏洞验证结果和攻击利用结果:对于利用失败的结果,进行记录;对于利用成功的结果获取到敏感信息的情况,进行敏感信息记录;对于利用成功的结果获取权限的情况反弹shell,获取到网络目标的访问权限;
S4、迭代攻击判断:专项智能模块(430)根据所述漏洞验证结果和所述漏洞利用结果判断是否需要迭代攻击,若判断进行下一轮攻击利用则进入步骤S3,若判断进行新攻击目标探测时,则进入步骤S2,若判断为否则进入步骤S5;所述步骤S4进一步包括以下步骤:
S41、所述决策大脑模块(420)根据步骤S3中所述漏洞验证结果和所述漏洞利用结果生成迭代攻击决策并判断是否进行迭代攻击,若判断进行下一轮攻击利用则进入步骤S33或S36,若判断进行新攻击目标探测时,则进入步骤S2,当判断为否时进入步骤S5;
S42、当判断进行下一轮攻击利用时进入步骤S33或S36;当发现新的攻击目标时,进入步骤S2;
S5、后渗透:所述决策大脑模块(420)根据所获得的权限对目标网络进行提权或敏感信息提取,判断是否进行迭代攻击,若判断是则返回步骤S2或S3,进一步判断是否进行跳板攻击,若判断为是则针对相邻目标网络返回步骤S2,若判断为否则进入步骤S6;步骤S5进一步包括以下步骤:
S51、后渗透模块(300)识别当前shell为普通权限后,自动通过漏洞利用进行提权;
S52、所述后渗透模块(300)自动从内存中提取账号密码数据;
S53、所述后渗透模块(300)自动对文件系统进行遍历,所述专项智能模块(430)根据所述文件系统的内容识别敏感数据的文件,生成所述敏感信息;
S54、所述决策大脑模块(420)根据所述敏感信息进行判断是否需要进行迭代攻击,若判断为是则返回步骤S2、S33或S36,若判断为否则进入步骤S55;
S55、所述决策大脑模块(420)判断是否进行跳板攻击,若判断为是则针对相邻目标网络返回步骤S2,若判断为否则进入步骤S6;
S6、漏洞风险优先级重置:漏洞风险优先级重置模块(500)根据所述漏洞利用结果重置漏洞修复优先级;
S7、渗透测试报告生成:渗透测试报告模块(600)基于上述过程产生的数据生成测试报告。
2.根据权利要求1所述的一种基于AI的自动化渗透测试方法,其特征在于:所述访问入口包括SMB、Rlogin、RDP、ftp、telnet、SSH、SNMP、数据库服务、管理后台和webshell。
3.根据权利要求1~2其中任意一项所述的一种基于AI的自动化渗透测试方法,其特征在于:用于运行所述基于AI的自动化渗透测试方法的测试系统包括:
信息收集模块(100):用于对网络目标进行攻击面和情报信息采集,用于分析和生成所述网络目标存在的漏洞信息,用于将所述攻击面和情报信息、所述漏洞信息传送至渗透攻击模块(200)和人工智能模块(400),用于接收所述人工智能模块(400)传送的驱动指令;所述信息收集模块(100)包括:
爬虫模块(110):用于针对所述网络目标的域名或WEB应用类目标通过广度优先或深度优先策略全量爬取静态页面和动态页面,用于对所述静态页面和所述动态页面的HTML页面代码内容进行识别并分析可以用于攻击的所述攻击面和情报信息,用于将所述攻击面和情报信息传送至漏洞扫描模块(130),用于接收所述人工智能模块(400)传送的所述驱动指令;
爆破模块(120):用于通过子域爆破、URL爆破、路径爆破、弱口令爆破和webshell爆破对所述网络目标的域名、URL路径、弱口令和webshell入口进行爆破并获取所述攻击面和情报信息,用于将所述攻击面和情报信息传送至所述漏洞扫描模块(130),用于接收所述人工智能模块(400)传送的所述驱动指令;
漏洞扫描模块(130):用于接收所述爬虫模块(110)传送的所述攻击面和情报信息,用于接收所述爆破模块(120)传送的所述攻击面和情报信息,用于根据所述攻击面和情报信息对所述网络目标进行漏洞扫描并生成所述漏洞信息,用于将所述攻击面和情报信息、所述漏洞信息传送至所述渗透攻击模块(200),用于接收所述人工智能模块(400)传送的所述驱动指令;
渗透攻击模块(200):用于接收所述信息收集模块(100)传送的所述攻击面和情报信息、所述漏洞信息,用于对所述漏洞信息进行验证并利用所述漏洞信息对所述网络目标进行攻击,获取所述网络目标的访问权或信息,并将所述访问权或信息传送至后渗透模块(300)和所述人工智能模块(400),用于接收所述人工智能模块(400)传送的驱动指令;
后渗透模块(300):用于接收所述渗透攻击模块(200)传送的所述访问权或信息,用于对所述网络目标进行提权和提取情报信息,用于对所述网络目标关联网络中的其它对象进行探测和跳板攻击,用于将权限信息和所述情报信息传送至所述人工智能模块(400),用于接收所述人工智能模块(400)传送的驱动指令;
人工智能模块(400):用于接收所述信息收集模块(100)传送的所述攻击面和情报信息、所述漏洞信息,用于接收所述渗透攻击模块(200)传送的所述网络目标的访问权或信息,用于接收所述后渗透模块(300)传送的所述权限信息和所述情报信息,用于根据所述攻击面和情报信息、所述漏洞信息、所述访问权或信息、所述权限信息和所述情报信息生成攻击方法并根据所述攻击方法生成驱动指令,用于向所述信息收集模块(100)、所述渗透攻击模块(200)和所述后渗透模块(300)发送驱动指令;所述人工智能模块(400)包括:
专家系统模块(410):用于存储决策知识,用于将所述决策知识传送至决策大脑模块(420);
决策大脑模块(420):用于接收所述专家系统模块(410)传送的所述决策知识,用于根据所述决策知识进行攻击建模,用于接收所述信息收集模块传送的所述攻击面和情报信息、所述漏洞信息,用于接收所述渗透攻击模块(200)传送的所述网络目标的访问权或信息,用于接收所述后渗透模块(300)传送的所述权限信息和所述情报信息,用于将所述攻击面和情报信息、所述漏洞信息、所述网络目标的访问权或信息、所述权限信息和所述情报信息输入所述攻击建模生成驱动指令,用于向所述信息收集模块(100)、所述渗透攻击模块(200)和所述后渗透模块(300)发送驱动指令;
专项智能模块(430):用于根据不同场景向所述决策大脑模块提供决策支撑;所述专项智能模块(430)包括:
信息收集决策模块(431):用于对攻击面和情报信息收集过程进行决策;
图灵对抗模块(432):用于对WEB应用系统登录界面中的字符验证码进行识别;
情报识别与提取模块(433):根据所述情报信息,识别和提取对攻击有帮助的情报数据;
指纹分析决策模块(434):当所述网络目标指纹、版本信息被修改以隐藏系统真实信息时,基于多维指纹信息分析,进行模糊决策,以匹配更多可以使用的攻击组件;
数据解析与攻击载荷生成决策模块(435):根据攻击目标和网络环境信息,综合决策,拼接和动态调整参数以生成攻击载荷;对于WEB应用,对URL的数据结构进行解释,以生成针对性的漏洞利用和攻击载荷;并根据每次攻击执行后返回的结果,判断攻击是否正确,分析攻击失败的原因,并为下一次攻击载荷生成决策提供依据;
漏洞风险优先级重置模块(500):用于根据所述漏洞对所述网络目标造成的实际风险进行风险值计算,根据漏洞的CVSS值、漏洞利用是否成功、漏洞利用成功后所造成的风险和基于所述漏洞的迭代利用最终造成的风险对所述风险值进行调整,用于根据调整后的所述风险值对所述漏洞的危险度进行排序;
渗透测试报告模块(600):用于根据所述人工智能模块(400)和所述漏洞风险优先级重置模块(500)的输出数据生成渗透测试报告。
CN202010303652.8A 2020-04-17 2020-04-17 一种基于ai的自动化渗透测试方法 Active CN111488588B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010303652.8A CN111488588B (zh) 2020-04-17 2020-04-17 一种基于ai的自动化渗透测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010303652.8A CN111488588B (zh) 2020-04-17 2020-04-17 一种基于ai的自动化渗透测试方法

Publications (2)

Publication Number Publication Date
CN111488588A CN111488588A (zh) 2020-08-04
CN111488588B true CN111488588B (zh) 2023-08-11

Family

ID=71811016

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010303652.8A Active CN111488588B (zh) 2020-04-17 2020-04-17 一种基于ai的自动化渗透测试方法

Country Status (1)

Country Link
CN (1) CN111488588B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112165498B (zh) * 2020-11-12 2022-10-25 北京华云安信息技术有限公司 一种渗透测试的智能决策方法及装置
CN113254334B (zh) * 2021-05-18 2022-07-29 北方实验室(沈阳)股份有限公司 一种基于工作流的信息侦查和渗透测试方法
CN113238971A (zh) * 2021-07-12 2021-08-10 深圳市永达电子信息股份有限公司 基于状态机的自动化渗透测试系统及方法
CN113923007A (zh) * 2021-09-30 2022-01-11 绿盟科技集团股份有限公司 一种安全渗透测试方法、装置、电子设备及存储介质
CN114070632B (zh) * 2021-11-18 2024-01-26 安天科技集团股份有限公司 一种自动化渗透测试方法、装置及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109600371A (zh) * 2018-12-08 2019-04-09 公安部第三研究所 一种网络层漏洞检测系统及方法
CN110221977A (zh) * 2019-06-03 2019-09-10 江苏亨通工控安全研究院有限公司 基于ai的网站渗透测试方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9811668B2 (en) * 2015-04-21 2017-11-07 Sap Se Multi-context exploit test management

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109600371A (zh) * 2018-12-08 2019-04-09 公安部第三研究所 一种网络层漏洞检测系统及方法
CN110221977A (zh) * 2019-06-03 2019-09-10 江苏亨通工控安全研究院有限公司 基于ai的网站渗透测试方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
高晓辉.光纤拉曼放大器在光纤通信系统中的性能研究.CNKI优秀硕士学位论文全文库.2015,全文. *

Also Published As

Publication number Publication date
CN111488588A (zh) 2020-08-04

Similar Documents

Publication Publication Date Title
CN111581645B (zh) 一种基于ai的自动化渗透测试系统的迭代攻击方法
CN111488587B (zh) 一种基于ai的自动化渗透测试系统
CN111475817B (zh) 一种基于ai的自动化渗透测试系统的数据收集方法
CN111488588B (zh) 一种基于ai的自动化渗透测试方法
CN111475818B (zh) 一种基于ai的自动化渗透测试系统的渗透攻击方法
Sommestad et al. The cyber security modeling language: A tool for assessing the vulnerability of enterprise system architectures
CN110221977B (zh) 基于ai的网站渗透测试方法
CN107046526A (zh) 基于Fuzzing算法的分布式异构网络漏洞挖掘方法
CN111488577B (zh) 一种基于人工智能的模型建立方法和风险评估方法及装置
CN111488586B (zh) 一种基于ai的自动化渗透测试系统的后渗透方法
KR100851521B1 (ko) 취약점 분석을 위한 사이버 공격 시스템 및 그 공격 방법
CN110704846B (zh) 一种人在回路的智能化安全漏洞发现方法
Casola et al. A methodology for automated penetration testing of cloud applications
CN113660241B (zh) 一种基于深度强化学习的自动化渗透测试方法
Alhassan et al. A fuzzy classifier-based penetration testing for web applications
Barry et al. Intrusion detection systems
CN115242487A (zh) 一种基于元行为的apt攻击样本增强及检测方法
CN110896394A (zh) 一种视频监控设备漏洞安全检测系统
CN113923007A (zh) 一种安全渗透测试方法、装置、电子设备及存储介质
Adebiyi et al. Security Assessment of Software Design using Neural Network
Chien et al. Attack subplan-based attack scenario correlation
Deptula Automation of cyber penetration testing using the detect, identify, predict, react intelligence automation model
Xie et al. A probability-based approach to attack graphs generation
Ziro et al. Improved Method for Penetration Testing of Web Applications.
CN118036019B (zh) 基于代码自动检测的漏洞定位方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant