关于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漏洞扫描服务,开发者可发现常见的漏洞及风险,完美避开大规模工具攻击。有需求的团队可以登录腾讯御安全官网试用,或联系我们(邮箱yaq@tencent.com)。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值