“AI+Security”系列第4期(一)之“洞” 见未来:AI 驱动的漏洞挖掘新范式

图片

在数字化浪潮下,安全漏洞问题日益严峻,成为各行业发展的重大挑战。近日,“AI+Security” 系列第 4 期线下活动于北京成功举办,聚焦 “洞” 见未来:AI 驱动的漏洞挖掘新范式,汇聚了安全领域的众多专家。

本次活动由安全极客、DataCon 社区、InForSec 网络安全研究国际学术论坛以及清华校友总会 AI 大数据专委会联合主办,众多行业精英参与,包括奇安信安全研究员尹斌、华清未央 CEO 朱文宇、水木羽林技术专家张强、云起无垠引擎负责人李唯、长亭科技联合创始人龚杰、云起无垠 CEO 沈凯文以及前华为高级安全专家、简世咨询高级顾问孙志敏,共同探讨 AI 技术在漏洞挖掘领域的前沿应用、面临挑战及未来发展方向,为筑牢国家网络安全屏障提供思路与智慧。

分享一:LLM辅助的模糊测试增强技术

在当今数字化浪潮之下,模糊测试作为一种自动化软件测试手段,于漏洞挖掘及评估范畴的重要性愈发凸显,其测试范畴涉猎广泛,从操作系统内核、数据库,再到各类协议等均有涉及。水木羽林技术专家张强针对大语言模型(LLM)在嵌入式操作系统模糊测试以及数据库模糊测试领域的探索与实践,展开了深入剖析。

图片

张强博士指出,嵌入式操作系统如今广泛扎根于工业物联网、航天航空等关键领域,然而,随着其应用场景的拓展,安全漏洞隐患也呈现出与日俱增之势,诸如令人警醒的 BadAlloc 系列漏洞以及 URGENT/11 系列漏洞等。

图片

聚焦于 LLM 加持下的嵌入式操作系统内核模糊测试,嵌入式操作系统既有着广泛的应用面,又关乎关键领域的安全命脉。内核模糊测试的对象囊括了传统操作系统内核、面向特定领域的操作系统内核以及广义内核,并且不同类型的内核均匹配有专门的测试工具与注入途径,输入生成策略也花样繁多。

过往研究表明,尽管已有关于 LLM 的相关探索,但嵌入式内核因其架构多元等复杂特性,仍存在诸多难题。覆盖引导测试依循特定流程运作,面对现存挑战,借助大语言模型生成能够触发内核模块的用户态程序、精准提取深层状态路径等手段,可有效破局。其框架设计分两个关键阶段推进,实验评测结果显示,所采用的 ECG 方法在漏洞挖掘以及代码覆盖率上成效明显,且消耗的 token 数量较少。

图片

对于数据库模糊测试,张强博士提及,大语言模型虽已在此崭露头角,却也饱受诸如产生幻觉、长文本理解瓶颈等问题的困扰,在驱动合成、输入生成以及漏洞探测等核心环节,均面临不小挑战。对此,张强给出了极具针对性的建议:首先,摒弃一次性完成驱动程序合成的做法,转而依据已识别出的错误,反复向 LLM 查询并持续修复错误;其次,广泛收集函数原型、测试用例,或是梳理函数间的连接规则,为提示工程提供有力支撑;最后,针对复杂系统而言,采用传统的程序分析方法往往比单纯倚重大语言模型更为稳妥、切实可行。

分享二:基于大模型的漏洞挖掘技术与实践

在当今的网络安全领域,漏洞挖掘无疑是重中之重,其方法也是多种多样,涵盖了静态代码分析、模糊测试,以及大模型与之相结合的创新手段。来自奇安信尹斌先生针对这些不同的漏洞挖掘路径,分别进行了深入且细致的分享,为行业带来诸多启示。

图片

首先聚焦于大模型融合静态代码分析挖掘漏洞这一前沿领域。静态代码分析作为一种强大的漏洞检测技术,具有无需运行程序即可查找潜在漏洞的显著优势,其所运用的常见技术手段包含符号执行等,在工具层面,像 CodeQL 这类经典之作更是广为人知。以 DiverseVul 项目为例,它创新性地通过爬取海量数据,并对大模型进行针对性微调等一系列操作,惊喜地发现大模型在漏洞检测性能方面得到了飞跃式提升,这其中特定的预训练任务更是发挥了关键支撑作用。再看 GPTScan,它将目光聚焦于智能合约逻辑漏洞检测这一细分赛道,巧妙地把大模型与静态分析有机融合,通过严谨的步骤,先是精准过滤函数,接着科学判断可达性,随后提取关键的变量语句并辅以静态确认等,成功挖掘出诸多之前未曾发现的新漏洞。

其次,在大模型融合模糊测试挖掘漏洞板块,模糊测试以其独特的通过输入异常数据来探寻漏洞的方式,在安全领域被广泛应用,诸如天象模糊测试平台,就以支持多种语言和架构的优势备受瞩目。在经典的 Fuzz 驱动生成方法中,研究人员巧妙设计提示策略,充分利用各类不同信息来生成并修复驱动程序,其中 ALL 策略脱颖而出,展现出更为卓越的效果。后续的增量研究更是乘胜追击,通过持续优化提示词以及精细调整调用结构,进一步推动了驱动生成效果迈向新高度。

图片

再者在大模型融合 Agent 挖掘漏洞方面,基于大语言模型(LLM)构建的 Agent 展现出非凡实力,它被赋予了推理、规划、执行以及存储等一系列关键能力。以 Naptime 项目为例,它开创性地给予大模型更为充裕的推理时间,巧妙搭建交互式环境,高度模拟人类编程测试流程,在此过程中灵活调用各类工具并严谨验证漏洞。而 Big Sleep 项目作为 Naptime 的进阶版本,更是取得了亮眼成果,成功揪出 SQLite 中的 stack overflow 漏洞,其操作流程环环相扣,从深入理解代码起始,历经细致分析、精巧构造输入、反复调试等多个关键步骤,最终精准总结出漏洞成因。

图片

最后来探讨大模型挖掘漏洞实践展现出的多元能力。从全流程能力来看,它以对程序的理解为起点,借助大模型的代码解析能力,分析程序架构、逻辑,找出潜在风险点;接着利用大模型融合静态代码分析、模糊测试等技术优势,挖掘程序深处的漏洞;最后完成漏洞修复报告的撰写,在报告中清晰呈现漏洞详情、修复建议以及风险评估等内容,形成从发现问题到解决问题的完整流程,为漏洞挖掘工作提供实用且有效的指引,助力从业者高效开展工作。

分享三:机器语言大模型 Machine Language Model

在网络空间的运行体系里,机器语言处于核心地位。然而,现阶段像 ChatGPT 这类广为人知的大模型,却在理解机器语言方面存在短板。与此同时,闭源软件分析更是面临重重困境:一方面,深度检测手段匮乏,面对无源码软件时检测工作举步维艰;另一方面,软件生态迁移效率低下,一旦涉及跨平台等迁移需求,往往不得不重新开发。再者,逆向工程难度颇高,不仅过度依赖国外工具,而且人工分析时准确率与效率双双受限,严重阻碍了软件国产化的推进步伐,那些由国外公司主导的行业软件,国产化替代更是难上加难,就连基于规则的恶意代码及漏洞检测,效果和效率也不尽人意。

图片

面对如此现状,华清未央 CEO 朱文宇博士分享了机器语言大模型(MLM)这一前沿成果。他通过与自然语言大模型(GPT - 4o)以及代码大模型(DeepSeek Coder V2)细致对比后发现,MLM 在反编译代码领域展现出独特优势,具备多项突出能力:

其一,卓越的代码分类能力。它能够迅速判别代码类型,精准判断代码敏感性,从而精准锁定目标代码,为逆向工程、恶意代码分析、漏洞挖掘以及性能瓶颈定位等工作提供有力辅助。例如,面对一段汇编代码,它可以给出关于其可能涉及功能的概率预估,像精准判断某函数有 75.98% 的概率与屏幕截图功能紧密相关。

其二,精准的代码相似性检测能力。这一能力广泛应用于供应链成分分析、代码克隆检测、恶意代码家族甄别、相似漏洞挖掘、补丁比对分析以及逆向工程辅助等诸多关键领域。它的工作原理是通过严谨计算函数间的语义相似性分数,进而明确哪些函数与目标函数相似,哪些与之截然不同。

其三,具备语义摘要能力。MLM能够对给定的二进制代码生成自然语言解释,用一个单词或者简短的几句话概括代码的功能语义,辅助分析人员快速理解代码语义,并为模块,程序,文件的整体摘要提供基础。

其四,出色的语义恢复能力。该能力在逆向工程、恶意代码分析、漏洞挖掘等工作中发挥关键作用,比如针对给定的汇编代码,它能够进行反编译操作,将其转换为类 C 语言代码,尽可能还原代码背后的逻辑,当然,由于汇编代码本身的复杂性以及上下文较强的依赖性,还原结果或许无法做到百分之百精准。

分享四:模糊测试技术与AI的前沿探索

在不同的应用场景下,Fuzzing 技术始终面临着使用门槛过高的难题。这要求测试人员必须对被测项目有着极为深入的了解,过程中涉及大量的人工操作,并且对测试人员自身素质提出了严苛要求。幸运的是,大语言模型(LLM)的诞生为突破这一困境带来了曙光,有望降低 Fuzzing 的使用门槛。云起无垠引擎负责人李唯聚焦于 AI 在源码和固件这两个关键领域的探索实践,致力于全方位提升 Fuzzing 的效率与效果,力求挖掘出更多隐藏的安全漏洞。

源码模糊测试方面,传统的模糊测试驱动生成存在诸多难点。一方面,人工编写成本居高不下,测试人员不仅需要人工识别库的攻击面,还要编写符合接口调用逻辑的复杂测试驱动,为了触发更多被测试代码,往往还得设法增加驱动的复杂度,同时更要精准引入合适的头文件和库,并确保整个编译链接过程顺利通过。另一方面,静态分析的准确率偏低且误报率颇高,在识别某些接口参数间的语义联系时力不从心,想要依据程序结构信息构造合理的上下文更是困难重重。

图片

鉴于此,李唯表示,结合静态分析技术与自动编译链接框架,我们精心设计了基于 LLM 生成 Fuzz 驱动的创新框架,这一框架让测试更加高效、精准。

图片

在固件模糊测试与 AI 的结合探索,李唯表示,我们选择了种子生成优化这一方向。具体实施策略如下:

图片

首先,充分发挥大模型强大的理解能力,对 BusyBox 中集成的各类工具展开深入剖析,力求精准把握每一种工具的使用方式。

其次,依据不同工具各自的特点,利用大模型针对性地生成与之适配的测试数据。

随后,将这些初始数据进行专业的种子清洗。通过严谨筛选,去除那些无效或干扰性强的数据,只保留真正合适、最具潜力的数据作为最终用于测试的种子。

最后,调用AFL,凭借其专业性能,利用筛选出的优质种子开启全面测试流程。如此一来,便能为固件的安全漏洞检测注入强劲动力,保障固件在复杂多变的运行环境中维持稳定可靠的状态。

圆桌讨论

在圆桌环节,奇安信安全研究员尹斌、华清未央 CEO 朱文宇、长亭科技联合创始人龚杰、云起无垠 CEO 沈凯文以及前华为高级安全专家、简世咨询高级顾问孙志敏围绕“大模型赋能漏洞”进行了重点探讨。

图片

1. 目前AI编程越来越火,比如像cursor、codeium之类的AI编辑器出现以后,写出来的代码是不是就天然和安全了?是不是漏洞挖掘就没那么重要了?

2. 现在大模型的能力越来越强了。在科研界和工业界,有没有可能在未来通过大模型的预测和分析能力,就能把漏洞挖掘问题彻底解决掉?是哪些因素影响了直接使用大模型进行漏洞挖掘的效果?

3. 除了漏洞挖掘,漏洞的可利用性验证、漏洞的修复也是从业者们非常关注的点。各位专家认为现在的漏洞自动化验证和修复存在的最大瓶颈是什么?大模型的出现给漏洞验证和漏洞修复带来了怎样的能力提升?

写在最后

此次活动旨在通过行业专家的经验分享和思维碰撞,促进 AI 驱动的漏洞挖掘技术不断进步,为筑牢国家网络安全屏障贡献智慧和力量。后续安全极客也将针对本期活动四位嘉宾的分享与圆桌讨论带来更详细的内容整理,欢迎大家的持续关注。

未来,安全极客社区也将围绕“AI+Security” 开展更多相关主题活动,汇聚更多行业专家、分享更多技术干货,共同促进行业发展。

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

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

相关文章

攻防世界 PHP2

开启场景 访问 /index.php,页面无变化 访问 /index.phps index.php 和 index.phps 文件之间的主要区别在于它们的文件扩展名。 index.php:这是一个标准的 PHP 文件,通常用于编写 PHP 代码。当用户访问 index.php 文件时,Web 服务器…

AI应用-本地模型实现AI生成PPT(简易版)

文章目录 前言技术栈效果展示 一、实现思路二、实现步骤1.本地安装marp-cli2.后端实现3.前端实现 三、代码地址及说明 前言 在许多项目中,生成 PPT 是常见的需求,尤其在教育和报告展示中。传统的生成 PPT 的方法需要手动创建,而使用生成模型…

项目2路由交换

背景 某学校为满足日常教学生活需求,推动数字校园的建设,学校有办公楼和学生宿舍楼和服务器集群三块区域,请合理规划IP地址和VLAN,实现企业内部能够互联互通现要求外网能通过公网地址访问服务器集群,学生和老师能正常…

快速掌握Haproxy原理架构

文章目录 一、原理架构二、无负载均衡三、四层负载均衡的工作流程四、七层负载均衡工作流程五、基础属性mode 属性retries 属性maxconn 属性clitimeout 属性servtimeout 属性states uri 属性 一、原理架构 四层tcp代理:Haproxy仅在客户端和服务器之间双向转发流量&…

02、并发编程的三大特性

并发编程有三大特性分别是,原子性,可见性,有序性。会产生这些特性的根本原因是现在的服务器都是多CPU多核心数的,每个CPU都有自己单独的一套缓存和pc系统,而且程序在运行时按照JMM的规范,它们是需要先把数据…

【项目构建】Gradle入门

本文适用: 不知道什么是项目构建,可以了解下Ant,Maven,Gradle的区别。知道什么是项目构建,了解Ant,Maven,可以看到Gradle是怎么做的。知道什么是项目构建,了解Ant,Maven&…

java栈--数据结构

前言 java实现数据结构栈:用顺序表存储的栈和数组存储的栈。 本文源代码网址:https://gitee.com/zfranklin/java/tree/master/dataStructure/src/com/njupt/stack https://gitee.com/zfranklin/java/tree/master/dataStructure/src/com/njupt/stack 栈…

2.5.2 文件结构、目录及存取

文章目录 文件结构文件目录存取 文件结构 文件结构是文件的组织形式。从用户角度观察到的结构是逻辑结构,从机器实现存储的角度观察,看到的是物理结构。 逻辑结构 有结构的记录式文件:文件中记录的长度都相同,称为定长记录。文件…

关于科研中使用linux服务器的集锦

文章目录 常用的linux命令下载COCO2017数据集 常用的linux命令 一个文件移动到另一个目录下的命令是:mv -v ./old_name ./new_name 如果目标文件夹中已经有同名文件或文件夹,mv 会覆盖它们(除非使用了 -i 选项来提示确认)。 使用…

<项目代码>YOLO Visdrone航拍目标识别<目标检测>

项目代码下载链接 <项目代码>YOLO Visdrone航拍目标识别<目标检测>https://download.csdn.net/download/qq_53332949/90163918YOLOv8是一种单阶段(one-stage)检测算法,它将目标检测问题转化为一…

java内存马

java内存马 idea 2024.1.2专业版 jdk1.8.0_181 tomcat 8.5.82 默认有java基础,Javassist,Jsp,JavaEE都会一点 更新ing 文章目录 java内存马0. 一些基础1. filter型内存马2. Servlet型内存马3. listener型内存马4. Tomcat特有的Valve内存马…

【ORB-SLAM3:相机针孔模型和相机K8模型】

在ORB-SLAM3中,相机的建模是 SLAM 系统的核心之一,因为它直接影响到如何处理和利用图像数据进行定位和地图构建。ORB-SLAM3 支持不同的相机模型,其中包括针孔模型和鱼眼模型(K8 模型)。下面分别介绍这两种模型。 相机…

[手机Linux] 七,NextCloud优化设置

安装完成后在个人设置里发现很多警告,一一消除。 只能一条一条解决了。 关于您的设置有一些错误。 1,PHP 内存限制低于建议值 512 MB。 设置php配置文件: /usr/local/php/etc/php.ini 把里面的: memory_limit 128M 根据你自…

P3456 [POI2007] GRZ-Ridges and Valleys BFS-连通块思想

题目描述 Byteasar loves trekking in the hills. During the hikes he explores all the ridges and valleys in vicinity. Therefore, in order to plan the journey and know how long it will last, he must know the number of ridgesand valleys in the area he is goi…

一键打断线(根据相交点打断)——CAD c# 二次开发

多条相交线根据交点一键打断,如下图: 部分代码如下: finally namespace IFoxDemo; public class Class1 {[CommandMethod("ddx")]public static void Demo(){//"ifox可以了".Print();Database db HostApplicationServices.Workin…

【Yonghong 企业日常问题 06】上传的文件不在白名单,修改allow.jar.digest属性添加允许上传的文件SH256值?

文章目录 前言问题描述问题分析问题解决1.允许所有用户上传驱动文件2.如果是想只上传白名单的驱动 前言 该方法适合永洪BI系列产品,包括不限于vividime desktop,vividime z-suit,vividime x-suit产品。 问题描述 当我们连接数据源的时候&a…

在Windows11上编译C#的实现Mono的步骤

在Windows11上编译Mono的步骤 1、 在win11打开开发者模式,在更新和安全选项里,如下图: 2、下载并安装64位的cygwin, 下载网站:www.cygwin.com 3、 安装 Visual Studio 2015 or later 的社区版本。 4、 下载Mono的windows最新版本。 5、 在cmd.exe里运行下面的命令来安…

嵌入式轻量级开源操作系统:HeliOS的使用

嵌入式轻量级开源操作系统:HeliOS的使用 📍项目地址:https://github.com/heliosproj/HeliOS HeliOS项目是一个社区交付的开源项目,用于构建和维护HeliOS嵌入式操作系统(OS)。HeliOS是一个功能齐全的操作系统&#xff0…

黑马Java面试教程_P9_JVM虚拟机

系列博客目录 文章目录 系列博客目录前言1. JVM组成1.1 JVM由那些部分组成,运行流程是什么?3 41.2 什么是程序计数器?3 4总结 1.3 你能给我详细的介绍Java堆吗? 3 4总结 1.4 什么是虚拟机栈 3 4总结 1.6 能不能解释一下方法区? 3…

YOLO11改进-注意力-引入多尺度卷积注意力模块MSCAM

如何在增强特征图的同时降低计算成本,以提升模型性能。基于此,MSCAM 模块采用了多尺度卷积注意力机制,通过 CAB、SAB 和 MSCB 三个子模块协同工作。CAB 利用自适应池化和卷积操作生成通道注意力权重,强调重要通道特征;…