金融类APP的密码应用安全研究与实现
作者单位:北京邮电大学
学位级别:硕士
导师姓名:徐国爱
授予年度:2018年
学科分类:08[工学] 0839[工学-网络空间安全] 081201[工学-计算机系统结构] 0812[工学-计算机科学与技术(可授工学、理学学位)]
摘 要:随着“互联网+迅速地席卷全国和移动智能终端的迅速普及,金融业与互联网也紧密结合起来,人们开启了通过智能终端应用获取金融服务的模式。由于金融类APP与用户资金密切相关,此类应用成为黑客攻击的热门对象;目前移动终端系统中占比最大的系统是Android系统,但同时由于Android系统的开放性,开发者安全意识不强,密码算法使用不当,Android平台上的金融类APP的密码安全问题较其他平台多,如何快速又准确地发现金融类APP的密码应用安全缺陷、保证金融类APP的密码应用安全是当前金融类APP迫切解决的问题。前人对密码应用安全研究方式是建立Android密码应用通用的安全规则库,利用基于源码的静态方式或是动态插桩的方式进行密码应用安全分析。由于Android系统的原因,反编译为Java源码的过程中会丢失部分信息,不利于中间建模分析;大部分金融类APP具备反“二次打包功能,不宜使用动态插桩分析。针对以上问题,本文提出基于smali的金融类APP密码应用安全研究方法,smali中间语言能完整保存应用信息且有自己的语法结构,便于中间建模,做到无偏差分析;结合金融类APP的密码应用安全分析现状添加规则至规则库中,通过对smali语言的语法树结构、信息提取等深入分析,研究金融类APP是否触犯规则库中规则,即金融类APP中是否存在安全缺陷。本文的研究工作如下:首先,本文全面总结了 Android平台金融类APP的密码应用安全现状,对Android平台中应用程序的架构、密码算法在应用程序中的应用机制进行深入研究。然后,研究smali中间语言的语法结构、抽象语法树和流分析等关键技术,从而提出基于smali的金融类APP的密码应用安全分析方法;结合金融类APP密码应用安全现状添加规则至规则库,阐述每条规则的原理,并证明规则的合理性。利用smali的密码应用安全分析方法识别应用程序是否触犯规则库中的规则。最后,利用本课题方法对样本进行检测,并与传统方法进行对比,证明本课题提出的方法能有效地发现金融类APP中密码应用的安全缺陷,同时该方法的检测效率相比于传统的源码检测方法有明显提升。