Group of Software Security In Progress

GoSSIP @ LoCCS.Shanghai Jiao Tong University

CDRep: Automatic Repair of Cryptographic Misuses in Android Applications

西安科技大学和新加坡管理大学在AsiaCCS’16上发表的一篇Android平台APP的密码学误用检测及自动修复的文章。文章关注的密码学误用包括7个点:

Fig

针对这7个点,文章提出了自动检测和修复的工具。自动检测方面以及有人做过了(《An empirical study of cryptographic misuse in android applications》ACM CCS’13),这里面也不是文章的重点。重点是自动修复模块。首先定修复策略:

Fig

之后根据策略,会反编译,之后在smali上做修改,再重打包。修改会有模版,模版包括首先识别出安全问题,之后插入哪些指令,之后删除哪些指令,之后替换名称。具体见论文。

最后文章做了实验。成功率在94.5%以上。不成功主要原因如下:部分是权威三方库的代码,某些开发人员不相信他们的修改;如果某个method里有多个加密混在一起,他们的模版会出问题。验证成功率就是人工测试及发邮件给开发公司。修改时间平均19.3秒,修改后APK会增大0.667%左右。

最后文章说了limitation:模版只能识ANDROID API,自己实现的识别不出。只做了免费APP测试。没考虑服务器(这一点说的很淡,但其实这方面影响会很大)。