用什么措施来保护应用程序(一)

虽然应用程序安全的威胁问题在变化,企业的规模大小不一,与应用程序相关的安全事件的影响程度也不同,但如果企业还没有为应用程序部署安全防护措施,是时候抓紧了。因为这会对企业产生积极的影响。

数据窃贼首先通过登录到保留其信用卡号的网站上,进入网站后,他们会将各种账户数字插入到位于浏览器地址栏中的一个文本串中,从而在不同的账户之间跳转。黑客的代码系统自动并大量地执行这种操作,使其可以捕获关键的私密数据。

在应用程序安全方面,这种问题叫做直接对象引用。攻击者能够操纵对一个内部实施对象(如一个文件,目录或数据库的密钥等)的直接引用来访问未授权的数据时,就会发生这种攻击。

这不是危言耸听,本文将引导企业关注应用程序安全,并采取措施捍卫应用程序。

为什么现在必须着手解决应用程序的安全问题

成功的企业都能从应用程序的安全中获益。这有多方面的原因。首先是应用程序安全威胁状况的动态属性。据报道,在已报告的安全漏洞中,有近一半都与Web应用程序有关,公司不但要应对各种臭名昭著的漏洞,还要应对新出现的漏洞(如移动平台应用程序中的漏洞)。其次,是典型的应用软件组合的规模和种类。很多企业使用的应用程序种类多达上百种上,其中包括内部开发的各种软件,以及开源软件、商品软件,外包软件等。此外,一次安全事件的实质影响所带来的成本会更高。应用程序的安全事件,其发生的可能性、发生频率、发生后的影响都是很高的。适时地解决此类型事件,可以有效地减少成本。

从何处开始

根据其功用,我们逐个来看一下可以有效解决应用程序安全问题的重要举措:

1、 确认应用程序组合

如前所述,企业使用的应用程序种类很多,且随着业务的变化,几乎每年都在增加。而且,使用应用程序的终端用户数量也在增加,这些因素都会极大地增加面向互联网的企业应用程序被攻击和渗透的可能性。显然,首先要调查企业已拥有的应用程序都有哪些。

2、 确认最大的风险

几乎没有哪家公司能同时修复所有应用程序的安全漏洞。事实上,并非所有的应用程序漏洞都是一样的(不妨回想一下其发生的可能性、发生的频率、每次安全事件所生产的经济影响)。所以,最合适的做法是把最高的优先权给与最大的风险。

例如,基于Web的前端应用程序,.NET应用程序,基于Java的Web应用程序,以及Web2.0应用程序被许多公司认为是具有最大风险的程序。由于企业中移动设备(如智能电话、平板电脑等)的增加,可以预见,在不远的将来,企业级移动应用程序将会跃升为具有极大风险的程序。

3、 理解并使用自己的工具

渗透测试、应用程序漏洞扫描、人工源代码检查是应用程序安全领域最常见的技术。此外,还有静态源代码分析、动态源代码分析等。

公司不但要知道目前正在使用、计划、评估哪些技术和工具,更要知道哪些工具与其同类公司相关,从而达到更好的结果。要将性能和结果与人员的能力、过程、技术结合起来,用以提供最佳的防护。

4、 选择最佳的部署方案

有多种方案可供企业选择。例如,本地软件、按需解决方案或软件即服务(SaaS)。企业的部分选择要以公司内部的熟练安全技术人员为转移;例如,对有些企业来说,按需TaaS(测试即服务)可能是开始工作时最具成本效益的方法。而对其他公司来说,本地动态测试则可能是最恰当的方法,同时,配合企业需要的外部专家会是确保成功的明智方法。

确立明确的权责

要求一个管理人员或团队负责一项企业范围内应用程序安全,这对保证企业业务的可持续性发展至关重要。例如,将开发人员的部分时间用来解决应用程序漏洞扫描和渗透测试工具所确认的高风险漏洞,这样做是否更为有效?