第9章 安全漏洞、威胁和对策(9.3-9.10)

9.3 基于客户端的系统

客户端上的漏洞会把用户以及他们的数据和系统置于遭破坏乃至毁坏的风险之下。

客户端攻击是指会对客户端造成伤害的任何攻击。我们在讨论攻击时,往往假设攻击的主要目标是服务器或服务器端组件。

客户端攻击或侧重于客户端的攻击是以客户瑞本身或客户端进程为目标的攻击。

通过恶意网站把恶意移动代码(如applet)传输给客户端上运行的脆弱浏览器,便是客户端攻击的一个常见例子。

客户端攻击可以发生在任何通信协议上,而不只是在超文本传输协议(HTTP)上。

基于客户端的另一类潜在漏洞是本地缓存中毒的风险。

9.3.1 移动代码

applet是服务器发送给客户端以执行某些操作的代码对象。

applet实际上是独立于发送它们的服务器执行的自包含微型程序,即移动代码。

Web竞技场在不断变化,如今,applet的使用早已不像21世纪10年代初那样普遍。

但是,applet并没有从Web上消失,大多数浏览器仍然支持它们(或者仍然有支持它们的附加组件)。

因此,即使你供职的机构没有在内部或公共Web设计中使用applet, 你的Web浏览器也可能会在浏览公共Web时遇到它们。

假设有一个Web服务器为Web用户提供各种金融工具。

其中一个工具是抵押贷款计算器,用于处理用户的财务信息,并根据贷款的本金和期限以及借贷人的信用信息提供每个月的还贷额。

远程Web服务器可向本地系统发送一个applet, 便其自行执行这些计算,而不是在服务器端处理这些数据,然后把结果返回客户端系统。

这为远程服务器和最终用户带来了许多好处。

•处理负担被转移给客户端,同时把Web服务器的资源解放出来,以处理来自更多用户的请求。

•客户端可以用本地资源生成数据,而不必等待远程服务器的响应。在许多情况下,这可以更快地对输入数据的变更做出响应。

•在设计合理的applet中,Web服务器不会接收作为输入被提供给小程序的任何数据,因此可维护用户财务数据的安全和隐私。

然而,applet引入了许多安全问题。

它们允许远程系统把代码发送到本地系统执行

安全管理员必须采取措施,确保发送给其网络上系统的代码是安全的并适当屏蔽恶意活动。

此外,最终用户除非逐行对代码进行分析,否则永远无法确定applet是否包含木马、后门、rootkit、勒索软件或其他恶意组件。

例如,抵押贷款计算器确实可能会在最终用户不知情或没有许可的情况下把敏感财务信息发送给Web服务器。

Java applet和Active X控件是applet类型小程序历史上的两个例子。

Java applet是Sun Microsystems(该公司已被甲骨文公司收购)开发的一种独立于平台的编程语言

ActiveX控件则是微软对Sun公司Java applet产品的回应。

尽管Java还被用在内部开发和业务软件上,但已经很少用于互联网了。

ActiveX如今已成为一种遗留技术,既已终止生产又己终止销售,目前只有Internet Explorer还支持它。

大多数能上互联网的现代系统已不再支持这些applet形式的小程序,但在假设系统安全之前有必要搞清楚这一点。

虽然Java和ActiveX已不再用于互联网,但JavaScript并非如此。

JavaScript是世界上应用最广的移动代码脚本语言,它通过 附件标签嵌入(包含在)HTML文档。

JavaScript依赖它的HTML主文档,因而不能作为独立的脚本文件运行。

因此,它不是applet,而是嵌入式代码。

不过,这也意味着它会自动从你访问的任何Web服务器下载主要的Web文档,因为95%的网站都使用JavaScript。

JavaScript可启动动态网页,支持Web应用程序以及大量客户端活动和页面行为。

大多数浏览器都通过一个专用的JavaScript引擎来支持JavaScript。

JavaScript的大多数执行方案都用沙箱进行隔离,把JavaScript限制在与Web相关的活动中,同时最大限度地降低JavaScript执行通用编程任务的能力。

而且,大多数浏览器都默认执行同源策略

同源策略禁止JavaScript代码访问来自另一个起源的内容。

起源通常由协议(即HTTP和HTTPS)、域/IP地址和端口号的组合来定义。

如果其他内容的这些起源元素中有任何一个与JavaScript代码的起源不同,则代码将无法访问该内容。

然而,滥用JavaScript的方法也有很多。

黑客可以创建外观和行为都像有效网站的假可信网站(其中包括复制JavaScript动态元素)。

但是,由于JavaScript代码是装在HTML文档中发送给浏览器的,恶意黑客可通过修改这个代码来执行有害操作,例如复制或克隆凭证并分发给攻击者。

恶意黑客还找到了破坏沙箱隔离的方法,甚至还时不时违反同源策略,因此JavaScript应被视为一种威胁。

每当你允许来自未知且不可信来源的代码在系统上执行的时候你便将系统置于遭破坏的风险之下了。

可以通过XSS和XSRF/CSRF利用浏览器中支持JavaScript的性能。

以下是化解这些风险的几种办法。

•即时更新浏览器(客户端)。

•执行JavaScript子集(如ADsafe、Secure ECMAScript或Caja)(服务器端)。

•落实一项内容安全策略,努力对大多数浏览器端活跃技术(被集成进浏览器并由HTML标头值标明)执行同源限制。

就人多数Web应用程序而言,插入攻击非常常见,因此我们要警惕Web服务器接收的输入被人注入奇怪或滥用的JavaScript代码。

在客户端,Web应用程序防火墙(WAF)或下一代防火墙(NGFW)的支持会让你得到不少好处。

不建议直接禁用JavaScript, 因为那样会导致大部分网页在浏览器中停止运行。

相反,不妨用插件、浏览器辅助对象(BHO)和扩展来降低JavaScript风险。

用于Mozilla Firefox的NoScript和用于(基于Chromium的)Chrome及Edge的UBlock Origin便是两个例子。

—————————————————————————————————————————

提示:

另一种遗留的互联网applet或远程代码技术是Flash。

Adobe Flash(这项技术最初由FutureWave发明, FutureWave后来被Macromedia收购,而后者后来又被Adobe收购)是一种创建动态Web元素(如动画、Web应用程序、游戏、实用程序等)的方法。

Flash的流行在2005年左右达到顶峰。

Flash缺乏对早期智能手机的支持,是一个封闭的平台,而且Flash本身存在许多安全问题,因此Flash逐渐失宠。

Adobe宣布2020年12月31日是Flash的寿命终止日。

直到21世纪10年代末,许多浏览器依然支持本地Flash。

取而代之的是一个Flash播放器附加插件(因此,在大多数忒览器中,本地支持被移除)。

然而,到2021年,大多数浏览器甚至会阻止Flash附加插件。

—————————————————————————————————————————

9.3.2 本地缓存

本地缓存有多种不同类型,包括DNS缓存、ARP缓存和临时互联网文件。

有关DNS缓存和ARP缓存滥用的详细论述,请见第11章。

临时互联网文件(temporary Internet file)互联网文件缓存(Internet files cache)是从互联网下载的文件的临时存储,这些文件由客户端实用程序(通常是浏览器)保存,以供当前和将来使用。

多数情况下,这种缓存包含网站内容,但是其他互联网服务也可使用文件缓存各种利用漏洞的方法,如:

拆分响应攻击,可能会导致客户端下载一些内容并把它们保存到缓存中,但这些内容并不是袚请求网页预期元素的内容。

DOM XSS能够访问本地缓存文件并用它们来执行恶意代码或漏出数据(参见第21章)。

移动代码脚本攻击也可用来给缓存植入虚假内容。

一旦缓存中的文件中毒,那么即便调用缓存项的是合法Web文档,也会激活恶意内容。

客户端实用程序应该管理着本地文件缓存,但是这些实用程序并非总能做到最好。

默认设置往往旨在提高效率和性能,而不是为安全而设的。

你应该考虑重新配置缓存,使其只在短时间内保留文件,从而最大限度地缩小缓存,同时禁用预加载内容。

不过你应该记住,在较慢或高时延的连接上,这些更改可能会降低浏览性能。

你可能需要配置浏览器,使其在退出时删除所有cookie和缓存

虽然一般来说你可以手动擦除缓存,但是请你务必记得这样做。

另一种选择是使用一种自动清除程序,并对它进行配置,使其可以按计划或者在目标程序关闭时清除临时互联网文件。

—————————————————————————————————————————

注意:

有关基于客户端端点安全问题的详细论述,请见笫11章。

—————————————————————————————————————————

9.4 基于服务器端的系统

就基于服务器端(可能也包括客户端)的系统安全而言,关注的要点应该是数据流控制(data flow control)的问题。

数据流是指数据在进程之间、设备之间、网络之间或通信信道之间的移动。

数据流管理不仅要确保以最小延迟或时延高效传输,还要用通过加密实现的哈希化计算和保密性保护确保可靠的吞吐量。

数据流控制还要确保接收系统不会因通信流而过载,尤其是在出现连接掉线或遭受恶意的(或自己造成的)拒绝服务的情况时。

发生数据溢出时,数据可能会丢失或损坏,也可能会触发重新传送的需要。

这些结果都不是我们想要的,而数据流控制的实施往往可以防止这些问题的发生。

数据流控制可由路由器、交换机等联网设备提供,也可由网络应用和服务提供。

负载均衡器(load balancer)用于在多个网络链接或网络设备之间传播或分配网络通信流负载

负载均衡器还能对数据流有更多控制。

负载均衡的目的是获得更优化的基础设施利用率,最小化响应时间,最大化吞吐量,减少过载并消除瓶颈

尽管负载均衡可用于许多场景,但它的常见用途是在服务器场或集群的多个成员之间分配负载

为了执行负载分配,负载均衡器可以采用各种技术,包括随机选择、循环、负载/利用率监控和首选项

有关负载均衡的更多论述请见第12章。

拒绝服务(DoS)攻击可以对数据流控制造成严重损害。

重要的是监控DoS 攻击并实施抑制措施。

有关这些攻击和潜在防御机制的讨论,请见第17章。

有关服务器保护的更多信息,请见第18 章。

9.4.1 大规模并行数据系统

并行数据系统(parallel data system)并行计算(parallel computing)是一种旨在同时执行大量计算的计算系统。

但是并行数据系统的能力通常会大大超出基本多处理的范畴。

它们往往包含一个理念:把大型任务划分为较小元素,然后把每个子元素分配给不同的处理子系统并行计算。

这种执行方案基于这样的观点:有些问题如果可被分解成可同时执行的较小任务,那么解决起来效率更高。

并行数据处理可通过使用不同的CPU或多核CPU、虚拟系统或者它们的任意组合来完成。

对于大规模并行数据系统(large-sacle parallel data system),还必须关注它们的性能、功耗和可靠性/稳定性问题。

多处理或并行处理这个领域可分成几个分支。

其中第一个分支介于对称多处理(SMP)与非对称多处理(AMP)之间。

一台计算机含多个处理器,而这些处理器被一个操作系统同等地对待和控制——这样的场景就叫对称多处理(symmetric multiprocessing, SMP)

在SMP中,各个处理器不仅共享一个公共操作系统,还共享一个公共数据总线以及内存资源。

在这种安排中,系统可以使用大量处理器。

处理器集合到一起,在单个或主要任务、代码或项目上共同工作。

而在非对称多处理(asymmetric multiprocessing, AMP)中,各个处理器往往彼此独立工作。

每个处理器通常都有自己的操作系统或任务指令集以及专用的数据总线和内存资源。

在AMP下,可对处理器进行配置,使其只执行特定代码或对特定任务进行操作(或者只允许特定代码或任务在特定处理器上运行;这在某些情况下可以被称为亲和性)。

AMP有一种变体叫大规模并行处理(massive parallel processing, MPP),其中有大量AMP系统被链接在一起,跨多个链接系统中的多个进程共同处理一项主任务。

一些计算密集型操作,例如那些支持科学家和数学家研究的操作,要求具有高于单个操作系统的处理能力。

最好将这种操作交给MPP来完成。MPP系统包含数百乃至数万个处理器,每个处理器都有自己的操作系统和内存/总线资源。

有些MPP拥有超过1000万个执行内核。

负责协调整个系统的活动并安排其处理工作的软件在遇到一项计算密集型任务时,会把完成这项任务的责任指派给一个处理器(这与流行电影《电子世界争霸战》中的主控制程序没有什么两样)。

这个处理器反过来又把任务分解为多个可管理的部分,然后将它们分发给其他处理器执行。

这些处理器把它们的计算结果返回给协调处理器,由协调处理器把这些结果组合到一起并返回给发出请求的应用程序。

MPP系统极其强大(而且极其昂贵),可用于大量计算或基于计算的研究

这两种多处理各有其独特的优势,适用于不同类型的情况。

SMP系统擅长以极高速度处理简单操作,而MPP 系统则特别适合用来处理极为庞大、复杂且计算极其密集的任务,可以分解这些任务并把它们分配给诸多从属部分。

大规模并行数据系统依然在不断发展之中。

许多管理问题可能还没有暴露,而对于已知的问题,人们还在寻找解决方案。

大规模并行数据管理可能是管理大数据的关键工具,往往会涉及云计算(参见第16 章)、网格计算或对等计算解决方案。

9.4.2 网格计算(grid computing)

网格计算是一种并行分布式处理形式,它对大量处理节点进行松散的分组,使其共同去实现一个特定处理目标。

网格的成员可以随机进入和离开网格。网格成员往往只在自己的处理能力没有承担本地工作负载的时候加入网格。

当一个系统处于空闲状态时,它可加入网格组,下载一小部分工作并开始计算。

系统离开网格时会保存自己的工作,并将已经完成的或部分工作元素上传回网格。

人们给网格计算开发了许多有趣的用途,包括寻找智慧外星人、执行蛋白质折叠、预测天气、地震建漠、规划财务决策和解决素数问题等众多项目。

网格计算的最大安全问题是:每个工作包的内容都有暴露给外界的可能

许多网格计算项目对全世界开放,因此,对于什么人可以运行本地处理应用程序并参与网格项目,它们并没有限制。

这也意味着网格成员可保留每个工作包的副本并查看其中的内容。

因此,网格项目不太可能保守秘密,因而不适用于隐私、保密或专有数据

网格计算的计算能力也随时可能发生很大变化。

工作包有时会不返回,返回得太迟或返回时已经损坏。

这需要大量返工,导致整个项目以及单个网格成员在速度、进度、响应能力和时延上表现得很不稳定

对时间敏感的项目可能会因为没有获得足够的计算时间而无法按指定的截止时间完成。

网格计算通常用一个核心中央服务器来管理项目,跟踪工作包并集成返回的工作段落。

如果中央服务器过载或脱机,则可能发生彻底故障或网格崩溃。

不过一般来说,网格成员可以在中央网格系统不可访问的时候先完成自己当前的本地任务,然后定时轮询以了解中央服务器何时可以重新联机。

此外,网格计算还存在这样一种潜在风险:

有人可通过入侵中央网格服务器来攻击网格成员或欺骗网格成员执行非网格社区预期目的的恶意操作。

9.4.3 对等网络(peer-to-peer, P2P)

对等网络技术是在伙伴之间共享任务和工作负载的联网和分布式应用解决方案。

P2P与网格计算相似;主要区别在于,P2P没有中央管理系统,通常实时提供服务,而且它不是计算能力的集合。

P2P的常见例子包括许多VoIP服务、BitTorrent(用于数据/文件分发)和简化音频/音乐分发的工具。

P2P解决方案的安全问题包括:

盗印受版权保护材料的明显诱惑、窃听分布式内容的能力、集中控制/监督/管理/过滤的缺乏以及服务耗尽所有可用带宽的可能性。

9.5 工业控制系统(industrial control system, ICS)

工业控制系统是一种控制工业流程和机器的计算机管理设备,也叫操作技术(operational technology, OT)

ICS广泛用于各行各业,包括制造、装配、发电和配电、供水、污水处理和炼油。

ICS有多种存在形式,包括:

分布式控制系统(distributed control system, DCS)

可编程逻辑控制器(programmable logic controller, PLC)

监测控制和数据采集(supervisory control and data acquisition, SCADA)系统

分布式控制系统(DCS)的单元通常部署在需要从一个位置收集数据并控制整个大规模环境的工业制炼厂里。

DCS的一个重要方面是控制元素散布于一个监控下的环境,如生产车间或生产线,集中进行监控的位置在收集状态和性能数据的同时从这些本地化控制器发出命令。

DCS可以是模拟式的,也可以是数字式的,这由正在执行的任务或被控制的设备决定。

例如,液体流量值DCS会是一个模拟系统,而调压器DCS可能是一个数字系统。

DCS侧重于流程,是状态驱动的;

而监测控制和数据采集(SCADA)系统侧重于数据收集,是事件驱动的。

DCS通过由传感器、控制器、制动器和操作员终端组成的网络控制流程,能够执行先进的流程控制技术。

DCS更适合有限规模的操作,而SCADA更适用于管理散布于广阔地理区域的系统。

PLC单元其实是单用途或专用数字计算机。

它们通常用于各种工业机电操作的管理和自动化,例如控制装配线上的系统或大型数字显示器(如体育场内或拉斯维加斯大道上的巨型显

示系统)。

SCADA系统可作为独立设备运行,也可与其他SCADA 系统联网,或者与传统IT系统联网。

SCADA常袚称为一个人机界面(HMI),因为这样能让人更好地理解、监督、管理和控制复杂的机器和技术系统。

SCADA用于监测和控制涉及范围很广的各种工业流程,但是它不能执行先进的流程控制技术。

SCADA可以与PLC和DCS解决方案通信。

传统的SCADA系统在设计上只有最小人机界面。

操作员往往用机械按钮和旋钮或简单的LCD屏幕界面(类似于商务打印机或GPS导航设备)进行操作。

然而,现代的网络化SCADA设备会有更复杂的远程控制软件界面。

—————————————————————————————————————————

提示:

PLC用于以独立的方式控制单个设备。

DCS用于在有限的物理范围内连接多个PLC, 以便通过网络实施集中控制、管理和监督。

SCADA把这一点扩展到大规模物理区域,从而把多个DCS和各个PLC相互连接起来。

例如,一个PLC可以控制一个变压器,一个DCS可以管理一个电站,而SCADA则可监督整个电网。

—————————————————————————————————————————

从理论上说,SCADA、PLC和DCS单元的静态设计以及它们的最小人机界面应该使系统具备不错的抵御破坏或篡改的能力。

因此,这些工业控制设备几乎没有配备安全保护措施,在过去,尤其如此。

但是近年来,工业控制系统遭遇了好几起攻击事件,闹得沸沸扬扬;

例如,Stuxnet有史以来第一次把rootkit投放到安装在核设施中的SCADA系统。

许多SCADA供应商已开始在自己的解决方案中做安全方面的改进,以防止或至少减少未来的危害。

然而,在实践中, SCADA和ICS系统通常仍然安全水平很低,遇到攻击时十分脆弱,而且不经常更新,在设计中没有考虑安全问题的旧版本依然在广泛使用。

一般来说,典型的安全管理和加固流程可用于ICS、DCS、PLC和SCADA系统,以改善制造商设备中存在或不存在的安全保护措施。

常用的重要安全控制包括:隔离网络、限制物理和逻辑访问、使代码只可用于基本应用程序,以及用日志记录所有活动

ISA99标准开发委员会制订并不断更新ICS、DCS、PLC和SCADA系统安全保护指南。

这方面的大部分内容都被纳入国际电工委员会(IEC) 62443系列标准。

若要了解有关这些标准的更多信息,可访问ISA官网。NIST通过SP 800-82提出了ICS安全标准。

北美电力可靠性公司(NERC)提出了自己的ICS安全指南,并把它们收入与“欧洲关键基础设施保护参考网络”(ERNCIP)标准类似的“关键基础设施保护”(CIP)标准。

9.6 分布式系统(distributed system)

分布式系统或分布式计算环境(distributed computing environment, DCE)是协同支持一个资源或提供一项服务的一组单个系统的集合。

用户常把DCE看作一个单独的实体,而不是诸多单个服务器或组件。

DCE在设计上可以支持其成员之间的通信和协调,以实现一个共同的功能、目标或操作。

一些DCE系统由同质成员组成;其他的则由异质系统组成。

分布式系统的执行可以带来韧性、可靠性、性能、可扩展性等方面的优点。

大多数DCE都装配了大量重复或并发组件,它们异步运行,允许组件出现软失效的情况或独立发生故障。

DCE也叫(或至少被描述为)并发计算、并行计算和分布式计算。

DCE解决方案可以作为客户端-服务器端架构(参见前面有关客户端和服务器端的小节以及第11章有关端点的描述)执行,作为三层架构(如基本Web应用)执行,作为多层架构(如高级Web 应用)执行,也可作为对等架构(如BitTorrent和大多数加密货币区块链分类账,参见第7章)执行。

DCE解决方案常常用于科学和医学研究项目、教育项目以及需要大量计算资源的工业应用。

—————————————————————————————————————————

什么是区块链(blockchain)

区块链是用哈希函数、时间戳和交易数据验证过的记录、交易、操作或其他事件的集合或分类账。

每当一个新元素被添加到记录中,整个分类账就会再进行一次哈希化计算。

这一系统通过证明分类账是否始终保持完整来防止对事件历史的滥用篡改。

区块链的概念最初是在2008年作为加密货币比特币的一部分被设计出来的。

这个概念自那以来之所以一直被使用,是因为它是独立于加密货币的一种可靠交易技术

分布式分类账(distributed ledger)公共分类账(public ledger)由互联网上的许多系统托管。

这就提供了冗余,可进一步支持整个区块链的完整性。

不过,虽然可以从区块链中反转、撤销或丢弃事件,但是只能将其恢复到添加“违规”事件之前的分类账版本。

然而这意味着此后的所有其他事件也必须丢弃。

就公共或分布式分类账而言,只有当支持/托管分类账的大多数(超过50%)系统同意进行回滚更改时,才可以这么做。

—————————————————————————————————————————

你或许会经常使用的各种现代互联网、商业和通信技术,包括DNS、单点登录、目录服务、大型多人在线角色扮演游戏(MMORPG)、移动网络和大多数网站,均以DCE为主干。

DCE还使大量先进技术变成现实,如面向服务架构(SOA)、软件定义网络(SDN)、微服务、基础设施即代码、无服务器计算、虚拟化和云服务。

DCE通常包含接口定义语言(Interface Definition Language, IDL)

IDL是用来定义分布式系统中客户端与服务器端进程或对象之间接口的一种语言。

当对象处于不同位置或使用不同编程语言时,IDL支持在对象之间创建接口;因此,IDL接口是独立于语言和位置的。

关于DCEIDL或框架,我们可以举出很多例子,如远程规程调用(RPC) 、公共对象请求代理架构(CORBA)、分布式组件对象模型(DCOM)等。

DCE存在一些固有的安全问题,其中的主要安全问题是组件之间的互联性

这种配置允许错误或恶意软件随意传播——如果一个敌对分子破坏了一个组件,DCE会允许破坏事件通过旋转和横向传导破坏集体中的其他组件。

其他需要考虑和处理的常见问题还包括:

•未经授权的用户访问

•对用户或设备的冒充、模仿和欺骗攻击

•绕过或禁用安全控制

•窃听和操纵通信

•身份认证和授权不足

•缺乏监控、审计和日志记录

•无法追责

这里列出的问题并非DCE 所独有,但是它们在分布式系统中表现得尤为突出。

由于分布式系统的成员可能散布于广阔的地理区域,它们比单个系统有更大的潜在受攻击面。

因此,我们需要从整体的视角看待DCE单个成员组件面临的威胁和风险,以及它们之间的通信互联。

要想保护DCE, 就必须给存储、传输和处理加密(如同态加密)。

此外,我们还应该执行强多因子身份认证

如果不严格维护同构组件集的安全,异构系统就会扩散它们自身的风险——无沦系统采用的是不同的操作系统,还是同一操作系统的不同版本或补丁级别,都会如此。

DCE组件的种类越多,就越难保持一致的安全配置、执行方案、监视和监督。

如果DCE极为庞大或分布范围极广,乃至跨越国际边界,则还需要解决数据主权的问题。

—————————————————————————————————————————

提示:

数据主权(data sovereignty)的概念是,信息一旦被转换成二进制形式并以数字文件的形式存储,它就要受存储设备所在国家/地区法律的约束。

随着云计算和其他DCE的使用日益增加,如果你所在的行业规定把数据主权保留在原产国,或者如果存储数据的国家/地区制定了与你所在的数据原产国截然不同的法律,数据主权就会成为一个必须认真考虑的重要问题。

数据主权会对数据的隐私、保密性和可访问性产生影响。

—————————————————————————————————————————

9.7 高性能计算系统(high-performance computing, HPC)

高性能计算系统是指专用于以极高速度执行复杂计算或数据操控的计算平台。

超级计算机和MPP解决方案是HPC系统的常见例子。

当需要为某一特定任务或应用进行海量数据实时或近实时处理时,就要使用HPC系统。

这些应用包括:科学研究、工业研究、医学分析、社会解决方案和商业活动。

我们今天使用的许多产品和服务,包括移动设备及其app、物联网设备、ICS解决方案、流媒体、语音助手、3D建模和渲染以及AI/ML计算等,全都依赖于HPC的存在。

如今,互联网和计算设备普及度不断提升,收集到的数据集继续呈指数级增长,同时这些数据和设备的新用途被不断开发出来,伴随着这些趋势,HPC在未来甚至会有更大的需求。

HPC解决方案由三个主要元素组成:计算资源、网络能力和存储容量。

为了优化整体性能,HPC的每个元素都必须能够展现等效的能力。

如果存储速度过慢,则数据将无法被提供给在计算资源上进行处理的应用。

如果网络容量不够,则资源的用户将会体验时延甚至遭遇良性拒绝服务(DoS) 。

—————————————————————————————————————————

注意:

当一项服务在资源不足的情况下运行时,如果出现了意料之外的流行或通信流高峰,或者支撑系统发生故障,如驱动程序丢失、网络链接中断或配置损坏,就会出现良性(benign)DoS。

这种DoS不是由敌对分子的直接或有意恶意行为造成的。

良性DoS是无辜事件、意外情况或拥有者/经营者出错的结果。

有关DoS的更多信息,请参见笫17章。

—————————————————————————————————————————

如果你对HPC系统感兴趣,并希望了解它的最新发展以及哪个系统性能最高,可搜索top500。

HPC有一个相关的概念叫实时操作系统(RTOS)。

HPC往往执行实时操作系统的计算能力,或者以其他方式尝试实现实时处理和操作。

实时操作系统(real-time operating system, RTOS)经设计可在数据到达系统时以最小时延或延迟对它们进行处理或处置。

实时操作系统通常保存在只读存储器(ROM)上,而且可在硬实时或软实时条件下运行。

硬实时解决方案适用于那些出于安全原因必须最小化乃至彻底消除延迟的任务关键性操作,如自动驾驶汽车。

软实时解决方案适用于那些在典型或正常条件下可接受一定程度延迟的情况,大多数消费电子产品就属于这种情形,如数字笔与计算机图

形程序之间的延迟。

RTOS可以是事件驱动的,也可以是分时的。

事件驱动RTOS基于既定优先级在多个操作或多个任务之间切换。

分时实时操作系统基于时钟中断或特定时间间隔在多个操作或多个任务之间切换。

当时序安排或计时是将要执行的任务的最关键部分时,往往需要使用RTOS 。

使用RTOS的一个安全问题是,这些系统往往只侧重于单一目的,因而几乎没有给安全性留下空间。

它们通常使用定制或专有代码,其中可能包含会被攻击者发现的未知错误或缺陷。

RTOS可能会因为伪造的数据集或恶意软件的处理请求而过载或受到干扰。

部署或使用RTOS时,应该采取隔离和通信监控措施,以把滥用减少到最低限度。

9.8 物联网(Internet of Things, IoT)

智能设备(smart device)是指可为用户提供大量自定义选项(通常通过安装app实现),并可利用配备在设备本地或云端的机器学习(ML)处理的各种设备。

可贴上“智能设备”标签的产品不断增加,已有产品包括智能手机、平板电脑、音乐播放器、家庭助理、极限运动相机、虚拟现实/增强现实(VR/AR)系统和计步器。

物联网属于智能设备的一个类别,它们与互联网连接,可为装置或设备提供自动化、远程控制或人工智能(AI)处理。

物联网设备的功能执行和运行往往很像嵌入式系统。

物联网设备几乎总是独立、独特的硬件设备,可单独使用,也可与现有系统结合使用(如用于暖通空调系统的智能物联网恒温系统)。

嵌入式系统是指将计算机控制组件集成到大型机械装置的结构、设计和操作中(往往是安装到同一个底盘或机箱里)的系统。

与物联网相关的安全们题往往涉及访问控制和加密

物联网设备的设计通常不以安全为核心理念,有时甚至不把它当作事后考虑的问题。

这已导致许多家庭和办公室网络安全破坏事件的发生。

此外,攻击者一旦远程访问或控制了物联网设备,就能访问被攻陷网络上的其他设备。

挑选物联网设备时,应该评估设备的安全性和供应商的安全名声。

如果新设备不具备满足或接受你的现行安全基线的能力,就请不要只是为了华而不实的小玩意而把自己的安全置于险境。

一种可能的安全执行方案是把物联网设备部署到独立于主网络并与之隔离的一个单独的网络之中。

这种配置就是我们常说的“三个哑路由器”(three dumb routers)体系

有益于物联网的其他标准安全做法还包括:

及时给系统打补丁,限制物理和逻辑访问,监控所有活动,以及执行防火墙和过滤

—————————————————————————————————————————

注意:

可穿戴技术(wearable technology)可穿戴设备(wearables)是专为个人设计的智能设备和物联网设备的一个分支。

智能手表和计步器是可穿戴技术的最常见例子。

它们的可用选项多得惊人,涵盖了广泛的性能和安全功能。

挑选可穿戴设备时也要考虑安全问题。

云服务收集的数据是在安全保护下只供私人使用,还是可供任何人公开获取?

收集到的数据还有哪些其他用途?

设备与数据采集服务之间的通信是否加密?

如果停用设备,是否能从服务中完全删除自己的数据和个人资料?

—————————————————————————————————————————

虽然我们提到智能设备和物联网时常把它们与家庭或个人使用联系到一起,但它们也是每个机构应该关注的问题。

这在一定程度上是因为员工会在公司内部乃至机构的网络上使用移动设备。

另一个必须重视的问题是,企业环境中使用着许多物联网或联网自动化设备。

这包括环境控制,如暖通空调管理、空气质量控制、碎片和烟雾探测、照明控制、自动门禁、人员和资产跟踪,以及消耗品(如咖啡、快餐、打印机墨粉、纸张和其他办公用品)库存管理和自动登记。

因此,智能设备和物联网设备都是现代企业网络中的潜在构成元素,理应得到适当的安全管理和监督。

有关智能设备和物联网设备适当安全管理重要性的更多信息,请参阅"NIST物联网提案”。

传感器是企业环境中常见的物联网设备。

传感器可以刻量任何东西,包括温度、湿度、光照度、尘埃颗粒、运动、加速度和空气/液体流动。

传感器可与信息物理融合系统连接,以便根据测量值自动调整或改变操作,例如当温度超过阈值时打开空调。

传感器还可与ICS、DCS和SCADA解决方案连接。

在注意事项方面,设施自动化设备与智能设备、物联网、可穿戴设备相同。

我们始终都要重视安全的影响,评估已包含或者尚缺乏的安全性能,考虑在和其他计算机设备隔离的网络中使用设备,并且只使用可提供强身份认证和加密的解决方案。

通常情况下,物联网设备(其实是几乎所有硬件和软件)都被设置了不安全的或弱的默认值。

永远不要以为默认值足够好。

不断评估所购物联网产品的设置和配置选项并适当地做出改动以优化安全性和支持业务功能。

这里尤其要提及默认口令——口令必须不断更换并验证。

工业物联网(Industrial Internet of Things, IIoT)是物联网的衍生品,更侧重于工业、工程、制造或基础设施层面的监督、自动化、管理和传感。

工业物联网从集成了云服务的ICS和DCS进化而来,可用于执行数据收集、分析、优化和自动化。

工业物联网的例子包括边缘计算和雾计算(参见本章中“边缘和雾计算”一节)。

9.9 边缘和雾计算

边缘计算(edge computing)让数据与计算资源尽可能靠近,在最大限度减少时延的同时优化带宽利用率的一种网络设计理念。

在边缘计算中,智能和处理被包含在每个设备中。

因此,现已不必将数据发送到主处理实体,相反,每个设备都可以在本地处理自己的数据

边缘计算架构执行计算时离位于或接近网络边缘的数据源更近。

这不同于处理从远程位置传到云端的数据。

边缘计算往往是作为工业物联网(IIoT)解决方案的一个元素来执行的,但边缘计算并不仅限于这一种执行方式。

不妨把边缘计算看作计算概念的下一步进展。

最初的时候,计算要在核心大型机上完成,应用程序都在中央系统上执行,但是要通过瘦客户机实施控制或操作。

后来,客户端/服务器端的分布式概念把计算转移到了端点设备上,使去中心化分散执行得以在端点系统本地运行的应用程序上实现(即不集中控制应用程序)。

后来,虚拟化催生了云计算。

云计算是远程数据中心系统上的一种由远程端点控制的集中式应用程序执行。

最后出现了边缘计算,它其实是对接近或位于端点的设备的使用,而应用程序在端点上被集中控制,对它们的实际执行会尽可能接近用户或网络边缘。

边缘设备的一个潜在用途是,互联网服务提供商(ISP)可部署迷你Web服务器来为热门站点托管静态或简单页面

比起主Web服务器,这些站点离大部分普通访问者更近。

这会加快对热门机构网站首页的初始访问速度,但随后的页面访问会被导向可能位于其他地方的核心或主Web服务器并由它们提供服务。

边缘计算解决方案的例子还包括安保系统、运动检测摄像机、图像识别系统、物联网和工业物联网设备、自动驾驶汽车、经过优化的内容分发网络(CDN)缓存、医疗监控设备和视频会议解决方案

雾计算(fog computing)是先进计算架构的另一个例子,它也常被用作工业物联网部署的一个元素。

雾计算依靠传感器、物联网设备乃至边缘计算设备收集数据,然后把数据传回一个中央位置进行处理。

雾计算处理的位置被安排在一个局域网中。因此就雾计算而言,智能和处理都集中在局域网里。

集中式计算能力处理从“雾"(由不同设备和传感器组成)中收集的信息。

简而言之,边缘计算在分布式边缘系统上执行处理操作,而雾计算则对分布式传感器收集的数据进行集中处理。

无论是边缘计算还是雾计算,往往都能利用或集成使用微控制器、嵌入式设备、静态设备、信息物理融合系统和物联网设备。

9.10 嵌入式设备和信息物理融合系统

嵌入式系统(embedded system)是为提供自动化、远程控制或监控而被添加到现有机械或电气系统中的任何形式的计算组件。

嵌入式系统的设计通常以与该系统所附着的较大产品相关的一组有限特定功能为核心。

嵌入式系统可由典型计算机系统的组件组成,也可以是一个微控制器(一个含板载内存和外设端口的集成芯片)。

—————————————————————————————————————————

微控制器(microcontroller)

微控制器类似于系统级芯片(SoC, 参见第11章),但是没那么复杂。

微控制器可以是SoC的一个组件。

微控制器算得上一个小型计算机,由CPU(带个或多个内核)、内存、各种输入/输出功能、RAM 以及通常采用闪存或ROM/PROM/EEPROM 形式的非易失性存储器组成。

示例包括Raspberry Pi、Arduino和现场可编程门阵列。

Raspberry Pi 是一种流行的64位微控制器或单板计算机。

这类微控制器提供了一个小型计算机,可用于添加计算机控制,而且几乎可以监控一切。

Raspberry Pi包含CPU、RAM、视频和外设支持(通过USB),有的还包含板载联网性能。

Raspberry Pi自带定制的操作系统但也可安装数十种其他操作系统以替代原有操作系统。

关于Raspberry Pi,有一个广泛而多样化的开发社区,开发人员以Raspberry Pi为工具来进行控制咖啡机的科学试验。

Arduino是一个致力于为构建数字设备而创建单板8位微控制器的开源硬件和软件组织。

Arduino设备配备了有限的RAM、一个USB端口和用于控制附加电子设备(如伺服电机或LED 叮)的I/O引脚,但不包含操作系统。

相反,Arduino可以执行专们为其有限指令集编写的C++程序。

如果Raspberry Pi是一台微型计算机,Arduino则是一个简单得多的设备。

现场可编程门阵列(field-programmable gate array, FPGA) 是一种灵活的计算设备,可由最终用户或客户进行编程。

FPGA常被用作各种产品(包括工业控制系统)的嵌入式设备。

—————————————————————————————————————————

嵌入式系统本身可能就是一种安全风险,因为它们通常是静态系统,这意味着即便是部署它们的管理员,无法为弥补安全漏洞而改变设备的运行方式

有些嵌入式系统倒是可以通过供应商提供的补丁进行更新,但是,当发现漏洞被人恶意利用时,往往要再过好几个月才能发布补丁。

嵌入式系统必须与互联网和专用生产网络隔离,以最大限度地减少远程利用、远程控制或恶意软件危害的风险。

嵌入式系统的安全隐忧涉及这样一个事实:大多数嵌入式系统在设计上只注重怎样把成本降至最低并把无关功能减到最少。

而这往往会导致系统缺乏安全性并且难以升级或打补丁

嵌入式系统可能控制着物理世界中的某个机制,因此它们的安全漏洞有可能导致人员和财产受损害。

9.10.1 静态系统(static system, 又称静态环境)

与嵌入式系统类似的另一个概念是静态系统。静态环境是一组静止不变的条件、事件和周围事物。

从理论上说,顾名思义,静态环境不会提供让人惊讶的新元素。

静态IT环境是指原本就不打算让用户和管理员改变的任何系统。

它的目标是防止用户实施有可能导致安全性或性能下降的更改,或者至少减少这种可能性。

静态系统也叫非持久性环境或无状态系统,与持久性环境或有状态系统截然相反,后者允许访问期间进行更改并保留更改结果,然后重启系统。

静态系统的例子包括:机场的值机柜台、ATM机以及通常在洒店或图书馆免费供客人使用的计算机。

这些客户计算机经配置可为用户提供临时桌面环境,用于执行有限范围的任务。

但是,当用户因超时或注销而终止会话时,系统会丢弃前面的所有会话信息,并把环境更改和恢复成原始状态,以便下一个用户使用。

静态系统可通过多种方式实现,包括:使用本地虚拟机或远程访问虚拟桌面基础设施(VDI)。

从技术角度说,静态环境是为特定需要、能力或功能而专门配置的应用程序、操作系统、硬件集或网络,一旦设定完成,将始终保持不变。

尽管这里使用了“静态”这个词,但真正意义上的静态系统其实并不存在。

硬件故障、硬件配置变更、软件错误、软件设置变更或漏洞利用都有可能改变环境,进而导致出现非预期操作参数或实际发生安全入侵。

有时,我们会用“静态操作系统”(static OS)的说法指静态系统/环境的概念或者表明只能做一点微小改动。

这种改动是指,操作系统本身不允许用户更改,但用户可以安装或使用应用程序。

这些应用程序往往是受限制或控制的,以免应用程序改动静态操作系统。

静态操作系统的潜在例子:智能电视、游戏系统/游戏机,或者只可安装来自供应商控制的应用商店的应用程序的移动设备。

9.10.2 可联网设备(network-enabled device)

可联网设备是指具备本机联网能力的任何类型的设备——无论是移动的还是固定的。

这种说法通常假定所涉网络是无线类型的网络,主要由移动通信公司提供。

但它也指可连接Wi-Fi的设备(特别是当它们可以自动连接时)、可从无线电信服务(如移动热点)共享数据连接的设备以及配有RJ-45插孔(用于接纳有线连接的标准以太网电缆)的设备。

可联网设备包括:

智能手机、移动电话、平板电脑、智能电视、机顶盒或HDMI棒式流媒体播放器(如Roku播放器、Amazon Fire TV或Google TV, Google TV以前叫Android TV/Chromecast) 、联网打印机、游戏系统等。

嵌入式系统的例子包括:

联网打印机、智能电视、暖通空调控制器、智能家电、智能恒温控制器、车辆娱乐/驾驶员助手/自动驾驶系统和医疗设备。

可联网设备可以是嵌入式系统,也可用来创建嵌入式系统。可联网设备常常也是静态系统

—————————————————————————————————————————

注意:

某些情况下,可联网设备可能包括支持蓝牙、NFC和其他基于无线电的连接技术的设备。

此外,一些供应商还提供了可为自身不具备联网能力的设备添加联网功能的设备。

可以把这些附加设备本身视为可联网设备(或者更具体地说,可以主动联网的设备),而且可以把由它们组合而成的增强设备看作可联网设备。

—————————————————————————————————————————

9.10.3 信息物理融合系统(cyber-physical system)

信息物理融合系统指可提供计算手段来控制物理世界中某物的设备。

要是在过去,这种系统或许该归入嵌入式系统,但是信息物理融合这个类别似乎更侧重于物理世界的结果,而非计算方面。

从本质上说,信息物理融合设备和系统属于由机器人技术和传感器组成的网络中的关键元素

我们基本上可以把能够在现实世界引发运动的任何计算设备看作机器人元件,

同时把可以检则物理条件(如温度、光、移动和湿度)的任何设备归入传感器。

信息物理融合系统的例子包括:

提供人体增强或辅助功能的假肢、车辆防碰撞系统、空中交通管制协调系统、精确的机器人手术、危险条件下的远程操作,以及车辆、设备、移动设备和建筑物的节能系统等。

信息物理融合系统、嵌入式系统和可联网设备的另一个扩展是物联网。

如前所述,物联网是可通过互联网相互通信或与控制台通信以影响和监控现实世界的设备的集合。

物联网设备可贴上智能设备或智能家居设备的标签。

办公楼采用的许多工业环境控制理念正在为小型办公室或个人住宅提供更多方便消费者的解决方案。

物联网并非仅限于静态定位设备,它还可与陆地、空中或水上交通工具或移动设备联合使用。

一般来说,物联网设备属于静态系统,因为它们只能运行制造商提供的固件。

9.10.4 与嵌入式和静态系统相关的元素

大型主机是高端计算机系统,用于执行高度复杂的计算并提供海量数据处理。

较早的大型主机可被视为静态环境,因为它们往往是围绕单个任务设计而成的或支撑单个任务关键性应用程序。

这些配置不具备显著的灵活性,但它们确实实现了高稳定性和长期运行能力。

现代大型主机则要灵活得多,往往用于提供支持大量虚拟机的高速计算力。

每个虚拟机都可用来托管一个独有的操作系统,从而支持涉及范围很广的各种应用程序。

如果一台现代大型主机的执行是为了对一个操作系统或应用程序提供固定或静态支持,我们就可把它看作一个静态环境。

游戏机(无论是家庭系统还是便携式系统)都是静态系统的潜在例子。

游戏机的操作系统通常是固定的,只在供应商升级系统的时候发生更改。

这种升级通常是操作系统、应用程序和固件改进的混合。

尽管游戏机的功能通常侧重于游戏体验和介质,但现代游戏机还可为各种培养出来的第三方应用程序提供支持。

应用支持越灵活,开放性越强,静态系统的属性就会变得越少。

暖通空调可以由嵌入式解决方案(也可以叫智能设备或物联网设备)控制。

物理安全控制可以抵御物理攻击,而逻辑和技术控制只能抵御逻辑和技术攻击。

有关暧通空调的问题将在第10章进一步讨论。

许多打印机是联网打印机,这意味着它们可以直接连接到网络,而不直接连接计算机。

联网打印机可充当自己的打印服务器。它可以通过电缆或无线连接来联网。

有些设备不仅仅是打印机,可能还具有传真、扫描和其他功能。

这些设备被称为多功能设备(multifunction device, MFD)多功能打印机(MFP)

任何联网的设备都可能成为潜在突破点。

这可能是因为设备固件存在缺陷以及设备没有采用通信加密。

如果一个MFD/MFP具有集成的网络功能,允许它作为独立的网络节点而非直接连接的依赖设备运行,我们就可把它看作一个嵌入式设备。

因此,联网打印机和其他类似的设备带来了越来越大的安全风险,因为它们的机箱里往往装着功能齐全的计算机。

网络安全管理人员需要把这些设备全部纳入他们的安全管理战略,以防止它们成为攻击的目标,被用于装载恶意软件或攻击工具或授予外来者远程控制访问权。

许多MFD/MFP都嵌入了用于远程管理的Web服务器,而这可能是一个攻击向量。

此外,大多数MFD/MFP(以及传真机和复印机)都有保存打印作业的存储设备,而这些打印文件可能是允许未经授权实体访问或恢复的。

监视系统是指用于监控和跟踪资产或主体的任何设备。

它们可以是嵌入式系统,也可以是专用传感器,例如安全摄像头、开门/关门传感器、移动传感器、门禁前厅的栏杆和智能卡读卡器。

车载计算系统、医疗系统/设备、飞机/无人机/遥控飞机和智能电表都是嵌入式、静态、联网和信息物理融合系统的潜在例子。

本章前面已经讨论过它们。

9.10.5 嵌入式和静态系统的安全问题

一般来说,与典型的端点、服务器和网络硬件相比,嵌入式、静态、可联网、信息物理融合和专用系统因其设计或硬件能力而受到的限制或约束更多。

而这些制约会产生许多安全影响。

有些嵌入式和专用系统依靠可更换或可充电电池运行。

其他的则只能从USB插头或特殊电源适配器/转换器接收少量电源。

这些能量上的局限性会限制运行速度,进而限制安全组件的执行

如果耗电量过大,设备可能会发热,进而导致性能下降、崩溃或损坏。

大多数嵌入式系统和专用系统都使用能力较低的CPU。这是成本和电力的节省或限制导致的。

计算能力较低意味着功能较少,而这也意味着安全运行的水平较低。

许多嵌入式和专用系统联网能力有限

它们的联网能力可能只限于使用有线网络只能使用无线网络

在无线网络中,设备可能只能使用特定版本的Wi-Fi、频率、速度或加密。

使用无线网络的一些设备则只能采用特殊的通信协议,如Zigbee或低功耗蓝牙(BLE)。

许多嵌入式和专用系统无法处理高端加密

这些特殊设备可用的密码技术往往十分有限,可能要使用较旧的算法或糟糕的密钥,或者只是缺乏良好的密钥管理。

一些设备配备的是预共享或硬编码的密码密钥。

一些嵌入式和专用系统很难打补丁,而其他的甚至可能根本无法打补丁或升级

如果没有更新和补丁管理,脆弱的代码将始终处于危险之中。

一些嵌入式和专用系统不用身份认证来控制主体或限制更新

一些设备使用硬编码凭证。这些都是应该避免的。

应该只使用允许自定义凭证的设备,并选用支持相互认证证书的设备。

由于天线功率低,一些嵌入式和专用系统的传输范围有限

这会限制设备的有效性或者需要通过增强信号来补偿。

一些嵌入式和专用系统的成本较低,因此它们可能不包含必要的安全性能

其他包含必要安全组件的设备则可能会由于价钱太贵而不被使用者考虑。

与供应链问题类似,机构使用嵌入式或专用系统时,会自动信任设备供应商及其背后的云服务

这种隐含的信任可能是被误导的。

机构在依赖供应商的产品之前必须对他们进行一次全面的调查,即便使用的是专用系统,也应该把它们隔离在受严格限制的网段中。

有关“零信任”的论述,请参见第8章。

基于这些限制和其他问题,嵌入式和静态系统的安全管理必须适应这样一个事实:

大多数系统在设计上只注重最大限度地降低成本和减少无关性能

这往往会导致系统缺乏安全机制并造成升级或打补丁困难

静态环境、嵌入式系统、可联网设备、信息物理融合系统、高性能计算(HPC)系统、边缘计算设备、雾计算设备、移动设备以及其他用途有限或用途单一的计算环境都需要安全管理。

尽管它们或许不像通用计算机那样有广泛的受攻击面,也没有暴露在那么多的风险之下,但它们依然需要适当的安全治理。

用在服务器和端点上的许多通用安全管理原则,同样适用于嵌入式、静态和信息物理融合系统。

网络分段涉及联网设备之间通信往来的控制。

完全或物理网络分段是指把一个网络与所有外部通信隔离,使交易只能发生在分段网络内设备之间。

你可用虚拟局域网(VLAN)或通过其他通信流控制手段(包括MAC地址、IP地址、物理端口、TCP或UDP端口、协议或应用程序过滤、路由选择、访问控制管理等)对交换机执行逻辑网络分段。

网络分段可用于隔离静态环境,以阻止更改或漏洞利用波及静态环境。

有关分段的详细论述,请见第11章。

应用程序防火墙是为服务和所有用户定义了一套严格通信规则的设备、服务器附件、虚拟服务或系统过滤器。

它可以抵御以应用程序为目标的协议和有效负载攻击,是专门保护应用程序的服务器端防火墙。

网络防火墙是充当通用网络过滤器的一种硬件设备(通常被称为装置)。

网络防火墙在设计上可以为整个网络提供广泛保护。

内网隔离防火墙(ISFW)用于创建一个网络分区或网段。

每个网络都需要网络防火墙。

许多应用服务器需要应用程序防火墙。

但是一般来说,即使使用了应用程序防火墙,也仍然需要网络防火墙。

应该综合使用一系列防火墙,让它们相互补充,而不是把它们视为相互竞争的解决方案。

有关防火墙的更多信息,请见第17章。

当你按不同保密和敏感级别对设备进行分类并且级别各不相同的设备类别被相互隔离时,就有了安全层

这种隔离可以是绝对或单向的。例如,较低级别不可发起与较高级别的通信,但是较高级别可以发起与较低级别的通信。

隔离也可以是逻辑的或物理的。

逻辑隔离要求给数据和数据包贴上保密级别标签,而这一点必须得到网络管理、操作系统和应用程序的认真对待和强制执行。

物理隔离要求在不同安全级别的网络之间实现网络分段或空间隔断。

若要了解有关数据和资产分类管理的更多信息,请参阅第5章。

对于静态环境,应该用手动更新来保证只执行经过测试并得到授权的变更

自动更新系统会允许未经测试的更新导致未知的安全性降低

与手动软件更新一样,在静态环境中,对固件的严格控制也至关重要。

固件更新应该仅在全面测试和检查后通过手动方式进行。

固件版本控制或固件发布跟踪应该侧重于保持平台稳定运行并最大限度地减少固件暴露在风险之下乃至宕机的情况。

包装器(wrapper)被设计用来包裹或包含别的东西。

在安全领域,包装器因其与木马恶意软件关联而闻名。

这种包装器可用来把一个良性主机与恶意负载组合到一起

包装器还被用作封装解决方案

有些静态环境经配置会拒绝更新、更改或软件安装,除非它们是通过受控渠道引入的。

这种受控渠道可以是一个特定的包装器,例如经过加密的连接、基于证书的手动身份认证,源自一个预设IP地址或域名或数字签名。

包装器可能包含完整性检杳和身份认证性能,以确保只有预期和得到授权的更新可用于系统。

即便是嵌入式和静态系统,其性能、违规情况、合规和运行状态也应该受到监控。

其中有些类型的设备本身可以进行监控、审计和日志记录,而其他设备则可能需要由外部系统来收集活动数据

机构内的所有设备、装备和计算机都应该处于监控之下,只有这样才能确保高性能和最短宕机时间,同时检测出并制止违规和滥用行为。

与任何安全解决方案一样,只依赖一种安全机制的做法是不明智的。

深度防御根据同心圆或分层理论采用了多种访问控制。

这种分多个层级实施保护的安全体系有助于机构避免形成过于单一的安全心态。

单一的心态相信一种安全机制便能充分提供自己需要的所有安全保护。

安全控制的冗余性和多样性可以使静态环境免于陷入单个安全功能失效的困境,从而使环境有多个机会转移、拒绝、检测和阻止任何威胁。

然而不幸的是,没有哪个安全机制是完美无缺的。

每个单独的安全机制都存在可被人绕过的缺陷,这些缺陷迟早会被黑客发现和滥用。

你可能感兴趣的:(#,OSG9,网络安全,安全)