针对Android系统的Java/C++多语言接口建模与分析

基本信息
批准号:61272086
项目类别:面上项目
资助金额:84.00
负责人:董渊
学科分类:
依托单位:清华大学
批准年份:2012
结题年份:2016
起止时间:2013-01-01 - 2016-12-31
项目状态: 已结题
项目参与者:谭刚,张素琴,范举,吴昊,王鹏,杨述,骆欢,李叠,甘元科
关键词:
JNI多语言编程接口分析工具形式化模型Android系统安全缺陷
结项摘要

JNI (Java Native Interface) that supports function calls between Java and C/C++ and is widely used in Android. By directly manipulating memory through C/C++ function, JNI is capable of escaping the protection mechanism of Android and leading to serious security problems..Currently there lacks effective methods to analyze security bugs of the Java/C++ JNI interface. We therefore propose research on this topic, which will have significance in both theory and practice. Focusing on storage security bugs and taking memory leak as a breakthrough, this proposal translates Java/C++ to a specific intermediate language, upon which a cross-language analysis framework can be established, and provides a feasible resolution to address the interesting and challenging problem. Our solutions to this problem include: 1) Model the Java/C++ interface, and extend Java bytecode to support C++ semantics; 2) Provide and prove a concise translation pattern from C++ to bytecode; 3) Establish a security bug model on bytecode level, and implement a prototype analyzing tool; 4) Form a extensible platform for bug analysis..This work not only provides a solid theoretical foundation for understanding and reasoning about of multilingual programming interface, but also gains insight into building valuable tools for countermeasures against growing malware on Android mobile system.

JNI(Java Native Interface)支持Java和C/C++之间互相调用,在Android系统中得到广泛应用,JNI调用直接使用C/C++内存操作,很容易突破Android的保护机制造成重大安全问题。目前缺乏有效分析Java/C++接口安全缺陷的手段,本申请针对这一问题开展研究,工作具有重要的理论价值和现实意义。项目关注存储安全缺陷,以内存泄漏为突破口,将Java/C++编译到特定的中间语言,在中间语言上建立跨语言分析架构,给出上述问题的可行方案:1)建立Java/C++ JNI接口模型,扩展Bytecode以支持C++语义;2)给出C++到Bytecode扩展的简洁翻译方案及其证明;3)建立Bytecode层面的安全缺陷模式,实现分析工具原型;4)形成可扩展的缺陷分析平台。将有助于深入理解多语言接口编程,并为日益泛滥的Android恶意软件防范提供有力的方法和工具支持。

项目摘要

JNI(Java Native Interface)支持Java和C/C++之间互相调用,在Android系统中得到广泛应用,JNI调用直接使用C/C++内存操作,很容易突破Android的保护机制造成重大安全问题。目前缺乏有效分析Java/C++接口安全缺陷的手段,本申请针对这一问题开展研究,工作具有重要的理论价值和现实意义。项目主要成果:1)关注存储安全缺陷,设计Java/C++编译机制,在中间语言上建立跨语言分析架构,给出上述问题的可行方案;2)给出一种领域专用语言的可信、简洁翻译方案及其证明;3)深入分析Android,给出基于扩展网络图的系统优化和分析方法;4)对国内Android市场进行深入分析,给出软件可信性评价。工作有助于深入理解多语言接口编程,并为日益泛滥的Android恶意软件防范提供有力的方法和工具支持。

项目成果
{{index+1}}

{{i.achievement_title}}

{{i.achievement_title}}

DOI:{{i.doi}}
发表时间:{{i.publish_year}}

暂无此项成果

数据更新时间:2023-05-31

其他相关文献

1

玉米叶向值的全基因组关联分析

玉米叶向值的全基因组关联分析

DOI:
发表时间:
2

基于分形L系统的水稻根系建模方法研究

基于分形L系统的水稻根系建模方法研究

DOI:10.13836/j.jjau.2020047
发表时间:2020
3

粗颗粒土的静止土压力系数非线性分析与计算方法

粗颗粒土的静止土压力系数非线性分析与计算方法

DOI:10.16285/j.rsm.2019.1280
发表时间:2019
4

正交异性钢桥面板纵肋-面板疲劳开裂的CFRP加固研究

正交异性钢桥面板纵肋-面板疲劳开裂的CFRP加固研究

DOI:10.19713/j.cnki.43-1423/u.t20201185
发表时间:2021
5

硬件木马:关键问题研究进展及新动向

硬件木马:关键问题研究进展及新动向

DOI:
发表时间:2018

董渊的其他基金

相似国自然基金

1

针对安全关键系统的多语言编程形式化验证

批准号:61170051
批准年份:2011
负责人:董渊
学科分类:F0203
资助金额:15.00
项目类别:面上项目
2

针对应用开发者的Android关键安全技术研究

批准号:61572415
批准年份:2015
负责人:张克环
学科分类:F0205
资助金额:60.00
项目类别:面上项目
3

代码纠缠:针对重包装攻击的新型Android应用自我保护方法研究

批准号:61702399
批准年份:2017
负责人:马昊玉
学科分类:F0205
资助金额:28.00
项目类别:青年科学基金项目
4

面向错误检测的C++程序静态分析技术

批准号:61003026
批准年份:2010
负责人:许中兴
学科分类:F0203
资助金额:20.00
项目类别:青年科学基金项目