<audio id="audio" title="18 | 安全标准和框架：怎样依“葫芦”画出好“瓢”？" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/c4/45/c484e47811ae4e4754e1b6b15cf56c45.mp3"></audio>

你好，我是何为舟。

感谢你来学习安全专栏，如果有任何疑惑或者建议欢迎留言和我沟通。新的一年祝你工作顺利、事业有成、升职加薪！

从这一讲开始，我们讨论安全防御工具。实际上，每个公司都需要进行安全体系建设，业内将这些通用性的建设经验进行总结，形成了各种安全标准和框架。从这些标准和框架中，我们能了解到建设安全体系的思路和方向，对于实际的安全落地工作，有很大的指导作用。

根据安全等级和关注点的不同，不同的安全标准和框架都有各自的具体要求。这些要求都非常简单直接，也很容易理解，所以，这不是我们要讲解的重点。在今天的课程中，我更想通过这些标准和框架的设计思路来讲一讲，作为公司的安全人员，该如何推动公司整体的安全体系建设。

## 安全标准和框架有哪些？

首先，我们来看看，安全标准和框架都有哪些。

国内的安全标准和框架，就是我们常听到的等级保护制度（方便起见，后文都简称“等保”）。等级保护根据公司的安全性高低，划分了由一到五这五个等级。每个等级都有需要满足和达标的[安全要求](https://baike.baidu.com/item/%E4%BF%A1%E6%81%AF%E5%AE%89%E5%85%A8%E7%AD%89%E7%BA%A7%E4%BF%9D%E6%8A%A4/2149325?fromtitle=%E7%AD%89%E7%BA%A7%E4%BF%9D%E6%8A%A4&amp;fromid=2104129&amp;fr=aladdin#2)。等级越高说明公司的安全水平越高，越被政府认可。安全等级三级以上的公司，还会受到国家信息安全监管部门的监督和检查。

在国外，比较知名的安全标准和框架包括：ISO27000系列、NIST、COBIT和ITIL。接下来，我们一一来讲。

我们前面讲了等级保护制度，实际上，NIST也被称为“美国版等保”。因为NIST是美国政府提出的，对公司的安全能力进行监督和管控的安全框架。但是，NIST并未考虑公司在实施安全标准时需要付出的成本，所以除了美国政务之外，NIST很少被使用。

而ISO27000系列和COBIT都是不包含具体实施细节的安全标准和框架。

其中，ISO27000系列是国际上比较认可的安全标准之一。它提供了兼容性极高的安全体系和信息安全管理的最佳实践指导。但是，ISO27000系列更关注于方向上的指导，没有覆盖具体的实施细节，所以无法作为技术手册来使用。

COBIT（ Control Objectives for Information and related Technology）则是给安全管理者提供了一个内控的框架，它本身更关注于内控和审计。

最后，我们来看ITIL（ Information Technology Infrastructure Library ）。ITIL是一个提升服务质量的标准框架，而安全只是影响服务质量的一个因子。因此，ITIL会更多地考虑如何提高公司的研发和管理效率，在机密性、可用性和完整性上只给予了比较基本的关注。

以上这些安全标准和框架，除了能对企业的安全建设进行指导，也提供了测评的服务。测评的目的，一方面是帮助公司认识到自身安全水平，另一方面也是公司对外宣传的一个标杆。比如说，国内目前最流行的ISO27001测评。各个公司都会以通过了ISO27001测评，来对用户和合作伙伴表明，自己的安全水平达到了一个比较成熟的高度。这就是一个对外宣传的表现。

除此之外，等级保护制度作为国家标准，还具备规避和降低公司法律风险的能力。比如，当公司出现了某个安全事件导致数据泄露，如果这个公司没有做过“等保”的话，那么法院就可能认为公司在安全上没有尽到自己的职责，而根据《网络安全法》给予这个公司很严厉的惩罚。但是，如果公司做了“等保”的话，法院可能会认为公司有努力在做，只是仍然有缺陷，而不会给予非常严厉的惩罚。所以，完全不做“等保”和做了但不到位，处罚的标准就完全不同了。

## 现有安全标准和框架有哪些可以借鉴的地方？

### 1. 等保：为什么安全体系建设要区分管理与技术？

首先，我们来看一下等保的分类思路。等保对公司的安全要求划分为了十类，分别是：

- 技术要求：安全物理环境、安全通信网络、安全区域边界、安全计算环境、安全管理中心；
- 管理要求：安全管理制度、安全管理机构、安全管理人员、安全建设管理、安全运维管理。

对于每个分类的具体含义，你通过名字应该就能够理解，这里我就不细说了。

从这些分类中，我们可以看出，等保的大体思路是将安全分为了管理和技术。我们之前就讲过，**安全往往是需要自上而下来推动的**。因此，安全并不是一个纯技术的“活”，它也需要在管理层面上作出改进。比如，等保要求公司必须要成立专门的安全管理机构，安排专门的安全管理人员，这样才有人能够对公司的整体安全来负责，去推动安全的落地。

### 2. ISO27001：如何通过PDCA流程进行规划安全建设？

ISO27001是国内比较流行的安全评估认证之一。它提出了14个不同的安全方向，分别是：

- 安全策略
- 信息安全组织
- 人力资源安全
- 资产管理
- 访问控制
- 密码学
- 物理和环境安全
- 操作安全
- 通信安全
- 系统获取、开发和维护
- 供应关系
- 信息安全事件管理
- 业务连续性管理中的信息安全考虑
- 符合性

可以看到，这个划分还是很全面的。这些安全方向基本包括了安全行业内的各个知识领域。在每个安全方向中，ISO27001会列举出公司需要完成的安全事项，我觉得你甚至可以依照这个标准来学习安全。

不仅如此，ISO的一系列框架和标准其实都遵循PDCA流程，PDCA也是项目管理上经常被提到的管理方法。这里我就简单说一下。

- Plan：计划，确定安全的目标并制定建设的规划。
- Do：执行，按照计划的内容和时间来执行。
- Check：检查，对执行的结果进行总结，看是否符合预期。
- Action：改进，如果执行不符合预期，或者计划出现纰漏，则进行分析和改进。

那PDCA流程如何应用在安全体系的建设中呢？这里，我就举一个公司在做ISO27001例子。

- Plan：认证机构会先到公司进行调研和培训，然后和公司一块制定一个详细的安全规划。
- Do：公司会花几个月的时间，去执行这些规划。
- Check：完成之后，认证机构再次去公司进行回访，评估完成的情况。
- Action：如果达到预期，则通过认证；否则继续计划、执行、检查的操作。

其实，我们在实际去建设公司的安全体系时，也完全可以按照PDCA的流程来进行。我们可以先制定一个年度或者季度的规划，根据指定的规划去执行。当前阶段完成之后，我们要先检查是否满足了安全需求，以及还有哪些安全风险存在，然后提出改进的方案。基于这个方案，我们就可以接着制定下一个阶段的规划了。

### 3. NIST：如何通过IPDRR建立纵深防御？

NIST提出了公司建立安全体系的IPDRR方法框架，主要包括Identiify、Protect、Detect、Respond和Recover这五个部分。

<img src="https://static001.geekbang.org/resource/image/3b/ff/3b88b2ed48bf41c217319ca3f464f8ff.jpg" alt=""><br>
图片来源：[IPDRR方法框架](https://www.nist.gov/cyberframework/online-learning/components-framework)

我认为NIST所提出的IPDRR方法，是解决各类安全问题的一种通用思路。这里，我就以Web安全为例，结合IPDRR方法的五个步骤，来详细讲解一下，针对Web应用中可能出现的各种漏洞，我们该如何建立安全防护体系。

第一步是Identify（识别）。我们需要掌握公司有哪些Web应用，并对Web应用做威胁评估。

也就是说，我们需要定位公司的资产，衡量这些资产的价值，然后评估资产保护的优先级和投入成本。

第二步是Protect（保护）。我们要在安全事件发生之前，对数据和资产采取适当的保护措施。（比如：通过访问控制机制来避免越权访问、通过加密来保护数据的CIA、通过防火墙保护内网隔离等）。在开发上，我们需要采用安全的方法，尽量避免漏洞出现。同时，我们可以部署WAF等安全工具，统一对Web攻击进行防护检测。

第三步是Detect（检测）。在安全事件发生之中或者之后，我们要能及时发现和检测出安全事件或者攻击行为。这就需要对请求的日志和返回的结果进行分析，评估是否产生攻击行为和数据泄露。

第四步是Respond（响应）。当检测到安全事件后，我们需要采取有效的措施，来阻止攻击的持续进行，尽可能地降低事件所带来的影响。我认为最可行的操作，就是对出现漏洞的Web业务进行下线，对已经受到影响的数据进行隔离。这也要求我们制定好详细的应急预案，避免攻击发生时公司陷入手忙脚乱的无序状态。

第五步是Recover（恢复）。当事件响应完成后，我们要将应用或者服务恢复到攻击前的状态，也就是对应用和数据进行修复和重新上线。同时，也要对事件的原因进行复盘分析，然后进一步完善安全机制。

从这个例子中，我们知道，针对Web安全体系建设，我们可以根据IPDRR方法 采取多重安全策略进行保护。这也符合安全防护的一个原则：**纵深防御，即任何单点的安全策略都存在纰漏和被绕过的可能。因此，我们需要采取多重相互独立的安全策略，使得这些策略相互补充，降低安全策略被绕过的可能性。**

## 总结

好了，今天的内容讲完了。我们来一起总结回顾一下，你需要掌握的重点内容。

通过对等保、ISO27001和NIST这三个安全标准的分析，我们知道，除了一些比较细的安全机制指导之外，安全标准本身也包含了我们自己去做安全的思路。比如：等保告诉我们安全要分为技术和管理；ISO27001告诉我们要通过PDCA流程去规划安全建设；NIST告诉我们安全可以通过IPDRR建立纵深防御。

对于安全标准的思维提炼，远远不止我提出的这些点。在各个标准和框架的细节中，也都给出了公司在各个安全方向上需要去落地的内容，比如，根据ISO27001的访问控制的标准，你可以学习如何制定合适的访问控制机制。

总而言之，我认为，在实际建立安全体系的过程中，我们不应该一味地按照这些安全标准实施，也要主动学习当中的设计思路。这样你才能更高效、更完善地建立公司自有的安全体系。<br>
<img src="https://static001.geekbang.org/resource/image/9a/55/9ac1feba7ab8a4d0a8e82903b6442455.jpg" alt="">

## 思考题

最后，我们还是来看一道思考题。

你还接触过哪些安全标准和框架，它们又包括了哪些内容和思想？你认为该如何依靠这些思想，去推动公司的安全建设？

欢迎留言和我分享你的思考和疑惑，也欢迎你把文章分享给你的朋友。我们下一讲再见！
