一种基于静态分析的Android应用JavaScript安全漏洞检测方法技术

技术编号:16605780 阅读:42 留言:0更新日期:2017-11-22 15:39
本发明专利技术提出一种基于静态分析的Android应用中的JavaScript安全漏洞检测方法,使用Soot工具对Android应用中的APK文件进行反编译,获得Jimple字节码;对Jimple字节码进行分析,判断所述Android应用的JavaScript使用模式;根据所述JavaScript使用模式判断所述Android应用是否存在JavaScript安全漏洞;该方法通过分析和明确Android应用中的JavaScript使用模式及其对应的漏洞类型,能够检测Android应用中所有类型的JavaScript漏洞,具有检测速度快、检测效果好等特点。

A JavaScript vulnerability detection method for Android application based on static analysis

The invention provides a method for detecting security vulnerabilities in JavaScript Android application based on the static analysis, use the Soot tool to decompile the Android application in the APK file, Jimple byte code; the Jimple bytecode is analyzed, the application of Android JavaScript mode of judgment; according to the JavaScript model using the judgment the presence of the JavaScript Android application security vulnerabilities; the method of using the model and the corresponding through analysis and clear in the application of Android JavaScript vulnerability types, can be used to detect Android in all types of JavaScript vulnerabilities, has the characteristics of fast detection and good effect etc..

【技术实现步骤摘要】
一种基于静态分析的Android应用JavaScript安全漏洞检测方法
本专利技术涉及安卓应用安全
,具体涉及一种基于静态分析的Android应用中JavaScript安全漏洞的检测方法,用于检测安卓应用中是否存在与JavaScript相关的安全漏洞。
技术介绍
Android系统是当前发展最好的移动平台之一,Android系统上的应用已经覆盖了我们衣食住行的方方面面。与此同时,Android应用上的安全漏洞也是层出不穷,其中,很大一部分漏洞与JavaScript相关。JavaScript是一种直译式客户端脚本语言,最早用来给HTML网页增加动态功能,后来广泛用于Web应用开发和安卓应用开发。由于开发者在开发过程中使用JavaScript时没有采取安全防护措施,给应用留下了一些漏洞,导致黑客通过使用注入恶意JavaScript的方式去攻击安卓应用。目前国内外对于Android应用的JavaScript漏洞检测方法分为两类。第一类方法检测Android应用中的WebView跨站点脚本漏洞,第二类检测Android应用中的接口对象注入漏洞。这两类检测方法对于特定类型漏洞的检测具有本文档来自技高网...
一种基于静态分析的Android应用JavaScript安全漏洞检测方法

【技术保护点】
一种基于静态分析的Android应用JavaScript安全漏洞检测方法,其特征在于,使用Soot工具对Android应用中的APK文件进行反编译,获得Jimple字节码;对Jimple字节码进行分析,判断所述Android应用的JavaScript使用模式;根据所述JavaScript使用模式判断所述Android应用是否存在JavaScript安全漏洞。

【技术特征摘要】
1.一种基于静态分析的Android应用JavaScript安全漏洞检测方法,其特征在于,使用Soot工具对Android应用中的APK文件进行反编译,获得Jimple字节码;对Jimple字节码进行分析,判断所述Android应用的JavaScript使用模式;根据所述JavaScript使用模式判断所述Android应用是否存在JavaScript安全漏洞。2.如权利要求1所述Android应用JavaScript安全漏洞的检测方法,其特征在于,反编译时,先使用Soot工具将Android应用解压缩,获得APK中的资源文件、AndroidManifest.xml和Dex文件;然后解析Dex文件,使用Baf将Dex文件转换为Jimple文件。3.如权利要求1所述Android应用JavaScript安全漏洞的检测方法,其特征在于,所述JavaScript使用模式包括本地模式、远程模式、接口模式和回调模式;所述JavaScript安全漏洞包括WebView跨站点脚本漏洞、WebView导航漏洞和接口对象注入漏洞;所述本地模式是指,Android应用使用WebView加载了一个本地的JavaScript文件或者加载了一个包含JavaScript代码的本地html文件;本地模式不产生JavaScript安全漏洞;所述远程模式是指,Android应用使用WebView加载了一个远程的JavaScript库或者打开了包含JavaScript的远程网址;远程模式会产生WebView跨站点脚本漏洞,同时有可能产生WebView导航漏洞;所述接口模式是指,Android应用为WebView注册了一个能实现JavaScript与Android交互的接口;接口模式有可能产生接口对象注入漏洞;所述回调模式是指,Android应用使用WebView的evaluateJavascript()方法直接在UI线程异步执行JavaScript,并且获得一个回调值;回调模式不产生JavaScript安全漏洞。4.如权利要求3所述Android应用JavaScript安全漏洞的检测方法,其特征在于,遍历所有Jimple文件,查找Android应用是否允许使用JavaScript;若Android应用使用setJavaScriptEnabled(true)来允许程序执行JavaScript,则继续后续检测工作,否则,检测终止;经判断,如果JavaScript使用模式为本地模式,则将该模式加入模式列表;经判断,如果JavaScript使用模式为远程模式,则将该模式加入模式列表,并将WebView跨站点脚本漏洞加入漏洞列表;然后进一步检测是否存在WebView导航漏洞,如果存在WebView导航漏洞,则将WebView导航漏洞加入漏洞列表;经判断,如果JavaScript使用模式为接口模式,则将该模式加入模式列表,并检测是否存在接口对象注入漏洞,如果存在接口对象注入漏洞,则将接口对象注入漏洞加入漏洞列表;经判断,如果JavaScript使用模式为返回模式,则将该模式加入模式列表。5.如权利要求4所述Android应用JavaScrip...

【专利技术属性】
技术研发人员:宋巍黄青青常震钱祥星
申请(专利权)人:南京理工大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1