随着移动应用使用率的大幅增长, 其被攻击的风险也在增加. 根据 Gartner 的一项研究,"75% 的移动应用程序将无法通过基本的安全测试". 大多数企业主认为移动应用不容易受到网络攻击. 然而, 对于移动 App 黑客已经总结出方便有效的攻击方法与工具脚本, 保护移动应用已经成为迫在眉睫的首要任务.
根据大数据资讯机构 HPE(慧与) 的一项研究中, 对 600 多家公司的 2000 多个移动应用进行了测试, 结果如下:
35% 的应用程序通过 HTTP 发送用户名和密码, 18% 通过 SSL/HTTPS 协议进行加密传输用户名与密码.
75% 的应用程序没有使用密文来存储移动设备上的数据.
71% 的应用程序没有使用安全加固产品.
App 安全威胁分类
在讨论如何保护移动应用程序免受攻击之前, 让我们先简要概述一下常见的 App 应用程序安全威胁.
1. 来自 PC 端的威胁
许多 App 允许用户从 PC 上下载, 然后将其上传到移动设备上, 这会造成跨设备的威胁.
2. 安卓移动应用线上平台存在风险
移动应用开发平台审核审计参差不齐, 多达 90% 的移动应用程序存在漏洞. 在 iOS 设备方面, 苹果公司可做相对严格的安全准入审计. 相比之下, 安卓设备由于设备类型, App 商店安全性标准不统一, 需要覆盖的安卓版本过多, 开源等等特性, 安卓 App 往往存在更多的安全风险.
3. 来自 IOT 设备的风险
万物互联的时代下, 物联网主要目的是收集用户数据, 利用这些数据提供更好的用户体验. 物联网设备往往是通过安卓 App 进行控制操作, 甚至有些物联网设备原本就是安卓操作系统. 安卓应用安全漏洞会给设备带来了难以控制的安全风险.
4. 手机病毒
移动设备处于被恶意软件, 木马, 病毒和间谍软件攻击的高风险中, 从而使黑客能够窃取数据.
5. 未授权访问
破解移动 App, 使得未经授权的用户可以访问您的社交媒体网络, 电子邮件帐户和应用程序.
6. 黑产
黑客利用安卓手机开源等特性, 分析移动 App, 利用改机软件, 修改系统信息伪造自己的身份. 从而欺骗 App 的身份认证等环节, 达到薅羊毛等目的.
如何保护您的移动应用程序
看完了上述移动应用的威胁之后, 我们来简要了解一下应对措施.
1. 静动态保护
移动应用程序开发阶段, 确保使用安全的编译脚本与编译选项, 混淆代码让黑客无法获取核心逻辑, 确保使用安全的第三方库, 对每行代码进行安全审计. 黑客通常会通过审计逆向伪代码来发现漏洞并控制, 访问你的应用程序, 获取手机或应用的敏感个人信息等.
除此之外, 需要防止 App 被动态调试与分析, 加入防调试机制. 对 App 定期进行模糊测试, 确保其外部接口不会被入侵. 寻找强有力的第三方安全测试公司进行检测也是一种好的选择.
2. 增加身份认证算法强度
接口身份认证和授权为应用程序的登录增加了安全性. 确保 App 接口只提供对 App 重要功能的访问. 认证部分全部转移线上去运算, 本地不要出现算法逻辑, 关键证书内容. 增加身份认证因子, 可以采用手机端基本信息作为证书生成的重要因子.
3. 保证 web / 后端安全
实现 App 安全, 请首先确保在服务器安全, 防止未经授权的访问以保护机密数据. 对服务器端端所有接口要进行模糊测试.
可以使用容器化后端部署保护数据和文档. 此外, 需要经过认证机构渗透测试, 其结果应符合网络安全标准. 通信手段需使用 TLS,VPN 和 SSL 等进行加密, 防止第三方中间人攻击等.
4. 安全支付
无论你是在网上提供收费服务, 还是在网上销售一些产品, 都必须有一个安全的支付网关. 需要将支付系统和客户端之间的敏感通信增加多因素标记, 加密等等.
5. 威胁情报平台
随着移动设备的增加, 威胁类别也正在迅速演变, 我们不可能预防任何的威胁. 但是, 您可以开放 Web 安全应急响应平台帮助处理移动威胁.
此外, App 厂商应该告知用户, 在他们的设备上 App 应用厂商将安装一个额外的移动安全 sdk 探针. 针对手机基本信息, 未知的事件等进行采集, 上报到您的威胁情报平台. 此外, 如果你的应用程序出现任何安全漏洞, sdk 探针也可以通知你.
总结
企业高管已经十分重视当前高速增长的 App 安全问题. 企业内部安全负责人更应该从基本做起, 关注 App 在开发阶段所产生的隐患, 并遵循本文的建议, 采取了所有必要的步骤来保护您的应用程序免受网络, 恶意软件, 病毒和间谍软件等攻击. 选择良好的三方渗透服务, 发现未知问题, 增强安全团队应急响应能力.
来源: http://www.tuicool.com/articles/vArAZjR