删除或更新信息,请邮件至freekaoyan#163.com(#换成@)

基于污点分析的数组越界缺陷的静态检测方法

本站小编 Free考研考试/2022-01-02

摘要:随着移动计算、物联网、云计算、人工智能等领域的飞速发展,也涌现出了很多新的编程语言和编译器,但是C/C++语言依旧是最受欢迎的编程语言之一,而数组是C语言最重要的数据结构之一.当在程序中通过数组下标访问数组元素时,必须确保该下标在该数组的边界之内,否则就会导致数组越界.程序中的数组越界缺陷会使得程序在运行时导致系统崩溃,甚至使攻击者可以截取控制流以执行任意恶意代码.当前针对数组越界的静态检查方法无法达到高精度的分析,尤其是无法处理复杂约束和表达式,过多的误报额外增加了开发者的负担.因此,提出了一种基于污点分析的数组越界的静态检测方法.首先,提出流敏感、上下文敏感的按需指针分析方法,实现数组长度区间分析.然后,提出按需污点分析方法,实现数组下标和数组长度污染情况的计算.最后,定义数组越界缺陷判定规则,提出使用后向数据流分析方法,检测数组下标是否越界.在进行数组越界检测的过程中,为了处理程序中的复杂约束和表达式,在分析过程中将调用约束求解器来判断约束的可满足性.如果没有发现相应的语句,则报告数组越界缺陷警报.同时,实现了自动静态分析工具Carraybound,并通过实验展示了方法的有效性.



Abstract:During the rapid development of mobile computing, IoT, cloud computing, artificial intelligence, etc, many new programming languages and compilers are emerging. Even so, C/C++ language is still one of the most popular languages. And array is one of the most important data structures of C language. It is necessary to check whether the index is within the boundary of the array when using it to access the element of an array in a program. Otherwise, array index out-of-bounds will happen unexpectedly. When there are array index out-of-bounds defects existing in programs, some serious errors may occur during execution, such as system crash. It is even worse that array index out-of-bounds defects open the doors for attackers to take control of the server and execute arbitrary malicious code by carefully constructing input and intercepting the control flow of the programs. Existing static methods for array boundary checking cannot achieve high accuracy and deal with complex constraints and expressions, which lead to too many false positives. And it will increase the burden of developers. In this study, a static checking method is proposed based on taint analysis. First, a flow-sensitive, context-sensitive, and on-demand pointer analysis is proposed to analyze the range of array length. Then, an on-demand taint analysis is performed for all array indices and array length expressions. Finally, the rules are defined for checking array index out of bounds defects and the checking is realized based on backward data flow analysis. During the analysis, in order to deal with complex constraints and expressions, it is proposed to check the satisfiability of the conditions by invoking the constraint solver. If none statement for avoiding array index out-of-bound is found in the program, an array index out-of-bound warning will be reported. An automatic static analysis tool, Carray bound have been implemented, and the experimental results show that Carraybound can work effectively and efficiently.



PDF全文下载地址:

http://jos.org.cn/jos/article/pdf/6063
相关话题/程序 计算 语言 数组 实验

  • 领限时大额优惠券,享本站正版考研考试资料!
    大额优惠券
    优惠券领取后72小时内有效,10万种最新考研考试考证类电子打印资料任你选。涵盖全国500余所院校考研专业课、200多种职业资格考试、1100多种经典教材,产品类型包含电子书、题库、全套资料以及视频,无论您是考研复习、考证刷题,还是考前冲刺等,不同类型的产品可满足您学习上的不同需求。 ...
    本站小编 Free壹佰分学习网 2022-09-19
  • 面向边缘计算的目标追踪应用部署策略研究
    摘要:目标追踪算法虽已在诸多领域得到广泛应用,然而由于实时性和功耗问题,使得基于深度学习模型的算法难以在移动终端设备上部署应用.结合边缘计算技术,从应用部署优化的角度,对目标追踪算法在移动设备上的部署策略进行研究.通过对目标追踪应用特点、移动设备特性以及边缘云网络架构的分析,提出一种面向边缘计算的目 ...
    本站小编 Free考研考试 2022-01-02
  • 一种包解析器硬件配置描述语言及其编译结构
    摘要:设计了一种用于实现可重构网络数据包解析器的专用硬件配置描述语言P3.由于要有利于高安全等级网络的实现,侧重于从高可信性角度进行语言设计,包括形式化定义该语言的类型系统和操作语义,以及设计其可信编译结构.基于对可重构硬件基本需求的充分理解,从软硬件协同角度出发,最终明确了P3语言的核心特性及其编 ...
    本站小编 Free考研考试 2022-01-02
  • 多媒体内容的多维度相似性计算与搜索专题前言
    摘要:Abstract:PDF全文下载地址:http://jos.org.cn/jos/article/pdf/5936 ...
    本站小编 Free考研考试 2022-01-02
  • 轨道交通联锁领域特定语言的形式化
    摘要:作为轨道交通系统的核心子系统之一,对联锁系统进行形式化建模与分析,是保证其安全性的重要手段.形式化建模需要领域知识和形式化知识的结合,由于形式化知识难以掌握,领域专家在建模整个过程中都需要形式化专家的帮助.为了解决这个问题,针对联锁系统的故障随机性、行为实时性、构件可重用的特点,提出设计联锁领 ...
    本站小编 Free考研考试 2022-01-02
  • 移动边缘计算中资源受限的串行任务卸载策略
    摘要:云计算和移动互联网的不断融合,促进了移动云计算的产生和发展,但是其难以满足终端应用对带宽和延迟的需求.移动边缘计算在靠近用户的网络边缘提供计算和存储能力,通过计算卸载,将终端任务迁移至边缘服务器上面执行,能够有效降低应用延迟和节约终端能耗.然而,目前针对移动边缘环境任务卸载的主要工作大多考虑单 ...
    本站小编 Free考研考试 2022-01-02
  • 静态程序分析并行化研究进展
    摘要:静态程序分析发展至今,已在多个方面取得了长足的进步,应用于软件开发的众多方面.但对现代大规模复杂软件系统(如千万行代码规模的Linux操作系统、分布式大数据处理系统Hadoop等)进行高精度的静态分析,因其极大规模数据量的计算,仍有一定难度.精度、效率和可扩展性相互制约,是静态分析技术在工业界 ...
    本站小编 Free考研考试 2022-01-02
  • MAS环境中一种基于反馈可信度的多维信誉计算方法
    摘要:在分布式体系结构的MAS(multi-agentsystem)中,Agent之间通过彼此的交互,协调完成共同的任务,但是由于没有中心化的管理权威可以依赖,导致对网络中Agent信誉信息进行判断存在一定的困难.传统的基于评价反馈的信誉评估方法存在反馈评价属性信息利用不足以及缺少确保反馈评价信息可 ...
    本站小编 Free考研考试 2022-01-02
  • 一种基于元模型的访问控制策略描述语言
    摘要:为了保护云资源的安全,防止数据泄露和非授权访问,必须对云平台的资源访问实施访问控制.然而,目前主流云平台通常采用自己的安全策略语言和访问控制机制,从而造成两个问题:(1)云用户若要使用多个云平台,则需要学习不同的策略语言,分别编写安全策略;(2)云服务提供商需要自行设计符合自己平台的安全策略语 ...
    本站小编 Free考研考试 2022-01-02
  • 多项式循环程序的秩函数探测
    摘要:秩函数法是循环程序终止性分析的主流方法.针对一类多分支多项式循环程序,这类程序的秩函数计算问题被证明可归结为单形上正定多项式的探测问题,从而便于利用线性规划工具Simplex去计算这类程序的秩函数.不同于现有基于柱形代数分解的量词消去算法,该方法能够在可接受的时间内计算更为复杂的多项式秩函数. ...
    本站小编 Free考研考试 2022-01-02
  • 一种基于程序功能标签切片的制导符号执行分析方法
    摘要:提出了一种基于程序功能标签切片的制导符号执行分析方法OPT-SSE.该方法从程序功能文档提取功能标签,利用程序控制流分析,建立各功能标签和程序基本块的映射关系,并根据功能标签在程序执行中的顺序关系生成功能标签执行流.针对给定的代码目标点,提取与之相关的功能执行流切片,根据预定义好的功能标签流制 ...
    本站小编 Free考研考试 2022-01-02