随着移动互联网的火热发展,以及IT消费化给企业用户带来的巨大变革,使得移动应用市场也越发火热起来。从最小的微型企业到最大的大型企业,几乎所有的企业都想方设法要在移动应用领域分一杯羹,业界正在见证着一场声势浩荡的移动应用开发热潮。然而,在各种企业盲目地冲进这块处女地时,移动开发人员感到有些担心:由于移动开发环境仍然处于起步阶段,并没有真正可行的标准来引导开发工作,可以说,这对于所有参与移动开发领域的各方来说都是一次冒险。
最让安全专家担心的是快速的移动开发周期以及缺乏移动平台相关的经验导致开发者在面对移动应用程序时,将过去五年行业努力推行的各种安全开发原则都抛之脑后。
“快速的开发周期让编程可以在很短的时间内实现,从而导致安全性被忽略,安全成了一件很好但很难做到的事情,这种情况发生在大公司(看看Googlewallet:GoogleWallet爆漏洞支付帐号易被盗用),也发生在刚刚起步的小公司,”应用程序安全公司Cenzic工程总监TylerRorabaugh表示,“当Techcrunch宣布最热门的新公司时,几乎所有这些公司都缺乏安全编码的做法,很少关注安全问题,除非真得出现了问题,大多数时间里他们甚至没有意识到这些问题。”
据Rorabaugh表示,大型移动平台供应商(例如苹果和Google)现在才刚开始思考安全移动编码。
困难之处在于即使对于意识到风险并想要确保其移动应用程序安全性的大型公司而言,目前并不存在可行的开发标准,也没有测试编码是否存在漏洞的可用工具。
“我们的一些客户正在开发移动应用程序,并准备将程序介绍给他们的客户,而我们会对这些应用程序进行审查以确保它们的安全性,”安全咨询公司Protiviti公司执行董事ScottLaliberte表示,“这需要我们来重新审视我们的应用程序测试办法,因为测试移动应用程序要比测试一般应用程序要困难。确定你测试移动应用程序所面临的主要风险和所需要的技术可能是一个挑战,而缺乏标准则是另一个巨大挑战。对于移动领域而言,并不存在OWASP或者任何真正的编码标准。”因此,充斥在市场上的所有移动应用程序都可能存在重大漏洞,可能让企业和客户处于风险之中。例如,Rorabaugh表示,移动应用程序开发人员并没有测试移动应用程序在云端使用的移动服务,并且这些移动应用程序中存在严重的加密漏洞,例如让未加密的密码保存在数据缓存文件中。事实上,去年八月,数字取证与安全公司viaForensic在报告中称,在Android和iOS设备上运行的消费级应用程序中有76%的程序将密码以纯文本格式保存。
“本地应用程序将太多数据以未加密格式存储在手机上,”他解释说,即使这些密码已经被加密,现在攻击者已经拥有足够的其他信息(例如社会安全号码和信用卡信息)来套出你的密码。
GoogleWallet就是这样的例子,同样也是在viaForensic公司的报告中,报告指出GoogleWallet将所有除信用卡信息外的敏感信息以纯文本格式本地存储在设备中。
最近也有一条这方面的新闻,某web分类供应商zvelo公司的一名工程部员工轻松地破解了装在智能手机上的GoogleWallet的PIN码。
随着企业推出越来越多涵盖敏感信息和安装支付系统(例如GoogleWallet)的应用程序,他们需要对潜在风险进行仔细考虑,Rorabaugh表示。
“不要因为你需要尽快推出一个应用程序,就跳过了安全部分,应该仔细检查最容易出现风险的地方,”他说道,他还鼓励企业使用动态和静态测试技术通过内部和外部测试团队,同时测试移动应用程序的客户端和服务部分。