随着AIGC技术在各种领域应用,有很多安全领域从业者投身研究,随之而来的问题是AIGC将如何在安全领域发挥作用。在网络安全系统现有的体系架构中,如何让AIGC在在安全领域并发挥作用,如何参考AIGC在其他业务领域使用的应用场景,找到AIGC在安全领域一个切入点,是安全从业者人员将要面临的挑战, 同时也是一次借AIGC让安全技术向更好方向方展的机会。
具体将AIGC应用到安全领域的那些具体业务处理环节。如果以安全攻防对抗的角度切入,人们首先想到是渗透测试、威胁分析两个安全方向的应用,攻击两方都可以利用AIGC加强自己的实施能力。 以工程与技术文化进入,从IT生命周期的开发运维安全(DevOpsSec)与安全开发生命周期SDL(Security Development Lifecycle)两方面,在技术文化与处理流程中寻找AIGC切入点,应用AIGC技术提升传统安全业务业务领域的工作效能, 在开发运维安全(DevOpsSec)的技术文化方向找需求场景。在SDL安全开发生命周期中,各个处理 结点环节引入AIGC辅助,加速业务闭环的处理速度。在安全审计、渗透测试、威胁分析、安全响应等多种多样的,可以想象到的安全业务领域应用AIGC,将AIGC落实到具体实际生产应用中发挥作用。
在AIGC和LLM大语言模型,没有现在这么被广泛的传播和接受之前,安全行业已经利用AI技术从事威胁分析工作,比如神经网络算法用于分析攻击威胁,代替传统的检测规则分析攻击者攻击手段、攻击特征。 AIGC、LLM大语言模型新的技术手段的出现,让AI技术在安全领域落地的普及率更高了,安全人员可以将AIGC、LLM当成AI的黑盒功能使用,安全人员用更低的技术门槛,更方便的将AI技术应用落地到安全领域,找到具体的应用场景,AIGC技术的出现,将更好的辅助安全人员的工作。
对大语言模型应用的AIGC技术在安全领域,具体的实践落地方法进行介绍,介绍AIGC的基础概念、LLM大语言模型、企业AIGC管理平台体系架构、大语言模型部署、训练样本数据构建、 模型训练、模型微调、 前端AI会话服务部署、 威胁分析等相关内容。展示如何在实际网络安全运营工作中,利用大语言模型技术开展相关工作。
我们将就以下内容进行说明:
- AIGC与大语言模型;
- AIGC与网络安全;
- AIGC管理平台架构;
- AIGC与大语言模型实践;
- 威胁检测模型建模;
- 多会话管理前端;
1 AIGC与大语言模型
AIGC(全称为AI Generated Content),即人工智能生成内容。随着ChatGPT的出现,AIGC成为了火爆的一个概念。AIGC也是LLM大型语言模型的一种应用。LLM大型语言模型通过收集和抽象人类至今的语言文字,构建自己的模型,能够不断完善,并且能够理解各种语言和语义之间的关系。AIGC则是基于LLM大型语言模型的技术,通过数据和人工的辅助完善,实现强人工智能能力,能够理解和自动学习,AIGC与LLM大型语言模型有着密切的关系。
在安全领域过去对AI技术的应用,技术细节被隐藏在底层,更多是后端的应用服务在直接使用AI技术进行工作。ChatGPT的出现,现时出现了多种与API技术进行交互的方式,除了过去传统的API的方式使用技术, 可以让人们,以自然话语言对话的形式与AI模型进行对话。语言语言处理、向量化、向量数据数据库、大语言模型等各种概念的引入,也给安全技术的领域注入新鲜的空气。
大语言模型也使用了向量化的方法。 向量(Vector)也被称为模型之根。 向量嵌入(vector embeddings)是一种AI原生数据表方式, 用于于表示非结构化的数据或知识,如文本、图像、音视频等。 能冠军将文本表示为数学向量,然后实现文本相似度计算、知识库检索、推理等各种功能,通过这种方式让机器应用实现语义理解。
计算机本身不能直接理解自然语言的文本对话,计算机实现的所谓的十进制运算是在计算机内部转换成计算机硬件可以理解操作的二进制运算,十进制是人类日常生活中最常用的运算,而不是计算机直接理解的。 同样,大语言模型系统之所以可以理解的人类用户输入的自然语言文本,先将人类输入的文本进行向量化,将文体变成数学意义上的向量化数据,并与之前已经向量化完成的数据进行,向量数据之间的相似度比较, 是通过相似向量匹配到接近的答案, 实现对人类用户输入自然语言文本的理解。 对自然语言的理解处理,是需要在计算机中完成数学意义上向量化数据的相似度比较,将自然语言理解的问题,转换成计算机可以理解的数学问题。
大语言模型( Large Language Model)、AIGC(全称为AI Generated Content)对于安全运营人员着眼于实际业务应用来说,在理解基础概念之外,关键是要将安全领域涉及到的相关数据,转换成可以在大语言模型可以使用有样本数据,并且可以用于解决安全领域的问题, 典型的应用场景如:垃圾钓鱼邮件分析,威胁攻击分析等具体场景。
安全技术人员想利用手中的数据时行大语言模型建模, 要考的准备什么样的数据,进行建模与模型微调, 预期创建后的模型可以解决什么样的实际问题,在软件层面如何进行具体的技术实践操作,这些是在工作中涉及到安全业务数据的安全技术人员,适应当下的AIGC技术发展形式,要将AIGC技术落地要学习的相关内容。
1.1 AIGC硬件
大语言模型( Large Language Model)、AIGC(全称为AI Generated Content)的发展与过去传统计算机软件系统,特别是与计算机操作系统发展差异的地方,是对硬件依赖配件的不一样。过去计算机的发展,无论是传统的应用软件、还是操作系统软件,对应硬件不断提提升的要求,是对计算机硬件CPU、内存、IO设备这些配件的升级。AIGC模型需要的更像是大型游戏软件对GPU的需求依赖。单纯的多CPU、大内存的服务器已经不能满足现现在大模型处理的需要。
CPU(Central Processing Unit)是计算机中的中央处理器,它负责执行计算机指令,控制计算机的运算和处理数据,是计算机的核心部件之一。GPU(Graphics Processing Unit)是图形处理器,也称为显示核心、视觉处理器、显示芯片,它是一种专门在个人电脑、工作站、游戏机上做图像和图形相关运算工作的微处理器。
与CPU相比GPU的并行处理能力强,适合处理大量可以并行化的向量化运算、向量运算。GPU还有高带宽、低延时的特性,可以更快地处理和传输大量数据,而这方面的特性对于AI模型的训练和推理非常的有帮助。
GPU市场当中最被人们熟知的公司NVIDIA公司是一家人工智能计算公司,NVIDIA生产全球大理的GPU图形处理器,引领了人工智能技术领域的硬件发展,在大量的弹性显卡资源平台上都使用了NVIDIA公司的GPU硬件资源, 所以在购买GPU服务的过程中需要对比较经典一些NVIDIA的GPU显卡要有所了解,便于作出选择,GPU显卡配置的高低影响建模时间效率。
1.2 AIGC软件
GPU是AIGC软件运行的硬件基础,AIGC软件决定了模型是否可以生成有价值的模型。本章使用的大语言模型( Large Language Model)是ChatGLM-6B这个大语言模型,运行模型、模型建模、模型微调等,使用的都是Python语言开工具。 Python语言与其他高级语言相比,因为本身语语言非常的接近自然语言, 不像C、CPP等语言,还需要特别的计算机底层的概念,甚至是去管理内存或者与寄存器交互。Python语言隐藏了很多的底层细节概念, 让人们专注于自己业务领域的任务,在人工智能领域得到了很好的发展,并发展出各种出色的AI人工智能Python库。
Python语言本身简单易理解的特性,加这非常丰富的AI处理库,可以基于Python与AI人工智能实现,跨平台、跨系统的AI模型建模,因为高度抽象概括的语言特性,实现功能的编码也易于理解实现。
使用的ChatGLM-6B模型使用的人工智能库是Torch,Toch是一个开源的机器学习为,早期版本用Lua语言编写,用于创建深度神经网络,后期因为Lua语言的普及率没有Python语言高的情况, 使用了Python编程语言实现。
在使用ChatGLM-6B大语主言模型的时候,可以看到从模型加载到大语言模型的训练微调,都是使用PyTorch库实现,对于安全人员想利用PyTorch进行相应的大语言模型处理还是要了解相关操作的,在实际的ChatGLM-6B部署修改的过程中,需要对PyTorch理解与修改。
CUDA(Compute Unified Device Architecture)是显卡厂商NVIDIA推出的运算平台, 平台让GPU解决复杂的计算问题。是一种通用的并行计算架构,在用GPU显卡进行建模的时候需要在CUDA平台上进行计算处理。CUDA可以加速Word2Vec这种向量软件参于的训练,可以有效的利用多个GPU,PyTorch也提供了用于文本处理的API,可以使用GPU加速文体处理, 特别是大量的文本数据,使用GPU进行向量化和嵌入可以大大减少计算进间和内存占用。
如果安全技术人员手上没有GPU资源,可选择用高配置的CPU与大内存的服务器部署运行大语言模型,当使用CPU运行代码时,PyTorch会自动将向量转换CPU可以处理的格式,如果是GPU运行将向量转换为GPU可以处理的格式,cuda()与cpu()方法方法用于指定是GPU执行还是CPU执行。
2 AIGC与网络安全
AIGC的发展渗透到各行各业、各种领域,对于在网络安全领域,攻击与防御方, 黑客与企业安全技术人员,都会选择使用强大的AIGC技术,丰富自己的工具箱,提高的自己的业务能力。最朴素的一个场景是,如果黑客攻击者,或者说安全渗透测试人员,利用AIGC丰富了自己攻击手段,提升寻找漏洞效率,如果防守方的技术人员不更新自己的AIGC技能树、升级安全工具箱里的工具,面对攻击者基本AIGC的更高级的攻击手段,更高的效率,就会失去过去的安全攻守平衡,将防守置于低效率安全应急的位置。
攻击渗透方,可以高效的生成弱密码进行密码试探攻击、可以快速的生成钓鱼网站邮件、快速的生成病毒木马工具、快速生成渗透攻击脚本,产生了各种新生的过去没有识别过的攻击特征,响应的防守进行攻守对抗时, 也要想要对应的方法进行防守, 下面介绍几个比较常见的AIGC与安全应用场景,来阐述这些应用场景作为应用案例的抛砖引玉。
2.1 垃圾钓鱼邮件处理
钓鱼邮件和木马病毒程序,是攻击者撕开企业网络安全防线的一种手段。即使安全人员在企业中部署了各种蜜罐系统、防火墙设备、邮件网关、网络威胁分析设备,邮件这种形式,一旦被掉以轻心,就会成为突破网络防御的一条路径,带来危害也是显而易见的。
垃圾钓鱼邮件是有特征特点,并且也有时效性,如果能抓取垃圾钓鱼邮件的特征,并且生成建模的训练样本数据,可以通过模型基于文本向量相似度匹配方法进行垃圾邮件的判断,也可以提供对话的方式,提供给企业的用户自行判断,收到的邮件是否属于垃圾钓鱼邮件存在危险。对于邮件的内容,判断是否具备垃圾邮件的特征,通过输入邮件的正文内容、内含的外部链接、标题等内容判定邮件是否是垃圾邮件、钓鱼邮件。也可以通过与流量分析相结合,取得流量中邮件内容与恶意垃圾钓鱼邮件模型进行交互,自动的判断网络中的垃圾钓鱼邮件。
2.2 威胁检测策略融合
在企业生产的网络环境中,安全设备、安全服务, 会产生大量的有结论性威胁告警数据,威胁告警的产生是基于各种安全设备的威胁检测策略。可以将明确的威胁事件告警信息中的威胁特征数据,转换成可以进行大语言主模型训练用的样本数据,将各种安全检测设备的告警日志中的特征进行训练,生成威胁检测模型, 这样生成的威胁检测模型,可以涵盖具备了多种威胁检测设备、检测服务的威胁策略,可以将多种安全检测设备策略,不同厂家的检测策略通过模型进行融合为一个整体的威胁判断策略。
过去基于流量数据的威胁分析,基于人工智能和特征规则来判断威胁的, 特别是基于特征规则的检测模型,是根据流量中的数据、协议符合某种特征,建立的检测规则, 对于安全运营人员来说,设备中的规则是分类切编号的,当威胁发生时,命中了规则会给出相应的威胁告警。
过去安全人员可以看到的是, 威胁告警名称、威胁类型、策略ID,但某些规则的明细,不是所有都能看到的,有些策略是安全人员创建,而应用型防火墙,对于安全检测的规则是黑盒的, 但有了LLM( Large Language Model)大语言模型之后,安全人员可以根据, 某些分类、名称、甚至是特定的策略ID对应数据进行建模,通过报警时检测到的攻击载荷和对应的威胁结论建模,而不需要知道具体的检测规则, 当将此种数据样本积累的足够的详细,量级达到一定程度,可以直接构建成样本数据,进行基于大语言模型的模型微调训练。
容易从内容文体特征建模威胁,典型的例子是针对7层HTTP攻击类型告警。过去的WAF(Web防火墙)系统,使用检测规则和语议分析的方式对各类的Web攻击进行分析拦截,像libInjection这种语议分析库,可以对XSS、SQL注入攻击有比较好分析判断,之外部类型的攻击,需要规则定义进行拦截。
通过LLM( Large Language Model)大语言模型方式,可以将WAF防火墙系统、应用防火墙系统中, 针对7层攻击产生的告警数据,判断为攻击尝试, 或者攻击成功的告警数据,转换成大语言模型微调使用的JSON样本数据,可以同过提示词方式, 覆盖以上所有7层网络各种攻击类型,间接的相当于,对各种攻击策略的一种融合, 而不需要知道规则策略的明细。
相于普通网关型防火墙,应用防火墙更针对攻击的者载荷和内容明细创建的策略。网关型的防火墙针对五元组数据,源IP、目的IP、源端口 、目的端口、协议数据创建的策略,最后生成结果,也是得于五元组的结论,不像应用防火墙有明细数据可以方便建立训练样本数所据, 告警的结果,更多的是五素组数据, 组成列表名单。
一般达到一定规模的企业做安全建设时,防御的设备、策略、系统构成都是根据自己本地的需求,有自己的特点。 针对某一网络区域的网络流量,采用多种方式的检测设备,不同的设备,具有各自常见各异的检测策略。具体的例子来讲,企业针对办公网络进行流量分析,企业某一办公区域的网络流量,通过流量镜像交换机,进过对同一份的办公网流量进行复制,接到不同厂家的应用防火墙上。这种情况,办公网络内发生的攻击, 是否可以正常的检测到发生的攻击威胁,取决于设备厂商内部检测策略、威胁情况、检测机制等安全策略建设的完备性。网关型防火墙不像应用防火墙,针对协议内容的判断。
在办公网络发生的一种攻击,因为安全策略的构建的不完备,有些防火墙对攻击会出现遗漏, 而有些防火墙设备, 因为报警的敏感度太高,轻易的就会出现误报和漏报的情况。在这种情况下,如果各应用防火墙的厂家都有误报和漏报的攻击的情况出现,报警日志产生的数量是海量的,而基于错误的报警结论构建的微调模型也会存各种漏报和误报的情况。
鉴于以上提到这种情况,针对安全厂商和自己的检测服务的各种检测策略,进行告警收敛,收束出正常的告警的,高威胁的告警对安全运营人员来说,有着重要的意义。而大语言模型的出现,可以提供一个精准的,基于各种安全策略产生的告警,增量构建更准确构建威胁样本,基于一种正确的结论上,形成的更精准检测策略,通过LLM大语言模型来控制告警误报,随着不断的丰富样本,减少漏报的情况出现。 并且,可以将不同厂家设备的检测策略通过告警数据融合在一起。
2.3 漏洞代码修复
随着外部网络安全形式的需求,网络安全法、网络数据安全法的实施,企业越来越重视,安全开发生命周期SDL(Security Development Lifecycle)管理,代码审计、漏洞扫描成为安全开发生命周期里不可缺少的环节。对SDL(Security Development Lifecycle)的重视,自然成也成为AIGC技术重点应用一个切入点。
无论是通过代码审计扫描、还是对服务运行的态实时漏洞扫描,都是在软件的不同阶段发现了软件的漏洞,当涉及到修改代码时,过去只是针对漏洞给出了,漏洞代码的位置, 知道了造成漏洞出现的代码位置, 但并没有给出具体的解决方案,或者给出的建议的不够全面、给出代码改进方案的速度不够快,当AIGC出现时,通过AI针对代码给出参考解决方案,效率要比较过去更高。
2.4 渗透攻击测试
渗透攻击测试,根据扫描、试探、资产可能存在的安全漏洞进行分析,然后根据漏洞确定相应的后续进一步的渗透方案。传统的工具可以生成攻击代码和生成脚本工具。AIGC的介入可以让这个过程效率更高,速度更快。
渗透测试脚本生成:攻击脚本生成, 是最典型符合AIGC生成内容的特点, 根据提示的要求,生成一段攻击测试代码,可以加快测试的进度,提高渗透测试的效率,多种攻击的组合,快带的生成测试代码,通过对测试环节的提速, 整体提高了SDL闭环的运作的效率。
3 AIGC管理平台架构
安全进行大语言模型的过程中,有大量的共性的操作, 这此操作可以流程化和平台化,
大语言模型在安全领域的应用,也相当于像传统的SOC系统一样,需要自己信息系统架构, 相应的处理流程融入到现在的安全系统中,从整体的分层分级结构,可以将大语言模型系统当成传统的信息系统进行设计架构。
多数的AI管理平台,在分解系统功能层级的时候,采用类似的分层分级,总体要处理要完成的任务目标大家是一致的。
AI技术在网络安全方向的应用实践,进行的任务处理流程中有很多共同必可复用的部分。 将处理流程系统化后,按信息系统建设的模式进行体系架构分层。将AIGC应用日常的操作在一个系统平台上完成,减少低效重复的操作,让安全人员更多的精力放在安全业务领域,集中在与安全业务数打交代,用系统平台功能自动完成过人为的手动的操作。隐藏与底层技术交互的细节。
AI操作流程管理平台化后,可以使更多安全运营人员不需要了解语言模型背后技术细节, 只需要了解安全业务数据形成的样本数据,就训练成模型并应用模型在实际安全运营工作中, 让模型产生实际的应用效果价值。
根据对安全技术人员在进行大语言模型训练的过程的各种处理场景,将系统划分成几个系统层次。AI管理平台的架构层级中可分为多个层级:应用层、服务层、模型层、平台层、算力层。
- 应用层,主要定义系统针对安全人员,支持那些应用场景,类似渗透攻击生成、提供代码审计修复方案 、垃圾钓鱼邮件检测、攻击威胁检测等场景,随着系统功能的不断迭代,提供更多的安全用场景。
- 服务层,模型训练、推测部署是服务层要做的工作。
- 模型层,提供了在不同模型之间进行选择切换的功能,比如:多种大语言模型切换选择、微调模型的加载选择、向量模型。
- 平台层,提代了数据管理、提示词管理、流量管理、 威胁事件管理、安全运营管理等与安全相关的共性服务。
- 算力层,虚拟资源、虚拟化资源、GPU弹性资源等相关资源服务,这些是算力层要考虑功能场景。
3.1 应用层
AI管理平台应用层定义了现有的那些安全应用场景具体落地实施AIGC技术,比如:垃圾钓鱼邮件分析、渗透测试攻击工具辅助生成、漏洞代码修复、威胁分析建模等都是AIGC在应用层的落地, 需要提供相应的操作流程和和用户交互界面, 让安全人员可以这些场景中,有效的应用AIGC技术,产生对应的效果。
应用层直接标明,整AI管理平台能具体应到的具体的领域,也是实际AI在落地时,会角决方那些具体问题:
- 代码漏洞修复:是指当代码审计时发现代码有漏洞时,通过AIGC手段直接生成对应的修复代码,给开发人员, 快束代码修复方案,提升级开发人员修复漏洞代码的效率。
- 垃圾邮件识别:在日常的办公场景,大量的垃圾邮件产生,有广告邮件,钓鱼邮件,特别是钓鱼邮件产生的安全威胁还是很大的,往往攻击者,就是是通过钓鱼邮件,攻击企业内部系统,用大