基于确定性重放的针对多类型网络协议漏洞的根源性分析方法

admin 2022年8月24日22:35:51安全文章评论1 views1817字阅读6分3秒阅读模式

近期,国防科技大学计算机学院在网络协议软件安全分析方向取得新成果。团队深挖网络协议软件漏洞根源与网络协议软件语义提取方法,最新研究工作“基于确定性重放的针对多类型网络协议漏洞的根源性分析方法”被网络与信息安全领域国际会议IEEE TrustCom 2022接收,弥补了现有针对网络协议软件漏洞根源性分析方法的缺失。IEEE TrustCom是中国计算机学会推荐的C类国际会议。

题目

SEEKER: A Root Cause Analysis Method Based on Deterministic Replay for Multi-Type Network Protocol Vulnerabilities

作者

Runhao Liu, Bo Yu, Baosheng Wang, Jianbin Ye, Jianxin Huang and Xiangdong Kong

主要内容

网络协议软件被广泛的应用于重要安全场景并承担着核心功能,然而网络协议软件漏洞层出不穷,往往会对现实生产和生活造成严重危害。分析网络协议软件漏洞根源对于增强协议实现安全性具有重要意义。相比于常规终端软件,网络协议软件具有更复杂的程序逻辑,涉及多种协议状态,如认证状态、会话状态,覆盖更多漏洞种类,包括内存破坏类以及逻辑类漏洞,涵盖更加多样的程序语义信息,分布于更多的平台架构中。现有的漏洞根源性分析方法ARCUS主要面向常规终端软件,符号执行技术的使用限制其应用于协议加密过程,硬件处理器追踪技术的使用限制其应用于物理资源有限的嵌入式平台中。因此,目前急需一个针对网络协议软件漏洞的根源性分析方法。

国防科技大学计算机学院的研究生刘润昊、叶健彬、黄见欣、孔祥东在国防科技大学研究员王宝生、副研究员喻波的联合指导下,基于确定性重放分析方法,提出了一种针对网络协议软件的多类型漏洞进行根源性分析方法--SEEKER。如图一所示,SEEKER全系统地记录网络协议软件漏洞触发过程,然后确定性重放这一过程,在此过程中,SEEKER根据多层次语义模型动态提取粒度的协议语义信息,当经过漏洞知识模型相关的检查点后,检测维护的程序语义信息是否满足漏洞规则,如果语义满足某一漏洞规则,那么就会生成漏洞根源性分析报告。

基于确定性重放的针对多类型网络协议漏洞的根源性分析方法

图一 SEEKER的系统架构图

由于网络协议软件多分布于复杂的嵌入式平台、物联网固件当中,因此我们选择全系统确定性重发技术来监控漏洞触发过程以及提取协议程序语义信息。程序语义的全面程度决定了根源性分析的能力。我们提出了一种多层次语义模型,形式化定义如下:

Model = (I, O, S, M)

(1)I代表指令层,主要关注内存访问信息。

(2)O = {Ostack, Oheap, Oauth, Osession}代表对象层,对象语义涵盖stack,heap以及用于表示认证状态以及会话状态的内存对象。

(3)S = {Sstack,Sheap,Scommand}代表状态属性层,状态属性语义涵盖栈、堆命令执行函数属性。

(4)Sstack = {size,address}栈属性包括可用stack空间的大小以及stack的起始地址。

(5)Sheap = {size,address,Available}堆属性包括堆大小,堆起始地址以及代表堆是否可用的布尔值。

(6)Scommand = {para,Controlled}命令执行函数属性包括函数参数以及代表参数是否可控的布尔值。

(7)M代表当前报文序列号。

图二所示为构建论文中样例代码的多层次语义信息的过程图。在获取到全面的协议语义信息之后,本工作又定义了七类漏洞规则,涵盖逻辑类与内存破坏类两大类漏洞,具体为认证绕过、命令注入,协议状态混淆,内存泄漏,缓冲区溢出,双重释放以及释放后使用漏洞。

基于确定性重放的针对多类型网络协议漏洞的根源性分析方法

图二 构建多层次语义模型的样例过程

SEEKER成功地在7类漏洞、4种真实世界网络协议软件,两种不同平台上进行测试。图三所示为SEEKER自动化生成的针对内存泄漏漏洞的根源性分析报告,图中清晰的展示了漏洞触发点以及与漏洞触发有关的详细信息,能够迅速的帮助安全从业人员定位漏洞根源。在实验过程中,SEEKER还发现了3个零日漏洞。此外SEEKER具有很强的适应性和可伸缩性,其分析的单条执行路径包含多达135,437,793条指令和多达15,893,356次内存访问请求。

基于确定性重放的针对多类型网络协议漏洞的根源性分析方法

图三 CVE-2014-0160内存泄漏漏洞根源行分析报告


原文始发于微信公众号(ipasslab):基于确定性重放的针对多类型网络协议漏洞的根源性分析方法

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年8月24日22:35:51
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  基于确定性重放的针对多类型网络协议漏洞的根源性分析方法 http://cn-sec.com/archives/1251865.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: