关于Android应用程序漏洞的防护措施

目前,Android应用程序市场的发展速度飞快,不少开发者为了追求开发速度而忽视应用程序的安全。但由于Android系统的开源性及其Java编写的特殊性,各类Android App经常被爆出漏洞,有的Android开发者只是对App进行混淆代码或是防二次打包,对于源码的保护并不到位,同时也不清楚其中所隐藏的漏洞。

腾讯御安全作为一个专注于为个人和企业移动应用开发者提供全面的应用安全服务的平台,其丰富的漏洞特征库,能够全面覆盖已知漏洞,可对99%的安卓APP进行漏洞风险扫描。同时,基于广大用户的漏洞扫描案例,总结出以下几点常见的漏洞。

一、门户大开:常见漏洞攻击的3个入口


1)导出组件

导出组件,是Android上最常见,门槛最低的攻击入口,如manifest中组件设置不当的话,就存在被任意调用的可能,最常见的是拒绝服务攻击。

示例:

       防护措施:对外暴露的组件要做到“最小化”输出,发布前做好安全检测分析,提前发现风险。

2)端口开放

应用通过监听固定接口,使用socket来实现本地IPC、远程网络通信。这种监听固定端口的方式很容易被局域网内攻击程序探测到,这些暴露的socket如果没有协议加密、没有权限控制的话,就很容被利用,作为攻击入口,轻者拒绝服务,重者远程代码执行。

示例:固定端口的监控扫描

Socket实现,如果不做访问控制,协议安全性又比较弱,那后果就严重了。

 防护措施:端口随机化,访问要控制,协议要加密。

3)插件加载

插件加载设计很普遍, so加载、dex加载…..但因为插件存储不安全,很容易被人篡改和替换,如果没有在加载过程做校验的话,那就有可能被人用伪造的插件来进行任意代码执行。

示例:公共目录存储的插件

Dex加载没校验,存在任意代码执行的风险…

用System.load来进行so加载,如无校验,存在被替换、篡改的风险。

防护措施:存储要安全,别让别人碰。加载要校验,我的地盘我做主。

二、偷梁换柱:常见漏洞攻击的2种手段


1)伪造通信

常见伪造通信类型有:进程内组件间的Intent通信、远程Service通信、Socket的IPC通信等,如果没有严格的通信校验,攻击者通过伪造通信数据,达到不可告人的目的。

示例:通过暴露的远程service,伪造通信数据,实现应用程序远程下载和安装。

伪造socket通信数据,实现应用特定指令执行,盗取敏感数据。

防护措施:协议数据要加密,通信访问要验证。

2)伪造文件

文件权限和校验的失控,让攻击者有机可乘。代码文件存放在公共目录,程序没有对文件进行完整性校验,就很容易造成应用的代码被劫持,从而进行注入。

示例:sdcard公共目录下的so文件

应用程序的进程信息:

代码注入:

防护措施:注意插件存储安全,尽量避免公共目录存储;同时插件加载要校验,以免被劫持注入。

APP作为通向海量用户信息的入口,涉及到直接的金钱交易或个人隐私相关的应用的重要性是不言而喻的。而Android应用市场对app的审核相对iOS来说也比较宽泛,为很多漏洞提供了可乘之机。

所以安卓应用程序要做好自身的防护措施,同时借助专业的安全服务平台,如腾讯御安全,除了拥有专业级加固解决方案之外,还提供APP漏洞扫描服务,开发者可发现常见的漏洞及风险,完美避开大规模工具攻击。有需求的团队可以登录腾讯御安全官网试用,或联系我们(邮箱:[email protected])。

时间: 2024-10-29 19:06:31

关于Android应用程序漏洞的防护措施的相关文章

Android新的漏洞的应用程序中的发现!

最近,趋势科技发现一些Android中的漏洞应用程序内存.来发动攻击.我们调查了两个受影响的应用程序,大家来感受一下: 1.超过一千万次安装.及在下载页面拥有数十万笔用户留言的生产力应用程序(生产力应用程序是能够提高企业生产力或者软件开发能力的软件组件.) 2.超过一百万次安装.及在下载页面拥有数千笔使用者留言的购物相关应用程序 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaXF1c2hp/font/5a6L5L2T/fontsize/400/fil

Android应用程序通用自动脱壳方法研究

Author: @爱博才会赢 本文为乌云峰会上<Android应用程序通用自动脱壳方法研究>的扩展延伸版. 0x00 背景及意义 Android应用程序相比传统PC应用程序更容易被逆向,因为被逆向后能够完整的还原出Java代码或者smali中间语言,两者都具有很丰富的高层语义信息,理解起来更为容易,让程序逻辑轻易暴露给技术能力甚至并不需要很高门槛的攻击者面前.因此Android应用程序加固保护服务随之应运而生.从一开始只有甲方公司提供服务到现在大型互联网公司都有自己的加固保护服务,同时与金钱相

Android设备管理器漏洞2--禁止用户取消激活设备管理器

2013年6月,俄罗斯安全厂商卡巴斯基发现了史上最强手机木马-Obad.A.该木马利用了一个未知的Android设备管理器漏洞(ANDROID-9067882),已激活设备管理器权限的手机木马利用该漏洞,能够在设置程序的设备管理器列表中隐藏,这样用户就无法通过正常途径取消该手机木马的设备管理器权限.从而达到无法卸载的目的.Android4.2版本号以上系统已经修复该漏洞.(漏洞详情:http://blog.csdn.net/androidsecurity/article/details/9124

12个被滥用的Android应用程序权限

Android应用程序须要权限才干正常运作,只是网络犯罪分子会将其用在个人私利上.来看看最常被要求的权限以及它们会怎样被滥用. 1.网络定位功能 这代表什么:同意应用程序通过网络定位(像是基地台或无线网络)来取得大概位置.应用程序开发者能够用它从基于位置的广告获利. 它怎样被滥用:恶意应用程序用它来发动基于位置的攻击或恶意软件.例如说,网络犯罪分子能够将俄罗斯的移动用户导到恶意俄文站点. 须要此权限的应用程序:位置相关应用程序,打卡应用程序 2.全球定位系统 这代表什么:同意应用程序通过全球定位

[转载]Android应用程序通用自动脱壳方法研究

本文转载自: http://drops.wooyun.org/tips/9214 Author: @爱博才会赢 本文为乌云峰会上<Android应用程序通用自动脱壳方法研究>的扩展延伸版. 0x00 背景及意义 Android应用程序相比传统PC应用程序更容易被逆向,因为被逆向后能够完整的还原出Java代码或者smali中间语言,两者都具有很丰富的高层语义信息,理解起来更为容易,让程序逻辑轻易暴露给技术能力甚至并不需要很高门槛的攻击者面前.因此Android应用程序加固保护服务随之应运而生.从

Android设备管理器漏洞分析!

一.漏洞描述 目前被称为“史上最强Android木马”的病毒Backdoor.AndroidOS.Obad.a利用Android设备管理器漏洞使用户无法通过正常方式卸载.其实该漏洞早在去年底已被发现. 注册为“设备管理器”的应用是无法被直接卸载的.只有取消激活“设备管理器”后才可以直接卸载.  木马可以利用Android设备管理器漏洞达到在设备管理器列表“隐身”的效果.这样用户就无法进去“取消激活”页面,从而达到无法卸载的目的. 二.影响版本 Android2.2以上(4.0,4.1,4.2)

恶意 Android应用程序攻击RFID 支付卡

趋势科技最近侦测 ANDROIDOS_STIP.A的高风险 Android 应用程序.这个应用程序通过论坛和博客散播,可以用来攻击用户的RFID(Radio Frequency IDentification --感应式电子芯片)公交卡加以储值.这背后的机制是什么?RFID 支付卡的一般安全风险是什么? 如今通过RFID卡来进行支付变得越来越受欢迎,也有更多移动设备加入NFC(Near Field Communication,近距离无线通信)支持.银行.商家或公共服务都会发行RFID卡给他们的客户

Android设备管理器漏洞2--阻止用户取消激活设备管理器

2013年6月,俄罗斯安全厂商卡巴斯基发现了史上最强手机木马-Obad.A,该木马利用了一个未知的Android设备管理器漏洞(ANDROID-9067882),已激活设备管理器权限的手机木马利用该漏洞,可以在设置程序的设备管理器列表中隐藏,这样用户就无法通过正常途径取消该手机木马的设备管理器权限,从而达到无法卸载的目的.Android4.2版本以上系统已经修复该漏洞.(漏洞详情:http://blog.csdn.net/androidsecurity/article/details/91247

android提权漏洞CVE-2010-EASY修复【转】

本文转载自: http://blog.csdn.net/lhj0711010212/article/details/9351131 android提权漏洞CVE-2010-EASY修复 linux系统由udev提供系统设备的管理,比如提供热拔插usb设备等等.而Android把udev的工作移交给init进程.而linux中版本号小于1.4.1的udev不会检查是由内核还是用户发送热拔插信息.因此用户可以发送恶意的信息让内核加载定义的恶意程序从而取得root权限.该代码如下. 程序执行的顺序用(