安全开发者峰会利用大模型辅助目动化挖掘BYOVD漏洞驭动张艺啦·阿里云安全·安全研究员己DRE
2025SDC团队介绍张艺璇程聪王晓满阿里云安全研究员阿里云安全专家阿里云安全玖防策略专家专注于人工智能在二进制文深耕病毒检测、主机安全专注于高级恶意样本对抗件分析、漏洞挖掘以及恶意内核安全、虚拟化安全、软件检测中的应用恶意文件防领域
2025SDC演讲内容BYOVD背景介绍使用大模型辅助自动化BYOVD驱动漏洞控标思路和流程风险驱动筛选自动分析工具搭建工作流与prompt实例分析总结与展望
2025SDC背景介绍
2025SDCBYOVDBYOVD(BringYourOwnVulnerable Driver)step2攻击者将易受攻击的合法驱动程序(sys文件)植入目标系统,然后利用易受攻击的驱动程序执行恶意操作。BYOVD攻击往往会直接针对终端安全软件,使其被致盲kerne或杀死,而终端安全防护被攻破后,入侵者将不受阻碍malwareBYOVD地开展任何恶意行动。这些驱动是微软官方或第三方厂商开发的经过数字签名的驱动,驱动本身受安全软件信任,因此它们既不会被标记也不会被阻止,但由于代码实现中的缺陷,它们可以被恶意利用以执行提权、持久化驻留等操作,
2025SDCBYOVD原理ad.RyteOffeet:LouPart;L[14]izeof(Sourcestring));Bx36u)Read.Lergth<8lvl-nParameters.treate.Options <4)1,0x9c40u,0,1u,&Dericadbject);>TyPe·VIad.Length<81v+-Paramaters.Create.Options(8RYOVD通党通过驱动程序的0CT飞漏洞实现的,攻击考利用合法驱动中存在漏洞的IOCTL,在用户态发起IOCTL请求,通过内核驱动控制内核行为,达到提权、任意代码执行等目的
2025SDCBYOVD原理CWE-782: Exposed IOCTL with Insufficient Access Control用户自定义的IOCTL请求中,可能执行了某些高危操作ClientId.UniaueProcess=al;.SecurityDescriptor=0i64;MSR寄存器访问ObjectAttributes.Length=48;=ZwOpenProcess(&ProcessHandle, 1u, &0bjectAttributes, &ClientId);1/O端口直接访问行(v1>=e内存映射v3=ProcessHandle;,(ProcessHandle)打开关闭进程ZwTerminateProcess(ProcessHandle,e);v3=ProcessHandle;如果在执行这些操作前,没有进行权限校验或者校验方式能够被绕过,则可能导致这些操作被滥用攻击者可以通过逆向分析,构造对应的IOCTL请求,借助白驱动执行危险操作,达到提权、任意代码执行等目的。
2025SDCBYOVD危害与影响由于驱动开发人员对安全编码规范不了解等原因,第三方驱动广泛存在无权限校验/权限校验可被绕过等问题,这使得BYOVD成为潜在的安全隐患来源有报告指出,2024年约25%的勤索软件攻击已诵过BYOVD持术利用合法但仔在漏洞的驱动程序,绕过EDR开实现权限提升。勒索团伙如RansomHub开发“EDRkilShifter"工具,通过加载漏洞驱动禁用主动防御,银狐及其他APT组织频繁采用BYOVD,在针对性攻击中进—步扩大威胁范围
2025SDC原有BYOVD漏洞挖掘万法人工逆向人工逐个分析每个Hunting文件,判断if(found_path.reg是否存在漏洞、编写PoC并验证分析效率低旦高度依赖专业知识符号执行人工仅参与分析符号执行成功的文件编写PoC并验证由于路径爆炸、指针操作等问题,失败率很高(ills代码:符号执行举例
2025SDC原有BYOVD漏洞挖掘万法使用IDAPython脚本ida ioctl propagate,py自动搜索BYOVD驱动程序·该脚本有两个功能:分类和分析分类函数:识别IOCTL处理程序,然后查找从处理程序到目标APV/指令的执行路径分析函数:修复IOCTL相关结构中的联合字段,并在子例程中递归传播函数参数名称/类型,以快速判断是否可以控制输入/输出。该方案依赖完整符号或结构,如果没有完整的IOCTL分发表或IOCTL分发表被混淆,识别处理程序会变得困难;也不能处理多个IOCTL协同等复杂情况。参考:https//blogs.vmware.com/secunity/2023/10/hunting-vulnerable-kernel-drivershtml
2025SDC大模型能带来什么?分析效率提升大模型自动判断是否存在漏洞并实现PoC编写人工仅参与校验环节分析成功率提升从代码语义方面分析文件,不要求严格的语法对专家经验依赖少
2025SDC为什么选择BYOVD?可行性:BYOVD漏洞具备一定的统一性(结构化输入输出)IOCTL是一种结构化的接口,有明确的参数格式...