攻防演练-移动端的攻击与防护

  • A+
所属分类:移动安全

复杂安全威胁下的移动端困境

智能手机的普及随之推动了手机app的快速发展,当前手机app可涉及小到沟通聊天、外卖预定、车票预定、旅游预定、购物、新闻浏览等,大到银行投资理财、医院挂号、支付交易等,一个人的一天活动基本可依赖手机完成。正因为对app的大量普及,很多软件开发商都看到了这块市场带来的利益,随着利益的驱动,各种各样的app层出不穷,app的市场也是鱼龙混杂。速成化的app在安全方面并没有得到很好的保证,进几年通过app泄露个人信息的事件也层出不穷。

通过大数据分析,对当前手机手机上常用app做了统计数表如下:

攻防演练-移动端的攻击与防护

移动端攻击思路与防护

信息收集:

尽可能多的去搜集目标环境各类信息。目的是获取渗透目标的准确信息,以了解目标组织的运作方式,确定最佳的进攻路线。

发现企业总部边缘资产:

通过对目标资产的信息收集,可发现企业边缘资产,开放在外网的移动端应用,开放在外网的应用接口,泄露在外网的员工信息、用户信息等;

发现下属单位、分公司资产:

通过对目标资产的信息收集,可发现目标企业下属分支单位、分公司等会自己研发一些移动端APP、微信公众号接口等资产,其中部分资产总部并不知情;通过信息收集,可以发现企业下属单位、分公司的资产,并进行漏洞挖掘与利用;

发现企业不明资产泄露:

通过对目标的信息泄露的收集,可发现目标企业下属分支单位员工、分公司员工等、技术人员等,安全意识低造成企业信息泄露、用户信息泄露、服务器数据库账号密码泄露等情况;



信息收集重要性

通过信息收集,发现企业目标大量资产以及信息泄露,攻击者根据收集到的资产进行深度利用;

企业容易忽视的:

1. 公有云资产,因为有的业务部门和分支机构公有云申请都不经过IT部门,上面却放了大量业务数据。

2. 开发商/外包商的资产。开发商/外包商一般给甲方外包开发信息系统,开发商/外包商公司内部也会自建Git/SVN等源代码管理服务器,存有已经交付给甲方的信息系统源码,而开发商/外包商的源码系统管理安全能力和甲方相比可能就差几个量级了。后果就是:通过获得的源码,发现系统应用0day,从而控制甲方已上线信息系统。

 

 

针对移动端攻击思路:

等同于web应用的测试方式:

  1.  大多移动端接口与WEB使用共同接口,通过抓包方式可对接口进行测试,攻击者可对移动端应用进行命令执行、SQL注入、XSS等测试;(代码漏洞)

  2.  攻击者对移动端应用的IP资产进行扫描,C段、子域名等信息收集;(信息收集)

  3. 攻击者对服务器漏洞、端口漏洞、架构漏洞的挖掘(系统、架构漏洞)

  4. 信息收集:外包商、技术研发人员等,将代码共享造成敏感信息泄露;(信息泄露)

  5. 测试环境对外接口忘记关闭,被攻击者利用直接拿到测试环境服务器权限;(测试环境)

 

APP业务特有不同点:

  1. 企业对web应用的防护较强,相对来说,忽略对移动端的防护,攻击者更容易通过移动端应用找到漏洞;(防护弱)

  2. 企业对移动端的防护,更多的依赖于加壳保护,如被攻击者逆向脱壳成功,移动端代码逻辑漏洞与系统漏洞较多;(依赖于加壳保护)

  3. 在WEB应用门户网站有waf等防护的情况下,移动端可能无任何安全设备防护,攻击可对移动端应用进行命令执行、SQL注入、XSS等测试然后利用漏洞进入服务器;(代码漏洞)

  4. 4移动端基本都是带登录注册界面,大多存在短信炸弹等逻辑漏洞,或泄露用户信息,以及账号弱口令等问题;(代码逻辑漏洞)

  5. 移动端中js信息泄露比较多,js处理不当会泄露用户信息,以及泄露更多资产信息;(js信息泄露)线上环境对架构信息泄露较多,如开放的tomcat、weblogic等后端界面,攻击者可根据中间件版本对以往漏洞进行测试利用,便于攻击者收集到更多的移动端应用信息。(应用架构信息泄露)

  6. 移动端反编译二次打包后,伪造真实移动端进行钓鱼(二次打包)

  7. 业务集成涉及大多第三方接口,比如支付接口、线上客户、充值缴费等,第三方业务接口的安全防护能力、敏感信息的保护等措施可能较弱。第三方外包商一直都是攻击者利用较多的入口点;(第三方业务接口)

 

 

移动端防护思路:

  1. 业务功能逻辑的安全:防止数据包重放、短信炸弹、0元支付、优惠券刷单等逻辑漏洞;

  2. 代码安全:防止SQL注入、XSS、CSRF、命令执行等代码漏洞;

  3. 端口漏洞:除了8080、443必须开放端口外,不开放非必须开放端口;

  4. 系统漏洞:服务器补丁的更新、系统漏洞的防护;

  5. 测试环境的防护:测试环境不开放在外网;因特殊需求开放在外网的测试环境,测试中需加强防范,测试完毕后立马关闭;

  6. 边缘资产:对资产的定期梳理,边缘资产的定期排查,发现开放后忘关闭资产系统要及时关闭;

  7. 信息泄露:外包商、分支机构、分公司、技术人员、员工等泄露在外网的资产定期进行线上排查,发现后立马进行清除;

  8. 病毒库检测:对病毒软件、木马文件的安全检测发现;

  9. 边界安全:边界安全防护,其中包括安全产品的部署,waf、ids、ips等部署;

  10. 定期的安全渗透检查、安全基线检查、服务器漏扫等;

  11. 对外包商、第三方接口服务商的管理要求,以及信息的安全存储等

  12. 网路架构的安全规划,测试环境与生产环境、办公环境做到严格隔离;

 

 

通用防护思路:

1.安全隔离:

攻防演练-移动端的攻击与防护

2.AD防护—检查准备阶段:

攻防演练-移动端的攻击与防护

3.AD防护—加固阶段:

攻防演练-移动端的攻击与防护

4. AD防护—检测阶段:

攻防演练-移动端的攻击与防护

5.账号的防护:

高权限一律清理,限制使用范围,每次使用后确认。

应用权限通过日志分析检测滥用。

关注备份账户、可修改权限账户的使用。

终端24小时重启一次。(对抗终端权限抓取类攻击)


       安全对一些涉及到直接的金钱交易或个人隐私相关的应用的重要性是不言而喻的。Android系统由于其开源的属性,市场上针对开源代码定制的ROM参差不齐,在系统层面的安全防范和易损性都不一样,Android应用市场对app的审核相对iOS来说也比较宽泛,为很多漏洞提供了可乘之机。


本文始发于微信公众号(LemonSec):攻防演练-移动端的攻击与防护

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: