Web应用程序安全:通过设计来保证安全(下)

日期: 2012-03-27 作者:vivian 来源:TechTarget中国

本文接续《Web应用程序安全:通过设计来保证安全(上)》,继续分析:常见的设计领域可同时应用于Web和云应用。这包括收集商业请求,开发和测试;访问,验证和数据保护;配置和分区;可视性;维护和持续性。

配置

Verizon云服务子公司Terremark安全方案总监Omar Khawaja举例称,假设一个客户面对的是处理金融交易的Web应用程序。在设计期间,必须在Web和交易服务器之间创建信任边界来保护数据。这看似明显的设计点,但是在虚拟环境和云环境中,这些信任区域常被忽视了。

赛门铁克Phillips称,当设计商务云服务供应商时,安全的区域也包括中的客户是如何彼此分隔的。

身份与访问管理供应商Symplified公司CEO Eric Olden称,身份联盟,验证和访问标准——如OAUTH,XACML,SCIM和SAML——现正处于设计种,目的就是满足访问需求。

业内专家认为敏感数据加密还应该与验证联系起来。不过,据云安全联盟去年十一月发布的一项调查结果显示,云加密产品并不是非常有效。该份由Trend Micro赞助的报告推荐给传输,存储中的数据设置多层加密,并进行密钥管理。

Voltage安全产品管理副总裁Mark Bower透露,验证应该与数据加密联系起来以减少实时数据的暴露——特别是新技术,如隔世保存加密。他说,“加密还应该用于保护授权用户的实时数据,例如,为了验证一个交易或是将用户与其账号匹配,运营商或许只要查看社保卡号码码的最后四位数字或者只查看信用卡号码的最后一节。”

目前,大多数企业应该可以用数据集中方式加密自己的敏感数据,这意味着存储中,传输中和使用中的敏感信息都处于加密状态。如果企业过渡到IaaS,他们就要为自己的应用负责,或许他们可以通过基于标准的API在云中复制相同技术。

如果购买SaaS,企业应该了解供应商如何帮助自己加密数据,特别是如何进行云中的密钥管理。例如,Voltage为Voltage云服务文件和邮件加密客户管理云中密钥。企业或许也想用on-premise密钥服务器控制自己的密钥。

OWASP Manico称,当思考云中的应用程序部署时,托管环境的特殊类型决定了安全功能(如加密和监控)会怎样获得支持。

例如,在IaaS模式中,要求这项服务的企业要对自己的应用程序负责。而如果是SaaS,供应商则会为企业管理应用。SaaS服务供应商还能管理云中的安全应用,并为客户提供新的安全服务。

可视性和维护

在研发的关键阶段和应用程序投入生产后,静态分析和功能性测试也同样重要。所以必须在设计,开发和后期生产期间测试应用程序以维护应用程序的安全态势。

赛门铁克Phillips称,这意味着设计必须包括基本的监控支持,如产生有用的日志,数据和访问注册的更改。

有大量工具与服务可用来测试Web应用程序看是否存在SQL注入,XSS和其他源于代码的功能型漏洞。不过,专家认为在公共云应用的可视性方面,企业必须依靠其云服务供应商提供的监控工具来监视自己的数据。对供应商网络的监视主要依靠合同和年度审核。

安全的设计需要在业务,开发和安全部门之间共同计划和协调。做起来虽难但并非不可能。

程序安全设计的资源

为程序员寻找指导方针比为设计师和规划者寻找指导方针要容易。下面就是例子:

云安全联盟有很多用于开发和部署云的指导方针,包括:

• 云计算重点领域安全指南——描述了云类型和组成要素以及映射出架构,管理和运营中关键区域威胁的方法。

• 一个Cloud Controls Matrix样式表为云服务运营商和客户列出了控件区域,规格和架构组件。

• 访问公共云,私有云和混合云环境的工具集

OWASP有一个常用的代码审查指南,它将安全,设计和业务环境联系起来。其他流行的资源包括:

• 给程序员的安全小抄;

• 威胁建模指导;

• 安全编码与测试指引。

SAFECode最近发布了安全软件开发基础实例的第二版,其他资源包括:

• 供应链应用的软件保障;

• 软件完整性控制的概述;

• 软件安全工程师培训。

程序安全设计要点

不论应用程序被部署在何处,基础设计架构都适用。在赛门铁克案例中,开发团队都遵循这些基本设计原则:

1、在信任边界数据重复验证与保护

在信任边界进行的数据传输必须受到保护,如在跨优先级别的处理或是两个独立电脑之间进行处理。数据的类型,数值范围,客户端和服务器端的语义都必须进行验证。数据保护可通过数据签名这类机制来部署。

2、服务器和用户代理的共同验证

由于许多不受信任的实体都涉及用户代理和服务之间的互动,所以用户代理和服务必须创建共同验证,而最好是通过PKI和多要素验证实现共同验证。

3、防止偷听——强加密

敏感数据和关键数据可能暴露在用户代理和服务器之间不受信任的实体面前。FIPS 140-2服从加密法则必须用于传输中的数据。即便是闲置的敏感数据也必须加密。要使用加强型密码增加解密的难度。

4、会话超时和一次性密码

长时会话可能导致攻击重现和会话劫持。特别是在云应用中,一次性密码和短时会话可以显著降低这类漏洞的威胁。

5、最小特权

由多个要素组成的应用程序只能授予最低许可和最小权限,以减少攻击者提高优先权带来的风险。

6、分区

隔开开规定的权限和资源,从而减少资源消耗和ddos漏洞。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐