1.1 计算机安全的概念
1.1.1 计算机安全最核心的三个关键目标(CIA):
-
保密性(Confidentiality)--①数据保密性(确保隐私或秘密不向非授权者泄密或使用);
②隐私性(确保个人能够控制或确定其自身相关的信息)。 -
完整性(Integrity)--①数据完整性(确保信息只能以特定和授权的方式进行改变);
②系统完整性(确保系统以正常方式来执行预定的功能,避免非授权操纵。) -
可用性(Availability)--确保系统工作迅速,对授权用户不能拒绝服务
额外两个:
-
真实性(Authenticity)--验证用户正确,系统的输入均来自可信任的信源
-
可追溯性(Accountability)--实体的行为可以唯一追溯到该实体
-
1.2 OSI安全架构
1.2.1 OSI安全架构关注的问题
- 安全攻击--任何危及系统安全的行为
- 安全机制--用来检测、阻止攻击 或 从攻击状态恢复到正常状态的过程
- 安全服务--加强数据处理系统和信息传输的安全性的一种处理过程或通 信服务,目的用一种或多种安全机制进行反击。
1.3安全攻击
1.3.1被动攻击
? ① 对传输进行窃听和监测,获取传输的信息
? ② 流量分析:对信息进行了恰当的加密保护,攻击者仍具有可能获取这些消息的一些模式。如可以确定主机的身份和位置,传输消息的频率和长度
? 被动攻击不涉及对数据的更改,通常可以使用加密的方法阻止攻击。预防而非检测
1.3.2主动攻击--对数据流进行修改或伪造数据流
? ① 伪装:某实体假装成其他实体。例如获取认证信息,在认证信息完成合法验证后进行重放,无权限的实体就可冒充获得额外的权限。
? ② 重放:攻击者未经授权将截获的信息再次发送
? ③ 消息修改:未经授权地修改合法消息的一部分,或延迟消息的传输,或改变消息的顺序
? ④ 拒绝服务:阻止对设施的正常使用或管理,针对具体的目标。例如,某实体可能会查禁所有发向某目的地的消息。另一种形式为破坏整个网络,或使网络失效,或使网络过载以降低性能
? 由于物理通信设备、软件、网络自身潜在弱点的多样性,主动攻击难以绝对预防,重点在于检测并从攻击造成的破坏或延迟中恢复过来
1.4 安全服务
- 认证 ① 对等实体认证;② 数据源认证
- 访问控制
- 数据保密性
- 数据完整性
- 不可否认性
1.5 安全机制
1.5.1 特定安全机制
- 加密:运用算法将数据转换成不可知的形式
- 数字签名:附加于数据单元之后的一种数据,对数据单元的密码表换,以使得接收方证明数据源和完整性,防止伪造
- 访问控制
- 数据完整性
- 认证交换:通过信息交换来保证实体身份的各种机制
- 流量填充:在数据流空隙中插入若干位以阻止流量分析
- 路由控制:为某些数据选择特殊的物理上安全的线路,允许路由变化
- 公证:利用可信的第三方来保证数据交换的某些性质
1.5.2 普遍的安全机制
- 可信功能:据某些标准被认为是正确的功能
- 安全标签:资源(数据单元)的标志,命名或指定该资源的安全属性
- 事件检测:检测与安全相关的事件
- 安全审计跟踪:收集安全审计数据,他是对系统记录和行为的独立回顾与核查
- 安全恢复:处理来自安全机制的请求,如事件处理,管理功能和采取恢复行为
1.6 基本安全设计准则
- 机制的经济性(Economy of mechanism)
- 故障安全默认(Fail-safe defaults)
- 完整的监察(Complete mediation)
- 开放的设计(Open design)
- 权限分离(Separation of privilege)
- 最小权限(Least privilege)
- 最小共同机制(Least common mechanism)
- 心理接受度(Psychological acceptability)
- 隔离(Isolation)
- 密封(Encapsulation)
- 模块化(Modularity)
- 分层(Layering)
- 最小意外(Least astonishment)
1.7 攻击面与攻击树
1.7.1 攻击面(由系统中一系列可访问且可利用的漏洞组成)
? 常见的攻击面的例子:
- 向外部Web和其他服务器开放的端口,以及监听这些端口的代码
- 防火墙内部可用的服务
- 处理传入的数据,E-mail, Xml, Office 和企业特定的自定义数据交换格式的代码
- 接口、SQL和Web表单
- 易受社会工程攻击的可访问敏感信息的员工
? 攻击面的种类:
- 网络攻击面:网络协议的漏洞,如用来拒绝服务攻击、中断通信链路、各种形式的入侵攻击的漏洞
- 软件攻击面:涉及应用程序、工具包、操作系统代码。重点 Web服务器软件
- 人类攻击面:系统人员,外部人员,如社会工程学、人为错误和被信赖的内部人员
1.7.2 攻击树(采用分支化、层次化表示来利用安全漏洞的可能技术集合的数据结构)
? 使用攻击树的动机是为了更有效地利用关于攻击模式的可用信息
图1.4为网上银行认证程序的攻击树例子。树的根节点是攻击者的目标--攻击用户的账户。阴影框是树的叶子节点,代表组成攻击的事件。在这棵攻击树中,除叶子节点外的节点都是‘或节点’。
生成此树的攻击分析考虑了认证中涉及的三个部分:
- 用户终端和用户(UT/U) 这些攻击针对用户设备,包括涉及的令牌,如智能卡或其他密码生成器,以及用户操作
- 通信信道(CC) 着重于攻击通信链路
- 网上银行服务器(IBS) 对托管网上银行应用程序的服务器的离线攻击
五种攻击策略:
- 攻击用户凭据
- 命令注入
- 用户凭据猜测
- 安全策略违规
- 利用已被认证的会话
1.8 网络安全模型
双方信息通过路由从源地址到目的地址,并协作使用通信协议(TCP/IP),从而建立起一个逻辑信息通道。
所有提供安全的技术包括以下两部分:
-
对发送信息的安全变换。
-
被两个主体共享且不被攻击者知道的一些机密信息。
为实现安全传输,需要有可信的第三方。如第三方负责将秘密信息分配给通信双方,而对攻击者保密,或当通信双方关于信息传输的真实性发生争执,由第三方仲裁。
安全服务应该包括:
- 设计一个算法,执行与安全相关的变换,无法被攻击者攻破
- 产生算法所使用的秘密信息
- 设计分配和共享秘密信息的方法
- 指明通信双方使用的协议,实现安全服务
1.9 标准
- NIST
- ISOC
- ITU-T
- ISO