SaTC: CORE: Small: MOSE: Automated Detection of Module-Specific Semantic Errors
SaTC: CORE: Small: MOSE: Automated Detection of Module-Specific Semantic Errors
批准号:
1815621
负责人:
Kangjie Lu
金额:
$49.53万
依托单位国家:
美国
项目类别:
Standard Grant
财政年份:
2018
资助国家:
美国
项目状态:
已结题
起止时间:
2018-09-01 至 2021-08-31
中文摘要
操作系统内核、库和应用程序框架等系统软件为计算设备(从个人计算机和服务器到移动设备和嵌入式设备)的所有功能提供了基础。系统软件中的安全漏洞尤其严重,因为它们可以破坏设备上运行的任何软件。系统软件中最常见的漏洞是语义错误,例如缺少安全检查。如果成功利用语义错误,可能导致严重的系统攻击,如特权升级、远程代码执行和信息泄漏。例如,易受攻击的设备可能处于攻击者的完全控制之下,并泄露用户的私人信息。尽管这一点很重要,但是检测语义错误是一项挑战,因为语义错误没有统一的模式,而且经常涉及复杂的代码逻辑。以往的语义错误检测研究主要采用统计分析或手工规范的方法来建立语义检查规则,往往忽略了模块特定的语义错误,这些语义错误涉及到各种功能和变量,每个功能和变量都只有很少的用途。本项目旨在通过开发识别模块特定函数和变量的自动化技术,并生成具体的检查规则,自动检测系统软件中特定模块的语义错误。该项目还将开发一种新的检测系统,以精确检测模块特定的语义错误。通过自动检测广泛使用的系统软件中常见的语义错误类别,本项目显著提高了普适计算机设备的安全性。该项目的更广泛的教育活动包括将研究与外展相结合,在明尼苏达州的大学和行业之间组织“夺旗”比赛,以及开发新的跨学科课程。本研究项目旨在检测特定于模块的语义错误,这是一种新的、广泛的语义错误类别,以前的检测采用统计分析或人工规范生成规则进行语义检查,否则无法检测。首先,它开发了新的技术来自动识别与安全相关的函数和变量,而不需要多次使用它们。这些技术包括错误代码分析、使用分析和行为分析。其次,对已识别的函数和变量进行实证分析,并根据其安全属性和上下文对其进行分类。对于每个类别,研究进一步开发了元规则,指定如何正确使用每个类别。例如,如果将变量用作内存分配的大小参数,则应该强制执行范围检查。元规则是通用的,可以组装和实例化,为每个模块特定的函数或变量生成具体的检查规则。第三,该项目开发了一种分阶段的方法和一套静态分析和符号执行技术,以精确地检测系统软件中以前未知的特定模块的语义错误。这些技术可以在广泛使用的系统软件(如Linux内核)上进行评估。该奖项反映了美国国家科学基金会的法定使命,并通过使用基金会的知识价值和更广泛的影响审查标准进行评估,被认为值得支持。
英文摘要
System software such as operating system kernels, libraries, and application frameworks provide the foundation for all of the functionality of computing devices, from personal computers and servers to mobile and embedded devices. Security vulnerabilities in system software are particularly serious because they can undermine any of the software running on a device. The most common vulnerabilities in system software are semantic errors such as missing security checks. Semantic errors, if exploited successfully, can result in critical system attacks such as privilege escalation, remote code execution, and information leaks. For instance, vulnerable devices might come under the complete control of an adversary and reveal users' private information. Despite this importance, detecting semantic errors is challenging because semantic errors do not have uniform patterns and often involve complicated code logic. Previous research on detecting semantic errors mainly employs statistical analysis or manual specification to create rules for semantic checking, and often misses module-specific semantic errors involving the diverse functions and variables that each has only a few uses. This project aims to automatically detect such module-specific semantic errors in system software by developing automated techniques for identifying module-specific functions and variables, and generating concrete checking rules. This project will also develop a novel detection system to precisely detect module-specific semantic errors. By automatically detecting classes of common semantic errors in widely used system software, this project significantly improves the security of ubiquitous computer devices. The broader educational activities of this project include integrating research with outreach, organizing Capture The Flag competitions among universities and industries in Minnesota, and developing new interdisciplinary courses.This research project aims to detect module-specific semantic errors, a new and wide class of semantic error, which have been otherwise missed by previous detection that employs statistical analysis or manual specification to generate rules for semantic checking. First, it develops novel techniques to automatically identify security-related functions and variables, without requiring multiple uses of them. These techniques include error-code analysis, usage analysis, and behavior analysis. Second, it empirically analyzes identified functions and variables, and categorizes them based on their security properties and contexts. For each category, the research further develops meta-rules specifying how each category should be correctly used. For example, a range check should be enforced if a variable is used as a size parameter of memory allocation. Meta-rules are general, and can be assembled and instantiated to generate concrete checking rules for each module-specific function or variable. Third, the project develops a staged approach and a set of static analysis and symbolic execution techniques to precisely detect previously unknown module-specific semantic errors at scale for system software. These techniques can be evaluated on widely used system software such as the Linux kernel.This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.
期刊论文(19)
专著(0)
科研奖励(0)
会议论文
登录
查看更多内容
DOI:
10.1145/3460120.3485373
发表时间:
2021-11
期刊:
Proceedings of the 2021 ACM SIGSAC Conference on Computer and Communications Security
影响因子:
--
作者:
[Dinghao Liu;Qiushi Wu;S. Ji;Kangjie Lu;Zhenguang Liu;Jianhai Chen;Qinming He]
通讯作者:
Dinghao Liu;Qiushi Wu;S. Ji;Kangjie Lu;Zhenguang Liu;Jianhai Chen;Qinming He
DOI:
10.14722/ndss.2021.24416
发表时间:
2021
期刊:
Proceedings 2021 Network and Distributed System Security Symposium
影响因子:
--
作者:
[Navid Emamdoost]
通讯作者:
Navid Emamdoost
Detecting missing-check bugs via semantic- and context-aware criticalness and constraints inferences
通过语义和上下文感知的关键性和约束推断来检测遗漏检查错误
DOI:
10.5555/3361338.3361461
发表时间:
2019
期刊:
Proceedings of the 28th USENIX Conference on Security Symposium
影响因子:
--
作者:
[Lu, Kangjie Lu, Pakki, Aditya, Wu, Qiushi]
通讯作者:
Wu, Qiushi
DOI:
10.1007/978-3-030-29962-0_1
发表时间:
2019-09
期刊:
影响因子:
--
作者:
[Kangjie Lu;Aditya Pakki;Qiushi Wu]
通讯作者:
Kangjie Lu;Aditya Pakki;Qiushi Wu
On the Feasibility of Automated Built-in Function Modeling for PHP Symbolic Execution
论PHP符号执行的自动内置函数建模的可行性
DOI:
10.1145/3442381.3450002
发表时间:
2021
期刊:
the 30th International World Wide Web Conference (WWW'21
影响因子:
--
作者:
[Li, Penghui, Meng, Wei, Lu, Kangjie, Luo, Changhua]
通讯作者:
Luo, Changhua
共 17 条
Travel: NSF Student Travel Grant for The 2nd International Workshop on Ethics in Computer Security (EthiCS 2023)
-
批准号:2312705
-
项目类别:Standard Grant
-
资助金额:$0.84万
-
财政年份:2023
-
负责人:Kangjie Lu
-
依托单位:
SaTC: CORE: Small: Regulating and Leveraging Types for Security
-
批准号:2247434
-
项目类别:Continuing Grant
-
资助金额:$59.93万
-
财政年份:2023
-
负责人:Kangjie Lu
-
依托单位:
Collaborative Research: SaTC: CORE: Small: Improving Decentralized Kernel Patch Ecosystems
-
批准号:2154989
-
项目类别:Standard Grant
-
资助金额:$25.0万
-
财政年份:2022
-
负责人:Kangjie Lu
-
依托单位:
CAREER: Whole-Kernel Analysis Against Developer- and Compiler-Introduced Errors
-
批准号:2045478
-
项目类别:Continuing Grant
-
资助金额:$49.3万
-
财政年份:2021
-
负责人:Kangjie Lu
-
依托单位:
SaTC: CORE: Small: Checking Security Checks in OS Kernels
-
批准号:1931208
-
项目类别:Standard Grant
-
资助金额:$50.0万
-
财政年份:2019
-
负责人:Kangjie Lu
-
依托单位:
国内基金
海外基金
登录
查看更多内容
胆固醇羟化酶CH25H非酶活依赖性促进乙型肝炎病毒蛋白Core及Pre-core降解的分子机制研究
-
批准号:82371765
-
项目类别:面上项目
-
资助金额:50万元
-
批准年份:2023
-
负责人:谭广云
-
依托单位:
锕系元素5f-in-core的GTH赝势和基组的开发
-
批准号:22303037
-
项目类别:青年科学基金项目
-
资助金额:30万元
-
批准年份:2023
-
负责人:鲁俊波
-
依托单位:
基于合成致死策略搭建Core-matched前药共组装体克服肿瘤耐药的机制研究
-
批准号:--
-
项目类别:--
-
资助金额:52万元
-
批准年份:2022
-
负责人:孙丙军
-
依托单位:
鼠伤寒沙门氏菌LPS core经由CD209/SphK1促进树突状细胞迁移加重炎症性肠病的机制研究
-
批准号:--
-
项目类别:青年科学基金项目
-
资助金额:30万元
-
批准年份:2022
-
负责人:叶成林
-
依托单位:
基于外泌体精准调控的“核-壳”(core-shell)同步血管化骨组织工程策略的应用与机制探讨
-
批准号:--
-
项目类别:--
-
资助金额:55万元
-
批准年份:2020
-
负责人:张智勇
-
依托单位:
基于外泌体精准调控的“核-壳”(core-shell)同步血管化骨组织工程策略的应用与机制探讨
-
批准号:82072415
-
项目类别:面上项目
-
资助金额:55.0万元
-
批准年份:2020
-
负责人:张智勇
-
依托单位:
肌营养不良蛋白聚糖Core M3型甘露糖肽的精确制备及功能探索
-
批准号:92053110
-
项目类别:重大研究计划
-
资助金额:70.0万元
-
批准年份:2020
-
负责人:彭鹏
-
依托单位:
Core-1-O型聚糖黏蛋白缺陷诱导胃炎发生并介导慢性胃炎向胃癌转化的分子机制研究
-
批准号:81902805
-
项目类别:青年科学基金项目
-
资助金额:20.5万元
-
批准年份:2019
-
负责人:刘菲
-
依托单位:
原始地球增生晚期的Core-merging大碰撞事件:地核增生、核幔平衡与核幔边界结构的新认识
-
批准号:41973063
-
项目类别:面上项目
-
资助金额:65.0万元
-
批准年份:2019
-
负责人:周游
-
依托单位:
CORDEX-CORE区域气候模拟与预估研讨会
-
批准号:41981240365
-
项目类别:国际(地区)合作与交流项目
-
资助金额:1.5万元
-
批准年份:2019
-
负责人:陈威霖
-
依托单位: