APP需要安全测试吗?-安全风险与应用程序排名

2016-12-26

  大人们经常说:“给自己每一个孩子的爱,都是相同的。”虽然经验告诉我们,有时这难以真正做到,但这种想法他们心中却是最为恰当,也是最真实的。然则,人们对待自己的移动设备中的应用程序却并非如此。当然,也不应该一视同仁。从安全的角度来看,一些重要应用程序更值得去我们去“爱”。

  据《华尔街日报》报道的“伊朗黑客入侵纽约鲍曼水坝的一个小型防洪控制系统”这一事件,促使人们对 工控安全 这一领域产生了更大的兴趣。如果我们基础设施中的某一重要环节非常容易被寻找到安全漏洞,进而受到网络攻击的话,那么我们就会处于极度的不安之中。一旦有些应用程序(如在线银行等)遭受到网络攻击,可能会对我们生活带来极大的不便,甚至可使我们蒙受巨大的经济损失。然而,针对另外一些应用程序,我们可以不必如此的关注。例如,一些通过内部局域网进行通讯的应用程序等,则不易受到网络安全攻击。

  当然,有一些办法可以识别应用程序安全漏洞和代码缺陷,包括产品架构、开源代码使用甚至滥用情况下,使用一些安全测试工具通过代码静态分析、动态分析以及用人工代码评审等方法进行安全测试。可是,这些方法都要花费一定的人力和物力。同时,我们心中难免会有疑问:我们应该如何确定需要对哪些应用程序进行安全测试呢?

  有一个很好的Idea:在开发应用程序的同时,对其进行风险等级评估。几年前,DanCornell from Denim Group在OWASP提供了一个良好的框架。简单来说,他建议首先归类:将应用程序划分为基本技术型和数据管理型。然后,确定每个应用程序对客户数据安全的重要性、被攻击的可能性。最后,进行应用技术和安全风险评估,以确定哪些应用程序是至关重要的,按高,中,低划分优先级。一旦确立应用程序风险排名,我们可以选择我们适用于哪一类应用程序的安全范围,并更好地确定其优先级。当应用程序安全漏洞可能导致灾难性的损失或者人员伤亡(飞行控制、汽车、核设施),显然我们会有用更多的安全预防和安全测试方案,以确保我们的应用程序在已知的安全漏洞下,是合理和安全的。

  然而,并不是每一个应用程序都是需要进行安全风险评估的。最后,你需要平衡这样做的价值。考虑到每个可能与应用程序关联的安全漏洞风险,同时意愿承受这些安全风险评估可能造成的损失。