项目名称: 基于轻量级虚拟机的全系统程序分析

项目编号: No.61272101

项目类型: 面上项目

立项/批准年度: 2013

项目学科: 自动化技术、计算机技术

项目作者: 戚正伟

作者单位: 上海交通大学

项目金额: 81万元

中文摘要: 对系统软件和应用程序采用形式化程序分析与验证是保证整个系统正确性和健壮性的关键技术,但就全系统分析而言,现有静态类型推断方法无法获得每条路径上每个状态的变量和函数的类型和约束条件,导致代码的类型和约束推断不精确;同时,由于缺少内核态代码的动态跟踪和分析方法,故代码覆盖度低(仅分析用户态代码)。两者导致较高的漏报率和误报率。本项目提出了一种基于轻量级虚拟机的全系统程序分析方法,在理论上提出了基于条件类型推断CTI的分析与验证新方法,能够获得路径、上下文敏感的精确类型信息,从而提高分析精度;在系统方面采用软硬件协同分层体系,采用动态代码注入和二进制翻译技术构建基于硬件虚拟化技术的轻量级虚拟监控和分析系统,从而覆盖内核态代码;在应用方面,综合应用静态、动态分析与符号执行,实现信息流分析、别名分析、指针分析、缓冲区溢出分析、污点分析、锁分析等基础功能,从而获得高代码覆盖率、高精度的全系统分析方法。

中文关键词: 轻量级虚拟机;系统程序分析;条件类型推断;;

英文摘要: It's a key technology to implement a formal program analysis and verification for system software and applications to guarantee the correctness and robustness. As for system-wide analysis, it's lack of the type constraints of variables and functions for every state along different paths due to current static type inference, which brings an imprecise analysis for type and constraints; Moreover, current methods are limited to user-mode code without a tracing and analyzing method for kernel-model code in real world systems, which incurs a low code coverage. Therefore, both incur high false positive and false negative. This project proposes a system-wide program analysis based on the lightweight virtual machine. Theoretically, a new program analysis and verification method, called Conditional Type Inference (CTI) is presented to obtain path- and context-aware refined type constraints to improve the preciseness of analysis; we adopt a hierarchical hardware/software co-design architecture, dynamic code injection, and dynamic binary translation to build a lightweight virtualized monitoring hypervisor to cover the kernel-mode code. We use static analysis, dynamic analysis, and symbolic execution to implement a binary code level analysis features such as dataflow-, alias-, pointer-, buffer overflow-, taint-, and lock ana

英文关键词: Lightweight Virtual Machine;System Program Analysis;Conditonal Type Inference;;

成为VIP会员查看完整内容
0

相关内容

软件多缺陷定位方法研究综述
专知会员服务
20+阅读 · 2022年1月25日
【博士论文】分形计算系统
专知会员服务
32+阅读 · 2021年12月9日
专知会员服务
33+阅读 · 2021年10月17日
专知会员服务
22+阅读 · 2021年7月15日
专知会员服务
29+阅读 · 2021年5月8日
专知会员服务
29+阅读 · 2021年1月9日
专知会员服务
48+阅读 · 2020年12月28日
专知会员服务
29+阅读 · 2020年12月21日
专知会员服务
123+阅读 · 2020年8月7日
FPGA加速系统开发工具设计:综述与实践
专知会员服务
63+阅读 · 2020年6月24日
一文搞懂redis
阿里技术
1+阅读 · 2022年3月24日
当云原生遇上低代码,云端开发so easy!
10 个用于 Linux 的开源轻量级 Web 浏览器
CSDN
0+阅读 · 2022年2月23日
容器会取代虚拟机吗?
InfoQ
0+阅读 · 2022年1月13日
新版本系统适配: Android 12 中的兼容性变更
谷歌开发者
0+阅读 · 2022年1月13日
实践教程|Docker使用记录
极市平台
0+阅读 · 2022年1月7日
程序开发人员缺乏经验的7种表现
AI前线
0+阅读 · 2021年12月23日
【Flink】基于 Flink 的流式数据实时去重
AINLP
14+阅读 · 2020年9月29日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
1+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
Arxiv
0+阅读 · 2022年4月20日
Arxiv
0+阅读 · 2022年4月15日
小贴士
相关VIP内容
软件多缺陷定位方法研究综述
专知会员服务
20+阅读 · 2022年1月25日
【博士论文】分形计算系统
专知会员服务
32+阅读 · 2021年12月9日
专知会员服务
33+阅读 · 2021年10月17日
专知会员服务
22+阅读 · 2021年7月15日
专知会员服务
29+阅读 · 2021年5月8日
专知会员服务
29+阅读 · 2021年1月9日
专知会员服务
48+阅读 · 2020年12月28日
专知会员服务
29+阅读 · 2020年12月21日
专知会员服务
123+阅读 · 2020年8月7日
FPGA加速系统开发工具设计:综述与实践
专知会员服务
63+阅读 · 2020年6月24日
相关资讯
一文搞懂redis
阿里技术
1+阅读 · 2022年3月24日
当云原生遇上低代码,云端开发so easy!
10 个用于 Linux 的开源轻量级 Web 浏览器
CSDN
0+阅读 · 2022年2月23日
容器会取代虚拟机吗?
InfoQ
0+阅读 · 2022年1月13日
新版本系统适配: Android 12 中的兼容性变更
谷歌开发者
0+阅读 · 2022年1月13日
实践教程|Docker使用记录
极市平台
0+阅读 · 2022年1月7日
程序开发人员缺乏经验的7种表现
AI前线
0+阅读 · 2021年12月23日
【Flink】基于 Flink 的流式数据实时去重
AINLP
14+阅读 · 2020年9月29日
相关基金
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
1+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
微信扫码咨询专知VIP会员