gitbook/安全攻防技能30讲/docs/192220.md

124 lines
11 KiB
Markdown
Raw Permalink Normal View History

2022-09-03 22:05:03 +08:00
# 18 | 安全标准和框架:怎样依“葫芦”画出好“瓢”?
你好,我是何为舟。
感谢你来学习安全专栏,如果有任何疑惑或者建议欢迎留言和我沟通。新的一年祝你工作顺利、事业有成、升职加薪!
从这一讲开始,我们讨论安全防御工具。实际上,每个公司都需要进行安全体系建设,业内将这些通用性的建设经验进行总结,形成了各种安全标准和框架。从这些标准和框架中,我们能了解到建设安全体系的思路和方向,对于实际的安全落地工作,有很大的指导作用。
根据安全等级和关注点的不同,不同的安全标准和框架都有各自的具体要求。这些要求都非常简单直接,也很容易理解,所以,这不是我们要讲解的重点。在今天的课程中,我更想通过这些标准和框架的设计思路来讲一讲,作为公司的安全人员,该如何推动公司整体的安全体系建设。
## 安全标准和框架有哪些?
首先,我们来看看,安全标准和框架都有哪些。
国内的安全标准和框架,就是我们常听到的等级保护制度(方便起见,后文都简称“等保”)。等级保护根据公司的安全性高低,划分了由一到五这五个等级。每个等级都有需要满足和达标的[安全要求](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&fromid=2104129&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这五个部分。
![](https://static001.geekbang.org/resource/image/3b/ff/3b88b2ed48bf41c217319ca3f464f8ff.jpg)
图片来源:[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的访问控制的标准你可以学习如何制定合适的访问控制机制。
总而言之,我认为,在实际建立安全体系的过程中,我们不应该一味地按照这些安全标准实施,也要主动学习当中的设计思路。这样你才能更高效、更完善地建立公司自有的安全体系。
![](https://static001.geekbang.org/resource/image/9a/55/9ac1feba7ab8a4d0a8e82903b6442455.jpg)
## 思考题
最后,我们还是来看一道思考题。
你还接触过哪些安全标准和框架,它们又包括了哪些内容和思想?你认为该如何依靠这些思想,去推动公司的安全建设?
欢迎留言和我分享你的思考和疑惑,也欢迎你把文章分享给你的朋友。我们下一讲再见!