设计协同软件_为什么软件质量保证和IT安全需要协同工作

软件质量保证(QA)和IT安全性的统一导致了共生关系,但是只有少数组织开始意识到这两个独立团队一起工作的好处。 质量保证和IT安全的联盟是自然而然的,因为IT安全是其基本级别的一种质量保证。 任何形式的安全风险都是质量保证问题。

IT安全性和质量保证都与消除风险有关。 IT安全团队致力于消除安全风险,而质量保证团队则致力于消除质量风险。 因此,这种调整需要在多年前完成。 本文介绍了两个部门之间自然的行为集成点,以及IBM®Rational®,Information Management,WebSphere®和Tivoli®Security软件产品系列之间的集成将如何提供帮助。

访问控制

质量保证和IT安全之间的第一个关注领域与访问控制有关。 基于内部组织标准和外部法规遵从性更改或出于IT安全策略的原因,访问控制将永远发生变化和发展。 通常,访问控制权留给了软件开发团队。 它像任何需求一样对待,并且必须与其他需求竞争才能在应用程序中实现。 这种做法使IT安全和审核团队难以跟踪和更改访问控制策略,因为SOX,HIPAA,PCI等法规合规性要求会随之变化。

将访问控制策略写入应用程序时,这些策略必须争用与应用程序增强和改进相同的资源。 与更新访问控制策略相比,应用程序所有者更愿意在应用程序改进和增强上花钱。 最终,这需要从应用程序外部化访问控制策略。 此外,合规性的不断变化使外部访问控制的需求进一步复杂化。 组织意识到访问控制的外部化不会产生后果。

那么,我们如何从应用程序外部化访问控制? IT安全需要参与软件开发生命周期(SDLC)。

需要以与其他要求相同的方式来批准策略。 安全策略需要在需求文档中列出,最好使用IBM®Rational®DOORS®,Rational®RequisitePro®或Rational®Requirements Composer。 这很重要,因为随着安全策略的改变,访问控制也会改变。 了解和跟踪这些更改是最佳实践。 质量保证团队始终与应用程序所有者合作,并且能够为访问控制策略提供这种级别的支持。

当今,访问控制中新兴的标准是可扩展访问控制标记语言(XACML),它是用于访问控制的可重用的基于XML的标准。 XACML就是要在正确的时间为正确的人提供正确的信息。 许多公司采用XACML时并未考虑成功实施XACML所需的过程。 通过将XACML流程构建到SDLC中,您可以与软件开发团队建立凝聚力。 对于已经在应用程序中内置了应用程序策略管理安全性的组织,此方法非常有用。

考虑将XACML方法用于安全策略管理的组织通常会受到以下想法的束缚:从旧版应用程序中删除所有现有的安全策略,并用XACML重新创建它们是不切实际的。 这种方法使组织能够在XACML中创建新的安全策略时保留其现有的安全策略。 实际上,通过与质量保证团队合作,您已经将XACML流程嵌入到SDLC中,这意味着可以在必要时对应用程序和XACML体系结构进行更改。 这消除了从旧版应用程序中提取所有安全策略的需要,并使您能够采用更灵活的方法。 然后,您可以决定是更改旧策略还是使用新的或可重用的XACML策略。

如果您正在考虑使用IBM®Tivoli®Security Policy Manager作为XACML策略创作工具,则可以将诸如IBM®Rational®ClearCase®和IBM®Rational Team Concert™之类的软件用作访问控制资产的源代码控制。 Tivoli Security Policy Manager资产是基于XML的,可以轻松地存储在任一工具中。 可以使用IBM®Rational®Functional Tester和IBM®Rational®Performance Tester创建自动化测试。 然后,当您发布新版本的产品时,您可以自动测试XACML脚本的行为。 另外,诸如DOORS,RequisitePro和Rational Requirements Composer之类的工具允许从需求到Tivoli Security Policy Manager资产的可追溯性。 图1表示Rational Requisite Composer对系统的非功能性XACML需求。

IBM®WebSphere®ILOG具有允许业务规则管理系统同时馈送Rational Requirements Composer引擎和Tivoli Security Policy Manager产品的功能,以允许在整个企业范围内进行高级抽象和更大的可跟踪性。 一起使用这些产品,不仅使组织可以将其访问控制外部化,而且可以以可重复,可持续和自然的方式进行,以实现增长和变化。

图1.非功能需求的Rational Requirements Composer视图
屏幕显示HIPAA要求

应用安全

当今的组织倾向于在完全开发应用程序之前就不考虑安全性地开发应用程序。 这是典型的“让我们把它扔给IT安全团队”。 这种情况的问题在于,部署之前发现的任何安全问题都会引起开发团队或IT安全团队的头痛。 因为要通过SDLC补救安全隐患,因此需要更多的周期,否则产品将被部署有安全漏洞,或者应用程序将被延迟。

质量保证团队很久以前就发现,质量保证专业人员需要出于以下几个原因参与软件开发生命周期的早期阶段。 第一个原因是在部署之前发现质量问题会引起很大的麻烦。 但是质量保证人员还发现,在需求收集阶段发现问题比在开发人员编写某些东西之后更容易且成本效益更高。 尽早参与SDLC也很有帮助,因此质量保证团队可以在软件构建之前开始构建测试用例和测试脚本。

安全需要做同样的事情,与QA团队,系统分析师和开发人员一起工作,以帮助系统分析师收集需求并在软件设计中构建安全设计。 IT安全分析师还需要设计在每个阶段都需要运行的测试类型。 IT安全专业人员与质量保证团队一起需要为IT安全团队想要的每个测试编写测试用例和测试计划。

在过去的五年中,由于质量保证团队和IT安全团队无法一起工作,从而在应用程序中留下了巨大的漏洞,因此黑客开始攻击Web应用程序。 黑客社区的这一举动迫使质量保证与IT安全之间的另一个协作点。 这里的想法是在软件开发生命周期的早期开始安全性测试。 质量保证和安全团队将定义开发人员必须遵守的非功能性要求。 这些非功能性需求是建立具有安全意识的开发团队的基础,并且质量保证团队从一开始就需要与IT安全团队携手合作。 IT安全团队与质量保证团队一起可以帮助建立卓越中心,以定义标准安全编码实践和安全测试,以及定义程序员的教育水平和安全培训。

一个简单的事实是,尽早发现安全漏洞可以减少组织的补救工作,这具有良好的商业意义。 另一方面,在发现安全漏洞之前等待应用程序部署或即将部署。 由于安全测试不同于功能和性能测试,因此质量保证团队一直在努力进行安全测试。 在功能和性能测试中,应在测试开始之前记录预期结果,然后质量保证团队会查看预期结果与实际结果的匹配程度。 在安全测试中,质量保证团队仅关注意外结果和未知测试。 IT安全团队可以帮助质量检查团队建立这些测试。 IBM®Rational®AppScan®系列安全软件在将QA团队投入应用程序漏洞测试方面非常有用。 可以对应用程序运行Rational AppScan,以在应用程序或基础架构级别上发现安全漏洞。

企业单点登录

如今,许多组织已经开始走企业单点登录的道路,因为它既节省了成本(减少了访问数据的时间),又提高了安全性(就密码管理而言)。 企业单一登录的挑战之一是对客户端进行配置以使其与组织内的各种应用程序一起使用。 由于登录屏幕的动态性质,企业单一登录ESSO客户端可能很难识别IBM®Tivoli®Access Manager用于企业单一登录(TA MESSO)的屏幕和字段。

安全团队可以向质量保证自动化团队寻求更困难的配置文件的帮助。 在许多方面,创建高级概要文件的过程与创建自动化测试脚本的过程相似。 与自动化脚本一起工作的质量保证团队对窗口系统的工作原理有更深入的了解,因此他们可以洞悉屏幕的行为。 此外,由于自动化软件测试员每周花费多个小时来了解应用程序屏幕的行为,因此测试人员可以提供实用的方法来调试复杂的登录屏幕。

另外,可以在故障诊断中使用诸如IBM®Rational®Functional Tester和IBM®Rational®Robot之类的工具来找出屏幕异常的原因。 功能测试工具中的验证点检查对于了解给定字段中正在更改的属性非常有帮助。 图2是Rational Functional Tester的屏幕截图,通过属性验证检查显示了重要的登录窗口属性,并突出显示了正在更改的属性。 对于安全团队来说,图2中显示的信息将很困难,而像Rational Functional Tester这样的工具则很容易识别。 自动化软件测试人员有许多技巧,例如WinSpy和其他工具,这些工具在调试更改的窗口时可能会非常有用。 组织可以利用相同的资源进行自动化测试和企业单点登录。

图2. Rational Functional Tester属性验证示例
屏幕截图显示登录字段信息

测试数据管理

测试中的另一个挑战是非生产环境中的数据安全性。 如今,许多组织都使用生产数据的副本填充开发和测试过渡环境。 这种做法的问题在于,用生产数据加载测试和开发环境会使测试和开发领域暴露于个人身份信息(PII),例如社会安全号码和出生日期。 当将PII加载到非生产系统上时,系统必须符合SOX,HIPAA,PCI等的所有规定,并且要受到相同的审计风险和罚款。 这种做法已导致许多组织未能通过安全审核,并导致许多罚款。

IT安全性的另一个交叉点是帮助质量保证团队建立可重复的流程,以将清洗后的数据填充到公司的非生产环境中。 IT安全团队需要帮助构建脚本,以在PII进入测试和开发环境之前对其进行清理。 IT安全团队可以帮助开发团队建立可重复的过程,以填充数据并确保使用经过清理的数据。

IBM Rational,Information Management和Tivoli软件可以通过提供用于创建此环境的工具级别的支持来进一步帮助实现这一目标。 可以将IBM®Optim™集成数据管理合并到Rational Quality Manager产品中,以允许在测试开始之前,将最新清理的数据填充到系统中。 此过程还可以通过创建稳定的测试平台来确保应用程序状态,从而使质量保证团队更轻松地创建自动化测试脚本,从而为质量保证团队提供帮助。 Tivoli®Security Information and Event Manager也可以用于监视环境卫生过程,以帮助确保系统已装入正确的环境卫生数据并在过程中检测到错误时发送警告。

摘要

IT安全和质量保证团队需要在应用程序安全性,访问管理,企业单点登录和测试数据管理方面协同工作。 这两个业务部门一起工作的能力成倍增加。 结果将是建立一个更注重安全性的质量保证部门和一个更注重质量的IT安全部门,这将有助于消除更多风险并提供更好的连续性。


翻译自: https://www.ibm.com/developerworks/rational/library/software-quality-assurance-IT-security/index.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值