目录
一、概念
Security:衡量系统保护数据和信息不受未经授权访问的能力,同时仍然提供对经授权的人和系统的访问。
Security的3个主要特征:
- 机密性(Confidentiality):保护数据或服务不受未经授权访问(如外部人员不可访问银行的账户表)。
- 完整性(Integrity):指数据或服务不受未经授权的操作(如你没有权限不能更改银行账户余额)。
可用性(Availability):系统将可供合法使用(如银行系统防止攻击,但不会限制你正常的使用)。
二、场景
1、通用场景
刺激源 | 已经被识别(正确或错误)或目前未知的人类或其他系统。人类攻击者可能来自组织外部或组织内部。 |
刺激 | 未经授权的尝试行为(显示数据、更改或删除数据、访问系统服务、更改系统),减少可用性。 |
制品 | 系统服务;系统内的数据;系统的一个组件或资源;系统产生或消耗的数据 |
环境 | 系统在线或离线,连接到网络或断开到网络,在防火墙后面或开放到网络,完全运行、部分运行或不运行 |
响应 | 事务的进行方式: 1)数据或服务不受未经授权访问; 2)数据或服务不会未经授权被操纵; 3)交易的各方被确认; 4)交易各方不能拒绝其参与; 5)数据、资源和系统服务将被合法使用。 该系统跟踪其中的活动的方式: 1)记录访问或修改; 2)记录试图访问数据、资源或服务; 3)在发生明显的攻击时通知适当的实体(人员或系统)。 |
响应衡量 | 以下一个或多个: 1)当特定组件或数据值受到损害时,系统受到的损害; 2)在检测到攻击之前经过了多少时间; 3)抵御了多少次攻击 4)从一次成功的攻击中恢复过来需要多长时间; 5)有多少数据容易受到特定的攻击 |
——翻译自《软件架构实践》第3版
2、特定场景
来自远程位置的心怀不满的员工试图在正常操作期间修改工资率表。系统维护一个审计跟踪,并在一天内恢复正确的数据。
——翻译自《软件架构实践》第3版
刺激源 | 远程位置的心怀不满的员工 |
刺激 | 正常操作期间修改工资率表 |
制品 | 系统中工资率表的数据 |
环境 | 系统在线,正常运行 |
响应 | 系统维护一个审计跟踪,恢复数据 |
响应衡量 | 在攻击后的1天内恢复 |
三、Security的策略
1、目标
检测攻击,并在系统受到攻击进行防御,对攻击做出反应,并从攻击中恢复过来。
2、策略
1)Detect Attacks
- 检测入侵(Detect Intrusion):将系统内的网络流量或服务请求模式与存储在数据库中的一组签名或已知的恶意行为模式进行比较。
- 检测服务拒绝(Detect Service Denial):分析进入系统的网络流量模式或签名,并将其与已知的拒绝服务(Denial of Service ,DoS)攻击历史进行比较,以确定是否存在攻击。
验证消息完整性(Verify Message Integrity):使用诸如校验和或散列值等技术来验证消息、资源文件、部署文件和配置文件的完整性。- 检测消息延迟(Detect Message Delay):检查传递消息所需的时间,就有可能检测到可疑的定时行为。
2)Resist Attacks
识别参与者(Identify Actors):确定对系统的任何外部输入的来源。 验证参与者(Authenticate Actors):确保参与者(用户或远程计算机)确实是所声称的人。 授权参与者(Authorize Actors)确保经过身份验证的参与者有访问和修改数据或服务的权限。 限制访问(Limit Access):限制对内存、网络连接或接入点等资源的访问。- 限制暴露(Limit Exposure):通过拥有尽可能少的接入点数量来最小化系统的攻击面。
加密数据( Encrypt Data):对数据和通信应用某种形式的加密。 分离实体( Separate Entities):可以通过在连接到不同网络的不同服务器上进行物理分离、使用虚拟机或一个“气隙”来完成。 更改默认设置(Change Default Settings):强制用户更改默认分配的设置。
3)React to Attacks
- 撤销访问(Revoke Access):限制对敏感资源的访问,即使是对通常合法的用户和使用。
- 锁定计算机(Lock Computer):如果重复尝试访问一个资源失败,则限制对该资源的访问。
- 通知参与者(Inform Actors):当怀疑或检测到攻击时,请通知操作人员、其他人员或合作系统。
4)Recover From Attacks
- Restore(恢复):可用性(Availability)策略。
- Audit(审计):记录用户和系统操作及其效果,以帮助跟踪攻击者的操作,并识别攻击者的操作。