1.CLASP介绍
综合轻量级应用安全过程(Comprehensive,Lightweight Application Security Process,简称CLASP)是一个由一系列安全活动驱动的,基于角色组织的安全推进实践过程模型。它通过一些正式的安全最佳实践将安全属性以一种结构化、可重复和可测量的方式整合进软件开发组织的现有或者新建立的软件开发生命周期中。CLASP是一个轻量级的安全过程模型,比较适合小型企业使用[28]。
CLASP是一个以活动为中心的方法。它选取了24个特定的基于角色的活动(Ac-tivities),用于提升整个开发团队的安全意识,并针对这些活动给出了相应的指南、导则和检查列表,见表3-1。其中,角色被划分为项目经理、需求分析师、软件架构师、设计者、实施人员、集成和编译人员、测试者和测试分析师、安全审计员。对于每一项活动,CLASP描述了以下内容:
1)安全活动应该在什么时间,应该如何实施。
2)如果不进行这项安全活动,将会带来的多大的风险。
3)如果实施这项安全活动,估计需要多少成本。
表3-1 CLASP模型中的安全活动[53]
(续)(www.zuozong.com)
2.CLASP的实施
CLASP要求软件的安全从一开始就加以控制,这个过程要融入每个环节,并且在每个环节有不同侧重点和控制方法。它没有具体定义安全团队来负责安全职责,也没有具体开发工具来跟踪安全问题,只是从较广的视角提出了安全的概念和问题。所以CLASP的理论可以用来作为参照,制定一个与软件开发过程同步的安全开发周期。
对于那些从未按正常的方式解决安全问题的组织,CLASP的24个活动可能看上去是很繁琐的。但是为了兼顾安全和效率之间的平衡,组织并不需要执行全部活动。CLASP提供了一个实施指南,帮助项目经理来确认是否需要执行某个活动。例如,当进行公共政府项目,或者当构建了将会使用后端数据库的程序时,只有几个活动可应用。
此外,CLASP还提供了很多资源,支持组织灵活定制的安全活动。这些资源包括术语表、知识库、代码检查工作表、安全需求模板、调查问卷、威胁模型、安全测试检查单、可用工具指南等。
CLASP注重对安全需求文档的整理,从风险的角度分析安全的要求,需求只有需求分析员来定义,并且是对需求制定指标来衡量是否在接下来的过程中实现。CLASP中定义了每个角色的职责,除了固定角色,每个项目要根据项目的范围来定义关系人,这样才能保证需求的完整和正确。
CLASP的大多数安全活动通常绑定了软件的架构和设计。通过将安全性问题作为架构和设计的一部分,不仅仅节约了时间和金钱,还能够将安全问题集中在几个最集中的开发模块。
CLASP注重白盒测试,提供了一个基于不同程序类别和不同数据类型的测试方法矩阵,根据该矩阵可以知道在何种情况下采用何种测试方法。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。