基于攻击的安卓应用安全检测及评估标准研究

Computer Science and Application 计算机科学与应用, 2021, 11(5), 1474-1483
Published Online May 2021 in Hans. /journal/csa
/10.12677/csa.2021.115151
基于攻击的安卓应用安全检测及评估标准研究
喻毫博,甘刚
成都信息工程大学网络空间安全学院,四川成都
aphidici
收稿日期:2021年4月25日;录用日期:2021年5月20日;发布日期:2021年5月27日
摘要
随着手机的发展,开源的安卓系统也慢慢填补了自己的劣势,在市场占有上大大超越了苹果手机。同样因为安卓的开源性,各种鱼龙混杂的安卓应用都进入了安卓市场,所以安卓应用安全性研究就成了近年来的重中之重。本文就现阶段安卓应用安全检测需求进行深度剖析,从攻击者的角度出发,结合现有检测指标,设计出详细全面的安卓应用安全检测评估指标。针对部分评估指标,给出相应的测试内容。按照当前主流的安全检测指标权重,计算出一个简单的线性检测评估模型。此模型可以有效发现安卓应用在不同评估指标下的安全强度,以及安卓应用所面对的安全风险
关键词
移动安全,安卓应用,安全检测,评估
Research on Security Detection and
Evaluation Criteria of Android
Application Based on Attack
Haobo Yu, Gang Gan
School of Cybersecurity, Chengdu University of Information and Technology, Chengdu Sichuan
Received: Apr. 25th, 2021; accepted: May 20th, 2021; published: May 27th, 2021
Abstract
With the development of mobile phones, the open source Android system has gradually filled its disadvantage and greatly surpassed Apple’s mobile phone in market share. Also because of the
喻毫博,甘刚open source nature of Android, a variety of mixed Android applications have entered the Android market, so Android application security research has become a top priority in recent years. This paper analyzed the current Android application security detection requirements in depth, and from the perspective of attackers, combined with the existing detection indicators, designed de-tailed and comprehensive Android application security detection evaluation indicators. According to some evaluation indexes, the corresponding test contents were given. According to the current mainstream safety detection index weight, a simple linear detection evaluation model was calcu-late
d. This model can effectively discover the security strength of Android applications under dif-ferent evaluation indicators, as well as the security risks Android applications face. Keywords
Mobile Security, Android Applications, Security Detection, Evaluation
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
/licenses/by/4.0/
1. 引言
安卓作为Linux为内核的开源操作系统,因为其开放性,受到大量开发人员的追捧,同时因为开发门槛低,安卓迅速占领市场。就权威调研机构IDC公布的《中国2019第三季度智能手机出货量》[1]报告来看,国产安卓手机已经大量占据市场。因此,安卓应用的安全性问题就显得尤为重要。在腾讯安全国际技术峰会上会发布每年的各种最新技术白皮书,其中腾讯科恩实验室发布的《Android应用安全白皮书》表示,安卓应用目前存在很高的风险,98%的应用都不安全。ApkPecker作为权威的安卓应用自
动化漏洞扫描系统,也公布了他们的发现。安卓应用主要是在场景漏洞利用、前后台漏洞等部分存在安全隐患。其中,《白皮书》在通过大样本分析后发现,检测样本中的安卓应用大多缺乏用户信息保密机制,这给移动应用带来了更大的安全风险。因为用户信息保密机制的缺乏带来的安全事件给用户的信息和资金带来了巨大危害。分析主要原因,还是因为在开发中出现了隐患,后期的监测和修复又跟不上等。安卓应用的安全面临着极大的考验。Android系统由于其开源的属性,市场上针对开源代码定制的ROM参差不齐,在系统层面的安全防范和易损性都不一样,安卓应用的发布审核也比较宽松,导致漏洞较多。虽然目前市场上的安卓应用都有一些安全防范意识,但是并不完善,对安全的重视程度不够;而且由于开发安全并不属于开发的范畴中,很多开发人员并没有足够的安全技术,防范措施很有限制。为了用户的安全,对安卓应用的安全性检测至关重要。因此急需一套合理有效的安全检测评估体系,此标准可以对未上线的app进行全面的安全评估,加强app上线后的安全性,并从多方面杜绝攻击。此研究对保障安卓应用市场安全,提升开发人员对安全性的重视具有重要意义。
2. 安卓应用安全检测研究现状
当前常见的安全检测技术,分别基于动态检测和静态检测[1],动态检测方面有基于应用程序的行为特征进行的,提出的方法很多[2][3],比较有特点的是重庆师范大学刘玮等人[4]提出一个通用的软件检测框架。这个检测框架通过安卓逆向技术从安卓应用中获取各项安全信息的特征,并建立了特征信息库。在此基础上,通过机器学习来建立了检测模型,通过分类检测的方式来进行检测。这个检测框架
让软件在安装前能够进行较为正确的安全检测,且扩展性较高。动态数据安全方面王喆[5]分析了移动终端数据
喻毫博,甘刚
存储和传输两个重要环节中的安全防护要素,并基于此研究提出了一种安卓移动终端数据安全检测评价方法。静态检测方面,则是对APK源码进行反编译,再对比敏感代码进行分析[6][7][8],由此来判断被检测应用的安全性,相比动态检测更加直接有效率[9]。Zhejun Fang等人[10]设计了一种针对安卓组件间通讯漏洞的静态检测进行了研究,该研究提出了一种旨在检测Android应用程序中输入验证漏洞的新颖方法,并实现了一个名为IVDroid的原型,该原型提供了对Java源代码的实用静态分析,通过重复验证行为挖掘来检测未知模式的缺陷。
但是,当前存在的安全检测技术都存在两个问题,第一都是从单方面的检测,并没有结合安全机制,恶意代码检测[11]和安全加固[12]的全面的检测,第二是缺乏一个相对完整的综合性的评估指标体系和模型。而在各大厂商提供的安卓安全检测系统中,只是对相应的指标进行了检测,一方面检测内容不一定完善,另一方面检测后不知道问题出在哪。要想知道怎么让app更安全,就必须从攻击者的角度出发看问题。所以不管是学术研究还是工业检测方面,都缺少一个从攻击角度入手的相对完整且能为直观看出app安全问题的安全检测评估模型及系统。本文将结合安卓动态检测和静态检测,结合安卓
安全机制从攻击角度入手,展开对安卓应用安全检测评估方法的研究,分析各项指标性能,量化指标,构建一个直观且相对完善的评估模型,并实现安卓应用安全检测评估系统。
3. 基于攻击的Android应用安全检测评估方案设计
3.1. Android应用安全检测和评估指标
针对安卓应用,从攻击者的角度出发,通常从以下6个方向来进行检测:反编译检测(Against-Compiling),反篡改检测(Against-Tamper),漏洞检测(Vulnerability),组件安全检测(Components-Security),数据安全检测(Data-Security)和敏感操作检测(Sensitive-Operations),后文中为便捷使用,将AC表示为反编译检测,将AT表示为反篡改检测,将VB表示为漏洞检测,将CS表示为组件安全检测,将DS表示为数据安全检测,将SO表示为敏感操作检测。
反编译检测主要针对安卓应用加固方面的检测,检测内容如表1所示。
Table 1. Decompile the checkpoint list of detection indicators
表1. 反编译检测指标检测点表
反编译检测指标项主要检测点
buck降压电路dex文件加固(AC1) dex文件是否加密
so文件加固和安全检测(AC2) so文件加密或隐藏
混淆率检测(AC3) 代码混淆率
反编译检测指标项主要检测点
反篡改检测主要检测是否有攻击者能够利用破解工具或其他技术将安卓应用的代码或资源文件篡改,检测manifset文件中的设置是否安全。检测内容如表2所示。
Table 2. Anti-tamper detection index detection points list
表2. 反篡改检测指标检测点表
反篡改检测指标项主要检测点
资源文件加固检测(AT1) 资源文件是否加密
文件信息检测(AT2) 文件信息是否容易篡改
证书检测(AT3) 证书是否安全且一致
喻毫博,甘刚Continued
manifest文件检测(AT4) PermissionGroup项检测系统权限使用检测
sharedUserId检测allowBackup标志检测Debuggable配置检测非必要权限检测
最低支持版本检测
漏洞检测一方面检测常见的系统漏洞,另一方面在服务端,分为http协议和tcp/udp协议来检测容易出现的漏洞。如表3所示。
Table 3. List of detection points of vulnerability detection indicators
表3. 漏洞检测指标检测点表
漏洞检测指标项主要检测点
系统漏洞检测(VB1)
fragment注入漏洞检测sqlite数据库日志泄露漏洞检测随机数生成漏洞检测
服务端漏洞检测(VB2)
挂链
http协议
水平权限风险检测
垂直权限风险检测
SQL注入漏洞检测
XSS漏洞检测
敏感信息检测tcp/udp协议敏感信息检测
Html5漏洞检测
provider注入漏洞检测(VB3) provider注入漏洞检测
的制备组件安全分四方面,一是检测第三方库和SDK库是否安全。二是检测安卓应用本身所带的组件,扫描各种漏洞,检测组件信息等。三是针对Webview组件检测各类漏洞。最后是对SQlite组件检测加密情况和安全性。如表4所示。
Table 4. List of component safety detection index detection points
表4. 组件安全检测指标检测点表
反编译检测指标项主要检测点
第三方库和SDK组件检测(CS1) 第三方组件和SDK库安全检测
组件安全检测指标(CS2)
4大组件导出检测ContentProvider目录遍历漏洞检测Implicit Service漏洞检测
grant-uri-permission属性检测
Intent-Based攻击检测
Intent Scheme URI漏洞攻击检测
应用本地拒绝服务漏洞检测
manifest中定义组件未实现检测Debug或Test敏感测试组件泄露检测Intent不安全反射风险检测
喻毫博,甘刚
Continued
硅气凝胶
webview组件安全检测(CS3)
远程执行漏洞检测
潜在XSS攻击检测
本地文件访问漏洞检测
密码明文存储漏洞检测
主机名弱校验检测
证书弱校验检测
中间人攻击漏洞检测
不校验证书漏洞检测
组件系统隐藏接口未移除漏洞
sqlite安全检测(CS4)
SQLite数据库加密(SQLCipher)检测
SQLite数据库(SQLite Encryption Extension (SEE))检测SQLite数据库的对称密钥(PRAGMA key)检测
SQLiteDatabase Transaction Deprecated检测
Databases任意读写漏洞检测
数据安全检测项从数据安全的角度出发,分为网络通信安全,弱加密风险,一般数据安全和Hook 技术检测。网络通信安全检测网络通信中可能出现的风险及漏洞。弱加密风险检测各处运用加密的部分是否正常使用了加密或是否使用了弱加密。一般数据安全检测针对可能出现数据泄露的地方检测泄露风险。Hook安全主要检测各信息接收或发送部件的数据信息是否正常。如表5所示。
Table 5. Table of data security detection index detection points
表5.数据安全检测指标检测点表
数据安全检测指标项主要检测点
网络通信安全检测(DS1)
运输皮带清扫器SSL连接检测
SSL组件安全检测
Host检测HttpURLConnection漏洞检测网络端口开放威胁检测
弱加密风险检测(DS2)
弱加密算法风险检测不安全密钥长度检测ECB弱加密风险检测不安全初始化向量检测RSA中Padding风险检测是否使用密码保护检测
数据安全检测(DS3)
敏感数据检测
剪切板敏感信息泄露风险检测Intent组件数据泄露风险检测PendingIntent误用风险检测密钥硬编码风险检测
程序和数据加载检测
BASE64安全检测
全局文件读写漏洞检测
日志泄露风险检测

本文发布于:2024-09-22 01:08:29,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/201115.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:检测   漏洞   应用   指标   风险   评估
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议