天天看点

APP检测:安卓系统四大组件介绍

APP检测:安卓系统四大组件介绍

CMA/CNAS软件测评报告 请联系王经理V18684048962

1、Activity组件漏洞

Activity是Android组件中*基本也是*为常见用的四大组件之一,是一个负责与用户交互的组件。Activity组件中存在以下常见的漏洞。

(1)activity绑定browserable与自定义协议activity设置“android.intent.category.BROWSABLE”属性并同时设置了自定义的协议android:scheme意味着可以通过浏览器使用自定义协议打开此activity。可能通过浏览器对app进行越权调用。

(2)ActivityManager漏洞ActivityManager类中的killBackgroundProcesses函数,用于杀死进程,属于风险API。还有通过ActivityManager被动嗅探intent。Intent嗅探脚本首先调用一个(Context.getSystemService)函数,并传给它一个ACTIVITY_SERVICE标志的标识符,该函数返回一个ActivityManager类的实例,它使得该脚本能够与activitymanager进行交互,并通过这个对象调用(ActivityManager.getRecentTasks)方法。把intent相关的信息格式化成字符串返回出来。

APP检测:安卓系统四大组件介绍

CMA/CNAS软件测评报告 请联系王经理V18684048962

2、Service组件

作为Android中四大组件之一,拥有重要的地位。Service具有和Activity一样的级别,只是没有界面,是运行于后台的服务。其他应用组件能够启动Service,并且当用户切换到另外的应用场景,Service将持续在后台运行。另外,一个组件能够绑定到一个service与之交互(IPC机制),例如,一个service可能会处理网络操作,播放音乐,操作文件I/O或者与内容提供者(contentprovider)交互,所有这些活动都是在后台进行。从表面上看service并不具备危害性,但实际上service可以在后台执行一些敏感的操作。Service存在的安全漏洞包括:权限提升,拒绝服务攻击。没有声明任何权限的应用即可在没有任何提示的情况下启动该服务,完成该服务所作操作,对系统安全性产生极大影响。

3、BroadcastReceiver导出漏洞

当应用广播接收器默认设置exported='true',导致应用可能接收到第三方恶意应用的广播,利用这一漏洞,攻击者可以在用户手机通知栏上推送任意消息,通过配合其它漏洞本地隐私文件和执行任意代码。Android可以在配置文件中声明一receiver或者动态注册一个receiver来接收广播信息,攻击者假冒APP构造广播发送给被攻击的receiver,是被攻击的APP执行某些敏感行为或者返回敏感信息等,如果receiver接收到有害的数据或者命令时可能泄露数据或者做一些不当的操作,会造成用户的信息泄漏甚至是财产损失。

APP检测:安卓系统四大组件介绍

CMA/CNAS软件测评报告 请联系王经理V18684048962

4、ContentProvider组件漏洞

ContentProvider为存储和获取数据提供统一的接口。可以在不同的应用程序之间共享数据。

(1)读写权限漏洞ContentProvider中通常都含有大量有价值的信息,比如用的电话号码或者社交帐号登录口令,而确认一个contentprovider是否有能被攻击的漏洞的的办法,就是尝试攻击它一下。可以用drozer来寻找一些不需要权限的contentprovider:dz>–permissionnull这条命令能列出所有不需要任何读写权限的ContentProvider,然后找到相对应的包,去访问给定包存放在它的ContentProvider中的数据。如果一些ContentProvider的URI不需要读权限,那就可以通过drozer工具提取其中的数据。在某些情况下,设置和执行读写权限不当,也会将ContentProvider中的数据暴露给攻击者。除了提取数据,对于写权限管理不当的ContentProvider还可以向其中写入数据,使得攻击者可以将恶意数据插入到数据库中。

(2)ContentProvider中的SQL注入漏洞和Web漏洞类似,安卓APP也要使用数据库,那就也有可能存在SQL注入漏洞。主要有两类,类是SQL语句中的查询条件子语句是可注入的,第二类是投影操作子句是可注入的。使用drozer可以很容易的找出查询条件子句可注入的contentprovider。dz>runapp.provider.query[URI]–selection“1=1”也可以使用其他恒为真的值,例如“1-1=0”,“0=0”等等。如果APP存在SQL注入漏洞,那么输入这行指令后就会返回数据库中的整张表。

(3)Provider文件目录遍历漏洞当Provider被导出且覆写了openFile方法时,没有对ContentQueryUri进行有效判断或过滤。攻击者可以利用openFile()接口进行文件目录遍历以达到访问任意可读文件的目的。

提供权威的第三方检测报告,如:软件产品登记测试报告(增值税退税)、确认测试报告(科技项目验收、成果鉴定)、信息安全测评服务(Web应用安全检测、源代码安全漏洞扫描、APP检测)等

标签:第三方软件测试报告、安卓系统

继续阅读