孙力立,张培华,武成岗,王 喆.JavaScript 引擎JIT 代码的类型混淆缺陷检测器[J].高技术通讯(中文),2023,33(3):251~260 |
JavaScript 引擎JIT 代码的类型混淆缺陷检测器 |
Type confusion vulnerability sanitizer in JavaScript engine JIT code |
|
DOI:10. 3772/ j. issn. 1002-0470. 2023. 03. 003 |
中文关键词: 漏洞挖掘;动态检测器;软件缺陷检测 |
英文关键词: vulnerability finding, sanitizer, software flaw detection |
基金项目: |
作者 | 单位 | 孙力立 | (处理器芯片全国重点实验室(中国科学院计算技术研究所) 北京100190)
(中国科学院大学计算机科学与技术学院 北京100190) | 张培华 | (处理器芯片全国重点实验室(中国科学院计算技术研究所) 北京100190)
(中国科学院大学计算机科学与技术学院 北京100190) | 武成岗 | (处理器芯片全国重点实验室(中国科学院计算技术研究所) 北京100190)
(中国科学院大学计算机科学与技术学院 北京100190) | 王 喆 | (处理器芯片全国重点实验室(中国科学院计算技术研究所) 北京100190)
(中国科学院大学计算机科学与技术学院 北京100190) |
|
摘要点击次数: 873 |
全文下载次数: 659 |
中文摘要: |
类型混淆漏洞是近期在JavaScript 引擎中集中爆发的一类漏洞。但是,受即时编译(JIT)代码的限制,以往的类型混淆缺陷的检测方法,无法用于检测JavaScript 引擎JIT代码的类型混淆缺陷。本文提出了一种针对该类型缺陷的检测方法,并实现了检测器名为TC-JIT-San 的JIT 代码类型混淆缺陷检测器。该方法利用JIT 代码执行流和数据类型之间关联性,将从JIT 代码中识别数据类型的难题转为观察执行流的变化。TC-JIT-San通过观察执行流的变化情况是否符合正常执行逻辑,从而检测出类型混淆缺陷。实验结果表明,TC-JIT-San 具有低开销、低漏报和误报的特点。其运行时开销是正常执行的1. 84倍,平均漏报率和误报率为0%和0. 11%。 |
英文摘要: |
Type confusion is a type of vulnerability that has recently emerged in JavaScript engines. However, due to JIT (just-in-time) code limitations, prior type confusion sanitizers are unable to detect type confusion bugs in JavaScript engine JIT code. For the first time, this paper proposes a detection method for these bugs, as well as a sanitizer,TC-JIT-San. The method takes advantage of the correlation between the JIT code??s execution flow and data types, converting the issue of recognizing data types in JIT code into observing changes in the execution flow. TCJIT-San detects type confusion bugs by observing whether changes in the execution flow comply with normal execution logic. Experiments show that TC-JIT-San has a low overhead, as well as a low number of false negatives and false positives. Its runtime overhead is 1. 84 times that of normal execution, and its average false negative and false positive rates are 0% and 0. 11%, respectively. |
查看全文
查看/发表评论 下载PDF阅读器 |
关闭 |
|
|
|