首页|基于LLVM的C/C++隐式类型转换安全性检测

基于LLVM的C/C++隐式类型转换安全性检测

C/C++IMPLICIT TYPE CONVERSION SECURITY DETECTION BASED ON LLVM

扫码查看
带有系统底层特性的高级语言(C、C++等)通常采用的是弱类型系统,允许不同类型变量之间的混合运算.因此,在涉及到赋值等操作时,如果源变量和目的变量类型不一致,则需要进行类型转换,而转换过程稍有疏忽就会引入安全性问题.现有的检测技术大多在程序运行时进行类型转换问题的检测,产生较大额外开销的同时,也会影响程序的执行速度.基于LLVM编译器提出一种针对C/C++隐式类型转换的安全性检测方法.该方法作用于LLVM中间代码,筛选出含有变量声明和引用的语句;对于声明变量的语句,提取其类型信息并按相应的数据结构存储;对于引用变量的语句,匹配定义的类型转换的不安全操作集和转换模式,以检测其中的类型转换操作是否安全.实验结果表明,该方法能够在编译阶段有效地检测出存在安全隐患的类型转换操作.

万明、刘嘉华、鄂龙慧、朱江

展开 >

南京南瑞信息通信科技有限公司 江苏 南京210003

类型转换 静态检测 安全性 LLVM

国家电网科技项目

科计[2018]20号项目240号

2022

计算机应用与软件
上海市计算技术研究所 上海计算机软件技术开发中心

计算机应用与软件

CSTPCD北大核心
影响因子:0.615
ISSN:1000-386X
年,卷(期):2022.39(4)
  • 16