随着移动互联网的普及,移动端应用取代传统PC端与WEB端。
移动设备,存在着数据丢失及安全性受损的风险。攻击者通过对浏览器(网络钓鱼、点击劫持)、邮件、三方应用和操作系统等进行攻击,进而危害用户安全。
应用是移动安全生态中的重要部分,当今移动生态中,较大的应用安全问题主要有几点:被逆向衍生出爬虫、外挂;前后端权限问题造成数据泄露和组件权限隐患。针对应用的攻击点有:敏感数据存储、无加密或弱加密,动态运行注入,特权提升,多余权限等。
另外,从应用组件来解析APP主要的安全问题,主要有Activity公开组件暴露(exported属性、permission权限可造成暴露,被仿冒,导致信息泄漏、绕过认证及注入恶意代码等)、Broadcast Receive组件调用漏洞(高权限广播被拦截,填充后再次发送导致服务崩溃拒绝服务、伪造功能例如接收短信,带有敏感信息的广播被拦截造成信息泄漏等)、Service组件任意调用漏洞(服务被劫持、敏感信息泄漏,接收外部intent导致消息伪造)、Pending intent包含隐式Intent信息泄漏漏洞、Android APP allowBackup安全漏洞(打开usb调试的人都可以复制手机数据导致信息泄漏问题)、应用反编译和外部存储设备敏感信息泄漏(xml文件、数据库文件等存储在SD卡,还有的没设标识位,虽让放在应用包名目录,但还是可能被读写)等。
防护的话,代码层加固,代码混淆技术是最直接有效的方式之一;此外,客户端与服务端通信也是攻击点,因此通信层加固解决了被分析hook的弱点。
还有从根本解决问题的SDL安全开发周期,安全设计与开发迭代将风险掐断在源头。