随着移动应用使用率的大幅增长,其被攻击的风险也在增加。根据Gartner的一项研究,“75%的移动应用程序将无法通过基本的安全测试”。大多数企业主认为移动应用不容易受到网络攻击。然而,对于移动App黑客已经总结出方便有效的攻击方法与工具脚本,保护移动应用已经成为迫在眉睫的首要任务。
根据大数据资讯机构HPE(慧与)的一项研究中,对600多家公司的2000多个移动应用进行了测试,结果如下:
35%的应用程序通过HTTP发送用户名和密码, 18%通过SSL/HTTPS协议进行加密传输用户名与密码。
75%的应用程序没有使用密文来存储移动设备上的数据。
71%的应用程序没有使用安全加固产品。
APP安全威胁分类
在讨论如何保护移动应用程序免受攻击之前,让我们先简要概述一下常见的APP应用程序安全威胁。
1. 来自PC端的威胁
许多APP允许用户从PC上下载,然后将其上传到移动设备上,这会造成跨设备的威胁。
2. Android/ target=_blank class=infotextkey>安卓移动应用线上平台存在风险
移动应用开发平台审核审计参差不齐,多达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在开发阶段所产生的隐患,并遵循本文的建议,采取了所有必要的步骤来保护您的应用程序免受网络、恶意软件、病毒和间谍软件等攻击。选择良好的三方渗透服务,发现未知问题,增强安全团队应急响应能力。
来源:Freebuf