[发明专利]一种二进制代码授权漏洞检测方法有效
申请号: | 202110103327.1 | 申请日: | 2021-01-26 |
公开(公告)号: | CN112800423B | 公开(公告)日: | 2022-10-11 |
发明(设计)人: | 唐宇;王旭;王凯旋;孙海龙;刘旭东 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 北京中创阳光知识产权代理有限责任公司 11003 | 代理人: | 尹振启 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 二进制 代码 授权 漏洞 检测 方法 | ||
本发明通过软件工程领域的方法,实现了一种二进制代码授权漏洞检测方法。通过包含四个流程:二进制文件加载,漏洞特征匹配,静态程序分析,以及符号执行的系统,对输入的文件分析文件内部程序的语法结构,进而针对硬编码口令和越权网络访问的行为特征进行识别,缩小待检测的程序路径的范围,并通过控制流分析、数据依赖分析、函数调用分析三个步骤生成函数调用图,最终利用函数调用图在符号执行流程计算出程序路径的输入,而后使用得到的程序路径的输入进行人工验证。这一系统通过深入分析硬编码口令与越权网络访问两类授权漏洞的触发原理与代码模式,实现了一种运行效率较高且运行成本较低的漏洞检测方法。
技术领域
本发明涉及软件工程领域,尤其涉及一种二进制代码授权漏洞检测方法。
背景技术
软件作为信息时代重要的信息载体,已广泛应用于通信、交通、能源、医疗等生产生活环境中,负责对数据的收集、存储和处理,因此软件的安全漏洞可能导致严重的后果。授权漏洞是一类影响广泛、危害性高的软件漏洞,通过利用程序中身份验证机制的缺陷,攻击者可以实施读取隐私数据、执行恶意代码等行为,严重破坏设备的机密性、完整性和可用性。然而,绝大多数的商业化软件都以二进制代码的形式发布与应用,抽象语义的缺失、混淆技术的使用、编译器的优化都使得针对二进制代码的漏洞检测比源代码更加困难,因此,针对二进制代码的授权漏洞检测方法是当前亟需研究的重点问题。
现有的研究中并没有直接针对二进制代码授权漏洞检测任务的方法和框架,已有的二进制代码分析框架中可用于检测授权漏洞检测的框架十分稀少,他们所采用的漏洞检测方法按照运行原理可分为三类:
静态程序分析是在不运行代码的方式下,通过词法分析、语法分析、控制流分析、数据流分析等技术对程序的全部代码进行静态结构层面的解析,挖掘出程序的深层语义,进而判断代码是否具有某种特定的功能特性,分析程序中可能存在的安全隐患。比如Genius通过提取程序特征并转化为特征向量,进而基于高维向量的距离函数来评估包含已知漏洞的程序与待检测程序的相似度,实现已知漏洞的查找。
符号执行是一种通过计算符号化状态而不是使用具体值来分析程序的方法。在程序的实际执行过程中,将程序变量表征为符号表达式,使得程序执行不依赖特定输入,通过修改符号表达式的约束条件,符号执行可以同时探索程序在不同输入下可能产生的多个执行路径,理论上可以发现程序的所有漏洞。比如FIE 基于开源符号执行引擎KLEE,并采用了状态剪枝、内存模糊等策略,在小型二进制程序的漏洞检测任务上取得了较好的分析结果。
模糊测试是将目标程序置于真实物理设备或仿真器中运行,自动生成不同的测试用例并提供给目标程序,通过观察程序的执行结果来分析程序可能存在的漏洞。比如Firmadyne基于开源仿真器QEMU来模拟Linux系统环境,通过自动化运行攻击脚本实现了对基于Linux系统的二进制固件程序的大规模漏洞分析。
但现有技术存在如下问题:
静态程序分析只对程序代码做静态扫描,容易受到代码混淆的影响,即恶意程序的编写者将程序代码刻意地进行复杂化,在不改变程序原本功能的前提下,将其改写为可读性更差、代码结构更冗余的形式,从而干扰或绕过静态分析过程。同时,随着程序代码量和逻辑复杂度的提高,静态程序分析的难度也会显著提高,难以准确分析程序特征。
符号执行面临着两方面的技术瓶颈。一是状态空间爆炸,当目标程序体积较大、结构较复杂,尤其是包含循环语句或函数的递归调用时,可能导致符号执行不断产生新状态,耗尽计算机资源。二是环境交互问题,由于大多数程序不是独立运行的,符号执行引擎需要考虑它们与周围软件和设备的频繁交互,如文件系统、环境变量、网络数据流等。
模糊测试则容易受到测试输入和仿真环境的影响。传统的模糊测试方法往往随机生成测试输入,如果待测程序包含输入验证的机制,就会大大降低模糊测试的效率,造成不必要的资源消耗。仿真环境需要考虑对不同平台和架构的支持,由于二进制程序可能采用多种内核标准,嵌入式设备中的二进制程序也常常与专有硬件协同使用,因此开发一款兼容这些异构软件的仿真环境难度极大。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110103327.1/2.html,转载请声明来源钻瓜专利网。