软件安全保障的目标是在软件开发生命周期中提升软件的安全性,主要目的包括:
1)可信赖性:无论是恶意而为还是无意疏忽,软件都没有可利用的漏洞存在
2)可预见性:对软件执行时其功能符合开发者的意图的信心
3)遵循性:将(软件开发)跨学科的活动计划并系统化,以确保软件过程和软件产品满足需求、遵循相关标准。
在软件安全保障中,需要贯彻风险管理的思想。由于软件自身存在着漏洞,而客观上又存在外部威胁,而且一旦条件满足,则势必造成安全问题,对软件的执行后果造成影响。 软件用户需要树立对软件安全控制的信心,该信心是通过保障活动来获取的。安全保障的作用不是直接使软件系统增加抗拒安全威胁的能力,而是试图证明软件系统已满足了其安全目标,使用户对降低预期的风险抱有信心,这种信心来源于对安全控制正确性和充分性的评估。如果控制风险的安全控制是正确的和足够充分的,那么软件系统完成预定任务时可能面临的风险就会是用户可接受的,用户就会对软件有信心现代系统的设计人员必须事先考虑安全问题。对于软件就更是如此i因为糟糕的软件是绝大部分计算机安全问题的根本原因。软件的缺点可分为两种类型:设计级瑕疵和实现缺陷。要解决这两种缺点,我们就必须构建更好的软件和从头开始设计更安全的系统。
在安全领域不断发展过程中,安全从业人员逐渐认识到必须进行艰苦的工作才臼旨实现软件安全的目标。预防问题比修改问题更加节约成本的观念支持了这样的观点:提前投资是合理的。预防技术和确保使用最优方法将最终成为唯一可行的方法。所以微软的可信计算SDL 模型以及类似的模型的出现就成为必然。