网络安全之道

978-7-115-61300-4
作者: 王雨晨
译者:
编辑: 韦毅

图书目录:

详情

本书梳理了作者多年来在网络安全前沿技术研究和关键系统设计中总结的经验与形成的观点。本书首先通过大量实例,解释威胁为何经常防不住;再将网络安全与其他学科类比,证明网络安全是一门科学,安全对抗中有制胜的理论基础;随后,从问题的角度出发,揭示安全之道是业务确定性而非威胁驱动,安全之法是OODA(观察—判断—决策—行动)循环而非防御,安全之术是韧性架构而非威胁防御体系;最后通过安全之用,介绍韧性方案的安全效果。 本书适合行业主管领导、机构CTO/CIO/CSO、架构师、规划专家、咨询专家、解决方案专家、网络安全技术专家,以及其他网络安全相关专业的人员阅读,可帮助读者建立完整的网络安全知识体系,理解网络安全的发展规律,为与网络安全有关的趋势分析、战略制定、业务规划、架构设计、运营管理等工作提供实际的理论指导和技术参考。

图书摘要

第1章 安全之象:安全的问题与现象

章系统地介绍安全问题的背景、价值、现状,以及现有的安全观点、攻防过程、安全技术。这些都是当前的安全问题现象,即安全之象。

造成安全问题越来越复杂的一个重要原因是,长期以来,人们一直停留在通过安全现象来解释各种现象、基于安全问题来分析问题的层面,而始终没能从安全的本质与原理的角度,对安全问题进行明确的定义与解释。

安全作为一门科学,理应是原理明确、体系清晰、确定性、可证明的。归根结底,安全并不是由威胁驱动的,安全的目标也不只是对抗威胁,而是要确保系统在各种不确定条件下的行为具有确定性。围绕系统功能的对抗,才是安全问题的根源与驱动力。

本章的目标就是通过无穷无尽的安全问题现象,来识别安全问题的本质,理解造成当前复杂安全问题的根源。

|1.1 背景与价值|

网络安全,从宏观战略上讲,事关国家主权、国家安全和产业存亡,从微观战术上说,关系到企业的兴衰与个人利益的得失。安全问题之所以受到广泛关注,以至于在国家层面强调“没有网络安全就没有国家安全”,这是因为在当前,没有任何国家和机构能够忽视网络安全灾难所带来的严重后果。

1.1.1 至关重要的安全

在过去的30多年间,信息化的浪潮以不可逆转的趋势席卷了全球。发达国家跟上了这个浪潮,落后国家则被抛在了数字鸿沟的另一端。如今,我国各行各业亟待通过信息化和网络化实现产业升级,为此,国家提出了建设制造强国、网络强国的“两个强国”战略。

信息化发展水平决定了效率,网络安全技术水平已经成为衡量一个国家综合国力的重要标志。

信息化欠发达的国家和地区,很容易遭受来自那些拥有信息化优势的组织的降维打击,比如2010年“震网”事件中的伊朗,遭受重大打击后连敌人是谁都难以确认。而处于信息化前沿的国家和地区,因其社会发展已经对网络产生高度依赖,也越来越无法承受网络安全问题所带来的严重后果,例如美国在2021年5月9日宣布进入紧急状态,原因是同年5月7日美国油气管道供应商Colonial Pipeline遭受了勒索软件攻击。

“没有网络安全就没有国家安全”是现实的命题。近年来,我国颁布了《中华人民共和国网络安全法》《中华人民共和国数据安全法》《中华人民共和国个人信息保护法》《关键信息基础设施安全保护条例》等法律法规,其中《关键信息基础设施安全保护条例》明确要求能够有效“保障关键信息基础设施安全,维护网络安全”。

目前,国内用户普遍感觉安全“没事用不上、有事不管用”,无论多重视安全建设,在攻击中还是会被攻破。用户广泛地接受了下列观点:没有攻不破的系统,没有100%的安全;安全只能尽力而为,无法保证效果;安全只能做到尽量给攻击者制造障碍……

长期以来,大家已经习惯于在无法保证系统绝对安全的前提下,进行防不住的安全防护工作,甚至连国内安全产业界和专业厂商也都默认了这种现象的合理性。这种认识造成了国内普遍不相信安全问题可以被真正解决,因此只考虑用最低代价去满足合规要求的现象。

如果这种现象继续发展下去,造成的后果是可怕的,如果无法从科学理论出发,找到解决网络安全问题的正确路径,网络安全的命题就会演变成“因为不能保证网络安全,所以就没有国家安全”。

1.1.2 大国对抗的工具

信息化对产业与国家的重要性,以及国家之间的战略对抗趋势,让当前网络安全的形势越发严峻。

近些年,大家感觉网络安全的话题忽然热了起来,国家层面提及得越来越多,在网络安全领域也看到了越来越多的事件。

• 2013年,斯诺登披露,NSA(National Security Agency,美国国家安全局)有能力在全球主要的ICT(Information and Communications Technology,信息通信技术)厂商的产品中植入后门,以实施网络监听活动;NIST(National Institute of Standards and Technology,美国国家标准与技术研究所)在其标准的双椭圆曲线算法中植入了安全后门,以便于对加密信息进行快速解密。

• 2015年4月,美国发表《国防部网络防御战略》(The Department of Defense Cyber Strategy)报告,该报告把美国在网络空间受到的威胁上升为“第一层级”的威胁。

• 2019年5月16日,时任美国总统特朗普签署了一份总统令,宣布美国进入“国家紧急状态”,以禁止美国通信企业与华为等公司进行商业交易。

• 2020年11月,有消息称美国政府将把89家中国企业认定为有军事背景的企业,限制其采购美国产品和技术。

• 2021年6月3日,美国总统拜登签署新行政命令,将59家中国企业列入清单进行制裁。

这种国家间的战略对抗态势,是由那些长期占有技术优势的老牌强国一贯的国家竞争战略所造成的,也是在世界格局正在发生重大变化的今天必然会发生的,网络安全上的对抗只是其中一个具体而微观的体现,而且必将愈演愈烈。

回顾历史可知,20世纪80年代,日本、欧洲在传统经济模式下赶超美国,美国发起了以网络化和数字化为代表的新经济革命,随后美国经济的发展再一次将对手抛在了身后。1996年12月30日,美国《商业周刊》撰文认为,信息技术是新经济的基石,没有信息化就没有新经济革命。

在信息化的示范效应下,全球出现了两极分化。发达国家越来越依赖于信息化,同时也越来越难以承受网络安全灾难带来的后果;而落后国家非但没能获得信息化带来的高效率,还容易遭受降维打击,甚至挨了打连敌人是谁都确定不了,是真正的落后就要挨打。

在此过程中,美国很早就认识到网络空间的重要性,以及其对全球控制战略的重要价值。美国2003年正式将网络安全提升到国家安全的战略高度,2005年把网络空间列为与陆、海、空、天同等重要的作战领域,此即“第五空间”理论。

2009年,美国发布《网络空间政策评估:保障可信和强健的信息和通信基础设施》(Cyberspace Policy Review: Assuring a Trusted and Resilient Information and Communications Infrastructure)报告。

2015年,根据《美国国家安全战略》(National Security Strategy of the United States of America)报告的说法,网络空间被定义为“全球公域”,即“不为任何一个国家所支配,而是所有国家的安全与繁荣所依赖的领域或区域”。

2020年3月,美国网络空间“日光浴”委员会发布《网络空间未来警示报告》(The Cyberspace Solarium Commission Report: A Warning from Tomorrow),首次提出“分层网络威慑”的战略路径,其核心是向前防御理念,配合“全球公域”理论,为“美国把其网络防御体系置于对手的网络空间内”提供理论依据。

从成本上讲,通过网络安全手段达到控制的目的,要比通过法律、经济、军事等其他手段更低。一个实际的案例是,2010年“震网”事件对伊朗核电站所带来的破坏性影响,与1981年以色列战机轰炸伊拉克核反应堆带来的后果相近,但在“震网”事件中,攻击者所要承担的政治、军事风险和经济成本都低了很多。可以预测,今后发生在网络空间中的攻击和冲突要远比发生在现实世界中的更频繁,因为攻击者认识到,占有信息优势的一方,能够通过网络战对被攻击者实施碾压式的降维打击,且代价极低。因此,网络安全必将成为大国对抗的工具,网络空间也会成为热点战场。

1.1.3 国家主权的体现

网络安全是国家主权的体现,也是主权权益的重要保障手段。

世界各国都有和平发展的权利,我国的各行各业亟待通过信息化和网络化实现产业升级,从而保持国家经济的健康发展。为此,国家才会提出建设制造强国和网络强国的“两个强国”战略。我国的网络安全保障水平,对于“两个强国”战略能否顺利实现,无疑是至关重要的!

在网络安全领域,与美国全球控制下的“全球公域”主张不同,我国强调的是国家主权下的“网络主权”。2014年7月16日,习近平主席在巴西国会发表《弘扬传统友好 共谱合作新篇》的演讲时提出,“虽然互联网具有高度全球化的特征,但每一个国家在信息领域的主权权益都不应受到侵犯,互联网技术再发展也不能侵犯他国的信息主权”。

网络空间的出现使得国家主权相对弱化。正如未来学家约翰·奈斯比特所说的,“信息革命使国家淡化了,这是由于世界已没有界限。由什么来取代国家?它们正在被网络所取代”。因此,从维护国家主权的角度,网络空间的出现使得国家主权的外延,必须从领土、领海、领空,扩大到无处不在的“网络边疆”。

为了支撑国家的网络主权与网络安全战略,我国颁布了一系列的法律法规和行动计划,对网络安全能力建设提出了要求,具体如下。

• 自2017年6月1日起,实施《中华人民共和国网络安全法》。

• 2017年11月印发《推进互联网协议第六版(IPv6)规模部署行动计划》。

• 自2021年9月1日起,实施《中华人民共和国数据安全法》。

• 自2021年9月1日起,实施《关键信息基础设施安全保护条例》。

• 自2021年11月1日起,实施《中华人民共和国个人信息保护法》。

国家的“十四五”规划纲要里,14次提及“网络安全”,把它确定为未来中国发展建设的重点之一。这一切都表明,中国的网络安全是当前的国家战略要求。正如2014年2月习近平总书记在中央网络安全和信息化领导小组第一次会议上所强调的,要从国际国内大势出发,总体布局,统筹各方,创新发展,努力把我国建设成为网络强国。

1.1.4 事关个体的利益

网络安全,是企业利益、个人利益与国家战略利益高度统一的具体体现。

近年来,我国集中颁布了很多与安全相关的法律法规,这表明,有效保障信息系统的安全,已经不只是企业和机构的自主要求,更是国家的强制要求和公民的义务。因为我国企业和个人所拥有的信息资产,不仅是企业和个人的资产,还是信息时代国家主权的重要组成部分。

从另一个角度来看,即使企业和个人不关心自己资产的安全,也必须保证不会因为自己的安全疏漏,影响到别人的资产安全乃至国家主权权益。

在当前的安全形势下,网络安全建设的水平也直接关系到企业的命运,越是高价值的企业,遭受网络安全攻击时损失越大。

2001年,Gartner在一份报告中提到,“在经历过灾难的企业中,每5家中有2家在5年内会完全退出市场。仅当企业在灾难前或灾难后采取了必要的措施后,企业才可以改变这种状况”。

近些年企业受到安全影响的案例列举如下。

• 始于2013年的Carbanak跨国网络犯罪组织,持续攻击了全球100多家银行,获利超10亿美元。受害者包括全球40多个国家和地区(俄罗斯、日本、瑞士、美国、荷兰、中国台湾等)的100多家银行。

• 2016年2月4日,孟加拉银行的SWIFT系统遭到攻击,失窃的8100万美元至今无法追回。

• 2017年9月,美国征信巨头Equifax确认约1.43亿条用户信用记录被黑客入侵窃取,该事件使得Equifax的股价下跌了超过30%,市值缩水约53亿美元。实际上,自2009年后,有很多的知名公司,包括易安信(EMC)、谷歌、RSA、联想、京东等,都曾遭受安全问题的困扰。

• 据《2018年数据泄露成本报告》(2018 Cost of a Data Breach Study)评估,大型数据泄露代价高昂,百万条记录可致损失4000万美元,5000万条记录可致损失3.5亿美元。遭遇数据泄露事件的企业平均损失386万美元,同比2017年增加了6.4%。

• 2018年,欧洲的标准数据安全法规GDPR(General Data Protection Regulation,通用数据保护条例)实施,许多知名的跨国企业因违法违规收到了巨额罚单,如谷歌(6000万美元)、英国航空公司(2.3亿美元)和万豪酒店(1.23亿美元)。

• 2019年6月,勒索病毒GandCrab的运营者称在一年半的时间内获利20亿美元。

• 2020年,华为公司制造部的安全专家反映,自2019年下半年起,在全球范围内针对制造业务的高等级攻击比上半年增加了一个数量级;在2020年,多次监测到专用设备跳板、0Day漏洞利用、定向钓鱼、合法账号盗用、人工渗透等攻击活动;同年,有国内制造业、医疗行业上市公司在遭到勒索攻击交付赎金后,依然不敢公开信息,害怕影响股价,造成二次损失。

• 2020年4月,有媒体披露,东南亚某国的黑客组织,曾经成功执行过针对中国地方政府和要害部门的APT(Advanced Persistent Threat,高级持续性威胁)攻击。

当前,企业与机构发生网络安全灾难的概率要比火灾高得多。既然消防安全很受重视,那么企业为了预防网络安全灾难,也有必要做好网络安全建设工作。

上述事实都说明,加强系统网络安全建设是利国利民的好事,如果各行各业都能切实建立起合格、管用的安全系统,就能对国家“两个强国”建设提供实际的支撑,同时更好地保障行业企业自身的健康发展。

|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中最下层两级威胁的攻击通常来自个人,主要是出于好奇的恶作剧,或者因为某种原因实施报复。这类攻击的特点是单一、离散、偶发,数量巨大,时刻发生,覆盖信息系统的方方面面,包括弱口令、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%的高水平攻击,只靠基本的安全投入,只靠把基本的、简单的事情做好,肯定是远远不够的。要想获得达到安全目标的安全能力,需要进行与目标相匹配的安全投入,安全目标要求越高,所需的安全投入也就越大。

由于安全的这个特点,在安全上想花小钱就能办大事的想法是不现实的,通常的二八原则不适用于安全投入与安全效果的关系。虽然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 问题与现状|

当前国内的安全技术发展还处于混沌当中,主流的安全观念没有正确的理论指导,没能找到正确的发展道路。当前把安全目标聚焦在攻防威胁上的思路,从理论上就无法实现安全保障的目标。

在当前以威胁防御为主的安全理念中,因为威胁无穷无尽、无法穷举,防御技术无法保证对威胁100%的成功防御,因此系统被攻破是必然的,成功检测并且实现威胁防御反而是偶然的。从安全角度看,系统必定会因为防不住威胁,而导致一定保不住安全。国家对关键基础设施“在极限打击下,确保守住安全底线”的目标,也就变成了不可能完成的任务。这一后果是用户和国家发展战略都不可接受的,也是极为不合理的。

那么,是否存在系统即使防不住威胁,也能守住安全底线的可能性?要回答这个问题,必须从当前的安全现象出发,只有经过客观的讨论和分析,才能得出站得住脚的结论。

本节将对用户有感知的安全的现状、攻防过程,以及相关的众多问题进行客观的描述和原因分析,从而为揭示安全的本质与问题的根源做好准备。

1.3.1 威胁经常防不住

威胁防不住的现象,是经过各种主客观因素(如技术、管理、观念等)复杂作用而形成的客观结果。在众多因素当中起决定作用的,是现有安全观念的局限性:安全是由威胁所驱动的这一观念,造成了威胁经常防不住的必然结果。因为安全威胁是无穷无尽、无法被穷举的,谁也没有办法来描述或者感知一个威胁全集。当前,凡是能被看到的威胁和问题,都是曾经发生过的、可被了解的,而没能发现的威胁和问题,谁都不知道有多少。如今的各种安全技术都是在努力致力于检测、解决那些可被感知、可被识别的看得见的问题,而没有机制来有效应对无法预料、从没出现过的、看不见的风险。如果把安全保障从时空中无限延长,某一时刻看得见、能防住的威胁一定是有限的,而看不见、防不住的威胁则是无穷的。那么在特定时刻,使用有限的威胁防御手段,怎么可能防得住无穷的威胁呢?

用户实际的感觉也印证了这个道理。当前安全是没事用不上、出事不管用,因为只要是新发生的攻击,基本上都是防不住的。2003年“冲击波”来了没防住,2017年WannaCry来了也一样没防住。今后若是发生新的攻击事件,大概率还是防不住。

由此,很多用户认为,安全除了能应对检查,并不能有效解决实际的安全问题。别说根本无法保证应对最坏情况,就连能应对哪些风险都不知道;100%的安全肯定不存在,能否有50%的安全性也无从判断。这造成了目前很多单位和机构建设安全系统的真实目标就是满足合规要求、应付上级部门的检查,这源于当前用户对安全实际效果的极差体验,以及对安全价值的深度怀疑。

同时,一些决策者会把安全与业务放在对立面,认为和业务相比,安全只是辅助手段,是从属于业务的衍生品,没有业务系统就没有安全。应该优先发展业务,等有了钱再考虑安全;或者把安全损失视作一种成本,通过提高业务生产效率来弥补安全损失,或许比投资建设安全系统更为有效……而更多的用户对安全的体验是:安全更像皇帝的新衣;安全是个无底洞,投入多少都不够安全;搞了安全没感觉安全,不搞安全也未必不安全,反正WannaCry来了都一样……

安全的确是业务的属性,但安全保障和业务不是对立的,而是一体的,安全的作用是无法替代的。先建设业务再补充安全的想法虽然有道理,但实际上做不到。好比造房子的时候不能先造房子,后放钢筋,而且一栋房子能抗几级地震,需要在设计阶段就考虑好,而不是等地震之后,看房子有没有塌掉才知道。在“等保”等规范中,安全和业务系统建设有“三同步”的原则——同步规划,同步建设,同步运行,这就说明安全和业务是一体的。如果在业务建设中没有考虑安全,一旦出事,造成的绝不只是成本上的损失,整个业务都有可能被摧毁。安全之于业务,决定的不是成本而是生死。

那么安全到底有没有用?用户的观点反映了安全的客观现实,说明了两个问题。首先,以安全合规和应付检查为目标的安全系统,对用户来说是没用的,对业务来讲是浪费钱,只有在企业面临风险时,真正能够保障业务安全的系统,才是有投资价值的有用的系统。其次,当前建设了太多没用的安全系统。

上述事实说明:无论是从理论上还是从用户感知上讲,威胁防不住是当前普遍存在的客观现象,如何在威胁防不住的情况下,确保系统的安全底线能够守住,则是安全面临的首要问题,更是用户对安全的最基本诉求,并且直接影响到用户对安全技术的信心以及对安全投资的意愿。

1.3.2 安全效果不确定

安全效果不确定,是指用户对系统的安全目标、安全状态、安全等级、防护能力、投资有效性、对抗结果等,全都无从定义、无从了解、无从评价,认为安全问题谁都说不清楚,安全效果很难评价,安全投资是个无底洞,从内心不认可安全的价值。

用户希望能获得可靠的、确定性的、可被量化评估的安全能力和防御效果,但在目前,安全防御只能做到尽力而为,难以承诺安全防御效果,更难以量化评估安全能力。

安全效果不确定的原因,在于当前安全的目标就是防御威胁,而威胁检测与防御的成功率本身就是不确定的。因此,安全不确定的根源,在于安全当前还没找到确定性的理论基础。只有在安全保障如同加密算法一样找到了确定性的理论基础之后,才有可能从根本上解决安全的不确定性问题。

2000多年前的《孙子兵法》就强调,制胜的关键不在于战场,而在于“庙算”中的胜算,“多算胜,少算不胜,而况于无算乎”“胜兵先胜而后求战,败兵先战而后求胜”,揭示了胜利并不是偶然的,而是有原因的,存在决定胜负的确定性因素。明朝抗倭名将戚继光说过,“夫大战之道有三:有算定战,有舍命战,有糊涂战”。戚继光自己只打必胜的“算定战”,除非情况危急,否则不打杀敌一千自损八百的“舍命战”,他一辈子都没打过胜负靠运气的“糊涂战”。而当前的安全保障,就是完全没有胜算的尽力而为,是实实在在的“糊涂战”。

当前,安全保障单纯依靠安全经验积累和临场发挥,缺乏明确的方法论指导和目标导向,缺乏全局性和系统性,正如盲人瞎马,能否成功全凭运气。因此失败是必然的,成功反而是偶然的。

由于缺乏明确的科学理论基础,业界对决定安全保障结果的原因并不了解。安全的保障效果不是取决于安全系统本身,而是取决于攻击方的水平。安全工作中,常常是一问三不知。安全到底是什么?现在是否安全?到底怎么做才能保证安全?全都不知道。那什么时候才能知道安全保障结果呢?唯一的答案是:只有“打过”了之后,看系统是否扛住了,才知道安全做得好不好,够不够。而且,即使这次成功实现了安全防御,成功要素也很难复制,下次还能不能防得住?对其他攻击能不能防得住?谁都不知道。

用户感觉安全更像是一种玄学而非一门确定性的科学,但其迫切需要的却是确定性的、有理论基础的、可证明的安全:如同其他的系统属性一样,安全性也应该是随同系统设计出来的;安全架构应该有明确的方法论指导;安全性应当可以验证;安全效果需要被量化评估。

要求确定性的安全,在一些安全专家听起来,是匪夷所思的过分要求,因为他们早就习惯于以对待玄学的态度来看待安全问题。但是对用户来说,得到确定性的安全效果,却是基本的要求。“在设计中确定安全等级”这种在土木工程中司空见惯的要求,到了安全技术领域,反而因为各种原因,变成了完全无法满足的“过分要求”,这只能说明安全技术的发展还没有走上正确的道路。

综上所述,当前安全效果不能确定的原因,在于安全还没有找到确定性的理论指导和技术基础;决定安全保障成败的原因还没被清晰认识。当前的安全保障工作,是在没有明确的理论基础、找不到正确的成功方法、不清楚成败原因的情况下,完全凭经验和知识进行的威胁防御活动,是彻底的“糊涂战”。综上所述,当前的安全保障活动无法获得确定性的结果。

1.3.3 安全产业靠不住

安全产业是典型的由生产者所决定的产业,用户更多的是被动选择专业安全厂商的产品和技术,而很少能站在消费者的角度提出明确的要求。现在有一个现象,用户往往不是因为安全产品很管用、对功能很满意才选择厂商和产品,而是在对整个产业普遍存在疑虑的情况下,在合规等外部压力下被动选择厂商和产品。由此可见,当前的安全产业存在很多问题。

1.安全产业的发展不健康

可能有人会说,现在安全产业不是发展得挺好的吗?2017年以来,安全产业一直高速发展,2020年迎来了安全产业爆发拐点。其实产业发展得好不好,要看它实际能为用户和社会带来什么样的价值,能否满足用户的实际安全需求,能否支撑国家的安全战略目标,自身有没有能力完成积累和发展。如果一个产业只有表面上的高增长,只靠资本输血,不能做到持续商业成功,不能有效支撑国家的战略需求,就不能说是健康发展的产业。

现在的部分安全产业,有沦为“眼球经济”的倾向。有些厂商热衷于讲故事、炒概念、追热点、贩卖焦虑、吸引眼球、追逐资本,但是,始终没能建立起可靠的安全理论架构和技术体系,始终无法满足用户“在极限打击下,确保守住安全底线”的目标,更无法对国家的经济发展提供可靠的安全保障。

总结国内安全产业的问题,即大而散、小而全、低水平重复、同质化竞争、缺乏根技术,具体说明如下。

大而散。我国安全产业总空间看似很大,但是碎片化严重,市场散布在非常多的细小领域内,小厂商很容易找到能让自己生存下去的夹缝,大厂商反而很难找到一个值得大举投入的价值机会点,造成只通过市场化手段很难集中力量突破重要的或者关键的安全技术。

小而全。由于安全市场碎片化的特点,国内安全厂商规模通常都很小,但是需要支撑的产品类型和产品领域却非常多。因为安全是一个端到端的产业,客户希望厂商能提供整套解决方案,因此安全厂商被迫什么都做。显而易见,在资源有限的情况下,不可能什么都做得好。

低水平重复。安全厂商的大部分工作都是重复的。比如,根据计算机信息系统安全专用产品销售许可服务平台的统计,在2019年,国内有210家防火墙厂商、64家态势感知厂商、81家WAF(Web Application Firewall,Web应用防火墙)厂商,其中大部分厂商并没有几个技术人员,但要做多种产品。就好比大家都在重复发明轮子,无形间浪费了研发资源。

同质化竞争。在开发中,基本上每个厂商都是“看到了才知道,看不到就想不到”,普遍性跟风热点技术,比如态势感知、大数据、威胁情报等。在每个厂商资源和技术水平都差不多的情况下,提供的产品必然是大同小异的。打个比方,市场流行“木桶”,所有厂商就都去做木桶,在每一家的材料都有限的情况下,大家都只能做小桶。用户如果哪天需要定做一个大木盆,结果却发现哪家厂商都做不出来。而如果国内厂商都发挥自己的专长,先把自己最长的那块木板做好,汇聚多家的长板之后,是可以做出小木桶以外的其他产品的。

缺乏根技术。2020年下半年,工信部网络安全管理局下发过一份关于国内各产业对国外关键部件依存度的调查报告。从各行业反馈结果来看,有国内的专业安全厂商认为,因为安全产业的特殊性,国内安全产品对国外技术部件的依赖性很低,低于路由器、交换机等数据通信产品。我国的安全产业界能得出这样令人振奋的结论,反而更让人担忧,因为这恰恰说明了国内安全产业的不成熟和能力不足。当前,我国的安全产业非但不能解决核心部件对国外的依赖性问题,甚至都没能认识到问题的严重性。国内安全厂商体量普遍都很小,基本全都基于开源操作系统、开源代码、开源开发库、开源或者商用的开发工具链,以及国外通用的CPU、硬件部件、开放架构,构建各种安全应用。国内涉足安全领域的厂商中,绝大多数没有能力自主研发CPU、操作系统、协议栈和开发工具链。而CPU、操作系统、开源库等基础软硬件的安全风险,恰恰才是最严重的,不但存在BCM、知识产权问题,还有实实在在的供应链安全问题。

国内2019年以来的攻防演练表明,存在于安全产品内的漏洞,已经成为攻击方最常选择的快速攻破业务系统的捷径。安全厂商如果完全依赖开源、开放的软硬件基础平台,会给自己的产品和用户系统带来非常严重的安全风险。当前,SSL[Security Sockets Layer,安全套接层(协议)]中的“心脏滴血”漏洞、Apache Log4j开源组件上的漏洞,以及Intel x86 CPU上的“熔断”漏洞等,无论哪一种,都广泛存在于安全产品的基础部件当中,如果继续依赖这些不可信的基础部件构造安全产品,迟早会给厂商和用户带来巨大的安全灾难。这也是华为等公司要花大力气研发自己的专用芯片、自己的基础软件平台,以及建立可信开发流程,进行开源代码安全验证,甚至花大力气把编译器等开发工具链全都进行替换的原因之一。

国内安全厂商在掌握安全和基础平台的根技术方面,还有很长的路要走。

2.安全被搞成了玄学,难以被用户信任

国内安全产业最大的问题是:这么多年来,有意无意地把安全搞成了玄学。虽然能快速跟踪炒作国际热点安全事件、安全概念、安全技术,但是对这些技术出现的背景、动机、趋势、底层技术和演进规律却很少深入分析,这使得安全技术变得不可理解、不可证明。

安全是严谨的科学问题,容不得投机取巧与炒作。对安全进行神秘化炒作,给广大安全用户留下安全最终要靠“神兵重器,江湖黑客”才能解决问题的印象,这对安全技术的健康发展有巨大的破坏性。

鲁迅先生讲过金扁担和柿饼的故事。有个农民每天挑水,一天,他突然想,皇帝是用什么挑水呢?自己回答,一定是用金扁担。一个农妇,吃过柿饼后觉得味道很好,她想,皇后娘娘是怎样享福的?自己回答,皇后娘娘一觉醒来,一定就叫:“大姐,拿一个柿饼来吃吃。”其实我们的安全产业长期以来都在重复和故事里的人同样的问题,即一直以自己的认知水平来理解国外的安全技术趋势,因而只能看到具体技术上的差异,始终无法在理论体系、方法论、技术路线和系统维度上正确理解。安全的核心竞争力不像表面上看到的这么肤浅,并不是漏洞库、威胁情报、大数据和知识图谱这些可以一眼被看得到的技术。

其实1998年前后正是国际上安全技术蓬勃发展的时期。在国内黑客热衷于挖漏洞找“肉鸡”攻击网站,并且认为这就是网络战的时候,国内外安全专业研究机构正在抓紧进行基础安全技术的创新,那一时期的研究成果到今天很多已经变成热门技术,比如:操作系统安全、系统调用中容忍Buffer Overflow、全流程安全形式化证明、安全范式与安全模型、信息空间中的可信赖性研究、信息空间的安全仲裁、信息隐匿技术、small world模型在分布式安全中的应用、隐私和个人数据保密、通信信道的寄生与反寄生,通过构建安全环境来容忍漏洞、可信计算、B1级安全操作系统、入侵容忍、拜占庭模型的安全应用、MTD(Moving Target Defense,动态目标防御)、信息战中的“网络诱鸟NetDecoy”……无论哪一种,都是基于对基础技术的理解、对安全本质的认识,以及对安全理论的思考。

经过20多年的发展,我国当前的安全热点是否还停留在挖漏洞、发现威胁、积累安全知识、总结运维经验的层面?这些并没有错,错误的是,把看到威胁当成网络战中的决胜条件,把漏洞看成安全战略资源,但不知漏洞是怎么来的,威胁是怎么产生的。在能发现的漏洞之外还存在多少漏洞?在检测到一个威胁的同时又漏过了多少?能找到漏洞、能对抗威胁固然重要,但要看在哪个层面,应对哪个等级的攻击者。威胁驱动的安全防御只能缓解安全问题,而不能扭转安全形势。

设想,今天我国真的能够凭借掌握的安全漏洞、积累的威胁情报,以及现在的产业能力成功应对国家级网络攻击吗?在他国已经明确要求在国家级网络攻击下保证业务安全的时候,我国产业界还有很多人在纠结:因为威胁是防不住的,要求提供确定性安全保障的目标是否现实,要求是否太高?

当前,我国在基础安全理论以及研究方法方面还存在很多问题,亟待通过理论创新来追赶国际水平。

3.安全厂商的利益诉求与用户不一致

安全厂商的立场是销售安全产品,因此需要把安全问题映射到产品或者技术特性上,然后向用户强调其对于安全保障的价值,好比因为自己有个锤子就到处找钉子。安全厂商的立场与用户不同,往往很难从用户角度分析安全问题,而是从扩大自身产品销售的角度来形成解决方案和营销话术。长期如此,用户心中可能会对国内安全产业失去信任。

有一个有趣的现象,如果问全球范围内谁是最大的安全公司,答案是微软。微软的安全营收超过100亿美元,这个体量远远超过任何一家专业的安全公司。造成这种现象的原因有很多,其中一个主要原因就是用户更信任随同业务一起提供的安全保障能力。

投资家巴菲特曾说过,永远不要问理发师你是否需要理发。由于安全厂商的诉求和客户并不一致,同时缺乏厂商和用户都认可的安全方法论和架构,加之当前存在安全效果不确定以及安全价值难以衡量等问题,用户会感觉原本的安全困扰一点没少,反而还增加了新的困扰,他们认为依靠现有的安全产业不可能解决自己的安全问题,这影响了安全产业的健康发展。

1.3.4 攻防成本不对称

在系统环境下的“攻击”与“防御”难易程度的度量标志,是“攻防成本”,指攻防双方在达到各自目标时所需的时间、技术、资源、经费等总开销。攻防成本“不对称”也就是所谓的攻防失衡现象,更多的是在安全攻防技术层面,攻击成本低,安全防护成本高,通过安全技术的投入很难应对攻击威胁的发展。具体表现为:一个没有组织的、不精通安全技术、只掌握很少资源的攻击者,仅用极小的代价,就可以对组织良好、具有压倒性技术优势、控制大量资源的机构实施攻击,并对其造成巨大的损失。

经过分析可以发现,攻防成本不对称现象,正是由当前信息系统中主流的安全防御理念和对应的安全技术造成的。

1.信息系统自身的脆弱性特点,使其易遭受攻击

要想攻击某系统,攻击者必须具备“攻击三要素”:系统中存在安全漏洞;系统中安全漏洞的分布情况被攻击者所了解;攻击者具备访问这些安全漏洞的物理途径。而在开放式系统平台和无处不在的网络环境中,这三要素很容易得到满足。下面结合当前的情况简要分析。

(1)当前信息系统环境中广泛存在各种安全漏洞

美国普渡大学的网络安全专家斯帕福德教授在2000年的研究结果是:对于商用软件,平均每500行代码中就存在一个隐藏的错误;最终用户能发现的并且抱怨的错误数量大概只占全部错误的5%,约有95%的错误会一直存在于系统中。微软公司的研究表明,每4000行代码就会出现一个高危漏洞。

安全漏洞问题在我国尤为严重。我国信息系统普遍建立在以UNIX、Windows为代表的商用操作系统和以TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/互联网协议)为代表的互联技术上,系统中大量采用国外的核心技术与软硬件设备。这些产品的安全性与可信任程度只能由制造商凭其商业信誉保证,其中不但存在各种技术方面的漏洞,甚至可能藏有厂商预留的安全后门。

(2)开放系统安全漏洞的分布情况为人所共知

当前信息系统的主流是开放系统,各种漏洞分布情况的相关资料是公开的。当前,漏洞被发现的速度越来越快,平均每年翻一番。由于我国信息系统多为采用商用部件构造的开放系统,其中的漏洞与后门的分布情况更是毫无秘密可言,更多的时候甚至是单向透明的。

(3)网络无处不在,网络协议缺乏安全设计,成为方便的攻击途径

当前TCP/IP开放、简洁、易用,其开放而无完善安全考虑的特点,为攻击者提供了随时随地利用系统漏洞破坏系统安全的便利通道。而在当前的IPv4、TCP/IP网络协议中,难以通过技术手段有效追踪此类活动。

2.攻击技术的迅猛发展造成信息系统面临日益严重的安全威胁

自动化攻击手段包括网络扫描器、网络蠕虫、特洛伊木马等。自动化攻击程序的发展造成了以下三方面的恶果。

(1)攻击者群体扩大,攻击活动泛滥,攻击成本进一步降低

1999年美国CERT/CC(Computer Emergency Response Team/Coordination Center,计算机紧急事件响应小组/协调中心)统计的关于攻击工具的精密程度和攻击者技术知识水平的变化,如图1-4所示。从中可以看到,在长期信息攻防较量中,未经专业训练的攻击者要比有专业知识与组织的安全防护团体更占优势。自动化、智能化的攻击工具使攻击活动不再需要专业的安全知识,造成攻击者群体急剧扩大,攻击所需的技术水平和经费大大降低,时间和精力大大减少。比如,给全球造成重大损失的冲击波变种蠕虫病毒的制造者,是一个没有特殊专业背景的18岁美国少年。

这种攻防成本之间的差距,在以往的20多年间,随着信息技术的发展,不但没有缩小,反而在逐步扩大。根据2017年的统计数据,攻防成本的比值,已经达到了1∶90 000。在这种严重的攻防成本不对称的趋势下,攻击活动的泛滥趋势很难被遏制。

(2)攻击种类数量高速增长,攻击手法更新迅速

目前,每年新增约2万种恶意程序,其中90%是网络蠕虫。黑客可以在超过3万个安全网站中找到制作工具,只需几分钟就可制造一个新病毒。在2004年我国的网络安全事件中,计算机病毒和蠕虫造成的安全事件占总数的79%。攻击种类的高速增长给传统的安全防护带来极大难度。

借助自动化工具可以更快捷地发现与利用漏洞。IBM X-Force部门经过调查认为:自动化的扫描工具是造成攻击增加和特洛伊木马后门程序增加的重要原因。近年来,随着自动化编程工具和AI技术的应用,攻击活动越来越呈现出自动化与智能化的特点,进一步加快了攻击的变化和演进的速度。

(3)攻击扩散速度极快,攻击活动呈现全球趋势

据统计,自2000年起,全球90%的网络蠕虫在其开始传播的头24小时内就可以传染网络中90%的易感系统。近几年出现的几次全球范围的安全事件都是网络蠕虫所为。

随着自动化攻击程序的出现,网络攻击活动也越来越呈现出全网范围的随意性、广泛性、大规模协同性、隐蔽性,以及破坏严重、更新迅速等特点。自动化攻击程序已经成为当前网络攻击的主要手段。

2017年5月12日爆发的WannaCry病毒,传播高峰期只有约48小时,但却实现了全球扩散,造成了巨大的损失。

攻击技术的迅猛发展,使得安全威胁呈现出快速演进、快速扩散、低成本、低技术门槛的趋势,进而极大降低了攻击成本,增加了防御的难度,提高了攻击成功的概率,使得针对威胁的成功防御在技术上变得越来越困难,成本越来越高,成功率越来越低。通过防御来保证安全,正在变得越来越不可行。

3.现有的安全防御技术都是高成本的技术,容易形成安全悖论

当前的安全防御技术,对威胁具有很强的针对性与实效性,但也表现出防御效果滞后、技术复杂、防御成本高、效果有限等问题,具体说明如下。

第一,防御效果具有滞后的特点,无法抵抗未知安全威胁,无法对抗快速发展的自动化攻击技术。显而易见,防御就像先有病而后有药,如果病情发展足够迅速,在药物研究出来之前,病人可能已经死了。现在安全是追着威胁跑,为了能产生安全效果,安全必须要跑得足够快,否则防御难度和成本就会极大提高。

第二,威胁对抗技术遵循逐一对抗所有威胁的防御思想,安全防御成本必定大大高于攻击成本。按照有矛就有盾的思路,有一万种威胁,就要有一万种安全手段。系统内有多少漏洞,就必须打多少补丁,由于威胁是无穷无尽的,那么需要的安全防御成本就一定也是无穷高的。

第三,被动防御技术过分依赖复杂的数据分析与甄别过程,使得防御的技术难度要远远高于攻击的技术难度。当前系统条件下,系统攻击如同将一把沙子混在一袋大米中一样简单,而系统防御如同将这些沙子从大米里逐个挑出来一样困难。从技术手段上讲,基于威胁检测的防御技术一定有天然的成本劣势。

第四,现有安全技术系统的复杂性会随攻击种类的增加而增长,从而进一步激化攻防之间的成本不对称矛盾。安全威胁种类越来越多,每一种都有可能对系统造成危害,系统无法预测攻击者到底会用什么手段进行攻击,因此只要是可能存在的威胁,都要做好防御准备。依此思路,势必形成防火墙越砌越高,威胁情报库越做越大,检测功能越来越复杂、性能越来越低,用户负担越来越重,防护效果反而不见提升的局面。

当今攻防之间的成本不对称现象已经极为严重。2017年,德勤公司和卡巴斯基实验室进行过一次调查,全球500强企业平均每年安全开销为900万美元,达到的防御强度可以有效对抗每次花销在100美元以下的攻击。攻击成本与安全系统价值的比例已经达到1∶90 000!

在此条件下,再想通过安全技术的投入来遏制攻击的泛滥,从理论上讲是不可能的。在攻防成本不对称的情况之下,单靠加大安全防御技术的投入,永远不可能解决安全问题。

1.3.5 安全危机不可避免

通过对典型攻击过程中各主要攻防要素的分析可知,根据现在安全系统建设的现状,如果继续沿着当前的安全保障思路发展,不但无法实现安全目标,反而会导致越来越严重的安全危机,即正是威胁驱动安全的观念,导致了安全危机的必然结果。

1.什么是安全危机

所谓安全危机,是指在安全工作中,系统安全保障结果的极端不确定性和攻防成本的严重不对称性,也即安全没有明确的目标导向,安全性本身不可量化,价值不可衡量,结果不可预期,效果不可验证。

用户对安全的直观感受就是存在易攻难防的现象:无论花多少成本防御,总能被攻击者轻易攻破。一个只掌握很少资源、技术能力有限的个体,可以花费极少代价,通过网络安全手段,对一个资源充足、体量巨大、组织严密的机构造成极大损害。具体案例列举如下。

• 1999年,美国一名16岁的少年,因为入侵美国国家航空航天局用来维持国际空间站运行的计算机而被判刑。这名少年还承认他曾经非法侵入五角大楼的计算机系统,截取了3300份电子邮件并窃取了密码。

• 2000年4月,英国威尔士的少年黑客格雷在窃取信用卡资料时,还顺便看了看微软总裁盖茨的资料。

• 2018年,全球知名黑客凯文·米特尼克创建的安全公司曾宣称可以达到100%的系统渗透成功率,即没有攻不破的系统!

在现有的条件下,防御一方做安全保障时,没有可靠的方法论指导和体系保障,全凭经验。对防护结果没有把握,攻防对抗时能否获胜全凭临场发挥和运气。现在的网络攻防对抗中,防御一方从指导思想上就没有获胜的理由,更没有获胜的把握。因此,在这种情况下,安全防御总是失败也就不足为奇了,这就是安全危机的现状。

2.安全危机的表现

(1)安全事件数量呈急剧增加趋势

自20世纪90年代起,随着网络技术的发展,网络安全保障课题面临一系列新的挑战。根据美国CERT/CC的统计数据,自1998年CERT/CC成立以来,安全事件数量一直以年均近100%的速度增长,累积至今,已经是一个惊人的数字,全球性严重计算机安全事件频发。CERT/CC的互联网安全分析师查德·多尔蒂声称,安全事件数量的增长是一个趋势,随着时间的推移,安全事件的数量会越来越多。

(2)社会对网络安全的重视程度和投入在持续增长

用户越来越认识到信息系统面临的严峻的安全形势,在过去多年中,社会已经向网络安全技术领域投入了巨大的经济及技术力量,试图改善严峻的安全局面。

据IDC(International Data Corporation,国际数据公司)统计,早在2000年,美国主要安全产品供货商的营业额就达到了33亿美元。同年,ITU-T(International Telecommunication Union-Telecommunication Standardization Sector,国际电信联盟电信标准化部门)调查表明,61%的网络用户关注安全问题;56%的企业认为网络安全是非常重要的。

经过20多年的努力,我国在安全建设中,用于网络安全的经费预算也在大幅度增加,但用户始终感觉安全投入的增加并没有带来期望的效果。

(3)安全形势非但没有缓解,反而迅速恶化

用户安全支出的高速增长并未让安全攻击所造成的损失成比例降低。2005年在戛纳举行的Etre技术会议上,行业专家认为,尽管众多的IT安全产品与服务充斥着市场,但企业却正遭遇比以往任何时候更强的安全威胁。“企业面临的安全威胁比以前更为严重。从某种意义上说,黑客已经胜过了我们。”类似的观点在2012年APT攻击肆虐、2018年勒索软件泛滥的情况下,又多次被专家提及,说明近20年的安全形势一直在持续恶化。

据CSI(Computer Security Institute,计算机安全机构)2001年的统计数据,94%的国际企业遭受过各种形式的攻击。我国公安部2004年全国信息网络安全状况调查发现:国内单位发生网络安全事件的比例为58%,其中损失“严重与非常严重”的比例为10%;计算机病毒感染率为87.9%。国内因遭受网络攻击导致的损失明显上升。2003年1月25日,仅在SQL Slammer蠕虫病毒出现的当天,我国就有80%的网络服务供应商遭受攻击,许多网络暂时瘫痪。类似事件到2003年7月已经出现了15次。2017年,WannCry又几乎以完全相同的方式席卷全球,说明当时的网络安全形势与2003年相比并没有明显改善。

当前的网络安全问题如此严重,以至于芬兰赫尔辛基理工大学的教授汉努·卡里在2004年做出悲观的预言:“由于病毒和垃圾邮件以爆炸式的速度增长,网络所提供信息的可信程度越来越差;黑客对网络的恶意袭击等因素,最终可能导致因特网在两年内崩溃。”类似的预言在2012年的RSA大会以及2018年也被屡次提及。甚至在2021年,美国政府前首席信息安全官雷戈里·陶希尔也担心,由物联网等信息技术的爆炸式增长,带来的潜在网络安全风险“或将引发真正的世界末日”。

“狼来了”的次数多了,很多人就开始对类似的观点毫无理由地嗤之以鼻。但是,火山没有爆发并不代表着永远不会爆发,关键是如果真的爆发了有没有预案,到时候是能找到应对问题的办法,还是听天由命?

网络安全问题由来已久。但当前系统所表现出的严重的安全问题却是在用户越来越重视安全、广大企业进行了大量安全投入、用户普遍部署了安全防护技术之后发生的。为什么在网络安全技术发展多年、网络安全产业取得长足进展后,当前网络环境下的安全形势不但未能好转,反而逐年恶化呢?在当前这种网络安全危机现象当中,是否隐藏着根源性的问题?在当前主流安全思路和安全的研究中是否存在某些方面的不足?是否能够找到有效缓解当前网络安全危机的途径?这些都需要经过分析寻找答案。

3.安全危机与系统漏洞的关系

当前信息系统所面临的安全危机,是指信息系统易于遭受攻击并遭受损失,而难以有效进行安全防御以消除攻击威胁或者避免损失的局面。本节从漏洞与威胁的角度,分析为什么在攻防对抗过程中,安全危机趋势无法逆转。

(1)攻击过程与安全漏洞之间的关系

通过对照CERT/CC对安全事件与安全漏洞数量的统计,如图1-5和图1-6所示,可发现安全事件与安全漏洞被发现的速度始终是同步增长的,两者之间有内在的必然联系。

(2)什么是安全攻击

安全攻击是指破坏系统的安全机制,非法使用或破坏信息系统中的资源,以及非授权使系统丧失部分或全部服务功能的行为。

(3)什么是安全漏洞

安全漏洞是系统本身具有的缺陷,攻击者用它来威胁系统安全。安全漏洞包括实现、配置、使用中存在的错误,以及系统设计中所缺乏的安全性考虑。

(4)安全漏洞在系统攻击中所扮演的角色

在当前信息系统中,安全攻击过程就是攻击者利用系统漏洞破坏系统安全机制的过程。要对一个系统进行攻击,如果不能发现和使用系统中存在的安全漏洞,是不可能成功的,这在具备一定安全机制的信息系统中尤为关键。

安全漏洞从一开始就存在于系统中,会经过一个从被发现、被利用到被纠正的过程。在纠正一个错误时往往会引入一个新错误,因此系统安全漏洞必然会层出不穷。

(5)一般网络攻击过程

如今的网络攻击过程就是攻击者发现并利用系统中安全漏洞的过程。一般分为如下几个阶段。

信息收集阶段。在此阶段,攻击者将尽可能多地收集与要攻击的系统相关的信息,如系统平台种类、版本、所运行的服务、当前网络访问控制列表等。在此阶段,网络扫描器是最常使用的工具。

脆弱性确定阶段。在此阶段,攻击者将根据在信息收集阶段了解到的目标系统情况,发现并定位其中存在的已知安全漏洞。比如,目标系统为Windows 2000 SP4,那么系统中很可能存在老旧的DCOM 缓冲区溢出漏洞;如果是Windows 10的32位或者64位系统,则很可能存在WannaCry可以利用的“永恒之蓝”漏洞。

实施攻击阶段。在此阶段,攻击者利用所发现的安全漏洞实施攻击。

当前日益泛滥的网络蠕虫、勒索软件等自动化攻击程序,其实就是将一般的攻击过程自动化,可针对某个或者几个特定系统漏洞进行攻击的攻击程序。只是蠕虫程序可以通过网络自我复制和传播,并且可以像特洛伊木马一样盗取合法权限执行非法操作。网络病毒问题同样是与网络条件下信息系统实现和使用机制中存在的安全漏洞紧密联系的。

(6)网络攻击成功的三要素

现有条件下,要想成功侵入某系统,攻击者必须同时具备以下三个要素。

• 该系统中存在安全漏洞。

• 了解该系统中安全漏洞的分布情况。

• 具备访问这些安全漏洞的物理途径。

网络蠕虫、WannaCry等自动化攻击程序的攻击过程是自动实现的,但也必须具备三要素才能实施攻击。

(7)网络安全攻防过程与安全漏洞的关系

在以威胁为中心的网络安全攻防体系中,安全漏洞就是产生攻击的原因,也是进行攻击的基本条件。包括网络蠕虫、勒索软件在内的攻击手段之所以能够成功,根本原因是系统中有安全漏洞。安全漏洞是人们在对系统安全理论的设计与实现中发生的错误,可以使攻击者绕过系统安全机制发动攻击。因为系统中不可能没有错误,所以从理论上说,没有安全系统可以不受攻击破坏;漏洞的数量只与系统的规模、复杂性有关,随着信息系统规模越大、逻辑越复杂,漏洞的数量只会增多,而不会减少;在一个复杂的信息系统中,最终能被披露的漏洞只有很少一部分,系统内存在的未知漏洞的数量是惊人的,永远也难以“挖完”,利用漏洞来攻击威胁的数量更是无穷无尽。

4.依靠威胁对抗技术,无法保障系统安全

说完了攻击威胁,再看看安全保障一方的现状。目前国内主流的安全观念认为:安全问题的根源就在于有攻击威胁,安全的目标就是对抗威胁,安全体系就是威胁对抗体系。安全是以威胁防御为核心的,威胁防御的基础是威胁检测和态势感知。

“要想防御威胁,先要看到威胁”“未知攻,焉知防”等观念,在安全界已经深入人心。纵深防御体系就是以此为依据建设的。纵深防御的目标是通过人、技术、操作,逐层提高威胁及其产生的破坏性后果的检测与防护概率,从而尽量消除威胁风险。

纵深防御的思路肯定没错,但是凭借它是否就能完美地解决安全问题呢?答案是“不能”。如果只靠纵深防御就能解决安全问题,我们今天就不会受到安全问题的困扰了。

当前凡是由威胁驱动的安全技术,都是针对特定威胁进行针对性防护的特异性安全技术。在认识到安全漏洞以及攻击手段的危害之后,现有安全技术主要从两方面应对攻击威胁。一是对各种系统漏洞进行弥补,健全系统自身安全性。此类安全技术包括安全补丁、安全风险管理工具、PKI(Public Key Infrastructure,公钥基础设施)体系等。二是对抗特定的攻击,比如清除病毒、入侵检测、过滤攻击流量、阻止攻击活动等。这两类技术针对特定的安全缺陷以及特定的攻击手段采取相应对策,因此被称为特异性安全技术,也就是当前我们最熟悉的针对威胁的防御技术。

目前的安全技术研究和成果主要集中在特异性安全技术方面,包括系统脆弱性评估、防火墙及入侵检测技术、清除计算机病毒、使用系统安全补丁等。

特异性安全技术需要针对信息系统当中的已知特定缺陷,或针对特定的攻击种类,进行有针对性的安全防护。这类网络安全技术的防护模式有“发现、分析、响应”三个步骤,具有很强的针对性与实效性,但也表现出逐一对抗成本高、防护效果滞后于攻击出现等局限性,这使其在当前复杂网络系统环境下,无法有效应对海量、快速扩散的自动化攻击程序的威胁,越来越不适应攻击技术的发展趋势。

下面分析目前各种主流安全技术在功能上所存在的问题。

(1)安全漏洞修补措施的局限性及其后果

Forrester调研公司的主管迈克尔认为:漏洞被发现的速度越快,与之相关的网络蠕虫的诞生速度也越快。修补漏洞的一方与攻击者一直在进行时间上的竞赛,看谁先发现漏洞、谁更快利用或者修补漏洞。

攻击程序利用系统漏洞的动作愈来愈快,对网络安全的挑战也愈来愈大。2003年,SQL Slammer利用的是半年前发现的漏洞,而其后的Worm.Blaster在漏洞公布一个月内就迅速爆发,而2017年WannaCry则是利用了0Day漏洞,漏洞被攻击者事先发现、利用,0Day漏洞是当前最难防御的攻击类型。

在网络条件下,即使某个用户系统及时安装了所有补丁程序,也难以避免遭受攻击。因为当前通过网络互联的计算机之间不是孤立的。2003年,SQL Slammer发作时仅仅需要感染一台主机就可以使整个内网的所有服务器处于瘫痪状态。要想给同处于网络中的所有计算机逐一打补丁不是一件容易的事,只要遗漏了任何一台计算机,网络攻击就有可能再度蔓延开来,补丁的下载速度甚至还赶不上网络攻击扩散的速度。

对系统漏洞的修复工作几乎完全取决于开发商的商业信誉与技术能力,例如,如果微软没有及时发布某个安全补丁,使用微软操作系统的用户在相关攻击面前就会束手无策。

(2)防病毒技术的局限性

防病毒机构对新病毒的反应时间通常在48小时内,但绝大多数的网络病毒在24小时内就可以发挥其90%的破坏作用。以SQL Slammer为例,它在发作的头10分钟里就感染了90%的易感服务器,只用8.5秒就使感染的服务器数量增加了一倍。Worm.Blaster爆发24小时内就有140万个IP地址被扫描。WannaCry继承了“蠕虫前辈”的快速传播方式,基于445端口,24小时内就可扩散至全球。

可见,即使病毒库的更新速度保持在几十小时之内,依然会有上百万用户在使用防病毒软件的条件下遭受网络病毒的危害。现有防病毒技术对自动化攻击程序的防御作用是有限的。

(3)防火墙技术的不足

防火墙系统通过阻塞某些IP地址或者禁止外界访问某些本地服务的方式对系统进行保护。而对于向公众开放的服务,因为无法预知攻击者的IP地址,所以无法对其拦截。对于明知存在安全漏洞的网络服务,有时为了保持系统的正常运行,也不能轻易在防火墙中封闭。因此,对需要为大众提供网络服务的系统来说,即使有防火墙保护,也无法保证系统安全。

同时,被防火墙封闭的服务种类越多,其开放服务的真实情况就越容易被提供给攻击者。例如,防火墙仅对外提供WWW服务,这可能会使攻击者集中所有精力对此服务进行渗透或拒绝服务攻击。

(4)网络入侵检测技术的局限性

网络入侵检测技术的工作机制导致入侵检测系统越来越复杂。无论何种入侵检测系统,要想发现攻击行为,必须对网络中的所有活动或者网络状态随时进行监听与分析。即使系统中没有攻击行为发生,入侵检测技术依然要对系统中所有的正常活动进行跟踪与识别,以免漏掉隐藏于其中的攻击信息。在信息系统规模越来越庞大、通信速度越来越快、网络活动越来越复杂的当下,如果想使入侵检测系统对攻击事件的检测质量与处理能力达到要求,必定需要复杂的检测模式,消耗大量的计算资源。这会使入侵检测系统不可避免地越来越复杂,容易形成安全悖论,同时加剧了安全功能与系统资源之间的矛盾。

此外,无论哪种入侵检测技术,都存在滞后于攻击的问题,当其能识别出攻击事件时,攻击所造成的损失已经发生了。

综上可见,通过各种特异性安全技术对威胁进行有效防御存在很多原理上的困难,安全技术本身不能解决安全危机。

1.3.6 安全目标难以达成

当前安全界的各种安全观念、技术、建设方案共同作用的结果是用户的安全目标难以达成。

国内当前主流的安全观念认为,安全保障只能尽力而为地对抗各种威胁,但是无法保证成功对抗攻击,也无法衡量安全防护的能力。以威胁防御思路来引导安全工作,带来的必定是无法确保关键基础设施安全的结果。在一个系统中,漏洞和威胁是无穷无尽的。安全的木桶原理说明,基于威胁防御思路,系统只有在成功消除所有威胁后,才能保证绝对安全。而以有限的安全资源对抗无穷的安全威胁是不可能成功的,因此,100%的威胁防御无法实现,不存在100%的安全。由此系统是注定会被攻破的,安全只能尽力而为,听天由命。安全保障成为败中求胜的事情,威胁防不住也就是必然的。

前面说过,安全的目标就是能够应对系统可能面对的最坏情况,也就是说,系统要有能力应对其将要面对的威胁等级最高的攻击。攻击是体现系统安全强度的“试金石”。系统安全保障能力的强弱可以由系统所能承受的风险强度来直接体现,系统的安全性等级也可以由其所能对抗的风险等级来衡量。简单地说,对一个国家级的重要系统的安全要求,就是它要有能力应对国家级的安全风险。

在现有的威胁防御思路下,基于等保二级、三级建设的安全系统的威胁防御强度,通常只能到达“利益驱动”威胁的下沿,对更高级的安全攻击几乎没有防护效果,如图1-7所示。这才会导致无论有没有建设安全方案,如果WannaCry一来,全都防不住,只要找到一个0Day漏洞就能全打穿。因为当前威胁防御体系的防护能力不足以抵御这些攻击。在此情况下,安全系统无法起到任何防护效果。通过威胁防御保证安全,就好像通过鸡蛋壳保护鸡蛋一样,如果撞击力量没有超过蛋壳强度,则完全有保障,但是撞击力哪怕只比蛋壳强一点点,整个鸡蛋就碎了。

综上所述,由于国内安全产业界对安全理论和安全体系认知的局限,目前主流的安全观念依然是基于威胁防御来保证安全,结果将是“因为威胁经常防不住,安全就必定保不住”。由此,现有的安全产业难以支撑起国家“两个强国”战略的要求,也难以担负起在极限打击下保障关键基础设施安全底线万无一失的使命。

既然大家都认为100%的安全是不可能实现的,我们又要靠什么办法实现“极限打击下,守住安全底线”的目标呢?

图1-7 威胁防护效果

注:FW为FireWall,防火墙;

AV为Antivirus,防病毒;

IPS为Intrusion Prevention System,入侵防御系统;

IDS为Intrusion Detection System,入侵检测系统;

UTM为Unified Threat Management,统一威胁管理;

NAC为Network Access Control,网络访问控制;

SIEM为Security Information and Event Management,安全信息与事件管理;

SOC为Security Operations Center,安全运营中心;

APPCtrl即应用控制。

|1.4 原因与症结|

下面针对上一节所列举的安全问题与现状,分析造成各种安全问题背后的原因。安全问题的现象虽然很多,但根本原因在于当前没有树立正确的安全观念,没有找到正确的发展道路。

一方面,因为“未知攻,焉知防”等以威胁为中心的安全防御思路存在局限性,安全体系无法适应安全威胁的发展趋势;另一方面,把网络安全等同于威胁防御,认为安全的目标就是防御威胁,安全就是由威胁驱动的观念,在安全界已经深入人心,很少引起质疑与思考。

威胁防御本身并没有错,当用来对抗具体威胁时,它的确是非常有效的手段。问题在于,这种观念无法从根本上解决安全问题,也不再适应新的安全发展趋势。如果依然沿着“威胁驱动的安全,针对威胁的防御”思路发展,不可能解决安全问题。

1.4.1 快速发展的威胁趋势

攻击技术经过多年的发展,整体呈现出数量增加、等级提升、目标性更强、更加难以检测及防御的特点。攻击威胁的发展趋势与影响总结如下。

1.利益驱动,能力提升

如果说2003年以前的黑客更多是以恶作剧及破坏系统为主,之后的攻击则更多瞄向了现实利益,包括经济利益、政治影响等。

以实施商业犯罪为例,针对数据资产的攻击日益增多,间谍软件、流氓软件借助安全漏洞进行大范围的传播,地下挂马产业链等逐步形成。安全攻击带来的危害已经不仅仅是破坏系统,更多的是带来敏感信息的泄露以及现实资产的损失。

一方面,利益驱动的威胁服务于特定组织的目标,攻击者能在攻击中获利,因此能够形成黑色产业链,反过来会使得更多的资源被用于攻击威胁,带来的影响是深远的。

另一方面,利益驱动的攻击活动,必然要针对能够带来利益的高价值的目标,这就使得信息系统所面临的风险强度只由该系统自身的价值决定,而与系统是否具备良好的防护无关。这带来的变化是,过去系统往往是因为没有做好安全工作而遭到攻击受损,而现在,越重要、越有价值、越受到严密保护的系统,越有可能在攻击中受损。

因此,不能再简单地根据系统是否发生安全事件来评价系统安全保障工作的优劣,系统安全记录良好,一方面有可能是因为保障工作做得好,另一方面更有可能是因为这个系统本身的价值低。

2.目标导向,破坏严重

利益驱动的威胁必然要以达到攻击目标为目的,所有的攻击资源也都会明确地针对这个目标,直到攻击效果达成。目标可能是多种多样的,包括破坏原先正常的功能、执行系统设计内的非法功能,以及窃取关键数据。

在以目标导向的攻击中,攻击者会对特定目标进行有针对性的攻击而不会殃及其他,因此除了被攻击目标之外,其他人不会有感知,因此攻击活动更加隐蔽,更加难以被检测。

例如,相传在2008年开始的“震网”事件中,攻击者先在伊朗核设施的计算机系统中埋下名为“灯塔”的木马程序,窃取设备的内部运作蓝图,随后编制一种复杂的蠕虫病毒“震网”,并利用钓鱼U盘把“震网”送入与互联网物理隔离的伊朗核设施内网中,开始攻击活动。攻击其实在2008年已经奏效了,但攻击者不清楚攻击效果到底如何,因此扩大了“震网”病毒的传播范围,试图通过互联网的广泛传播而让攻击有更高的概率渗透到被攻击目标,结果专业安全厂商捕获了2010年“震网”病毒的样本,才逐步揭露了整个事件。

可以设想,如果在“震网”事件中没有执行第二阶段的操作,没有把攻击代码扩散到互联网上,而是依然保持对目标的精准打击而不扩散,那很可能至今也不会有人发现此次攻击活动。同时也存在一个细思极恐的问题:类似针对特定目标量身定制的攻击,以前有没有发生过?发生过多少次?都有谁遭到过攻击?过去莫名其妙发生的各种灾难是否和此类攻击有关?这些根本无法评估。

3.无法穷举

随着信息系统越来越复杂,应用范围越来越广泛,威胁与攻击手段也是无穷无尽的。以病毒为例,从1983年出现第一个计算机病毒起,多年以来,病毒的数量一直呈现几何级数增长。根据2019年的数据,可检测到的网络病毒数目已经达到1.03亿个;从漏洞角度看,平均每1000行计算机程序代码中就有15~20处错误,这些都是潜在的安全漏洞。据微软统计,在当前的软件开发模式下,平均每4000行代码中就会存在一个高危漏洞(IE和Adobe就是如此)。以当前软件系统动辄上千万行的规模,其中会有多少漏洞存在?过去又发现或修补过多少漏洞?可见,能够被发现的漏洞只是冰山一角,通过漏洞的方式来保证系统安全显然是靠不住的。

当前网络空间已经发展得无比巨大,其中存在的漏洞和攻击威胁是无穷无尽的,永远不可能被病毒库或者漏洞库所穷举。

4.难以遏制

目前,每年新增2万种恶意程序,其中90%是网络蠕虫等自动化攻击程序,攻击工具的出现和传播速度已经远超传统的杀毒软件、攻击特征库的响应速度。在这种攻击速度下,要是还想通过以威胁的“检测、响应”为主要手段的安全防御技术来遏制攻击的扩散,难度非常大。想要继续基于现在的威胁防御思路遏制威胁的泛滥、控制威胁的扩散,已经是不可能的了。

5.无法检测

现在的安全防御技术主要以威胁的检测、响应为主要防护手段,而检测是防御的基础。当前,不是所有的威胁都能被成功检测。一方面是由于威胁数量太多、技术复杂而难以被准确检测,例如APT攻击是难以被检测的,因为它是协同、多事件、多手段的攻击,对APT的准确检测相当于在做拼图游戏或者DNA测序。另一方面,受到当前检测机制的限制,某些类型的威胁在防护过程中是根本无法被检测的,如很多供应链攻击。

对于供应链攻击,威胁或者攻击过程根本就不发生在目标实体上,也不发生在目标实体的使用流程当中,而是发生在目标实体的部件或者上游流程内,如果安全系统只在系统运行中对访问目标实体进行威胁特征检测、行为检测、意图检测,则无法发现任何异常。

比如,2016年,密歇根大学的研究人员演示了在芯片制造过程中植入硬件木马的可行性;近些年Intel CPU ME模块的安全漏洞、苹果编程开发软件XcodeGhost的二次打包攻击、SolarWinds等,这些都与供应链攻击相关。在上述攻击中,如果不引入原生的合法签名,或者厂商没有主动披露,仅凭现在的入侵检测、行为分析等安全技术,从原理上说,是无法检测出来的。

6.无法防御

在威胁的“检测、防御”思路下,如果威胁无法被检测,也就无法被有效防御。当前,有越来越多的攻击类型无法进行有针对性的防御,因为系统连要对抗什么、保护什么都不知道,也就无从进行防御。在此类攻击过程中,根本就不存在看得见的攻击活动。对应的攻击包括基于公开信息的大数据攻击、针对软件和数据的离线破解、对加密数据的解密等。上述攻击没有利用非法途径获得数据,也没有表现出可被检测的异常行为,也就无法有针对性地对其进行防御。

此类攻击的危害是巨大的,随着大数据、人工智能等技术的广泛应用,攻击者完全有可能通过大量的低密级信息,推算出原本应当受到严格防护的高密级数据。因为各种看似不相关的信息,背后其实都是有关联的,随着技术的发展,只要获得足够多的公开信息,谁都无法预测攻击者能否找到这些数据背后的对应关系,能够发掘出什么样的秘密。数据的数量和全面性本身就足以体现数据的重要性。

对此类活动是很难有针对性地进行防御的,因为数据共享原本就是现代信息系统的价值所在,不可能把所有数据都视同保密数据一样管理。

当前已经出现了越来越多的攻击类型,通过常规的威胁防御思路不再能够进行防护。

1.4.2 威胁防御的固有缺陷

目前主流的安全观点还是以威胁为中心的防御思路,正是这种思路推导出“威胁防不住、没有攻不破的系统、安全是相对的、安全难以量化……”等一系列的结论。

不能简单地说威胁防御是错的,因为从安全技术的表现以及用户的诉求来看,安全的价值体现首先就是能够防住攻击。问题在于:以威胁为中心的防御思路,已经不再能够有效应对当前攻击威胁的发展趋势,已经不能取得预期的安全效果;如果只基于威胁防御思路来指导安全建设,就会导致威胁经常防不住、安全效果不确定、攻防成本不对称的必然结果。

1.威胁经常防不住的原因

在威胁驱动的安全理念下,由于安全威胁是无穷无尽、无法穷举的,因此从理论上就无法以有限的安全成本成功对抗无限的攻击威胁,因此只靠威胁防御,不能可靠保障安全。

威胁驱动的安全需要基于对威胁的认识来建设安全体系,思路很像应试教育,遇到什么题就学什么题,不考的题目先不学,通过做题来积累经验,这对短期内提高成绩是有效的。这种做法对应到威胁防御上,就是实际遇到过哪些威胁,就有针对性去对抗这些威胁并积累经验,没有发现的威胁先不管。这种防御方式简单、粗暴、有效,用户能直接感受到效果。凡是看得到的威胁基本都被防住了,防不住的反正也看不到。这样会带来如下后果:防御能力滞后于攻击,要发现攻击才能进行防御;只能对看得到的威胁进行防御,凡是看不见的都没法防御;因为威胁是无法穷举的,因此对新遇到的攻击,系统大概率没有防护能力。这就好比应试教育中,题库的规模无穷大,通过刷题,永远也保证不了一定会遇到做过的题一样。

业界越来越深刻地认识到,遵循“威胁驱动的安全”的防御理论,无法解决安全问题。2021年RSA安全大会的主题是“韧性之旅”。在会上,VMware和NetFlix的网络安全主管总结了当前以风险为中心的安全保障体系存在的问题,这代表了业界对现有安全防御体系局限性的反思,具体说明如下。

现在没能,以后也绝对不可能实现有效的风险管理。当前的防御是以能了解风险为前提的,但实际上,随着系统复杂性的提高,系统中的未知风险越来越高,攻击者只要找到任何一个风险就能成功实施攻击,而防御者必须修补所有风险才能确保安全。人人都知道有效的资产识别、风险定位是保证安全的前提,但实际上这个前提永远不会存在。用户面临的就是大量难以识别的不确定风险。

传统安全做法正在拖安全的后腿。安全防御技术无法提供确定性的防护结果,只能尽力而为,而且反过头来增加了系统的复杂性与不确定风险,增加了安全成本,形成安全悖论。

安全不应只是技术组合,当前缺乏安全体系结构设计。用户已经习惯于使用技术和产品的组合来建设安全方案,但用户必定无法以有限成本对抗无穷的威胁,这造成系统必定会被高强度攻击攻破。

2.安全效果不确定的原因

当前的安全没有数学、物理学这样确定性的、可证明的学科理论基础。国内主流的安全体系是由威胁驱动的防御体系。威胁防御是建立在威胁检测这种成功率不确定的基础技术之上的,因此,当前的安全体系天然具有不确定的缺陷。

在威胁防御思路之下,安全的关键技术包括威胁情报、漏洞挖掘、大数据分析、安全态势感知、零信任实时风险评估等以成功地“检测、看到”威胁为目标的威胁检测技术。检测无法保证100%的准确率,因此就不会有100%的威胁成功防御率,也就没有100%的安全。当前只能做到尽力而为的威胁检测,因此只有尽力而为的威胁防御,不可能有确定性的安全。这就是国内认为“没有100%的安全,系统最终会被攻破”的根本原因。

在这种主流的安全思路下,系统面临的风险被成功消除了多少?当前安全性是多少?在部署了更强的安全能力,可防御更多风险后,安全性又提高了多少?全是未知数。这使得用户感觉安全是个无底洞,投资的有效性无法评价,安全防护效果无法评价,安全问题只能“尽人事,听天命”。

依照“威胁驱动的安全”的理念,用户大多不确定安全问题能够真正得到解决,只是尽量去合规。如果再坚持现在这种安全思路,国内的网络安全产业就难以与我国信息化发展相匹配的、达到国家安全目标要求的安全能力与技术体系。

3.攻防成本不对称的原因

造成攻防成本不对称的原因有很多。从宏观上看,由于安全威胁是无穷无尽、无法穷举的,攻防之间是“任意一个”与“所有”之间的对比关系。即攻击者只要找到任意一个机会就能攻击成功,而防御者必须成功对抗每一次威胁才能保证安全。从技术上看,当前的安全防御技术都依赖于“数据分析、威胁检测”这种高成本的复杂技术,攻击方只需要发送攻击数据,而防御方必须要分析所有数据才可能成功识别出威胁,两者的技术难度完全不同。显然,攻防之间的成本不对称性是天然存在的,以有限的安全成本无法成功对抗所有的攻击威胁。威胁驱动的安全防御理论同时存在原理性和技术性的缺陷,是注定无法成功的。

1.3.4节提到,对攻击者来说,攻击活动就好像是把一把沙子混在一袋大米中一样简单,而对防御一方来说,防御活动则如同要把这些沙子从大米里拣出来一样困难。从可行性上讲,如果是从一碗米内把所有的沙子都拣出来,虽然麻烦,但还是做得到的;但如果把一整座粮仓中的所有沙子拣出来,那一定是相当困难的。

如今,凡是有能力对国家级基础设施发动极限打击的攻击者,都拥有高超的技术水平与极丰富的资源,此时若想只凭借威胁防御是不可能防住攻击的。

1.4.3 需要纠正的错误观念

1.安全的目标就是对抗各种攻击和威胁

可能有人会疑惑,安全的目标如果不是对抗攻击,那要安全有什么用?那我们换一个问题,医生给病人看病的目的是什么?是为了消灭损害病人健康的病菌、病毒,还是为了能够保证病人健康地活着?一种结果是成功地把病人身上的病毒消灭了,但是人死了;另一种结果是虽然病人体内的病毒、病菌没有消灭干净,但是把人救活了。哪种才算成功?

显而易见,医生的目标并不是治病,而是治疗病人。治病只是手段,保证病人健康才是目标,如果能够达到保健康的目标,完全可以放弃治病这种手段,正所谓最高明的医生应该是“治未病”。

因此,安全的目标就是成功对抗威胁这一观点是错误的。安全的目标应该是保证业务的健康状态,而对抗威胁只是一种达到目标的手段。

造成安全热衷于对抗威胁的另一个原因是安全的效果很难客观衡量,因此安全系统往往需要通过检测、识别尽量多的威胁来证明它的有效性和价值。用户通常认为威胁检测能力越强,安全系统的功能就越强,这其实是一个误区。因为网络安全不等于威胁防御,威胁的检测能力与系统的安全性是两个不同的概念。

《孙子兵法》提出,“故善战者之胜也,无智名,无勇功”“故善战者,立于不败之地”。这是说善战者的胜利,看上去平淡无奇,没用智谋也没费力气,因为他在战前就算好了会胜,获胜是顺理成章的。这和中医里的“上医治未病”是一个道理。

对安全来说,最有利的结果不是在所有的攻防对抗中获胜,而是通过建立胜局,避免陷入与攻击者的对抗;安全的目标也不是消灭所有的攻击者,而是能让系统不受任何攻击的影响,始终保证正常的服务功能。基于先前的分析,由于攻防成本不对称等特点,安全保障一旦进入直接的攻防对抗,实际上就已经输了,在威胁防御中,防不住是必然的,防得住是偶然的,在对抗中,系统被攻破只是时间问题。

2.只关注威胁检出率

当前无论是安全用户还是安全厂商,都非常关注安全解决方案的威胁识别率,都在纠结于是96%还是99.6%,这是因为大家都认为安全的目标就是对抗威胁,而只有看到威胁,才能防御威胁,威胁的检出率是防御成功率的前提,因此是至关重要的。

目前最高水平的威胁检测技术,在实验室条件下对综合威胁样本的整体识别率在96%左右,也有国内厂商宣称能够达到99.6%,但是无论如何,识别率都不可能达到100%。假设在识别率99.6%的理想情况下,根据木桶原理,只要还有看不到的威胁存在,系统的理论安全性就是0。在极限打击下,高水平的看不见的威胁才是安全保障的关键,它的存在才会给系统造成最大的损失。因此,由于威胁检测技术不可能保证100%的威胁检出率,系统注定会被“看不到”的威胁所攻破,也就不存在100%的安全。

另外,能够被成功检测的威胁,在无穷大的威胁空间中只占极少的一部分。依靠威胁检测技术来保障安全,就好比我们通过“只有发现一只蟑螂,才能消灭一只”的办法,是无法把家中的蟑螂都消灭干净一样。

实际上,安全从根本上讲是一个业务概念而不只是攻防概念。高水平的医生能够脱离治病而“治未病”,有效的安全保障不能局限在威胁防御这样一个维度,而应该能够在看不到威胁的前提下,有效保障系统安全。

3.只知照搬合规基线

无论是等保还是ISO/IEC 27001这些安全检查规范,都是有效保障系统安全的重要手段和工具,但是现在业界一直存在错误使用的情况,只会按图索骥而未能正确理解,灵活使用。

无论是等保测评还是ISO/IEC 27001中的检查项,初衷是对已经建成的安全系统进行测评,就好比通过标准化的试卷来评价学生的知识掌握水平。很多单位并不能真正理解自己的安全目标与安全需求,而是直接把这些测评的检查项当作建设安全系统的指导依据。这就好像学生用试卷+标准答案来代替课程学习一样,不能真正掌握能力,无法系统地构建安全体系,除了能通过测评之外,并没有什么实际价值。

上述现象广泛存在,无论是用户的安全部门还是专业安全公司,在进行安全规划的时候,早已习惯于基于ISO/IEC 15408、ISO/IEC 27001、CC或者等保的安全要求,列出一个完备的安全功能清单,输出对应的检查表,从而把系统的安全性建设转变成基于检查表合规功能项的完备性检查。比如,对照某安全规范中的安全基线要求,识别出300个要求的安全功能项、能满足其中200个要求的系统,要比只能满足其中100个要求的系统的安全性更高,这似乎有道理。其实,只能说前者考虑的安全风险种类比后者齐全,但是安全性或者防御强度是否更高,并不能确定。如果满足这300个要求,是否就能保证系统不出安全问题?或者如果只能满足其中200个要求,当前安全强度又能达到什么级别?这些问题都是无法回答的。因此,简单地把安全性等同于合规性,是不正确的。

再打个比方,等保等规范中要求的合规安全能力相当于药店中的常备药,而系统的安全保障则相当于保证一个人的健康。如果一个人去医院体检或者看病,医生说“你去把药店里所有的300种药都买来吃,我就能保证你是健康的”,这可能吗?这种听起来很低级的错误,在实际进行安全建设的时候却随处可见。如同医保目录中的药品对应的是老百姓的常见病一样。等保中规定的安全能力,对应的也是最常见、最有代表性的安全问题。用户根据等保合规基线来建设安全系统,就好比看别人得了什么病自己就吃什么药一样,效果必然不好。

等保测评规范只对静态安全能力进行要求,并不具备建立流程化攻防对抗体系的能力。而现代的攻防对抗,实际上都是围绕业务的流程化对抗,如勒索软件,实际上就是同时具备未知威胁、扫描探测、秘密渗透、横向扩散、加密勒索等一系列特性的自动化攻击程序。虽然等保三级中已经要求具有检测未知威胁的能力,勒索软件也属于未知威胁,但因为用户按照测评能力项建设的安全方案缺乏流程化的联动能力,在面对勒索软件这种攻击程序时,必定没有防护能力。这就好像在博弈中,虽然棋子都是齐备的,但却无法根据对手走的每一步棋来调整棋局一样。

4.把整改清单当成安全建设的关键

现在的安全厂商在给用户做咨询规划类的安全项目的时候,基本上都会从梳理用户的安全风险、识别用户面临的安全威胁入手,通常会给用户输出一个长长的安全问题与缺陷清单,然后指导用户针对清单上的几百项问题去逐项整改。用户通常会接受这种做法,希望能基于清单进行整改,让安全工作有的放矢。

这种基于安全问题清单整改的安全方法,本质上还是对安全风险知识的积累。看似已经通过问题整改对系统中存在的所有风险做好充分的准备,实际上在新出现的风险面前还是很难起到防护作用的。这种方法对解决用户现网中已经识别到的安全问题非常有效。但通过这种方法只能缓解用户当下面临的安全风险,无法彻底解决安全问题,也难以达到用户在极限打击下确保业务系统安全底线的目标。究其原因,在于这种针对安全问题建立检查表的安全设计方法,依然是由看得见的安全问题所驱动的,很难触及产生安全问题的根源。安全问题是无穷无尽的,凡是能够在清单中列出来的安全问题,都代表着已经发生的或者看得见的问题,没有发生的或看不见的问题,都不会被列在清单中,在方案设计中也就不会有相应的防护手段和应对措施。

综上所述,对一个机构来说,从业务安全目标出发构建尽量完善的安全保障机制,要比单纯解决清单上的具体问题更重要。在实际情况下,准确了解攻击者会用什么手段,会从哪个方向,针对哪些资源发动攻击,并提前做好准备,是完全不可能的。合理的做法是,针对用户系统中的核心资产与关键业务指标,建立好完备的保障工事以及各种安全预案。这样才能在不确定的风险出现时做到有条不紊,避免攻击活动对系统核心功能产生破坏性影响。

因此,在安全规划中需要考虑的,不应该只是“安全问题清单”中的问题本身,而必须触及在用户业务场景下造成这些问题的根源。在安全性设计中所针对的也不应该只是清单中的问题,而是产生这些问题的根因。

美国能源部在1992年发布的《根本原因分析指南》(Root Cause Analysis Guidance Document)中,把根本原因定义为:一种原因,当这种原因被纠正以后,将会防止此类事故或者类似事故再次发生。可见,只有消除了问题根因,才能彻底解决某一类问题。问题的根因往往不是问题表现的那样,而是蕴藏在具体的业务场景当中。

正确的系统安全设计方法,不是简单地针对看得见的问题本身去提供整改措施,而是要基于用户的业务目标,分析出看不见的问题根因,再针对根因进行完善的安全设计,构建对应的安全保障机制。

5.热衷于安全黑科技,而忽略了安全体系

无论厂商还是用户,大家都在寻找解决安全问题的有效途径。基于一贯的思路,大家总是认为,凡是安全专家、先进的安全单位或者国家,一定掌握着某种不为人知的安全“黑科技”或者是“独门秘诀”。

虽然大家都明白解决安全问题没有“银弹”,但是现在无论是厂商还是用户,依然还是在潜意识里把解决安全问题的希望寄托在“黑科技”和“特效药”上。然而,根据安全的木桶原理,单一技术的出现不会彻底解决安全问题,因此安全问题没有“银弹”,也就不存在依靠黑科技来解决安全问题的可能性。解决安全问题还是需要依托架构和体系的力量。

安全过程就好像博弈过程。在象棋比赛中,你无法去问棋手,他到底是靠哪一颗棋子获胜的,或者是输在哪一颗棋子上。单项技术固然很重要,但是也必须在系统架构中才能发挥作用。在安全技术已经发展了几十年的当下,很难指望在某个单项技术上获得极大的突破。

国内网络安全研究机构对看得见的单项技术和热点技术研究得很多,但对技术背后的驱动力分析、发展趋势分析及体系化的研究不足。打个比方,国内安全研究机构,对像棋子这样的具体技术、具体产品分析得较为透彻,但是对棋局、棋手固定的招数这类系统性、架构性问题的研究,很少有站得住脚的研究成果。即使有部分成果,也很难通过产品落地,因为用户有兴趣采购的还是像棋子这样的安全产品。

我国的安全研究缺乏系统性思路,而对安全问题的驱动力与发展规律缺乏自主的理解与思考,也没有能力与动力独立开展关于安全方法论和体系结构的研究,最稳妥的方法是追随国外热点技术和概念。

6.把系统性的安全问题变成安全产品的组合

当前在做安全系统规划建设的时候,根据规范和业界惯例,用户和厂商都习惯于把安全解决方案分成终端安全、网络安全、系统安全、数据安全、应用安全、安全管理等不同的维度,或者按照系统结构分成传输网络、区域边界、可信计算环境、安全管理中心等。无论哪种划分,安全人员都习惯于把规范中有明确要求的、业务部门提到的、业界厂商推荐的各种安全能力和产品,放到对应的位置上。这样做的好处是用户可以明确识别出安全能力,便于对相关产品做横向测评比较,就像是把复杂的一盘棋分解成各个棋子,可以保证棋子不缺;坏处也同样明显,把棋局变成棋子组合,丢失了重要的流程信息,无法再进行系统化的安全性比较,只能比较单项能力的齐备度。

现在的攻击活动是一条“攻击链”,在攻击中不会只针对终端、网络、系统数据、应用等某个环节,可能会涉及和破坏所有的部分,因此在安全系统实施中,如果按照分类来独立建设,无法有效对抗威胁和消除损失,也无法在分阶段建设中体现已建成部分的价值。因为安全保障是一个闭环过程,不仅仅是能力的组合。好比一辆车,装配完成了80%后,并不能获得80%的功能,少了任何一个部分都无法正常工作。另外,虽然车是由标准化的零部件组成的,但并不是获得了相应的零部件,就一定能制造出对应功能和质量的车。

在安全系统的建设中,不能简单地根据终端安全、网络安全、数据安全等维度堆叠安全能力和产品,要根据安全目标与对应的风险,进行系统化的考虑,针对不同阶段的安全目标采用不同的安全方案,在完成不同阶段的系统建设后,能够发挥对应阶段的不同功能。

7.希望低等级的安全方案叠加,可以缓解高强度的风险

安全防御的特点是,低水平的防御对高等级的攻击是完全无效的。基于安全防御来保护一个业务系统,就如同通过一个玻璃鱼缸来保护鱼一样,如果一个鱼缸的防冲击力是100牛,那么它对低于100牛的冲击具有100%的防御效果,可以完全避免损失,但是在面对101牛的攻击时,并不能发挥大部分的防御效果从而只承受少许的损失,而是防御效果为0,与完全没有采取防护措施一样。

这也是在进行安全系统建设的时候,为什么强调要针对系统可能面对的最坏情况去建设,而不能只考虑避免最大的风险。因为准备再多的低水平防御手段,对高强度攻击来说也是无效的,这就好像病人喝再多的止咳水也治不好肺炎一样。如果按照合规标准建设安全方案的目标是消除WannaCry等高级安全威胁对系统的破坏,那么这样的方案还不如不采用,因为即使采用了,对实现安全目标也没有帮助,白白浪费资源。

通过建设基本的合规安全方案来缓解高强度风险带来的损失并不现实,系统必须针对它所要面对的实际风险强度来建设对应等级的安全方案,才有可能达到设定的安全目标。

8.安全研究中把热点当成方向

在国内安全研究中有一个普遍现象,国外新出现了一个安全概念后,国内厂商就会马上引入这个概念,国外新出现一个热点技术,它在国内就会比在国外更热。这其实不是好现象,表明我国的安全研究是没有理论基础的,没有自己的方向,不了解安全问题的本质、驱动力与方法论,在研究安全热点技术时“知其然,而不知其所以然”,只会盲目跟风。

国外的高水平安全研究项目是体系化的,有方法论指导,有演进目标,有理论支撑,形成了长期一贯的演进路径,而不是随机蹦出几个热点。成熟的安全研究路径好比是种植一棵“科技树”,先有树根、再有树干、有树叶、有花、有果;而只看到了最后的花和果,就感觉这些花和果是随机出现的,总是觉得安全技术很神秘,其实这归因于没有看到树干和树根。

由于缺乏正确安全观念和安全理论体系,国内安全研究一直处于“看到了,才知道”的状态。虽然对国外的热点技术学习吸收很快,但是一直没有自己的方向,没有自己原创的安全技术,更是没能培养出我国自己的“安全科技树”的树根与树干。

9.不加条件地认为没有绝对的安全

当前,因为谁都不敢说有能力确保一个系统的安全,因此,大家也就都认为100%的安全是不可能保证的,绝对的安全也是不存在的。但是,要想得出是否存在绝对安全的结论,并不应该只凭感觉和经验,而是应该通过可靠的证明,否则就是人云亦云。

从威胁防御的角度来说,基于安全木桶原理的特性,绝对成功的防御是一定不存在的,但这并不是说绝对可靠的安全保障也同样不存在。参照韧性安全观念,美国及其盟友在关键基础设施的安全保障上制定了明确的目标,它们从不认为可靠的网络安全保障是不可能完成的任务。反而是我国的部分厂商在强调“没有攻不破的系统,没有绝对的安全”,并视之为理所当然。这其实是把网络安全等同于威胁防御,实际上这是两个完全不同的概念,“没有绝对成功的威胁防御”并不等于“没有绝对的安全”。

“没有绝对的安全”这种不加任何约束条件的论断,已经影响到了安全相关政策和要求的制定,实际上并不客观,也不利于国内安全行业的发展。

对比国内外对安全保障问题的不同认识,需要承认,与信息化发达的国家相比,当前国内在安全保障和安全理论研究方面还有差距,而且这种差距并不只是单向技术上的落后,更体现为安全的系统性缺失以及观念上的偏差。当下,需要建立可靠的安全理论基础,树立正确的安全观念。

1.4.4 理论缺失是症结所在

在当前的安全研究中,缺乏站得住脚的可靠安全理论基础,是造成各种安全困扰的关键症结。

目前主流的安全理论,是“未知攻,焉知防”;主流的安全思路,是以威胁为中心的防御思路。认为安全问题的根源就在于威胁的存在,安全的本质就是对抗威胁,安全体系就是以威胁检测为基础的威胁对抗体系,安全的目标就是提高成功对抗威胁的概率。这套理论听起来没有任何问题,但是遵循这样的安全研究指导思想,在当今安全威胁的发展趋势下,会导致“威胁必定防不住”的结果,对用户达到安全目标没有实质性帮助。

如果基本的安全指导思想不改变,无论投入多少安全资源都改变不了失败的结果,原因就是指导思想错了,路线错了,方向错了。

目前国内安全界的现状是,安全研究多年来还是停留在经验总结阶段,没有坚实的理论基础。虽然国内安全界一直热衷于向用户推广国外的安全热点技术和新概念,但是缺乏对安全问题的根源、驱动力、方法论,以及国外安全新技术涌现的背后原因的深入分析,没能了解国际安全技术发展的脉络,一直是知其然不知其所以然,在这种条件下在安全上赶超国外先进水平,显然是不现实的。

安全领域最大的变革机会,并不在单项技术的发明而在于理论上的创新,我国恰恰在安全研究中长期缺乏可靠的理论基础与方法论指导。由此,打破当前国内网络安全困境的关键,正在于安全观念的修正和基础安全理论的创新,也就是重新认识网络安全之道!

|1.5 对策与出路|

1.5.1 安全复杂性的根源

随着技术的发展以及信息系统的日益复杂化,我们能够明显感觉到安全也正变得越来越复杂。安全的概念、技术、问题都变得越来越多,而且与业务的耦合也越来越紧密,安全也就显得越发复杂和没有头绪。

造成安全越来越复杂的原因在于:人们一直没能透彻地了解安全现象和问题背后的本质与原理,总是在无穷无尽的安全现象和问题当中反复类比,这就导致越解释越复杂,并且不可能有标准答案。

如果我们想正确地解释和分析一个问题,必须要基于这个问题的本质和理论,而不是使用另一个问题。由于在安全研究中,我们始终没能认清安全问题的本质,没有建立起安全的基础理论,从而无法从基本的安全原理上分析安全问题,只能基于无穷的安全现象去描述问题。这样下去,随着安全的使用场景越来越广,用户遇到的安全事件越来越多,安全问题就会变得越来越复杂,而且是越解释越复杂。其实安全概念本身从来没有发生变化,安全在本质和定义上依然是简单而明确的。

总之,要想让安全变得清晰、简单、易于理解,必须要能正确理解安全的本质,建立可靠的安全理论体系。

1.5.2 探索安全之道

要准确理解安全问题,不能停留在认识各种安全现象的阶段,必须要能认识到这些现象背后的根本原理。所谓的“道”,指的就是千变万化的安全现象背后的底层原理。

比如,对物理世界来说,物理世界的“道”,就是能量守恒定律,物理世界的“法”,就是以能量守恒为基础的一系列物理学定律,包括热力学第一定律、机械能/势能转化定律、质能方程等。基于物理学的“道与法”这个理论体系,可以解释天体运行、发电站、原子弹等众多的物理现象和应用,还可以从原理上明确地了解永动机是一定不存在的,而类似《流浪地球》中幻想出的行星发动机,反而是有可能实现的。

对化学来说,“道”就是元素周期表,“法”就是各种化学反应方程式。通过化学的理论体系,可以知道世界上所有的物质都是由各种元素构成的,目前已知的元素有118种,几乎所有的元素都由“质子、中子、电子”组合而成,可以预测可能存在的第119种元素应该是什么。

大道至简,《周易》中提到“一阴一阳之谓道”,《老子》中提到“道生一、一生二、二生三、三生万物”。这些都说明,虽然“象”是无穷无尽的,但是在背后一定存在一个极为简单的“道”。

安全也一样,只有通过理解安全之道,才能正确解释安全之象,从而从根本上解决各种安全问题。而安全之道,就是包括安全的本质、根源、方法论、体系结构在内的安全科学的基础理论体系。如果认识了安全之道,并建立起安全的基础理论,就能够解释复杂的安全现象,从理论上验证系统的安全性,并且提供彻底解决安全问题的可能性与方法。

本书描述的安全之道,是指从安全问题和现象出发,认识安全问题的根源和发展规律,揭示安全技术的发展趋势与演化原理,找到彻底解决安全问题的正确方法,并用其有效解决具体安全问题的有理有据的完整科学过程。整个过程包含了“象、道、法、术、器、用”几个阶段,本身是一个从各种安全的问题与现象出发,最终彻底解决所有安全问题的闭环。

安全之象:就是人们所能看到、感知到的各种安全问题、需求和概念,是与具体场景和需求相关,千变万化、无穷无尽的问题现象。比如,根据保护对象,可以分成主机安全、网络安全、系统安全、应用安全、数据安全;从威胁的角度,可以分为防病毒、反入侵、防勒索、防泄露、防0Day、防篡改、防越权、防APT等;根据业务场景组合属性,可以分成办公网安全、电信安全、云安全、基础设施安全、云基础设施安全……如果试图针对上述问题和威胁逐一寻找应对方案,必然会永无止境,成本不可接受。如果只通过消除安全现象来解决安全问题,在投入大量安全资源后,也只能缓解安全问题,而永远不可能彻底解决问题。因此,唯有揭示了安全问题的共同本质,才能彻底解决安全问题。

安全之道与法:对应安全问题的共同根源与本质,以及针对本质而解决所有安全问题的理论与方法。安全之道对应安全问题发展的客观规律;安全之法对应解决问题的原则与方法。正确的道与法针对的一定是问题的本质而非现象,这个阶段是一个化繁为简的过程,关键是要真正找到安全问题的根源与本质。例如,威胁防御并不属于安全之道与法的范畴,因为威胁并不是产生安全问题的原因,安全的本质也不是防御威胁,如果以消除威胁作为安全的最终目标,试图通过威胁对抗来解决安全问题,是永远不会成功的。安全的目标在于保证系统行为的可预期与确定性,威胁不是产生安全问题的根源,而是让系统出现不可预期的、不确定性行为的触发条件。因此,安全之道,也就是安全的第一性原理,是行为的确定性原理;安全的本质就是攻防双方破坏或保障业务行为确定性的对抗,威胁防御只是对抗的手段而非目标;要想找到彻底解决安全问题的安全之法,就要认识到决定胜利的原则,找到指引安全保障走向成功的正确方法,即不能逐一地对抗威胁,而要在对抗方法论的指导下,建立安全保障体系,对业务行为的确定性进行系统性的保障。只有在正确方法论的指导下,通过系统化架构构建系统性安全竞争力,才有可能彻底解决安全问题。

安全之术与器:对应基于安全方法论所构造的系统化安全体系结构,以及体系结构内的安全技术与安全产品。安全之道与法指明了解决安全问题的正确方向与方法,术与器提供了对应的体系结构设计与产品能力支撑。如果道与法一开始就搞错了,术与器再强大也只会南辕北辙,不可能达到预期的安全目标。安全之术在本书中对应的是韧性概念下的韧性架构;安全之器则对应了韧性技术体系之下包括“内生可信、威胁防御、运营管理”等多个维度的所有技术产品和能力。因此,威胁防御能力属于术与器的范畴。安全的术与器可分为正向与逆向两个方面,包括正向的韧性架构的逐层建立,以及逆向的系统化架构安全能力验证,两者共同保证架构能够达到预期的安全目标。

安全之用:对安全之道与法的具体运用,使用安全理论与体系结构,采用对应的解决方案去解决具体的安全问题,以实现“从问题中来,到问题中去”的闭环。这是一个衍化至繁的阶段。针对不同的问题场景,基于韧性架构可以形成不同的解决方案,但所有的解决方案都遵从相同的架构与方法论指导,保证都能遵循正确的方法,针对问题的根源彻底解决问题,而非仅针对现象来缓解问题。

探索安全之道,有望解决当前国内安全研究中存在的问题,比如:安全缺乏正确理论指导,导致效果不确定,成败表现出偶然性,决定安全保障结果的因素不能被清楚认知,无法获得正确方法论的指导,能力难以复制,研究过程缺乏科学性等。

1.5.3 加密算法的启示

安全之道,就是安全科学所对应的理论与体系,是客观存在的规律。安全是一门科学,存在对应的理论基础,就好像物理和化学一样。

当前很多人并不相信安全存在科学的理论基础,也不认为有可靠的方法论能够指导安全建设,因为安全问题太复杂了,毕竟这么多年了,还从来没能建立起可靠的安全理论,安全保障工作也一直依靠专家的经验和知识的积累,很难进行理论证明与科学验证。但是,我们可以通过加密算法这一同属安全领域的学科的发展历史,来佐证安全理论的存在。

加密算法的发展历史就是安全科学发展历程的一个缩影。加密同样经历了一个从效果的高度不确定性到功能的确定性,从安全性无法被证明到可以得到精确理论证明的演进。

1.第二次世界大战前:密码学是一门玄学

西方有记录的最早的密码故事是凯撒密码。而我国宋朝时就已经记载了很成熟的军用密码体系。古代中国广泛使用的密码是明朝戚继光的反切码,这套密码系统利用体量巨大的汉字和复杂的读音,通过巨大的复杂性空间使其难以被破解。这个时期密码的安全性,是基于密码系统规则的复杂性构建的,只要密码体系的解读规则保密,不知道诀窍的人看到密文后根本就无从下手来破解。

到了第一次世界大战时期,那时候能破解密码的都是专家。比如英国在破解德国密码的时候,就大量招募了数学家、诗人、语言学家、音乐家、字谜专家、宗教专家、心理学家等各个领域的专家,密码破解就是试图通过人性中的各种因素,找到密码系统设计者所设置的诀窍,从而破解系统。

在这个时期,对密码的设计和破解都没有明确的理论和方法论指导,密码系统的强度也是非常不确定的。密码学的设计和破解变成了天才之间的斗法,比如,某个密码专家设计的多年都没被破解的密码系统,不知哪天就被另一个天才破解了。

在此期间,密码学是依靠经验、专家以及偶然性在发展,没有理论指导、效果不确定,表现出偶然性、能力无法复制。

2.1949年到20世纪70年代前期:密码学是一门具有“艺术性”的学科

1949年,美国数学家、信息论的创始人克劳德·香农发表了论文《保密系统的通信理论》(“Communication Theory of Secrecy Systems”),为对称密钥密码系统的建立奠定了理论基础,从此密码学成为一门学科。

20世纪70年代,IBM发表了有关密码学的几篇技术报告,让更多的人了解到密码学的存在。

在此期间,人们试图寻找加密背后的理论基础与方法论。但是密码系统的安全性仍是建立在包括数学算法、算法逻辑保密、别出心裁的思路、让人意想不到的方法等带有很多不确定性和艺术性的思维之上的,依然缺乏站得住脚的理论指导。

在此阶段,同样没有有效的方法对密码系统自身的安全性进行评价。密码系统是否安全,除了通过“广发英雄帖”式的破解来验证,是无法进行理论证明的。更关键的是,密码系统是否安全,并不取决于加密算法的理论或者加密系统本身,而更多取决于这个算法有没有被高人破解,依然会出现一个公认经过考验的加密系统忽然哪天碰巧就被破解了的情况。

至此,加密技术依然是效果不确定的安全技术,即谁也不知道什么条件下加密一定是安全的,或者在什么条件下就不安全了。

3.20世纪70年代后期至今:密码学成为一门确定性的“科学”

1976年,迪菲和赫尔曼提出DH算法,首次证明了在发送端和接收端无密钥传输的保密通信是可能的,由此开创了现代密码学的新纪元。1977年,美国公布了对计算机系统和网络进行加密的DES(Data Encryption Standard,数据加密标准)算法,这是密码学历史上一个具有里程碑意义的事件。

现代的加密技术能从其他安全技术中脱颖而出,在于加密技术与其他安全技术在理论基础上存在着本质的差别,加密技术有明确的数学理论基础,其安全性是可以被证明的,而威胁防御等安全技术依然缺少理论基础,是否安全至今仍然无法被证明。

现代的各种加密算法,都是基于公认的、计算复杂度极高的数学难题进行设计的,其中公钥算法的数学问题基础通常来自数论。主要的公钥密码系统包括DH交换协议、RSA公钥密码系统、Cramer-Shoup、ElGamal及椭圆曲线公钥密码系统等(国内公钥算法主要基于椭圆曲线密码系统)。

进入20世纪70年代之后,加密算法终于形成了完整的数学理论基础。加密算法来源于数学难题,由于解答数学难题的难度是确定的,因此加密算法的理论安全性是有保障的;由于加密算法的安全性是由数学难题来保证的,因此无论多高明的攻击者,破解加密算法都等同于解答数学难题,只要数学难题没有被破解,加密算法就一定是安全的。

自此,加密算法的安全强度只由数学难题的选择和工程实现决定,与密码破解者的攻击能力无关。具体来说,就是现代密码的强度只与其采用的密钥长度有关,与攻击者的聪明程度无关,再聪明的人也只有“密钥穷举”一条路来破解算法。至此,加密算法在哪个时段中一定是安全的,经过多久才可能被破解,就从模糊的问题变成了有确定性答案的明确问题。

今天我们也可以看到,无论是加密算法的设计者还是破解者,大多都是数学家,很少再出现诗人、艺术家了。一个加密算法是否可靠,取决于其在设计中对数学难题的应用有没有疏漏,一旦对应的疏漏被找到,这个算法就被证明是不安全的,就必须被废弃。正如同我国数学家王小云发现了MD5(Message Digest Algorithm 5,消息摘要算法第五版)和SHA-1 (Secure Hash Algorithm 1,安全哈希算法-1)的漏洞一样,立刻就可证明这些算法不再安全。

总而言之,通过加密算法的发展历史,我们可以认识到,网络安全存在科学的理论基础,网络安全性必然是确定的,可预期、可验证的。

1.5.4 如何解决安全问题

正如学生只有在真正掌握知识体系和理论公式后,才能解决学习中遇到的所有问题,而只靠刷题来获得的解题能力是不可靠的,总会遇到无法解决的新问题,解决安全问题也一样。

要想彻底解决安全问题,必须建立正确的安全理论体系,从“道”的角度,把握安全的本质,找到造成安全问题的根本原因,从而解决所有的安全问题,而不能永远停留在“象”的层面。因为安全的现象与问题是无穷无尽的,从“象”的角度,只能找到缓解具体安全问题和消除安全现象的方法,永远都是治标不治本,永远无法找到彻底解决安全问题、扭转安全形势的出路。

所谓彻底解决安全问题,是指成功揭示安全问题背后的发展规律,提供从根本上、原理上解决所有安全问题的思路和方法,而不仅仅是获得缓解具体安全问题的技术手段。安全之道所针对的,应该是所有安全问题的本源,而非某些安全问题本身。

一个业务系统当前安全与否,应该是能够通过理论来证明的,而不应该只是一种感觉。用户当前需要的是可预期、可验证的确定的安全。

要想从根本上解决安全问题,达到用户对安全性的各项要求,首先就要有正确的安全观念,为了建立正确的安全观念,必须为安全找到站得住脚的理论基础,建立能够解决安全问题的体系结构,这些从原理上解决安全问题的思路,就是安全之道。

只有正确理解了安全之道,建立了包括安全本质、本源、方法论、体系结构在内的安全理论基础,才有可能找到彻底解决安全问题的正确方法。换而言之,要想从根本上解决安全问题而非日复一日地缓解安全问题现象,就必须以建立正确的安全理论体系为前提。

[1].2012年时勒索软件还不常见,此级攻击指的是难以通过常规安全手段进行有效防护的攻击威胁,比如大规模的DDoS(Distributed Denial of Service,分布式拒绝服务)攻击等。

相关图书

CTF快速上手:PicoCTF真题解析(Web篇)
CTF快速上手:PicoCTF真题解析(Web篇)
数字银行安全体系构建
数字银行安全体系构建
软件开发安全之道概念、设计与实施
软件开发安全之道概念、设计与实施
企业信息安全体系建设之道
企业信息安全体系建设之道
内网渗透技术
内网渗透技术
深入浅出密码学
深入浅出密码学

相关文章

相关课程