70e368e235
Deploy Examination / deploy (push) Successful in 7s
New topic group: 网络安全专题 (cybersecurity) Subtopics: - web-security: Web 安全基础 (34 questions) - crypto-basics: 密码学基础 (34 questions) - buffer-overflow: 缓冲区溢出与漏洞利用 (34 questions) - os-security: 操作系统安全 (34 questions) - network-attack: 网络攻防 (34 questions) - secure-coding: 安全编程实践 (34 questions) Question types per subtopic: - single_choice × 20 - true_false × 10 - short_answer × 3 - code_reading × 1 Difficulty range: 1-3 (基础)
85 lines
5.2 KiB
JSON
85 lines
5.2 KiB
JSON
{
|
||
"topic": "os-security",
|
||
"type": "short_answer",
|
||
"schema_version": "1.0.0",
|
||
"generated": "2026-09-17T00:00:00+08:00",
|
||
"questions": [
|
||
{
|
||
"id": "sa-001",
|
||
"type": "short_answer",
|
||
"difficulty": 2,
|
||
"tags": [
|
||
"操作系统安全",
|
||
"权限模型"
|
||
],
|
||
"question": "简述 Linux 中 DAC(自主访问控制)、MAC(强制访问控制)和 Capabilities 三种权限机制的区别和适用场景。",
|
||
"answer": "DAC 基于文件所有者自行设置权限(如 rwx 权限位和 ACL),灵活性高但安全性依赖于用户配置,适用于一般桌面和服务器环境。MAC 由系统安全策略统一强制执行,用户无法覆盖(如 SELinux 的安全上下文),适用于高安全需求环境如政府、军事系统。Capabilities 将 root 的超级权限拆分为细粒度的独立特权(如 CAP_NET_BIND_SERVICE),允许进程仅获得所需特权,适用于需要最小特权原则的服务进程和容器环境。三者可组合使用:DAC 作为基础权限控制,MAC 提供强制策略,Capabilities 实现精细特权分配。",
|
||
"keywords": [
|
||
"DAC",
|
||
"MAC",
|
||
"Capabilities",
|
||
"自主访问控制",
|
||
"强制访问控制",
|
||
"SELinux",
|
||
"最小特权",
|
||
"ACL",
|
||
"权限"
|
||
],
|
||
"scoring_rubric": "满分标准:正确区分三种机制(3分);说明 DAC 基于所有者自主控制(1分);说明 MAC 由系统策略强制执行(1分);说明 Capabilities 将 root 权限细粒化(1分);提及各自适用场景(2分);说明三者可组合使用(1分)。部分正确酌情给分。",
|
||
"source": null,
|
||
"related": [],
|
||
"explanation": ""
|
||
},
|
||
{
|
||
"id": "sa-002",
|
||
"type": "short_answer",
|
||
"difficulty": 2,
|
||
"tags": [
|
||
"操作系统安全",
|
||
"沙箱"
|
||
],
|
||
"question": "解释 Linux 容器技术中 Namespace 和 Cgroup 各自的作用,并说明它们如何协同工作实现容器的安全隔离。",
|
||
"answer": "Namespace 负责资源隔离:每种 Namespace(PID、NET、MNT、UTS、IPC、USER、Cgroup)隔离一类系统资源,使容器内的进程只能看到属于该容器命名空间的资源,如同拥有独立的系统视图。Cgroup(Control Groups)负责资源限制:通过配置文件限制进程组可使用的 CPU 时间、内存、磁盘 I/O、网络带宽等资源上限,防止单个容器耗尽宿主机资源。两者协同工作:Namespace 提供'看不见彼此'的隔离,Cgroup 提供'用不了太多'的限制。同时结合 seccomp 限制系统调用、AppArmor/SELinux 提供强制访问控制,构成完整的容器安全体系。",
|
||
"keywords": [
|
||
"Namespace",
|
||
"Cgroup",
|
||
"隔离",
|
||
"资源限制",
|
||
"PID",
|
||
"NET",
|
||
"容器",
|
||
"seccomp"
|
||
],
|
||
"scoring_rubric": "满分标准:正确描述 Namespace 的隔离作用(2分);列举至少 3 种 Namespace 类型(1分);正确描述 Cgroup 的资源限制作用(2分);说明两者的协同关系(2分);提及额外的安全层如 seccomp(1分)。部分正确酌情给分。",
|
||
"source": null,
|
||
"related": [],
|
||
"explanation": ""
|
||
},
|
||
{
|
||
"id": "sa-003",
|
||
"type": "short_answer",
|
||
"difficulty": 3,
|
||
"tags": [
|
||
"操作系统安全",
|
||
"windows安全",
|
||
"win32api"
|
||
],
|
||
"question": "描述 Windows 安全子系统在一次文件访问请求中的完整检查流程,包括涉及的关键组件(如 Access Token、Security Descriptor、DACL 等)。",
|
||
"answer": "当进程尝试访问一个文件时,Windows 安全子系统的检查流程如下:1)进程调用如 CreateFile() 的 Win32 API;2)内核安全引用监视器(Security Reference Monitor)介入;3)系统获取进程的 Access Token(包含用户 SID、组 SID 列表和特权);4)获取文件的 Security Descriptor(包含 Owner SID、DACL 和 SACL);5)安全引用监视器遍历 DACL 中的 ACE(访问控制条目),将请求的访问掩码与每个 ACE 中的允许/拒绝权限进行匹配;6)如果遇到拒绝 ACE 立即拒绝;如果所有匹配的 ACE 都允许则放行;如果没有匹配的 ACE 且 DACL 不存在则拒绝(NULL DACL 除外,此时允许所有人完全访问);7)若 SACL 中有审计条目,生成安全审计事件;8)检查进程特权(如 SeBackupPrivilege 可绕过部分 DACL 检查);9)返回允许或拒绝的结果给调用者。",
|
||
"keywords": [
|
||
"Access Token",
|
||
"Security Descriptor",
|
||
"DACL",
|
||
"SACL",
|
||
"ACE",
|
||
"Security Reference Monitor",
|
||
"SID",
|
||
"访问掩码"
|
||
],
|
||
"scoring_rubric": "满分标准:提及安全引用监视器(1分);正确描述 Access Token 的内容和作用(2分);正确描述 Security Descriptor 及其组成(2分);说明 DACL/ACE 的匹配逻辑(拒绝优先)(2分);提及 SACL 审计功能(1分);提及特权检查(1分);流程描述完整连贯(1分)。部分正确酌情给分。",
|
||
"source": null,
|
||
"related": [],
|
||
"explanation": ""
|
||
}
|
||
]
|
||
} |