基于AI的智能化渗透测试技术研究

news2024/9/30 9:07:51

《网安面试指南》icon-default.png?t=O83Ahttp://mp.weixin.qq.com/s?__biz=MzkwNjY1Mzc0Nw==&mid=2247484339&idx=1&sn=356300f169de74e7a778b04bfbbbd0ab&chksm=c0e47aeff793f3f9a5f7abcfa57695e8944e52bca2de2c7a3eb1aecb3c1e6b9cb6abe509d51f&scene=21#wechat_redirect

《Java代码审计》icon-default.png?t=O83Ahttp://mp.weixin.qq.com/s?__biz=MzkwNjY1Mzc0Nw==&mid=2247484219&idx=1&sn=73564e316a4c9794019f15dd6b3ba9f6&chksm=c0e47a67f793f371e9f6a4fbc06e7929cb1480b7320fae34c32563307df3a28aca49d1a4addd&scene=21#wechat_redirect

《Web安全》icon-default.png?t=O83Ahttp://mp.weixin.qq.com/s?__biz=MzkwNjY1Mzc0Nw==&mid=2247484238&idx=1&sn=ca66551c31e37b8d726f151265fc9211&chksm=c0e47a12f793f3049fefde6e9ebe9ec4e2c7626b8594511bd314783719c216bd9929962a71e6&scene=21#wechat_redirect

渗透测试(Penetration Testing)是一种通过模拟恶意攻击者的行为来评估网络、系统或应用程序安全性的方法。随着信息技术的快速发展和网络攻击手段的日益复杂化,传统的渗透测试方法已经难以满足日益增长的安全需求。传统的渗透测试主要依赖于人工操作,要求渗透测试人员具备丰富的经验和专业知识,他们通过手动的方式进行信息收集、漏洞分析、攻击尝试等操作。这些方法虽然在一定程度上能够发现安全漏洞,但存在效率低下、容易受到测试人员技术水平限制等问题[1]。因此,智能化渗透测试技术应运而生,旨在提高渗透测试的效率和准确性[2]。

   0 2    

智能化渗透测试

智能化渗透测试技术利用人工智能、机器学习等先进的技术手段,实现渗透测试过程的自动化。这些先进的技术手段主要包括以下几个方面[3]。

a)自动化扫描工具:通过自动化工具进行大规模的漏洞扫描,快速识别潜在的安全风险。

b)机器学习算法:利用机器学习算法对大量的安全数据进行分析,自动识别异常行为和潜在威胁。

c)智能决策系统:通过构建智能决策模型,模拟渗透测试专家的思维过程,自动制定测试策略和攻击路径。

d)自适应测试技术:根据测试对象的变化情况和测试过程中的反馈,动态调整测试策略和方法,以提高测试的针对性和有效性。

智能化渗透测试是一种结合了自动化技术和人工智能技术的网络安全评估方法,旨在模拟黑客的攻击行为,以发现并修复网络信息系统中可能被恶意利用的安全漏洞[2]。与传统的依赖人工操作的渗透测试相比,智能化渗透测试通过技术手段降低了对专业人员的依赖,提高了测试的效率和可扩展性[3-4]。智能化渗透测试的流程如图1所示,包括资产识别探测、漏洞检测利用、后渗透和系统智能决策等多个阶段,其中,资产识别探测阶段负责找到目标资产攻击面,为漏洞检测利用提供入口点;漏洞检测利用阶段负责检测及挖掘目标资产存在的漏洞并实施攻击利用,以定位目标脆弱点并为后渗透阶段做准备;后渗透阶段负责数据获取、横向移动及持久化驻留等,用以扩大智能化渗透战果;系统智能决策则围绕整个渗透流程进行攻击行为的决策,有效提升渗透的广度和深度。

图片

图1 智能化渗透测试流程

2.1 智能化资产识别

通常,攻击渗透的目标内部资产数量庞大、种类繁多、应用场景以及应用方式复杂多样,传统的资产识别方式基于规则匹配,识别速度慢,覆盖种类不全面,无法准确、高效地识别资产。因此,需要研制一种智能化的资产识别方式,以提升资产识别的准确率及效率[5]。

2.1.1 资产数据降噪技术

建立精确稳定的资产识别模型需要对攻击过程中产生的攻击数据进行有效的概括和表示,然而这些数据具有数据量大、内容嘈杂、格式多样、维度过高、且噪声分布广等特点,难以被有效地概括和表示。

堆叠去噪自编码器(Stacked Denoising Auto encoders,SDAE)模型是一种重要的深度学习方法,已经广泛应用于图像分类、行为识别、自然语言处理等领域。SDAE模型是由单层的去噪自编码(Denoising Auto encoders,DAE)堆叠而成[6],可对资产数据进行深层次的去噪和特征提取。SDAE的核心思想是利用多个DAE模块的级联效应,以递进的方式提炼出数据中的关键信息,同时抑制噪声的影响[7],SDAE网络结构如图2所示。

图片

图2 SDAE网络结构

SDAE模型的层叠结构使得网络能够逐渐学习到数据的更高层次的特征,在每一层中,DAE都会对输入数据添加噪声,然后尝试重构出无噪声的数据,这种层叠的方式不仅增强了模型对噪声的鲁棒性,而且还有助于捕捉数据中的复杂模式和结构。在资产数据去噪的应用场景中,SDAE模型能够有效地处理大规模、高维度且含有噪声的数据。通过逐层去噪和特征提取,SDAE能够为资产指纹识别提供更加准确和鲁棒的数据表示。这对于提高网络安全防御系统的资产识别能力具有重要意义,尤其是面对复杂网络攻击和大量异构数据场景。

2.1.2 资产数据分类识别技术

渗透攻击的目标网络一般存在资产数量庞大、种类繁杂、应用场景以及应用方式复杂的问题。传统的资产识别方法存在很大局限性,它需要获取大量目标响应数据并覆盖大量匹配规则去判定目标资产类型,这导致其匹配效率低下且覆盖率低。深度学习在文本分类问题方面有着良好的应用,利用深度学习技术能够提升资产识别的效率及准确度[8]。

资产数据往往具备语义时序性以及特征分布不均匀的特点,长短时记忆-卷积神经网络(Long shortterm memory&Convolutional neural networks,LSTM-CNN)模型能够输入降噪后的资产数据,快速输出其对应的类型。当目标资产特征点发生改变时,传统规则难以全面覆盖,而LSTM-CNN模型可以提取目标相应数据中的特征点并对数据上下文进行解析,以实现对资产的判定[9],具体网络结构如图3所示。

图片

图3 LSTM-CNN模型结构

CNN模型使用卷积滤波器来捕获相邻元素之间的本地依赖关系,受滤波器长度的限制,CNN模型很难了解整个句子的整体依赖关系,因此引入LSTM网络。在LSTM模型中,LSTM构造的特征向量携带了整个句子的整体依赖关系[9],在给定输入条件下,将文本序列映射成初始特征向量,将这种向量表示输入LSTM网络,并将LSTM网络的输出作为CNN网络的输入,进一步提取序列的特征向量,最后通过Softmax层,输出模型预测的资源类别。

2.2 智能化攻击载荷生成

漏洞检测的能力与检测时对目标发送的攻击载荷有着直接关系。在通用型漏洞检测中,采用单一攻击载荷与固化攻击载荷往往难以覆盖广泛的检测场景,检测能力低下。因此,如何根据目标场景动态生成攻击载荷,提升检测的覆盖度,是漏洞检测的关键点[10]。

攻击载荷通常由多个部分组成,每个部分需要根据对方的漏洞输入点及防护程度,执行标签闭合、逻辑通过、字符转义、混淆绕过等操作。因此,单个攻击载荷的每个部分都存在一些可用攻击代码来选取填充,以此构造整个渗透载荷。在进行攻击检测时,利用机器学习的分类算法,统计当前目标响应下攻击成功概率最高的攻击代码,从而智能化地生成攻击载荷,其整体逻辑如图4所示。

图片

图4 智能化攻击载荷生成逻辑

2.3 攻击路径动态规划

在复杂网络环境中,由于组网方式及目标脆弱程度的多样性,穷举式的攻击方式在工程上不可行,而固定规则式的攻击行为的攻击次数多,攻击时间长,造成攻击行为易暴露。因此,需要尽可能减少攻击尝试,规划合理的攻击路径,提高攻击行为命中率,缩短攻击时间。

如图5所示,网络渗透攻击可分为目标探测/挖掘、攻击面拓展、漏洞检测、攻击利用等4个主要阶段。在每个阶段内都存在多种攻击方法,通过对这些攻击方法进行分析,可以将其中的共性部分拆分出来,形成比攻击方法粒度更细的攻击基础单元,即攻击原子[11]。

图片

图5 网络渗透主要阶段

本文研究并实现一套用于描述攻击原子的策略语法,该策略语法将各种攻击原子进行关联和组合,形成多种多样的攻击方式和深度不限的攻击路径。攻击原子策略组合如图6所示。

图片

图6 攻击原子策略组合

统筹漏洞检测技术以及新兴的一些自动化渗透攻击技术,都是将常见的漏洞检测流程或攻击过程固化成模块,设定目标后,一旦对目标展开检测和攻击的过程,在模块的生命周期内,就会按预先固化的流程执行,因此,缺乏对实时状况的反馈处理能力和攻击路径的动态规划能力。

在网络渗透攻击过程中,将每一个攻击原子所产生的实际状态和输出数据推送给智能决策系统进行评估,智能决策系统做出反馈,并指导下一步的攻击行为。下一步攻击行为被执行后,再次将产出的新的输出数据交给决策系统进行评估,如此循环反复,最终实现攻击过程的动态判定与规划,绘制出一条当前攻击状态下的最优攻击路径[12]。

攻击路径规划采用动态规划算法作为路径规划基础,将目标当前的攻击状态作为动态规划过程中的系统状态,将智能决策结果作为状态转移策略,将攻击组件集作为攻击范围,将关键目标情报的获取作为攻击边界条件。这样,即使只进行少量攻击行为即可规划最优攻击路径。同时,随着攻击过程的不断推进,关键节点的产出会探测出新资产以及新知识,从而提升了攻击的广度和深度。

2.4 攻击过程智能决策

在渗透攻击过程中,如何针对目标环境,从海量的攻击方法中选取有效的攻击方法,是智能化攻击决策的关键,这就需要基于安全专家的经验常识及渗透经验数据集形成策略模型。在非规划的情况下,该策略模型能够预测生成成功率高的攻击路径和攻击行为,并根据每次攻击成功与否及产出,形成价值判断,从而优化并指导下一步的攻击行为。

智能化网络攻击的重要一环是自动化渗透攻击工具能够智能化地根据网络信息状态进行自主决策,判定需要执行的攻击行为,并实施“由浅入深”的攻击方法。因此,智能决策是系统内网攻击重要的一环。

如图7所示,攻击决策模型应用在自动化渗透攻击系统中的攻击行为选择阶段,在每次攻击迭代过程中,当需要攻击决策模型做出决策时,决策模型会获取当前状态下目标的漏洞结果信息、攻击利用结果信息以及资产结果信息,并根据这些数据统筹决策来判断当前环境下可用攻击行为的成功概率。

图片

图7 攻击过程智能决策

2.4.1 面向攻击事件的统筹决策技术

在内网攻击过程中,生成攻击行为之后,如果使用全量化的攻击手段,往往会导致攻击暴露风险大、对目标造成极强的损伤,常规的解决办法是利用规则匹配的方式,只允许规则覆盖之内的攻击组件在其定义的环境下运行。然而,在面对新的攻击目标时,规则匹配往往无法覆盖,导致无法进一步完成攻击。此外,内网环境复杂,无法利用有限的规则去覆盖多种内网场景,导致攻击方法匮乏,因此,需要采用智能化的攻击决策技术来应对各种攻击场景。为了能够针对复杂的网络环境做出最优的攻击决策,需要对当前的网络环境进行攻击单元的挖掘,将攻击事件拆解成最细粒度的执行单元,如图8所示。

图片

图8 攻击单元模式挖掘流程

通过对大量数据的模式挖掘,能够获取众多攻击单元的组合方法。在自动化渗透攻击系统中,随着攻击的不断深入和资产的不断清晰,能够动态地组合大量的攻击单元。在单次迭代攻击过程中,首先获取上次迭代攻击动态产出的结果数据,从数据中提取攻击单元,并将现有攻击单元与新产生的攻击单元结合,动态生成新的攻击行为。然后,通过图9所示的攻击决策模型对组合生成的大量攻击行为进行优选并执行[13],执行成功后,将会获取新的攻击结果数据,进入下次迭代攻击。

图片

图9 迭代攻击流程

将网络安全攻击事件抽离为攻击原子后,以攻击原子为数据建模基础,以攻击事件为模型数据集,构建一张深度卷积神经网络作为攻击决策网络,攻击决策网络能够将决策结果映射为攻击组件的概率分布。在实际攻击过程中,通过输入可用的攻击行为与当前执行环节的状态结果,攻击决策网络能够根据深度神经网络的权重矩阵生成新的攻击概率矩阵,以指导下一步的攻击。

如图10所示,攻击决策模型采用DCN模型作为架构基础,将目标当前状态下的漏洞结果信息、利用结果信息、资产指纹信息、上次迭代攻击行为及本次攻击行为转化为向量数据并进行拼接组合后输入至DCN模型,模型接收这些拼接向量,并输出该攻击行为的攻击概率。对于攻击概率大于阈值的攻击行为,则会在价值评估后进行优先攻击;对于攻击概率低于阈值的攻击行为,认定该攻击无法成功,则舍弃该攻击任务[14]。

图片

图10 攻击决策模型

2.4.2 价值度量技术

攻击决策网络生成的概率分布往往无法直接利用,而是需要在其基础上进行价值判定,抽取其中价值最高的攻击组件。回归模型是一种预测建模技术的方法,它能够体现因变量和自变量之间的关系,常常被用于寻找变量之间的因果关系。因此,笔者设计一种基于回归模型的攻击价值度量网络与一套价值计算公式。通过将价值计算公式与攻击事件样本相结合,计算出历史攻击事件中每个执行环节的价值评分,以此作为训练数据,训练攻击价值度量网络。攻击价值度量网络能够对当前的执行组件进行进一步的估值评分,获取最高分为最优攻击行为。

如图11所示,基于攻击价值度量网络的价值度量技术,内网攻击能够摒除低价值攻击行为,生成最优的攻击组件,引导控制系统向最优方向进行攻击选择,结合攻击决策网络,共同实现智能化的攻击决策。

图片

图11 攻击价值评估模型

2.4.3 攻击智能体迭代进化

一旦自动化攻击渗透智能体构建完成,如果其不能根据不同的攻击环境不断学习,那么随着网络环境的进一步改变与发展,其攻击效能将会持续下降。因此,需要设计攻击智能体的自学习方法,使其能够通过各种环境不断攻击尝试的结果进行迭代进化,不断增强智能体的攻击能力。

强化学习目前在机器自我学习进化方向上有很多结合应用,它包含4个主要元素:智能体代理、环境状态、行动及奖励。攻击渗透智能体在学习历史经验数据后,能够在一定环境下做出攻击过程的智能决策。然而,随着目标攻击环境的不断变化、攻击方法的不断丰富,攻击智能体也需要具备根据不同的环境进行自我学习进化的能力[15]。智能体学习反馈如图12所示。

图片

图12 智能体学习反馈

网络靶场通常用来仿真真实网络环境,攻击渗透智能体能够根据不断地攻击网络靶场以及不同的真实攻击环境来提升自身的能力。在这个过程中,以目标环境的系统资产信息、漏洞信息、风险信息作为强化学习智能体的环境状态信息,以当前攻击系统中的可用攻击行为作为行动信息,以对目标是否攻击成功作为智能体的奖励信息。每当攻击成功时,智能体接收到正向奖励,并更新当前状态下的智能体的攻击决策网络。通过不断地变化环境,迭代式地实施攻击尝试,实现攻击智能体的进化。

图片

   0 3   

智能化渗透测试的总结和展望

传统渗透测试需要渗透测试人员具备各方面的专业知识、熟悉漏洞机理、熟练运用各种安全测试工具。因此,要摆脱渗透测试对于人工的依赖,需要不断推进智能化渗透测试技术的发展。

随着人工智能技术的发展,将会有更多更成熟的人工智能算法应用到渗透测试的各个阶段中。基于机器学习和深度学习的指纹识别,智能识别测试目标的端口服务、中间件、主机操作系统等指纹信息,从而有效提高渗透的效率。在渗透攻击阶段,通过知识推理,根据目标的网络环境,智能化选择攻击目标,优先攻击具备高渗透价值的目标,智能化选择最合适的攻击载荷,减少渗透尝试的次数,提高渗透测试的效率。针对整个渗透测试过程,通过优先级调度算法对多线程渗透任务的各个线程进行智能网络资源分配,进一步提高渗透效率。未来随着人工智能技术的发展,渗透测试的成功率、自动化程度将会变得更高。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2179239.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

问题:vscode 打印中文时终端输出乱码

文章目录 问题分析解决 问题 在 vscode 编辑器中的终端运行出来的中文是乱码 分析 乱码原因:因windows中文版系统cmd编码默认为GBK,而vscode默认新建文件的编码为UTF-8所以会出现中文乱码情况 解决 终端下输入 chcp 查看当前的cmd编码设置。如图&…

在windows下编译 chromium 的问题汇总(103.0.5060.68 之四)

其实,按照chromium 官方文档来看,大概率是不会出错的,但由于各自的系统差异化,当中遇到的坑也是各不相同。 尤其是在国内的网络情况下,出错是再所难免的,关于这一点,chromium官方文档是没有提及…

哈希-01-数据分类处理

文章目录 1. 题目描述2. 思路3. 代码 1. 题目描述 信息社会,有海量的数据需要分析处理,比如公安局分析身份证号码、 QQ 用户、手机号码、银行帐号等信息及活动记录。 采集输入大数据和分类规则,通过大数据分类处理程序,将大数据…

基于SSM+Vue+MySQL的在线视频学习系统

系统展示 用户前台界面 管理员后台界面 系统背景 随着互联网的飞速发展,在线视频学习已成为人们获取知识、提升技能的重要途径。然而,传统的视频学习平台往往存在内容管理不便、用户体验不佳等问题。因此,开发一款基于SSM(SpringS…

12、echarts 没有显示折线图

一、问题描述 echarts 没有显示折线图,但是,有数据显示: 看图表展示,y轴数据全部没有显示,直接可以判定是数据结构出问题了。 检查 series.data[] 数据结构: dataList [{"dateStr":"202…

06.C/C++内存管理

在这里C的内存管理相较于C作出了许多升级,下面我们就来了解一下。 1.C/C内存分布 我们先来看一下下面的问题,温习一下C的内存分布 int globalVar 1; static int staticGlobalVar 1; void Test() {static int staticVar 1;int localVar 1;int num1…

Web安全 - 跨站点请求伪造CSRF(Cross Site Request Forgery)

文章目录 OWASP 2023 TOP 10CSRF 导图CSRF的基本概念CSRF的工作原理常见CSRF攻击模式CSRF防御策略补充建议应用场景实战防御策略选择1. CSRF Token(首选)2. SameSite Cookie属性3. 验证Referer和Origin4. 多因素认证 实现方案CSRF Token实现SameSite Coo…

JavaWeb——Vue组件库Element(3/6):常见组件:Dialog对话框、Form表单(介绍、使用、实际效果)

目录 Dialog对话框 介绍 使用 实际效果 Form表单 介绍 使用 实际效果 Dialog对话框 介绍 Dialog对话框:在保留当前页面状态的情况下,告知用户并承载相关操作。 Dialog 对话框组件可以在保留当前页面信息的状态下弹出一个对话框,并…

初始MYSQL数据库(8)—— JDBC编程

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程(ಥ_ಥ)-CSDN博客 所属专栏: MYSQL 目录 JDBC的概念 JDBC的使用 加载驱动包 建立连接 创建 statement 对象 定义并执行SQL语句 处理结果集 关闭资源 SQL注入 …

taobao.item_get_appAPI接口原app数据测试指南

在电商竞争日益激烈的当下,数据成为了商家们争夺市场的重要武器。淘宝,作为中国最大的在线零售平台,其庞大的商品库和用户群体为商家提供了巨大的商机。为了帮助商家更好地了解市场动态,优化库存和营销策略,淘宝推出了…

详细分析CollUtil的基本知识(附Demo)

目录 前言1. 集合交并差2. CRUD3. 常用 前言 java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全)【Java项目】实战CRUD的功能整理(持续更新) CollUtil 是一个工具类,通常用于集合的操作,提供…

用友U8+CRM leadconversion.php SQL注入复现

0x01 产品描述: 用友U8-CRM是企业利用信息技术,是一项商业策略,它通过依据市场细分组织企业资源、培养以客户为中心的经营行为、执行以客户为中心的业务流程等手段来优化企业的客户满意度和获利能力。 0x02 漏洞描述: 用友 U8 CR…

<<迷雾>第5章 从逻辑学到逻辑电路(1)--继电器 示例电路

布尔代数可以用来解释复杂的开关电路 info::操作说明 鼠标单击开关切换开合状态 注: 开关不能全部都合上, 否则会导致模拟器异常 该异常与模拟器把开关和导线当作了零电阻的理想部件有关, 为避免此问题, 可在开关形成的回路上添加一个额外的电阻 另: 异常出现后, 右上方的运行按…

Nagle 算法:优化 TCP 网络中小数据包的传输

1. 前言 在网络通信中,TCP(传输控制协议)是最常用的协议之一,广泛应用于各种网络应用,如网页浏览、文件传输和在线游戏等。然而,随着互联网的普及,小数据包的频繁传输成为一个不容忽视的问题。…

行为设计模式 -策略设计模式- JAVA

策略设计模式 一 .简介二. 案例2.1 抽象策略(Strategy)类2.2 具体策略(Concrete Strategy)类2.3 环境(Context)类2.4 测试 三. 结论3.1 优缺点3.2 使用场景 前言 这是我在这个网站整理的笔记,有错误的地方请…

Git大框架总结

下面首先是我对于git的一个小总结,主要是大框架 首先是四区,因为大部分你所有的工作都是在这四个区里的实现的,包括要提交一个东西,是先是在工作区修改,后用add添加到暂存区,后提交到本地仓库,当…

文献阅读——电力系统安全域边界通用搜索模型与近似方法

文章标题 DOI:10.13334/j.0258-8013.pcsee.190884 ©2020 Chin.Soc.for Elec.Eng. 4411 文章编号:0258-8013 (2020) 14-4411-19 中图分类号:TM 74 电力系统安全域边界通用搜索模型与近似方法 姜涛,李晓辉,李雪*&a…

十五、存储过程与函数

文章目录 0. 引用1. 存储过程概述1.1 理解1.2 分类 2. 创建存储过程2.1 语法分析 3. 调用存储过程3.1 调用格式3.2 代码举例3.3 如何调试 4. 存储函数的使用4.1 语法分析4.2 调用存储函数4.3 代码举例4.4 对比存储函数和存储过程 5. 存储过程和函数的查看、修改、删除5.1 查看5…

建筑物变化检测算法baseline工程,开箱即用,23年5月测试准确度超越阿里云aiearth

建筑物变化检测算法baseline工程,开箱即用,23年5月测试准确度超越阿里云aiearth 建筑物变化检测算法Baseline工程 项目背景 随着城市化进程的加快,对建筑物的变化进行监测变得尤为重要。这不仅有助于城市管理与规划,还能够为灾害…

LeetCode 热题 100 回顾6

干货分享,感谢您的阅读!原文见:LeetCode 热题 100 回顾_力code热题100-CSDN博客 一、哈希部分 1.两数之和 (简单) 题目描述 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标…