一次又一次,安全被认为是组织进行移动应用程序开发项目的关键问题。TechTarget有限公司2012年进行了一次调查发现,设备数据泄露和应用程序安全问题排在企业移动安全问题的前五名之内。 将关注点设为失去敏捷性的企业数据和软件安全性漏洞,这样肯定是合理的选择。但是,当涉及到安全问题时仅考虑到移动应用程序而没有考虑到Web应用程序是不合理的。
Jeff Payne是一家坐落于弗吉尼亚州佛尔法克斯郡的Coveros应用程序开发咨询公司的首席执行官,他认为当移动应用程序出现一些新的安全问题、数据缺失和软件安全性漏洞时,能够影响到整个应用程序。 他认为,任何常见的安全问题都会出现在移动项目中。“威胁模型……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
一次又一次,安全被认为是组织进行移动应用程序开发项目的关键问题。TechTarget有限公司2012年进行了一次调查发现,设备数据泄露和应用程序安全问题排在企业移动安全问题的前五名之内。
将关注点设为失去敏捷性的企业数据和软件安全性漏洞,这样肯定是合理的选择。但是,当涉及到安全问题时仅考虑到移动应用程序而没有考虑到Web应用程序是不合理的。Jeff Payne是一家坐落于弗吉尼亚州佛尔法克斯郡的Coveros应用程序开发咨询公司的首席执行官,他认为当移动应用程序出现一些新的安全问题、数据缺失和软件安全性漏洞时,能够影响到整个应用程序。
他认为,任何常见的安全问题都会出现在移动项目中。“威胁模型和安全需求是非常重要的,可以确保数据存储正确,并顺利进行安全测试。软件就是软件,只是软件”
Theresa Lanowitz是坐落于内华达州明登的一家调查公司的创始人,她同意Payne所提出的观点。“移动技术迫使我们进入安全的另一个水平。这是件好事,因为这样会提高所有应用程序的安全性。”
幸运地是,应用程序安全专家们为了开发移动应用程序安全性而准备了最近的实践方案。在此,他们将所关注的安全问题设为移动项目的专属研究,却又适用于所有应用程序。
1、了解移动应用程序的威胁模型。Payne说,移动应程序的最大威胁是如何真正地得到使用,而产生威胁,主要是因为其与桌面应用和网络应用存在很大的区别。“我们出门在外都随身携带智能手机,并且这种智能手机很容易丢失或者被盗。”这些设备存有电话号码、邮件地址应用程序以及信用卡数据。“当开发移动应用程序时,最好的方法是‘不相信一切’”。
2、要知道移动应用程序就是企业应用程序。Kevin Beaver是坐落于乔治亚州阿科沃斯的Principle Logic信息安全咨询公司的创始人,他认为,自从有了移动应用程序发生了许多不可思议的事情。他说:“这是一种时尚,吸引了市场中的消费者。CEO们在高尔夫球场上发现,他们的伙伴安装了移动应用程序,于是他们也想安装一个。”
Beaver,由于消费者一度对“移动”应用程序的优点痴狂,因此,安全性就被忽略了。但是,好消息是,这些移动项目中并没有任何安全隐患。一般来说,一些简单的应用程序只被设计为执行一种任务,如零售连锁店的查找工具。所以,这些应用程序不太可能包含敏感信息或者连接到企业数据和应用程序中。Beaver说,坏消息是,“移动简单又快捷”的特点使其可以延续到企业移动应用程序项目中,这种行为是危险的。
如今,所开发的移动应用程序时非常的复杂。组织如何指导业务是很重要的,他们要连接到内部客户账户信息和其他敏感数据。对这些应用程序正确的认知是,将企业应用程序排在首位,移动应用程序其次。Beaver说:“如果你的应用程序负责交易业务,你需要对安全性进行深度的思考。”
3、使用白板。John Dickson是坐落于圣安东尼奥的Denim Group软件安全咨询公司的主管,为了避免“移动失去其简单而又快捷的特点”,他建议,首先在开发过程中对所计划开发的移动应用程序画一个图表。他说:“企业应用程序与应用程序本身并不同。他们属于应用程序系统,在不同运行阶段有不同的部分。”在白板上画出所有连接部分,这样就可以显示出项目是多么的复杂。你可以发现移动应用程序需要交互的哪些数据库、遗留系统和云应用程序存储了数据和服务。
Dickson建议由项目团队中的项目经理、资深的开发人员和软件测试人员来进行实践。Dickson说:“你以结构化的方式来观察该系统,决定在系统的不同阶段哪种软件能够或者不能出现。图表法是进程的一种工作方法,团队成员以此进行讨论。在开发之前,与重新编写应用程序相比,擦去白板上之前写的内容是非常容易的。”
4、仔细研究应用程序如何存储数据。在开发人员的眼中,当编写移动应用程序的时候,最重要的安全问题就是要考虑应用程序时如何存储数据。Payne说:“在移动设备上存储数据非常不安全。”数据不能随处存储,如果手机丢失或者被盗,其他人也可以获取到存储在移动设备上的数据。Payne建议要对敏感的信用卡号码信息、机密的业务数据和社会保障号码进行加密处理。但是,要知道的是,移动用户会使加密工作变得复杂。当然加密数据同时也必须可以解密。Payne指出,这需要用户注册并输入PIN码才能访问密钥数据。这对于运行在大型计算机上的应用程序来说不是问题。但是有了移动性,你总是不得不考虑移动设备的限制因素。Payne说:“你锁定的安全性越多,可用的移动应用程序就会变得越来越少。在可用性和安全性之间总要进行权衡。”
Payne推荐给开发人员几种较好的方法:将数据存储在随机存取存储器(RAM)上,这样即起到了保护重要,有保证了应用程序的可用性。“但是,例如当应用程序要出现不好的状况时,它会关闭正在执行的任务,确保RAM被清理干净。”他同意也警告过开发人员不要随处存储碰撞数据。碰撞数据是指当发生碰撞时应用程序自动产生的信息。该数据可能包含有助于未经授权的用户获得访问机会的信息。
5、用静态分析和渗透测试来查找安全缺陷。静态分析是指使用源代码分析软件来查找易受攻击者入侵的漏洞代码,例如SQL注入,它是一种恶意攻击软件,可以使应用程序放弃本需要保护的敏感数据。这些漏洞很可能在一些与移动应用程序相连接的较老数据库和遗留系统中发现。Payne说:“在那能发现许多漏洞。”渗透工具也是用来检测安全漏洞的,但是,它们使用的是一种不同的方法。与分析实际代码不同的是,渗透测试模仿工具应用程序的恶意软件,目的是确定这些攻击软件是否会盗取数据。这些测试实验对于所有应用程序来说都非常重要,而不单单是移动应用程序。
6、徘徊在应用程序周围,同时试图破坏应用程序。基于渗透测试和源代码分析,Beaver建议软件测试人员对其正在测试的应用程序进行修补,以此查看应用程序行为方式是否存在风险。最近,他正使用该方法对一个用户的应用程序进行测试。为了管理个人信息而在应用程序中设计一个空间,在此用户可以输入他们的社会保障号码。当Beaver输入一个数字并且点击该数字,令他吃惊的是,社会保障号码就如同一个电话号码一样。“现在应用程序将社会保障号码存储在电话记录中。这是一个很大的安全隐患,我们应该较早的找到这个隐患。”
7、确保知道有谁使用过你的应用程序。许多组织中都会有第三方测试公司使用其应用程序的现象。Lanowitz说当使用这种方法时,最重要的是要清楚地知道是谁使用过你的应用程序。她说:“这就是要站在本公司的角度分析问题。而这些应用程序也并不是市场工具。”开源测试公司经常与“聪明的技师们”一起进行测试实验,该测试过程中就存在安全隐患。“你必须了解谁正在观看企业数据。你也必须对此要格外留心。”
相关推荐
-
移动应用安全带来新问题
移动应用开发给企业带来了全新的问题,特别是在软件安全领域。通常应用商店的开发人员可能会担心代码被盗,然后被反向编译。
-
六步加速移动应用测试
在移动企业,如果你测试和发布app的速度不如竞争对手快,那你就要落后了。哪怕是最古板的保险公司都知道,在移动领域速度会杀人。
-
改善性能:七种方法优化移动应用
听起来似乎违背常理,但事实却是如此。尽管网络版应用已成为常事,但是,优化移动应用、避免性能漏洞仍然是巨大的挑战。
-
欲速则不达:移动开发可以放缓脚步
移动应用开发的成本通常都较低,而且开发周期较短,但这样开发出来的程序往往都比较杂乱,可能只是引进一些简单的功能,或修复了一些问题。