网络与系统安全
Chapter 1 物理安全
常见的物理安全问题:
环境事故造成的设备故障或损毁;
设备普遍缺乏硬件级安全防护;
硬件中的恶意代码;
旁路攻击;
设备在线面临的威胁。
Chapter 2 操作系统(OS)安全
操作系统的主要安全机制:身份认证、访问控制、最小权限管理、信道保护、安全审计、存储保护、文件系统保护。
身份认证
3 种常见凭证信息:用户所知道的(口令、密钥),用户所拥有的(硬件密钥设备)、用户自身的特征(指纹等)。
访问控制
三要素:主体(谁)、客体(谁被访问)、安全访问规则。
访问控制三种模型
访问控制矩阵(ACM)
访问控制表(ACL),每个客体有一张 ACL,记录谁对自己有什么权限。
能力表(CL),每个主体有一张 CL,记录自己对谁有什么权限。
自主访问控制模型:客体的属主管理客体。
强制访问控制模型:由系统根据主、客体的安全级别管理。BLP:不能向上读,不能向下写。
Chapter 3 数据库(DB)安全
重要性:包含敏感数据,本身是关键环节。
安全性问题:
硬件故障与灾害破坏;
数据库系统 / 应用软件的漏洞被利用;
人为错误;
管理漏洞;
不掌握数据库核心技术;
隐私数据的泄漏。
用户认证与访问控制。
记录、字段之间相互关联;
需要控制到记录和字段一级;
访问目标也相互关联,存在推理泄露问题。
保密性、完整性、可用性、可控性、隐私性。
数据失真技术:随机化、阻塞和凝聚;
数据加密技术:MPC,同态加密,分布式匿名化;
限制发布技术:
\(k\)-匿名:每一条记录都要与其他至少 \((k-1)\) 条记录不可区分;
\(l\)-多样化:任意一个等价类中的敏感属性至少有 \(l\) 个不同的值。
例如,下表满足 2-匿名和 2-多样化。
年龄 性别 居住地 敏感属性:疾病 (20, 30] F 北京 癌症 (20, 30] F 上海 病毒感染 (20, 30] F 北京 结核病 (20, 30] M 广东 无疾病 (20, 30] F 上海 心血管疾病 (20, 30] M 广东 结核病 (0, 20] M 上海 癌症 (20, 30] M 广东 心血管疾病 (0, 20] M 上海 心血管疾病 (0, 20] M 上海 病毒感染 \(t\)-邻近:在 \(l\)-多样化的基础上进一步要求所有等价类中敏感属性的分布尽量接近该属性的全局分布。
Chapter 4 应用系统安全
缓冲区溢出攻击
SQL 注入攻击
恶意代码的分类:
计算机病毒:感染文件,分引导模块、传染模块和表现模块。
蠕虫:通过网络传播执行,攻击过程分为信息收集、扫描探测、攻击渗透和自我推进 4 个阶段,构成分为主体功能模块和辅助功能模块。
木马:表面上有用的程序,分控制类木马、信息窃取类木马、下载者类木马,有 C/S、B/S 和 P2P 架构。
具有破坏性、非授权性和隐蔽性。
后门:绕过安全控制而获取访问权的方法。由开发者留下,或攻击者设置。
软件逆向工程的技术:
动态逆向分析:使用调试器。
静态逆向分析:使用反汇编和反编译。
动静结合:1 + 2。
微软软件开发模型(SDL)
Chapter 5 应急响应与灾备恢复
应急响应流程:
应急准备;
监测与预警;
应急处置;
总结与改进。
RAID:
RAID 0:并行分布写;
RAID 1:并行相同写;
RAID 10:结合 RAID 1 和 RAID 0;
RAID 5:分布写数据和校验数据。
Chapter 6 密码学基础
见隔壁。
Chapter 7 网络脆弱性分析
IPv4 的脆弱性。
没有认证机制:可以假冒源地址,也可以篡改消息;
没有加密机制:会被监听,也能被侦察;
没有带宽控制:可以被 DoS。
ICMP 的脆弱性。
「目的不可达」的 DoS;
「改变路由」破坏路由表;
木马利用 ICMP 通信;
利用回送请求和回答进行网络扫描和 DoS。
ARP 的脆弱性。
可以进行流量劫持;
可以进行网络嗅探。
RIP 的脆弱性。
RIP v1 没有认证,使用 UDP,容易被伪造;
RIP v2 明文认证的安全性依然较弱。
BGP 的脆弱性:缺乏安全可信的路由认证机制。
DNS 的脆弱性:协议、实现、操作都有脆弱性。
Chapter 8 网络扫描
目的是识别:
目标主机工作状态(主机扫描);
目标主机某端口的状态(端口扫描);
目标主机 OS 类型(OS 识别);
目标主机系统可能存在的漏洞(漏洞扫描)。
ICMP 扫描:
ICMP Echo 扫描:使用 ping 命令;
ICMP Non-echo 扫描:使用其他类型的 ICMP 报文进行扫描。
IP 异常分组的扫描:
利用主机会针对异常 IP 分组发送 ICMP 响应的特性进行扫描。
端口扫描:
TCP Connect 扫描:直接尝试建立 TCP 连接;
SYN 扫描:只进行第一次握手,不回答第二次握手;
FIN 扫描:发送 FIN,若有 RST 回复,则说明目标端口开放。
OS 识别:
旗标信息:部分服务由服务器发回的欢迎信息中包含 OS 信息;
端口信息:一些 OS 默认开放一些端口;
TCP/IP 协议栈指纹:利用每个 OS 在实现协议栈时的特点进行检测。
Chapter 9 DoS 攻击
剧毒包型 DoS 攻击:
泪滴攻击:使用偏移地址重叠的 IP 分片造成目标崩溃,或穿透防火墙。
Land 攻击:伪造源地址为目标的 TCP SYN 包,使目标机不断给自己建立 TCP 连接。
Ping of Death 攻击:发送超长的 ICMP 包,使目标机的协议栈崩溃。
振荡攻击。
风暴型 DoS 攻击:
通过大量无用数据包占用资源以使正常服务不可用。
SYN 风暴攻击:发送大量 SYN 报文(第一次握手),但是不回复第二次握手,使服务器维护大量的半连接。
TCP 连接耗尽攻击:建立大量的正常 TCP 连接,占用受害者的连接数量。
UDP 风暴攻击:发送大量较长 UDP 数据包,占用带宽。
HTTP 风暴攻击:不停从受害者获取数据,占用连接和带宽。
反射风暴型 DDoS:
伪装成受害者,大量请求 DNS、NTP 等服务器,让大量的回复涌向受害者。
Chapter 10 网络监听技术
交换网络监听:
端口镜像(管理员设置,非攻击);
MAC 洪泛:发送假 MAC 占用交换表;
端口盗用;
ARP 欺骗。
DHCP 欺骗。
DNS 劫持。
WiFi 热点钓鱼。
Chapter 11 溢出攻击
程序的段:
text 段:指令;
data 段:有初值的全局变量,
static
修饰的变量。bss 段:没有初值的全局变量。
栈:其他变量。
堆:使用
malloc
或new
分配的变量。
Chapter 12 AI 安全
给定数据集合 \(X\),任取 \(x\in X\),定义熵 \(H(X)\) 为 \(H(X)=\sum_{x\in X}P(x)\log\dfrac{1}{P(x)}\)。
定义条件熵 \(H(X|Y)\) 为 \(H(X|Y)=\sum_{x\in X, y\in Y}P(x, y)\log\dfrac{1}{P(x|y)}\)。
SVM 损失 \(L=\sum_{j\ne y}\max\{0, s_j-s_y+\Delta\}\),其中 \(y\) 是正确类别。
Softmax 函数 \(s(z_i)=\dfrac{\mathrm{e}^{z_i}}{\sum_j\mathrm{e}^j}\)。
向量 \(\boldsymbol{p}\) 和 \(\boldsymbol{q}\) 的交叉熵 \(H(\boldsymbol{p}, \boldsymbol{q})=-\sum_x\boldsymbol{p}(x)\log\boldsymbol{q}(x)\)。