倘若将“有没有什么技术,当时被认为是小把戏,而现在却不可或缺?”这个问题抛给CIO们,多数人的答案就是两个字——“移动”。如果说传统意义上的企业移动化停留在设备层面的话,那么随着2007年iPhone发布所引发的移动化浪潮,企业的移动化已进入设备和应用开发两个并行发展的阶段。一个移动OS能否成为主流不在于其发布者是谁,其设备制造者又是谁,而取决于这个移动OS上有多少可供用户体验的应用有多少,质量如何。这也可以理解为何Google旗下的Android对iPhone的威胁越来越大,而微软的wp8始终不被用户认可。
企业曾经天真的以为设备移动化早已完成,因为他们有自己给员工标配的移动产品——黑莓。但IT消费化的一股股洪水让这一切都成为过去,企业IT部门不得不面对一个现实——黑莓不再那么酷,而iPhone和Android才是员工的最爱。从某种意义上说,设备移动化又一次重新起航,IT部门必须重新制定IT系统的移动管理新规范。但对CIO来说,有一个问题让他很头疼——“我不能将所有鸡蛋都放在iPad篮子里,因为我不知道两年后iPad是否还流行。”
不管风水如何转,移动应用都是不可或缺的。而在企业移动应用开发方面,很多企业的IT部门正在偏离正轨,Forrester副总裁 Jeffrey Hammond认为:企业目前开发的移动应用还停留在一个只满足“可运行”的低级阶段,这绝不是移动应用开发的正道,企业需要明白,应该保证他们的移动应用满足消费者的需求。关于这一点,CUNA Mutual公司CIO Roy感触很深,他领导IT团队开发了一款深受用户喜欢的移动app,为企业开创了一个新的盈利中心。
安全仍然是移动应用开发面临的重大挑战。软件开发团队可以采取的最重要安全措施是,进行小组练习,小组成员映射出移动应用组件,创建出可视的系统和数据库的描述图,移动应用借此来彼此沟通。可视化的方法是非常有效的,因为它允许开发人员和测试人员知道数据流是如何通过应用程序的,了解到哪一点是必须确保安全的。
另外,对移动应用采取灰盒测试也很有必要。所谓移动设备应用的灰盒测试是指,将传统的源代码检查(白盒测试)与前期测试(黑盒测试)结合起来的一种技术。它可以找到高风险代码;确认漏洞的根本原因。一般来说,移动应用灰盒测试要三个步骤:威胁建模、漏洞确认、数据利用。
以下有几条移动安全的建议,供开发者和测试者参考:把移动安全理念纳入到开发项目中;构建并实施一种可以监管移动应用的开发并确保可理解性的策略;培训移动应用的开发人员,帮助其实施安全的编码;测试是否可以限制传输到移动设备的敏感数据;评估针对Web应用和基础架构的威胁。