OSG10 · Chapter 20 · Software Development Security · 全文覆盖 + 小白精读 + 画报

第 20 章:软件开发安全

这不是提炼版。本页按 PDF 第 1324-1394 页连续覆盖第 20 章内容,每个学习单元都包含教材原文段落、PDF 中文直译/整理、小白解释、考点提醒和对应画报。

71个连续学习单元
4格原文 / 直译 / 解释 / 考点
71页覆盖第20章正文与章末练习
小白先讲人话,再做题
学习单元 01 / PDF P1324

本章考试范围总览

先知道本章会覆盖哪些考试目标,后面每个概念才知道放在哪个知识域。

教材原文段落

THE CISSP TOPICS COVERED IN THIS CHAPTER INCLUDE: Domain 3.0: Security Architecture and Engineering 3.5 Assess and mitigate the vulnerabilities of security architectures, designs, and solution elements 3.5.3 Database systems Domain 8.0: Software Development Security 8.1 Understand and integrate security in the Software Development Life Cycle (SDLC) 8.1.1 Development methodologies (e.g., Agile, Waterfall, DevOps, DevSecOps, Scaled Agile Framework) 8.1.2 Maturity models (e.g., Capability Maturity Model (CMM), Software Assurance Maturity Model (SAMM)) 8.1.3 Operation and maintenance 8.1.4 Change management 8.1.5 Integrated Product Team 8.2 Identify and apply security controls in software development ecosystems 8.2.1 Programming languages 8.2.2 Libraries 8.2.3 Tool sets 8.2.4 Integrated Development Environment 8.2.5 Runtime 8.2.6 Continuous Integration and Continuous Delivery (CI/CD) 8.2.7 Software Configuration Management (CM) 8.2.8 Code repositories 8.3 Assess the effectiveness of software security 8.3.1 Auditing and logging of changes 8.4 Assess security impact of acquired software

中文直译 / 整理

本章涵盖的CISSP主题包括: 领域3.0:安全架构与工程 3.5 评估并缓解安全架构、设计和解决方案元素的漏洞 3.5.3 数据库系统 领域8.0:软件开发安全 8.1 理解并在软件开发生命周期(SDLC)中集成安全 8.1.1 开发方法论(例如,敏捷、瀑布、DevOps、DevSecOps、 规模化敏捷框架) 8.1.2 成熟度模型(例如,能力成熟度模型(CMM)、软件保证 成熟度模型(SAMM)) 8.1.3 运营与维护 8.1.4 变更管理 8.1.5 集成产品团队 8.2 在软件开发生态系统中识别并应用安全控制措施 8.2.1 编程语言 8.2.2 库 8.2.3 工具集 8.2.4 集成开发环境 8.2.5 运行时 8.2.6 持续集成和持续交付(CI/CD) 8.2.7 软件配置管理(CM) 8.2.8 代码存储库 8.3 评估软件安全的有效性 8.3.1 变更的审计与日志记录 8.4 评估所购软件的安全影响

小白解释

场景先行:新员工入职后要登录系统。第一步是声明身份,第二步证明身份,第三步决定能访问哪些数据,最后系统要记录他做了什么。IAM 题就是围绕这条链条出题。

这一页真正想让你理解的是:先知道本章会覆盖哪些考试目标,后面每个概念才知道放在哪个知识域。

把它放进公司里看,关键不是背定义,而是判断:认证成功不代表什么都能做;离职、调岗、权限漂移都会造成越权。

你作为负责人可以这样想:把识别、认证、授权、审计分开看,再用最小权限和定期复核收口。

本页术语用人话说:

审计:审计记录主体行为,用于追责、复盘和取证。

OSI 模型:OSI 用七层结构理解网络通信,从物理层到应用层。

审计:审计检查控制是否存在、是否有效、是否符合要求。

日志:日志记录系统和用户活动,用于监控、审计和调查。

常见误区:不要把 authentication 和 authorization 混成一件事:前者证明你是谁,后者决定你能干什么。

读完后用一句话复述:如果我是IAM 管理员,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“本章考试范围总览”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是IAM 管理员在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

没有日志和身份绑定,就很难问责。

网络题先定位层次,再判断协议、设备或攻击位置。

审计题关注独立性、证据、范围和报告。

日志要保护完整性、时间同步和访问控制。

安全越早进入 SDLC,修复成本越低。

排除法提醒:不要把 authentication 和 authorization 混成一件事:前者证明你是谁,后者决定你能干什么。

本页术语拆解
审计 审计记录主体行为,用于追责、复盘和取证。
OSI 模型 OSI 用七层结构理解网络通信,从物理层到应用层。
审计 审计检查控制是否存在、是否有效、是否符合要求。
日志 日志记录系统和用户活动,用于监控、审计和调查。
软件开发生命周期 SDLC 把需求、设计、开发、测试、部署和维护串起来。
开发安全运营一体化 DevSecOps 把安全自动化嵌入开发和交付流程。
学习单元 02 / PDF P1325

第三方治理:外包不外包责任

供应商也要被合同、审计、评估和持续监控管理起来。

教材原文段落

8.4.1 Commercial-off-the-shelf (COTS) 8.4.2 Open source 8.4.3 Third-party 8.5 Define and apply secure coding guidelines and standards 8.5.2 Security of application programming interfaces (API) 8.5.3 Secure coding practices 8.5.4 Software-defined security Software development is a complex and challenging task undertaken by developers with many different skill levels and varying levels of security awareness. Applications created and modified by these developers often work with sensitive data and interact with members of the general public.

That means that applications can present significant risks to enterprise security, and information security professionals must understand these risks, balance them with business requirements, and implement appropriate risk mitigation mechanisms. Introducing Systems Development Controls Many organizations use custom-developed software to achieve their unique business objectives. These custom solutions can present great security vulnerabilities as a result of malicious and/or careless developers who create backdoors, buffer overflow vulnerabilities, or other weaknesses that can leave a system open to exploitation by malicious individuals.

To protect against these vulnerabilities, it's vital to introduce security controls into the entire system's development life cycle. An organized, methodical process helps ensure that solutions meet functional requirements as well as security guidelines. The following sections explore the spectrum of systems development activities with an eye toward security concerns that should be foremost on the mind of any information security professional engaged in solutions development. Software Development Security should be a consideration at every stage of a system's development, including the software development process. Programmers should strive to 8.4.1

中文直译 / 整理

商用现成产品(COTS) 8.4.2 开源 8.4.3 第三方 8.5 定义并应用安全编码指南和标准 8.5.2 应用程序编程接口(API)的安全性 8.5.3 安全编码实践 8.5.4 软件定义安全 软件开发是一项由具有不同技能水平和安全意识的开发人员承担的复杂且具有 挑战性的任务。 这些开发人员创建和修改的应用程序通常处理敏感数据,并与 普通公众互动。 这意味着应用程序可能对企业的安全构成重大风险,信息安全 专业人员必须理解这些风险,平衡其与业务需求,并实施适当的缓解机制。 引入系统开发控制 许多组织使用定制开发的软件来实现其独特的业务目标。 这些定制解决方案可 能因恶意或疏忽的开发人员而存在严重的安全漏洞,例如创建后门、缓冲区溢 出漏洞或其他弱点,从而使系统容易受到恶意人员的利用。 为防范这些漏洞,必须在系统的整个开发生命周期中引入安全控制。 一个有组 织、系统化的过程有助于确保解决方案既满足功能需求,又符合安全规范。 以 下章节将探讨系统开发活动的各个方面,重点关注任何参与解决方案开发的信 息安全专业人员应始终优先考虑的安全问题。 软件开发 安全应成为系统开发每个阶段的考虑因素,包括软件开发过程。 程序员应努力

小白解释

场景先行:你是公司的安全负责人,正在读第 1325 页这一组概念。老板不会问你背定义,而是问:这件事会不会影响业务、谁负责、要不要花钱、出了事能不能解释清楚。

这一页真正想让你理解的是:供应商也要被合同、审计、评估和持续监控管理起来。

把它放进公司里看,关键不是背定义,而是判断:概念没放进业务场景,容易只背词,做题时不知道该选管理动作还是技术动作。

你作为负责人可以这样想:先确认业务目标和风险,再选控制措施,最后留下政策、审批、日志或证据。

本页术语用人话说:

标准:标准给出必须满足的最低要求。

指南:指南是建议做法,不一定强制。

程序:程序是一步一步怎么做。

常见误区:不要一看到安全题就直接选最强工具;CISSP 更常考“在这个场景下谁该负责、下一步是什么”。

读完后用一句话复述:如果我是安全负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“第三方治理:外包不外包责任”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是安全负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

Minimum level、mandatory requirement 常对应 standard。

Recommended、not compulsory 常对应 guideline。

Step-by-step、SOP 常对应 procedure。

排除法提醒:不要一看到安全题就直接选最强工具;CISSP 更常考“在这个场景下谁该负责、下一步是什么”。

本页术语拆解
标准 标准给出必须满足的最低要求。
指南 指南是建议做法,不一定强制。
程序 程序是一步一步怎么做。
学习单元 03 / PDF P1326

第 1326 页学习单元

这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

教材原文段落

build security into every application they develop, with greater levels of security provided to critical applications and those that process sensitive information. It's extremely important to consider the security implications of a software development project from the early stages because it's much easier to build security into a system than it is to add security to an existing system. Programming Languages As you probably know, software developers use programming languages to develop software code. You might not know that several types of languages can be used simultaneously by the same system.

This section takes a brief look at the different types of programming languages and the security implications of each. Computers understand binary code. They speak a language of 1s and 0s, and that's it. The instructions that a computer follows consist of a long series of binary digits in a language known as machine language. Each central processing unit (CPU) chipset has its own machine language, and it's virtually impossible for a human being to decipher anything but the simplest machine language code without the assistance of specialized software.

Assembly language is a higher-level alternative that uses mnemonics to represent the basic instruction set of a CPU, but it still requires hardware-specific knowledge of a relatively obscure language. It also requires a large amount of tedious programming; a task as simple as adding two numbers together could take five or six lines of assembly code! Programmers don't want to write their code in either machine language or assembly language. They prefer to use high-level languages, such as Python, C, C#, C++, Ruby, R, Java, and Visual Basic.

These languages allow programmers to write instructions that better approximate human communication, decrease the length of time needed to craft an application, possibly decrease the number of programmers needed on a project, and allow some portability between different operating systems and hardware platforms. Once programmers are ready to execute their programs, two options are available to them: compilation and interpretation. Some languages (such as C, Java, and Fortran) are compiled languages.

When using a compiled language, the programmer uses a tool known as a compiler to convert source code from a higher-level language into an executable file designed for use on a specific operating system. This executable is then distributed to end users, who may use it as they see fit. Generally speaking,

中文直译 / 整理

将安全融入他们开发的每个应用程序中,对关键应用程序以及处理敏感信息的 应用程序提供更高水平的安全保护。 从早期阶段就考虑软件开发项目的安全影 响极为重要,因为在系统中内置安全比在现有系统中添加安全要容易得多。 编程语言 正如您可能知道的,软件开发人员使用编程语言来开发软件代码。 您可能不 知道,同一个系统可以同时使用多种类型的编程语言。 本节将简要介绍不同 类型的编程语言及其各自的安全影响。 计算机理解二进制代码。 它们只使用由1和0组成的语言进行通信。 计算机执行 的指令由一长串二进制数字组成,这种语言称为机器语言。 每个中央处理器 (CPU)芯片组都有其专属的机器语言,人类几乎不可能在没有专用软件辅助 的情况下解读任何复杂的机器语言代码。 汇编语言是一种更高层次的替代方案, 它使用助记符来表示CPU的基本指令集,但仍需要对这种相对晦涩的语言具备 硬件相关的知识。 此外,它还需要大量繁琐的编程工作; 即使是像将两个数字 相加这样简单的任务,也可能需要五到六行汇编代码! 程序员不希望用机器语言或汇编语言编写代码。

他们更喜欢使用高级语言,例 如 Python、C、C#、C++、Ruby、R、Java 和 Visual Basic。 这些语言使程 序员能够编写更接近人类交流的指令,缩短开发应用程序所需的时间,可能减 少项目所需的程序员数量,并允许在不同操作系统和硬件平台之间实现一定程 度的可移植性。 当程序员准备运行程序时,他们有两个选择:编译和解释。 某些语言(如 C、Java 和 Fortran)是编译型语言。 使用编译型语言时,程序 员使用一种称为 编译器 的工具,将源代码从高级语言转换为专为特定操作系统 设计的可执行文件。 然后,该可执行文件分发给最终用户,他们可以根据自己 的需求使用它。 一般来说,

小白解释

场景先行:员工在家访问公司系统,流量要穿过家庭网络、互联网、防火墙、VPN、服务器。网络安全题就是让你判断问题发生在哪一层、用哪个控制放在什么位置。

这一页真正想让你理解的是:这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

把它放进公司里看,关键不是背定义,而是判断:不分层就会乱选设备:该加密的地方装防火墙,该监测的地方却只做访问控制。

你作为负责人可以这样想:先定位网络层次,再决定是分段、过滤、加密、检测还是阻断。

本页术语用人话说:

程序:程序是一步一步怎么做。

入侵防御系统 IPS:IPS 可检测并主动阻断恶意流量。

强制访问控制 MAC:MAC 由系统根据标签和级别强制决定访问。

常见误区:不要以为防火墙能解决所有网络问题;它只是控制流量的一类工具。

读完后用一句话复述:如果我是网络安全工程师,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“第 1326 页学习单元”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是网络安全工程师在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

Step-by-step、SOP 常对应 procedure。

IPS 放在线路中,误报可能影响可用性。

政府/军方、机密级别、标签、不可由用户随意改通常是 MAC。

排除法提醒:不要以为防火墙能解决所有网络问题;它只是控制流量的一类工具。

本页术语拆解
程序 程序是一步一步怎么做。
入侵防御系统 IPS IPS 可检测并主动阻断恶意流量。
强制访问控制 MAC MAC 由系统根据标签和级别强制决定访问。
学习单元 04 / PDF P1327

第 1327 页学习单元

这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

教材原文段落

it's not possible to directly view or modify the software instructions in an executable file. However, specialists in the field of reverse engineering may be able to reverse the compilation process with the assistance of tools known as decompilers and disassemblers. Decompilers attempt to take binary executables and convert them back into source code form, whereas disassemblers convert back into machine-readable assembly language (an intermediate step during the compilation process).

These tools are particularly useful when you're performing malware analysis or competitive intelligence and you're attempting to determine how an executable file works without access to the underlying source code. Code protection techniques seek to either prevent or impede the use of decompilers and disassemblers through a variety of techniques. For example, obfuscation techniques seek to modify executables to make it more difficult to retrieve intelligible code from them. In some cases, languages rely on runtime environments to allow the portable execution of code across different operating systems. The Java virtual machine (JVM) is a well-known example of this type of runtime.

Users install the JVM runtime on their systems and may then rely on that runtime to execute compiled Java code. Other languages (such as Python, R, JavaScript, and VBScript) are interpreted languages. When these languages are used, the programmer distributes the source code, which contains instructions in the higher-level language. When end users execute the program on their systems, that automatically triggers the use of an interpreter to execute the source code stored on the system. If the user opens the source code file, they're able to view the original instructions written by the programmer. Each approach has security advantages and disadvantages.

Compiled code is generally less prone to manipulation by a third party. However, it's also easier for a malicious (or unskilled) programmer to embed backdoors and other security flaws in the code and escape detection because the original instructions can't be viewed by the end user. Interpreted code, however, is less prone to the undetected insertion of malicious code by the original programmer because the end user may view the code and check it for accuracy. On the other hand, everyone who touches the software has the ability to modify the programmer's original instructions and possibly embed malicious code in the interpreted software.

You'll learn more about the exploits malicious actors use to undermine software in the section

中文直译 / 整理

无法直接查看或修改可执行文件中的软件指令。 然而,逆向工程领域的专家可 能借助称为 反编译器 和 反汇编器 的工具,能够逆转编译过程。 反编译器试图 将二进制可执行文件转换回源代码形式,而反汇编器则将其转换回机器可读的 汇编语言(编译过程中的一个中间步骤)。 当您进行恶意软件分析或竞争情报 工作,并试图在无法访问底层源代码的情况下确定可执行文件的工作原理时, 这些工具尤其有用。 代码保护技术通过多种手段试图阻止或阻碍反编译器和反 汇编器的使用。 例如,混淆技术旨在修改可执行文件,使其更难以从中提取可 理解的代码。 在某些情况下,语言依赖于运行时环境来实现代码在不同操作系统上的可移植 执行。 Java虚拟机(JVM)是这种类型运行时的一个知名示例。 用户在其系统 上安装JVM运行时,然后可以依赖该运行时来执行已编译的Java代码。 其他语言(如Python、R、JavaScript和VBScript)是解释型语言。 当使用这 些语言时,程序员分发包含高级语言指令的源代码。 当最终用户在他们的系统 上运行程序时,会自动触发解释器来执行存储在系统上的源代码。 如果用户打 开源代码文件,他们就可以查看程序员编写的原始指令。

每种方法都有其安全优势和劣势。 编译后的代码通常较不容易被第三方篡改。 然而,恶意(或技术不佳)的程序员更容易在代码中嵌入后门和其他安全漏洞, 并逃避检测,因为最终用户无法查看原始指令。 相比之下,解释型代码较不容 易被原始程序员悄悄植入恶意代码,因为最终用户可以查看代码并检查其准确 性。 另一方面,任何接触该软件的人都有能力修改程序员的原始指令,并可能 在解释型软件中嵌入恶意代码。 您将在以下章节中了解更多关于恶意行为者用 来破坏软件的攻击手段:

小白解释

场景先行:开发团队要上线登录功能。安全不是上线前扫一下漏洞,而是从需求、设计、编码、测试、发布到运维都要参与。

这一页真正想让你理解的是:这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

把它放进公司里看,关键不是背定义,而是判断:安全太晚介入,修复成本高,还可能把漏洞带到生产环境。

你作为负责人可以这样想:在 SDLC 早期做威胁建模、代码审查、测试和发布控制。

本页术语用人话说:

程序:程序是一步一步怎么做。

强制访问控制 MAC:MAC 由系统根据标签和级别强制决定访问。

恶意代码:恶意代码包括病毒、蠕虫、木马、勒索软件等。

常见误区:不要只靠上线前一次扫描;安全要嵌入整个生命周期。

读完后用一句话复述:如果我是应用安全负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“第 1327 页学习单元”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是应用安全负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

Step-by-step、SOP 常对应 procedure。

政府/军方、机密级别、标签、不可由用户随意改通常是 MAC。

防恶意代码要结合补丁、最小权限、检测、备份和用户培训。

排除法提醒:不要只靠上线前一次扫描;安全要嵌入整个生命周期。

本页术语拆解
程序 程序是一步一步怎么做。
强制访问控制 MAC MAC 由系统根据标签和级别强制决定访问。
恶意代码 恶意代码包括病毒、蠕虫、木马、勒索软件等。
学习单元 05 / PDF P1328

安全控制框架:用成熟框架组织安全

框架帮助组织系统化管理控制,而不是想到哪做到哪。

教材原文段落

“Application Attacks” in Chapter 21, “Malicious Code and Application Attacks.” Libraries Developers often rely on shared software libraries that contain reusable code. These libraries perform a variety of functions, ranging from text manipulation to machine learning, and are a common way for developers to improve their efficiency. After all, there's no need to write your own code to sort a list of items when you can just use a standard sorting library to do the work for you. Many of these libraries are available as open-source projects, whereas others may be commercially sold or maintained internally by a company.

Over the years, the use of shared libraries has resulted in many security issues. One of the most well-known and damaging examples of this is the Heartbleed vulnerability (CVE-2014-0160) that struck the OpenSSL library in 2014. The OpenSSL library is a very widely used implementation of Secure Sockets Layer (SSL) and Transport Layer Security (TLS) protocols that was incorporated into thousands of other systems. In many cases, users of those systems had no idea that they were also using OpenSSL because of this incorporation. When the Heartbleed bug affected OpenSSL libraries, administrators around the world had to scramble to identify and update OpenSSL installations.

To protect against similar vulnerabilities, developers should be aware of the origins of their shared code and keep abreast of any security vulnerabilities that might be discovered in libraries that they use. This doesn't mean that shared libraries are inherently bad. In fact, it's difficult to imagine a world where shared libraries aren't widely used. It simply calls for vigilance and attention from software developers and cybersecurity professionals. Development Tool Sets Developers use a variety of tools to help them in their work. Most important among these is the integrated development environment (IDE).

IDEs provide programmers with a single environment where they can write their code, test it, debug it, and compile it (if applicable). The IDE simplifies the integration of these tasks, and the choice of an IDE is a personal decision for many developers. “

中文直译 / 整理

应用程序攻击”在 第21章,“恶意代码与应用程序攻击。 ” 库 开发人员通常依赖包含可重用代码的共享软件库。 这些库执行各种功能,从文 本处理到机器学习,是开发人员提高效率的常用方式。 毕竟,当你可以直接使 用标准排序库来完成列表排序工作时,就没有必要自己编写代码来排序了。 许多这些库作为开源项目提供,而其他一些则可能商业销售或由公司内部维护。 多年来,共享库的使用导致了许多安全问题。 其中最著名且破坏性最大的例子 之一是2014年影响OpenSSL库的Heartbleed漏洞(CVE‑2014‑0160)。 OpenSSL库是安全套接层(SSL)和传输层安全(TLS)协议的广泛使用实现, 被集成到数千个其他系统中。 在许多情况下,这些系统的用户并不知道他们也 在使用OpenSSL,因为这种集成。 当Heartbleed漏洞影响到OpenSSL库时, 全球的管理员不得不紧急查找并更新OpenSSL安装。 为了防范类似的漏洞,开发人员应了解其共享代码的来源,并及时掌握所使 用库中可能发现的安全漏洞。 这并不意味着共享库本质上是坏的。 事实上, 很难想象一个没有广泛使用共享库的世界。

这仅仅要求软件开发人员和网络 安全专业人员保持警惕和关注。 开发工具集 开发者使用各种工具来辅助他们的工作。 其中最重要的是集成开发环境(I DE)。 IDE 为程序员提供了一个单一的环境,他们可以在其中编写代码、测试 代码、调试代码并编译代码(如适用)。 IDE 简化了这些任务的集成,而 IDE 的选择对许多开发者来说是一个个人决定。

小白解释

场景先行:机房断电,业务部门问多久能恢复、最多会丢多少数据。BCP/DRP 不是背缩写,而是把业务能承受的中断时间和数据损失说清楚。

这一页真正想让你理解的是:框架帮助组织系统化管理控制,而不是想到哪做到哪。

把它放进公司里看,关键不是背定义,而是判断:只做备份但没测试,真正灾难时可能恢复不了。

你作为负责人可以这样想:先做业务影响分析,再定 RTO/RPO,最后设计备份、冗余和演练。

本页术语用人话说:

NIST:NIST 提供美国常用安全标准、框架和指南。

标准:标准给出必须满足的最低要求。

程序:程序是一步一步怎么做。

强制访问控制 MAC:MAC 由系统根据标签和级别强制决定访问。

常见误区:RTO 问时间,RPO 问数据;这两个不要混。

读完后用一句话复述:如果我是业务连续性负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“安全控制框架:用成熟框架组织安全”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是业务连续性负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

看到 SP 800 系列、CSF、RMF 常联想到 NIST。

Minimum level、mandatory requirement 常对应 standard。

Step-by-step、SOP 常对应 procedure。

政府/军方、机密级别、标签、不可由用户随意改通常是 MAC。

RPO 问数据:最多丢到哪个时间点。

排除法提醒:RTO 问时间,RPO 问数据;这两个不要混。

本页术语拆解
NIST NIST 提供美国常用安全标准、框架和指南。
标准 标准给出必须满足的最低要求。
程序 程序是一步一步怎么做。
强制访问控制 MAC MAC 由系统根据标签和级别强制决定访问。
恢复点目标 RPO RPO 是最多能接受丢失多少时间范围的数据。
恶意代码 恶意代码包括病毒、蠕虫、木马、勒索软件等。
学习单元 06 / PDF P1329

第 1329 页学习单元

这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

教材原文段落

Figure 20.1 shows an example of the open-source RStudio Desktop IDE used with the R programming language. FIGURE 20.1 RStudio Desktop IDE Object-Oriented Programming Many modern programming languages, such as C++, Java, and the .NET languages, support the concept of object-oriented programming (OOP). Other programming styles, such as functional programming and scripting, focus on the flow of the program itself and attempt to model the desired behavior as a series of steps. OOP focuses on the objects involved in an interaction. You can think of it as a group of objects that can be requested to perform certain operations or exhibit certain behaviors.

Objects work together to provide a system's functionality or capabilities. OOP has the potential to be more reliable and able to reduce the propagation of program change errors. As a type of programming method, it is better suited to modeling or mimicking the real world. For example, a banking program might have three object classes that correspond to accounts, account holders, and employees, respectively.

中文直译 / 整理

图 20.1展示了使用 R 编程语言的开源 RStudio Desktop IDE 的示例。 图 20.1 RStudio Desktop IDE 面向对象编程 许多现代编程语言,例如 C++、Java 和 .NET 语言,都支持面向对象编程( OOP)的概念。 其他编程风格,如函数式编程和脚本编程,则侧重于程序本身 的流程,并试图将所需行为建模为一系列步骤。 OOP 关注的是交互中涉及的对 象。 你可以将其理解为一组对象,它们可以被请求执行特定操作或表现出特定 行为。 对象协同工作以提供系统的功能或能力。 OOP 有可能更加可靠,并能减 少程序更改错误的传播。 作为一种编程方法,它更适合对现实世界进行建模或 模拟。 例如,一个银行程序可能包含三个对象类,分别对应账户、账户持有人 和员工。

小白解释

场景先行:你是公司的安全负责人,正在读第 1329 页这一组概念。老板不会问你背定义,而是问:这件事会不会影响业务、谁负责、要不要花钱、出了事能不能解释清楚。

这一页真正想让你理解的是:这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

把它放进公司里看,关键不是背定义,而是判断:概念没放进业务场景,容易只背词,做题时不知道该选管理动作还是技术动作。

你作为负责人可以这样想:先确认业务目标和风险,再选控制措施,最后留下政策、审批、日志或证据。

本页术语用人话说:

程序:程序是一步一步怎么做。

常见误区:不要一看到安全题就直接选最强工具;CISSP 更常考“在这个场景下谁该负责、下一步是什么”。

读完后用一句话复述:如果我是安全负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“第 1329 页学习单元”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是安全负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

Step-by-step、SOP 常对应 procedure。

排除法提醒:不要一看到安全题就直接选最强工具;CISSP 更常考“在这个场景下谁该负责、下一步是什么”。

本页术语拆解
程序 程序是一步一步怎么做。
学习单元 07 / PDF P1330

保护机制:分层、隐藏、加密和边界

单一控制不够,安全靠多个机制配合。

教材原文段落

When a new account is added to the system, a new instance, or copy, of the appropriate object is created to contain the details of that account. Each object in the OOP model has methods that correspond to specific actions that can be taken on the object. For example, the account object can have methods to add funds, deduct funds, close the account, and transfer ownership. Objects can also be subclasses of other objects and inherit methods from their parent class. For example, the account object may have subclasses that correspond to specific types of accounts, such as savings, checking, mortgages, and auto loans.

The subclasses can use all the methods of the parent class and have additional class-specific methods. For example, the checking object might have a method called write_check(), whereas the other subclasses do not. From a security point of view, object-oriented programming provides a blackbox approach to abstraction. Users need to know the details of an object's interface (generally the inputs, outputs, and actions that correspond to each of the object's methods) but don't necessarily need to know the inner workings of the object to use it effectively.

To provide the desired characteristics of object-oriented systems, the objects are encapsulated (selfcontained), and they can be accessed only through specific messages (in other words, input). Objects can also exhibit the substitution property, which allows different objects providing compatible operations to be substituted for each other. Here are some common object-oriented programming terms you might come across in your work: Message A message is a communication to or input of an object. Method A method is internal code that defines the actions an object performs in response to a message. Behavior The results or output exhibited by an object is a behavior.

Behaviors are the results of a message being processed through a method. Class A class is a collection of the common methods from a set of objects that defines the behavior of those objects. Instance Objects are instances of or examples of classes that contain their methods.

中文直译 / 整理

当向系统添加新账户时,会创建相应对象的一个新实例(或副本),以存储该账 户的详细信息。 OOP 模型中的每个对象都具有对应于可对对象执行的特定操作的方法。 例如, 账户对象可以具有添加资金、扣除资金、关闭账户和转移所有权的方法。 对象也可以是其他对象的子类,并从其父类继承方法。 例如,账户对象可能具 有对应于特定类型账户的子类,如储蓄账户、支票账户、抵押贷款和汽车贷款。 子类可以使用父类的所有方法,并具有额外的特定于类的方法。 例如,支票对 象可能具有一个名为 write_check() 的方法,而其他子类则没有。 从安全角度来看,面向对象编程提供了黑盒式的抽象方法。 用户需要了解对象 接口的详细信息(通常是与对象每个方法相对应的输入、输出和操作),但不 一定需要了解对象的内部工作原理即可有效使用它。 为了提供面向对象系统的 期望特性,对象被封装(自包含),并且只能通过特定的消息(即输入)进行 访问。 对象还可以表现出替换属性,允许提供兼容操作的不同对象相互替换。 以下是您在工作中可能会遇到的一些常见面向对象编程术语: 消息 消息是对对象的通信或输入。 方法 方法是定义对象在响应消息时所执行操作的内部代码。

行为 对象表现出的结果或输出称为行为。 行为是消息通过方法处理后的结果。 类 类是一组对象的公共方法的集合,用于定义这些对象的行为。 实例 对象是类的实例或示例,包含其方法。

小白解释

场景先行:你是公司的安全负责人,正在读第 1330 页这一组概念。老板不会问你背定义,而是问:这件事会不会影响业务、谁负责、要不要花钱、出了事能不能解释清楚。

这一页真正想让你理解的是:单一控制不够,安全靠多个机制配合。

把它放进公司里看,关键不是背定义,而是判断:概念没放进业务场景,容易只背词,做题时不知道该选管理动作还是技术动作。

你作为负责人可以这样想:先确认业务目标和风险,再选控制措施,最后留下政策、审批、日志或证据。

本页术语用人话说:

抽象:抽象把复杂细节藏在接口后,只暴露必要功能。

常见误区:不要一看到安全题就直接选最强工具;CISSP 更常考“在这个场景下谁该负责、下一步是什么”。

读完后用一句话复述:如果我是安全负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“保护机制:分层、隐藏、加密和边界”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是安全负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

对象、角色、组、接口都可能体现 abstraction。

排除法提醒:不要一看到安全题就直接选最强工具;CISSP 更常考“在这个场景下谁该负责、下一步是什么”。

本页术语拆解
抽象 抽象把复杂细节藏在接口后,只暴露必要功能。
学习单元 08 / PDF P1331

安全控制框架:用成熟框架组织安全

框架帮助组织系统化管理控制,而不是想到哪做到哪。

教材原文段落

Inheritance Inheritance occurs when methods from a class (parent or superclass) are inherited by another subclass (child) or object. Delegation Delegation is the forwarding of a request by an object to another object or delegate. An object delegates if it does not have a method to handle the message. Polymorphism A polymorphism is the characteristic of an object that allows it to respond with different behaviors to the same message or method because of changes in external conditions. Cohesion Cohesion describes the strength of the relationship between the purposes of the methods within the same class.

When all the methods have similar purposes, there is high cohesion, a desirable condition that promotes good software design principles. When the methods of a class have low cohesion, this is a sign that the system is not well designed. Coupling Coupling is the level of interaction between objects. Lower coupling means less interaction. Lower coupling provides better software design because objects are more independent. Lower coupling is easier to troubleshoot and update. Objects that have low cohesion require lots of assistance from other objects to perform tasks and have high coupling.

If you're interested in learning more about the difference between cohesion and coupling, see http://ducmanhphan.github.io/2019-03-23-Coupling-and-Cohension-inOOP. Assurance To ensure that the security control mechanisms built into a new application properly implement the security policy throughout the life cycle of the system, administrators use assurance procedures. Assurance procedures are simply formalized processes by which trust is built into the life cycle of a system. The Common Criteria provide a standardized approach to assurance used in government settings.

For more information on assurance and the Common Criteria, see Chapter 8, “Principles of Security Models, Design, and Capabilities.” Avoiding and Mitigating System Failure

中文直译 / 整理

继承 继承是指一个类(父类或超类)的方法被另一个子类(子类)或对象继承。 委托 委托是指一个对象将请求转发给另一个对象或委托者。 如果一个对象没有 处理该消息的方法,它就会进行委托。 多态性 多态性是对象的一种特性,它允许对象在外部条件变化时,对同一消息 或方法做出不同的行为响应。 内聚性 内聚性描述了同一类中各方法目的之间的关联强度。 当所有方法具有相 似的目的时,称为高内聚,这是一种促进良好软件设计原则的理想状态。 当一个 类的方法内聚性较低时,表明系统设计不佳。 耦合 耦合是指对象之间的交互程度。 耦合越低,交互越少。 较低的耦合有助 于实现更好的软件设计,因为对象更加独立。 低耦合更易于排查问题和更新。 内聚性低的对象需要大量其他对象的协助才能完成任务,因此具有高耦合。 如果您想进一步了解内聚性与耦合之间的区别,请参阅 http://ducmanhphan.github.io/2019-03-23-Coupling-and-Cohension-inOOP. 保证 为确保新应用程序中内置的安全控制机制在整个系统生命周期中正确实施安全 策略,管理员使用保证程序。 保证程序是通过正式化流程在系统生命周期中建 立信任的方法。

通用准则为政府环境中的保证提供了一种标准化方法。 有关保 证和通用准则的更多信息,请参见第8章,“安全模型、设计与能力的原则。 ” 避免和缓解系统故障

小白解释

场景先行:机房断电,业务部门问多久能恢复、最多会丢多少数据。BCP/DRP 不是背缩写,而是把业务能承受的中断时间和数据损失说清楚。

这一页真正想让你理解的是:框架帮助组织系统化管理控制,而不是想到哪做到哪。

把它放进公司里看,关键不是背定义,而是判断:只做备份但没测试,真正灾难时可能恢复不了。

你作为负责人可以这样想:先做业务影响分析,再定 RTO/RPO,最后设计备份、冗余和演练。

本页术语用人话说:

NIST:NIST 提供美国常用安全标准、框架和指南。

政策:政策是高层原则,说明必须遵守什么。

标准:标准给出必须满足的最低要求。

程序:程序是一步一步怎么做。

常见误区:RTO 问时间,RPO 问数据;这两个不要混。

读完后用一句话复述:如果我是业务连续性负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“安全控制框架:用成熟框架组织安全”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是业务连续性负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

看到 SP 800 系列、CSF、RMF 常联想到 NIST。

Policy 高层、强制、稳定;Procedure 具体步骤。

Minimum level、mandatory requirement 常对应 standard。

Step-by-step、SOP 常对应 procedure。

RPO 问数据:最多丢到哪个时间点。

排除法提醒:RTO 问时间,RPO 问数据;这两个不要混。

本页术语拆解
NIST NIST 提供美国常用安全标准、框架和指南。
政策 政策是高层原则,说明必须遵守什么。
标准 标准给出必须满足的最低要求。
程序 程序是一步一步怎么做。
恢复点目标 RPO RPO 是最多能接受丢失多少时间范围的数据。
学习单元 09 / PDF P1332

政策、标准、程序、指南

高层原则、最低要求、操作步骤、建议做法要分清。

教材原文段落

No matter how advanced your development team, your systems will likely fail at some point in time. You should plan for this type of failure when you put the software and hardware controls in place, ensuring that the system will respond appropriately. You can employ many methods to avoid failure, including using input validation and creating fail-secure or fail-open procedures. Let's talk about these in more detail. Input Validation As users interact with software, they often provide information to the application in the form of input. This may include typing in values that are later used by a program. Developers often expect these values to fall within certain parameters.

For example, if the programmer asks the user to enter a month, the program may expect to see an integer value between 1 and 12. If the user enters a value outside that range, a poorly written program may crash, at best, or allow the user to gain control of the underlying system, at worst. Input validation verifies that the values provided by a user match the programmer's expectation before allowing further processing. For example, input validation would check whether a month value is an integer between 1 and 12. If the value falls outside that range, the program will not try to process the number as a date and will inform the user of the input expectations.

This type of input validation, where the code checks to ensure that a number falls within an acceptable range, is known as a limit check. Input validation also may check for unusual characters, such as single quotation marks within a text field, which may be indicative of an attack. In some cases, the input validation routine can transform the input to remove risky character sequences and replace them with safe values. This process, known as escaping input, is performed by replacing occurrences of sensitive characters with alternative code that will render the same to the end user but will not be executed by the system.

For example, this HTML code would normally execute a script within the user's browser: <SCRIPT>alert('script executed')</SCRIPT> When we escape this input, we replace the sensitive < and > characters used to create HTML tags. < is replaced with < and > is replaced with > giving us this: <SCRIPT>alert('script executed')</SCRIPT> Input validation should always occur on the server side of the transaction. Any code sent to the user's browser is subject to manipulation by the user

中文直译 / 整理

无论您的开发团队多么先进,您的系统在某个时刻都可能失效。 在部署软件和 硬件控制措施时,您应为此类故障做好规划,确保系统能够做出适当响应。 您 可以采用多种方法避免故障,包括使用输入验证和创建故障安全或故障开放流 程。 让我们更详细地讨论这些方法。 输入验证当用户与软件交互时,他们通常以输入的形式向应用程序提供信息。 这 可能包括键入稍后由程序使用的值。 开发人员通常期望这些值落在特定参数范围 内。 例如,如果程序员要求用户输入月份,程序可能期望看到一个介于1到12之 间的整数值。 如果用户输入的值超出了该范围,编写不良的程序可能会崩溃,最 坏的情况下甚至允许用户获得对底层系统的控制权。 输入验证在允许进一步处理之前,验证用户提供的值是否符合程序员的预期。 例如,输入验证会检查月份值是否为介于1到12之间的整数。 如果该值超出该 范围,程序将不会尝试将该数字作为日期处理,并会告知用户输入的期望值。 这种类型的输入验证,即代码检查数字是否落在可接受范围内,被称为边界检 查。 输入验证还可能检查异常字符,例如文本字段中的单引号,这可能是攻击的迹 象。 在某些情况下,输入验证例程可以转换输入,移除风险字符序列并将其替 换为安全值。

此过程称为转义输入,通过将敏感字符的出现替换为替代代码来 实现,这些替代代码对最终用户呈现效果相同,但不会被系统执行。 例如,以 下HTML代码通常会在用户浏览器中执行脚本: <SCRIPT>alert('script executed')</SCRIPT> 当我们转义此输入时,我们会替换用于创建HTML标签的敏感< 和> 字符。 < 被替换为< ,> 被替换为> ,得到以下结果: <SCRIPT>alert('script executed')</SCRIPT> 输入验证应始终在交易的服务器端进行。 发送到用户浏览器的任何代码都可能 被用户篡改

小白解释

场景先行:你是公司的安全负责人,正在读第 1332 页这一组概念。老板不会问你背定义,而是问:这件事会不会影响业务、谁负责、要不要花钱、出了事能不能解释清楚。

这一页真正想让你理解的是:高层原则、最低要求、操作步骤、建议做法要分清。

把它放进公司里看,关键不是背定义,而是判断:概念没放进业务场景,容易只背词,做题时不知道该选管理动作还是技术动作。

你作为负责人可以这样想:先确认业务目标和风险,再选控制措施,最后留下政策、审批、日志或证据。

本页术语用人话说:

程序:程序是一步一步怎么做。

常见误区:不要一看到安全题就直接选最强工具;CISSP 更常考“在这个场景下谁该负责、下一步是什么”。

读完后用一句话复述:如果我是安全负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“政策、标准、程序、指南”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是安全负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

Step-by-step、SOP 常对应 procedure。

排除法提醒:不要一看到安全题就直接选最强工具;CISSP 更常考“在这个场景下谁该负责、下一步是什么”。

本页术语拆解
程序 程序是一步一步怎么做。
学习单元 10 / PDF P1333

认证:证明身份

认证回答“你是不是你声称的那个人”。

教材原文段落

and is therefore easily circumvented. In most organizations, security professionals come from a system administration background and don't have professional experience in software development. If your background doesn't include this type of experience, don't let that stop you from learning about it and educating your organization's developers on the importance of secure coding. Authentication and Session Management Many applications, particularly web applications, require that users authenticate prior to accessing sensitive information or modifying data in the application.

One of the core security tasks facing developers is ensuring that those users are properly authenticated, that they perform only authorized actions, and that their session is securely tracked from start to finish. The level of authentication required by an application should be tied directly to the level of sensitivity of that application. For example, if an application provides a user with access to sensitive information or allows the user to perform business-critical applications, it should require the use of strong multifactor authentication. In most cases, developers should seek to integrate their applications with the organization's existing authentication systems.

It is generally more secure to make use of an existing, hardened authentication system than to try to develop an authentication system for a specific application. If this is not possible, consider using externally developed and validated authentication libraries. Similarly, developers should use established methods for session management. This includes ensuring that any cookies used for web session management be transmitted only over secure, encrypted channels and that the identifiers used in those cookies be long and randomly generated. Session tokens should expire after a specified period of time and require that the user reauthenticate.

Error Handling Developers love detailed error messages. The in-depth information returned in those errors is crucial to debugging code and makes it easier for technical staff to diagnose problems experienced by users.

中文直译 / 整理

因此很容易被绕过。 在大多数组织中,安全专业人员通常具有系统管理背景,而缺乏软件 开发的专业经验。 如果您的背景不包含此类经验,也不要因此阻碍您学习 相关知识,并向组织的开发人员普及安全编码的重要性。 身份验证与会话管理 许多应用程序,尤其是Web应用程序,要求用户在访问敏 感信息或修改应用程序中的数据之前进行身份验证。 开发人员面临的核心安全 任务之一是确保这些用户得到正确身份验证,仅执行授权操作,并从始至终安 全地跟踪其会话。 应用程序所需的身份验证级别应直接与其敏感程度相关。 例如,如果某个应用 程序向用户提供访问敏感信息的权限,或允许用户执行关键业务操作,则应要 求使用强多重身份验证。 在大多数情况下,开发人员应设法将应用程序与组织现有的身份验证系统集成。 通常,使用现有且经过加固的身份验证系统比为特定应用程序开发新的身份验 证系统更为安全。 如果无法实现这一点,可考虑使用外部开发并经过验证的身 份验证库。 同样,开发人员应使用经过验证的会话管理方法。 这包括确保用于网页会话管 理的任何 Cookie 仅通过安全的加密通道传输,并且这些 Cookie 中使用的标 识符应足够长且随机生成。

会话令牌应在指定时间后过期,并要求用户重新身 份验证。 错误处理开发人员喜欢详细的错误信息。 这些错误中返回的深入信息对于调试 代码至关重要,并使技术人员更容易诊断用户遇到的问题。

小白解释

场景先行:新员工入职后要登录系统。第一步是声明身份,第二步证明身份,第三步决定能访问哪些数据,最后系统要记录他做了什么。IAM 题就是围绕这条链条出题。

这一页真正想让你理解的是:认证回答“你是不是你声称的那个人”。

把它放进公司里看,关键不是背定义,而是判断:认证成功不代表什么都能做;离职、调岗、权限漂移都会造成越权。

你作为负责人可以这样想:把识别、认证、授权、审计分开看,再用最小权限和定期复核收口。

本页术语用人话说:

认证:认证是验证“你是不是你声称的那个人”。

授权:授权是认证之后决定你能访问什么、能做什么。

加密:加密把内容变成未授权者看不懂的形式。

NIST:NIST 提供美国常用安全标准、框架和指南。

常见误区:不要把 authentication 和 authorization 混成一件事:前者证明你是谁,后者决定你能干什么。

读完后用一句话复述:如果我是IAM 管理员,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“认证:证明身份”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是IAM 管理员在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

密码、令牌、生物特征、多因素认证都服务认证。

认证成功不等于什么都能做;权限仍要单独授权。

加密主要保护机密性,也可配合签名、哈希支持完整性和真实性。

看到 SP 800 系列、CSF、RMF 常联想到 NIST。

Step-by-step、SOP 常对应 procedure。

排除法提醒:不要把 authentication 和 authorization 混成一件事:前者证明你是谁,后者决定你能干什么。

本页术语拆解
认证 认证是验证“你是不是你声称的那个人”。
授权 授权是认证之后决定你能访问什么、能做什么。
加密 加密把内容变成未授权者看不懂的形式。
NIST NIST 提供美国常用安全标准、框架和指南。
程序 程序是一步一步怎么做。
身份 身份是主体在系统中的标识。
学习单元 11 / PDF P1334

认证:证明身份

认证回答“你是不是你声称的那个人”。

教材原文段落

However, those error messages may also expose sensitive internal information to attackers, including the structure of database tables, the addresses of internal servers, and other data that may be useful in reconnaissance efforts that precede an attack. Therefore, developers should disable detailed error messages (also known as debugging mode) on any servers and applications that are publicly accessible. Logging While user-facing detailed error messages may present a security threat, the information that those messages contain is quite useful, not only to developers but also to cybersecurity analysts.

Therefore, applications should be configured to send detailed logging of errors and other security events to a centralized log repository.

The Open Worldwide Application Security Project (OWASP) Secure Coding Practices suggest logging the following events: Input validation failures Authentication attempts, especially failures Access control failures Tampering events, including unexpected changes to state data Attempts to connect with invalid or expired session tokens All system exceptions All administrative functions, including changes to the security configuration settings All backend TLS connection failures Cryptographic module failures This information can be useful in diagnosing security issues and in the investigation of security incidents.

Fail-Secure and Fail-Open In spite of the best efforts of programmers, product designers, and project managers, developed applications will be used in unexpected ways. Some of these conditions will cause failures. Since failures are unpredictable, programmers should design into their code a general sense of how to respond to and handle failures. There are two basic choices when planning for system failure:

中文直译 / 整理

然而,这些错误信息也可能向攻击者暴露敏感的内部信息,包括数据库表的 结构、内部服务器的地址以及其他可能在攻击前的侦察活动中派上用场的数 据。 因此,开发人员应禁用任何公开可访问的服务器和应用程序中的详细错 误信息(也称为调试模式)。 日志记录 尽管面向用户的详细错误消息可能带来安全威胁,但这些消息所包含 的信息对开发人员和网络安全分析师都非常有用。 因此,应用程序应配置为将 错误和其他安全事件的详细日志发送到集中式日志存储库。 开放网络应用安全项目(OWASP)安全编码实践建议记录以下事件: 输入验证失败 身份验证尝试,尤其是失败的尝试 访问控制失败 篡改事件,包括对状态数据的意外更改 尝试使用无效或过期的会话令牌进行连接 所有系统异常 所有管理功能,包括安全配置的更改 配置设置 所有后端 TLS 连接失败 加密模块故障 这些信息在诊断安全问题和调查安全事件时可能很有用。 故障安全与故障开放 尽管程序员、产品设计师和项目经理做出了最大努力,开 发的应用程序仍可能以意想不到的方式被使用。 其中一些情况会导致故障。 由 于故障是不可预测的,程序员应在代码中设计出应对和处理故障的一般机制。 在规划系统故障时,有两种基本选择:

小白解释

场景先行:新员工入职后要登录系统。第一步是声明身份,第二步证明身份,第三步决定能访问哪些数据,最后系统要记录他做了什么。IAM 题就是围绕这条链条出题。

这一页真正想让你理解的是:认证回答“你是不是你声称的那个人”。

把它放进公司里看,关键不是背定义,而是判断:认证成功不代表什么都能做;离职、调岗、权限漂移都会造成越权。

你作为负责人可以这样想:把识别、认证、授权、审计分开看,再用最小权限和定期复核收口。

本页术语用人话说:

认证:认证是验证“你是不是你声称的那个人”。

加密:加密把内容变成未授权者看不懂的形式。

NIST:NIST 提供美国常用安全标准、框架和指南。

程序:程序是一步一步怎么做。

常见误区:不要把 authentication 和 authorization 混成一件事:前者证明你是谁,后者决定你能干什么。

读完后用一句话复述:如果我是IAM 管理员,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“认证:证明身份”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是IAM 管理员在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

密码、令牌、生物特征、多因素认证都服务认证。

加密主要保护机密性,也可配合签名、哈希支持完整性和真实性。

看到 SP 800 系列、CSF、RMF 常联想到 NIST。

Step-by-step、SOP 常对应 procedure。

网络题先定位层次,再判断协议、设备或攻击位置。

排除法提醒:不要把 authentication 和 authorization 混成一件事:前者证明你是谁,后者决定你能干什么。

本页术语拆解
认证 认证是验证“你是不是你声称的那个人”。
加密 加密把内容变成未授权者看不懂的形式。
NIST NIST 提供美国常用安全标准、框架和指南。
程序 程序是一步一步怎么做。
OSI 模型 OSI 用七层结构理解网络通信,从物理层到应用层。
身份 身份是主体在系统中的标识。
日志 日志记录系统和用户活动,用于监控、审计和调查。
学习单元 12 / PDF P1335

安全控制框架:用成熟框架组织安全

框架帮助组织系统化管理控制,而不是想到哪做到哪。

教材原文段落

The fail-secure failure state puts the system into a high level of security (and possibly even disables it entirely) until an administrator can diagnose the problem and restore the system to normal operation. The fail-open state allows users to bypass failed security controls, erring on the side of permissiveness. In the vast majority of environments, fail-secure is the appropriate failure state because it prevents unauthorized access to information and resources. Software should revert to a fail-secure condition. This may mean closing just the application or possibly stopping the operation of the entire host system.

An example of such failure response is seen in the Windows operating system with the appearance of the infamous Blue Screen of Death (BSOD), indicating the occurrence of a STOP error. A STOP error occurs when an undesirable activity occurs in spite of the OS's efforts to prevent it. This could include an application gaining direct access to hardware, an attempt to bypass a security access check, or one process interfering with the memory space of another. Once one of these conditions occurs, the environment is no longer trustworthy. So, rather than continuing to support an unreliable and insecure operating environment, the OS initiates a STOP error as its failsecure response.

Once a fail-secure operation occurs, the programmer should consider the activities that occur afterward. The options are to remain in a fail-secure state or to automatically reboot the system. The former option requires an administrator to manually reboot the system and oversee the process. This action can be enforced by using a boot password. The latter option does not require human intervention for the system to restore itself to a functioning state, but it has its own unique issues. For example, it must restrict the system to reboot into a nonprivileged state.

In other words, the system should not reboot and perform an automatic logon; instead, it should prompt the user for authorized access credentials.

中文直译 / 整理

安全失败状态会将系统置于高水平的安全状态(甚至可能完全禁用),直 到管理员诊断问题并将系统恢复到正常运行状态。 故障开放状态允许用户绕过失败的安全控制,倾向于更宽松的处理方式。 在绝大多数环境中,故障安全是合适的故障状态,因为它可以防止未经授权访问 信息和资源。 软件应恢复到故障安全状态。 这可能意味着仅关闭应用程序,或可能停止整个 主机系统的运行。 此类故障响应的一个示例出现在Windows操作系统中,即 著名的蓝屏死机(BSOD),表明发生了STOP错误。 当操作系统虽尽力防范但 仍发生不良行为时,就会出现STOP错误。 这可能包括应用程序直接访问硬件、 试图绕过安全访问检查,或一个进程干扰另一个进程的内存空间。 一旦发生上 述任何一种情况,环境就不再可信。 因此,与其继续支持不可靠且不安全的操 作环境,操作系统会通过触发STOP错误作为其故障安全响应。 一旦发生故障安全操作,程序员应考虑随后发生的操作。 选项包括保持在故障 安全状态或自动重启系统。 前者需要管理员手动重启系统并监督整个过程。 此 操作可通过使用启动密码来强制执行。 后者无需人工干预即可使系统恢复到正 常状态,但其自身也存在独特问题。

例如,系统必须限制仅重启到非特权状态。 换句话说,系统不应重启后自动登录; 而应提示用户提供经过授权的访问凭证。

小白解释

场景先行:新员工入职后要登录系统。第一步是声明身份,第二步证明身份,第三步决定能访问哪些数据,最后系统要记录他做了什么。IAM 题就是围绕这条链条出题。

这一页真正想让你理解的是:框架帮助组织系统化管理控制,而不是想到哪做到哪。

把它放进公司里看,关键不是背定义,而是判断:认证成功不代表什么都能做;离职、调岗、权限漂移都会造成越权。

你作为负责人可以这样想:把识别、认证、授权、审计分开看,再用最小权限和定期复核收口。

本页术语用人话说:

授权:授权是认证之后决定你能访问什么、能做什么。

NIST:NIST 提供美国常用安全标准、框架和指南。

程序:程序是一步一步怎么做。

OSI 模型:OSI 用七层结构理解网络通信,从物理层到应用层。

常见误区:不要把 authentication 和 authorization 混成一件事:前者证明你是谁,后者决定你能干什么。

读完后用一句话复述:如果我是IAM 管理员,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“安全控制框架:用成熟框架组织安全”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是IAM 管理员在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

认证成功不等于什么都能做;权限仍要单独授权。

看到 SP 800 系列、CSF、RMF 常联想到 NIST。

Step-by-step、SOP 常对应 procedure。

网络题先定位层次,再判断协议、设备或攻击位置。

日志要保护完整性、时间同步和访问控制。

排除法提醒:不要把 authentication 和 authorization 混成一件事:前者证明你是谁,后者决定你能干什么。

本页术语拆解
授权 授权是认证之后决定你能访问什么、能做什么。
NIST NIST 提供美国常用安全标准、框架和指南。
程序 程序是一步一步怎么做。
OSI 模型 OSI 用七层结构理解网络通信,从物理层到应用层。
日志 日志记录系统和用户活动,用于监控、审计和调查。
学习单元 13 / PDF P1336

安全控制框架:用成熟框架组织安全

框架帮助组织系统化管理控制,而不是想到哪做到哪。

教材原文段落

In limited circumstances, it may be possible to implement a fail-open failure state. This is sometimes appropriate for lower-layer components of a multilayered security system. Fail-open systems should be used with extreme caution. Before deploying a system using this failure mode, clearly validate the business requirement for this move. If it is justified, ensure that adequate alternative controls are in place to protect the organization's resources should the system fail. It's extremely rare that you'd want all your security controls to use a fail-open approach.

Even when security is properly designed and embedded in software, that security is often disabled in order to support easier installation. Thus, it is common for the IT administrator to have the responsibility of turning on and configuring security to match the needs of their specific environment. Maintaining security is often a trade-off with user-friendliness and functionality, as you can see in Figure 20.2. Additionally, as you add or increase security, you will also increase costs, increase administrative overhead, and reduce productivity/throughput. FIGURE 20.2 Security vs. user-friendliness vs. functionality

中文直译 / 整理

在有限的情况下,可能可以实现故障开放状态。 这有时适用于多层次安 全系统的底层组件。 故障开放系统应极其谨慎地使用。 在部署采用此故障模 式的系统之前,必须明确验证此决策的业务需求。 如果理由充分,应确保已 部署足够的替代控制措施,以在系统失效时保护组织的资源。 几乎不可能希 望所有安全控制都采用故障开放方式。 即使安全机制被正确设计并嵌入软件中,为了便于安装,这些安全功能通常也 会被禁用。 因此,IT管理员通常负责开启并配置安全设置,以适应其特定环境 的需求。 维护安全通常需要在用户友好性和功能性之间做出权衡,如图 20.2所 示。 此外,随着您增加或加强安全措施,成本、管理开销以及生产率/吞吐量也 会相应增加和降低。 图 20.2 安全性与用户友好性 vs. 功能性

小白解释

场景先行:你是公司的安全负责人,正在读第 1336 页这一组概念。老板不会问你背定义,而是问:这件事会不会影响业务、谁负责、要不要花钱、出了事能不能解释清楚。

这一页真正想让你理解的是:框架帮助组织系统化管理控制,而不是想到哪做到哪。

把它放进公司里看,关键不是背定义,而是判断:概念没放进业务场景,容易只背词,做题时不知道该选管理动作还是技术动作。

你作为负责人可以这样想:先确认业务目标和风险,再选控制措施,最后留下政策、审批、日志或证据。

本页术语用人话说:

NIST:NIST 提供美国常用安全标准、框架和指南。

常见误区:不要一看到安全题就直接选最强工具;CISSP 更常考“在这个场景下谁该负责、下一步是什么”。

读完后用一句话复述:如果我是安全负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“安全控制框架:用成熟框架组织安全”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是安全负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

看到 SP 800 系列、CSF、RMF 常联想到 NIST。

排除法提醒:不要一看到安全题就直接选最强工具;CISSP 更常考“在这个场景下谁该负责、下一步是什么”。

本页术语拆解
NIST NIST 提供美国常用安全标准、框架和指南。
学习单元 14 / PDF P1337

安全控制框架:用成熟框架组织安全

框架帮助组织系统化管理控制,而不是想到哪做到哪。

教材原文段落

Systems Development Life Cycle Security is most effective if it is planned and managed throughout the life cycle of a system or application. Administrators employ project management to keep a development project on target and moving toward the goal of a completed product. Often project management is structured using life cycle models to direct the development process. Using formalized life cycle models helps ensure good coding practices and the embedding of security in every stage of product development. All systems development processes should have several activities in common.

Although they may not necessarily share the same names, these core activities are essential to the development of sound, secure systems: Conceptual definition Functional requirements determination Control specifications development Design review Coding Code review walk-through System test review Maintenance and change management The section “Life Cycle Models,” later in this chapter, examines two life cycle models and shows how these activities are applied in real-world software engineering environments. At this point, the terminology used in systems development life cycles varies from model to model and from publication to publication.

Don't spend too much time worrying about the exact terms used in this book or any of the other literature you may come across. When you take the CISSP examination, it's much more important that you have an understanding of how the process works and of the fundamental principles underlying the development of secure systems.

中文直译 / 整理

系统开发生命周期 如果在系统或应用程序的整个生命周期中规划和管理安全,其效果将最为显著。 管理员通过项目管理确保开发项目按计划推进,朝着完成产品的目标前进。 通 常,项目管理采用生命周期模型来指导开发过程。 使用标准化的生命周期模型 有助于确保良好的编码实践,并在产品开发的每个阶段都嵌入安全机制。 所有系统开发过程都应包含若干共同活动。 尽管这些活动的名称可能不尽相同, 但它们对于开发健全、安全的系统至关重要: 概念定义 功能需求确定 控制规范开发 设计评审 编码 代码审查 walkthrough 系统测试审查 维护与变更管理 本章后面部分的“生命周期模型”一节将考察两种生命周期模型,并展示这些 活动如何在现实世界的软件工程环境中应用。 在这一阶段,系统开发生命周期中使用的术语因模型和出版物而异。 不必花太多时间纠结于本书或你可能遇到的其他文献中使用的精确术语。 当你参加CISSP考试时,更重要的是理解该过程的工作方式以及开发安全 系统所依据的基本原则。

小白解释

场景先行:凌晨监控告警:某台服务器开始大量外连。你不能先忙着写报告,也不能直接关全网。事件响应要按顺序做:确认、遏制、根除、恢复、复盘。

这一页真正想让你理解的是:框架帮助组织系统化管理控制,而不是想到哪做到哪。

把它放进公司里看,关键不是背定义,而是判断:步骤乱了会扩大损失,或者破坏证据。

你作为负责人可以这样想:先保全证据和控制影响,再清除原因并恢复业务。

本页术语用人话说:

NIST:NIST 提供美国常用安全标准、框架和指南。

标准:标准给出必须满足的最低要求。

程序:程序是一步一步怎么做。

日志:日志记录系统和用户活动,用于监控、审计和调查。

常见误区:不要一上来就删除文件或重装系统;可能会破坏调查证据。

读完后用一句话复述:如果我是事件响应负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“安全控制框架:用成熟框架组织安全”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是事件响应负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

看到 SP 800 系列、CSF、RMF 常联想到 NIST。

Minimum level、mandatory requirement 常对应 standard。

Step-by-step、SOP 常对应 procedure。

日志要保护完整性、时间同步和访问控制。

排除法提醒:不要一上来就删除文件或重装系统;可能会破坏调查证据。

本页术语拆解
NIST NIST 提供美国常用安全标准、框架和指南。
标准 标准给出必须满足的最低要求。
程序 程序是一步一步怎么做。
日志 日志记录系统和用户活动,用于监控、审计和调查。
学习单元 15 / PDF P1338

章末总结与练习题

章末内容用来反查自己是否真的理解,而不是只背答案。

教材原文段落

Conceptual Definition The conceptual definition phase of systems development involves creating the basic concept statement for a system. It's a simple statement agreed on by all interested stakeholders (the developers, customers, and management) that states the purpose of the project as well as the general system requirements. The conceptual definition is a very high-level statement of purpose and should not be longer than one or two paragraphs. If you were reading a detailed summary of the project, you might expect to see the concept statement as an abstract or introduction that enables an outsider to gain a top-level understanding of the project in a short period of time.

The security requirements developed at this phase are generally very high level. They will be refined during the control specifications development phase. At this point in the process, designers commonly identify the classification(s) of data that will be processed by the system and the applicable handling requirements. It's helpful to refer to the concept statement at all phases of the systems development process. Often, the intricate details of the development process tend to obscure the overarching goal of the project. Simply reading the concept statement periodically can assist in refocusing a team of developers.

Functional Requirements Determination Once all stakeholders have agreed on the concept statement, it's time for the development team to sit down and begin the functional requirements process. In this phase, specific system functionalities are listed, and developers begin to think about how the parts of the system should interoperate to meet the functional requirements. The deliverable from this phase of development is a functional requirements document that lists the specific system requirements. These requirements should be expressed in a form consumable by software developers.

The following are the three major characteristics of a functional requirement: Input(s) The data provided to a function Behavior The business logic describing what actions the system should take in response to different inputs Output(s) The data provided from a function As with the concept statement, it's important to ensure that all stakeholders agree on the functional requirements document before work progresses to

中文直译 / 整理

概念定义 系统开发的概念定义阶段涉及为系统创建基本概念陈述。 这是一个由所有相关 利益相关者(开发人员、客户和管理层)共同达成的简单陈述,说明了项目的 目的以及一般系统需求。 概念定义是对目的的高度概括性陈述,长度不应超过 一两段。 如果你正在阅读项目的详细摘要,你可能会期望看到这个概念陈述作 为摘要或引言,使外部人员能够在短时间内获得对项目的高层级理解。 在此阶段制定的安全需求通常非常笼统。 它们将在控制规范开发阶段进一 步细化。 在此阶段,设计人员通常会识别系统将处理的数据分类及其适用 的处理要求。 在系统开发过程的所有阶段参考概念声明都非常有帮助。 通常,开发过程中的 复杂细节会掩盖项目的总体目标。 定期阅读概念声明有助于帮助开发团队重新 聚焦。 功能需求确定 一旦所有利益相关者就概念声明达成一致,开发团队就应坐下来开始功能需求 流程。 在此阶段,列出具体系统功能,开发人员开始思考系统各部分应如何协 同工作以满足功能需求。 此开发阶段的交付成果是一个功能需求文档,其中列 出了具体的系统需求。 这些需求应以软件开发人员可使用的格式表达。

以下是 功能需求的三个主要特征: 输入 提供给函数的数据 行为 描述系统应如何根据不同输入采取行动的业务逻辑 输出 由函数提供的数据 与概念陈述一样,在工作进展到下一阶段之前,确保所有利益相关者对功能需求 文档达成一致至关重要。

小白解释

场景先行:凌晨监控告警:某台服务器开始大量外连。你不能先忙着写报告,也不能直接关全网。事件响应要按顺序做:确认、遏制、根除、恢复、复盘。

这一页真正想让你理解的是:章末内容用来反查自己是否真的理解,而不是只背答案。

把它放进公司里看,关键不是背定义,而是判断:步骤乱了会扩大损失,或者破坏证据。

你作为负责人可以这样想:先保全证据和控制影响,再清除原因并恢复业务。

本页术语用人话说:

数据分类:数据分类按敏感度和价值给数据贴等级,决定保护强度。

日志:日志记录系统和用户活动,用于监控、审计和调查。

恢复点目标 RPO:RPO 是最多能接受丢失多少时间范围的数据。

常见误区:不要一上来就删除文件或重装系统;可能会破坏调查证据。

读完后用一句话复述:如果我是事件响应负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“章末总结与练习题”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是事件响应负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

分类由数据所有者决定,保护由保管者实施。

日志要保护完整性、时间同步和访问控制。

RPO 问数据:最多丢到哪个时间点。

排除法提醒:不要一上来就删除文件或重装系统;可能会破坏调查证据。

本页术语拆解
数据分类 数据分类按敏感度和价值给数据贴等级,决定保护强度。
日志 日志记录系统和用户活动,用于监控、审计和调查。
恢复点目标 RPO RPO 是最多能接受丢失多少时间范围的数据。
学习单元 16 / PDF P1339

机密性:让该看的人看,不该看的人看不到

机密性重点是防泄露,同时不能妨碍授权访问。

教材原文段落

the next level. When it's finally completed, the document shouldn't be simply placed on a shelf to gather dust—the entire development team should constantly refer to this document during all phases to ensure that the project is on track. In the final stages of testing and evaluation, the project managers should use this document as a checklist to ensure that all functional requirements are met. Control Specifications Development Security-conscious organizations also ensure that adequate security controls are designed into every system from the earliest stages of development. It's often useful to have a control specifications development phase in your life cycle model.

This phase takes place soon after the development of functional requirements and often continues as the design and design review phases progress. During the development of control specifications, you should analyze the system from a number of security perspectives. First, adequate access controls must be designed into every system to ensure that only authorized users are allowed to access the system and that they are not permitted to exceed their level of authorization. Second, the system must maintain the confidentiality of vital data through the use of appropriate encryption and data protection technologies.

Next, the system should provide both an audit trail to enforce individual accountability and a detection mechanism for illegitimate activity. Finally, depending on the criticality of the system, availability and fault-tolerance issues should be addressed as corrective actions. Keep in mind that designing security into a system is not a onetime process and it must be done proactively. All too often, systems are designed without security planning, and then developers attempt to retrofit the system with appropriate security mechanisms. Unfortunately, these mechanisms are an afterthought and do not fully integrate with the system's design, which leaves gaping security vulnerabilities.

Also, the security requirements should be revisited each time a significant change is made to the design specifications. If a major component of the system changes, it's likely that the security requirements will change as well. Design Review Once the functional and control specifications are complete, let the system designers do their thing. In this often-lengthy process, the designers

中文直译 / 整理

当文档最终完成时,不应仅仅将其搁置一旁积灰——整个开发团队应在所有阶 段持续参考此文档,以确保项目按计划进行。 在测试和评估的最后阶段,项目 经理应使用此文档作为检查清单,以确保所有功能需求均已满足。 控制规范开发 具有安全意识的组织还会确保在系统开发的最早阶段就将充分的安全控制措施 融入其中。 在您的生命周期模型中,通常设置一个控制规范开发阶段会非常有 用。 该阶段紧随功能需求的制定之后进行,并通常在设计和设计评审阶段持续 进行。 在控制规范的开发过程中,您应从多个安全角度分析系统。 首先,必须在每 个系统中设计充分的访问控制,以确保只有授权用户才能访问系统,且不允 许其超越其授权级别。 其次,系统必须通过使用适当的加密和数据保护技术 来保障关键数据的机密性。 接下来,系统应提供审计跟踪以实现个人问责制, 并具备检测非法活动的机制。 最后,根据系统的关键性,应将可用性和容错 性问题作为纠正措施予以解决。 请牢记,将安全性融入系统并非一次性过程,而必须主动进行。 很多时候,系 统在设计时未考虑安全规划,随后开发人员才试图为系统添加适当的安全机制。

不幸的是,这些机制往往是事后才考虑的,无法与系统设计完全整合,从而留 下严重的安全漏洞。 此外,每次对设计规范进行重大更改时,都应重新审视安 全需求。 如果系统的主要组件发生变化,安全需求很可能也随之改变。 设计评审 一旦功能和控制规范完成,就让系统设计师开展他们的工作。 在这个常常耗时较 长的过程中,设计师

小白解释

场景先行:想象公司有一个客户订单系统:客户资料被别人看到是机密性问题,订单金额被偷偷改是完整性问题,系统打不开是可用性问题。教材这一页就是教你把事故先翻译成安全目标。

这一页真正想让你理解的是:机密性重点是防泄露,同时不能妨碍授权访问。

把它放进公司里看,关键不是背定义,而是判断:把泄露、篡改、宕机混在一起,就会选错控制措施。

你作为负责人可以这样想:先判断事故破坏了 CIA 哪一项,再选择对应控制:防泄露、防篡改、保可用。

本页术语用人话说:

机密性:机密性让该看的人能看,不该看的人看不到。

可用性:可用性保证授权用户需要时能及时使用系统和数据。

授权:授权是认证之后决定你能访问什么、能做什么。

审计:审计记录主体行为,用于追责、复盘和取证。

常见误区:不要把所有安全问题都归成“被黑了”。考试会逼你分清到底是泄露、篡改还是中断。

读完后用一句话复述:如果我是业务系统负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“机密性:让该看的人看,不该看的人看不到”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是业务系统负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

加密、访问控制、分类、培训都常用于保护机密性。

冗余、备份、BCP/DRP、抗 DoS、容量规划都对应可用性。

认证成功不等于什么都能做;权限仍要单独授权。

没有日志和身份绑定,就很难问责。

问责依赖识别、认证、授权、审计和记账共同工作。

排除法提醒:不要把所有安全问题都归成“被黑了”。考试会逼你分清到底是泄露、篡改还是中断。

本页术语拆解
机密性 机密性让该看的人能看,不该看的人看不到。
可用性 可用性保证授权用户需要时能及时使用系统和数据。
授权 授权是认证之后决定你能访问什么、能做什么。
审计 审计记录主体行为,用于追责、复盘和取证。
问责性 问责性要求能把行为绑定到具体主体。
加密 加密把内容变成未授权者看不懂的形式。
审计 审计检查控制是否存在、是否有效、是否符合要求。
日志 日志记录系统和用户活动,用于监控、审计和调查。
学习单元 17 / PDF P1340

政策、标准、程序、指南

高层原则、最低要求、操作步骤、建议做法要分清。

教材原文段落

determine exactly how the various parts of the system will interoperate and how the modular system structure will be laid out. Also, during this phase the design management team commonly sets specific tasks for various teams and lays out initial timelines for the completion of coding milestones. After the design team completes the formal design documents, a review meeting with the stakeholders should be held to ensure that everyone is in agreement that the process is still on track for the successful development of a system with the desired functionality.

This design review meeting should include security professionals who can validate that the proposed design meets the control specifications developed in the previous phase. Coding Once the stakeholders have given the software design their blessing, it's time for the software developers to start writing code. Developers should use the secure software coding principles discussed in this chapter to craft code that is consistent with the agreed-on design and meets user requirements. Code Review Walk-Through Project managers should schedule several code review walk-through meetings at various milestones throughout the coding process.

These technical meetings usually involve only development personnel, who sit down with a copy of the code for a specific module and walk through it, looking for problems in logical flow or other design/security flaws. The meetings play an instrumental role in ensuring that the code produced by the various development teams performs according to specification. System Test Review After many code reviews and a lot of long nights, there will come a point at which a developer puts in that final semicolon and declares the system complete. As any seasoned software engineer knows, the system is never complete.

Initially, most organizations perform the initial system testing using development personnel to seek out any obvious errors. As the testing progresses, developers and actual users validate the system against predefined scenarios that model common and unusual user activities. In cases where the project is releasing updates to an existing system, regression testing formalizes the process of verifying that the new code performs in the same manner as the old code, other than any changes expected as part of the new release. These testing procedures should include both functional testing

中文直译 / 整理

将明确系统各个部分如何协同工作,以及模块化系统结构将如何布局。 此外, 在此阶段,设计管理团队通常会为各个团队分配具体任务,并制定编码里程碑 的初步时间表。 设计团队完成正式设计文档后,应召开利益相关方评审会议,以确保各方一致 认同该过程仍按计划推进,以成功开发出具有所需功能的系统。 此次设计评审 会议应包括安全专业人员,他们可以验证所提出的设计是否符合前一阶段制定 的控制规范。 编码 一旦利益相关方对软件设计表示认可,软件开发人员就应开始编写代码。 开发 人员应使用本章讨论的安全软件编码原则,编写与既定设计一致并满足用户需 求的代码。 代码审查走查 项目经理应在编码过程的各个里程碑处安排多次代码审查走查会议。 这些技术 会议通常仅涉及开发人员,他们将坐在一起,针对特定模块的代码进行逐行审 查,查找逻辑流程或其他设计/安全缺陷。 这些会议对于确保各开发团队编写的 代码符合规范起着关键作用。 系统测试审查 经过多次代码审查和无数个漫长的夜晚,开发人员最终会输入最后一个分号, 并宣布系统完成。 正如任何经验丰富的软件工程师所知,系统永远未完成。 最 初,大多数组织会使用开发人员进行初始的 系统测试,以发现任何明显的错误。

随着测试的进行,开发人员和实际用户会根据预定义的场景验证系统,这些场 景模拟了常见和异常的用户行为。 在项目向现有系统发布更新的情况下,回归 测试将验证新代码是否与旧代码表现一致,除了新版本中预期的更改之外。 这 些测试程序应包括功能测试

小白解释

场景先行:凌晨监控告警:某台服务器开始大量外连。你不能先忙着写报告,也不能直接关全网。事件响应要按顺序做:确认、遏制、根除、恢复、复盘。

这一页真正想让你理解的是:高层原则、最低要求、操作步骤、建议做法要分清。

把它放进公司里看,关键不是背定义,而是判断:步骤乱了会扩大损失,或者破坏证据。

你作为负责人可以这样想:先保全证据和控制影响,再清除原因并恢复业务。

本页术语用人话说:

程序:程序是一步一步怎么做。

日志:日志记录系统和用户活动,用于监控、审计和调查。

常见误区:不要一上来就删除文件或重装系统;可能会破坏调查证据。

读完后用一句话复述:如果我是事件响应负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“政策、标准、程序、指南”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是事件响应负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

Step-by-step、SOP 常对应 procedure。

日志要保护完整性、时间同步和访问控制。

排除法提醒:不要一上来就删除文件或重装系统;可能会破坏调查证据。

本页术语拆解
程序 程序是一步一步怎么做。
日志 日志记录系统和用户活动,用于监控、审计和调查。
学习单元 18 / PDF P1341

安全治理:定方向、定责任、定监督

治理负责让安全和组织目标对齐,并形成可监督的体系。

教材原文段落

that verifies the software is working properly and security testing that verifies there are no unaddressed significant security issues. Once developers are satisfied that the code works properly, the process moves into user acceptance testing (UAT), where users verify that the code meets their requirements and formally accept it as ready to move into production use. Once this phase is complete, the code may move to deployment. As with any critical development process, it's important that you maintain a copy of the written test plan and test results for future review.

Maintenance and Change Management Once a system is operational, a variety of maintenance tasks are necessary to ensure continued operation in the face of changing operational, data processing, storage, and environmental requirements. It's essential that you have a skilled support team in place to handle any routine or unexpected maintenance.

It's also important that any changes to the code be handled through a formalized change management process, as described in Chapter 1, “Security Governance Through Principles and Policies.” Life Cycle Models One of the major complaints you'll hear from practitioners of the more established engineering disciplines (such as civil, mechanical, and electrical engineering) is that software engineering is not an engineering discipline at all. In fact, they contend, it's simply a combination of chaotic processes that somehow manage to scrape out workable solutions from time to time.

Indeed, some of the “software engineering” that takes place in today's development environments is nothing but bootstrap coding held together by “duct tape and chicken wire.” However, the adoption of more formalized life cycle management processes is seen in mainstream software engineering as the industry matures. After all, it's hardly fair to compare the processes of a centuries-old discipline such as civil engineering to those of an industry that's still in its first century of existence. In the 1970s and 1980s, pioneers like Winston Royce and Barry Boehm proposed several software development life cycle (SDLC) models to help guide the practice toward formalized processes.

In 1991, the Software Engineering Institute published the Capability Maturity Model, which described the process that organizations undertake as they move toward

中文直译 / 整理

以验证软件正常运行,以及安全测试以验证不存在未解决的重大安全问题。 一旦开发人员确认代码正常工作,流程将进入用户验收测试(UAT),在此阶 段用户验证代码是否满足其需求,并正式接受其进入生产环境。 此阶段完成后,代码可进入部署阶段。 与任何关键开发流程一样,保留书面测 试计划和测试结果的副本以供将来审查至关重要。 维护与变更管理 系统投入运行后,为应对不断变化的操作、数据处理、存储和环境需求,必须 执行多种维护任务。 您必须配备一支技术熟练的支持团队,以处理任何常规或 突发的维护工作。 同时,任何代码变更都应通过正式的变更管理流程进行处理, 如第1章“通过原则与政策实现安全治理”中所述。 生命周期模型 您经常会听到来自更成熟工程学科(如土木、机械和电气工程)从业者的主要 抱怨,即软件工程根本算不上一门工程学科。 事实上,他们认为,软件工程不 过是若干混乱流程的组合,偶尔才能勉强产出可用的解决方案。 的确,当今开 发环境中一些所谓的“软件工程”不过是用“胶带和铁丝”勉强拼凑起来的原 始编码。 然而,随着行业的成熟,主流软件工程界普遍认为应采用更正式的生命周期管 理流程。

毕竟,将已有数百年历史的土木工程等学科的流程,与一个仍处于其 第一个世纪的行业进行比较,显然不公平。 在20世纪70年代和80年代,先驱如 温斯顿·罗伊斯和巴里·博姆提出了几种软件开发生命周期(SDLC)模型,以帮 助引导实践走向正式化流程。 1991年,软件工程研究所发布了能力成熟度模型, 该模型描述了组织在向

小白解释

场景先行:公司准备上线一个新业务系统,技术团队说可以买设备,法务说要合规,业务说不能影响上线。安全治理就是让高层定方向:安全要服务业务目标,风险由谁接受,预算花在哪里。

这一页真正想让你理解的是:治理负责让安全和组织目标对齐,并形成可监督的体系。

把它放进公司里看,关键不是背定义,而是判断:如果没有治理,安全会变成各部门各做各的:有人只想省钱,有人只想堆工具,最后责任不清。

你作为负责人可以这样想:先定策略和责任,再把战略拆成战术计划和日常运营计划。

本页术语用人话说:

安全治理:治理负责定方向、定责任、定监督方式。它不是配置防火墙,而是决定组织为什么要做安全、由谁负责、做到什么程度。

政策:政策是高层原则,说明必须遵守什么。

软件开发生命周期:SDLC 把需求、设计、开发、测试、部署和维护串起来。

常见误区:不要把治理理解成配置设备;治理是方向、责任和监督。

读完后用一句话复述:如果我是高层管理者 / CISO,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“安全治理:定方向、定责任、定监督”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是高层管理者 / CISO在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

看到 governance,优先想高层责任、业务目标、策略、监督和持续改进。

Policy 高层、强制、稳定;Procedure 具体步骤。

安全越早进入 SDLC,修复成本越低。

排除法提醒:不要把治理理解成配置设备;治理是方向、责任和监督。

本页术语拆解
安全治理 治理负责定方向、定责任、定监督方式。它不是配置防火墙,而是决定组织为什么要做安全、由谁负责、做到什么程度。
政策 政策是高层原则,说明必须遵守什么。
软件开发生命周期 SDLC 把需求、设计、开发、测试、部署和维护串起来。
学习单元 19 / PDF P1342

第 1342 页学习单元

这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

教材原文段落

incorporating solid engineering principles into their software development processes. In the following sections, we'll take a look at the work produced by these studies. Having a management model in place should improve the resultant products. However, if the SDLC methodology is inadequate, the project may fail to meet business and user needs. Thus, it is important to verify that the SDLC model is properly implemented and is appropriate for your environment. Furthermore, one of the initial steps of implementing an SDLC should include management approval. Choosing an SDLC model is normally the work of software development teams and their leadership.

Cybersecurity professionals should ensure that security principles are interwoven into the implementation of whatever model(s) the organization uses for software development. Waterfall Model Originally developed by Winston Royce in 1970, the waterfall model seeks to view the systems development life cycle as a series of sequential activities. The traditional waterfall model has seven stages of development. As each stage is completed, the project moves into the next stage. The original, traditional waterfall model was a simple design that was intended to be sequential steps from inception to conclusion.

In practical application, the waterfall model, of necessity, evolved to a more modern model. As illustrated by the backward arrows in Figure 20.3, the iterative waterfall model does allow development to return to the previous phase to correct defects discovered during the subsequent phase. This is often known as the feedback loop characteristic of the waterfall model.

中文直译 / 整理

在其软件开发流程中融入坚实工程原则的过程中所采取的步骤。 在接下来的章 节中,我们将考察这些研究的成果。 建立管理模型应能提升最终产品的质量。 然而,如果SDLC方法论不够完善,项目可能无法满足业务和用户需求。 因此, 验证SDLC模型是否得到正确实施并适合您的环境至关重要。 此外,实施 SDLC的初始步骤之一应包括管理层的批准。 选择SDLC模型通常是软件开发团队及其领导层的工作。 网络安全专业人员 应确保安全原则贯穿于组织所使用的任何开发模型的实施过程中。 瀑布模型 由温斯顿·罗伊斯于1970年最初提出,瀑布模型试图将系统开发生命周期视为一 系列顺序活动。 传统的瀑布模型包含七个开发阶段。 每个阶段完成后,项目便 进入下一阶段。 最初的传统瀑布模型是一种简单的设计,旨在从开始到结束依 次进行各步骤。 在实际应用中,瀑布模型不可避免地演变为更现代的模型。 如 图20.3中的反向箭头所示,迭代式瀑布模型允许在后续阶段发现缺陷时返回前 一阶段进行修正。 这通常被称为反馈循环特性的瀑布模型。

小白解释

场景先行:员工在家访问公司系统,流量要穿过家庭网络、互联网、防火墙、VPN、服务器。网络安全题就是让你判断问题发生在哪一层、用哪个控制放在什么位置。

这一页真正想让你理解的是:这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

把它放进公司里看,关键不是背定义,而是判断:不分层就会乱选设备:该加密的地方装防火墙,该监测的地方却只做访问控制。

你作为负责人可以这样想:先定位网络层次,再决定是分段、过滤、加密、检测还是阻断。

本页术语用人话说:

OSI 模型:OSI 用七层结构理解网络通信,从物理层到应用层。

日志:日志记录系统和用户活动,用于监控、审计和调查。

恢复点目标 RPO:RPO 是最多能接受丢失多少时间范围的数据。

软件开发生命周期:SDLC 把需求、设计、开发、测试、部署和维护串起来。

常见误区:不要以为防火墙能解决所有网络问题;它只是控制流量的一类工具。

读完后用一句话复述:如果我是网络安全工程师,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“第 1342 页学习单元”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是网络安全工程师在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

网络题先定位层次,再判断协议、设备或攻击位置。

日志要保护完整性、时间同步和访问控制。

RPO 问数据:最多丢到哪个时间点。

安全越早进入 SDLC,修复成本越低。

排除法提醒:不要以为防火墙能解决所有网络问题;它只是控制流量的一类工具。

本页术语拆解
OSI 模型 OSI 用七层结构理解网络通信,从物理层到应用层。
日志 日志记录系统和用户活动,用于监控、审计和调查。
恢复点目标 RPO RPO 是最多能接受丢失多少时间范围的数据。
软件开发生命周期 SDLC 把需求、设计、开发、测试、部署和维护串起来。
学习单元 20 / PDF P1343

第 1343 页学习单元

这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

教材原文段落

FIGURE 20.3 The iterative life cycle model with feedback loop The waterfall model was one of the first comprehensive attempts to model the software development process while taking into account the necessity of returning to previous phases to correct system faults. However, one of the major criticisms of this model is that it allows the developers to step back only one phase in the process. It does not make provisions for the discovery of errors at a later phase in the development cycle.

中文直译 / 整理

图 20.3 带反馈循环的迭代生命周期模型 瀑布模型是最早全面尝试模拟软件开发过程的模型之一,同时考虑了返回前 一阶段以修正系统缺陷的必要性。 然而,该模型的主要批评之一是它仅允许 开发人员回退一个阶段。 它并未为在开发周期后期发现错误提供相应的机制。

小白解释

场景先行:你是公司的安全负责人,正在读第 1343 页这一组概念。老板不会问你背定义,而是问:这件事会不会影响业务、谁负责、要不要花钱、出了事能不能解释清楚。

这一页真正想让你理解的是:这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

把它放进公司里看,关键不是背定义,而是判断:概念没放进业务场景,容易只背词,做题时不知道该选管理动作还是技术动作。

你作为负责人可以这样想:先确认业务目标和风险,再选控制措施,最后留下政策、审批、日志或证据。

如果这一页没有明显术语,就按“谁在做事、保护什么、怕什么、用什么控制、留下什么证据”来拆。

常见误区:不要一看到安全题就直接选最强工具;CISSP 更常考“在这个场景下谁该负责、下一步是什么”。

读完后用一句话复述:如果我是安全负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“第 1343 页学习单元”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是安全负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

排除法提醒:不要一看到安全题就直接选最强工具;CISSP 更常考“在这个场景下谁该负责、下一步是什么”。

本页术语拆解

本页没有识别到重点术语,按原文顺序理解即可。

学习单元 21 / PDF P1344

第 1344 页学习单元

这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

教材原文段落

The waterfall model was improved by adding validation and verification steps to each phase. Verification evaluates the product against specifications, whereas validation evaluates how well the product satisfies real-world requirements. The improved model was labeled the modified waterfall model. However, it did not gain widespread use before the spiral model dominated the project management scene. Spiral Model In 1988, Barry Boehm of TRW proposed an alternative life cycle model that allows for multiple iterations of a waterfall-style process. Figure 20.4 illustrates this model.

Because the spiral model encapsulates a number of iterations of another model (the waterfall model), it is known as a metamodel, or a “model of models.” Notice that each “loop” of the spiral results in the development of a new system prototype (represented by P1, P2, and P3 in Figure 20.4). Theoretically, system developers would apply the entire waterfall process to the development of each prototype, thereby incrementally working toward a mature system that incorporates all the functional requirements in a fully validated fashion.

Boehm's spiral model provides a solution to the major criticism of the waterfall model—it allows developers to return to the planning stages as changing technical demands and customer requirements necessitate the evolution of a system. The waterfall model focuses on a largescale effort to deliver a finished system, whereas the spiral model focuses on iterating through a series of increasingly “finished” prototypes that allow for enhanced quality control.

中文直译 / 整理

瀑布模型通过在每个阶段添加验证和确认步骤得到了改进。 验证评估产 品是否符合规范,而确认则评估产品满足现实需求的程度。 改进后的模型被 称为修改后的瀑布模型。 然而,在螺旋模型主导项目管理领域之前,它并未 得到广泛应用。 螺旋模型 1988年,TRW的Barry Boehm提出了一种替代的生命周期模型,该模型允 许对瀑布式过程进行多次迭代。 图20.4展示了该模型。 由于螺旋模型封装了 另一个模型(瀑布模型)的多次迭代,因此它被称为元模型,或“模型的模 型”。 请注意,螺旋的每个“循环”都会产生一个新的系统原型(在图20.4中用P1、 P2和P3表示)。 理论上,系统开发人员会对每个原型应用整个瀑布流程,从而 逐步推进,最终形成一个成熟系统,以完全验证的方式整合所有功能需求。 Boehm的螺旋模型解决了瀑布模型的主要批评——它允许开发人员在技术需求 和客户要求发生变化、需要演进系统时,返回到规划阶段。 瀑布模型侧重于大 规模努力交付一个完整的系统,而螺旋模型则侧重于迭代一系列越来越“完善” 的原型,以实现更优的质量控制。

小白解释

场景先行:机房断电,业务部门问多久能恢复、最多会丢多少数据。BCP/DRP 不是背缩写,而是把业务能承受的中断时间和数据损失说清楚。

这一页真正想让你理解的是:这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

把它放进公司里看,关键不是背定义,而是判断:只做备份但没测试,真正灾难时可能恢复不了。

你作为负责人可以这样想:先做业务影响分析,再定 RTO/RPO,最后设计备份、冗余和演练。

本页术语用人话说:

恢复点目标 RPO:RPO 是最多能接受丢失多少时间范围的数据。

常见误区:RTO 问时间,RPO 问数据;这两个不要混。

读完后用一句话复述:如果我是业务连续性负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“第 1344 页学习单元”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是业务连续性负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

RPO 问数据:最多丢到哪个时间点。

排除法提醒:RTO 问时间,RPO 问数据;这两个不要混。

本页术语拆解
恢复点目标 RPO RPO 是最多能接受丢失多少时间范围的数据。
学习单元 22 / PDF P1345

政策、标准、程序、指南

高层原则、最低要求、操作步骤、建议做法要分清。

教材原文段落

FIGURE 20.4 The spiral life cycle mode Agile Software Development More recently, the Agile model of software development has gained popularity within the software engineering community. Beginning in the mid- 1990s, developers increasingly embraced approaches to software development that eschewed the rigid models of the past in favor of approaches that placed an emphasis on the needs of the customer and on quickly developing new functionality that meets those needs in an iterative fashion.

Seventeen pioneers of the Agile development approach got together in 2001 and produced a document titled Manifesto for Agile Software Development (http://agilemanifesto.org) that states the core philosophy of the Agile approach:

中文直译 / 整理

图 20.4 螺旋生命周期模型 敏捷软件开发 近年来,敏捷软件开发模型在软件工程界日益流行。 自20世纪90年代中期以来, 开发人员越来越多地采用摒弃过去僵化模型的方法,转而强调客户需求,并以 迭代方式快速开发满足这些需求的新功能。 2001年,十七位敏捷开发方法的先驱聚在一起,制定了一份题为敏捷软件开 发宣言(http://agilemanifesto.org)的文件,阐述了敏捷方法的核心理念:

小白解释

场景先行:你是公司的安全负责人,正在读第 1345 页这一组概念。老板不会问你背定义,而是问:这件事会不会影响业务、谁负责、要不要花钱、出了事能不能解释清楚。

这一页真正想让你理解的是:高层原则、最低要求、操作步骤、建议做法要分清。

把它放进公司里看,关键不是背定义,而是判断:概念没放进业务场景,容易只背词,做题时不知道该选管理动作还是技术动作。

你作为负责人可以这样想:先确认业务目标和风险,再选控制措施,最后留下政策、审批、日志或证据。

如果这一页没有明显术语,就按“谁在做事、保护什么、怕什么、用什么控制、留下什么证据”来拆。

常见误区:不要一看到安全题就直接选最强工具;CISSP 更常考“在这个场景下谁该负责、下一步是什么”。

读完后用一句话复述:如果我是安全负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“政策、标准、程序、指南”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是安全负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

排除法提醒:不要一看到安全题就直接选最强工具;CISSP 更常考“在这个场景下谁该负责、下一步是什么”。

本页术语拆解

本页没有识别到重点术语,按原文顺序理解即可。

学习单元 23 / PDF P1346

政策、标准、程序、指南

高层原则、最低要求、操作步骤、建议做法要分清。

教材原文段落

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. The Agile Manifesto also defines 12 principles that underlie the philosophy, which are available here: http://agilemanifesto.org/principles.

The 12 principles, as stated in the Agile Manifesto, are as follows: Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. Simplicity—the art of maximizing the amount of work not done—is essential.

中文直译 / 整理

我们通过实践并帮助他人实践,不断发现更好的软件开发方法。 通过这些 工作,我们形成了以下价值观: 个体与互动 胜过流程和工具 可工作的软件 胜过详尽的文档 客户协作 胜过合同谈判 应对变化 胜过遵循计划 也就是说,尽管右侧的项目也有价值,但我们更重视左侧的项目。 《敏捷宣言》还定义了12条原则,这些原则是该理念的基础,详情请见: http://agilemanifesto.org/principles。 敏捷宣言中提出的12项原则如下: 我们的最高优先级是通过早期和持续交付有价值的软件来满足客户。 欢迎需求变化,即使在开发后期也是如此。 敏捷过程利用变化为客户创 造竞争优势。 频繁交付可工作的软件,周期从几周到几个月不等,更倾向于较短的周期。 业务人员和开发人员必须在整个项目中每天紧密合作。 围绕有动力的个人构建项目。 为他们提供所需的环境和支持,并信任他们能够 完成工作。 向开发团队传递信息以及团队内部沟通最有效和最有效的方法是面对面的交流。 可工作的软件是衡量进展的主要标准。 敏捷流程促进可持续发展。 赞助商、开发人员和用户应能长期保持 稳定的速度。 持续关注技术卓越和良好设计有助于提升敏捷性。

简洁——最大化未做工作量的艺术——是至关重要的。

小白解释

场景先行:你是公司的安全负责人,正在读第 1346 页这一组概念。老板不会问你背定义,而是问:这件事会不会影响业务、谁负责、要不要花钱、出了事能不能解释清楚。

这一页真正想让你理解的是:高层原则、最低要求、操作步骤、建议做法要分清。

把它放进公司里看,关键不是背定义,而是判断:概念没放进业务场景,容易只背词,做题时不知道该选管理动作还是技术动作。

你作为负责人可以这样想:先确认业务目标和风险,再选控制措施,最后留下政策、审批、日志或证据。

本页术语用人话说:

标准:标准给出必须满足的最低要求。

常见误区:不要一看到安全题就直接选最强工具;CISSP 更常考“在这个场景下谁该负责、下一步是什么”。

读完后用一句话复述:如果我是安全负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“政策、标准、程序、指南”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是安全负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

Minimum level、mandatory requirement 常对应 standard。

排除法提醒:不要一看到安全题就直接选最强工具;CISSP 更常考“在这个场景下谁该负责、下一步是什么”。

本页术语拆解
标准 标准给出必须满足的最低要求。
学习单元 24 / PDF P1347

政策、标准、程序、指南

高层原则、最低要求、操作步骤、建议做法要分清。

教材原文段落

The best architectures, requirements, and designs emerge from selforganizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. Today, most software developers embrace the flexibility and customer focus of the Agile approach to software development, and it is quickly becoming the philosophy of choice for developers. In an Agile approach, the team embraces the principles of the Agile Manifesto and meets regularly to review and plan their work. It's important to note, however, that Agile is a philosophy and not a specific methodology.

Several specific methodologies have emerged that take these Agile principles and define specific processes that implement them. These include Scrum, Kanban, Lean, Rapid Application Development (RAD), Agile Unified Process (AUP), the Dynamic Systems Development Model (DSDM), and Extreme Programming (XP). Of these, the Scrum approach is the most popular. Scrum takes its name from the daily team meetings, called scrums, that are its hallmark. Each day the team gets together for a short meeting, where they discuss the contributions made by each team member, plan the next day's work, and work to clear any impediments to their progress.

These meetings are led by the project's scrum master, an individual in a project management role who is responsible for helping the team move forward and meet their objectives. The Scrum methodology organizes work into short sprints of activity. These are well-defined periods of time, typically between one and four weeks, where the team focuses on achieving short-term objectives that contribute to the broader goals of the project. At the beginning of each sprint, the team gathers to plan the work that will be conducted during each sprint. At the end of the sprint, the team should have a fully functioning product that could be released, even if it does not yet meet all user requirements.

Each subsequent sprint introduces new functionality into the product.

中文直译 / 整理

最佳的架构、需求和设计源于自组织团队。 团队会定期反思如何提高效率,然后相应地调整和优化其行为。 如今,大多数软件开发人员都接受了敏捷软件开发方法的灵活性和以客户为中 心的理念,这种方法正迅速成为开发者的首选哲学。 在敏捷方法中,团队秉持 敏捷宣言的原则,并定期召开会议审查和规划工作。 然而,需要注意的是,敏捷是一种哲学,而非具体的 methodology。 已经出 现了几种具体的方法,它们采纳了这些敏捷原则,并定义了实施这些原则的 具体流程。 这些方法包括 Scrum、Kanban、Lean、快速应用开发(RAD)、 敏捷统一过程(AUP)、动态系统开发模型(DSDM)和极限编程(XP)。 在这些方法中,Scrum 方法最为流行。 Scrum 得名于其标志性特征——每日团 队会议,称为 scrums。 每天,团队都会召开简短会议,讨论每位成员的贡献, 规划次日的工作,并清除阻碍进展的障碍。 这些会议由项目的 scrummaster 主 持,该角色是一名承担项目管理职责的人员,负责帮助团队前进并实现目标。 Scrum 方法将工作组织成短周期的 冲刺。

这些是定义明确的时间段,通常为一 到四周,在此期间团队专注于实现有助于项目整体目标的短期目标。 在每次冲 刺开始时,团队会聚集在一起规划将在该次冲刺中进行的工作。 在冲刺结束时, 团队应交付一个功能完备、可发布的产品,即使它尚未满足所有用户需求。 每 个后续冲刺都会为产品引入新功能。

小白解释

场景先行:凌晨监控告警:某台服务器开始大量外连。你不能先忙着写报告,也不能直接关全网。事件响应要按顺序做:确认、遏制、根除、恢复、复盘。

这一页真正想让你理解的是:高层原则、最低要求、操作步骤、建议做法要分清。

把它放进公司里看,关键不是背定义,而是判断:步骤乱了会扩大损失,或者破坏证据。

你作为负责人可以这样想:先保全证据和控制影响,再清除原因并恢复业务。

本页术语用人话说:

日志:日志记录系统和用户活动,用于监控、审计和调查。

常见误区:不要一上来就删除文件或重装系统;可能会破坏调查证据。

读完后用一句话复述:如果我是事件响应负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“政策、标准、程序、指南”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是事件响应负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

日志要保护完整性、时间同步和访问控制。

排除法提醒:不要一上来就删除文件或重装系统;可能会破坏调查证据。

本页术语拆解
日志 日志记录系统和用户活动,用于监控、审计和调查。
学习单元 25 / PDF P1348

第 1348 页学习单元

这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

教材原文段落

Integrated Product Teams Although the Agile concept is a product of recent years, the idea of bringing together stakeholders for software and system development is a long-standing concept. The Department of Defense introduced the idea of integrated product teams (IPTs) in 1995 as an approach to bring together multifunctional teams with a single goal of delivering a product or developing a process or policy.

In the guidance creating IPTs, the Defense Department said that “IPTs are set up to foster parallel, rather than sequential, decisions and to guarantee that all aspects of the product, process, or policy are considered throughout the development process.” Scaled Agile Framework (SAFe) The Scaled Agile Framework (SAFe) is a comprehensive approach to applying agile principles and practices at the enterprise scale. Recognizing the complexities that larger organizations face, SAFe offers a structured framework to facilitate the use of Agile across multiple teams, often coordinating the efforts of hundreds or even thousands of practitioners.

At its core, SAFe seeks to provide a shared understanding of how work flows through an organization, ensuring alignment from team-level activities to strategic goals. SAFe is organized into four configuration levels: 1. Essential SAFe: This is where the traditional Agile practices, like Scrum, come into play. Teams work in Agile Release Trains (ARTs), which are groups of teams that align to deliver larger pieces of value, often in the form of program increments. Each program increment typically lasts around 8–12 weeks. 2.

Large Solution SAFe: For particularly vast systems that require multiple ARTs, this SAFe configuration provides additional roles and artifacts to ensure alignment and coordination. This isn't always needed but comes into play in exceptionally large implementations. 3. Portfolio SAFe: This SAFe configuration is where strategic direction is translated into actionable items. Investment themes guide the organization's work, ensuring alignment with business objectives. Lean Portfolio Management (LPM) principles drive the efforts, ensuring minimal overhead and focusing on delivering the maximum value.

中文直译 / 整理

集成产品团队 尽管敏捷概念是近年来的产物,但将利益相关者聚集在一起进行软件和系 统开发的思想由来已久。 美国国防部于1995年提出了综合产品团队(I PTs)的概念,作为一种将多职能团队聚集在一起、以单一目标交付产品或 开发流程或政策的方法。 在制定IPTs的指导方针时,国防部表示:"IPTs旨 在促进并行而非顺序的决策,并确保在整个开发过程中考虑产品、流程或 政策的所有方面。 " 规模化敏捷框架(SAFe) 规模化敏捷框架(SAFe) 是一种在企业规模上应用敏捷原则和实践的综合方法。 鉴于大型组织面临的复杂性,SAFe 提供了一个结构化的框架,以促进多个团 队之间的敏捷协作,通常协调数百甚至数千名从业者的工作。 在核心层面,SAFe 旨在提供对工作如何在组织中流动的共同理解,确保从团 队级活动到战略目标的对齐。 SAFe 分为四个配置层级: 1. EssentialSAFe: 这里涉及传统的敏捷实践,如 Scrum。 团队在敏捷发 布列车(ARTs)中工作,ARTs 是一组对齐以交付更大价值单元的团队, 通常以程序增量的形式呈现。 每个程序增量通常持续约 8–12 周。

2. LargeSolutionSAFe: 对于需要多个 ARTs 的特别庞大的系统,此 SAFe 配置提供了额外的角色和工件,以确保对齐与协调。 这并非总是必需, 但在特别大规模的实施中会发挥作用。 3. PortfolioSAFe: 此 SAFe 配置将战略方向转化为可执行事项。 投资主 题指导组织的工作,确保与业务目标保持一致。 精益投资组合管理( LPM)原则驱动这些努力,确保最小的开销并专注于交付最大价值。

小白解释

场景先行:你是公司的安全负责人,正在读第 1348 页这一组概念。老板不会问你背定义,而是问:这件事会不会影响业务、谁负责、要不要花钱、出了事能不能解释清楚。

这一页真正想让你理解的是:这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

把它放进公司里看,关键不是背定义,而是判断:概念没放进业务场景,容易只背词,做题时不知道该选管理动作还是技术动作。

你作为负责人可以这样想:先确认业务目标和风险,再选控制措施,最后留下政策、审批、日志或证据。

本页术语用人话说:

政策:政策是高层原则,说明必须遵守什么。

程序:程序是一步一步怎么做。

常见误区:不要一看到安全题就直接选最强工具;CISSP 更常考“在这个场景下谁该负责、下一步是什么”。

读完后用一句话复述:如果我是安全负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“第 1348 页学习单元”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是安全负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

Policy 高层、强制、稳定;Procedure 具体步骤。

Step-by-step、SOP 常对应 procedure。

排除法提醒:不要一看到安全题就直接选最强工具;CISSP 更常考“在这个场景下谁该负责、下一步是什么”。

本页术语拆解
政策 政策是高层原则,说明必须遵守什么。
程序 程序是一步一步怎么做。
学习单元 26 / PDF P1349

政策、标准、程序、指南

高层原则、最低要求、操作步骤、建议做法要分清。

教材原文段落

4. Full SAFe: Full SAFe includes all elements of Essential, Large Solution, and Portfolio SAFe, along with additional guidance to help organizations achieve business agility. It's designed to support enterprises that build and maintain large, integrated solutions that require hundreds of practitioners to collaborate effectively. One of the standout features of SAFe is its emphasis on aligning business goals with development activity. It introduces concepts like Epic, Capability, Feature, and Story, to break down and categorize tasks, ensuring every piece of work can be traced back to a larger objective.

SAFe Principles The SAFe framework is based on 10 core principles drawn from Agile philosophy: 1. Take an economic view. 2. Apply systems thinking. 3. Assume variability; preserve options. 4. Build incrementally with fast, integrated learning cycles. 5. Base milestones on objective evaluation of working systems. 6. Make value flow without interruptions. 7. Apply cadence; synchronize with cross-domain planning. 8. Unlock the intrinsic motivation of knowledge workers. 9. Decentralize decision-making. 10. Organize around value. SAFe offers a comprehensive and modular approach to scaling Agile, accommodating the intricacies of larger organizations.

It integrates principles from multiple disciplines to provide a holistic method of managing work, ensuring alignment from the strategic level right down to individual teams. While its complexity might not be suitable for every organization, those with the need for structured coordination across large teams often find immense value in its practices. 4.

中文直译 / 整理

完整的SAFe:完整的SAFe包含Essential、Large Solution和 Portfolio SAFe的所有元素,以及帮助组织实现业务敏捷性的额外指导。 它 旨在支持构建和维护大型集成解决方案的企业,这些解决方案需要数百名从 业者有效协作。 SAFe 的一个突出特点是强调将业务目标与开发活动对齐。 它引入了史诗、能 力、特性和故事等概念,以分解和分类任务,确保每一项工作都能追溯到更 大的目标。 SAFe原则 SAFe框架基于源自敏捷哲学的10项核心原则: 1. 采取经济视角。 2. 应用系统思维。 3. 假设多样性; 保留选项。 4. 通过快速的集成学习周期进行增量构建。 5. 基于对可运行系统的客观评估设定里程碑。 6. 让价值流畅地持续流动,避免中断。 7. 应用节奏; 与跨领域规划同步。 8. 激发知识工作者的内在动力。 9. 去中心化决策。 10. 围绕价值进行组织。 SAFe 提供了一种全面且模块化的敏捷扩展方法,以适应大型组织的复杂性。 它整合了多个学科的原则,提供了一种从战略层面到单个团队全面协调工作的 方法。

尽管其复杂性可能并不适合每个组织,但那些需要在大型团队间进行结 构化协调的组织通常能从中获得巨大价值。

小白解释

场景先行:你是公司的安全负责人,正在读第 1349 页这一组概念。老板不会问你背定义,而是问:这件事会不会影响业务、谁负责、要不要花钱、出了事能不能解释清楚。

这一页真正想让你理解的是:高层原则、最低要求、操作步骤、建议做法要分清。

把它放进公司里看,关键不是背定义,而是判断:概念没放进业务场景,容易只背词,做题时不知道该选管理动作还是技术动作。

你作为负责人可以这样想:先确认业务目标和风险,再选控制措施,最后留下政策、审批、日志或证据。

如果这一页没有明显术语,就按“谁在做事、保护什么、怕什么、用什么控制、留下什么证据”来拆。

常见误区:不要一看到安全题就直接选最强工具;CISSP 更常考“在这个场景下谁该负责、下一步是什么”。

读完后用一句话复述:如果我是安全负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“政策、标准、程序、指南”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是安全负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

排除法提醒:不要一看到安全题就直接选最强工具;CISSP 更常考“在这个场景下谁该负责、下一步是什么”。

本页术语拆解

本页没有识别到重点术语,按原文顺序理解即可。

学习单元 27 / PDF P1350

安全控制框架:用成熟框架组织安全

框架帮助组织系统化管理控制,而不是想到哪做到哪。

教材原文段落

Capability Maturity Model (CMM) The Software Engineering Institute (SEI) at Carnegie Mellon University introduced the Capability Maturity Model for Software, also known as the Software Capability Maturity Model (abbreviated as SW-CMM, CMM, or SCMM), which contends that all organizations engaged in software development move through a variety of maturity phases in sequential fashion. The SW-CMM describes the principles and practices underlying software process maturity. It is intended to help software organizations improve the maturity and quality of their software processes by implementing an evolutionary path from ad hoc, chaotic processes to mature, disciplined software processes.

The idea behind the SW-CMM is that the quality of software depends on the quality of its development process. SWCMM does not explicitly address security, but it is the responsibility of cybersecurity professionals and software developers to ensure that security requirements are integrated into the software development effort. The stages of the SW-CMM are as follows: Level 1: Initial In this phase, you'll often find hardworking people charging ahead in a disorganized fashion. There is usually little or no defined software development process. Level 2: Repeatable In this phase, basic life cycle management processes are introduced.

Reuse of code in an organized fashion begins to enter the picture, and repeatable results are expected from similar projects. SEI defines the key process areas for this level as Requirements Management, Software Project Planning, Software Project Tracking and Oversight, Software Subcontract Management, Software Quality Assurance, and Software Configuration Management. Level 3: Defined In this phase, software developers operate according to a set of formal, documented software development processes. All development projects take place within the constraints of the new standardized management model.

SEI defines the key process areas for this level as Organization Process Focus, Organization Process Definition, Training Program, Integrated Software Management, Software Product Engineering, Intergroup Coordination, and Peer Reviews. Level 4: Managed In this phase, management of the software process proceeds to the next level. Quantitative measures are used to gain a detailed understanding of the development process. SEI defines the key process areas

中文直译 / 整理

能力成熟度模型(CMM) 卡内基梅隆大学的软件工程研究所(SEI)提出了软件工程能力成熟度模型,也 称为软件能力成熟度模型(缩写为 SW‑CMM、CMM 或 SCMM),该模型认 为所有参与软件开发的组织都会依次经历一系列成熟度阶段。 SW‑CMM 描述 了软件过程成熟度所依据的原则和实践,旨在帮助软件组织通过从随意、混乱 的过程逐步演进到成熟、规范的软件过程,提升其软件过程的成熟度和质量。 SW‑CMM 的核心理念是,软件的质量取决于其开发过程的质量。 SW‑CMM 并未明确涉及安全性,但确保安全需求融入软件开发工作是网络安全专业人员 和软件开发人员的责任。 SW‑CMM的阶段如下: 第1级:初始级 在这一阶段,你经常会发现勤奋的员工在无序的状态下奋力前进。 通常几乎没有定义的软件开发流程。 第2级:可重复级 在这一阶段,引入了基本的生命周期管理流程。 以有组织的方 式重用代码开始出现,相似项目可产生可重复的结果。 SEI将本级别的关键过程 领域定义为:需求管理、软件项目计划、软件项目跟踪与监督、软件分包管理、 软件质量保证和软件配置管理。

第3级:已定义级 在这一阶段,软件开发人员按照一套正式的、文档化的软件开 发流程开展工作。 所有开发项目都在新的标准化管理模型的约束下进行。 SEI将 本级别的关键过程领域定义为:组织过程焦点、组织过程定义、培训计划、集成 软件管理、软件产品工程、跨组协调和同行评审。 第4级:已管理 在此阶段,软件过程的管理提升到下一个层次。 通过定量度量 来深入了解开发过程。 SEI定义了该级别的关键过程领域

小白解释

场景先行:你是公司的安全负责人,正在读第 1350 页这一组概念。老板不会问你背定义,而是问:这件事会不会影响业务、谁负责、要不要花钱、出了事能不能解释清楚。

这一页真正想让你理解的是:框架帮助组织系统化管理控制,而不是想到哪做到哪。

把它放进公司里看,关键不是背定义,而是判断:概念没放进业务场景,容易只背词,做题时不知道该选管理动作还是技术动作。

你作为负责人可以这样想:先确认业务目标和风险,再选控制措施,最后留下政策、审批、日志或证据。

本页术语用人话说:

ISO:ISO 是国际标准化组织,常见安全管理体系如 ISO 27001/27002。

标准:标准给出必须满足的最低要求。

常见误区:不要一看到安全题就直接选最强工具;CISSP 更常考“在这个场景下谁该负责、下一步是什么”。

读完后用一句话复述:如果我是安全负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“安全控制框架:用成熟框架组织安全”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是安全负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

ISO 偏标准和管理体系。

Minimum level、mandatory requirement 常对应 standard。

排除法提醒:不要一看到安全题就直接选最强工具;CISSP 更常考“在这个场景下谁该负责、下一步是什么”。

本页术语拆解
ISO ISO 是国际标准化组织,常见安全管理体系如 ISO 27001/27002。
标准 标准给出必须满足的最低要求。
学习单元 28 / PDF P1351

安全控制框架:用成熟框架组织安全

框架帮助组织系统化管理控制,而不是想到哪做到哪。

教材原文段落

for this level as Quantitative Process Management and Software Quality Management. Level 5: Optimizing In the optimized organization, a process of continuous improvement occurs. Sophisticated software development processes are in place that ensure that feedback from one phase reaches to the previous phase to improve future results. SEI defines the key process areas for this level as Defect Prevention, Technology Change Management, and Process Change Management. CMM has largely been superseded by a new model called the Capability Maturity Model Integration (CMMI). The CMMI uses the same five stages as the CMM but calls level 4 Quantitatively Managed, rather than Managed.

The major difference between CMM and CMMI is that CMM focuses on isolated processes, whereas CMMI focuses on the integration among those processes. Software Assurance Maturity Model (SAMM) The Software Assurance Maturity Model (SAMM) is an open-source project maintained by OWASP. It seeks to provide a framework for integrating security activities into the software development and maintenance process and to offer organizations the ability to assess their maturity. SAMM divides the software development process into five business functions: Governance The activities an organization undertakes to manage its software development process.

This function includes practices for strategy, metrics, policy, compliance, education, and guidance. Design The process used by the organization to define software requirements and create software. This function includes practices for threat modeling, threat assessment, security requirements, and security architecture. Implementation The process of building and deploying software components and managing flaws in those components. This function includes the secure build, secure deployment, and defect management practices.

中文直译 / 整理

为定量过程管理和软件质量管理。 第5级:优化在优化型组织中,会发生持续改进的过程。 已建立复杂的软件开 发流程,确保从一个阶段获得的反馈能够传递到前一阶段,以改进未来的结果。 SEI将该级别的关键过程领域定义为缺陷预防、技术变更管理和过程变更管理。 CMM在很大程度上已被一种名为能力成熟度模型集成(CMMI)的新 模型所取代。 CMMI使用与CMM相同的五个阶段,但将第4级称为量化管 理,而非管理。 CMM与CMMI的主要区别在于,CMM关注孤立的过程, 而CMMI则关注这些过程之间的集成。 软件保障成熟度模型(SAMM) 软件保障成熟度模型(SAMM)是由OWASP维护的开源项目。 它旨在提供 一个框架,将安全活动整合到软件开发和维护过程中,并帮助组织评估其成 熟度。 SAMM 将软件开发过程分为五个业务 功能: 治理 组织为管理其软件开发过程而开展的活动。 此功能包括策略、指标、政策、 合规、教育和指导方面的实践。 设计 组织用于定义软件需求并创建软件的过程。 此功能包括威胁建模、威胁评 估、安全需求和安全架构方面的实践。 实现 构建和部署软件组件并管理这些组件中缺陷的过程。

此功能包括安全构建、 安全部署和缺陷管理实践。

小白解释

场景先行:凌晨监控告警:某台服务器开始大量外连。你不能先忙着写报告,也不能直接关全网。事件响应要按顺序做:确认、遏制、根除、恢复、复盘。

这一页真正想让你理解的是:框架帮助组织系统化管理控制,而不是想到哪做到哪。

把它放进公司里看,关键不是背定义,而是判断:步骤乱了会扩大损失,或者破坏证据。

你作为负责人可以这样想:先保全证据和控制影响,再清除原因并恢复业务。

本页术语用人话说:

ISO:ISO 是国际标准化组织,常见安全管理体系如 ISO 27001/27002。

政策:政策是高层原则,说明必须遵守什么。

威胁建模:威胁建模是在设计和生命周期中提前识别威胁。

日志:日志记录系统和用户活动,用于监控、审计和调查。

常见误区:不要一上来就删除文件或重装系统;可能会破坏调查证据。

读完后用一句话复述:如果我是事件响应负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“安全控制框架:用成熟框架组织安全”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是事件响应负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

ISO 偏标准和管理体系。

Policy 高层、强制、稳定;Procedure 具体步骤。

越早做威胁建模,修复成本越低。

日志要保护完整性、时间同步和访问控制。

排除法提醒:不要一上来就删除文件或重装系统;可能会破坏调查证据。

本页术语拆解
ISO ISO 是国际标准化组织,常见安全管理体系如 ISO 27001/27002。
政策 政策是高层原则,说明必须遵守什么。
威胁建模 威胁建模是在设计和生命周期中提前识别威胁。
日志 日志记录系统和用户活动,用于监控、审计和调查。
学习单元 29 / PDF P1352

机密性:让该看的人看,不该看的人看不到

机密性重点是防泄露,同时不能妨碍授权访问。

教材原文段落

Verification The set of activities undertaken by the organization to confirm that code meets business and security requirements. This function includes architecture assessment, requirements-driven testing, and security testing. Operations The actions taken by an organization to maintain confidentiality, integrity, and availability throughout the software life cycle after code is released. This function includes incident management, environment management, and operational management. Each of these business functions is then broken out by applicable security practices, as shown in Figure 20.5.

FIGURE 20.5 Software Assurance Maturity Model IDEAL Model The Software Engineering Institute also developed the IDEAL model for software development, which implements many of the SW-CMM attributes. The IDEAL model has five phases: 1. Initiating: In the initiating phase of the IDEAL model, the business reasons behind the change are outlined, support is built for the initiative, and the appropriate infrastructure is put in place.

中文直译 / 整理

验证 组织为确认代码符合业务和安全要求而开展的一系列活动。 此功能包括架 构评估、需求驱动的测试和安全测试。 运营 组织在代码发布后,为在整个软件生命周期中保持机密性、完整性和可 用性而采取的行动。 此功能包括事件管理、环境管理和运营管理。 这些业务功能随后根据适用的安全实践进行细分,如图20.5所示。 图20.5 软件保障成熟度模型 IDEAL模型 软件工程学院还开发了用于软件开发的IDEAL模型,该模型实现了许多 SW‑CMM属性。 IDEAL模型包括五个阶段: 1. 启动:在IDEAL模型的启动阶段,将阐明变更的业务原因,建立对举措的 支持,并部署适当的基础设施。

小白解释

场景先行:想象公司有一个客户订单系统:客户资料被别人看到是机密性问题,订单金额被偷偷改是完整性问题,系统打不开是可用性问题。教材这一页就是教你把事故先翻译成安全目标。

这一页真正想让你理解的是:机密性重点是防泄露,同时不能妨碍授权访问。

把它放进公司里看,关键不是背定义,而是判断:把泄露、篡改、宕机混在一起,就会选错控制措施。

你作为负责人可以这样想:先判断事故破坏了 CIA 哪一项,再选择对应控制:防泄露、防篡改、保可用。

本页术语用人话说:

机密性:机密性让该看的人能看,不该看的人看不到。

完整性:完整性保证数据没有被未授权修改,并且仍然正确可信。

可用性:可用性保证授权用户需要时能及时使用系统和数据。

常见误区:不要把所有安全问题都归成“被黑了”。考试会逼你分清到底是泄露、篡改还是中断。

读完后用一句话复述:如果我是业务系统负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“机密性:让该看的人看,不该看的人看不到”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是业务系统负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

加密、访问控制、分类、培训都常用于保护机密性。

哈希、数字签名、变更控制、输入校验常对应完整性。

冗余、备份、BCP/DRP、抗 DoS、容量规划都对应可用性。

排除法提醒:不要把所有安全问题都归成“被黑了”。考试会逼你分清到底是泄露、篡改还是中断。

本页术语拆解
机密性 机密性让该看的人能看,不该看的人看不到。
完整性 完整性保证数据没有被未授权修改,并且仍然正确可信。
可用性 可用性保证授权用户需要时能及时使用系统和数据。
学习单元 30 / PDF P1353

第 1353 页学习单元

这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

教材原文段落

2. Diagnosing: During the diagnosing phase, engineers analyze the current state of the organization and make general recommendations for change. 3. Establishing: In the establishing phase, the organization takes the general recommendations from the diagnosing phase and develops a specific plan of action that helps achieve those changes. 4. Acting: In the acting phase, it's time to stop “talking the talk” and “walk the walk.” The organization develops solutions and then tests, refines, and implements them. 5.

Learning: As with any quality improvement process, the organization must continuously analyze its efforts to determine whether it has achieved the desired goals, and when necessary, propose new actions to put the organization back on course. The IDEAL model is illustrated in Figure 20.6. 2.

中文直译 / 整理

诊断:在诊断阶段,工程师分析组织的当前状态,并提出一般性改进建议。 3. 建立:在建立阶段,组织采纳诊断阶段提出的一般性建议,制定具体 的行动计划以实现这些变革。 4. 实施:在实施阶段,是时候停止“空谈”而开始“实干”了。 组织开发 解决方案,然后进行测试、优化和实施。 5. 学习:与任何质量改进过程一样,组织必须持续分析其努力,以确定是 否实现了预期目标,并在必要时提出新的行动,使组织重回正轨。 IDEAL模型如图20.6所示。

小白解释

场景先行:员工在家访问公司系统,流量要穿过家庭网络、互联网、防火墙、VPN、服务器。网络安全题就是让你判断问题发生在哪一层、用哪个控制放在什么位置。

这一页真正想让你理解的是:这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

把它放进公司里看,关键不是背定义,而是判断:不分层就会乱选设备:该加密的地方装防火墙,该监测的地方却只做访问控制。

你作为负责人可以这样想:先定位网络层次,再决定是分段、过滤、加密、检测还是阻断。

本页术语用人话说:

OSI 模型:OSI 用七层结构理解网络通信,从物理层到应用层。

常见误区:不要以为防火墙能解决所有网络问题;它只是控制流量的一类工具。

读完后用一句话复述:如果我是网络安全工程师,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“第 1353 页学习单元”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是网络安全工程师在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

网络题先定位层次,再判断协议、设备或攻击位置。

排除法提醒:不要以为防火墙能解决所有网络问题;它只是控制流量的一类工具。

本页术语拆解
OSI 模型 OSI 用七层结构理解网络通信,从物理层到应用层。
学习单元 31 / PDF P1354

第 1354 页学习单元

这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

教材原文段落

FIGURE 20.6 The IDEAL model Source: IDEAL Model, 2004 / Carnegie Mellon University.

中文直译 / 整理

图 20.6 IDEAL 模型 来源:IDEAL 模型,2004 年 / 卡内基梅隆大学。

小白解释

场景先行:你是公司的安全负责人,正在读第 1354 页这一组概念。老板不会问你背定义,而是问:这件事会不会影响业务、谁负责、要不要花钱、出了事能不能解释清楚。

这一页真正想让你理解的是:这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

把它放进公司里看,关键不是背定义,而是判断:概念没放进业务场景,容易只背词,做题时不知道该选管理动作还是技术动作。

你作为负责人可以这样想:先确认业务目标和风险,再选控制措施,最后留下政策、审批、日志或证据。

如果这一页没有明显术语,就按“谁在做事、保护什么、怕什么、用什么控制、留下什么证据”来拆。

常见误区:不要一看到安全题就直接选最强工具;CISSP 更常考“在这个场景下谁该负责、下一步是什么”。

读完后用一句话复述:如果我是安全负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“第 1354 页学习单元”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是安全负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

排除法提醒:不要一看到安全题就直接选最强工具;CISSP 更常考“在这个场景下谁该负责、下一步是什么”。

本页术语拆解

本页没有识别到重点术语,按原文顺序理解即可。

学习单元 32 / PDF P1355

第 1355 页学习单元

这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

教材原文段落

SW-CMM and IDEAL Model Memorization To help you remember the initial letters of each of the 10 level names of the SW-CMM and IDEAL models (II DR ED AM LO), imagine yourself sitting on the couch in a psychiatrist's office saying, “I…I, Dr. Ed, am lo(w).” If you can remember that phrase, then you can extract the 10 initial letters of the level names. If you write the letters out into two columns, you can reconstruct the level names in order of the two systems. The left column is the IDEAL model, and the right represents the levels of the SW-CMM.

IDEAL PhasesSW-CMM Phases Initiating Initial Diagnosing Repeatable Establishing Defined Acting Managed Learning Optimizing Gantt Charts and PERT A Gantt chart is a type of bar chart that shows the interrelationships over time between projects and schedules. It provides a graphical illustration of a schedule that helps you plan, coordinate, and track specific tasks in a project. Gantt charts are particularly useful when coordinating tasks that require the use of the same team members or other resources. Figure 20.7 shows an example of a Gantt chart. SW‑CMM

中文直译 / 整理

和 IDEAL 模型记忆 为了帮助您记住 SW‑CMM 和 IDEAL 模型的 10 个级别名称的首字母 (II DR ED AM LO),请想象自己坐在精神科医生的沙发上,说:"我... 我,Dr. Ed,am lo(w)。 " 如果您能记住这句话,就可以提取出这 10 个 级别名称的首字母。 如果您将这些字母写成两列,就可以按顺序重建两个 系统的级别名称。 左侧一列是 IDEAL 模型,右侧代表 SW‑CMM 的级别。 IDEAL 阶段 SW‑CMM 阶段 启动 初始 诊断 可重复 建立 已定义 执行 管理 学习 优化 甘特图与PERT A 甘特图 是一种条形图,用于显示项目与计划之间随时间变化的相互关系。 它 以图形方式展示计划,帮助您规划、协调和跟踪项目中的特定任务。 当协调需 要使用相同团队成员或其他资源的任务时,甘特图特别有用。 图 20.7 展示了 一个甘特图的例子。

小白解释

场景先行:员工在家访问公司系统,流量要穿过家庭网络、互联网、防火墙、VPN、服务器。网络安全题就是让你判断问题发生在哪一层、用哪个控制放在什么位置。

这一页真正想让你理解的是:这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

把它放进公司里看,关键不是背定义,而是判断:不分层就会乱选设备:该加密的地方装防火墙,该监测的地方却只做访问控制。

你作为负责人可以这样想:先定位网络层次,再决定是分段、过滤、加密、检测还是阻断。

本页术语用人话说:

OSI 模型:OSI 用七层结构理解网络通信,从物理层到应用层。

入侵防御系统 IPS:IPS 可检测并主动阻断恶意流量。

常见误区:不要以为防火墙能解决所有网络问题;它只是控制流量的一类工具。

读完后用一句话复述:如果我是网络安全工程师,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“第 1355 页学习单元”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是网络安全工程师在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

网络题先定位层次,再判断协议、设备或攻击位置。

IPS 放在线路中,误报可能影响可用性。

排除法提醒:不要以为防火墙能解决所有网络问题;它只是控制流量的一类工具。

本页术语拆解
OSI 模型 OSI 用七层结构理解网络通信,从物理层到应用层。
入侵防御系统 IPS IPS 可检测并主动阻断恶意流量。
学习单元 33 / PDF P1356

第 1356 页学习单元

这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

教材原文段落

FIGURE 20.7 Gantt chart Program Evaluation Review Technique (PERT) is a project-scheduling tool used to judge the size of a software product in development and calculate the standard deviation (SD) for risk assessment. PERT relates the estimated lowest possible size, the most likely size, and the highest possible size of each component. The PERT chart clearly shows the dependencies between different project tasks. Project managers can use these size estimates and dependencies to better manage the time of team members and perform task scheduling. PERT is used to direct improvements to project management and software coding in order to produce more efficient software.

As the capabilities of programming and management improve, the actual produced size of software should be smaller. Change and Configuration Management Once software has been released into a production environment, users will inevitably request the addition of new features, correction of bugs, and other modifications to the code. Just as the organization developed a regimented process for developing software, they must also put a procedure in place to manage changes in an organized fashion. Those changes should then be logged to a central repository to support future auditing, investigation, troubleshooting, and analysis requirements.

中文直译 / 整理

图 20.7 甘特图 计划评审技术(PERT)是一种项目调度工具,用于评估开发中软件产品的规 模并计算风险评估的标准差(SD)。 PERT 将每个组件的估计最小规模、最可 能规模和最大规模关联起来。 PERT 图清晰地展示了不同项目任务之间的依赖 关系。 项目经理可以利用这些规模估计和依赖关系更好地管理团队成员的时间 并进行任务调度。 PERT 用于指导项目管理和软件编码的改进,以生产更高效 的软件。 随着编程和管理能力的提升,实际生产的软件规模应变得更小。 变更与配置管理 一旦软件被发布到生产环境,用户必然会要求添加新功能、修复漏洞以及其他 代码修改。 正如组织为软件开发制定了严格的流程一样,他们也必须建立一套 程序,以有组织的方式管理这些变更。 这些变更应记录到中央存储库中,以支 持未来的审计、调查、故障排除和分析需求。

小白解释

场景先行:新员工入职后要登录系统。第一步是声明身份,第二步证明身份,第三步决定能访问哪些数据,最后系统要记录他做了什么。IAM 题就是围绕这条链条出题。

这一页真正想让你理解的是:这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

把它放进公司里看,关键不是背定义,而是判断:认证成功不代表什么都能做;离职、调岗、权限漂移都会造成越权。

你作为负责人可以这样想:把识别、认证、授权、审计分开看,再用最小权限和定期复核收口。

本页术语用人话说:

风险评估:风险评估是先找资产、威胁、漏洞和影响,再决定控制措施。

审计:审计记录主体行为,用于追责、复盘和取证。

标准:标准给出必须满足的最低要求。

程序:程序是一步一步怎么做。

常见误区:不要把 authentication 和 authorization 混成一件事:前者证明你是谁,后者决定你能干什么。

读完后用一句话复述:如果我是IAM 管理员,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“第 1356 页学习单元”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是IAM 管理员在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

风险评估不是漏洞扫描;它更高层,服务于决策和资源分配。

没有日志和身份绑定,就很难问责。

Minimum level、mandatory requirement 常对应 standard。

Step-by-step、SOP 常对应 procedure。

网络题先定位层次,再判断协议、设备或攻击位置。

排除法提醒:不要把 authentication 和 authorization 混成一件事:前者证明你是谁,后者决定你能干什么。

本页术语拆解
风险评估 风险评估是先找资产、威胁、漏洞和影响,再决定控制措施。
审计 审计记录主体行为,用于追责、复盘和取证。
标准 标准给出必须满足的最低要求。
程序 程序是一步一步怎么做。
OSI 模型 OSI 用七层结构理解网络通信,从物理层到应用层。
审计 审计检查控制是否存在、是否有效、是否符合要求。
日志 日志记录系统和用户活动,用于监控、审计和调查。
学习单元 34 / PDF P1357

完整性:数据要正确、可信、未被乱改

完整性不只是防黑客篡改,也包括防授权用户误操作。

教材原文段落

Change Management as a Security Tool Change management (also known as control management) plays an important role when monitoring systems in the controlled environment of a data center. One of the authors recently worked with an organization that used change management as an essential component of its efforts to detect unauthorized changes to computing systems. File integrity monitoring tools allow you to monitor a system for changes. This organization used such a tool to monitor hundreds of production servers. However, the organization quickly found itself overwhelmed by file modification alerts resulting from normal activity.

The author worked with them to tune the file integrity monitoring policies and integrate them with the organization's change management process. Now all file integrity alerts go to a centralized monitoring center, where administrators correlate them with approved changes. System administrators receive an alert only if the security team identifies a change that does not appear to correlate with an approved change request. This approach greatly reduced the time spent by administrators reviewing file integrity reports and improved the usefulness of the tool to security administrators.

The change management process has three basic components: Request Control The request control process provides an organized framework within which users can request modifications, managers can conduct cost/benefit analysis, and developers can prioritize tasks. Change Control The change control process is used by developers to recreate the situation encountered by the user and to analyze the appropriate changes to remedy the situation. It also provides an organized framework within which multiple developers can create and test a solution prior to rolling it out into a production environment. Change control includes conforming to quality control restrictions, developing tools for update or

中文直译 / 整理

作为安全工具的变更管理 变更管理(也称为控制管理)在数据中心受控环境中监控系统时发挥着重 要作用。 其中一位作者最近与一家组织合作,该组织将变更管理作为检测 计算系统未授权变更的关键组成部分。 文件完整性监控工具可让您监控系统中的变更。 该组织使用此类工具监控 数百台生产服务器。 然而,该组织很快发现,由正常活动引发的文件修改 警报数量过多,令人应接不暇。 作者与他们合作,调整了文件完整性监控 策略,并将其与组织的变更管理流程集成。 现在,所有文件完整性警报都 会发送到集中监控中心,管理员在此将警报与已批准的变更进行关联。 只 有当安全团队识别出与已批准变更请求无关的变更时,系统管理员才会收 到警报。 这种方法大大减少了管理员审查文件完整性报告所花费的时间,并提高了 该工具对安全管理员的实用性。 变更管理流程包含三个基本组成部分: 请求控制 请求控制流程为用户提供了一个有序的框架,以便用户可以提出 修改请求,管理者可以进行成本/效益分析,开发人员可以优先处理任务。 变更控制 变更控制流程供开发人员使用,以重现用户遇到的情况并分析适当的 更改以解决该情况。

它还提供了一个有组织的框架,使多个开发人员能够在将 解决方案部署到生产环境之前进行创建和测试。 变更控制包括遵守质量控制限 制、开发更新或

小白解释

场景先行:想象公司有一个客户订单系统:客户资料被别人看到是机密性问题,订单金额被偷偷改是完整性问题,系统打不开是可用性问题。教材这一页就是教你把事故先翻译成安全目标。

这一页真正想让你理解的是:完整性不只是防黑客篡改,也包括防授权用户误操作。

把它放进公司里看,关键不是背定义,而是判断:把泄露、篡改、宕机混在一起,就会选错控制措施。

你作为负责人可以这样想:先判断事故破坏了 CIA 哪一项,再选择对应控制:防泄露、防篡改、保可用。

本页术语用人话说:

完整性:完整性保证数据没有被未授权修改,并且仍然正确可信。

授权:授权是认证之后决定你能访问什么、能做什么。

NIST:NIST 提供美国常用安全标准、框架和指南。

常见误区:不要把所有安全问题都归成“被黑了”。考试会逼你分清到底是泄露、篡改还是中断。

读完后用一句话复述:如果我是业务系统负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“完整性:数据要正确、可信、未被乱改”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是业务系统负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

哈希、数字签名、变更控制、输入校验常对应完整性。

认证成功不等于什么都能做;权限仍要单独授权。

看到 SP 800 系列、CSF、RMF 常联想到 NIST。

排除法提醒:不要把所有安全问题都归成“被黑了”。考试会逼你分清到底是泄露、篡改还是中断。

本页术语拆解
完整性 完整性保证数据没有被未授权修改,并且仍然正确可信。
授权 授权是认证之后决定你能访问什么、能做什么。
NIST NIST 提供美国常用安全标准、框架和指南。
学习单元 35 / PDF P1358

安全控制框架:用成熟框架组织安全

框架帮助组织系统化管理控制,而不是想到哪做到哪。

教材原文段落

change deployment, properly documenting any coded changes, and restricting the effects of new code to minimize diminishment of security. Release Control Once the changes are finalized, they must be approved for release through the release control procedure. An essential step of the release control process is to double-check and ensure that any code inserted as a programming aid during the change process (such as debugging code and/or backdoors) is removed before releasing the new software to production. This process also ensures that only approved changes are made to production systems.

Release control should also include acceptance testing to ensure that any alterations to end-user work tasks are understood and functional. In addition to the change management process, security administrators should be aware of the importance of software configuration management (SCM). This process is used to control the version(s) of software used throughout an organization and to formally track and control changes to the software configuration. It has four main components: Configuration Identification During the configuration identification process, administrators document the configuration of covered software products throughout the organization.

Configuration Control The configuration control process ensures that changes to software versions are made in accordance with the change control and configuration management policies. Updates can be made only from authorized distributions in accordance with those policies. Configuration Status Accounting Formalized procedures are used to keep track of all authorized changes that take place. Configuration Audit A periodic configuration audit should be conducted to ensure that the actual production environment is consistent with the accounting records and that no unauthorized configuration changes have taken place.

Together, change and configuration management techniques form an important part of the software engineer's arsenal and protect the organization from development-related security issues. The DevOps Approach Recently, many technology professionals recognized a disconnect between the major IT functions of software development, quality assurance, and

中文直译 / 整理

变更部署、正确记录任何代码更改,并限制新代码的影响,以最小化对安全性的削 弱。 发布控制一旦更改完成,必须通过发布控制程序批准发布。 发布控制过程中的一 个关键步骤是双重检查并确保在更改过程中作为编程辅助插入的任何代码(例如 调试代码和/或后门)在将新软件发布到生产环境之前已被移除。 此过程还确保只 有经过批准的更改才能应用于生产系统。 发布控制还应包括验收测试,以确保对 最终用户工作任务的任何更改都被理解并正常运行。 除了变更管理流程外,安全管理员还应了解软件配置管理(SCM)的重要性。 该流程用于控制整个组织中使用的软件版本,并正式跟踪和控制软件配置的 更改。 它包含四个主要组成部分: 配置识别在配置识别过程中,管理员记录组织内所有受覆盖软件产品的配置。 配置控制配置控制流程确保软件版本的更改符合变更控制和配置管理策略。 只有 根据这些策略从授权分发源进行的更新才可执行。 配置状态会计 使用规范化程序来跟踪所有已授权的变更。 配置审计 应定期进行配置审计,以确保实际生产环境与会计记录一致,并且没 有发生未经授权的配置变更。

变更管理和配置管理技术共同构成了软件工程师工具箱中的重要部分,保护组 织免受与开发相关的安全问题影响。 DevOps 方法 最近,许多技术专业人士意识到软件开发、质量保证和

小白解释

场景先行:新员工入职后要登录系统。第一步是声明身份,第二步证明身份,第三步决定能访问哪些数据,最后系统要记录他做了什么。IAM 题就是围绕这条链条出题。

这一页真正想让你理解的是:框架帮助组织系统化管理控制,而不是想到哪做到哪。

把它放进公司里看,关键不是背定义,而是判断:认证成功不代表什么都能做;离职、调岗、权限漂移都会造成越权。

你作为负责人可以这样想:把识别、认证、授权、审计分开看,再用最小权限和定期复核收口。

本页术语用人话说:

授权:授权是认证之后决定你能访问什么、能做什么。

审计:审计记录主体行为,用于追责、复盘和取证。

NIST:NIST 提供美国常用安全标准、框架和指南。

程序:程序是一步一步怎么做。

常见误区:不要把 authentication 和 authorization 混成一件事:前者证明你是谁,后者决定你能干什么。

读完后用一句话复述:如果我是IAM 管理员,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“安全控制框架:用成熟框架组织安全”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是IAM 管理员在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

认证成功不等于什么都能做;权限仍要单独授权。

没有日志和身份绑定,就很难问责。

看到 SP 800 系列、CSF、RMF 常联想到 NIST。

Step-by-step、SOP 常对应 procedure。

审计题关注独立性、证据、范围和报告。

排除法提醒:不要把 authentication 和 authorization 混成一件事:前者证明你是谁,后者决定你能干什么。

本页术语拆解
授权 授权是认证之后决定你能访问什么、能做什么。
审计 审计记录主体行为,用于追责、复盘和取证。
NIST NIST 提供美国常用安全标准、框架和指南。
程序 程序是一步一步怎么做。
审计 审计检查控制是否存在、是否有效、是否符合要求。
日志 日志记录系统和用户活动,用于监控、审计和调查。
学习单元 36 / PDF P1359

第 1359 页学习单元

这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

教材原文段落

technology operations. These functions, typically staffed with very different types of individuals and located in separate organizational silos, often conflicted with one another. This conflict resulted in lengthy delays in creating code, testing it, and deploying it onto production systems. When problems arose, instead of working together to cooperatively solve the issue, teams often “threw problems over the fence” at one another, resulting in bureaucratic back and forth. The DevOps approach seeks to resolve these issues by bringing the three functions together in a single operational model.

The word DevOps is a combination of Development and Operations, symbolizing that these functions must merge and cooperate to meet business requirements. The model in Figure 20.8 illustrates the overlapping nature of software development, quality assurance, and IT operations.

中文直译 / 整理

技术运营这三大IT职能之间存在脱节。 这些职能通常由截然不同类型的人员承 担,并分布在不同的组织孤岛中,常常相互冲突。 这种冲突导致代码编写、测 试和部署到生产系统的过程中出现长时间延误。 当问题出现时,团队通常不是 协同解决问题,而是彼此“把问题抛过围墙”,导致官僚主义的来回推诿。 DevOps 方法通过将这三个职能整合到一个统一的操作模型中来解决这些 问题。 单词DevOps是开发(Development)和运维(Operations)的组 合,象征着这些职能必须融合与协作以满足业务需求。 图Figure 20.8说明 了软件开发、质量保证和IT运维之间的重叠特性。

小白解释

场景先行:凌晨监控告警:某台服务器开始大量外连。你不能先忙着写报告,也不能直接关全网。事件响应要按顺序做:确认、遏制、根除、恢复、复盘。

这一页真正想让你理解的是:这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

把它放进公司里看,关键不是背定义,而是判断:步骤乱了会扩大损失,或者破坏证据。

你作为负责人可以这样想:先保全证据和控制影响,再清除原因并恢复业务。

本页术语用人话说:

日志:日志记录系统和用户活动,用于监控、审计和调查。

常见误区:不要一上来就删除文件或重装系统;可能会破坏调查证据。

读完后用一句话复述:如果我是事件响应负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“第 1359 页学习单元”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是事件响应负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

日志要保护完整性、时间同步和访问控制。

排除法提醒:不要一上来就删除文件或重装系统;可能会破坏调查证据。

本页术语拆解
日志 日志记录系统和用户活动,用于监控、审计和调查。
学习单元 37 / PDF P1360

第 1360 页学习单元

这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

教材原文段落

FIGURE 20.8 The DevOps model The DevOps model is closely aligned with the Agile development approach and aims to dramatically decrease the time required to develop, test, and deploy software changes. Although traditional approaches often resulted in major software deployments on an infrequent basis, perhaps annually, organizations using the DevOps model often deploy code several times per day. Some organizations even strive to reach the goal of continuous integration/continuous delivery (CI/CD), where code may roll out dozens or even hundreds of times per day. This requires a high degree of automation, including integrating code repositories, the software configuration

中文直译 / 整理

图 20.8 DevOps 模型 DevOps 模型与敏捷开发方法紧密契合,旨在显著缩短开发、测试和部署软件 变更所需的时间。 尽管传统方法通常导致软件部署频率较低,例如每年一次, 但采用 DevOps 模型的组织通常每天会部署代码数次。 一些组织甚至致力于实 现持续集成/持续交付(CI/CD)的目标,在此模式下,代码每天可能发布数十 次甚至数百次。 这需要高度的自动化,包括集成代码仓库、软件配置

小白解释

场景先行:员工在家访问公司系统,流量要穿过家庭网络、互联网、防火墙、VPN、服务器。网络安全题就是让你判断问题发生在哪一层、用哪个控制放在什么位置。

这一页真正想让你理解的是:这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

把它放进公司里看,关键不是背定义,而是判断:不分层就会乱选设备:该加密的地方装防火墙,该监测的地方却只做访问控制。

你作为负责人可以这样想:先定位网络层次,再决定是分段、过滤、加密、检测还是阻断。

本页术语用人话说:

OSI 模型:OSI 用七层结构理解网络通信,从物理层到应用层。

常见误区:不要以为防火墙能解决所有网络问题;它只是控制流量的一类工具。

读完后用一句话复述:如果我是网络安全工程师,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“第 1360 页学习单元”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是网络安全工程师在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

网络题先定位层次,再判断协议、设备或攻击位置。

排除法提醒:不要以为防火墙能解决所有网络问题;它只是控制流量的一类工具。

本页术语拆解
OSI 模型 OSI 用七层结构理解网络通信,从物理层到应用层。
学习单元 38 / PDF P1361

第 1361 页学习单元

这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

教材原文段落

management process, and the movement of code between development, testing, and production environments. If you're interested in learning more about DevOps, the authors highly recommend the book The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win by Gene Kim, Kevin Behr, and George Spafford (IT Revolution Press, 2013). This book presents the case for DevOps and shares DevOps strategies in an entertaining, engaging novel form. The tight integration of development and operations also calls for the simultaneous integration of security controls. If code is being rapidly developed and moved into production, security must also move with that same agility.

For this reason, many people prefer to use the term DevSecOps to refer to the integration of development, security, and operations. The DevSecOps approach also supports the concept of software-defined security, where security controls are actively managed by code, allowing them to be directly integrated into the CI/CD pipeline. Application Programming Interfaces Although early web applications were often stand-alone systems that processed user requests and provided output, modern web applications are much more complex. They often include interactions between a number of different web services.

For example, a retail website might make use of an external credit card processing service, allow users to share their purchases on social media, integrate with shipping provider sites, and offer a referral program on other websites. For these cross-site functions to work properly, the websites must interact with one another. Many organizations offer application programming interfaces (APIs) for this purpose. APIs allow application developers to bypass traditional web pages and interact directly with the underlying service through function calls. For example, a social media API might include some of the following API function calls: Post status Follow user

中文直译 / 整理

管理流程,以及代码在开发、测试和生产环境之间的迁移。 如果您希望深入了解DevOps,作者强烈推荐Gene Kim、Kevin Behr和George Spafford所著的《凤凰项目:一部关于IT、DevOps与助 力企业获胜的小说》(IT Revolution Press,2013年)。 这本书以生动 有趣的小说形式,阐述了DevOps的必要性,并分享了DevOps策略。 开发与运维的紧密集成也要求安全控制同步整合。 如果代码正在快速开发并部 署至生产环境,安全性也必须具备同样的敏捷性。 因此,许多人更倾向于使用 术语DevSecOps来指代开发、安全与运维的整合。 DevSecOps方法还支持软 件定义安全的概念,即安全控制由代码主动管理,使其能够直接集成到 CI/CD流水线中。 应用程序编程接口 尽管早期的Web应用程序通常是独立系统,用于处理用户请求并提供输出, 但现代Web应用程序要复杂得多。 它们通常涉及多个不同Web服务之间的交 互。 例如,一个零售网站可能会使用外部信用卡处理服务,允许用户在社交 媒体上分享其购买行为,集成货运提供商网站,并在其他网站上提供推荐计 划。

为了使这些跨站功能正常工作,网站之间必须相互交互。 许多组织为此目的提 供了应用程序编程接口(API)。 API允许应用程序开发人员绕过传统网页, 通过函数调用直接与底层服务交互。 例如,社交媒体API可能包含以下一些 API函数调用: 发布状态 关注用户

小白解释

场景先行:机房断电,业务部门问多久能恢复、最多会丢多少数据。BCP/DRP 不是背缩写,而是把业务能承受的中断时间和数据损失说清楚。

这一页真正想让你理解的是:这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

把它放进公司里看,关键不是背定义,而是判断:只做备份但没测试,真正灾难时可能恢复不了。

你作为负责人可以这样想:先做业务影响分析,再定 RTO/RPO,最后设计备份、冗余和演练。

本页术语用人话说:

程序:程序是一步一步怎么做。

恢复点目标 RPO:RPO 是最多能接受丢失多少时间范围的数据。

开发安全运营一体化:DevSecOps 把安全自动化嵌入开发和交付流程。

常见误区:RTO 问时间,RPO 问数据;这两个不要混。

读完后用一句话复述:如果我是业务连续性负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“第 1361 页学习单元”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是业务连续性负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

Step-by-step、SOP 常对应 procedure。

RPO 问数据:最多丢到哪个时间点。

自动化测试、持续集成、持续监控是关键词。

排除法提醒:RTO 问时间,RPO 问数据;这两个不要混。

本页术语拆解
程序 程序是一步一步怎么做。
恢复点目标 RPO RPO 是最多能接受丢失多少时间范围的数据。
开发安全运营一体化 DevSecOps 把安全自动化嵌入开发和交付流程。
学习单元 39 / PDF P1362

认证:证明身份

认证回答“你是不是你声称的那个人”。

教材原文段落

Unfollow user Like/Favorite a post Offering and using APIs creates tremendous opportunities for service providers, but it also poses some security risks. Developers must be aware of these challenges and address them when they create and use APIs. First, developers must consider authentication requirements. Some APIs, such as those that allow checking weather forecasts or product inventory, may be available to the general public and not require any authentication for use. Other APIs, such as those that allow modifying information, placing orders, or accessing sensitive information, may be limited to specific users and depend on secure authentication.

API developers must know when to require authentication and ensure that they verify credentials and authorization for every API call. This authentication is typically done by providing authorized API users with a complex API key that is passed with each API call. The backend system validates this API key before processing a request, ensuring that the system making the request is authorized to make the specific API call. API keys are like passwords and should be treated as sensitive information. They should always be stored in secure locations and transmitted only over encrypted communications channels.

If someone gains access to your API key, they can interact with a web service as if they were you. curl is an open-source tool available for major operating systems that allows users to directly access websites without the use of a browser. For this reason, curl is commonly used for API testing and also for potential API exploits by an attacker.

For example, consider this curl command: curl -H "Content-Type: application/json" -X POST -d '{"week": 10, "hrv": 80, "sleephrs": 9, "sleepquality": 2, "stress": 3, "paxid": 1 }'https://prod.myapi.com/v1 The purpose of this command is to send a POST request to the URL https://prod.myapi.com/v1 that contains information being sent to the API in JSON format. You don't need to worry about the format of this command

中文直译 / 整理

取消关注用户 点赞/收藏帖子 提供和使用 API 为服务提供商创造了巨大的机会,但也带来了一些安全风险。 开发人员必须意识到这些挑战,并在创建和使用 API 时加以应对。 首先,开发人员必须考虑身份验证要求。 某些 API,例如用于查询天气预报或 产品库存的 API,可能对公众开放,无需身份验证即可使用。 其他 API,例如 用于修改信息、下单或访问敏感信息的 API,则可能仅限特定用户使用,并依 赖安全的身份验证。 API 开发人员必须清楚何时需要身份验证,并确保对每次 API 调用都验证凭据和授权。 这种身份验证通常通过向授权的 API 用户提供 一个复杂的 API 密钥来实现,该密钥随每次 API 调用一并传递。 后端系统在 处理请求前会验证此 API 密钥,以确保发出请求的系统已获得执行特定 API 调用的授权。 API 密钥类似于密码,应被视为敏感信息。 它们应始终存储在安全 位置,并仅通过加密通信通道传输。 如果他人获取了您的 API 密钥,他 们就可以像您一样与网络服务进行交互。 curl 是一个开源工具,适用于主流操作系统,允许用户无需使用浏览器直接访 问网站。

因此,curl 常用于 API 测试,也常被攻击者用于潜在的 API 攻击。 例如,考虑以下 curl 命令: curl ‑H "Content‑Type: application/json" ‑X POST ‑d '{"week": 10, "hrv": 80, "sleephrs": 9, "sleepquality": 2, "stress": 3, "paxid": 1 }'https://prod.myapi.com/v1 此命令的目的是向 URL 发送一个 POST 请求 https://prod.myapi.com/v1,其中包含以 JSON 格式发送到 API 的信息。 您无需担心 此命令的格式

小白解释

场景先行:新员工入职后要登录系统。第一步是声明身份,第二步证明身份,第三步决定能访问哪些数据,最后系统要记录他做了什么。IAM 题就是围绕这条链条出题。

这一页真正想让你理解的是:认证回答“你是不是你声称的那个人”。

把它放进公司里看,关键不是背定义,而是判断:认证成功不代表什么都能做;离职、调岗、权限漂移都会造成越权。

你作为负责人可以这样想:把识别、认证、授权、审计分开看,再用最小权限和定期复核收口。

本页术语用人话说:

认证:认证是验证“你是不是你声称的那个人”。

授权:授权是认证之后决定你能访问什么、能做什么。

加密:加密把内容变成未授权者看不懂的形式。

身份:身份是主体在系统中的标识。

常见误区:不要把 authentication 和 authorization 混成一件事:前者证明你是谁,后者决定你能干什么。

读完后用一句话复述:如果我是IAM 管理员,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“认证:证明身份”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是IAM 管理员在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

密码、令牌、生物特征、多因素认证都服务认证。

认证成功不等于什么都能做;权限仍要单独授权。

加密主要保护机密性,也可配合签名、哈希支持完整性和真实性。

身份管理题要区分识别、认证、授权、审计。

RPO 问数据:最多丢到哪个时间点。

排除法提醒:不要把 authentication 和 authorization 混成一件事:前者证明你是谁,后者决定你能干什么。

本页术语拆解
认证 认证是验证“你是不是你声称的那个人”。
授权 授权是认证之后决定你能访问什么、能做什么。
加密 加密把内容变成未授权者看不懂的形式。
身份 身份是主体在系统中的标识。
恢复点目标 RPO RPO 是最多能接受丢失多少时间范围的数据。
学习单元 40 / PDF P1363

机密性:让该看的人看,不该看的人看不到

机密性重点是防泄露,同时不能妨碍授权访问。

教材原文段落

as you prepare for the exam, but you should be familiar with the concept that curl may be used to post requests to an API. APIs must also be tested thoroughly for security flaws, just like any web application. You'll learn more about this in the next section. Software Testing As part of the development process, your organization should thoroughly test any software before distributing it internally (or releasing it to market). This testing is a crucial component of the risk analysis and mitigation efforts associated with software development. The organization uses comprehensive testing to identify potential risks and mitigates them by modifying code and/or adopting compensating controls.

The best time to address testing is as the modules are designed. In other words, the mechanisms you use to test a product and the datasets you use to explore that product should be designed in parallel with the product itself. Your programming team should develop special test suites of data that exercise all paths of the software to the fullest extent possible and know the correct resulting outputs beforehand. One of the tests you should perform is a reasonableness check. The reasonableness check ensures that values returned by software match specified criteria that are within reasonable bounds.

For example, a routine that calculated optimal weight for a human being and returned a value of 612 pounds would certainly fail a reasonableness check! Furthermore, while conducting software testing, you should check how the product handles normal and valid input data, incorrect types, out-of-range values, and other bounds and/or conditions. Live workloads provide the best stress testing possible. However, you should not use live or actual field data for testing, especially in the early development stages, since a flaw or error could result in the violation of integrity or confidentiality of the test data.

This process should involve the use of both use cases, which mirror normal activity, and misuse cases, which attempt to model the activity of an attacker. Including both of these approaches helps testers understand how the code will perform under normal activity (including normal errors) and when subjected to the extreme conditions imposed by an attacker. When testing software, you should apply the same rules of separation of duties that you do for other aspects of your organization. In other words, you

中文直译 / 整理

在您为考试做准备时,但您应熟悉 curl 可用于向 API 发送 POST 请求这一概念。 API 也必须像任何 Web 应用程序一样进行彻底的安全性测试。 您将在下一节 中了解更多相关内容。 软件测试 作为开发过程的一部分,您的组织在将任何软件分发给内部使用(或发布到市 场)之前,应对其进行彻底测试。 这种测试是与软件开发相关的风险分析和缓 解工作的重要组成部分。 组织通过全面的测试来识别潜在风险,并通过修改代 码和/或采用补偿性控制措施来缓解这些风险。 解决测试问题的最佳时机是在模块设计时。 换句话说,用于测试产品的机制以 及用于探索产品的数据集,应与产品本身并行设计。 您的编程团队应开发专门 的测试数据套件,尽可能全面地覆盖软件的所有路径,并事先了解正确的输出 结果。 您应执行的一项测试是 合理性检查。 合理性检查确保软件返回的值符合在合理 范围内的指定标准。 例如,一个计算人体最佳体重的例程如果返回 612 磅的值, 显然会无法通过合理性检查! 此外,在进行软件测试时,您应检查产品如何处理正常且有效的输入数据、错 误的类型、超出范围的值以及其他边界和/或条件。 实际工作负载能提供最佳的 压力测试效果。

然而,您不应在测试中使用实际的现场数据,尤其是在早期开 发阶段,因为任何缺陷或错误都可能导致测试数据的完整性或机密性遭到破坏。 此过程应同时使用使用场景(模拟正常活动)和误用场景(尝试模拟攻击者的 行为)。 结合这两种方法有助于测试人员了解代码在正常活动(包括正常错误) 下的表现,以及在遭受攻击者施加的极端条件时的表现。 在测试软件时,您应应用与组织其他方面相同的职责分离规则。 换句话说,您

小白解释

场景先行:想象公司有一个客户订单系统:客户资料被别人看到是机密性问题,订单金额被偷偷改是完整性问题,系统打不开是可用性问题。教材这一页就是教你把事故先翻译成安全目标。

这一页真正想让你理解的是:机密性重点是防泄露,同时不能妨碍授权访问。

把它放进公司里看,关键不是背定义,而是判断:把泄露、篡改、宕机混在一起,就会选错控制措施。

你作为负责人可以这样想:先判断事故破坏了 CIA 哪一项,再选择对应控制:防泄露、防篡改、保可用。

本页术语用人话说:

机密性:机密性让该看的人能看,不该看的人看不到。

完整性:完整性保证数据没有被未授权修改,并且仍然正确可信。

标准:标准给出必须满足的最低要求。

程序:程序是一步一步怎么做。

常见误区:不要把所有安全问题都归成“被黑了”。考试会逼你分清到底是泄露、篡改还是中断。

读完后用一句话复述:如果我是业务系统负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“机密性:让该看的人看,不该看的人看不到”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是业务系统负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

加密、访问控制、分类、培训都常用于保护机密性。

哈希、数字签名、变更控制、输入校验常对应完整性。

Minimum level、mandatory requirement 常对应 standard。

Step-by-step、SOP 常对应 procedure。

排除法提醒:不要把所有安全问题都归成“被黑了”。考试会逼你分清到底是泄露、篡改还是中断。

本页术语拆解
机密性 机密性让该看的人能看,不该看的人看不到。
完整性 完整性保证数据没有被未授权修改,并且仍然正确可信。
标准 标准给出必须满足的最低要求。
程序 程序是一步一步怎么做。
学习单元 41 / PDF P1364

第三方治理:外包不外包责任

供应商也要被合同、审计、评估和持续监控管理起来。

教材原文段落

should assign the testing of your software to someone other than the programmer(s) who developed the code to avoid a conflict of interest and assure a more secure and functional finished product. When a third party tests your software, you have a greater likelihood of receiving an objective and nonbiased examination. The third-party test allows for a broader and more thorough test and prevents the bias and inclinations of the programmers from affecting the results of the test.

There are three different philosophies that you can adopt when applying software security testing techniques: White-Box Testing White-box testing examines the internal logical structures of a program and steps through the code line by line, analyzing the program for potential errors. The key attribute of a white-box test is that the testers have access to the source code. Black-Box Testing Black-box testing examines the program from a user perspective by providing a wide variety of input scenarios and inspecting the output. Black-box testers do not have access to the internal code. Final acceptance testing that occurs prior to system delivery is a common example of black-box testing.

Gray-Box Testing Gray-box testing combines the two approaches and is popular for software validation. In this approach, testers examine the software from a user perspective, analyzing inputs and outputs. They also have access to the source code and use it to help design their tests. They do not, however, analyze the inner workings of the program during their testing. In addition to assessing the quality of software, programmers and security professionals should carefully assess the security of their software to ensure that it meets the organization's security requirements. This assessment is especially critical for web applications that are exposed to the public.

For more on code review and testing techniques, such as static and dynamic testing, see Chapter 15, “Security Assessment and Testing.” Proper software test implementation is a key element in the project development process. Many of the common mistakes and oversights often found in commercial and in-house software can be eliminated. Keep the test plan and results as part of the system's permanent documentation. Code Repositories

中文直译 / 整理

应将软件的测试工作分配给除开发代码的程序员之外的其他人,以避免利 益冲突,并确保获得更安全、功能更完善的最终产品。 当第三方测试您的 软件时,您更有可能获得客观且无偏见的审查。 第三方测试能够进行更广 泛、更彻底的测试,并防止程序员的偏见和倾向影响测试结果。 在应用软件安全测试技术时,您可以采用三种不同的哲学: 白盒测试白盒测试检查程序的内部逻辑结构,逐行执行代码,分析程序中潜在的 错误。 白盒测试的关键特点是测试人员可以访问源代码。 黑盒测试黑盒测试从用户的角度检查程序,通过提供多种输入场景并检查输出 来进行。 黑盒测试人员无法访问内部代码。 在系统交付前进行的最终验收测试 是黑盒测试的常见示例。 灰盒测试灰盒测试结合了上述两种方法,广泛用于软件验证。 在这种方法中, 测试人员从用户的角度检查软件,分析输入和输出。 他们还可以访问源代码, 并利用源代码帮助设计测试用例。 然而,他们在测试过程中并不分析程序的内 部运作。 除了评估软件质量外,程序员和安全专业人员还应仔细评估其软件的安全性, 以确保其符合组织的安全要求。 对于面向公众的Web应用程序,这种评估尤 为关键。

有关代码审查和测试技术(如静态测试和动态测试)的更多信息,请 参阅第15章“安全评估与测试”。 正确的软件测试实施是项目开发过程中的关键环节。 许多在商业软件和内部软 件中常见的错误和疏漏都可以被消除。 请将测试计划和结果作为系统永久文档 的一部分保存。 代码仓库

小白解释

场景先行:员工在家访问公司系统,流量要穿过家庭网络、互联网、防火墙、VPN、服务器。网络安全题就是让你判断问题发生在哪一层、用哪个控制放在什么位置。

这一页真正想让你理解的是:供应商也要被合同、审计、评估和持续监控管理起来。

把它放进公司里看,关键不是背定义,而是判断:不分层就会乱选设备:该加密的地方装防火墙,该监测的地方却只做访问控制。

你作为负责人可以这样想:先定位网络层次,再决定是分段、过滤、加密、检测还是阻断。

本页术语用人话说:

程序:程序是一步一步怎么做。

OSI 模型:OSI 用七层结构理解网络通信,从物理层到应用层。

日志:日志记录系统和用户活动,用于监控、审计和调查。

常见误区:不要以为防火墙能解决所有网络问题;它只是控制流量的一类工具。

读完后用一句话复述:如果我是网络安全工程师,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“第三方治理:外包不外包责任”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是网络安全工程师在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

Step-by-step、SOP 常对应 procedure。

网络题先定位层次,再判断协议、设备或攻击位置。

日志要保护完整性、时间同步和访问控制。

排除法提醒:不要以为防火墙能解决所有网络问题;它只是控制流量的一类工具。

本页术语拆解
程序 程序是一步一步怎么做。
OSI 模型 OSI 用七层结构理解网络通信,从物理层到应用层。
日志 日志记录系统和用户活动,用于监控、审计和调查。
学习单元 42 / PDF P1365

第 1365 页学习单元

这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

教材原文段落

Software development is a collaborative effort, and large software projects require teams of developers who may simultaneously work on different parts of the code. Further complicating the situation is the fact that these developers may be geographically dispersed around the world. Code repositories provide several important functions supporting these collaborations. Primarily, they act as a central storage point for developers to place their source code. In addition, code repositories such as GitHub, Bitbucket, and SourceForge also provide version control, bug tracking, web hosting, release management, and communications functions that support software development.

Code repositories are often integrated with popular code management tools. For example, the git tool is popular among many software developers, and it is tightly integrated with GitHub and other repositories. Earlier in this chapter, you learned about code libraries. Libraries are packages of reusable code that may be shared within an organization or with the public. Repositories are broader platforms that provide the tools for shared software development and distribution. Repositories may be used to manage and distribute code libraries. Code repositories are wonderful collaborative tools that facilitate software development, but they also have security risks of their own.

First, developers must appropriately control access to their repositories. Some repositories, such as those supporting open-source software development, may allow public access. Others, such as those hosting code containing trade secret information, may be more limited, restricting access to authorized developers. Repository owners must carefully design access controls to only allow appropriate users read and/or write access. Improperly granting users read access may allow unauthorized individuals to retrieve sensitive information, whereas improperly granting write access may allow unauthorized tampering with code.

中文直译 / 整理

软件开发是一项协作性工作,大型软件项目需要由开发人员团队共同完成,这 些团队成员可能同时开发代码的不同部分。 更复杂的是,这些开发人员可能分 布在全球各地。 代码仓库提供多种重要功能以支持这些协作。 主要作用是作为开发人员存放源 代码的集中存储点。 此外,GitHub、Bitbucket 和 SourceForge 等代码仓库 还提供版本控制、错误跟踪、网页托管、发布管理以及支持软件开发的通信功 能。 代码仓库通常与流行的代码管理工具集成。 例如,git 工具在许多软件开 发人员中广受欢迎,并且与 GitHub 及其他仓库紧密集成。 在本章前面,您了解了代码库。 库是可重用代码的软件包,可在组 织内部或向公众共享。 仓库是更广泛的平台,提供共享软件开发和分发 所需的工具。 仓库可用于管理和分发代码库。 代码仓库是优秀的协作工具,有助于软件开发,但它们自身也存在安全风险。 首先,开发人员必须适当控制对仓库的访问权限。 一些仓库,例如支持开源软 件开发的仓库,可能允许公众访问; 而另一些仓库,例如托管包含商业秘密信 息的代码的仓库,则可能限制更多,仅允许授权开发人员访问。

仓库所有者必 须仔细设计访问控制,仅允许适当用户具有读取和/或写入权限。 不当授予用 户读取权限可能使未经授权的人员获取敏感信息,而不当授予写入权限则可能 导致代码被未经授权的篡改。

小白解释

场景先行:新员工入职后要登录系统。第一步是声明身份,第二步证明身份,第三步决定能访问哪些数据,最后系统要记录他做了什么。IAM 题就是围绕这条链条出题。

这一页真正想让你理解的是:这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

把它放进公司里看,关键不是背定义,而是判断:认证成功不代表什么都能做;离职、调岗、权限漂移都会造成越权。

你作为负责人可以这样想:把识别、认证、授权、审计分开看,再用最小权限和定期复核收口。

本页术语用人话说:

授权:授权是认证之后决定你能访问什么、能做什么。

OSI 模型:OSI 用七层结构理解网络通信,从物理层到应用层。

常见误区:不要把 authentication 和 authorization 混成一件事:前者证明你是谁,后者决定你能干什么。

读完后用一句话复述:如果我是IAM 管理员,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“第 1365 页学习单元”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是IAM 管理员在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

认证成功不等于什么都能做;权限仍要单独授权。

网络题先定位层次,再判断协议、设备或攻击位置。

排除法提醒:不要把 authentication 和 authorization 混成一件事:前者证明你是谁,后者决定你能干什么。

本页术语拆解
授权 授权是认证之后决定你能访问什么、能做什么。
OSI 模型 OSI 用七层结构理解网络通信,从物理层到应用层。
学习单元 43 / PDF P1366

第 1366 页学习单元

这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

教材原文段落

Sensitive Information and Code Repositories Developers must take care not to include sensitive information in public code repositories. This is particularly true of API keys. Many developers use APIs to access the underlying functionality of infrastructure-as-a-service (IaaS) providers, such as Amazon Web Services (AWS), Microsoft Azure, and Google Compute Engine. This provides tremendous benefits, allowing developers to quickly provision servers, modify network configuration, and allocate storage using simple API calls. Of course, IaaS providers charge for these services. When a developer provisions a server, it triggers an hourly charge for that server until it is shut down.

The API key used to create a server ties the server to a particular user account (and credit card). If developers write code that includes API keys and then upload that key to a public repository, anyone in the world can then gain access to their API key. This allows anyone to create IaaS resources and charge it to the original developer's credit card. Further worsening the situation, malicious actors have written bots that scour public code repositories searching for exposed API keys. These bots may detect an inadvertently posted key in seconds, allowing the malicious actor to quickly provision massive computing resources before the developer even knows of their mistake.

Similarly, developers should also be careful to avoid placing passwords, internal server names, database names, and other sensitive information in code repositories. Service-Level Agreements Using service-level agreements (SLAs) is an increasingly popular way to ensure that organizations providing services to internal and/or external customers maintain an appropriate level of service agreed on by both the service provider and the vendor. It's a wise move to put SLAs in place for any data circuits, applications, information processing systems, databases, or other critical components that are vital to your organization's continued viability. The following issues are commonly addressed in SLAs:

中文直译 / 整理

敏感信息和代码仓库 开发人员必须注意不要在公共代码仓库中包含敏感信息。 API 密钥尤其如此。 许多开发人员使用 API 来访问基础设施即服务(IaaS)提供商的基础功能, 例如 Amazon Web Services(AWS)、Microsoft Azure 和 Google Compute Engine。 这带来了巨大的好处,允许开发人员通过简单的 API 调用快速部署服务器、修改网络配置和分配存储空间。 当然,IaaS 提供商会对这些服务收费。 当开发人员部署服务器时,会触 发对该服务器的每小时计费,直到其关闭为止。 用于创建服务器的 API 密钥会将该服务器与特定用户账户(及信用卡)绑定。 如果开发人员编写的代码包含 API 密钥,并将该密钥上传到公共仓库,那 么世界上任何人都可以获取他们的 API 密钥。 这使得任何人都可以创建 IaaS 资源,并将费用记入原始开发人员的信用卡。 更糟糕的是,恶意行为者编写了机器人,专门扫描公共代码仓库以寻找暴 露的 API 密钥。 这些机器人可能在数秒内检测到意外发布的密钥,使恶意 行为者能够在开发人员意识到错误之前,迅速部署大量计算资源。

同样,开发人员也应小心避免在代码仓库中放置密码、内部服务器名称、 数据库名称和其他敏感信息。 服务级别协议 使用服务级别协议(SLA)是一种越来越流行的方式,用于确保向内部和/或 外部客户提供服务的组织能够维持服务提供商与供应商共同商定的适当服务水 平。 为任何对贵组织持续运营至关重要的数据电路、应用程序、信息处理系统、 数据库或其他关键组件实施SLA是一个明智的举措。 以下问题通常在SLA中加 以解决:

小白解释

场景先行:员工在家访问公司系统,流量要穿过家庭网络、互联网、防火墙、VPN、服务器。网络安全题就是让你判断问题发生在哪一层、用哪个控制放在什么位置。

这一页真正想让你理解的是:这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

把它放进公司里看,关键不是背定义,而是判断:不分层就会乱选设备:该加密的地方装防火墙,该监测的地方却只做访问控制。

你作为负责人可以这样想:先定位网络层次,再决定是分段、过滤、加密、检测还是阻断。

本页术语用人话说:

程序:程序是一步一步怎么做。

OSI 模型:OSI 用七层结构理解网络通信,从物理层到应用层。

常见误区:不要以为防火墙能解决所有网络问题;它只是控制流量的一类工具。

读完后用一句话复述:如果我是网络安全工程师,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“第 1366 页学习单元”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是网络安全工程师在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

Step-by-step、SOP 常对应 procedure。

网络题先定位层次,再判断协议、设备或攻击位置。

排除法提醒:不要以为防火墙能解决所有网络问题;它只是控制流量的一类工具。

本页术语拆解
程序 程序是一步一步怎么做。
OSI 模型 OSI 用七层结构理解网络通信,从物理层到应用层。
学习单元 44 / PDF P1367

可用性:需要时能用,且性能可接受

可用性关注中断、故障、DoS、备份和冗余。

教材原文段落

System uptime (as a percentage of overall operating time) Maximum consecutive downtime (in seconds/minutes/and so on) Peak load Average load Responsibility for diagnostics Failover time (if redundancy is in place) Service-level agreements also commonly include financial and other contractual remedies that kick in if the agreement is not maintained. In these situations, the service provider and customer both carefully monitor performance metrics to ensure compliance with the SLA. For example, if a critical circuit is down for more than 15 minutes, the service provider might be required to waive all charges on that circuit for one week.

Third-Party Software Acquisition Most of the software used by enterprises is not developed internally but purchased from third-party vendors. Commercial off-the-shelf (COTS) software is purchased to run on servers managed by the organization, either on-premises or in an IaaS environment. Other software is purchased and delivered over the Internet through web browsers, in a software-as-a-service (SaaS) approach. Still more software is created and maintained by community-based open-source software (OSS) projects. These open-source projects are freely available for anyone to download and use, either directly or as a component of a larger system.

In fact, many COTS software packages incorporate open-source code. Most organizations use a combination of commercial and open-source, depending on business needs and software availability. For example, organizations may approach email service in two ways. They might purchase physical or virtual servers and then install email software, such as Microsoft Exchange, on them. In that case, the organization purchases Exchange licenses from Microsoft and then installs, configures, and manages the email environment. As an alternative, the organization might choose to outsource email entirely to Google, Microsoft, or another vendor.

Users then access email through their web browsers or other tools, interacting directly with the email servers

中文直译 / 整理

系统正常运行时间(占总运行时间的百分比) 最大连续停机时间(以秒/分钟等为单位) 峰值负载 平均负载 诊断责任 故障切换时间(如有冗余) 服务级别协议通常还包括在协议未得到遵守时生效的财务及其他合同补救措施。 在这种情况下,服务提供商和客户都会仔细监控性能指标,以确保遵守SLA。 例如,如果关键电路中断超过15分钟,服务提供商可能被要求免除该电路一周 的所有费用。 第三方软件采购 企业使用的大多数软件并非内部开发,而是从第三方供应商购买的。 商用现成 软件(COTS)用于在组织管理的服务器上运行,这些服务器可以是本地部署的, 也可以是IaaS环境中的。 其他软件则通过网页浏览器以软件即服务(SaaS)的 方式通过互联网购买和交付。 还有更多软件由基于社区的开源软件(OSS)项 目创建和维护。 这些开源项目可供任何人免费下载和使用,无论是直接使用, 还是作为更大系统的一个组件。 事实上,许多COTS软件包都集成了开源代码。 大多数组织根据业务需求和软件可用性,结合使用商业软件和开源软件。 例如,组织在电子邮件服务方面可能采取两种方式。

它们可以购买物理或虚 拟服务器,然后在其上安装电子邮件软件,例如Microsoft Exchange。 在 这种情况下,组织从微软购买Exchange许可证,然后安装、配置和管理电 子邮件环境。 作为另一种选择,该组织可以选择将电子邮件完全外包给谷歌、微软或其他供应商。 用户随后通过其网页浏览器或其他工具访问电子邮件,直接与邮件服务器交互

小白解释

场景先行:想象公司有一个客户订单系统:客户资料被别人看到是机密性问题,订单金额被偷偷改是完整性问题,系统打不开是可用性问题。教材这一页就是教你把事故先翻译成安全目标。

这一页真正想让你理解的是:可用性关注中断、故障、DoS、备份和冗余。

把它放进公司里看,关键不是背定义,而是判断:把泄露、篡改、宕机混在一起,就会选错控制措施。

你作为负责人可以这样想:先判断事故破坏了 CIA 哪一项,再选择对应控制:防泄露、防篡改、保可用。

本页术语用人话说:

可用性:可用性保证授权用户需要时能及时使用系统和数据。

恢复点目标 RPO:RPO 是最多能接受丢失多少时间范围的数据。

常见误区:不要把所有安全问题都归成“被黑了”。考试会逼你分清到底是泄露、篡改还是中断。

读完后用一句话复述:如果我是业务系统负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“可用性:需要时能用,且性能可接受”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是业务系统负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

冗余、备份、BCP/DRP、抗 DoS、容量规划都对应可用性。

RPO 问数据:最多丢到哪个时间点。

排除法提醒:不要把所有安全问题都归成“被黑了”。考试会逼你分清到底是泄露、篡改还是中断。

本页术语拆解
可用性 可用性保证授权用户需要时能及时使用系统和数据。
恢复点目标 RPO RPO 是最多能接受丢失多少时间范围的数据。
学习单元 45 / PDF P1368

第 1368 页学习单元

这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

教材原文段落

managed by the vendor. In this case, the organization is only responsible for creating accounts and managing some application-level settings. In either case, security is of paramount concern. When the organization purchases and configures software itself, security professionals must understand the proper configuration of that software to meet security objectives. They also must remain vigilant about security bulletins and patches that correct newly discovered vulnerabilities. Failure to meet these obligations may result in an insecure environment. In the case of SaaS environments, most security responsibility rests with the vendor, but the organization's security staff isn't off the hook.

Although they might not be responsible for as much configuration, they now take on responsibility for monitoring the vendor's security. This may include audits, assessments, vulnerability scans, and other measures designed to verify that the vendor maintains proper controls. The organization may also retain full or partial responsibility for legal compliance obligations, depending on the nature of the regulation and the agreement that is in place with the service provider. Whenever an organization acquires any type of software, be it COTS or OSS, run on-premises or in the cloud, that software should be tested for security vulnerabilities.

Organizations may conduct their own testing, rely on the results of tests provided by vendors, and/or hire third parties to conduct independent testing. Establishing Databases and Data Warehousing Almost every modern organization maintains some sort of database that contains information critical to operations—be it customer contact information, order-tracking data, human resource and benefits information, or sensitive trade secrets. It's likely that many of these databases contain personal information that users hold secret, such as credit card usage activity, travel habits, grocery store purchases, and telephone records.

Because of the growing reliance on database systems, information security professionals must ensure that adequate security controls exist to protect them against unauthorized access, tampering, or destruction of data.

中文直译 / 整理

由供应商管理。 在这种情况下,该组织仅负责创建账户和管理某些应用程序级别 的设置。 无论哪种情况,安全都是首要关注的问题。 当组织自行购买和配置软件时, 安全专业人员必须了解如何正确配置该软件以实现安全目标。 他们还必须密 切关注安全公告和补丁,以修复新发现的漏洞。 未能履行这些义务可能导致 环境不安全。 在SaaS环境中,大部分安全责任由供应商承担,但组织的安全团队并非完全 免责。 尽管他们可能无需负责大量配置工作,但他们现在需要承担监控供应商 安全的责任。 这可能包括审计、评估、漏洞扫描以及其他旨在验证供应商是否 维持适当控制措施的措施。 根据法规的性质以及与服务提供商达成的协议,组 织可能仍需完全或部分承担法律合规义务。 无论组织获取何种类型的软件,无论是商业现货软件还是开源软件, 无论是在本地运行还是在云中运行,都应对该软件进行安全漏洞测试。 组 织可以自行开展测试,依赖供应商提供的测试结果,或聘请第三方进行独 立测试。 建立数据库和数据仓库 几乎每个现代组织都维护着某种包含对运营至关重要的信息的数据库——无论 是客户联系信息、订单跟踪数据、人力资源和福利信息,还是敏感的商业机密。

这些数据库中很可能包含用户视为机密的个人信息,例如信用卡使用活动、旅 行习惯、超市购物记录和电话记录。 由于对数据库系统的依赖日益增加,信息 安全专业人员必须确保存在充分的安全控制措施,以防止未经授权的访问、篡 改或数据破坏。

小白解释

场景先行:新员工入职后要登录系统。第一步是声明身份,第二步证明身份,第三步决定能访问哪些数据,最后系统要记录他做了什么。IAM 题就是围绕这条链条出题。

这一页真正想让你理解的是:这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

把它放进公司里看,关键不是背定义,而是判断:认证成功不代表什么都能做;离职、调岗、权限漂移都会造成越权。

你作为负责人可以这样想:把识别、认证、授权、审计分开看,再用最小权限和定期复核收口。

本页术语用人话说:

授权:授权是认证之后决定你能访问什么、能做什么。

审计:审计记录主体行为,用于追责、复盘和取证。

程序:程序是一步一步怎么做。

漏洞扫描:漏洞扫描用工具找已知弱点。

常见误区:不要把 authentication 和 authorization 混成一件事:前者证明你是谁,后者决定你能干什么。

读完后用一句话复述:如果我是IAM 管理员,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“第 1368 页学习单元”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是IAM 管理员在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

认证成功不等于什么都能做;权限仍要单独授权。

没有日志和身份绑定,就很难问责。

Step-by-step、SOP 常对应 procedure。

扫描发现弱点,不等于已经成功利用。

审计题关注独立性、证据、范围和报告。

排除法提醒:不要把 authentication 和 authorization 混成一件事:前者证明你是谁,后者决定你能干什么。

本页术语拆解
授权 授权是认证之后决定你能访问什么、能做什么。
审计 审计记录主体行为,用于追责、复盘和取证。
程序 程序是一步一步怎么做。
漏洞扫描 漏洞扫描用工具找已知弱点。
审计 审计检查控制是否存在、是否有效、是否符合要求。
学习单元 46 / PDF P1369

第 1369 页学习单元

这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

教材原文段落

In the following sections, we'll discuss database management system (DBMS) architecture, including the various types of DBMSs and their features. Then, we'll discuss database security considerations, including polyinstantiation, Open Database Connectivity (ODBC), aggregation, inference, and machine learning. Database Management System Architecture Although a variety of DBMS architectures are available today, the vast majority of contemporary systems implement a technology known as relational database management systems (RDBMSs). For this reason, the following sections focus primarily on relational databases.

However, first we'll discuss two other important DBMS architectures: hierarchical and distributed. Hierarchical and Distributed Databases A hierarchical data model combines records and fields that are related in a logical tree structure. This results in a one-to-many data model, where each node may have zero, one, or many children but only one parent. An example of a hierarchical data model appears in Figure 20.9. FIGURE 20.9 Hierarchical data model The hierarchical model in Figure 20.9 is a corporate organization chart. Notice that the one-to-many data model holds true in this example. Each employee has only one manager (the one in one-to-many), but each manager

中文直译 / 整理

在以下章节中,我们将讨论数据库管理系统(DBMS)的架构,包括各种类型 的DBMS及其功能。 然后,我们将讨论数据库安全考虑因素,包括多实例化、 开放数据库互连(ODBC)、聚合、推断和机器学习。 数据库管理系统架构 尽管如今有多种数据库管理系统架构可供选择,但绝大多数现代系统都采 用了一种称为关系型数据库管理系统(RDBMS)的技术。 因此,以下章节 主要关注关系型数据库。 然而,首先我们将讨论另外两种重要的数据库管 理系统架构:层次型和分布式。 层次型和分布式数据库 层次型数据模型将以逻辑树结构关联的记录和字段组合在一起。 这形成了一 种一对多的数据模型,其中每个节点可以有零个、一个或多个子节点,但只 能有一个父节点。 层次型数据模型的一个示例如图20.9所示。 图20.9 层次型数据模型 层次模型在图20.9中是一个企业组织结构图。 请注意,在此示例中,一对一多 数据模型成立。 每位员工只有一位经理(一对一多中的一),但每位经理

小白解释

场景先行:凌晨监控告警:某台服务器开始大量外连。你不能先忙着写报告,也不能直接关全网。事件响应要按顺序做:确认、遏制、根除、恢复、复盘。

这一页真正想让你理解的是:这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

把它放进公司里看,关键不是背定义,而是判断:步骤乱了会扩大损失,或者破坏证据。

你作为负责人可以这样想:先保全证据和控制影响,再清除原因并恢复业务。

本页术语用人话说:

强制访问控制 MAC:MAC 由系统根据标签和级别强制决定访问。

日志:日志记录系统和用户活动,用于监控、审计和调查。

恢复点目标 RPO:RPO 是最多能接受丢失多少时间范围的数据。

常见误区:不要一上来就删除文件或重装系统;可能会破坏调查证据。

读完后用一句话复述:如果我是事件响应负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“第 1369 页学习单元”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是事件响应负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

政府/军方、机密级别、标签、不可由用户随意改通常是 MAC。

日志要保护完整性、时间同步和访问控制。

RPO 问数据:最多丢到哪个时间点。

排除法提醒:不要一上来就删除文件或重装系统;可能会破坏调查证据。

本页术语拆解
强制访问控制 MAC MAC 由系统根据标签和级别强制决定访问。
日志 日志记录系统和用户活动,用于监控、审计和调查。
恢复点目标 RPO RPO 是最多能接受丢失多少时间范围的数据。
学习单元 47 / PDF P1370

第 1370 页学习单元

这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

教材原文段落

may have one or more (the many) employees. Other examples of hierarchical data models include the NCAA March Madness bracket system and the hierarchical distribution of Domain Name System (DNS) records used on the Internet. Hierarchical databases store data in this type of hierarchical fashion and are useful for specialized applications that fit the model. For example, biologists might use a hierarchical database to store data on specimens according to the kingdom/phylum/class/order/family/genus/species hierarchical model used in that field. The distributed data model has data stored in more than one database, but those databases are logically connected.

The user perceives the database as a single entity, even though it consists of numerous parts interconnected over a network. Each field can have numerous children as well as numerous parents. Thus, the data mapping relationship for distributed databases is many-to-many. Relational Databases A relational database consists of flat two-dimensional tables made up of rows and columns. In fact, each table looks similar to a spreadsheet file. The row and column structure provides for one-to-one data mapping relationships. The main building block of the relational database is the table (also known as a relation). Each table contains a set of related records.

For example, a sales database might contain the following tables: Customers table that contains contact information for all the organization's clients Sales Reps table that contains identity information on the organization's sales force Orders table that contains records of orders placed by each customer

中文直译 / 整理

可能有一位或多位(一对一多中的多)员工。 层次数据模型的其他示例包括 NCAA三月疯狂赛程系统以及互联网上使用的域名系统(DNS)记录的层次化 分发。 层次数据库以这种层次方式存储数据,适用于符合该模型的专用应用。 例如,生物学家可能使用层次数据库,根据该领域中使用的界/门/纲/目/科/属/ 种层次模型来存储标本数据。 分布式数据模型将数据存储在多个数据库中,但这些数据库在逻辑上是相连的。 用户将数据库视为一个单一实体,尽管它由通过网络互连的多个部分组成。 每 个字段可以有多个子节点和多个父节点。 因此,分布式数据库的数据映射关系 是多对多的。 关系型数据库 关系型数据库由由行和列组成的扁平二维表构成。 实际上,每个表看起来都类 似于电子表格文件。 行和列的结构提供了一对一的数据映射关系。 关系型数据 库的主要构建块是表(也称为关系)。 每个表包含一组相关的记录。 例如,一 个销售数据库可能包含以下表: 包含组织所有客户联系信息的客户表 包含组织销售团队身份信息的销售代表表 包含每位客户订单记录的订单表

小白解释

场景先行:新员工入职后要登录系统。第一步是声明身份,第二步证明身份,第三步决定能访问哪些数据,最后系统要记录他做了什么。IAM 题就是围绕这条链条出题。

这一页真正想让你理解的是:这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

把它放进公司里看,关键不是背定义,而是判断:认证成功不代表什么都能做;离职、调岗、权限漂移都会造成越权。

你作为负责人可以这样想:把识别、认证、授权、审计分开看,再用最小权限和定期复核收口。

本页术语用人话说:

入侵防御系统 IPS:IPS 可检测并主动阻断恶意流量。

身份:身份是主体在系统中的标识。

日志:日志记录系统和用户活动,用于监控、审计和调查。

常见误区:不要把 authentication 和 authorization 混成一件事:前者证明你是谁,后者决定你能干什么。

读完后用一句话复述:如果我是IAM 管理员,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“第 1370 页学习单元”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是IAM 管理员在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

IPS 放在线路中,误报可能影响可用性。

身份管理题要区分识别、认证、授权、审计。

日志要保护完整性、时间同步和访问控制。

排除法提醒:不要把 authentication 和 authorization 混成一件事:前者证明你是谁,后者决定你能干什么。

本页术语拆解
入侵防御系统 IPS IPS 可检测并主动阻断恶意流量。
身份 身份是主体在系统中的标识。
日志 日志记录系统和用户活动,用于监控、审计和调查。
学习单元 48 / PDF P1371

安全控制框架:用成熟框架组织安全

框架帮助组织系统化管理控制,而不是想到哪做到哪。

教材原文段落

Object-Oriented Programming and Databases Object-relational databases combine relational databases with the power of object-oriented programming. True object-oriented databases (OODBs) benefit from ease of code reuse, ease of troubleshooting analysis, and reduced overall maintenance. OODBs are also better suited than other types of databases for supporting complex applications involving multimedia, CAD, video, graphics, and expert systems. Each table contains a number of attributes, or fields. Each attribute corresponds to a column in the table. For example, the Customers table might contain columns for company name, address, city, state, zip code, and telephone number.

Each customer would have their own record, or tuple, represented by a row in the table. The number of rows in the relation is referred to as cardinality, and the number of columns is the degree. The domain of an attribute is the set of allowable values that the attribute can take. Figure 20.10 shows an example of a Customers table from a relational database. FIGURE 20.10 Customers table from a relational database In this example, the table has a cardinality of 3 (corresponding to the three rows in the table) and a degree of 8 (corresponding to the eight columns).

It's common for the cardinality of a table to change during the course of normal business, such as when a sales rep adds new customers. The degree of a table normally does not change frequently and usually requires database administrator intervention.

中文直译 / 整理

面向对象编程与数据库 对象关系数据库将关系型数据库与面向对象编程的强大功能相结合。 真正 的面向对象数据库(OODBs)得益于代码重用的便捷性、故障排查分析的 简易性以及整体维护成本的降低。 与其他类型的数据库相比,OODB 更适 合支持涉及多媒体、CAD、视频、图形和专家系统的复杂应用程序。 每个表包含若干属性,或字段。 每个属性对应表中的一列。 例如,客户表可能 包含公司名称、地址、城市、州、邮政编码和电话号码等列。 每个客户都有自 己的记录,或元组,在表中以一行表示。 关系中的行数称为基数,列数称为度。 属性的域是该属性可取的允许值的集合。 图 20.10展示了关系数据库中客户表的 一个示例。 图 20.10 关系数据库中的客户表 在此示例中,表的基数为 3(对应表中的三行),度为 8(对应八列)。 在正 常业务过程中,表的基数通常会发生变化,例如销售代表添加新客户时。 而表 的度通常不会频繁更改,通常需要数据库管理员干预。

小白解释

场景先行:你是公司的安全负责人,正在读第 1371 页这一组概念。老板不会问你背定义,而是问:这件事会不会影响业务、谁负责、要不要花钱、出了事能不能解释清楚。

这一页真正想让你理解的是:框架帮助组织系统化管理控制,而不是想到哪做到哪。

把它放进公司里看,关键不是背定义,而是判断:概念没放进业务场景,容易只背词,做题时不知道该选管理动作还是技术动作。

你作为负责人可以这样想:先确认业务目标和风险,再选控制措施,最后留下政策、审批、日志或证据。

本页术语用人话说:

NIST:NIST 提供美国常用安全标准、框架和指南。

程序:程序是一步一步怎么做。

常见误区:不要一看到安全题就直接选最强工具;CISSP 更常考“在这个场景下谁该负责、下一步是什么”。

读完后用一句话复述:如果我是安全负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“安全控制框架:用成熟框架组织安全”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是安全负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

看到 SP 800 系列、CSF、RMF 常联想到 NIST。

Step-by-step、SOP 常对应 procedure。

排除法提醒:不要一看到安全题就直接选最强工具;CISSP 更常考“在这个场景下谁该负责、下一步是什么”。

本页术语拆解
NIST NIST 提供美国常用安全标准、框架和指南。
程序 程序是一步一步怎么做。
学习单元 49 / PDF P1372

第 1372 页学习单元

这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

教材原文段落

To remember the concept of cardinality, think of a deck of cards on a desk, with each card (the first four letters of cardinality) being a row. To remember the concept of degree, think of a wall thermometer as a column (in other words, the temperature in degrees as measured on a thermometer). Relationships between the tables are defined to identify related records. In this example, a relationship exists between the Customers table and the Sales Reps table because each customer is assigned a sales representative and each sales representative is assigned to one or more customers. This relationship is reflected by the Sales Rep field/column in the Customers table, shown in Figure 20.10.

The values in this column refer to a Sales Rep ID field contained in the Sales Rep table (not shown). Additionally, a relationship would probably exist between the Customers table and the Orders table because each order must be associated with a customer, and each customer is associated with one or more product orders. The Orders table (not shown) would likely contain a Customer field that contained one of the Customer ID values shown in Figure 20.10. Records are identified using a variety of keys. Quite simply, keys are a subset of the fields of a table and are used to uniquely identify records. They are also used to join tables when you wish to cross-reference information.

You should be familiar with four types of keys: Candidate Keys A candidate key is a subset of attributes that can be used to uniquely identify any record in a table. No two records in the same table will ever contain the same values for all attributes composing a candidate key. Each table may have one or more candidate keys, which are chosen from column headings. Primary Keys A primary key is selected from the set of candidate keys for a table to be used to uniquely identify the records in a table. Each table has only one primary key, selected by the database designer from the set of candidate keys.

The RDBMS enforces the uniqueness of primary keys by disallowing the insertion of multiple records with the same primary key. In the Customers table shown in Figure 20.10, the Company ID would likely be the primary key.

中文直译 / 整理

要记住基数的概念,可以想象桌面上的一副扑克牌,每张牌( cardinality 的前四个字母)代表一行。 要记住度的概念,可以想象一个墙上 的温度计作为一列(换句话说,温度是以温度计上测量的度数表示的)。 表之间的关系用于识别相关记录。 在此示例中,由于每个客户都被分配了一名 销售代表,且每位销售代表被分配给一个或多个客户,因此在客户表和销售代 表表之间存在关系。 此关系通过客户表中的“销售代表”字段/列反映出来,如 图20.10所示。 此列中的值指向销售代表表中包含的“销售代表ID”字段(未 显示)。 此外,客户表和订单表之间可能也存在关系,因为每笔订单都必须与 一位客户相关联,而每位客户又与一个或多个产品订单相关联。 订单表(未显 示)可能包含一个“客户”字段,其中包含图20.10中所示的某个客户ID值。 记录使用多种键进行标识。 简单来说,键是表中字段的子集,用于唯一标识记 录。 它们还用于在需要交叉引用信息时连接表。 您应熟悉四种类型的键: 候选键 一个候选键是由一组属性构成的子集,可用于唯一标识表中的任何记录。 同一表中的任何两条记录都不可能在组成候选键的所有属性上具有相同的值。

每 个表可能有一个或多个候选键,这些候选键从列标题中选择。 主键 A 主键是从表的候选键集合中选出的,用于唯一标识表中的记录。 每个表 只有一个主键,由数据库设计者从候选键集合中选择。 关系型数据库管理系统通 过禁止插入具有相同主键的多条记录来强制执行主键的唯一性。 在图20.10所示 的客户表中,公司ID很可能是主键。

小白解释

场景先行:员工在家访问公司系统,流量要穿过家庭网络、互联网、防火墙、VPN、服务器。网络安全题就是让你判断问题发生在哪一层、用哪个控制放在什么位置。

这一页真正想让你理解的是:这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

把它放进公司里看,关键不是背定义,而是判断:不分层就会乱选设备:该加密的地方装防火墙,该监测的地方却只做访问控制。

你作为负责人可以这样想:先定位网络层次,再决定是分段、过滤、加密、检测还是阻断。

本页术语用人话说:

OSI 模型:OSI 用七层结构理解网络通信,从物理层到应用层。

入侵防御系统 IPS:IPS 可检测并主动阻断恶意流量。

常见误区:不要以为防火墙能解决所有网络问题;它只是控制流量的一类工具。

读完后用一句话复述:如果我是网络安全工程师,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“第 1372 页学习单元”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是网络安全工程师在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

网络题先定位层次,再判断协议、设备或攻击位置。

IPS 放在线路中,误报可能影响可用性。

排除法提醒:不要以为防火墙能解决所有网络问题;它只是控制流量的一类工具。

本页术语拆解
OSI 模型 OSI 用七层结构理解网络通信,从物理层到应用层。
入侵防御系统 IPS IPS 可检测并主动阻断恶意流量。
学习单元 50 / PDF P1373

完整性:数据要正确、可信、未被乱改

完整性不只是防黑客篡改,也包括防授权用户误操作。

教材原文段落

Alternate Keys Any candidate key that is not selected as the primary key is referred to as an alternate key. For example, if the telephone number is unique to a customer in Figure 20.10, then Telephone could be considered a candidate key. Since Company ID was selected as the primary key, then Telephone is an alternate key. Foreign Keys A foreign key is used to enforce relationships between two tables, also known as referential integrity. Referential integrity ensures that if one table contains a foreign key, it corresponds to a still-existing primary key in the other table in the relationship.

It makes certain that no record/tuple/row contains a reference to a primary key of a nonexistent record/tuple/row. In the example described earlier, the Sales Rep field shown in Figure 20.10 is a foreign key referencing the primary key of the Sales Reps table. All relational databases use a standard language, SQL, to provide users with a consistent interface for the storage, retrieval, and modification of data and for administrative control of the DBMS. Each DBMS vendor implements a slightly different version of SQL (like Microsoft's Transact-SQL and Oracle's PL/SQL), but all support a core feature set. SQL's primary security feature is its granularity of authorization.

This means that SQL allows you to set permissions at a very fine level of detail. You can limit user access by table, row, column, or even by individual cell in some cases.

中文直译 / 整理

备用键 未被选为主键的任何候选键都称为备用键。 例如,如果在图20.10中,电 话号码对每个客户都是唯一的,那么电话号码可以被视为候选键。 由于公司ID被 选为主键,因此电话号码就是备用键。 外键 A 外键 用于强制两个表之间的关系,也称为 参照完整性。 参照完整性确 保如果一个表包含外键,则该外键必须对应于关系中另一表中仍然存在的主键。 它保证没有任何记录/元组/行包含对不存在的记录/元组/行的主键的引用。 在前 面描述的示例中,图 20.10 中显示的销售代表字段是一个外键,引用了销售代表 表的主键。 所有关系型数据库都使用标准语言 SQL,为用户提供一致的接口,用于数据的 存储、检索和修改,以及对 DBMS 的管理控制。 每个 DBMS 供应商都实现了 略有不同的 SQL 版本(如 Microsoft 的 Transact‑SQL 和 Oracle 的 PL/SQL),但都支持一组核心功能。 SQL 的主要安全特性是其授权的精细粒 度。 这意味着 SQL 允许您在非常细致的级别上设置权限。 您可以按表、行、列, 甚至在某些情况下按单个单元格来限制用户访问。

小白解释

场景先行:想象公司有一个客户订单系统:客户资料被别人看到是机密性问题,订单金额被偷偷改是完整性问题,系统打不开是可用性问题。教材这一页就是教你把事故先翻译成安全目标。

这一页真正想让你理解的是:完整性不只是防黑客篡改,也包括防授权用户误操作。

把它放进公司里看,关键不是背定义,而是判断:把泄露、篡改、宕机混在一起,就会选错控制措施。

你作为负责人可以这样想:先判断事故破坏了 CIA 哪一项,再选择对应控制:防泄露、防篡改、保可用。

本页术语用人话说:

完整性:完整性保证数据没有被未授权修改,并且仍然正确可信。

授权:授权是认证之后决定你能访问什么、能做什么。

NIST:NIST 提供美国常用安全标准、框架和指南。

标准:标准给出必须满足的最低要求。

常见误区:不要把所有安全问题都归成“被黑了”。考试会逼你分清到底是泄露、篡改还是中断。

读完后用一句话复述:如果我是业务系统负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“完整性:数据要正确、可信、未被乱改”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是业务系统负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

哈希、数字签名、变更控制、输入校验常对应完整性。

认证成功不等于什么都能做;权限仍要单独授权。

看到 SP 800 系列、CSF、RMF 常联想到 NIST。

Minimum level、mandatory requirement 常对应 standard。

IPS 放在线路中,误报可能影响可用性。

排除法提醒:不要把所有安全问题都归成“被黑了”。考试会逼你分清到底是泄露、篡改还是中断。

本页术语拆解
完整性 完整性保证数据没有被未授权修改,并且仍然正确可信。
授权 授权是认证之后决定你能访问什么、能做什么。
NIST NIST 提供美国常用安全标准、框架和指南。
标准 标准给出必须满足的最低要求。
入侵防御系统 IPS IPS 可检测并主动阻断恶意流量。
学习单元 51 / PDF P1374

完整性:数据要正确、可信、未被乱改

完整性不只是防黑客篡改,也包括防授权用户误操作。

教材原文段落

Database Normalization Database developers strive to create well-organized and efficient databases. To assist with this effort, they've defined several levels of database organization known as normal forms. The process of bringing a database table into compliance with normal forms is known as normalization. Although a number of normal forms exist, the three most common are first normal form (1NF), second normal form (2NF), and third normal form (3NF). Each of these forms adds requirements to reduce redundancy in the tables, eliminate misplaced data, and perform a number of other housekeeping tasks.

The normal forms are cumulative— in other words, to be in 2NF, a table must first be 1NF compliant. Before making a table 3NF compliant, it must first be in 2NF. The details of normalizing a database table are beyond the scope of the CISSP exam, but several web resources can help you understand the requirements of the normal forms in greater detail. For example, refer to the article “Database Normalization — in Easy to Understand English”: www.essentialsql.com/database-normalization. SQL provides the complete functionality necessary for administrators, developers, and end users to interact with the database.

In fact, the graphical database interfaces popular today merely wrap some extra bells and whistles around a standard SQL interface to the DBMS. SQL itself is divided into two major components: the Data Definition Language (DDL), which allows for the creation and modification of the database's structure (known as the schema), and the Data Manipulation Language (DML), which allows users to interact with the data contained within that schema. Database Transactions Relational databases support the explicit and implicit use of transactions to ensure data integrity. Each transaction is a discrete set of SQL instructions that should either succeed or fail as a group.

It's not possible for one part of a transaction to succeed while another part fails. Consider the example of a transfer between two accounts at a bank. You might use the following SQL code to first add $250 to account 1001 and then subtract $250 from account 2002:

中文直译 / 整理

数据库规范化 数据库开发人员致力于创建组织良好且高效的数据库。 为了协助这一工作, 他们定义了若干级别的数据库组织,称为 范式。 将数据库表调整为符合范 式的过程称为 规范化。 尽管存在多种规范化形式,但最常见的是第一范式(1NF)、第二范式 (2NF)和第三范式(3NF)。 这些形式每一种都增加了要求,以减少表 中的冗余、消除 misplaced 数据,并执行其他多项维护任务。 这些规范化 形式是累积的——换句话说,要满足 2NF,表必须首先符合 1NF。 在使表 符合 3NF 之前,它必须先满足 2NF。 数据库表规范化的详细内容超出了 CISSP 考试的范围,但一些网络资源可 以帮助您更深入地理解各种规范化形式的要求。 例如,参阅文章《数据库 规范化——用通俗易懂的英语解释》: www.essentialsql.com/database-normalization. SQL 提供了管理员、开发人员和最终用户与数据库交互所需的所有功能。 事实 上,当今流行的图形数据库界面只是在标准 SQL 接口之上封装了一些额外的 功能。 SQL 本身分为两个主要部分:数据定义语言(DDL),用于创建和修改 数据库的结构(称为模式);

以及数据操作语言(DML),用于让用户与该模 式中包含的数据进行交互。 数据库事务 关系型数据库支持显式和隐式使用事务以确保数据完整性。 每个事务是一组离 散的 SQL 指令,必须整体成功或整体失败。 不可能出现事务的一部分成功而 另一部分失败的情况。 以银行中两个账户之间的转账为例,您可能使用以下 SQL 代码首先向账户 1001 存入 250 美元,然后从账户 2002 扣除 250 美元:

小白解释

场景先行:想象公司有一个客户订单系统:客户资料被别人看到是机密性问题,订单金额被偷偷改是完整性问题,系统打不开是可用性问题。教材这一页就是教你把事故先翻译成安全目标。

这一页真正想让你理解的是:完整性不只是防黑客篡改,也包括防授权用户误操作。

把它放进公司里看,关键不是背定义,而是判断:把泄露、篡改、宕机混在一起,就会选错控制措施。

你作为负责人可以这样想:先判断事故破坏了 CIA 哪一项,再选择对应控制:防泄露、防篡改、保可用。

本页术语用人话说:

完整性:完整性保证数据没有被未授权修改,并且仍然正确可信。

NIST:NIST 提供美国常用安全标准、框架和指南。

标准:标准给出必须满足的最低要求。

常见误区:不要把所有安全问题都归成“被黑了”。考试会逼你分清到底是泄露、篡改还是中断。

读完后用一句话复述:如果我是业务系统负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“完整性:数据要正确、可信、未被乱改”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是业务系统负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

哈希、数字签名、变更控制、输入校验常对应完整性。

看到 SP 800 系列、CSF、RMF 常联想到 NIST。

Minimum level、mandatory requirement 常对应 standard。

排除法提醒:不要把所有安全问题都归成“被黑了”。考试会逼你分清到底是泄露、篡改还是中断。

本页术语拆解
完整性 完整性保证数据没有被未授权修改,并且仍然正确可信。
NIST NIST 提供美国常用安全标准、框架和指南。
标准 标准给出必须满足的最低要求。
学习单元 52 / PDF P1375

安全控制框架:用成熟框架组织安全

框架帮助组织系统化管理控制,而不是想到哪做到哪。

教材原文段落

BEGIN TRANSACTION UPDATE accounts SET balance = balance + 250 WHERE account_number = 1001; UPDATE accounts SET balance = balance – 250 WHERE account_number = 2002 END TRANSACTION Imagine a case where these two statements were not executed as part of a transaction but were instead executed separately. If the database failed during the moment between completion of the first transaction and completion of the second transaction, $250 would have been added to account 1001, but there would be no corresponding deduction from account 2002. The $250 would have appeared out of thin air.

Flipping the order of the two statements wouldn't help—this would cause $250 to disappear into thin air if interrupted. This simple example underscores the importance of transaction-oriented processing. When a transaction successfully finishes, it is said to be committed to the database and cannot be undone. Transaction committing may be explicit, using SQL's COMMIT command, or it can be implicit if the end of the transaction is successfully reached. If a transaction must be aborted, it can be rolled back explicitly using the ROLLBACK command or implicitly if there is a hardware or software failure.

When a transaction is rolled back, the database restores itself to the condition it was in before the transaction began. Relational database transactions have four required characteristics: atomicity, consistency, isolation, and durability. Together, these attributes are known as the ACID model, which is a critical concept in the development of database management systems. Let's take a brief look at each of these requirements: Atomicity Database transactions must be atomic—that is, they must be an “all-or-nothing” affair. If any part of the transaction fails, the entire transaction must be rolled back as if it never occurred.

Consistency All transactions must begin operating in an environment that is consistent with all of the database's rules (for example, all records have a unique primary key). When the transaction is complete, the database must again be consistent with the rules, regardless of whether those rules were violated during the processing of the transaction itself. No other transaction BEGIN TRANSACTION UPDATE accounts SET balance = balance + 250 WHERE account_number = 1001; UPDATE accounts SET balance = balance – 250 WHERE account_number = 2002 END TRANSACTION

中文直译 / 整理

假设这两种语句未作为事务的一部分执行,而是分别执行。 如果数据库在第一 条语句完成与第二条语句完成之间的时刻发生故障,那么 250 美元将被添加到 账户 1001,但账户 2002 却没有相应的扣款。 这 250 美元将凭空出现。 交换两 条语句的顺序也无法解决问题——如果在此过程中断,250 美元将凭空消失。 这 个简单的例子突显了事务处理的重要性。 当事务成功完成时,它被称为已提交到数据库,且无法撤销。 事务提交可以是 显式的,使用 SQL 的 COMMIT 命令; 也可以是隐式的,当事务成功到达末尾时 自动提交。 如果事务必须中止,可以通过 ROLLBACK 命令显式回滚,或在发生硬 件或软件故障时隐式回滚。 当事务被回滚时,数据库会恢复到事务开始前的状 态。 关系型数据库事务具有四个必需的特性:原子性、一致性、隔离性和持久性。 这些属性合称为 ACID模型,这是数据库管理系统开发中的关键概念。 让我们 简要查看每一项要求: 原子性 数据库事务必须是原子的,即必须是“全有或全无”的操作。 如果事务 的任何部分失败,则整个事务必须回滚,仿佛从未发生过。

一致性 所有事务都必须在符合数据库所有规则的环境中开始操作(例如,所有记 录都有唯一的主键)。 当事务完成时,无论在事务处理过程中是否违反了这些规 则,数据库都必须再次符合这些规则。 其他事务

小白解释

场景先行:你是公司的安全负责人,正在读第 1375 页这一组概念。老板不会问你背定义,而是问:这件事会不会影响业务、谁负责、要不要花钱、出了事能不能解释清楚。

这一页真正想让你理解的是:框架帮助组织系统化管理控制,而不是想到哪做到哪。

把它放进公司里看,关键不是背定义,而是判断:概念没放进业务场景,容易只背词,做题时不知道该选管理动作还是技术动作。

你作为负责人可以这样想:先确认业务目标和风险,再选控制措施,最后留下政策、审批、日志或证据。

本页术语用人话说:

ISO:ISO 是国际标准化组织,常见安全管理体系如 ISO 27001/27002。

常见误区:不要一看到安全题就直接选最强工具;CISSP 更常考“在这个场景下谁该负责、下一步是什么”。

读完后用一句话复述:如果我是安全负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“安全控制框架:用成熟框架组织安全”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是安全负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

ISO 偏标准和管理体系。

排除法提醒:不要一看到安全题就直接选最强工具;CISSP 更常考“在这个场景下谁该负责、下一步是什么”。

本页术语拆解
ISO ISO 是国际标准化组织,常见安全管理体系如 ISO 27001/27002。
学习单元 53 / PDF P1376

安全控制框架:用成熟框架组织安全

框架帮助组织系统化管理控制,而不是想到哪做到哪。

教材原文段落

should ever be able to use any inconsistent data that might be generated during the execution of another transaction. Isolation The isolation principle requires that transactions operate separately from each other. If a database receives two SQL transactions that modify the same data, one transaction must be completed in its entirety before the other transaction is allowed to modify the same data. This prevents one transaction from working with invalid data generated as an intermediate step by another transaction. Durability Database transactions must be durable. That is, once they are committed to the database, they must be preserved.

Databases ensure durability through the use of backup mechanisms, such as transaction logs. In the following sections, we'll discuss a variety of specific security issues of concern to database developers and administrators. Security for Multilevel Databases As you learned in Chapter 1, many organizations use data classification schemes to enforce access control restrictions based on the security labels assigned to data objects and individual users. When mandated by an organization's security policy, this classification concept must also be extended to the organization's databases. Multilevel security databases contain information at a number of different classification levels.

They must verify the labels assigned to users and, in response to user requests, provide only information that's appropriate. However, this concept becomes somewhat more complicated when considering security for a database. When multilevel security is required, it's essential that administrators and developers strive to keep data with different security requirements separate. Mixing data with different classification levels and/or need-to-know requirements, known as database contamination, is a significant security challenge. Often, administrators will deploy a trusted front end to add multilevel security to a legacy or insecure DBMS.

中文直译 / 整理

永远不应使用在另一个事务执行过程中可能生成的任何不一致数据。 隔离隔离原则要求事务彼此独立运行。 如果数据库接收到两个修改相同数据的 SQL事务,则必须在另一个事务允许修改相同数据之前,完成其中一个事务的全 部操作。 这可以防止一个事务使用另一个事务作为中间步骤生成的无效数据。 持久性数据库事务必须具有持久性。 也就是说,一旦事务被提交到数据库,就 必须被保留。 数据库通过使用备份机制(如事务日志)来确保持久性。 在以下章节中,我们将讨论数据库开发人员和管理员关注的各种具体安全问题。 多级数据库的安全性 正如您在第1章中学到的,许多组织使用数据分类方案,根据分配给数据对 象和单个用户的安全标签来强制执行访问控制限制。 当组织的安全策略要求 时,此分类概念也必须扩展到组织的数据库中。 多级安全数据库包含多个不同分类级别的信息。 它们必须验证分配给用户的 标签,并根据用户请求仅提供适当的信息。 然而,在考虑数据库安全性时, 这一概念会变得稍微复杂一些。 当需要多级安全时,管理员和开发人员必须努力将具有不同安全要求的数据分 开。 混合具有不同分类级别和/或知悉需求的数据,称为数据库污染,是一项 重大的安全挑战。

通常,管理员会部署一个可信的前端,为传统的或不安全的 数据库管理系统添加多级安全功能。

小白解释

场景先行:凌晨监控告警:某台服务器开始大量外连。你不能先忙着写报告,也不能直接关全网。事件响应要按顺序做:确认、遏制、根除、恢复、复盘。

这一页真正想让你理解的是:框架帮助组织系统化管理控制,而不是想到哪做到哪。

把它放进公司里看,关键不是背定义,而是判断:步骤乱了会扩大损失,或者破坏证据。

你作为负责人可以这样想:先保全证据和控制影响,再清除原因并恢复业务。

本页术语用人话说:

ISO:ISO 是国际标准化组织,常见安全管理体系如 ISO 27001/27002。

NIST:NIST 提供美国常用安全标准、框架和指南。

政策:政策是高层原则,说明必须遵守什么。

数据分类:数据分类按敏感度和价值给数据贴等级,决定保护强度。

常见误区:不要一上来就删除文件或重装系统;可能会破坏调查证据。

读完后用一句话复述:如果我是事件响应负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“安全控制框架:用成熟框架组织安全”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是事件响应负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

ISO 偏标准和管理体系。

看到 SP 800 系列、CSF、RMF 常联想到 NIST。

Policy 高层、强制、稳定;Procedure 具体步骤。

分类由数据所有者决定,保护由保管者实施。

日志要保护完整性、时间同步和访问控制。

排除法提醒:不要一上来就删除文件或重装系统;可能会破坏调查证据。

本页术语拆解
ISO ISO 是国际标准化组织,常见安全管理体系如 ISO 27001/27002。
NIST NIST 提供美国常用安全标准、框架和指南。
政策 政策是高层原则,说明必须遵守什么。
数据分类 数据分类按敏感度和价值给数据贴等级,决定保护强度。
日志 日志记录系统和用户活动,用于监控、审计和调查。
学习单元 54 / PDF P1377

完整性:数据要正确、可信、未被乱改

完整性不只是防黑客篡改,也包括防授权用户误操作。

教材原文段落

Restricting Access with Views Another way to implement multilevel security in a database is through the use of database views. Views are simply SQL statements that present data to the user as if the views were tables themselves. Views may be used to collate data from multiple tables, aggregate individual records, or restrict a user's access to a limited subset of database attributes and/or records. Views are stored in the database as SQL commands rather than as tables of data. This dramatically reduces the space requirements of the database and allows views to violate the rules of normalization that apply to tables.

However, retrieving data from a complex view can take significantly longer than retrieving it from a table because the DBMS may need to perform calculations to determine the value of certain attributes for each record. Because views are so flexible, many database administrators use them as a security tool—allowing users to interact only with limited views rather than with the raw tables of data underlying them. Concurrency Concurrency, or edit control, is a preventive security mechanism that endeavors to make certain that the information stored in the database is always correct or at least has its integrity and availability protected.

This feature can be employed on a single-level or multilevel database. Databases that fail to implement concurrency correctly may suffer from the following issues: Lost Updates Occur when two different processes make updates to a database, unaware of each other's activity. For example, imagine an inventory database in a warehouse with different receiving stations. The warehouse might currently have 10 copies of the CISSP Study Guide in stock. If two different receiving stations each receive a copy of the CISSP Study Guide at the same time, they both might check the current inventory level, find that it

中文直译 / 整理

通过视图限制访问 在数据库中实现多级安全的另一种方法是使用数据库视图。 视图仅仅是将 数据呈现给用户的SQL语句,仿佛视图本身就是表一样。 视图可用于整合 来自多个表的数据、聚合单条记录,或限制用户对数据库属性和/或记录的 有限子集的访问。 视图以 SQL 命令的形式存储在数据库中,而不是作为数据表。 这大大减少 了数据库的空间需求,并允许视图违反适用于表的规范化规则。 然而,从 复杂视图中检索数据所需的时间可能远长于从表中检索,因为数据库管理 系统可能需要执行计算,以确定每条记录中某些属性的值。 由于视图具有极大的灵活性,许多数据库管理员将其用作安全工具——允 许用户仅与有限的视图交互,而非直接访问其底层的原始数据表。 并发 并发,或编辑控制,是一种预防性安全机制,旨在确保数据库中存储的信 息始终正确,或至少其完整性和可用性得到保护。 此功能可在单层或多层 次数据库中使用。 未能正确实现并发的数据库可能会遇到以下问题: 丢失的更新发生在两个不同的进程在不知晓彼此操作的情况下对数据库进行更新 时。 例如,想象一个仓库中的库存数据库,该仓库有多个收货站。 目前仓库可能 有10本CISSP学习指南在库。

如果两个不同的收货站同时各收到一本CISSP学习 指南,它们都可能检查当前库存量,发现为10,将其加1并更新表格为11,而实 际值应为12。

小白解释

场景先行:想象公司有一个客户订单系统:客户资料被别人看到是机密性问题,订单金额被偷偷改是完整性问题,系统打不开是可用性问题。教材这一页就是教你把事故先翻译成安全目标。

这一页真正想让你理解的是:完整性不只是防黑客篡改,也包括防授权用户误操作。

把它放进公司里看,关键不是背定义,而是判断:把泄露、篡改、宕机混在一起,就会选错控制措施。

你作为负责人可以这样想:先判断事故破坏了 CIA 哪一项,再选择对应控制:防泄露、防篡改、保可用。

本页术语用人话说:

完整性:完整性保证数据没有被未授权修改,并且仍然正确可信。

可用性:可用性保证授权用户需要时能及时使用系统和数据。

NIST:NIST 提供美国常用安全标准、框架和指南。

指南:指南是建议做法,不一定强制。

常见误区:不要把所有安全问题都归成“被黑了”。考试会逼你分清到底是泄露、篡改还是中断。

读完后用一句话复述:如果我是业务系统负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“完整性:数据要正确、可信、未被乱改”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是业务系统负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

哈希、数字签名、变更控制、输入校验常对应完整性。

冗余、备份、BCP/DRP、抗 DoS、容量规划都对应可用性。

看到 SP 800 系列、CSF、RMF 常联想到 NIST。

Recommended、not compulsory 常对应 guideline。

排除法提醒:不要把所有安全问题都归成“被黑了”。考试会逼你分清到底是泄露、篡改还是中断。

本页术语拆解
完整性 完整性保证数据没有被未授权修改,并且仍然正确可信。
可用性 可用性保证授权用户需要时能及时使用系统和数据。
NIST NIST 提供美国常用安全标准、框架和指南。
指南 指南是建议做法,不一定强制。
学习单元 55 / PDF P1378

安全控制框架:用成熟框架组织安全

框架帮助组织系统化管理控制,而不是想到哪做到哪。

教材原文段落

is 10, increment it by 1, and update the table to read 11, when the actual value should be 12. Dirty Reads Occur when a process reads a record from a transaction that did not successfully commit. Returning to our warehouse example, if a receiving station begins to write new inventory records to the database but then crashes in the middle of the update, it may leave partially incorrect information in the database if the transaction is not completely rolled back. Concurrency uses a “lock” feature to allow one user to make changes but deny other users access to views or make changes to data elements at the same time.

Then, after the changes have been made, an “unlock” feature restores the ability of other users to access the data they need. In some instances, administrators will use concurrency with auditing mechanisms to track document and/or field changes. When this recorded data is reviewed, concurrency becomes a detection control. Aggregation SQL provides a number of functions that combine records from one or more tables to produce potentially useful information. This process is called aggregation. Aggregation is not without its security vulnerabilities.

Aggregation attacks are used to collect numerous low-level security items or low-value items and combine them to create something of a higher security level or value. In other words, malicious actors may be able to collect multiple facts about or from a system and then use these facts to launch an attack. These functions, although extremely useful, also pose a risk to the security of information in a database. For example, suppose a low-level military records clerk is responsible for updating records of personnel and equipment as they are transferred from base to base. As part of their duties, this clerk may be granted the database permissions necessary to query and update personnel tables.

The military might not consider an individual transfer request (in other words, Sergeant Jones is being moved from Base X to Base Y) to be classified information. The records clerk has access to that information because they need it to process Sergeant Jones's transfer. However, with access to aggregate functions, the records clerk might be able to count the number of troops assigned to each military base around the world. These force levels are often closely guarded military secrets, but the low-ranking records clerk could

中文直译 / 整理

是10,将其加1并更新表格为11,而实际值应为12。 脏读 发生在某个进程读取了一个未成功提交的事务中的记录时。 以我们的仓库 示例为例,如果收货站开始向数据库写入新的库存记录,但在更新过程中崩溃, 且事务未完全回滚,则可能导致数据库中存在部分错误的信息。 并发性使用“锁定”功能,允许一个用户进行更改,同时阻止其他用户同时访 问视图或修改数据元素。 在更改完成后,通过“解锁”功能恢复其他用户访问 所需数据的能力。 在某些情况下,管理员会将并发性与审计机制结合使用,以 跟踪文档和/或字段的更改。 当审查这些记录数据时,并发性便成为一种检测 控制。 聚合 SQL 提供了多种函数,可将一个或多个表中的记录合并,以生成潜在有用的 信息。 此过程称为 聚合。 聚合并非没有安全漏洞。 聚合攻击用于收集大量低级别安全项或低价值项,并将它们组合起来,形成具 有更高安全级别或价值的内容。 换句话说,恶意攻击者可能收集有关系统或来 自系统的多个事实,然后利用这些事实发起攻击。 这些函数虽然非常有用,但也对数据库中信息的安全构成风险。 例如,假设一 名低级别的军事档案管理员负责在人员和设备从一个基地转移到另一个基地时 更新记录。

作为其职责的一部分,该管理员可能会被授予查询和更新人员表所 需的数据库权限。 军方可能不会将个人调动请求(即琼斯军士从X基地调往Y基地)视为机密信息。 档案管理员有权访问这些信息,因为他们需要这些信息来处理琼斯军士的调动。 然而,通过访问聚合函数,档案管理员可能能够统计出全球每个军事基地的驻 军人数。 这些兵力数据通常是严密保密的军事机密,但这位低阶档案管理员却 可以

小白解释

场景先行:新员工入职后要登录系统。第一步是声明身份,第二步证明身份,第三步决定能访问哪些数据,最后系统要记录他做了什么。IAM 题就是围绕这条链条出题。

这一页真正想让你理解的是:框架帮助组织系统化管理控制,而不是想到哪做到哪。

把它放进公司里看,关键不是背定义,而是判断:认证成功不代表什么都能做;离职、调岗、权限漂移都会造成越权。

你作为负责人可以这样想:把识别、认证、授权、审计分开看,再用最小权限和定期复核收口。

本页术语用人话说:

审计:审计记录主体行为,用于追责、复盘和取证。

NIST:NIST 提供美国常用安全标准、框架和指南。

审计:审计检查控制是否存在、是否有效、是否符合要求。

常见误区:不要把 authentication 和 authorization 混成一件事:前者证明你是谁,后者决定你能干什么。

读完后用一句话复述:如果我是IAM 管理员,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“安全控制框架:用成熟框架组织安全”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是IAM 管理员在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

没有日志和身份绑定,就很难问责。

看到 SP 800 系列、CSF、RMF 常联想到 NIST。

审计题关注独立性、证据、范围和报告。

排除法提醒:不要把 authentication 和 authorization 混成一件事:前者证明你是谁,后者决定你能干什么。

本页术语拆解
审计 审计记录主体行为,用于追责、复盘和取证。
NIST NIST 提供美国常用安全标准、框架和指南。
审计 审计检查控制是否存在、是否有效、是否符合要求。
学习单元 56 / PDF P1379

安全控制框架:用成熟框架组织安全

框架帮助组织系统化管理控制,而不是想到哪做到哪。

教材原文段落

deduce them by using aggregate functions across a large number of unclassified records. For this reason, it's especially important for database security administrators to strictly control access to aggregate functions and adequately assess the potential information they may reveal to unauthorized individuals. Combining defense-in-depth, need-to-know, and least privilege principles help prevent access aggregation attacks. Inference The database security issues posed by inference attacks are similar to those posed by the threat of data aggregation.

Inference attacks involve combining several pieces of nonsensitive information to gain access to information that should be classified at a higher level. However, inference makes use of the human mind's deductive capacity rather than the raw mathematical ability of modern database platforms. A commonly cited example of an inference attack is that of the accounting clerk at a large corporation who is allowed to retrieve the total amount the company spends on salaries for use in a top-level report but is not allowed to access the salaries of individual employees.

The accounting clerk often has to prepare those reports with effective dates in the past and so is allowed to access the total salary amounts for any day in the past year. Say, for example, that this clerk must also know the hiring and termination dates of various employees and has access to this information. This opens the door for an inference attack. If an employee was the only person hired on a specific date, the accounting clerk can now retrieve the total salary amount on that date and the day before and deduce the salary of that particular employee— sensitive information that the user would not be permitted to access directly.

As with aggregation, the best defense against inference attacks is to maintain constant vigilance over the permissions granted to individual users. Furthermore, intentional blurring of data may be used to prevent the inference of sensitive information. For example, if the accounting clerk were able to retrieve only salary information rounded to the nearest million, they would probably not be able to gain any useful information about individual employees. Finally, you can use database partitioning (discussed in the next section) to help subvert these attacks. Other Security Mechanisms

中文直译 / 整理

通过大量非机密记录的聚合函数推断出这些数据。 因此,数据库安全管理员必须严格控制对聚合函数的访问,并充分评估这些函 数可能向未经授权人员泄露的信息。 结合深度防御、最小必要知晓和最小权限 原则,有助于防止访问聚合攻击。 推理 推理攻击所带来的数据库安全问题与数据聚合威胁所引发的问题相似。 推理攻 击涉及将多个非敏感信息片段组合起来,以获取应被归类为更高级别的信息。 然而,推理利用的是人类思维的演绎能力,而非现代数据库平台的原始数学计 算能力。 一个常被引用的推理攻击示例是:一家大型企业的会计文员被允许获取公司用 于高级报告的薪资总额,但无权访问单个员工的薪资。 该会计文员通常需要编 制过去有效日期的报告,因此被允许访问过去一年中任何一天的薪资总额。 例 如,该文员还必须了解不同员工的入职和离职日期,并有权访问这些信息。 这 就为推理攻击打开了大门。 如果某位员工是在特定日期唯一入职的,那么会计 文员现在可以获取该日期及前一天的薪资总额,并推断出该员工的薪资——这 是一条用户本无权直接访问的敏感信息。 与聚合类似,防范推断攻击的最佳方法是持续监控授予每个用户的权限。

此外, 可以有意对数据进行模糊处理,以防止敏感信息被推断出来。 例如,如果会计 职员只能获取四舍五入到最近百万的薪资信息,他们可能无法获得有关任何单 个员工的有用信息。 最后,您可以使用数据库分区(下一节将讨论)来帮助规 避这些攻击。 其他安全机制

小白解释

场景先行:新员工入职后要登录系统。第一步是声明身份,第二步证明身份,第三步决定能访问哪些数据,最后系统要记录他做了什么。IAM 题就是围绕这条链条出题。

这一页真正想让你理解的是:框架帮助组织系统化管理控制,而不是想到哪做到哪。

把它放进公司里看,关键不是背定义,而是判断:认证成功不代表什么都能做;离职、调岗、权限漂移都会造成越权。

你作为负责人可以这样想:把识别、认证、授权、审计分开看,再用最小权限和定期复核收口。

本页术语用人话说:

授权:授权是认证之后决定你能访问什么、能做什么。

NIST:NIST 提供美国常用安全标准、框架和指南。

恢复点目标 RPO:RPO 是最多能接受丢失多少时间范围的数据。

常见误区:不要把 authentication 和 authorization 混成一件事:前者证明你是谁,后者决定你能干什么。

读完后用一句话复述:如果我是IAM 管理员,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“安全控制框架:用成熟框架组织安全”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是IAM 管理员在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

认证成功不等于什么都能做;权限仍要单独授权。

看到 SP 800 系列、CSF、RMF 常联想到 NIST。

RPO 问数据:最多丢到哪个时间点。

排除法提醒:不要把 authentication 和 authorization 混成一件事:前者证明你是谁,后者决定你能干什么。

本页术语拆解
授权 授权是认证之后决定你能访问什么、能做什么。
NIST NIST 提供美国常用安全标准、框架和指南。
恢复点目标 RPO RPO 是最多能接受丢失多少时间范围的数据。
学习单元 57 / PDF P1380

完整性:数据要正确、可信、未被乱改

完整性不只是防黑客篡改,也包括防授权用户误操作。

教材原文段落

Administrators can deploy several other security mechanisms when using a DBMS. These features are relatively easy to implement and are common in the industry. The mechanisms related to semantic integrity, for instance, are common security features of a DBMS. Semantic integrity ensures that user actions don't violate any structural rules. It also checks that all stored data types are within valid domain ranges, ensures that only logical values exist, and confirms that the system complies with any and all uniqueness constraints. Administrators may employ time and date stamps to maintain data integrity and availability. Time and date stamps often appear in distributed database systems.

When a timestamp is placed on all change transactions and those changes are distributed or replicated to the other database members, all changes are applied to all members, but they are implemented in correct chronological order. Another common security feature of a DBMS is that objects can be controlled granularly within the database; this can also improve security control. Content-dependent access control is an example of granular object control and is based on the contents or payload of the object being accessed. Because decisions must be made on an object-by-object basis, content-dependent control increases processing overhead. Another form of granular control is cell suppression.

Cell suppression is the concept of hiding individual database fields or cells or imposing more security restrictions on them. Context-dependent access control is often discussed alongside contentdependent access control because of the similarity of the terms. Contextdependent access control evaluates the big picture to make access control decisions. The key factor in context-dependent access control is how each object or packet or field relates to the overall activity or communication. Any single element may look innocuous by itself, but in a larger context that element may be revealed to be benign or malign.

Administrators might employ database partitioning to subvert aggregation and inference vulnerabilities. Database partitioning is the process of splitting a single database into multiple parts, each with a unique and distinct security level or type of content. Polyinstantiation, in the context of databases, occurs when two or more rows in the same relational database table appear to have identical primary key elements but contain different data for use at differing classification levels. Polyinstantiation is often used as a defense against some types of inference

中文直译 / 整理

管理员在使用DBMS时可以部署其他几种安全机制。 这些功能相对容易实现, 并且在行业中很常见。 例如,与语义完整性相关的机制是DBMS的常见安全功 能。 语义完整性确保用户操作不会违反任何结构规则,同时检查所有存储的数 据类型是否在有效域范围内,确保仅存在逻辑值,并确认系统符合所有唯一性 约束。 管理员可以使用时间戳和日期戳来维护数据的完整性和可用性。 时间戳和日 期戳通常出现在分布式数据库系统中。 当对所有更改事务都加上时间戳,并 将这些更改分发或复制到其他数据库成员时,所有更改都会应用到所有成员 上,但会按照正确的先后顺序执行。 DBMS 的另一个常见安全功能是可以在数据库内对对象进行细粒度控制; 这也 可以增强安全控制。 基于内容的访问控制是细粒度对象控制的一个示例,它基 于所访问对象的内容或有效载荷。 由于必须逐个对象做出决策,基于内容的控 制会增加处理开销。 另一种细粒度控制形式是 单元抑制。 单元抑制是指隐藏单 个数据库字段或单元,或对其施加更严格的安全限制的概念。 基于上下文的访问控制常与基于内容的访问控制一起讨论,因为这两个术语相 似。 基于上下文的访问控制通过评估整体情况来做出访问控制决策。

基于上下 文的访问控制的关键因素是每个对象、数据包或字段如何与整体活动或通信相 关联。 单个元素本身可能看似无害,但在更大的上下文中,该元素可能被揭示 为无害或有害。 管理员可能会使用数据库分区来规避聚合和推断漏洞。 数据库分区是将一个数 据库拆分为多个部分的过程,每个部分具有独特且不同的安全级别或内容类型。 多实例化,在数据库的上下文中,指的是在同一个关系型数据库表中,两条或 多条记录的主键元素看似相同,但包含用于不同分类级别的不同数据。 多实例 化通常用作防御某些类型推断攻击的手段

小白解释

场景先行:想象公司有一个客户订单系统:客户资料被别人看到是机密性问题,订单金额被偷偷改是完整性问题,系统打不开是可用性问题。教材这一页就是教你把事故先翻译成安全目标。

这一页真正想让你理解的是:完整性不只是防黑客篡改,也包括防授权用户误操作。

把它放进公司里看,关键不是背定义,而是判断:把泄露、篡改、宕机混在一起,就会选错控制措施。

你作为负责人可以这样想:先判断事故破坏了 CIA 哪一项,再选择对应控制:防泄露、防篡改、保可用。

本页术语用人话说:

完整性:完整性保证数据没有被未授权修改,并且仍然正确可信。

可用性:可用性保证授权用户需要时能及时使用系统和数据。

NIST:NIST 提供美国常用安全标准、框架和指南。

OSI 模型:OSI 用七层结构理解网络通信,从物理层到应用层。

常见误区:不要把所有安全问题都归成“被黑了”。考试会逼你分清到底是泄露、篡改还是中断。

读完后用一句话复述:如果我是业务系统负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“完整性:数据要正确、可信、未被乱改”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是业务系统负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

哈希、数字签名、变更控制、输入校验常对应完整性。

冗余、备份、BCP/DRP、抗 DoS、容量规划都对应可用性。

看到 SP 800 系列、CSF、RMF 常联想到 NIST。

网络题先定位层次,再判断协议、设备或攻击位置。

日志要保护完整性、时间同步和访问控制。

排除法提醒:不要把所有安全问题都归成“被黑了”。考试会逼你分清到底是泄露、篡改还是中断。

本页术语拆解
完整性 完整性保证数据没有被未授权修改,并且仍然正确可信。
可用性 可用性保证授权用户需要时能及时使用系统和数据。
NIST NIST 提供美国常用安全标准、框架和指南。
OSI 模型 OSI 用七层结构理解网络通信,从物理层到应用层。
日志 日志记录系统和用户活动,用于监控、审计和调查。
学习单元 58 / PDF P1381

机密性:让该看的人看,不该看的人看不到

机密性重点是防泄露,同时不能妨碍授权访问。

教材原文段落

attacks, but it introduces additional storage costs to store copies of data designed for different clearance levels. Consider a database table containing the location of various naval ships on patrol. Normally, this database contains the exact position of each ship stored at the secret classification level. However, one particular ship, the USS UpToNoGood, is on an undercover mission to a top-secret location. Military commanders do not want anyone to know that the ship deviated from its normal patrol.

If the database administrators simply change the classification of the UpToNoGood's location to top secret, a user with a secret clearance would know that something unusual was going on when they couldn't query the location of the ship. However, if polyinstantiation is used, two records could be inserted into the table. The first one, classified at the top-secret level, would reflect the true location of the ship and be available only to users with the appropriate top-secret security clearance. The second record, classified at the secret level, would indicate that the ship was on routine patrol and would be returned to users with a secret clearance.

Finally, administrators can insert false or misleading data into a DBMS in order to redirect or thwart information confidentiality attacks. This is a concept known as noise and perturbation. You must be extremely careful when using this technique to ensure that noise inserted into the database does not affect business operations. Open Database Connectivity Open Database Connectivity (ODBC) is a database feature that allows applications to communicate with different types of databases without having to be directly programmed for interaction with each type.

ODBC acts as a proxy between applications and backend database drivers, giving application programmers greater freedom in creating solutions without having to worry about the backend database system. Figure 20.11 illustrates the relationship between ODBC and a backend database system.

中文直译 / 整理

攻击,但它会引入额外的存储成本,以存储为不同密级设计的数据副本。 考虑一个包含巡逻中各种军舰位置的数据库表。 通常,该数据库以秘密保密级 别存储每艘船的确切位置。 然而,有一艘特定的军舰 USSUpToNoGood 正在执 行一项前往高度机密地点的潜伏任务。 军事指挥官不希望任何人知道这艘船偏 离了其常规巡逻路线。 如果数据库管理员只是将 UpToNoGood 的位置保密级 别改为高度机密,那么拥有秘密级别权限的用户在无法查询该船位置时,就会 意识到发生了异常情况。 然而,如果使用多实例化技术,则可以在表中插入两 条记录。 第一条记录为高度机密级别,反映船舶的真实位置,仅限拥有相应高 度机密安全权限的用户访问; 第二条记录为秘密级别,表明该船仍在常规巡逻, 并返回给拥有秘密级别权限的用户。 最后,管理员可以在数据库管理系统中插入虚假或误导性数据,以转移或 阻止信息保密攻击。 这是一种称为 噪声与扰动 的概念。 在使用此技术时, 必须极为谨慎,以确保插入数据库的噪声不会影响业务运营。 开放数据库互连 开放数据库互连(ODBC)是一种数据库功能,它允许应用程序在无需为每种 数据库类型直接编程的情况下与不同类型的数据库进行通信。

ODBC 充当应用 程序与后端数据库驱动程序之间的代理,使应用程序开发人员在创建解决方案 时拥有更大的自由度,而无需担心后端数据库系统。 图 20.11展示了 ODBC 与 后端数据库系统之间的关系。

小白解释

场景先行:想象公司有一个客户订单系统:客户资料被别人看到是机密性问题,订单金额被偷偷改是完整性问题,系统打不开是可用性问题。教材这一页就是教你把事故先翻译成安全目标。

这一页真正想让你理解的是:机密性重点是防泄露,同时不能妨碍授权访问。

把它放进公司里看,关键不是背定义,而是判断:把泄露、篡改、宕机混在一起,就会选错控制措施。

你作为负责人可以这样想:先判断事故破坏了 CIA 哪一项,再选择对应控制:防泄露、防篡改、保可用。

本页术语用人话说:

机密性:机密性让该看的人能看,不该看的人看不到。

NIST:NIST 提供美国常用安全标准、框架和指南。

程序:程序是一步一步怎么做。

OSI 模型:OSI 用七层结构理解网络通信,从物理层到应用层。

常见误区:不要把所有安全问题都归成“被黑了”。考试会逼你分清到底是泄露、篡改还是中断。

读完后用一句话复述:如果我是业务系统负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“机密性:让该看的人看,不该看的人看不到”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是业务系统负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

加密、访问控制、分类、培训都常用于保护机密性。

看到 SP 800 系列、CSF、RMF 常联想到 NIST。

Step-by-step、SOP 常对应 procedure。

网络题先定位层次,再判断协议、设备或攻击位置。

IPS 放在线路中,误报可能影响可用性。

排除法提醒:不要把所有安全问题都归成“被黑了”。考试会逼你分清到底是泄露、篡改还是中断。

本页术语拆解
机密性 机密性让该看的人能看,不该看的人看不到。
NIST NIST 提供美国常用安全标准、框架和指南。
程序 程序是一步一步怎么做。
OSI 模型 OSI 用七层结构理解网络通信,从物理层到应用层。
入侵防御系统 IPS IPS 可检测并主动阻断恶意流量。
学习单元 59 / PDF P1382

第 1382 页学习单元

这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

教材原文段落

FIGURE 20.11 ODBC as the interface between applications and a backend database system NoSQL As database technology evolves, many organizations are turning away from the relational model for cases where they require increased speed or their data does not neatly fit into tabular form. NoSQL databases are a class of databases that use models other than the relational model to store data. There are many different types of NoSQL database. As you prepare for the CISSP exam, you should be familiar with these common types: Key-value stores are perhaps the simplest possible form of database.

They store information in key-value pairs, where the key is essentially an index used to uniquely identify a record, which consists of a data value. Key-value stores are useful for high-speed applications and very large datasets where the rigid structure of a relational model would require significant, and perhaps unnecessary, overhead. Graph databases store data in graph format, using nodes to represent objects and edges to represent relationships. They are useful for representing any type of network, such as social networks, geographic locations, and other datasets that lend themselves to graph representations.

中文直译 / 整理

图 20.11 ODBC 作为应用程序与后端数据库系统之间的接口 NoSQL 随着数据库技术的发展,许多组织在需要更高速度或数据无法整齐地适应表 格形式时,正在放弃关系模型。 NoSQL 数据库是一类使用非关系模型存储 数据的数据库。 NoSQL 数据库有多种不同类型。 在准备 CISSP 考试时,您应熟悉以下常见类 型: 键值存储 可能是最简单的数据库形式。 它们以键值对的形式存储信息,其 中键本质上是一个用于唯一标识记录的索引,该记录由数据值组成。 键值 存储适用于高速应用和超大数据集,在这些场景中,关系模型的严格结构 会带来显著且可能不必要的开销。 图数据库 以图格式存储数据,使用节点表示对象,使用边表示关系。 它们适用于表示任何类型的网络,例如社交网络、地理位置以及其他适 合图表示的数据集。

小白解释

场景先行:员工在家访问公司系统,流量要穿过家庭网络、互联网、防火墙、VPN、服务器。网络安全题就是让你判断问题发生在哪一层、用哪个控制放在什么位置。

这一页真正想让你理解的是:这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

把它放进公司里看,关键不是背定义,而是判断:不分层就会乱选设备:该加密的地方装防火墙,该监测的地方却只做访问控制。

你作为负责人可以这样想:先定位网络层次,再决定是分段、过滤、加密、检测还是阻断。

本页术语用人话说:

程序:程序是一步一步怎么做。

入侵防御系统 IPS:IPS 可检测并主动阻断恶意流量。

日志:日志记录系统和用户活动,用于监控、审计和调查。

常见误区:不要以为防火墙能解决所有网络问题;它只是控制流量的一类工具。

读完后用一句话复述:如果我是网络安全工程师,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“第 1382 页学习单元”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是网络安全工程师在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

Step-by-step、SOP 常对应 procedure。

IPS 放在线路中,误报可能影响可用性。

日志要保护完整性、时间同步和访问控制。

排除法提醒:不要以为防火墙能解决所有网络问题;它只是控制流量的一类工具。

本页术语拆解
程序 程序是一步一步怎么做。
入侵防御系统 IPS IPS 可检测并主动阻断恶意流量。
日志 日志记录系统和用户活动,用于监控、审计和调查。
学习单元 60 / PDF P1383

安全控制框架:用成熟框架组织安全

框架帮助组织系统化管理控制,而不是想到哪做到哪。

教材原文段落

Document stores are similar to key-value stores in that they store information using keys, but the type of information they store is typically more complex than that in a key-value store and is in the form of a document. Common document types used in document stores include XML and JSON. The security models used by NoSQL databases may differ significantly from relational databases. Security professionals in organizations that use this technology should familiarize themselves with the security features of the solutions they use and consult with database teams in the design of appropriate security controls.

Storage Threats Database management systems have helped harness the power of data and grant some control over who can access it and the actions they can perform on it. However, security professionals must keep in mind that DBMS security covers access to information through only the traditional “front-door” channels. Data is also processed through a computer's storage resources— both memory and physical media. Precautions must be in place to ensure that these basic resources are protected against security vulnerabilities as well. After all, you would never incur a lot of time and expense to secure the front door of your home and then leave the backdoor wide open, would you?

Chapter 9, “Security Vulnerabilities, Threats, and Countermeasures,” included a comprehensive look at different types of storage. Let's take a look at two main threats posed against data storage systems. First, the threat of illegitimate access to storage resources exists no matter what type of storage is in use. If administrators do not implement adequate file system access controls, an intruder might stumble across sensitive data simply by browsing the file system. In more sensitive environments, administrators should also protect against attacks that involve bypassing operating system controls and directly accessing the physical storage media to retrieve data.

This is best accomplished through the use of an encrypted file system, which is accessible only through the primary operating system. Furthermore, systems that operate in a multilevel security environment should provide adequate controls to ensure that shared memory and storage resources are set up with appropriate controls so that data from one classification level is not readable at a lower classification level.

中文直译 / 整理

文档存储 与键值存储类似,都使用键来存储信息,但它们存储的信息类型 通常比键值存储更复杂,且以文档形式呈现。 文档存储中常用的文档类型 包括 XML 和 JSON。 NoSQL数据库所使用的安全模型可能与关系型数据库有显著差异。 使用此技 术的组织中的安全专业人员应熟悉其所用解决方案的安全功能,并在设计适 当的安全控制措施时与数据库团队进行咨询。 存储威胁 数据库管理系统有助于发挥数据的威力,并对谁可以访问数据以及他们可以执 行的操作进行一定程度的控制。 然而,安全专业人员必须牢记,DBMS安全仅 涵盖通过传统“前门”通道访问信息的情况。 数据还会通过计算机的存储资源—— 包括内存和物理介质——进行处理。 必须采取预防措施,确保这些基本资源也免 受安全漏洞的威胁。 毕竟,你不会花费大量时间和费用来保护家中的前门,却 任由后门大开,对吧? 第9章,“安全漏洞、威胁与对策”全面探讨了不同类型的存储。 让我们来看看 数据存储系统面临的两种主要威胁。 首先,无论使用何种类型的存储,非法访 问存储资源的威胁都始终存在。 如果管理员未实施足够的文件系统访问控制, 入侵者可能仅通过浏览文件系统就能偶然发现敏感数据。

在更敏感的环境中, 管理员还应防范绕过操作系统控制并直接访问物理存储介质以获取数据的攻击。 这最好通过使用加密文件系统来实现,该系统仅能通过主操作系统访问。 此外, 在多级安全环境中运行的系统应提供足够的控制措施,确保共享内存和存储资 源设置适当的权限,使来自一个分类级别的数据无法在较低分类级别被读取。

小白解释

场景先行:凌晨监控告警:某台服务器开始大量外连。你不能先忙着写报告,也不能直接关全网。事件响应要按顺序做:确认、遏制、根除、恢复、复盘。

这一页真正想让你理解的是:框架帮助组织系统化管理控制,而不是想到哪做到哪。

把它放进公司里看,关键不是背定义,而是判断:步骤乱了会扩大损失,或者破坏证据。

你作为负责人可以这样想:先保全证据和控制影响,再清除原因并恢复业务。

本页术语用人话说:

加密:加密把内容变成未授权者看不懂的形式。

NIST:NIST 提供美国常用安全标准、框架和指南。

日志:日志记录系统和用户活动,用于监控、审计和调查。

常见误区:不要一上来就删除文件或重装系统;可能会破坏调查证据。

读完后用一句话复述:如果我是事件响应负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“安全控制框架:用成熟框架组织安全”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是事件响应负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

加密主要保护机密性,也可配合签名、哈希支持完整性和真实性。

看到 SP 800 系列、CSF、RMF 常联想到 NIST。

日志要保护完整性、时间同步和访问控制。

排除法提醒:不要一上来就删除文件或重装系统;可能会破坏调查证据。

本页术语拆解
加密 加密把内容变成未授权者看不懂的形式。
NIST NIST 提供美国常用安全标准、框架和指南。
日志 日志记录系统和用户活动,用于监控、审计和调查。
学习单元 61 / PDF P1384

威胁建模方法:PASTA、STRIDE、DREAD

分类、建模、评分、优先级是不同层次。

教材原文段落

Errors in storage access controls become particularly dangerous in cloud computing environments, where a single misconfiguration can publicly expose sensitive information on the web. Organizations leveraging cloud storage systems, such as Amazon's Simple Storage Service (S3), should take particular care to set strong default security settings that restrict public access and then carefully monitor any changes to that policy that allow public access. Covert channel attacks pose the second primary threat against data storage resources.

Covert storage channels allow the transmission of sensitive data between classification levels through the direct or indirect manipulation of shared storage media. This may be as simple as writing sensitive data to an inadvertently shared portion of memory or physical storage. More complex covert storage channels might be used to manipulate the amount of free space available on a disk or the size of a file to covertly convey information between security levels. For more information on covert channel analysis, see Chapter 8.

Understanding Knowledge-Based Systems Since the advent of computing, engineers and scientists have worked toward developing systems capable of performing routine actions that would bore a human and consume a significant amount of time. The majority of the achievements in this area have focused on relieving the burden of computationally intensive tasks. However, researchers have also made giant strides toward developing systems that have an “artificial intelligence” that can simulate (to some extent) the purely human power of reasoning. The following sections examine three types of knowledge-based artificial intelligence (AI) systems: expert systems, machine learning, and neural networks.

We'll also take a look at their potential applications to computer security problems. Expert Systems Expert systems seek to embody the accumulated knowledge of experts on a particular subject and apply it in a consistent fashion to future decisions.

中文直译 / 整理

存储访问控制中的错误在云计算环境中尤其危险,因为单个配置错误就 可能使敏感信息在互联网上公开暴露。 使用云存储系统(如亚马逊的简单存 储服务S3)的组织应特别注意设置强大的默认安全设置,以限制公共访问, 并仔细监控任何允许公共访问的策略变更。 隐蔽信道攻击是对数据存储资源的第二大主要威胁。 隐蔽存储信道通过直接或 间接操纵共享存储介质,允许在不同安全级别之间传输敏感数据。 这可能仅仅 是将敏感数据写入意外共享的内存或物理存储区域。 更复杂的隐蔽存储信道可 能用于操纵磁盘上可用的空闲空间量或文件大小,以在不同安全级别之间秘密 传递信息。 有关隐蔽信道分析的更多信息,请参阅第8章。 理解基于知识的系统 自计算机出现以来,工程师和科学家一直致力于开发能够执行会令人类感到枯 燥且耗费大量时间的常规任务的系统。 这一领域的大部分成就集中在减轻计算 密集型任务的负担上。 然而,研究人员也在开发具有“人工智能”的系统方面 取得了巨大进展,这些系统能够在一定程度上模拟人类独有的推理能力。 以下章节将探讨三种基于知识的人工智能(AI)系统:专家系统、机器学习 和神经网络。 我们还将考察它们在计算机安全问题中的潜在应用。

专家系统 专家系统旨在体现特定主题上专家的累积知识,并以一致的方式应用于未来的决 策。

小白解释

场景先行:你是公司的安全负责人,正在读第 1384 页这一组概念。老板不会问你背定义,而是问:这件事会不会影响业务、谁负责、要不要花钱、出了事能不能解释清楚。

这一页真正想让你理解的是:分类、建模、评分、优先级是不同层次。

把它放进公司里看,关键不是背定义,而是判断:概念没放进业务场景,容易只背词,做题时不知道该选管理动作还是技术动作。

你作为负责人可以这样想:先确认业务目标和风险,再选控制措施,最后留下政策、审批、日志或证据。

本页术语用人话说:

政策:政策是高层原则,说明必须遵守什么。

STRIDE:STRIDE 用六类威胁检查系统:伪装、篡改、抵赖、信息泄露、拒绝服务、提权。

强制访问控制 MAC:MAC 由系统根据标签和级别强制决定访问。

常见误区:不要一看到安全题就直接选最强工具;CISSP 更常考“在这个场景下谁该负责、下一步是什么”。

读完后用一句话复述:如果我是安全负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“威胁建模方法:PASTA、STRIDE、DREAD”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是安全负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

Policy 高层、强制、稳定;Procedure 具体步骤。

STRIDE 是威胁分类模型。

政府/军方、机密级别、标签、不可由用户随意改通常是 MAC。

排除法提醒:不要一看到安全题就直接选最强工具;CISSP 更常考“在这个场景下谁该负责、下一步是什么”。

本页术语拆解
政策 政策是高层原则,说明必须遵守什么。
STRIDE STRIDE 用六类威胁检查系统:伪装、篡改、抵赖、信息泄露、拒绝服务、提权。
强制访问控制 MAC MAC 由系统根据标签和级别强制决定访问。
学习单元 62 / PDF P1385

第 1385 页学习单元

这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

教材原文段落

Several studies have shown that expert systems, when properly developed and implemented, often make better decisions than some of their human counterparts when faced with routine decisions. Every expert system has two core components: the knowledge base and the inference engine. The knowledge base contains the rules known by an expert system. The knowledge base seeks to codify the knowledge of human experts in a series of “if/then” statements. Let's consider a simple expert system designed to help homeowners decide whether they should evacuate an area when a hurricane threatens.

The knowledge base might contain the following statements (these statements are for example purposes only): If the hurricane is a Category 4 storm or higher, then flood waters normally reach a height of 20 feet above sea level. If the hurricane has winds in excess of 120 miles per hour (mph), then wood-frame structures will be destroyed. If it is late in the hurricane season, then hurricanes tend to get stronger as they approach the coast. In an actual expert system, the knowledge base would contain hundreds or thousands of assertions such as those just listed.

The second major component of an expert system—the inference engine— analyzes information in the knowledge base to arrive at the appropriate decision. The expert system user employs some sort of user interface to provide the inference engine with details about the current situation, and the inference engine uses a combination of logical reasoning and fuzzy logic techniques to draw a conclusion based on past experience. Continuing with the hurricane example, a user might inform the expert system that a Category 4 hurricane is approaching the coast with wind speeds averaging 140 mph.

The inference engine would then analyze information in the knowledge base and make an evacuation recommendation based on that past knowledge. Expert systems are not infallible—they're only as good as the data in the knowledge base and the decision-making algorithms implemented in the inference engine. However, they have one major advantage in stressful situations—their decisions do not involve judgment clouded by emotion. Expert systems can play an important role in analyzing emergency events, stock trading, and other scenarios in which emotional investment sometimes

中文直译 / 整理

多项研究表明,当专家系统得到适当开发和实施时,在面对常规决策时, 其决策质量往往优于某些人类同行。 每个专家系统都有两个核心组件:知识库和推理引擎。 知识库包含专家系统所知晓的规则。 知识库旨在将人类专家的知识编码为一系 列“如果/那么”语句。 让我们考虑一个简单的专家系统,它帮助房主在飓风威 胁时决定是否应撤离该区域。 知识库可能包含以下语句(这些语句仅用于示例): 如果飓风是Cate gory 4 storm或hi gher,则洪水 通常会达到海平面以上20英尺的高度。 如果飓风的风速超过每小时120英里(mph),则木结构建筑将被摧毁。 如果处于飓风季节的后期,则飓风在接近海岸时往往会增强。 在实际的专家系统中,知识库将包含数百甚至数千条如上所列的断言。 专家系统的第二个主要组成部分——推理引擎——分析知识库中的信息以得出适 当的决策。 专家系统的用户通过某种用户界面向推理引擎提供有关当前情况的 详细信息,推理引擎则结合逻辑推理和模糊逻辑技术,根据以往经验得出结论。 继续以飓风为例,用户可能告知专家系统,一个四级飓风正以平均风速140英里/ 小时的速度接近海岸。

推理引擎随后将分析知识库中的信息,并根据以往知识 做出疏散建议。 专家系统并非完美无缺——它们的好坏取决于知识库中的数据和推理引擎中实 现的决策算法。 然而,它们在压力情境下具有一大优势:其决策不受情绪干扰。 专家系统在分析紧急事件、股票交易以及其他有时情感投入会影响判断的场景 中,可以发挥重要作用。

小白解释

场景先行:凌晨监控告警:某台服务器开始大量外连。你不能先忙着写报告,也不能直接关全网。事件响应要按顺序做:确认、遏制、根除、恢复、复盘。

这一页真正想让你理解的是:这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

把它放进公司里看,关键不是背定义,而是判断:步骤乱了会扩大损失,或者破坏证据。

你作为负责人可以这样想:先保全证据和控制影响,再清除原因并恢复业务。

本页术语用人话说:

日志:日志记录系统和用户活动,用于监控、审计和调查。

恢复点目标 RPO:RPO 是最多能接受丢失多少时间范围的数据。

常见误区:不要一上来就删除文件或重装系统;可能会破坏调查证据。

读完后用一句话复述:如果我是事件响应负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“第 1385 页学习单元”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是事件响应负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

日志要保护完整性、时间同步和访问控制。

RPO 问数据:最多丢到哪个时间点。

排除法提醒:不要一上来就删除文件或重装系统;可能会破坏调查证据。

本页术语拆解
日志 日志记录系统和用户活动,用于监控、审计和调查。
恢复点目标 RPO RPO 是最多能接受丢失多少时间范围的数据。
学习单元 63 / PDF P1386

第 1386 页学习单元

这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

教材原文段落

gets in the way of a logical decision. For this reason, many lending institutions now use expert systems to make credit decisions instead of relying on loan officers who might say to themselves, “Well, Jim hasn't paid his bills on time, but he seems like a perfectly nice guy.” Machine Learning Machine learning techniques use analytic capabilities to develop knowledge from datasets without the direct application of human insight. The core approach of machine learning is to allow the computer to analyze and learn directly from data, developing and updating models of activity.

Machine learning techniques fall into two major categories: Supervised learning techniques use labeled data for training. The analyst creating a machine learning model provides a dataset along with the correct answers and allows the algorithm to develop a model that may then be applied to future cases. For example, if an analyst would like to develop a model of malicious system logins, the analyst would provide a dataset containing information about logins to the system over a period of time and indicate which were malicious. The algorithm would use this information to develop a model of malicious logins. Unsupervised learning techniques use unlabeled data for training.

The dataset provided to the algorithm does not contain the “correct” answers; instead, the algorithm is asked to develop a model independently. In the case of logins, the algorithm might be asked to identify groups of similar logins. An analyst could then look at the groups developed by the algorithm and attempt to identify groups that may be malicious. Neural Networks In neural networks, chains of computational units are used in an attempt to imitate the biological reasoning process of the human mind.

In an expert system, a series of rules is stored in a knowledge base, whereas in a neural network, a long chain of computational decisions that feed into each other and eventually sum to produce the desired output is set up. Neural networks are a subset of machine learning techniques and are also commonly referred to as deep learning. Keep in mind that no neural network designed to date comes close to having the reasoning power of the human mind. Nevertheless, neural networks show

中文直译 / 整理

干扰逻辑决策。 因此,许多贷款机构现在使用专家系统来做信贷决策,而不 是依赖可能对自己说“嗯,吉姆没有按时还账,但他看起来是个很友善的人” 的贷款专员。 机器学习 机器学习技术利用分析能力从数据集中开发知识,而无需直接应用人类的洞 察力。 机器学习的核心方法是让计算机直接从数据中分析和学习,从而开发 和更新活动模型。 机器学习技术分为两大类: 监督学习技术使用带标签的数据进行训练。 创建机器学习模型的分析师会 提供一个数据集以及正确的答案,让算法开发出一个可用于未来案例的模 型。 例如,如果分析师希望开发一个恶意系统登录的模型,他们会提供一 个包含一段时间内系统登录信息的数据集,并指出哪些是恶意的。 算法将 利用这些信息开发出恶意登录的模型。 无监督学习技术使用未标记的数据进行训练。 提供给算法的数据集不 包含“正确”答案; 相反,算法被要求独立开发模型。 在登录的情况下, 算法可能被要求识别相似登录的群组。 分析师随后可以查看算法生成的群 组,并尝试识别可能为恶意的群组。 神经网络 在神经网络中,使用计算单元的链路来模拟人脑的生物推理过程。

在专家系统 中,一系列规则被存储在知识库中,而在神经网络中,则建立了一条长链的计 算决策,这些决策相互传递并最终求和以产生期望的输出。 神经网络是机器学 习技术的一个子集,也通常被称为深度学习。 请记住,迄今为止设计的任何神经网络都远未达到人类思维的推理能力。 然而,神 经网络展现出

小白解释

场景先行:凌晨监控告警:某台服务器开始大量外连。你不能先忙着写报告,也不能直接关全网。事件响应要按顺序做:确认、遏制、根除、恢复、复盘。

这一页真正想让你理解的是:这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

把它放进公司里看,关键不是背定义,而是判断:步骤乱了会扩大损失,或者破坏证据。

你作为负责人可以这样想:先保全证据和控制影响,再清除原因并恢复业务。

本页术语用人话说:

强制访问控制 MAC:MAC 由系统根据标签和级别强制决定访问。

日志:日志记录系统和用户活动,用于监控、审计和调查。

常见误区:不要一上来就删除文件或重装系统;可能会破坏调查证据。

读完后用一句话复述:如果我是事件响应负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“第 1386 页学习单元”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是事件响应负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

政府/军方、机密级别、标签、不可由用户随意改通常是 MAC。

日志要保护完整性、时间同步和访问控制。

排除法提醒:不要一上来就删除文件或重装系统;可能会破坏调查证据。

本页术语拆解
强制访问控制 MAC MAC 由系统根据标签和级别强制决定访问。
日志 日志记录系统和用户活动,用于监控、审计和调查。
学习单元 64 / PDF P1387

安全控制框架:用成熟框架组织安全

框架帮助组织系统化管理控制,而不是想到哪做到哪。

教材原文段落

great potential to advance the AI field beyond its current state. Benefits of neural networks include linearity, input-output mapping, and adaptivity. These benefits are evident in the implementations of neural networks for voice recognition, face recognition, weather prediction, and the exploration of models of thinking and consciousness. Typical neural networks involve many layers of summation, each of which requires weighting information to reflect the relative importance of the calculation in the overall decision-making process. The weights must be custom-tailored for each type of decision the neural network is expected to make.

This is accomplished through the use of a training period during which the network is provided with inputs for which the proper decision is known. The algorithm then works backward from these decisions to determine the proper weights for each node in the computational chain. This activity is performed using what is known as the Delta rule. Through the use of the Delta rule, neural networks are able to learn from experience. Knowledge-based analytic techniques have great applications in the field of computer security. One of the major advantages offered by these systems is their capability to rapidly make consistent decisions.

One of the major problems in computer security is the inability of system administrators to consistently and thoroughly analyze massive amounts of log and audit trail data to look for anomalies. It seems like a match made in heaven. Summary Data is the most valuable resource many organizations possess. Therefore, it's critical that information security practitioners understand the necessity of safeguarding the data itself and the systems and applications that assist in the processing of that data. Protections against malicious code, database vulnerabilities, and system/application development flaws must be implemented in every technology-aware organization.

By this point, you no doubt recognize the importance of placing adequate access controls and audit trails on these valuable information resources. Database security is a rapidly growing field; if databases play a major role in your security duties, take the time to sit down with database administrators, courses, and textbooks and learn the underlying theory. It's a valuable investment.

中文直译 / 整理

推动人工智能领域超越当前状态的巨大潜力。 神经网络的优势包括线性性、输 入‑输出映射和适应性。 这些优势在神经网络用于语音识别、人脸识别、天气预 测以及思维和意识模型探索的实现中得到了体现。 典型的神经网络包含多层求和,每一层都需要加权信息,以反映计算在整体决 策过程中的相对重要性。 这些权重必须根据神经网络预期做出的每种决策进行 定制。 这通过一个训练期来实现,在此期间,网络会接收已知正确决策的输入。 然后,算法从这些决策反向推导,以确定计算链中每个节点的适当权重。 这一 过程使用的是所谓的 Delta规则。 通过使用 Delta 规则,神经网络能够从经验 中学习。 基于知识的分析技术在计算机安全领域具有广泛的应用。 这些系统提供的主 要优势之一是能够快速做出一致的决策。 计算机安全中的一个主要问题是系 统管理员无法一致且彻底地分析海量的日志和审计跟踪数据以寻找异常。 这 似乎像是天作之合。 摘要 数据是许多组织拥有的最有价值的资源。 因此,信息安全从业者必须理解保护 数据本身以及协助处理该数据的系统和应用程序的必要性。 每个具备技术意识 的组织都必须实施针对恶意代码、数据库漏洞以及系统/应用程序开发缺陷的防 护措施。

到目前为止,您无疑已经认识到对这些宝贵的信息资源实施充分的访问控制和 审计跟踪的重要性。 数据库安全是一个迅速发展的领域; 如果数据库在您的安 全职责中扮演重要角色,请花时间与数据库管理员、课程和教材一起学习其基 本理论。 这是一项很有价值的投资。

小白解释

场景先行:新员工入职后要登录系统。第一步是声明身份,第二步证明身份,第三步决定能访问哪些数据,最后系统要记录他做了什么。IAM 题就是围绕这条链条出题。

这一页真正想让你理解的是:框架帮助组织系统化管理控制,而不是想到哪做到哪。

把它放进公司里看,关键不是背定义,而是判断:认证成功不代表什么都能做;离职、调岗、权限漂移都会造成越权。

你作为负责人可以这样想:把识别、认证、授权、审计分开看,再用最小权限和定期复核收口。

本页术语用人话说:

审计:审计记录主体行为,用于追责、复盘和取证。

NIST:NIST 提供美国常用安全标准、框架和指南。

程序:程序是一步一步怎么做。

审计:审计检查控制是否存在、是否有效、是否符合要求。

常见误区:不要把 authentication 和 authorization 混成一件事:前者证明你是谁,后者决定你能干什么。

读完后用一句话复述:如果我是IAM 管理员,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“安全控制框架:用成熟框架组织安全”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是IAM 管理员在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

没有日志和身份绑定,就很难问责。

看到 SP 800 系列、CSF、RMF 常联想到 NIST。

Step-by-step、SOP 常对应 procedure。

审计题关注独立性、证据、范围和报告。

日志要保护完整性、时间同步和访问控制。

排除法提醒:不要把 authentication 和 authorization 混成一件事:前者证明你是谁,后者决定你能干什么。

本页术语拆解
审计 审计记录主体行为,用于追责、复盘和取证。
NIST NIST 提供美国常用安全标准、框架和指南。
程序 程序是一步一步怎么做。
审计 审计检查控制是否存在、是否有效、是否符合要求。
日志 日志记录系统和用户活动,用于监控、审计和调查。
恶意代码 恶意代码包括病毒、蠕虫、木马、勒索软件等。
学习单元 65 / PDF P1388

保护机制:分层、隐藏、加密和边界

单一控制不够,安全靠多个机制配合。

教材原文段落

Finally, various controls can be put into place during the system and application development process to ensure that the end product of these processes is compatible with operation in a secure environment. Such controls include process isolation, hardware segmentation, abstraction, and contractual arrangements such as service-level agreements (SLAs). Security should always be introduced in the early planning phases of any development project and continually monitored throughout the design, development, deployment, and maintenance phases of production. Study Essentials Explain the basic architecture of a relational database management system (RDBMS).

Know the structure of relational databases. Be able to explain the function of tables (relations), rows (records/tuples), and columns (fields/attributes). Know how relationships are defined between tables and the roles of various types of keys. Describe the database security threats posed by aggregation and inference. Explain how expert systems, machine learning, and neural networks function. Expert systems consist of two core components: a knowledge base that contains a series of “if/then” rules and an inference engine that uses that information to draw conclusions about other data. Machine learning techniques attempt to algorithmically discover knowledge from datasets.

Neural networks simulate the functioning of the human mind to a limited extent by arranging a series of layered calculations to solve problems. Neural networks require extensive training on a particular problem before they are able to offer solutions. Understand the models of systems development. Know that the waterfall model describes a sequential development process that results in the development of a finished product. Developers may step back only one phase in the process if errors are discovered. The spiral model uses several iterations of the waterfall model to produce a number of fully specified and tested prototypes.

Agile development models place an emphasis on the needs of the customer and quickly developing new functionality that meets those needs in an iterative fashion. Explain the Scrum approach to Agile software development. Scrum is an organized approach to implementing the Agile philosophy. It relies on daily scrum meetings to organize and review work. Development focuses on short sprints of activity that deliver finished products. Integrated product

中文直译 / 整理

最后,在系统和应用程序开发过程中可以实施各种控制措施,以确保这些过程 的最终产品能够兼容于安全的运行环境。 此类控制措施包括进程隔离、硬件分 段、抽象以及合同安排,例如服务水平协议(SLA)。 安全应始终在任何开发 项目的早期规划阶段引入,并在整个设计、开发、部署和维护阶段持续监控。 学习必备 解释关系型数据库管理系统(RDBMS)的基本架构。 了解关系型数据库的结构。 能够解释表(关系)、行(记录/元组)和列(字段/属性)的功能。 了解表之间 关系的定义方式以及各种类型键的作用。 描述聚合和推断带来的数据库安全威胁。 Explain how ex pert s ystems , machine learnin g, 和神经 网络的功能。 专家系统由两个核心组件组成:一个包含一系列“如果/那么”规则 的知识库,以及一个利用这些信息对其他数据进行推断的推理引擎。 机器学习技 术试图通过算法从数据集中发现知识。 神经网络通过安排一系列分层计算来解决 问题,从而在一定程度上模拟人脑的功能。 神经网络需要在特定问题上进行大量 训练,才能提供解决方案。 理解系统开发的模型。

了解瀑布模型描述了一个顺序开发过程,最终产生一个完 整的成品。 如果发现错误,开发人员只能回退一个阶段。 螺旋模型通过多次迭代 瀑布模型,生成多个完全指定且经过测试的原型。 敏捷开发模型强调客户的需求, 并以迭代方式快速开发满足这些需求的新功能。 解释Scrum在敏捷软件开发中的方法。 Scrum是一种组织化的方法,用于实施 敏捷理念。 它依赖于每日Scrum会议来组织和审查工作。 开发侧重于短周期的冲 刺活动,以交付已完成的产品。 集成产品

小白解释

场景先行:员工在家访问公司系统,流量要穿过家庭网络、互联网、防火墙、VPN、服务器。网络安全题就是让你判断问题发生在哪一层、用哪个控制放在什么位置。

这一页真正想让你理解的是:单一控制不够,安全靠多个机制配合。

把它放进公司里看,关键不是背定义,而是判断:不分层就会乱选设备:该加密的地方装防火墙,该监测的地方却只做访问控制。

你作为负责人可以这样想:先定位网络层次,再决定是分段、过滤、加密、检测还是阻断。

本页术语用人话说:

分层:分层把控制按层排列,让攻击者必须连续突破。

抽象:抽象把复杂细节藏在接口后,只暴露必要功能。

ISO:ISO 是国际标准化组织,常见安全管理体系如 ISO 27001/27002。

程序:程序是一步一步怎么做。

常见误区:不要以为防火墙能解决所有网络问题;它只是控制流量的一类工具。

读完后用一句话复述:如果我是网络安全工程师,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“保护机制:分层、隐藏、加密和边界”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是网络安全工程师在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

serial controls 更深,parallel controls 更宽;题目会考深度和广度。

对象、角色、组、接口都可能体现 abstraction。

ISO 偏标准和管理体系。

Step-by-step、SOP 常对应 procedure。

IPS 放在线路中,误报可能影响可用性。

排除法提醒:不要以为防火墙能解决所有网络问题;它只是控制流量的一类工具。

本页术语拆解
分层 分层把控制按层排列,让攻击者必须连续突破。
抽象 抽象把复杂细节藏在接口后,只暴露必要功能。
ISO ISO 是国际标准化组织,常见安全管理体系如 ISO 27001/27002。
程序 程序是一步一步怎么做。
入侵防御系统 IPS IPS 可检测并主动阻断恶意流量。
强制访问控制 MAC MAC 由系统根据标签和级别强制决定访问。
学习单元 66 / PDF P1389

第 1389 页学习单元

这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

教材原文段落

teams (IPTs) are an early effort at this approach that was used by the U.S. Department of Defense. Describe software development maturity models. Know that maturity models help software organizations improve the maturity and quality of their software processes by implementing an evolutionary path from ad hoc, chaotic processes to mature, disciplined software processes. Be able to describe the SW-CMM, IDEAL, and SAMM models. Understand the importance of change and configuration management. Know the three basic components of the change management process—request control, change control, and release control— and how they contribute to security.

Explain how software configuration management controls the versions of software used in an organization. Understand how the auditing and logging of changes mitigates risk to the organization. Understand the importance of testing. Software testing should be designed as part of the development process. Testing should be used as a management tool to improve the design, development, and production processes. Explain the role of DevOps and DevSecOps in the modern enterprise. DevOps approaches seek to integrate software development and operations activities by embracing automation and collaboration between teams.

DevSecOps approaches expand on the DevOps model by introducing security operations activities into the integrated model. Continuous integration and delivery (CI/CD) techniques automate the DevOps and DevSecOps pipelines. Know the role of different coding tools in software development ecosystems. Developers write code in different programming languages, which is then either compiled into machine language or executed through an interpreter. Developers may make use of software development tool sets and integrated development environments to facilitate the code writing process.

Software libraries create shared and reusable code, whereas code repositories provide a management platform for the software development process. Explain the impact of acquired software on the organization. Organizations may purchase commercial off-the-shelf (COTS) software to meet their requirements, and they may also rely on free open-source software (OSS). All of this software expands the potential attack surface and requires security review and testing.

中文直译 / 整理

团队(IPTs)是美国国防部早期采用这种做法的尝试。 描述软件开发成熟度模型。 了解成熟度模型如何通过实施从随意、混乱的流程 到成熟、规范的软件流程的演进路径,帮助软件组织提升其软件过程的成熟度 和质量。 能够描述SW‑CMM、IDEAL和SAMM模型。 理解变更和配置的重要性 管理。 了解变更管理过程的三个基本组成部分——请求控制、变更控制和发布 控制——以及它们如何促进安全性。 解释软件配置管理如何控制组织中使用的软 件版本。 理解变更的审计和日志记录如何降低组织的风险。 理解测试的重要性。 软件测试应作为开发过程的一部分进行设计。 测试应 作为管理工具,用于改进设计、开发和生产过程。 解释DevOps和DevSecOps在现代 企业中的作用。 DevOps方法通过采用团队间的自动化和协作,力求整合软件开 发与运维活动。 DevSecOps方法在DevOps模型的基础上,将安全运维活动引入 集成模型中。 持续集成与交付(CI/CD)技术自动化了DevOps和DevSecOps流 程。 了解不同编码工具在软件开发生态系统中的作用。 开发人员使用不同的编程语 言编写代码,这些代码要么被编译成机器语言,要么通过解释器执行。

开发人员 可能会使用软件开发工具集和集成开发环境来促进编码过程。 软件库创建可共享 和可重用的代码,而代码仓库则为软件开发过程提供管理平台。 解释采购软件对组织的影响。 组织可能购买商用现成(COTS)软件以满足其需求,也可能依赖免费的开源软 件(OSS)。 所有这些软件都会扩大潜在的攻击面,需要进行安全审查和测试。

小白解释

场景先行:新员工入职后要登录系统。第一步是声明身份,第二步证明身份,第三步决定能访问哪些数据,最后系统要记录他做了什么。IAM 题就是围绕这条链条出题。

这一页真正想让你理解的是:这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

把它放进公司里看,关键不是背定义,而是判断:认证成功不代表什么都能做;离职、调岗、权限漂移都会造成越权。

你作为负责人可以这样想:把识别、认证、授权、审计分开看,再用最小权限和定期复核收口。

本页术语用人话说:

审计:审计记录主体行为,用于追责、复盘和取证。

OSI 模型:OSI 用七层结构理解网络通信,从物理层到应用层。

强制访问控制 MAC:MAC 由系统根据标签和级别强制决定访问。

审计:审计检查控制是否存在、是否有效、是否符合要求。

常见误区:不要把 authentication 和 authorization 混成一件事:前者证明你是谁,后者决定你能干什么。

读完后用一句话复述:如果我是IAM 管理员,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“第 1389 页学习单元”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是IAM 管理员在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

没有日志和身份绑定,就很难问责。

网络题先定位层次,再判断协议、设备或攻击位置。

政府/军方、机密级别、标签、不可由用户随意改通常是 MAC。

审计题关注独立性、证据、范围和报告。

日志要保护完整性、时间同步和访问控制。

排除法提醒:不要把 authentication 和 authorization 混成一件事:前者证明你是谁,后者决定你能干什么。

本页术语拆解
审计 审计记录主体行为,用于追责、复盘和取证。
OSI 模型 OSI 用七层结构理解网络通信,从物理层到应用层。
强制访问控制 MAC MAC 由系统根据标签和级别强制决定访问。
审计 审计检查控制是否存在、是否有效、是否符合要求。
日志 日志记录系统和用户活动,用于监控、审计和调查。
开发安全运营一体化 DevSecOps 把安全自动化嵌入开发和交付流程。
学习单元 67 / PDF P1390

章末总结与练习题

章末内容用来反查自己是否真的理解,而不是只背答案。

教材原文段落

Written Lab 1. What is the main purpose of a primary key in a database table? 2. What is polyinstantiation? 3. Explain the difference between supervised and unsupervised machine learning. Review Questions 1. Christine is helping her organization implement a DevOps approach to deploying code. Which one of the following is not a component of the DevOps model? A. Information security B. Software development C. Quality assurance D. IT operations 2. Bob is developing a software application and has a field where users may enter a date. He wants to ensure that the values provided by the users are accurate dates to prevent security issues. What technique should Bob use? A. Polyinstantiation B.

Input validation C. Contamination D. Screening 3. Vincent is a software developer who is working through a backlog of change tasks. He is not sure which tasks should have the highest priority. What portion of the change management process would help him to prioritize tasks? A. Release control B. Configuration control C. Request control D. Change audit

中文直译 / 整理

实验题 1. 数据库表中主键的主要作用是什么? 2. 什么是多实例化? 3. 解释监督学习和无监督学习之间的区别。 复习题 1. 克里斯汀正在帮助她的组织实施DevOps方法来部署代码。 以下哪一项 是不属于DevOps模型的组成部分? A. 信息安全 B. 软件开发 C. 质量保证 D. IT 运营 2. 鲍勃正在开发一个软件应用程序,其中有一个字段供用户输入日期。 他希 望确保用户提供的值是准确的日期,以防止安全问题。 鲍勃应该使用什么技 术? A. 多实例化 B. 输入验证 C. 污染 D. 筛选 3. 文森特是一名软件开发人员,正在处理一系列待完成的变更任务。 他不确 定哪些任务应该具有最高优先级。 变更管理流程的哪一部分能帮助他确定任 务的优先级? A. 发布控制 B. 配置控制 C. 请求控制 D. 变更审计

小白解释

场景先行:新员工入职后要登录系统。第一步是声明身份,第二步证明身份,第三步决定能访问哪些数据,最后系统要记录他做了什么。IAM 题就是围绕这条链条出题。

这一页真正想让你理解的是:章末内容用来反查自己是否真的理解,而不是只背答案。

把它放进公司里看,关键不是背定义,而是判断:认证成功不代表什么都能做;离职、调岗、权限漂移都会造成越权。

你作为负责人可以这样想:把识别、认证、授权、审计分开看,再用最小权限和定期复核收口。

本页术语用人话说:

审计:审计记录主体行为,用于追责、复盘和取证。

程序:程序是一步一步怎么做。

强制访问控制 MAC:MAC 由系统根据标签和级别强制决定访问。

审计:审计检查控制是否存在、是否有效、是否符合要求。

常见误区:不要把 authentication 和 authorization 混成一件事:前者证明你是谁,后者决定你能干什么。

读完后用一句话复述:如果我是IAM 管理员,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“章末总结与练习题”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是IAM 管理员在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

没有日志和身份绑定,就很难问责。

Step-by-step、SOP 常对应 procedure。

政府/军方、机密级别、标签、不可由用户随意改通常是 MAC。

审计题关注独立性、证据、范围和报告。

日志要保护完整性、时间同步和访问控制。

遇到章末题时,不要只看选项。先判断题干在问定义、责任归属、最佳下一步,还是控制措施选择。

排除法提醒:不要把 authentication 和 authorization 混成一件事:前者证明你是谁,后者决定你能干什么。

本页术语拆解
审计 审计记录主体行为,用于追责、复盘和取证。
程序 程序是一步一步怎么做。
强制访问控制 MAC MAC 由系统根据标签和级别强制决定访问。
审计 审计检查控制是否存在、是否有效、是否符合要求。
日志 日志记录系统和用户活动,用于监控、审计和调查。
恢复点目标 RPO RPO 是最多能接受丢失多少时间范围的数据。
学习单元 68 / PDF P1391

完整性:数据要正确、可信、未被乱改

完整性不只是防黑客篡改,也包括防授权用户误操作。

教材原文段落

4. Frank is conducting a risk analysis of his software development environment and, as a mitigation measure, would like to introduce an approach to failure management that places the system in a high level of security in the event of a failure. What approach should he use? A. Fail-open B. Fail mitigation C. Fail-secure D. Fail-clear 5. What software development model uses a seven-stage approach with a feedback loop that allows progress one step backward? A. Boyce-Codd B. Iterative waterfall C. Spiral D. Agile 6. Jane is conducting a threat assessment using threat modeling techniques as she develops security requirements for a software package her team is developing.

Which business function is she engaging in under the Software Assurance Maturity Model? A. Governance B. Design C. Implementation D. Verification 7. Which one of the following key types is used to enforce referential integrity between database tables? A. Candidate key B. Primary key C. Foreign key D. Alternate key 8. Richard believes that a database user is misusing his privileges to gain information about the company's overall business trends by issuing 4.

中文直译 / 整理

弗兰克正在对其软件开发环境进行风险分析,并希望作为缓解措施,引入 一种故障管理方法,使系统在发生故障时处于高度安全状态。 他应该使用哪 种方法? A. 失效开放 B. 失效缓解 C. 失效安全 D. 失效清除 5. 哪种软件开发模型采用七阶段方法,并包含一个允许向后退一步的反馈循环? A. Boyce‑Codd B. 迭代式瀑布模型 C. 螺旋模型 D. 敏捷 6. 简在为其团队开发的软件包制定安全需求时,正在使用威胁建模技术进行 威胁评估。 根据软件保障成熟度模型,她正在参与哪项业务职能? A. 治理 B. 设计 C. 实现 D. 验证 7. 以下哪种键类型用于在数据库表之间强制执行引用完整性? A. 候选键 B. 主键 C. 外键 D. 替代键 8. 理查德认为,数据库用户正在滥用其权限,通过发出

小白解释

场景先行:想象公司有一个客户订单系统:客户资料被别人看到是机密性问题,订单金额被偷偷改是完整性问题,系统打不开是可用性问题。教材这一页就是教你把事故先翻译成安全目标。

这一页真正想让你理解的是:完整性不只是防黑客篡改,也包括防授权用户误操作。

把它放进公司里看,关键不是背定义,而是判断:把泄露、篡改、宕机混在一起,就会选错控制措施。

你作为负责人可以这样想:先判断事故破坏了 CIA 哪一项,再选择对应控制:防泄露、防篡改、保可用。

本页术语用人话说:

完整性:完整性保证数据没有被未授权修改,并且仍然正确可信。

威胁建模:威胁建模是在设计和生命周期中提前识别威胁。

常见误区:不要把所有安全问题都归成“被黑了”。考试会逼你分清到底是泄露、篡改还是中断。

读完后用一句话复述:如果我是业务系统负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“完整性:数据要正确、可信、未被乱改”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是业务系统负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

哈希、数字签名、变更控制、输入校验常对应完整性。

越早做威胁建模,修复成本越低。

排除法提醒:不要把所有安全问题都归成“被黑了”。考试会逼你分清到底是泄露、篡改还是中断。

本页术语拆解
完整性 完整性保证数据没有被未授权修改,并且仍然正确可信。
威胁建模 威胁建模是在设计和生命周期中提前识别威胁。
学习单元 69 / PDF P1392

第 1392 页学习单元

这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

教材原文段落

queries that combine data from a large number of records. What process is the database user taking advantage of? A. Inference B. Contamination C. Polyinstantiation D. Aggregation 9. What database technique can be used to prevent unauthorized users from determining classified information by noticing the absence of information normally available to them? A. Inference B. Manipulation C. Polyinstantiation D. Aggregation 10. Which one of the following is not a principle of Agile development? A. Satisfy the customer through early and continuous delivery. B. Businesspeople and developers work together. C. Pay continuous attention to technical excellence. D.

Prioritize security over other requirements. 11. What type of information is used to form the basis of an expert system's decision-making process? A. A series of weighted layered computations B. Combined input from a number of human experts, weighted according to past performance C. A series of “if/then” rules codified in a knowledge base D. A biological decision-making process that simulates the reasoning process used by the human mind 12. In which phase of the SW-CMM does an organization use quantitative measures to gain a detailed understanding of the development process? A. Initial B. Repeatable

中文直译 / 整理

结合大量记录数据的查询。 数据库用户正在利用什么过程? A. 推断 B. 污染 C. 多实例化 D. 聚合 9. 可以使用哪种数据库技术来防止未经授权的用户通过注意到他们通常 可获得的信息的缺失来推断机密信息? A. 推理 B. 操纵 C. 多实例化 D. 聚合 10. 以下哪一项不是敏捷开发的原则? 不 A. 通过早期和持续交付满足客户。 B. 商业人员和开发人员共同工作。 C. 持续关注技术卓越。 D. 将安全置于其他需求之上。 11. 哪种类型的信息用于构成专家系统决策过程的基础? A. 一系列加权的分层计算 B. 来自多位人类专家的综合输入,并根据过去的表现进行加权 C. 一组编码在知识库中的“如果/那么”规则 D. 一种模拟人类思维推理过程的生物决策过程 12. 在SW‑CMM的哪个阶段,组织使用定量指标来深入了解开发过程? A. 初始级 B. 可重复级

小白解释

场景先行:新员工入职后要登录系统。第一步是声明身份,第二步证明身份,第三步决定能访问哪些数据,最后系统要记录他做了什么。IAM 题就是围绕这条链条出题。

这一页真正想让你理解的是:这一页属于本章连续内容,先读原文和译文,再看下方把概念拆成小白能理解的版本。

把它放进公司里看,关键不是背定义,而是判断:认证成功不代表什么都能做;离职、调岗、权限漂移都会造成越权。

你作为负责人可以这样想:把识别、认证、授权、审计分开看,再用最小权限和定期复核收口。

本页术语用人话说:

授权:授权是认证之后决定你能访问什么、能做什么。

分层:分层把控制按层排列,让攻击者必须连续突破。

日志:日志记录系统和用户活动,用于监控、审计和调查。

常见误区:不要把 authentication 和 authorization 混成一件事:前者证明你是谁,后者决定你能干什么。

读完后用一句话复述:如果我是IAM 管理员,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“第 1392 页学习单元”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是IAM 管理员在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

认证成功不等于什么都能做;权限仍要单独授权。

serial controls 更深,parallel controls 更宽;题目会考深度和广度。

日志要保护完整性、时间同步和访问控制。

排除法提醒:不要把 authentication 和 authorization 混成一件事:前者证明你是谁,后者决定你能干什么。

本页术语拆解
授权 授权是认证之后决定你能访问什么、能做什么。
分层 分层把控制按层排列,让攻击者必须连续突破。
日志 日志记录系统和用户活动,用于监控、审计和调查。
学习单元 70 / PDF P1393

保护机制:分层、隐藏、加密和边界

单一控制不够,安全靠多个机制配合。

教材原文段落

C. Defined D. Managed 13. Which of the following acts as a proxy between an application and a database to support interaction and simplify the work of programmers? A. SDLC B. ODBC C. PCI DSS D. Abstraction 14. In what type of software testing does the tester have access to the underlying source code? A. Static testing B. Dynamic testing C. Cross-site scripting testing D. Black-box testing 15. What type of chart provides a graphical illustration of a schedule that helps to plan, coordinate, and track project tasks? A. Gantt B. Venn C. Bar D. PERT 16. Which database security risk occurs when data from a higher classification level is mixed with data from a lower classification level? A.

Aggregation B. Inference C. Contamination D. Polyinstantiation 17. Tonya is performing a risk assessment of a third-party software package for use within her organization. She plans to purchase a product from a vendor that is very popular in her industry. What term best describes this software? C.

中文直译 / 整理

已定义 D. 已管理 13. 以下哪项充当应用程序与数据库之间的代理,以支持交互并简化程序员的工 作? A. SDLC B. ODBC C. PCI DSS D. 抽象 14. 在哪种软件测试中,测试人员可以访问底层源代码? A. 静态测试 B. 动态测试 C. 跨站脚本测试 D. 黑盒测试 15. 哪种图表以图形方式展示进度计划,有助于规划、协调和跟踪项目任务? A. 甘特图 B. 文恩图 C. 柱状图 D. PERT图 16. 当较高密级的数据与较低密级的数据混合时,会发生哪种数据库安全风险? A. 聚合 B. 推断 C. 污染 D. 多实例化 17. 托尼娅正在对其组织内使用的第三方软件包进行风险评估。 她计划从其行 业中非常流行的供应商处购买一款产品。 哪个术语最能描述这种软件?

小白解释

场景先行:开发团队要上线登录功能。安全不是上线前扫一下漏洞,而是从需求、设计、编码、测试、发布到运维都要参与。

这一页真正想让你理解的是:单一控制不够,安全靠多个机制配合。

把它放进公司里看,关键不是背定义,而是判断:安全太晚介入,修复成本高,还可能把漏洞带到生产环境。

你作为负责人可以这样想:在 SDLC 早期做威胁建模、代码审查、测试和发布控制。

本页术语用人话说:

风险评估:风险评估是先找资产、威胁、漏洞和影响,再决定控制措施。

抽象:抽象把复杂细节藏在接口后,只暴露必要功能。

PCI DSS:PCI DSS 是支付卡行业数据安全标准。

程序:程序是一步一步怎么做。

常见误区:不要只靠上线前一次扫描;安全要嵌入整个生命周期。

读完后用一句话复述:如果我是应用安全负责人,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“保护机制:分层、隐藏、加密和边界”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是应用安全负责人在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

风险评估不是漏洞扫描;它更高层,服务于决策和资源分配。

对象、角色、组、接口都可能体现 abstraction。

信用卡/持卡人数据场景优先想到 PCI DSS。

Step-by-step、SOP 常对应 procedure。

安全越早进入 SDLC,修复成本越低。

遇到章末题时,不要只看选项。先判断题干在问定义、责任归属、最佳下一步,还是控制措施选择。

排除法提醒:不要只靠上线前一次扫描;安全要嵌入整个生命周期。

本页术语拆解
风险评估 风险评估是先找资产、威胁、漏洞和影响,再决定控制措施。
抽象 抽象把复杂细节藏在接口后,只暴露必要功能。
PCI DSS PCI DSS 是支付卡行业数据安全标准。
程序 程序是一步一步怎么做。
软件开发生命周期 SDLC 把需求、设计、开发、测试、部署和维护串起来。
学习单元 71 / PDF P1394

安全控制框架:用成熟框架组织安全

框架帮助组织系统化管理控制,而不是想到哪做到哪。

教材原文段落

A. Open-source B. Custom-developed C. ERP D. COTS 18. Which one of the following is not part of the change management process? A. Request control B. Release control C. Configuration audit D. Change control 19. What transaction management principle ensures that two transactions do not interfere with each other as they operate on the same data? A. Atomicity B. Consistency C. Isolation D. Durability 20. Tom built a database table consisting of the names, telephone numbers, and customer IDs for his business. The table contains information on 30 customers. What is the degree of this table? A. Two B. Three C. Thirty D. Undefined A.

中文直译 / 整理

开源 B. 自定义开发 C. ERP D. COTS 18. 以下哪一项不属于变更管理流程? A. 请求控制 B. 释放控制 C. 配置审计 D. 变更控制 19. 哪种事务管理原则确保两个事务在操作相同数据时不会相互干扰? A. 原子性 B. 一致性 C. 隔离 D. 耐久性 20. 汤姆为他的业务构建了一个数据库表,包含姓名、电话号码和客户ID。 该 表包含30位客户的信息。 这个表的度是多少? A. 二 B. 三 C. 三十 D. 未定义

小白解释

场景先行:新员工入职后要登录系统。第一步是声明身份,第二步证明身份,第三步决定能访问哪些数据,最后系统要记录他做了什么。IAM 题就是围绕这条链条出题。

这一页真正想让你理解的是:框架帮助组织系统化管理控制,而不是想到哪做到哪。

把它放进公司里看,关键不是背定义,而是判断:认证成功不代表什么都能做;离职、调岗、权限漂移都会造成越权。

你作为负责人可以这样想:把识别、认证、授权、审计分开看,再用最小权限和定期复核收口。

本页术语用人话说:

审计:审计记录主体行为,用于追责、复盘和取证。

ISO:ISO 是国际标准化组织,常见安全管理体系如 ISO 27001/27002。

入侵检测系统 IDS:IDS 负责发现可疑行为并告警,一般不直接阻断。

审计:审计检查控制是否存在、是否有效、是否符合要求。

常见误区:不要把 authentication 和 authorization 混成一件事:前者证明你是谁,后者决定你能干什么。

读完后用一句话复述:如果我是IAM 管理员,我会先识别风险,再选择控制,并保留能证明判断合理的证据。

考点提醒

考题会把“安全控制框架:用成熟框架组织安全”包装成一个业务场景:有人要上线系统、处理事故、审供应商、分配权限或选择控制。

先抓题干里的角色和目标:这里更像是IAM 管理员在做判断。

最佳答案通常不是“最强工具”,而是能降低风险、符合职责、成本合理、还能留下证据的动作。

没有日志和身份绑定,就很难问责。

ISO 偏标准和管理体系。

检测是 IDS,主动阻断更像 IPS。

审计题关注独立性、证据、范围和报告。

排除法提醒:不要把 authentication 和 authorization 混成一件事:前者证明你是谁,后者决定你能干什么。

本页术语拆解
审计 审计记录主体行为,用于追责、复盘和取证。
ISO ISO 是国际标准化组织,常见安全管理体系如 ISO 27001/27002。
入侵检测系统 IDS IDS 负责发现可疑行为并告警,一般不直接阻断。
审计 审计检查控制是否存在、是否有效、是否符合要求。