要定义明确的安全需求,重要的是确切了解什么是安全的需求。尽管安全需求与安全特性用于根本不同的目的,但它们经常被混淆。使用以下两个定义可以明确这种差异:
► 安全需求是必须完成的任务。例如,所有密码必须加密存储。安全需求通常不会指示如何做,例如指示用哪个软件用来加密。
► 安全特性是必须可用的功能。例如,用户管理必须能够在Web 界面进行。
► 安全需求是必须完成的任务。例如,所有密码必须加密存储。安全需求通常不会指示如何做,例如指示用哪个软件用来加密。
► 安全特性是必须可用的功能。例如,用户管理必须能够在Web 界面进行。
与功能要求或性能要求类似,安全需求需要确保从一开始就将安全性构建到应用中。安全需求定义要求何种新安全特性和如何改变现有特性以包括必要的安全属性。设定安全需求的目标是确保应用可以预防和抵挡攻击。
审计和日志记录
尽管人们通常依赖网络和包日志来进行取证分析,同时,应用程序内部的日志记录也是同等重
要的;应用程序应该对软件的保密性、可用性和完整性至关重要的事件进行内部日志记录。
例如,应用就需要有审计日志。审计日志来记录日志的事件必须包括当前会话令牌(如果
有)、IP 地址和时间。必须记录日志的事件还包括帐户验证尝试、帐户锁定、应用错误和与
规定的验证例程不匹配的输入值。
身份验证
由于大多数应用具备访问控制限制,以防止机密性泄漏,因此,确保这些访问控制机制不能被
破解或操作以允许未经授权的访问,这一点非常重要。
例如,要求强密码。任何身份验证凭证必须包含适当的强度,其中包括大写字母、小写字母和
数字字符,而且在长度上不能小于8 个字符。
会话管理
HTTP 协议最初的设计使得难以在整个应用会话持续期间跟踪会话。这推动了 HTTP 协议之
上的会话管理功能的构建。
例如,一个安全需求是合法用户自始至终可以保持正常访问;远程会话的所有资源利用必须加
以监控和限制