主体与对象
A subject requests access to an object.
主体请求访问对象。
主体是主动发起访问的一方,对象是被访问的资源。
主体和对象是相对角色,同一实体在不同请求中可变。
左侧按“英文原文摘录 / 中文直译 / 小白解释 / 考点提醒”拆解,右侧是对应画报。每张画报已内嵌在单 HTML 中,手机端可直接点击放大。
本章从主体、对象、信任、开放系统、安全默认值等基础概念出发,解释安全架构如何被设计、验证和运行。
A subject requests access to an object.
主体请求访问对象。
主体是主动发起访问的一方,对象是被访问的资源。
主体和对象是相对角色,同一实体在不同请求中可变。
Transitive trust can bypass restrictions.
传递信任可能绕过限制。
A 信 B、B 信 C,不代表 A 应该自动信 C。
传递信任是系统集成和 API 调用里的常见风险。
Open systems use standard interfaces.
开放系统使用标准接口。
更容易互操作,但也更容易被外部研究和连接。
开放不等于不安全,封闭也不等于安全。
Closed systems use proprietary components.
封闭系统使用专有组件。
依赖供应商,互操作性可能差,评估难度也可能增加。
vendor lock-in、proprietary 常指向 closed system。
Open source exposes code for review.
开源暴露代码供审查。
更多人能看见问题,也更多人能研究攻击面。
不要假设开源一定安全或闭源一定安全,看审查和维护质量。
Secure defaults reduce configuration risk.
安全默认值降低配置风险。
默认关闭、默认最小权限,比默认全开更安全。
secure by default 常与 deny by default、least privilege 绑定。
安全设计不仅是控制清单,还包括故障时如何处理、系统是否简单、是否持续验证、是否把隐私和访问边缘设计进架构。
Systems should fail securely.
系统应以安全方式失败。
出故障时别让敏感资产暴露或权限失控。
保护人身安全可能 fail-open,保护资产常 fail-closed/fail-secure。
Fail-open protects availability; fail-closed protects assets.
Fail-open 保护可用性,Fail-closed 保护资产。
火灾逃生门要开,金库门故障要锁。
题目要先判断保护对象是人、可用性还是机密性完整性。
Keep it simple and small.
保持简单和小规模。
复杂系统更难审计、更容易配置错。
KISS、DRY、YAGNI 都在减少复杂性和攻击面。
Zero trust requires continuous verification.
零信任要求持续验证。
不因在内网就默认可信,身份、设备、上下文都要检查。
MFA、IAM、微分段、ZTNA 常与 Zero Trust 一起出现。
Privacy should be embedded into design.
隐私应嵌入设计中。
不要上线后再补隐私,需求和架构阶段就要考虑。
默认隐私、透明可见、端到端安全是 PbD 关键词。
SASE combines network and security services.
SASE 结合网络与安全服务。
把 WAN、安全、身份中心访问和云边缘融合起来。
SASE 常与云原生、ZTNA、边缘计算、移动办公场景相关。
为了保护机密性、完整性和可用性,系统要限制进程活动、设置边界、隔离资源,并通过访问控制执行授权。
Confinement restricts a process.
限制用于约束进程。
进程只能在允许范围内活动,不能随便碰别的资源。
sandbox、container、restricted process 常体现 confinement。
Bounds define resource limits.
边界定义资源限制。
内存地址、文件、设备都可被边界约束。
bounds 是限制范围,confinement 是通过边界实现限制。
Isolation separates processes and resources.
隔离分离进程和资源。
虚拟机、容器、进程空间隔离,防止互相干扰。
隔离失败可能导致越权访问或信息泄露。
Access controls enforce authorization.
访问控制执行授权。
先识别主体,再检查权限,再决定允许还是拒绝。
认证确认是谁,授权决定能做什么。
Trust is the presence of a security mechanism.
信任是安全机制或能力的存在。
系统有某个控制机制,表示它被设计为可信。
Trust 更偏机制存在,Assurance 更偏可信程度。
Assurance is confidence in security needs.
保障是对安全需求满足程度的信心。
不仅有控制,还要知道控制可靠、经过评估。
EAL、测试、形式化验证都与 assurance 相关。
可信计算基由硬件、软件和控制组成,负责执行安全策略。参考监控器在主体访问对象前进行验证。
The TCB enforces the security policy.
TCB 执行安全策略。
它是硬件、软件和控制措施组合成的可信基础。
TCB 不是单一组件,而是可信基础集合。
The security perimeter surrounds the TCB.
安全边界包围 TCB。
边界内是可信基础,边界外是不被同等信任的部分。
security perimeter 定义 TCB 与外界交互边界。
The reference monitor validates every access.
参考监控器验证每次访问。
它站在主体和对象之间,决定请求能不能继续。
参考监控器要求:始终调用、不可绕过、足够小可验证。
The security kernel implements the reference monitor.
安全内核实现参考监控器。
参考监控器是概念,安全内核是实现它的组件集合。
kernel 是 implementation,reference monitor 是 abstract concept。
Tokens represent rights or identity.
令牌表示权利或身份。
令牌可携带访问所需的凭据或权限信息。
Tokens、capabilities、labels 都可用于安全模型和访问控制。
Capabilities and labels express access rights.
能力和标签表达访问权利。
能力表偏主体能做什么,标签偏对象和主体的安全级别。
Capability list 是按主体看权限,ACL 是按对象看权限。
安全模型用抽象规则描述系统如何保持安全,包括状态机、信息流、非干扰、Take-Grant、访问控制矩阵和格模型。
A state machine keeps every state secure.
状态机模型保持每个状态安全。
从安全状态经过安全转换,仍然到达安全状态。
secure state、state transition 是状态机关键词。
Information flow models control data movement.
信息流模型控制数据流动。
它关心信息从哪里流到哪里,防止不安全流向。
关注 flow、covert channel、restricted flow 时想到信息流模型。
High actions should not affect low subjects.
高层行为不应影响低层主体。
低级别主体不应能观察或推断高级别主体动作。
noninterference 关键词:high does not interfere with low。
Take and grant rules pass rights.
取用和授权规则传递权利。
Take 是拿权利,Grant 是给权利,还有 Create 和 Remove。
现代权限继承可类比 take-grant 的权利复制。
A matrix lists subjects and objects.
矩阵列出主体和对象。
行是主体,列是对象,交叉格写允许的操作。
列可看作 ACL,行可看作 capability list。
Lattice models use security labels.
格模型使用安全标签。
主体和对象都有级别,按 LUB/GLB 和访问规则控制。
BLP 和 Biba 都是多级安全标签模型的典型例子。
这些模型是考试高频点。最关键是分清它们保护的目标:BLP 保护机密性,Biba 与 Clark-Wilson 保护完整性,Brewer-Nash 处理利益冲突。
Bell-LaPadula protects confidentiality.
Bell-LaPadula 保护机密性。
不能向上读,不能向下写,防秘密泄露到低级别。
No Read Up,No Write Down。
Biba focuses on integrity.
Biba 关注完整性。
不能向下读,不能向上写,防低完整性污染高完整性。
Biba 与 BLP 方向相反:No Read Down,No Write Up。
Clark-Wilson uses a subject-program-object triplet.
Clark-Wilson 使用主体-程序-对象三元组。
用户不能直接改数据,要通过受控程序做良构事务。
商业完整性、Separation of Duties、Well-formed Transaction。
CDIs are protected data items.
CDI 是受保护数据项。
UDI 是不受模型控制或外部输入的数据,需要转换过程处理。
Clark-Wilson 还考 IVP 和 TP。
Brewer-Nash changes access dynamically.
Brewer-Nash 动态改变访问。
根据过去访问决定未来能不能访问,避免利益冲突。
又称 Chinese Wall,但该术语已弃用;核心是 conflict of interest。
The word star appears in multiple contexts.
Star 一词出现在多个上下文。
BLP 的 *-property、Biba 的 *-property、CSA STAR 不是一回事。
看上下文区分模型属性、云安全计划和其他模型。
系统安全不仅要设计,还要被评估和授权运行。Common Criteria 关注产品评估,ATO 关注风险可接受后的运行授权。
Common Criteria defines levels of testing.
通用准则定义多种测试级别。
它评估 IT 产品安全能力,但不是绝对安全保证。
Common Criteria 对应 ISO/IEC 15408。
TOE is the target of evaluation.
TOE 是评估目标。
就是被评估的产品、系统或配置。
TOE 是 Common Criteria 高频缩写。
Protection profiles and security targets guide evaluation.
保护轮廓和安全目标指导评估。
PP 像需求模板,ST 是具体 TOE 的安全目标说明。
PP = customer requirements;ST = vendor TOE claims。
EAL ranges from 1 to 7.
EAL 从 1 到 7。
级别越高,保障和形式化程度越高,成本也越高。
EAL7 是最高,形式化验证设计和测试。
ATO authorizes a system to operate.
ATO 授权系统运行。
授权官员接受一定风险后,允许系统执行业务任务。
ATO 属于 RMF 语境,重点是 acceptable risk。
The AO grants authorization decisions.
授权官员做出授权决定。
AO 有权评估系统、风险和运行授权。
AO 可调整期限,也可要求重新授权。
ATO may require reauthorization.
ATO 可能需要重新授权。
期限到期、系统重大变更或风险变化都可能触发。
典型 ATO 可能三年,但具体由 AO 和风险决定。
信息系统的安全能力包括内存保护、虚拟化、TPM、加密、接口和容错。安全应贯穿需求、设计、部署、运维和退役。
Memory protection prevents unauthorized access.
内存保护防止未授权访问。
一个进程不应随便读取另一个进程的内存。
process isolation 和 memory bounds 是常见考点。
Virtualization separates computing environments.
虚拟化分离计算环境。
虚拟机和管理程序提供隔离,但 hypervisor 本身也要保护。
虚拟化增强隔离,也引入逃逸和管理面风险。
TPM is a cryptoprocessor specification.
TPM 是密码处理器规范。
TPM 常用于本地磁盘加密密钥存储,HSM 可有多种硬件形态。
TPM 是 HSM 的一个例子。
Interfaces define how components interact.
接口定义组件如何交互。
API 如果设计不安全,会成为越权和数据泄露入口。
接口要考虑认证、授权、输入验证和加密。
Fault tolerance avoids single points of failure.
容错避免单点故障。
RAID、集群、冗余服务器都能提高可用性。
fault tolerance 属于安全设计,也关联可用性。
Encryption converts plaintext to ciphertext.
加密把明文转换为密文。
系统能力里也包括对数据机密性和完整性的密码支持。
加密能力要结合密钥管理、性能和生命周期。
Life cycle management is structured and organized.
生命周期管理是结构化、有组织的过程。
从利益相关方需求到退役,每一步都要纳入安全。
安全不是上线后补丁,应在需求和架构阶段设计。