本节将比较传统战场与网络战场,分析两者存在的重大差异,并进一步指出形成这些差异的主要原因。由于网络靶场的一项重要任务就是研究如何模拟“网络战场”,因此,需要深入理解、刻画“网络战场”的独特性与复杂性。
随着互联网、物联网的发展,网络战场先是作为传统战场的延伸,之后又从数字世界延伸到了现实世界(见图1-12)。譬如,物联网小设备受制于软件漏洞,一旦联网会被黑客所利用,形成受控制的“僵尸”网络。对联网智能设备的攻击不仅局限于虚拟世界,也会直接危害到物理世界,甚至危及生命安全。工业物联网的安全漏洞一旦被恶意利用,有可能会导致关键基础设施无法正常运行,对社会生产造成严重影响。
·图1-12 物理空间与网络空间的融合
在这个全新的战场上,呈现出了以下与传统战争截然不同的特点。
(1)作战力量多元
由于信息技术的军民通用性和计算机网络的相互关联性,使得网络战力量与传统战争作战力量不同,呈现多元化的趋势。只要掌握了信息系统的专门知识,并能够有效地“闯入”重要的计算机网络,都可以作为网络战力量的一员。网络战力量通常以军队计算机网络战力量为主体,国家和民间计算机网络战力量为支撑,计算机“黑客”力量为补充,将这些力量有机结合起来,就可以实施有效的网络战。
(2)作战空间广阔
网络空间的互联互通、多路由和多节点的特性,导致网络边界被不断延伸,作战空间已超出传统的作战思维模式,呈现出与传统陆战、海战、空战不同的特点。同时,网络攻击武器的不断发展,使得战场不断扩大,消除了地理空间的限制,难以进行前线和后方区分,只要是信息网络能够达到和存在的空间,都可能是作战空间,使得传统的战争空间概念变得模糊。
(3)作战行动隐蔽
与真正战争不同,网络战是隐形的,在发觉之前,敌人可能就已经渗透到当前的网络,以大家看不到的某种方式悄然发动攻击,对网络系统实施破坏,攻击实力被大大隐藏。同时,一国可以通过第三方的网络攻击别国,隐藏其攻击痕迹,就算对方发现了攻击行动,也很难在短时间内查明攻击来源、攻击目的,确定攻击者身份。再者,还有一些网络攻击平时没有被激发,如某国允许将计算机代码植入其他国家的计算机网络,这些代码平时不会损害别国网络,一旦该国与他国发生冲突,这些代码将被激活,实施隐蔽攻击。
(4)作战双方不对称
网络空间过度依赖使得攻击者很容易找到攻击目标,而且攻击不受时间、地理的限制,给防御一方带来很大压力。攻击者只要成功一次就可起到一定的效果。对防御方而言,不能容忍一次失败,一次失败可能改变一场战争的走向。力量弱小的一方可以通过网络攻击获得非对称优势,一个开发成本不高的工具软件就可以实施攻击,但是防御一方则需要消耗大量的投资,才能进行有效的防御。
(5)作战效果显著
网络战充分利用光速的高质量信息移动速度,瞬时产生倍增的作战效力和速率,具有牵一发而动全身的特性。尤其是 当一方成功地对另一方的网络系统实施攻击后,就会由个体向全体蔓延,对对方军事、政治和经济等领域的重点专用信息网络,特别是部队的指挥控制等系统造成极大的破坏,大幅度削弱对方战争潜力,使整个作战态势发生急剧变化,作战效果十分显著。 例如2010年,伊朗核设施遭受“震网”病毒攻击,导致其核设施大部分损坏,破坏力甚至超过了常规军事行动的预期。
表1-1从总体特点、攻击特点、防御特点和资源特点4个方面进一步对比了传统战争与网络战争之间存在的极为明显的差异。
表1-1 传统战争与网络战争的区别对比
(续)
当前,一个全联接的世界正在逐渐形成。
在联接已经成为继土地、劳动力和资本等之后新的生产要素的今天,信息与通信技术也已经由过去以提高效率为特征的支撑系统,向驱动价值创造的生产系统转变。
基于信息与通信技术的云计算、大数据、物联网与移动宽带,正在重构全新的工业文明和商业文明。在金融服务业领域,伴随互联网金融模式的兴起,让传统金融服务业更加关注如何以全联接的思考方式,为客户提供随时、随地可以获取金融服务的新型金融业务模式;在工业制造领域,传统制造工业正在进行重构,信息化与工业化产生了高度的融合,从而形成第四次工业革命的浪潮;在医疗卫生领域,全联接医疗的广泛应用,将助力传统医疗模式的转变和创新,提升医疗服务的水平和效率,优化和改变医疗资源的分布。
全联接的使命就是利用信息与通信技术实现“万物互联”。这种联接除了实现人和人之间的通信、沟通以外,还将物和物、人和物也进行了全方位的联接。
毋庸置疑,全联接必将给全社会各个行业带来巨大的商业机会与社会效益。与此同时,也需要充分认识到, 当数字世界连成一片时,大家是真正的网络安全命运共同体,再也无法独善其身。
全联接世界中,个人、组织、国家的网络安全问题息息相关。个人的隐私数据泄露了,会给他所在组织带来威胁。同理,某个组织的网络出现安全隐患了,不但会给自己带来伤害,可能还会影响到邻站以及未隔离的其他网络,甚至影响到国家安全。
因此,每个人、每个单位的信息系统都是网络空间中的一个细胞,只有所有的细胞都安全了,国家的整体网络空间才真正安全。
杰弗雷·詹姆斯在《编程之道》(Geoffrey James,1999)中有一段富有禅意的对话。
编程大师说:“任何一个程序,无论它多么小,总存在着错误。”
初学者不相信大师的话,他问:“如果一个程序小得只执行一个简单的功能,那会怎样?”
“这样的一个程序没有意义,”大师说,“但如果这样的程序存在的话,操作系统最后将失效,产生一个错误。”
但初学者不满足,他问:“如果操作系统不失效,那么会怎样?”
“没有不失效的操作系统,”大师说:“但如果这样的操作系统存在的话,硬件最后将失效,产生一个错误。”
初学者仍不满足,再问:“如果硬件不失效,那么会怎样?”
大师长叹一声道:“没有不失效的硬件。但如果这样的硬件存在的话,用户就会想让那个程序做一件不同的事,这件事也是一个错误。”
可见,没有错误的程序世间难求。
数字世界如此美妙、重要,但其核心构件不可避免地存在着软硬件缺陷问题,其中不少是严重的安全漏洞,一旦被恶意利用,有时就会形成难以想象的杀伤力。缺陷系统部署得越多,安全隐患就越大,它们是指向个人、组织、国家的无数可被随时引爆的数字炸弹。
现代计算机是构建在逻辑电路基础之上的。那么,逻辑电路是什么?简单地讲,逻辑电路是一种离散信号的传递和处理,以二进制为原理、实现数字信号逻辑运算和操作的电路,广泛应用在计算机与通信领域。
CPU作为最重要的计算机硬件组件,因设计问题导致的安全问题不断浮现。
1994年,出现在Pentium处理器上的FDIV bug会导致浮点数除法出现错误,该错误的原因是处理器内置的乘法表中存在输入错误。
1997年,Pentium处理器上的F00F异常指令可导致CPU宕机。
2011年,Intel处理器可信执行技术(Trusted Execution Technology)存在缓冲区溢出问题,可被攻击者用于权限提升。
2017年,Intel管理引擎(Management Engine)组件中的漏洞可导致远程非授权的任意代码执行。
2018年,“熔断”(Meltdown)和“幽灵”(Spectre)两个Intel CPU漏洞几乎影响到过去约20年制造的每一种计算设备,使得存储在数十亿设备上的隐私信息存在被泄露的风险。
这些安全问题严重危害着国家网络安全、关键基础设施安全及重要行业的信息安全,已经或者将要造成巨大损失。
再通过CVE漏洞的统计数据看看2010—2020年间软件安全漏洞数的变化趋势,如图1-13所示。
·图1-13 2010—2020年间的软件安全漏洞数量变化趋势
总体上看,历年漏洞数量整体还在持续增长,并且在10多年中最明显的变化是2020年,CVE漏洞数量已经超过2010年数量的5倍多。
以互联网中2020年10~11月监测到的全网资产数量(不包含历史数据和重复数据)对比监测到的漏洞数量计算整体互联网的漏洞比例约为15%。
根据美国国家标准与技术研究所(NIST)国家漏洞数据库(NVD)的报告,2021年CVE漏洞数量高达18378个,创下历史新高,是NVD连续第五年打破这一新纪录。其中, 约90%的漏洞都可以被技术能力有限的攻击者利用,而约61%的漏洞不需要用户交互,如单击链接、下载文件或共享凭据。
从漏洞的产生机理来说,可以将软件漏洞分为如下几类。
(1)输入验证漏洞
一般系统都会对用户输入的数据进行合法性检查,当系统未实行合法性检查的时候就会产生输入验证漏洞。据权威部门统计,目前发现的大多数漏洞都是由于系统缺少输入合法性检查而导致的。避免这种漏洞的主要方法是从根本上提升软件开发者的安全意识,使他们在编码阶段就注重代码的安全性检查。
(2)访问验证漏洞
软件系统的访问验证漏洞是由于在验证环节存在错误导致的。这种漏洞会使得非授权用户绕过系统的访问控制从而能够非法访问系统,这种漏洞的产生会造成系统数据的泄露,这会对系统安全性和公司的保密数据带来很大的威胁。
(3)竞争条件漏洞
竞争条件漏洞是由于软件系统的时序或者同步机制出现问题,导致程序在处理文件等实体时出现问题,对这种漏洞开发者需要注意优化系统的时序或同步机制。
(4)意外情况处置漏洞
若设计者在设计软件的实现逻辑中没有考虑一些意外情况时,就会产生此种类型漏洞。如打开文件与用户选择文件不一致等意外情况。
(5)运行环境错误
不同的软件需要不同的运行环境,某些软件系统需要设置特定的环境变量,如果由于环境变量的设置错误而引发漏洞,会导致某些有问题的特权程序去攻击执行代码。
(6)设计错误
系统总体设计者在系统设计上造成的错误,或者后期开发人员在具体设计实现过程中留下的错误都属于设计错误。
可以说, 网络安全的“原罪”就是人类在设计、开发、使用和运维网络信息系统过程中不断产生的大量安全漏洞与脆弱性问题,这几乎是无法完全避免的。
网络安全领域的社会工程学概念是凯文·米特尼克(Kevin David Mitnick)于2002年在《反欺骗的艺术》一书中提出来的,有学者将其总结为 “社会工程学是通过自然的、社会的和制度上的途径,利用人的心理弱点以及规则制度上的漏洞,在攻击者和被攻击者之间建立起信任关系,获得有价值的信息,最终可以通过未授权的路径访问某些重要数据。” 通俗地理解,社会工程学攻击就是设计各种“套路”,利用人性弱点,让人上当受骗的方法与技术。
网络安全的木桶原理告诉我们:一个组织的网络安全水平由与网络安全有关的所有环节中最薄弱的环节所决定。 其实网络安全系统中最薄弱的环节就是人,而社会工程学就是攻击人的弱点,其相对于其他网络攻击,成本最低且常奏奇效。
社会工程学攻击具备三个要素:收集信息、取得信任和实施攻击。
(1)收集信息
攻击者实施社会工程学攻击之前,必须先收集信息。信息是关键,获取信息越多,攻击方法越有针对性,攻击成功率就越高。信息来源可以来自:1)网络收集(如搜索引擎、域名信息查询、公共服务期和各网络社交媒体);2)政府企业的公开信息(如公报);3)通过简单对话交流获取的信息;4)运用观察获得的信息;5)通过垃圾堆资料还原的信息;6)购买的信息泄露数据;7)利用先进的分析机制、分析软件获取的信息。收集有效的信息用于日后社会工程学攻击,更是体现信息的价值。收集信息有时也是社会工程学的目的,所以收集信息既是手段又是目的。
(2)取得信任
信任是一切安全的基础,社会工程学正是利用诱导和伪装来重构信任,突破安全防线。攻击者通过表现自然、知识渊博或植入个人爱好等诱导技巧,极易使被攻击者产生“信任”的逻辑推论。伪装则是通过虚构的场景,伪装成虚构的身份。人们往往通过视觉和听觉来识别身份,通过“易容”来伪装身份难度很大,因此攻击者常使用电话来提高伪装可信度,也有利用人工智能等科技合成被伪装身份的声音取得信任,还有利用心理战术、使用语言的技巧设法与被攻击者达成“共识”而取得信任。一旦取得信任,安全的大门将为攻击者敞开。
(3)实施攻击
在实际的社会工程学中收集信息、取得信任和实施攻击没有严格的界限,甚至收集信息、取得信任也是一次社会工程学攻击。
每一次攻击都会有明确的目标,都会构建共识、洞悉环境和随机应变,都会使用不同的交流模型,通过语言或者非语言的交流式,去影响、说服被攻击者无意识地泄露信息、执行看似合规或符合逻辑的操作。 攻击者的成功率和时间成本有时很大程度上取决于交流模型、语言和非语言的交流艺术。
常见的社会工程学攻击方式有以下几种。
(1)使用电话攻击
使用电话攻击是主流和常见的方式之一,电信诈骗就是典型案例。一个成功的“社交工程师”要具备这些素质:博学的知识、语言的艺术、自然的交流、角色瞬间转换的心理素养、洞察他人的心理学和强的逻辑思维能力等。但是,一旦使用电话,就会降低这些要求。以电信诈骗为例,它充分应用了社会工程学原理,诈骗类型分组实施,不同类型有不同脚本,人员职责分工明确,流程按脚本逻辑严格实施,甚至可以使用技术手段修改声音及来电显示,这就大大降低了攻击者所需要的“技术门槛”。
(2)垃圾搜寻攻击
很多单位对于丢弃、销毁的资料缺少有效的管理。攻击者通过搜索目标单位丢弃的垃圾,收集还原没有完全被销毁的企事业单位及个人的信息。垃圾堆的电话本、姓名、号码、机构表格(备忘录、内部公示材料)、系统手册和废旧硬盘都可以用来帮助攻击者设计攻击目标和冒充对象。
(3)在线社会工程学攻击
在万物互联的今天,在线攻击更是攻击者的重要手段之一,给网络安全带来了重大风险。在线攻击需要有一定的网络技术,往往攻击者就是黑客。黑客利用技术通过各种欺骗手段攻击服务器和网络用户,窃取目标用户的数据、网银账号密码和网络虚拟财产等。
(4)说服类攻击
说服类攻击主要是通过语言的艺术和非语言的表现技巧,友善地说服、引诱、恭维或不友善地恐吓威逼目标,令其泄露敏感信息或执行某种职权(责)内可执行的操作。常见的案例有不良公司向老年人推销虚假功能的保健品、军工单位人员被策反泄密。
(5)反向社会工程学攻击
反向社会工程学攻击是获得非法信息更为高级的手段。攻击者会扮演一位不存在但又很权威的人物,并人为制造一个问题,诱导被攻击者向攻击者咨询、求助,从而使攻击者获得有价值的信息或执行某操作。
克劳塞维茨认为,军事对抗的双方都有将对抗推至“顶点”的趋势。 在很长一段时间内,这一趋势一直在增加破坏力的道路上狂奔。但是,原子弹、氢弹等核武器出现后,这一发展失去了进步空间。电子战的出现,使得军事技术先进和优势的一方,可以率先占领电磁空间这个新的领域或空间,向对方实行“降维打击”,即在高维空间打击处于低维空间的对手。计算机网络的出现和广泛应用,使电子战与网络战之间不再有绝对的界限,网电一体打击成为崭新的方式。近年来频繁发生的网络攻击事件说明,网络战已经成为战争的首选方式和重要内容。