联系
我们
投稿
反馈
评论 返回
顶部

内容字号: 默认 大号超大号

段落设置: 段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

APP应用安全检测

2022-04-09 21:42 出处:互联网 人气: 评论(
最近有什么好看的电视剧 手机输入法哪个最好 中国人口最少的民族 网站排行榜 cf女角色 电视剧排行榜2019

APP应用安全检测

2022-04-07 10:50 来源: 机器人的秘密探索

原标题:APP应用安全检测

来自公众号:小道安全

背景

目前APP发包上架的流程前,免不了需要对APP应用安全检测这个重要且必不可少的步骤流程, APP应用安全检测大部分采用采购第三方的APP安全检测产品(因为这块技术基础储备),也有部分企业基于开源的移动安全框架(MobSF)进行二次开发APP安全检测产品(采购第三方产品费用太高),也有部分安全团队基于团队的技术储备进行基于逆向第三方APP安全检测产品进行开发自研的APP安全检测产品(采购第三方检测产品)。

其中移动安全分析开源的框架 (MobSF-obile-Security-Framework)它是基于python进行开发的,它是一个智能的、集成型的、开源移动App(安卓/iOS)自动检测框架,能用于静态检测和动态检测。该框架可以进行高效迅速的移动应用安全分析。

它的下载地址为

https://github.com/ajinabraham/Mobile-Security-Framework-MobSF

APP应用安全检测的风险程度一般分为:高危、中危、低危。

APP安全监管部门主要有:网信办、各地区网安、工信部、市场监督总局。

因为APP应用安全检测没做好,那么APP就会面临被通报、下架的风险,这对企业来说是个非常致命的问题,不仅影响到产品的发展、同样也给企业发展带来一定的风险。

下面就分析下APP应用安全检测(需要动态检测和静态检测相结合),具体的检测维度和检测思路。

基本信息检测

通常情况下,APP包基本信息的检测维度 : APK文件名称、应用名称、包名、文件大小、版本信息、签名信息、sdk版本、APP的MD5、是否有采用第三方加固、第三方sdk的数量等等。

APP权限检测

APP权限检测中比较突出的问题有:在APP应用中的隐私合规说明中没有向用户明示申请的全部隐私权限

对APP权限检测主要是通过检测AndroidManifest.xml文件中申请权限,然后对应的对比APP隐私合规说明中是否都有明示申请的权限,并且明示申请权限的作用和目的。

下图简单罗列下某APP中的权限信息,合规安全做法是要保证APP隐私合规说明中有罗列出这些权限信息,并且描述获取这些信息的作用和目的。

APP自身安全检测

APP自身安全检测主要检测APP是否采用第三方加固产品进行加固或者有对APP进行做保护。

APP自身安全检测主要检测维度:

1、Java代码中通常包含APP的业务逻辑代码,甚至一些核心功能代码,通过打包后会生成dex文件, java从开发角度来说可以利用ProGuard进行做混淆保护,dex文件可以利用第三方的加固产品进行对dex整体加固保护、函数抽取保护、vmp虚拟机保护等等。

如果dex文件没做任何保护的情况下,直接可以利用apktool反编译或者jadx、androidkiller、dex2jar、GDA等工具直接查看java代码,这样就容易直接把关键的业务逻辑暴露出来,造成功能泄露以及功能被破解的风险。

如果dex文件有进行保护,那么同样可以查看java代码分析APP应用业务逻辑,但分析有保护的代码的门槛就有所提高。因此这个的源码级的风险等级是高危型的。

2、Android中一些核心的功能代码都是在so实现的,需要通过JNI方式进行C、C++的编码实现生成so文件(ELF文件)。

如果so文件保护方案可以字符串混淆加密、关键逻辑虚拟化、函数抽取等源码级保护,如果so有进行保护,那么通过静态工具IDA就无法很直观找到分析的突破点,通过利用frida和ida动态分析的门槛就相对比较高。

如果so文件没任何保护状态,那么就可以直接利用ida工具可以快速的分析出so的关键功能代码。

3、Android中的四大内部组件分别为:activity、service、content provider、broadcast receiver,检测它们是否存在组件导出的风险,如果四大组件存在导出的风险,会被第三方的APP进行任意调用,导致一些敏感信息泄露,权限绕过,拒绝服务端的风险。

检测四大组件是否有导出风险,通过读取AndroidManifest.xml配置文件四大组件名称,组件名称后面的exported的属性值,如果为true就是导出,为false就是未导出。这种风险相对来说是低危的风险。

APP数据存储安全检测

1、检测dex的java代码和so的C、C++代码,它们是否存储着加解密算法密钥的硬编码,APP中一些关键数据的安全性依靠强大加解密算法,如果加解密算法被攻破那么这个关键数据就会被盗取,这个风险是比较致命的高危风险。

2、检测APP中数字证书是否用明文方式存储,数字证书是用于校验APP客户端和服务端身份合法性的条件,通过搜索dex文件和so文件中是否存储着明文的数字证书,如果存储明文的数字证书,那么客户端和服务端校验的合法性得不到保障,容易被非法伪造、盗取,从而造成正常业务出现风险,因此这个数字证书明文的风险也是高危的风险。

3、检测APP的xml文件中存储明文数据风险,如果xml文件中存储着一些重要敏感的明文数据,那么可以直接在app安装后用adb命令方式拷贝进行查验,或利用第三方的MT管理工具查看xml文件,这种明文存储的会导致敏感的配置信息、账号信息被泄露的风险,这个风险属于中危的风险。

分享给小伙伴们:
本文标签:

更多文章

相关文章

  • 蛮便宜
  • 抠门网
  • Copyright © 2002-2014 版权所有