网络安全之道
上QQ阅读APP看书,第一时间看更新

|1.2 目标与诉求|

正确的网络安全保障目标,要为信息化构筑安全底线,有效应对系统可能会面临的最坏情况,而不仅仅是尽力而为的防御以及安全合规能力的建设。正确的网络安全保障目标,是要建立底线思维,能够在系统面临极限打击时,确保业务系统的安全底线。安全不能成为没事用不上、有事不管用的摆设。

1.2.1 国外的安全保障目标

美国和欧盟对关键基础设施安全保障的目标,是确保其关键基础设施可以承受国家级高强度网络攻击。

2009年,时任美国总统奥巴马在发布《网络空间政策评估:确保拥有可靠的和有韧性的信息与通信基础设施》报告后发表演讲指出,美国21世纪的经济繁荣将依赖于网络空间安全,并宣布“从现在起,我们的数字基础设施将被视为国家战略资产。保护这一基础设施将成为国家安全的优先事项”。美国对网络安全建设的目标是明确的,就是在极端条件下保证关键基础设施的可信与韧性。

针对此目标的具体解释,可以参考NIST SP 800-160(卷1)《系统安全工程》(Systems Security Engineering)中的定义:网络安全,在本质上,应提供必要的可信性,能够承受和抵御对支持关键使命和业务运营的系统实施的资源充足、水平高超的网络攻击。

与之配套的是,2013年2月,奥巴马签发了第13636号行政指令《改进关键基础设施网络安全》(Executive Order 13636: Improving Critical Infrastructure Cybersecurity),其首要策略是改善关键基础设施的安全和韧性,并要求NIST制定网络安全框架。

同时,欧盟、日本等也颁布了一系列的法规、标准、技术架构来落实对应的要求。例如,欧盟网络安全局定义了网络韧性。2013年6月10日,日本发布了首个网络安全战略——第一版《网络安全战略》,目标是建设世界领先的、有韧性的、充满活力的网络空间。

由此可见,美国、欧盟、日本等国家和地区,在关键基础设施的安全保障要求上,目标明确、路径清晰,有理论和标准规范的支撑,即能在国家级网络攻击中,确保关键基础设施的可信与韧性。

虽然每一个机构的信息系统,因其重要性和价值不同,所面临的最坏情况以及需要承受的极限打击强度都是不同的,但所有的信息系统的安全建设目标都一样:当系统面临最坏情况时,系统必须有能力保证其关键业务的安全运行!也就是说,具有国家级重要价值的信息系统,必须具备在国家级网络攻击的威胁下守住其系统安全底线的能力。

1.2.2 威胁的风险强度等级

为什么美国等国家要把其安全目标定义为能承受国家级网络攻击?具体是指什么样的风险呢?欧盟为什么要强调系统需要在最坏情况下保持可接受的服务水平,而不是简单地按照ISO/IEC 15408、ISO/IEC 27001,或者NIST SP 800-53,NIST CSF(Cybersecurity Framework,网络安全框架)等成熟规范,制定一个统一的安全能力基线,并让所有部门都按照这个统一的标准去进行安全系统建设呢?这和安全的特点是分不开的,也是长期探索后的结果。

1.系统需要应对的风险强度各不相同

一个机构或者系统可能面对的安全风险强度,只与这个系统的价值有关,而与它自身的安全保障能力无关,即系统价值越高,面临的风险强度越大。

国家级的关键基础设施一定会面临国家级强度的攻击风险,这是必然的。当前的攻击都是利益驱动的,攻击活动就是为了获得经济利益、政治利益。越是重要的系统,遭到攻击之后造成的影响越大,攻击者获得的利益就越大。好比一个高价值的银行系统,一定比一个普通人的账号面临更大的风险。因此,对于关键基础设施,永远不要指望攻击者会因为攻击难度的增加和攻击成本的增长而放弃攻击;同样,如果网络安全的目标是尽量给攻击者制造麻烦以及合规,那么有效保障关键基础设施安全的要求就注定无法实现。

一个机构的安全建设强度够不够,并不是看这个机构的安全性高低以及安全投入的绝对值大小,而是要看其安全建设的目标强度是否足以应对其所面临的最大风险。由于各机构面临的风险情况不同,如果按照统一的安全能力基线和强度标准来进行安全建设,必然会普遍出现安全强度不足或者安全资源过度投入的情况。因此,各机构安全目标的设置和能力建设,难以划定具体可操作的统一基线,需要从实际出发,因地制宜。

根据网络安全的特点,用户只有按照系统实际可能面对的最坏情况来制定安全目标,设计安全强度,建设对应的安全体系,才有可能在遭受极限打击时守住安全底线;在实际风险条件下,也只有具备持续保证系统服务处于可接受水平的能力,才能真正达到国家对安全保障的要求。

2.网络安全威胁的强度与等级划分

网络安全威胁是检验网络安全保障强度的试金石。网络安全威胁事件,按攻击强度和防御难度可划分成不同的风险等级,而国家级威胁是其中的最高等级。

目前业界对网络安全威胁的强度有多种不同的分级分类方法。本书根据安全实践以及业界的理解,选取2012年IBM在RSA欧洲大会上所公布的安全风险分级描述原则,把所有的网络安全威胁按照强度、来源、资源、后果的不同,从弱到强,依次分成了五级,如图1-1所示。

图1-1 网络安全威胁等级

具有图1-1中最下层两级威胁的攻击通常来自个人,主要是出于好奇的恶作剧,或者因为某种原因实施报复。这类攻击的特点是单一、离散、偶发,数量巨大,时刻发生,覆盖信息系统的方方面面,包括弱口令、Wi-Fi私接、配置错误、已知漏洞利用等,防不胜防,如果处置不好,会造成很大麻烦。但这类攻击的强度不高,攻击者所掌握的资源也较少,攻击手段单一,且现有的安全技术能够有效应对。这类攻击对绝大多数组织良好、管理完善、有一定安全防护能力的企业来说,虽然可能会因为企业的疏忽或低级错误造成一定损失,但极少会造成行业性的灾难。

对机构来说,真正能造成重大损失的攻击,是从具有第三级“利益驱动”威胁的攻击开始的。这些攻击者往往是有组织的团队,具有较高的技术能力水平,可使用较为充足的攻击资源,其中近年较为常见的是勒索软件[1]。在这类攻击中,攻击者有明确的利益目标,比如电商雇佣黑客团队攻击竞争对手的网络,使对手无法正常开展服务,从而让自己获利。

具有第三级威胁的攻击不只使用单项攻击技术,而是会在不同的攻击阶段,组合使用多种攻击手段,形成策略化的攻击流程,因而无法用特定的单项安全技术来防御。这类攻击有能力对受到常规保护的组织或机构造成严重损害。比如,一次勒索软件攻击,可以通过“目标扫描、检测逃逸、边界渗透、内部扩散、系统驻留……”等一系列的流程化操作形成一条多维度的“攻击链”,如果只凭借补丁管理、特征检测、未知威胁检测等某一单项安全防护能力,难以有效阻止攻击链产生破坏性效果。

第四级威胁(间谍或政治活动)的危险性比勒索软件更严重。具有此类威胁的攻击针对确定的对象,有明确的经济或者政治利益诉求,攻击者往往对攻击对象之外的目标没有兴趣。相对具有第三级威胁的攻击者来说,这类攻击者拥有不亚于甚至超过被攻击对象的技术能力与资源,往往是受到不明经费来源以及技术支持的组织机构,或者是与被攻击对象技术能力相当的竞争对手。

迄今为止,被披露最多的具有第四级威胁的攻击就是各种APT攻击,具体的例子包括:2009年针对谷歌的极光行动;2010年伊朗遭受的“震网”攻击(攻击来源至今没有明确结论);2011年RSA SecurID技术相关的数据遭窃取。

一般认为,APT攻击的概念由美国安全分析师于2006年正式提出,用来描述从20世纪90年代末到21世纪初,在美国军事和政府网络中发现的隐蔽且持续的网络攻击。最早曝光的APT攻击可追溯到1998年开始的“月光迷宫”(Moonlight Maze),该攻击针对五角大楼、美国国家航空航天局、美国能源部、国家实验室和私立大学的计算机,成功获得了成千上万的文件。NIST给出的APT定义是:“精通复杂技术的攻击者利用多种攻击向量(如网络、物理和欺诈),借助丰富资源创建机会实现自己的目的。”

从概念上讲,APT是由其攻击的对象和攻击过程的特点,而非攻击活动中所使用的技术手段来定义的。APT并不是一种特定的攻击方法,而是具备“目标明确、隐蔽、长期”特点的攻击过程,它指的是一场长期的持续性的战役,而非指化学武器或者原子弹等武器种类。APT攻击中会用到包括已知病毒、未知病毒、勒索软件、已知漏洞、0Day漏洞、钓鱼邮件、社会工程学等在内的各种攻击手段,但这些攻击手段并不是APT本身。

具有第四级威胁的攻击,在当前可以打穿一个组织良好、防护严密的网络信息系统,至于它到底能造成多大的损失,要看攻击者的意愿。需要强调的是,目前国内绝大多数企业和机构,很少有能力回溯真正的具有第四级威胁的APT攻击过程,因为即使受害者遇到了APT,也很难发现,即使发现了蛛丝马迹,也很难取证与还原过程。现在被安全厂商广泛报道的所谓APT攻击,其实还是勒索软件、0Day漏洞、未知病毒、高伪装钓鱼邮件等在APT攻击过程中所使用的先进攻击手段。

具有第五级威胁(危害国家安全)的国家级网络攻击,是指体现国家意志、服务于国家战略的网络攻击活动。攻击者,往往是国家的网络战机构或者网络部队。攻击者拥有远超被攻击对象的技术能力和资源,攻击手段也不限于网络技术,还会配合供应链、政治、经济、法律、军事行动。

由于威胁具有不同等级,每个机构在设计安全系统的时候,首先要对自身可能面对的最坏情况进行评估,以确定自己的系统需要具备的安全强度。这就好比重要基础设施在开工建设前,要先根据地形地质条件,确定抗震设计强度、防洪设计等级一样。

不同机构由于自身价值的不同,需要对抗的威胁等级也是不同的。对于一般企业,通常只要对抗第三级、第四级威胁就够了;而对于国家基础设施,则必须考虑应对第五级威胁。这也是美国要求其关键基础设施能承受国家级网络攻击的原因。

在具有高等级威胁的攻击活动之间没有十分明显的技术差异。尤其在具有第四级、第五级威胁的攻击中,很多技术手段都是通用的,只是发动攻击的实体与目标不同。事实上,近年来,即使是具有第五级威胁的攻击,也不少见。

和平时期的国家级网络攻击是在当前技术条件下无法通过威胁防御等手段,以及常规的网络安全技术所对抗的攻击活动。一旦进入战时,国家级关键基础设施将会面临的安全风险强度可想而知。

3.安全不适用二八原则,安全能力必须与风险强度相匹配

以特定威胁等级为防御目标构建的安全体系,在更高等级的威胁面前,完全起不到安全防御效果。

有一首“因为一个钉子灭亡了一个国家”的苏格兰民谣,讲的是1485年,英国约克王朝的国王理査三世与都铎家族的首领亨利争夺英国王位的故事。战前,铁匠在给查理三世钉马掌的时候发现缺一个钉子,眼看战斗在即,查理三世不等钉好这个马掌钉就匆匆上了战场。战斗中,查理三世击败了亨利,在乘胜追击的时候,那只马掌脱落,战马跌倒,查理三世也摔了下来。一见国王倒下,查理三世的军队一时发生了混乱,亨利趁机反击,杀死了查理三世。从此英国约克王朝覆灭,都铎王朝建立。这就是英国历史上著名的博斯沃思战役。后人因此编了一首民谣:“少了一个铁钉,掉了一个马掌;掉了一个马掌,失了一匹战马;失了一匹战马,丢了一个国王;丢了一个国王,输了一场战争;输了一场战争,亡了一个国家。”总之,因为一个马掌钉,查理三世身死国灭,影响了英国历史,乃至之后的世界历史……

这个故事告诉大家,如果没有把看似简单的小事情做好,就有可能引发意想不到的灾难性后果。在安全界经常有人引用这个故事,告诫人们应当首先把简单的事情做好,再去考虑应对更重大的风险,这是正确的。

同时在安全领域还有一个现象:如果只把简单的事情做好,就只能防范基本的风险。一个系统,即使已经把所有该做的事情都做好了,而且没有犯低级错误,依然有可能会在风险中受损,因为一切都要看系统实际面对的风险等级。

安全有个特点:威胁所造成的损失和威胁的数量不成正比,只和威胁的风险强度成正比。风险强度越低,攻击数量越多,但它们能造成的损失却很小;风险强度越高,攻击数量越少,但却能造成很大的损失。安全威胁数量、等级与安全成本的关系如图1-2所示。近年来,总数不到1%的少数高水平攻击,造成了业界90%的安全损失。但要想防住那1%的高水平攻击,只靠基本的安全投入,只靠把基本的、简单的事情做好,肯定是远远不够的。要想获得达到安全目标的安全能力,需要进行与目标相匹配的安全投入,安全目标要求越高,所需的安全投入也就越大。

图1-2 安全威胁数量、等级与安全成本的关系

由于安全的这个特点,在安全上想花小钱就能办大事的想法是不现实的,通常的二八原则不适用于安全投入与安全效果的关系。虽然20%的安全投入能够消除80%的攻击数量,但无法避免80%的攻击损失,也无法获得80%的安全防御效果。如果系统无法构建出与其面临的安全风险相匹配的安全保障能力,一旦发生风险,用户投资建设的安全系统完全起不到系统防护的效果,会让用户产生安全建设完全没有用处的感觉。

安全能力建设水平必须与系统可能面对的风险强度相匹配,否则一旦发生风险,就容易出现类似“明明得了肺炎,却大量喝止咳水”这样的情况。如果安全体系的建设目标与系统实际面临的风险强度不匹配,就会造成“无论增加多少安全投入,都只是浪费安全资源”的结果。

1.2.3 我国的网络安全目标

我国对网络安全的要求极为简洁:能有效保障系统的安全。具体来说,就是要建立底线思维,确保关键基础设施在各种风险条件下,能够守住安全底线。只为了合规而不能真正应对风险的安全建设,是没有价值的,也脱离了国家网络安全要求的初衷。

当前,国内有一种“感觉上正确,但是并不符合安全要求”的观念:安全保障只能尽力而为地对抗各种威胁,无法确定性地保证安全效果与安全强度;由于威胁防不住是必然的,安全的价值就是尽量提高攻击者的攻击成本;只能尽可能地建设安全能力,但无法明确承诺能够达到的安全强度。

2021年9月1日,我国实施《关键信息基础设施安全保护条例》,明确要求“保障关键信息基础设施安全,维护网络安全”。显而易见,当前的安全观念是无法满足条例要求的。安全建设需要正确理解安全的指导思想,能够切实支撑国家的安全战略目标。

考虑到安全领域的技术特点,那种先把简单的事情做好,合规之后再考虑应对高强度风险的思路,并不符合安全的特点,也无法满足实际安全保障要求。合规并不等于安全。在安全系统建设中,如果一开始就不能按照系统实际面对的风险等级进行整体规划和设计,即使建成的系统合规,也无法实现预想的安全效果,安全投资也就没有了实际价值。

当前,我国各行各业所面临的安全建设形势依然严峻,需要各行各业建立起合格、管用的安全体系,为国家“两个强国”战略的成功实施提供实际的支撑。

对用户来说,安全建设的目标,就是建立对业务安全保障真正有用、发生安全事件时真正管用的安全系统;而对国家来说,如果各行各业的关键信息系统都可以在各自面临最坏情况时守住安全底线,保证自身业务的安全,国家对关键基础设施进行有效安全保障的目标就能真正实现。

1.2.4 极限打击与安全底线

1.什么是极限打击

极限打击,从攻击者的角度来说,就是其具备的能对最有价值目标达到攻击利益最大化的最有效的攻击手段。从被攻击者的角度看,就是系统有可能遭受到的破坏性最强、等级最高、最难应对的安全威胁。极限打击,不只限于网络攻击技术手段,还包括法律限制、BCM(Business Continuity Management,业务连续性管理)攻击,甚至物理攻击等。一个系统,只有按照承受极限打击的要求制定安全目标,设计安全架构,建立安全体系,并且能够证明在极限打击下可保证系统功能处于可接受状态,能守住安全底线,才算成功实现了安全目标。

一个系统可能面对的极限打击,即这个系统可能面对的最坏安全情况,也就是系统将要面对的威胁等级最高的攻击。

2.极限打击的种类

当前国内产业界实际经历过的极限打击,按照破坏性的严重程度,从弱到强依次可分成三类。

(1)国家级网络攻击

这类攻击属于水平高超、资源丰富、手段繁多的攻击,攻击者往往拥有压倒被攻击者的资源和技术优势,靠传统的防御是很难防住的。但这类攻击还是属于危险程度相对较低的攻击。因为即使是国家级网络攻击,依然只具备对业务系统的软杀伤能力。这类攻击的载体是外来的恶意设备、攻击代码和攻击流量,安全保障一方有可能利用各种安全技术手段对这种攻击活动进行检测和防御。

打个比方,这类攻击相当于高明的小偷试图通过住宅的漏洞或者利用主人的疏忽,进入住宅搞破坏、偷东西;主人可以通过加锁、修围墙、请保安等多种手段进行安全保障。

(2)核心部件0Day漏洞与供应链攻击

这类攻击并不直接针对被攻击对象,而是针对被攻击对象的上游产业链以及构建目标系统的核心软硬件基础部件,因此无法通过常规的网络安全防护技术进行检测和防御。这类攻击最典型的例子就是2013年德国《明镜》周刊披露的NSA通过编译器等开发工具链和专用的恶意硬件芯片,在各种ICT产品中植入恶意逻辑,包括预先设置在标准加密算法中的安全后门,以及利用CPU芯片、Windows操作系统、OpenSSL、Apache Log4j等基础软硬件中的安全缺陷与漏洞进行的各种攻击。应对这类攻击,常规的网络安全技术就无能为力了,必须通过可信计算、可信行为验证、可信开发流程等内生可信技术与流程加以应对。

这类攻击,好比是恶意的安保供应商或者房屋开发商,试图通过隐藏的钥匙或者后门、暗道进入主人的住宅,攻击者根本不需要突破各种安保系统,只要使用预留的钥匙或者隐蔽通道,随时来去自由。

(3)BCM攻击

BCM攻击包括“实体清单”、贸易管制法规、制裁等。这类攻击影响的是业务的连续性,必须依靠全产业链的自主可控才能对抗。典型的例子就是2019年开始,美国对中国的高端半导体产业实施的一系列“实体清单、禁运、制裁、管制”等行为。

BCM攻击具有最高风险等级,因为它的目标不只是侵入对手的业务系统,而是让对手无法建设业务系统,或者彻底摧毁已经建成的业务系统。BCM攻击,就好比是禁止用户自建住宅,让用户已经建成的住宅无法使用,甚至摧毁用户已建的住宅。攻击的目的已经不只是侵入目标的房子,而是让目标彻底没房子可住。

BCM攻击脱离了单纯安全技术的范畴,单靠一个厂商或者一项技术是无法抵御的,只有建立自主可控的完整产业生态体系才能应对。

一个系统可能遭受何种程度的极限打击是不确定的,目前来看,极限打击更可能是上述三类攻击手段的组合。比如2010年的“震网”事件,整个攻击行动先通过高超的网络攻击手段隐蔽地调高了离心机的转速,从而让离心机短时间内出现大量的物理损耗;然后通过联合国决议案构建制裁的法律基础;再通过禁运、“长臂管辖”等方式发动BCM攻击,阻止核电站补充损耗的关键设备,从而让核电站的业务被迫中断,以达到迟滞伊朗核计划的目标。

3.什么是安全底线

系统的安全底线,就是系统排除各种攻击威胁的干扰,始终保证以可预期的方式运行,提供并保持可接受服务水平的能力,具体是指:在风险条件下,业务的核心功能必须得到保证,系统的行为始终与设计相符;系统的各项业务指标控制在可接受的范围内,允许系统功能出现一定的损失,但不许系统出现超出预期范围的意外行为;确保系统行为不突破安全底线,不发生信息灾难。对于系统安全底线的理解,可以参照“韧性”的概念,即保证基本业务的生存,保证系统能持续提供可接受的服务。

对安全来说,安全底线必须是一个确定性的概念,而不能是尽力而为的模糊概念。只有定义了确定性的安全目标,才能实现效果明确的安全保障。

安全底线用来描述系统的安全状态。从本质上说,安全底线是个业务概念而不只是攻防概念,这是因为,人们可以根据系统的服务状态是否突破安全底线来判断系统是否安全,但无法通过系统的威胁防御能力来界定系统的安全状态。图1-3给出了某段时间内系统未能守住安全底线的例子。比如,一个电力系统,可以容忍零星用户的供电故障,但绝不能接受大范围的停电。一旦系统内出现了超出常态的停电用户,就可判定电网一定处于不安全的状态;而同样是这个系统,在一个时段内成功防御了1万次攻击,另一个时段内一次攻击都没能检测到,到底系统在哪个时段更安全?这是无从判断的。

可见,安全底线是个业务概念而不只是攻防概念,它也是个业务状态,无法用攻防指标来描述。

图1-3 某段时间内系统未能守住安全底线