考完试了,把笔记扔这里吧。
一.绪论
1.1信息技术的高速发展和网络空间安全态势
1.2 网络空间安全的基本概念
信息的安全属性
- 机密性
- 完整性
- 可用性
- 可控性
- 可鉴别性
1.3 网络空间面临的安全威胁
安全威胁
- 人为威胁 【有意和无意】
- 环境因素 【自然因素和其他物理因素】
威胁的来源 ISO15408
- 环境因素、意外事件和故障
- 无恶意的内部人员
- 恶意的内部人员
- 第三方 【合作伙伴 供应商恶意无恶意】
- 外部人员攻击
威胁的层次
- 设备层
- 系统层
- 数据层
- 应用层
1.4 网络空间安全的技术体系
4大分层。
- 应用层安全
- 数据层安全
- 系统层安全
- 设备层安全
1.5 信息系统安全技术
- 信息系统硬件安全技术
- 密码学
- 安全认证
- 访问控制
- 安全审计
- 操作系统安全
- 数据库安全
- 恶意代码及其防范
- 信息系统安全评测
- 可信计算
二. 安全认证
2.1 安全认证概述
认证定义:对实体的身份进行审核,证实其合法性的过程
认证作用:
- 识别合法实体和非法实体
- 信息系统的第一道安全防线,是访问控制等其他安全技术的基础
认证基本过程
- 标识
- 鉴别
标识的定义:为每一个实体取一个系统中可以识别的内部名称
标识的作用:追踪和控制实体在系统中的作用
标识的特点:具有唯一性,通常是公开的
用户的标识可以由用户提供也可以由系统提供
用户标识的载体
- 人工记忆
- 令牌
- 不需要载体
鉴别定义:实体标识与实体联系的过程
鉴别作用:证明实体是否有效
鉴别特点:鉴别过程应该是私密的。
身份认证模型
- 单项
- 双向
2.2 基于知识的身份认证
定义:根据用户掌握的知识 进行身份验证
最普遍的技术:基于口令的身份认证
口令的保护
- 机密性
- 完整性
口令系统的威胁
- 蛮力破解
- 字典攻击
- 窃取口令文件
- 嗅探
- 口令泄露
动态口令技术 One-Time Password OTP 又称动态令牌 动态密码
S/KEY
初始化:用户产生一个 SecretPass,服务器发送一个SEED。预处理 MD4(SecretPass | SEED)再把十六字节的结果分为左右两部分,然后按位亦或,记为S。
生成口令序列:对S做N次md5运算,得到第一个口令,做N-1次md5运行,得到第二个口令。。。。做1次md5运算得到第N个口令。
口令的使用:第1个口令交给服务器端保存,客户端顺序使用第2至N个口令。
口令的验证:服务器将收到的一次性口令进行md5运算,和上一次保存的口令进行匹配,如果匹配,则通过认证并且将收到的口令保存起来供下一次验证使用。
2.3 基于令牌的身份认证
令牌:持有人身份的标识。
特点:唯一,易识别,不易伪造
常见的令牌:智能卡和USB Key
2.4 基于生理特征的身份认证
优点
- 不易被仿冒、模仿
- 不需要载体
- 不易丢失和被偷窃
缺点
- 需要特殊硬件
- 不够稳定、
- 有时不被接受
- 长期不变
2.5 基于行为特征的身份认证
- 笔迹
- 步态
- 击键动力学
认证系统的误判情况
- 错误拒绝率
- 错误接受率
认证系统的准确性
- 交叉错判率
2.6 人工交互认证
验证码
2.7 多因素和附和认证技术
多因素认证:组合使用两种或者两种以上的认证技术
附加认证技术:在基本认证方式的基础上,通过用户的附加信息,如登录事件、IP地址、MAC地址、地理位置进行认证。
三. 访问控制
3.1 访问控制概述
访问控制的一些概念
客体:包含或接收信息的被动实体
主体:可导致信息在客体间流动,或者使系统状态发生变化的主动实体
授权:规定主体可以对客体执行的动作
安全策略 Security Policy:一种将系统状态分为安全态/授权态和非安全态/非授权态的申明。
授权状态:系统可以进入的状态
未授权状态:系统若进入到这些状态则违背了安全性
安全的系统:初始于授权状态,不会进入未授权状态。
引用监控器 Reference Monitor:对主体访问客体的行为进行仲裁的抽象装置,一个描述范文控制的抽象概念。
访问控制 Access Control
- 限制主体对客体的访问权限,使信息系统在授权范围内使用
- 使保证信息系统安全最重要的核心策略之一。
3.2 自主访问控制
Discretionary Access Control DAC
- 每个客体只有一个属主
- 属主可以按照自己的意愿精确地指定主体对客体的访问权限
- 灵活性高
自主的含义
- 客体的属主可以自主的决定共享该客体和主体的方式
- 具有授权能力的用户可以自主地将访问权限的部分或者全部授予给其他用户
自主权的转交
-
严格的DAC Strict DAC
客体的属主不允许其他用户也对客体进权限管理
-
自由的DAC Liberal DAC
属主允许其他用户进行权限管理,并且可以多次转交
-
属主权可以转让的DAC
客体的属主可以改变
自主访问控制的实现方式
-
访问口令
-
访问控制矩阵
最原始的访问控制方法
直观,任何访问控制策略最终都可以模型化未访问矩阵的形式
开销大,不易拓展和管理
-
访问控制表
客体被哪些主体控制着
以客体为基准
灵活、易用、直观
应用最广泛的访问控制方法
-
访问能力表
-
授权关系表
适合关系数据库
-
属主/同组用户/其他用户
DAC的局限
- 客体属主绝对该客体的保护策略,让属主参与授权管理 存在安全缺陷
- 允许在主体之间传递访问权限,在传递过程中访问权限可能被改变来带安全隐患
3.3 强制访问控制
Mandatory Access Control MAC
根据严格的安全规则、以行政方式生成并赋予主客体的一定安全属性。
系统根据主客体的安全属性来绝对是否授予主体访问权限
客体的拥有者无权传播该客体的访问权限
主体不能改变自己、自己拥有的客体、其他客体以及其他所有客体的安全属性
特点
- 系统对授权集中管理
多级安全。信息的安全等级和人员的安全等级。
只有当主体的安全等级高于或者等于客体的安全等级时,主体才能访问客体。
BLP模型
安全目标:机密性
SS-策略 Simple Security Property
下读,不上读
*-策略 Star Property
上写,不下写
DS策略
主体对客体有访问权限的时候可以访问。
BLP模型的基本安全定理:如果系统的初态是安全的,且系统状态每次都能满足SS策略,*策略和DS策略的要求,那么系统将始终处于安全状态。
隐蔽信道
- 如果一个通信信道不是设计用于通信的,也不是有意用于传递信息的,则称该通信信道是隐蔽的。
- 允许进程以违反系统安全策略的方法式传递信息的通道。
Biba模型。安全目标:完整性
严格完整性策略 Strict Integrity Policy SIP
上读不下读。下写不上写。
环策略 Ring Policy RP
任意读,下写
针对主体的下限标记策略
任意读,读后主体的完整性级别可能会下降
下写。
针对客体的下限标记策略
上读。任意写,客体被写后完整性级别可能会下降
下限标记完整性审计策略
上读。任意写,但是上写会被审计
3.4 基于角色的访问控制
传统访问控制在授权管理方面的局限性
- 授权工作量随主体数和客体数成正比
- 用户职责变化时重新授权的工作量大
- 用户离职时权限撤销工作量大
Role Based Access Control RBAC
-
Flat RBAC 核心RBAC
-
有角色继承的RBAC
-
有约束的RBAC Constrained RBAC
引入职责分离机制 SOD Separation of Duty
静态职责分离 SSD Static Separation of Duty
动态职责分离 DSD Dynamic Separation of Duty
RBAC的特点
- 中性,可以偏自主,也可以偏强制
- 灵活,可以适应变化的需求
- 支持职责分离原则
- 支持最小特权原则
3.5 最小特权管理
特权:不受访问控制策略限制的权限。
特权存在的原因:
- 便于系统的维护
- 提高系统的可用性
特权对信息系统安全的危害
- 被滥用
- 被窃取
- 被误用
最小特权原则的实现:分权
- 基于进程的特权机制
- 基于文件的特权机制
四. 安全审计
4.1 安全审计概述
安全审计:对信息系统中与安全相关的活动进行记录、检查和审核。
安全审计的目的
- 检测组织 非授权用户的入侵
- 检测显示 授权用户的误操作
安全审计的安全目标
-
直接安全目标
跟踪监视 异常事件
-
间接安全目标
检测系统中其他安全机制的运行情况和可信度。
一些概念
- 审计事件
- 审计踪迹
安全审计的作用
-
系统安全的最后防线,访问控制的必要补充
-
重建事件
-
监测潜在的入侵,为入侵检测提供所需的原始数据
-
故障检测
定位安全问题
帮助故障分析
-
发现系统不足
-
与其他安全机制联动
安全审计的实现要求
- 记录安全活动相关信息
- 重新安全事件
- 违规事件的检测和分析
- 尽可能减少对生产系统的影响
- 保障自身安全
- 审计过程相对独立,与系统其他功能隔离
4.2 安全审计系统模型
功能需求
- 数据生成
- 事件选择
- 事件存储
- 自动响应
- 审核分析
- 审核复核
4.3 安全审计系统的设计与实现
- 确定审计策略
- 定义审计记录
- 确定审计点
- 审计记录的存储
- 审计记录的安全性要求
- 审计信息的使用和管理
- 审计系统的构成
- 降低审计开销
5. Windows操作系统安全
5.1操作系统安全基础
计算机系统组成的层次形式
- 安全内核
- 操作系统内核
- 操作系统
操作系统的安全性方法
操作系统的安全目标
- 允许多用户安全的共享单机
- 确保网络环境下的安全操作
保护对象和保护方法
内存 可共享的IO设备 网络
安全保护的基本原理
-
访问控制
-
隔离控制
物理/时间/逻辑/加密 隔离
-
认证
-
安全通信
-
安全审计
-
入侵检测
-
恢复
保护方法
-
内存保护模式
各种进程有不同的权限 一个用户的进程不能访问其他人的内存空间
-
CPU运行模式
系统模式(内核模式) / 用户模式
这两者模式的切换必须通过系统调用
-
系统调用
系统调用:从用户模式进入内核模式的系统程序,是用户程序和内核交互的接口。
系统调用的分类:
- 进程控制
- 文件管理
- 设备管理
- 信息维护
- 通信
内核实现方法
- 大内核 高效但是复杂
- 微内核 可以实现最小特权但是性能差
备份策略
- 整体备份
- 增量备份
- 实时备份
可信计算机系统评估准则 TCSEC
安全级别 D C B A级
5.2 Windows 安全概述
Windows 操作系统安全功能概览
C2级安全功能
-
安全登录
-
自主访问控制
-
安全审计
-
客体重用
当前主体不能获得原主体活动产生的 任何信息
B级安全功能
-
可信通路
系统需要确保用户确实是在和安全核心通信,防止恶意进程模拟系统的登录过程而获取口令
可信通路的实现
用户在执行敏感操作前,向安全内核发送安全注意符,不可信软件无法拦截、覆盖和伪造的特定符号,从而触发和构建用户与安全内核之间的可信通道。
安全注意符一般由安全注意键 Secure Attention Key SAK来激活
微软公司称为 Secure Attention Sequence SAS 即ctrl+alt+del组合键。
Windows其他安全功能
- 加密文件系统
- IPSec
- Kerberos
- PKI
- 防火墙
Windows 的体系结构
用户模式和核心模式分离
Windows 安全子系统
- 活动目录
- Winlogon进程
- 图形化标识和验证GINA
- 本地安全认证LSA
- Kerberos身份认证
- MSV1.0身份认证
- 安全账户管理器SAM
- 安全参考监视器 SRM
- Netlogon进程
5.3 Windows 本地安全机制
用户账户的使用范围
-
本地用户账户
-
全局用户账户
创建在服务器【域控制器】 可以在网络中任何计算机上登录 使用范围是整个网络
账户类型
-
内置账户
Administrator
Guest
-
普通账户
由系统管理员建立有SID security identifier
安全标识符:SID,每次创建一个用户或者一个组的时候,系统会给他分配一个唯一的SID
本地的SID由LSA生成,存储在注册表安全区域中。域的SID由域安全机构生成,存储在活动目录中
SID永远都是唯一的,永远不会被修改
本地身份认证过程
- 用户按SAS激活Winlogon,winlogon调用gina,显示对话框
- gina将用户输入的账号和口令返回给winlogon
- winlogon将用户名和口令发送给LSA
- LSA调用msv1_0.dll 将用户信息处理后生成密钥
- msv1_0.dll将生成的密钥发送给SAM
- SAM将收到的用户密钥和SAM数据库中存储的密钥进行对比
- 如果合法,SAM将会把用户SID等信息发送回msv1_0.dll
- msv1_0.dll将验证结果信息发送回LSA
- LSA根据收到的SID信息创建安全访问令牌,然后将令牌的句柄和登录信息发送给winlogon,winlogon处理用户登录,完成本地身份认证。
Windows访问控制机制的工作流程
- 访问令牌 Access Token
- 安全描述符 Security Descriptor
用户通过身份认证后,lsa会创建一个访问令牌,该令牌相当于用户访问系统资源的票证
当用户试图访问系统资源的时候,将访问令牌给系统。
访问控制列表ACL是windows访问控制机制的核心。
- Discretionary ACL
- System ACL
安全审计机制
审计事件类型
- 登录事件
- 账户登录事件
- 账户管理事件
- 对象访问
- 目录服务访问
- 特权使用
- 进程跟踪
- 系统事件
- 策略更改
日志文件
- 系统日志
- 应用程序日志
- 安全日志
windows文件系统类型
- FAT
- NTFS
加密文件系统EFS
- 用于NTFS,使用户在本地计算机安全存储数据
- 加密用户使用透明 其他用户被拒
- 不能加密压缩和系统文件 加密后不能被共享,可以被删除、列出文件和目录。
5.4 Windows 网络安全技术
- 网络身份认证
- 公钥基础设施
- IPSec
- 运输方式
- 隧道方式
- IIS安全
- Windows防火墙
6. Linux 操作系统安全
6.1 Linux安全概述
init进程
内核映像在完成引导后,便会启动init进程。
linux中的所有进程都是由init进程衍生的,其进程号使1
如果init进程出现问题,系统的其他进程也会受到影响
Linux 系统的安全威胁
- 特权程序漏洞
- 恶意代码
- 网络监听和数据捕获
- 软件设置和相互作用
Linux 系统的安全机制
- 标识 UID/GID
- 鉴别
- 访问控制
- 审计
- 网络安全防护
- 防火墙
- 入侵检测
- 完整性保护
- 安全传输
6.2 Linux本地安全机制
- 用户和组安全
- 文件系统安全
- 进程管理安全
- 日志管理
Linux系统基本的文件类型
- 普通文件
- 目录文件
- 设备文件
- 链接文件
- 管道文件
僵尸进程:一个进程调用exit后并非马上消失,而是留下了一个叫做僵尸进程的数据结构,它放弃了几乎所有的内存空间,无任何可执行代码,也不能对调度,仅仅在继承表中保留一个位置,记录该进程的退出状态等信息供其他进程收集。
僵尸进程问题
- Linux系统中进程数目是有限制的。
- 如果有太多僵尸进程,会占用内存资源,影响系统性能和新进程的产生,甚至导致系统瘫痪。
6.3 Linux网络安全技术
-
Web服务安全
-
Netfilter/Iptables防火墙
四表
- filter
- nat
- mangle
- raw
五链
- prerouting
- input
- forward
- output
- postrouting
-
入侵检测
-
DNS服务安全
-
DHCP服务安全
-
xinetd
7. 数据库系统安全
7.1数据库系统安全概述
DMBS组成
- 存储管理器
- 查询管理器
DBMS功能
- 建立管理和维护数据库
- 为用户及程序提供数据访问
- 保护数据库的安全性
数据库系统的层次结构
- 外模式
- 模式
- 内模式
7.2 数据库系统的安全需求
-
机密性
-
完整性
防止对DBMS的非法访问和修改
保护存储的数据、文件的安全性
- 物理数据库完整性
- 整个数据库损毁
- 保证数据能够物理读取
- 逻辑数据库完整
- 保护数据库的接口
- 元素完整性
- 数据元素只能由授权用户改变
- 物理数据库完整性
-
一致性
-
可审计性
数据库的安全防护层次
- 网络环境层次
- 宿主操作系统层次
- 数据库管理系统层次
- 数据库应用系统层次
SQL注入攻击最基本的防范
- 不允许输入单引号
- 将输入的引号进行转换
7.3 数据库系统的安全机制
- 视图机制
- 数据库加密
- 推理控制
视图机制原理:通过定义不同的视图,将用户无权访问的数据隐藏起来。
数据库加密技术
-
库外加密。加解密发生在DBMS之外,DBMS管理的是密文
优点:
- 对DBMS的要求少
缺点:
- 效率低
- 数据加解密需要很大的时间和空间的代价
-
库内加密
加密对象为数据库中存储的数据。
- 库内加密在DDMS内核层实现加密
- 加解密过程对用户与应用透明,数据在物理存取之前完成加解密工作
优点
- 加密的粒度可以细化
- 效率高
缺点
- DBMS性能降低
- 密钥管理风险较大
数据库加密的局限性
- 不宜以整个数据库文件为 单位进行加密
- 部分字段不能加密
7.4 SQL Server数据库安全
- 操作系统级的安全防线
- 服务器级
- 数据库系统级
- 数据库对象级
身份认证
- Windows身份认证模式
- 混合身份认真模式
SQL Server的账号安全性检查
- 检查无用的数据库账户
- 检查弱口令账号
- 检查空口令账号
SQL Server的权限管理
- 语句权限
- 对象权限
- 隐含权限
- 存储过程
- 执行用法
SQL Server的入侵检测
- 系统日志
- 数据库管理系统日志
- 数据库应用日志
SQL Server的数据控制
- 完整性控制
- 并发控制
- 数据恢复
- 安全性控制
- 存储过程管理
9. 可信计算
9.1 可信计算概述
可信计算指的是计算机运算的同时进行安全防护,使操作和过程行为在任意条件下 的结果总是和预期一样,计算全程可测可控,不被干扰,使一种运算和防护并存的自我免疫的新计算模式。
是一种旨在增强计算机系统可信性的综合性信息安全技术
9.2 可信计算机系统的组成和技术原理
组成
- 信任根
- 可信硬件平台
- 可信操作系统
- 可信应用系统
可信根是系统可信的基点
TCG认为一个可信激素教案平台必须包括3个信任根
- 可信测量根 RTM
- 可信存储根 RTS
- 可信报告根 RTR
信任根的可信性由物理安全、技术安全与管理安全共同确保。
信任链把信任关系从信任根扩展到整个计算机系统
可信平台模块 Trusted Platform Module TPM