软件安全性浅析[4]

发表于:2010-05-18来源:作者:点击数: 标签:浅析软件
软件 安全 性浅析[4] 软件测试 设计约束分析: 给出一些约束,来评价软件在这些约束下运行的能力。比如:物理时间约束和响应时间对软件 性能 的检查。 复杂性 度量 : 高度复杂的数据结构难以彻底测试,可以采用McCabe或Halstead等这样一些复杂性评估技术来

  软件安全性浅析[4]   软件测试

  设计约束分析:

  给出一些约束,来评价软件在这些约束下运行的能力。比如:物理时间约束和响应时间对软件性能的检查。

  复杂性度量

  高度复杂的数据结构难以彻底测试,可以采用McCabe或Halstead等这样一些复杂性评估技术来标示出需要进一步改进的区域。等等。

  5. 软件编码安全性分析——完成安全相关软件的编码活动

  软件编码完成软件详细设计的实现。所以,代码应该体现软件详细设计所提出的设计要求,实现设计过程中开发的安全性设计特征和方法,遵循设计过程中提出的各种约束以及编码标准。

  我们一般采用代码走查或采用静态检查工具来检查源代码,依照软件编码安全性分析对代码的要求,应该主要从以下几个方面入手:

  a) 分析软件代码是否能追溯到需求;

  b) 分析软件代码是否符合支持工具和编程语言分析;

  c) 分析软件代码是否满足模块化、可验证、易安全修改的要求;

  d) 分析软件编码中所使用技术的安全性和方法的合理性。

  下面列出一些可用于提高代码安全性的相关技术。

  代码逻辑分析:

  如有不可达代码,或代码结构过于复杂,维护性降低。通过实施逻辑重构、方程式重构和存储器解码来进行。

  代码数据分析:

  关注如何定义和组织数据项。变量忘记赋初值,或变量声明了却没有使用,或出现了冗余代码。

  复杂性度量:

  复杂软件不稳定,也经不起不可预测的行为。所以,我们努力使软件的复杂度变小。如果有条件采用某种自动化工具,可以通过工具对软件设计或/和代码进行控制,用图形化的方法反映出软件结构中的控制流和数据流,通过连结数/调用数、节点数、嵌套深度等这样一些结构关系的检查,获得复杂度的度量,将会获得很好的效果。

原文转自:http://www.ltesting.net