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

项目编号: No.61272086

项目类型: 面上项目

立项/批准年度: 2013

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

项目作者: 董渊

作者单位: 清华大学

项目金额: 84万元

中文摘要: 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多语言编程接口;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 growin

英文关键词: JNI multilingual programming interface;Android system;Security bug;Formal Model;Analyzing tool

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

相关内容

【2021新书】面向对象的Python编程,418页pdf
专知会员服务
70+阅读 · 2021年12月15日
个性化广告推荐系统及其应用研究
专知会员服务
92+阅读 · 2021年2月27日
专知会员服务
28+阅读 · 2020年12月21日
专知会员服务
49+阅读 · 2020年12月19日
【2020新书】Ruby 3 编程: 从小白到专家,598页pdf
专知会员服务
29+阅读 · 2020年12月17日
FPGA加速系统开发工具设计:综述与实践
专知会员服务
63+阅读 · 2020年6月24日
“C不再是一种编程语言”
InfoQ
0+阅读 · 2022年3月28日
JankStats 推出 alpha 版本
谷歌开发者
0+阅读 · 2022年3月9日
JavaScript遭嫌弃,“反JS”主义者兴起
CSDN
0+阅读 · 2022年3月8日
「现代C++设计魅力」虚函数继承-thunk技术初探
阿里技术
0+阅读 · 2022年1月26日
Java依赖冲突高效解决之道
阿里技术
0+阅读 · 2022年1月14日
Room & Kotlin 符号的处理
谷歌开发者
0+阅读 · 2021年11月4日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
2+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
Arxiv
0+阅读 · 2022年4月20日
Arxiv
0+阅读 · 2022年4月16日
小贴士
相关VIP内容
【2021新书】面向对象的Python编程,418页pdf
专知会员服务
70+阅读 · 2021年12月15日
个性化广告推荐系统及其应用研究
专知会员服务
92+阅读 · 2021年2月27日
专知会员服务
28+阅读 · 2020年12月21日
专知会员服务
49+阅读 · 2020年12月19日
【2020新书】Ruby 3 编程: 从小白到专家,598页pdf
专知会员服务
29+阅读 · 2020年12月17日
FPGA加速系统开发工具设计:综述与实践
专知会员服务
63+阅读 · 2020年6月24日
相关资讯
相关基金
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
2+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
微信扫码咨询专知VIP会员