156 / 163 · C11 · 约 8 分钟
关于安全的对话
先记住这句话
本对话介绍操作系统安全,强调与可靠性的不同,因为存在故意的对手。它涵盖保护机密、完整和可用资源的需求,以及应对聪明持久攻击者的挑战。
安全不同于可靠性
可靠性应对偶然故障或设计缺陷,如系统崩溃。安全则必须对抗有意破坏的对手。这些对手智能、敌对、顽强、适应能力强且具有欺骗性,会不择手段损害你的计算机资源。
三大安全属性
机密性保护信息不被未授权查看,例如防止私人笔记泄露。完整性确保数据不被篡改,如阻止报告被偷偷修改。可用性让你随时能使用资源,避免在重要演示期间无法访问系统。
对手的特点与防御
对手不是随机的,他们会计划、适应并隐藏踪迹。操作系统安全需要全面、持续的保护措施,因为攻击者会不断寻找新漏洞来窃取、破坏或阻断资源。
常见误区
- 混淆安全与可靠性,认为防故障就够了。
- 忽视对手的适应性和持久性。
运行一个例子
最低标准 C11 · 完整程序 · 下载 .c
#include <stdio.h>
int main(void) {
printf("OS security goals:\nConfidentiality\nIntegrity\nAvailability\n");
return 0;
}
在本地编译
gcc -std=c11 -Wall -Wextra -Wpedantic -Werror ostep-52-dialogue-security.c -o example && ./example预期结果
OS security goals:
Confidentiality
Integrity
Availability
CHECK YOUR UNDERSTANDING
合上答案,试着解释。
发明一个涉及个人照片集的原创场景,并描述操作系统如何提供机密性、完整性和可用性。
查看参考答案
在数字照片库中,操作系统可以通过权限限制文件读取仅限所有者(机密性),使用加密哈希检测图像的任何更改(完整性),并实施备份和公平调度,即使磁盘繁忙也能始终查看照片(可用性)。
继续查证
标准草案与官方章节会更新;版本标记只说明示例最低要求。