1. 计算机安全
- 感性理解:看成是用来保护系统和数据的
- 三大特性
- 保密性:只有有权限的人才能读取计算机系统和数据
- 完整性:只有有权限的人才能使用和修改系统和数据
- 可用性:有权限的人应该随时可以访问系统和数据
2. 威胁模型分析
- 概念:为了实现上面的三个目标,安全专家从抽象层面想象「敌人」可能是谁,这叫「威胁模型分析」
- 模型对攻击者的大致描述
- 能力如何
- 目标可能是什么
- 可能用什么手段。攻击手段又叫「攻击矢量」
- 作用:让你可以为特定情境做准备
3. 身份认证 Authentication:让计算机知道使用者是谁
- 你知道什么
- 基于秘密,只有用户和计算机知道,例如用户名和密码
- 是确定性的
- 你有什么
- 你是什么
- 基于你,把特征展示给计算机进行验证
- 生物识别验证器,比如:指纹识别和虹膜扫描仪
- 是概率性的
4. 访问控制
- 一旦系统知道了你是谁,它需要知道你能访问什么
- 权限/访问控制列表
- 说明谁能访问什么,修改什么,使用什么
- 描述了用户对每个文件,文件夹和程序的访问权限
- Bell-LaPadula 模型,即两个法则
- 不能向上读取,不能向下写入
- 是为美国国防部「多层安全策略」制定的
5. 隔离
- 当程序被攻破后,如何限制损害,控制损害的最大程度,并且不让它危害到计算机上其他东西
- 实现手段:沙盒
- 原理:操作系统给每个程序独有的内存块,其他程序不能动,
- 举例:一个计算机可以运行多个虚拟机,每个虚拟机都在自己的沙箱里,如果一个程序出错,最糟糕的情况是它自己崩溃,或者搞坏它处于的虚拟机,计算机上其他的虚拟机是隔离的,不受影响
6. 一些补充概念
- 系统级安全的圣杯之一是「安全内核」
- 可信计算机基础:一组尽可能少的操作系统软件
- 独立安全检查和质量验证
- 双因素认证:对于账户,使用两种认证方式
- 多因素认证:对于账户,使用两种以上的认证方式
- 总结:代码越少越好