基于主机的工业控制系统的安全评估体系结构外文翻译资料
2022-10-26 10:03:55
英语原文共 6 页,剩余内容已隐藏,支付完成后下载完整资料
基于主机的工业控制系统的安全评估体系结构
摘要:在整个国家许多重要的基础设施中电脑控制系统执行着至关重要的功能。这些系统很容易受到各种攻击导致灾难性的后果,比如产品损失,,扰乱公共设施的分布,最重要的是危害公共安全。这就需要一种方法能够在它对系统造成任何伤害之前在攻击路径上阻止它。在这些系统中执行的漏洞评估可以识别和评估控制系统网络中潜在的漏洞,以免被恶意入侵者所利用。一个有效的漏洞评估体系应该吸收来自多个源的安全知识去发现在一个主机中存在的所有的漏洞。由于基于主机的安全扫描器通常需要运行在管理员权限,并从外部知识源获取输入进行分析,这就需要扫描器必须是值得信赖的,因此出现了些合理的担忧。如果扫描器本身较脆弱或带有多个漏洞,不规范的输入就可能危害扫描器和整个系统。在企业级安全分析仪的背景下,我们已经实现了扫描体系。分析器可以根据第三方安全知识发现主机上的安全漏洞,这些知识的详细描述在OVAL中。本文提出一个体系结构,基于主机的安全扫描的代码库可以最小化在某种程度上,通过适当的审查可以验证其正确性。此外,该体系还允许利用第三方安全知识有效地支持各种高级安全分析。
1.介绍
大部分的工业控制计算机系统是网络攻击的优先目标。其中一个主要原因是他们涉及到国家的关键基础设施,如电力、电话、水、能源等。另外,这些系统最初是想建立独立的系统,所以他们自身有特定的漏洞,执行的安全措施水平不高。然而,随着这些基础设施系统之间互连的增加,我们常常发现自己在这样的一个处境,数以百万计的基础设施组件连接到网络,从来不是为了暴露给网络攻击而设计的,但是黑客可以访问系统。
随着网络攻击数量和复杂度的快速增长,使得网络管理员能够配备高效工具变得必要,以防止漏洞被利用。不难看出成功攻击控制系统将会有灾难性的后果,例如危害公共健康和安全,破坏环境,或生产造成损失,,或公共设施的分布。这使得控制系统在被攻击之前得到保护变得至关重要。
漏洞评估(VA)就是这样的一种方法。VA分析仪能扫描主机系统或者网络来检查存在的安全漏洞。全文中提到的主机/目标,指的是被扫描寻找漏洞的系统。VA分析仪可以大致分为两类,基于网络和基于主机的仪。
基于网络的扫描仪(如Nessus)探测远程机器找到漏洞。而基于主机的扫描仪,安装在主机系统本身。后者对比安全知识检查主机数据来评估各个系统漏洞。全文中使用的“安全知识”一词的定义是确定主机(或目标)系统中已知漏洞的条件是真实(或假)。扫描器收集主机的配置信息,然后基于接收到的安全知识执行各种分析。
因为被安装在主机上,基于主机的扫描仪可以直接访问配置信息和各种在主机上运行的服务。然而,传统的基于主机的扫描仪需要定期为企业网络每台机器上的代理进行安装/更新。随着网络规模增大这是一个相当艰巨的任务。此外,当客户运行主机利用其资源,客户的配置必须要仔细考虑,以避免丢失数据或主机崩溃。
随着新漏洞持续被发现和获得多样的知识库,一个全面的安全分析需要各种来源的知识。但由于这些知识是由第三方提供和由终端主机使用,所以代理中的任何漏洞都会使主机脆弱。这对于从多个第三方得到的安全知识来做安全分析是一个障碍。具体地说,系统管理员怀疑是否应该信任代理代码(成千上万行代码),不会伤害主机本身。此外,每一个终端主机上知识的使用引入了大量重复的努力,很难结合各种来源的知识,开展全球企业级的安全分析。因此,我们需要一个能够结合来自多个知识库安全知识的体系,并使用它的安全知识为终端机有效地提供一个全面的脆弱性分析而不干扰其正常的功能。
在本文中,我们为基于主机的安全分析提出一个架构,这不仅解决上面提到的问题,也支持其他高级别安全分析工具。我们通过将收集主机配置信息的过程和配置信息的分析分开来完成上述任务。对于基于主机的脆弱性分析,提出的系统设计为双组分体系结构。第一个组件是扫描仪(或我们经常称之为代理),需要安装在主机上。代理服务的唯一目的是从主机收集信息并且不执行任何分析。第二个组件是分析器,网络的大小决定它驻留在服务器还是服务器的一个集群。分析仪的唯一责任是对信息执行安全分析。分析仪利用第三方安全有效地知识为网络上的每台主机生成一个全面的安全报告。这个综合报告可以成为网络管理员做决定的基础,根据报告的漏洞来维护主机(和网络)和把漏洞输入到一个更高级的全球安全分析工具中。
该体系结构有以下优点:
- 架构有效利用第三方安全知识同时通过在分析器一个集中的位置执行安全知识更新来消除更新每个代理的需要。
- 终端机代码库大小的显著降低使代理的安装和配置变得容易,也不太可能扰乱活动服务。此外,小代码库减少引入编程错误的可能性。
- 小代码库让管理员(或其他信方)来检查缺陷、恶意内容成为可能,使它适合静态代码分析以及使它适合手动检查,恢复代码信任。
- 此体系结构支持其他基于从网络上所有主机收集到的数据所进行的高级别安全分析。
我们的研究是在MulVAL(多主机、多级脆弱性分析)项目中进行。MulVAL是企业级安全分析软件,对在终端机上发现漏洞基于网络的企业,它可以自动计算所有可能的多步骤、多主机攻击路径。MulVAL的输入是在企业网络中对每一个管理的机器执行基于主机的漏洞评估的结果。最初的MulVAL工作使用一种由MITRE公司分析每一个终端后发布的已经适应的OVAL语言(开放的漏洞评估语言)注释器。外部安全知识在OVAL语言中已经确定,并且需要发送到所有终端。当我们试图在一些企业网络中部署MulVAL工具,系统管理员首先担心的总是适应OVAL解释器的可信度。这促使我们去开发一个漏洞评估体系,其中扫描仪能在有最小的代码库的主机上运行,因此通过适当的代码审查可以验证它的正确性。同时,通过提供获得一个多源的安全知识编译的选择高效的利用第三方安全知识。
2.基于集中式主机的体系
顾名思义,体系采用集中式的方法对比知识库中的安全定义来分析主机。安全的定义不同于用于病毒扫描器中的病毒定义。病毒署名通常指的是文件名称和内容,而决定安全漏洞的存在(即安全定义)的条件是任意逻辑关系的配置参数。例如,Windows平台的OVAL语言可以用来指定条件,在任何Windows注册表条目,在任何文件的属性或在任何在一台计算机上运行的进程。它也有许多的逻辑连接器和属性可以指定完整的命题关系和有限的一阶逻辑语义关系。此外,由于需要支持各种各样的检查和分析任务,传统基于主机的安全扫描器通常有一个大型代码库。例如,MITRE的代码大小参考OVAL扫描技术的实现,OVAL扫描技术在c 有大约35000行代码编程语言中发展出来的。这种规模的应用程序,你可以想象开发人员很难保持完全没有缺陷并且同时检验没有安全漏洞。
图1显示了体系由中央分析仪,配置库存和在目标主机上高度简约的代理组成。配置库存从主机获得配置信息。体系结构让代理去执行配置收集的基本功能,如卸掉整个Windows注册表,查询文件的属性和进程状态。大部分的这些功能有现成的系统命令或应用程序编程接口(api),因此完成这些所需的代码是最少的。代理脚本是由服务器根据通过交互式查询分析所需的数据形成的。代理小于一百行代码从而大大减少了编程缺陷/ bug的可能性。此外,小的代码库可以为任何类型的缺陷进行严格的审查,因此增加代理的可信度。这些轻量级脚本通过添加没有明显负担的主机资源也可以克服主机资源消耗的问题。在控制系统环境中减少主机资源消耗和严格的代码审查是至关重要的,不会干扰他们的正常功能也很重要。最后,代理给中央分析仪报告终端配置信息进行分析。
图 1 架构
分析仪是体系中最重要的部分。其功能包括调度扫描网络上所有的的目标主机,管理配置库存和存储所有来自主机的库存信息。分析仪从多个知识来源采集、转换和存储安全知识,以接受的Datalog格式给基于逻辑的比较器。然后通过提供目标的配置信息(从代理收到)以及编制的安全知识初始化基于逻辑的比较器,得到各自的主机的结果。这种体系结构的一个显著优点是中央分析仪对每一个网络上管理的主机有一个完整配置视图,并可以对配置信息进行各种高水平的安全分析。在此体系结构中我们可以跨多主机看到脆弱的一个链或工作流,而不仅仅是单个主机/过程。这就是架构如何支持高水平的安全分析工具,这样可以注意到两项放到一起相对安全(即使有漏洞),或更加易受攻击。让我们举一个例子,如图2所示,显示了一个基于一个真实(更大的)控制系统的例子。网络包括三个子网:DMZ(非军事区),一个内部子网,EMS(能量管理系统)的子网,Ems是电力控制系统网络。web服务器和VPN服务器都从互联网上直接访问。web服务器可以通过NFS共享协议访问文件服务器。在内部子网只允许从Citrix服务器访问EMS子网。我们假设一个攻击场景,攻击者的目标是获得特权在通信服务器上执行代码,如下所示。攻击者首先远程利用漏洞攻击网络服务器来获得本地访问网络服务器。网络服务器可以通过脆弱的NFS服务守护进程访问文件服务器。一旦攻击者在内部子网,他可以很容易地到达Citrix服务器和通信服务器。从通信服务器,攻击者可以发送命令到物理设施,例如发电涡轮机,这可能会导致关键基础设施的严重损害。因此,我们看到,仅仅找到单独的主机上漏洞并不为我们提供一个整体视图,像MulVAL这样的安全分析工具对于控制系统网络的维护是至关重要的。
图 2 控制系统网络
此外,由于所有主机的配置集中存储在一个地方,安全知识的应用是更有效的。这是由于这样的事实,处理来自多个来源的原始安全知识一次,用于所有网络上的机器。这个知识预处理的成本由扫描过的所有的机器平摊。在我们的实现中,我们把知识编译成可执行代码,编译只做一次,代码直接应用到所有主机的配置数据来进行分析。
该提出的体系很好的吻合了最近的趋势,是用一个开放和标准的格式分享安全知识。除了帮助到更广泛的安全漏洞综合分析,我们的架构还支持信息安全领域里不同的研究和开发。开放式漏洞评估语言(OVAL)就是努力使“方法交流”带进企业系统的安全管理。这努力在IT安全管理行业回响良好,供应商比如GFI LANguard和SofCheck已经提供“OVAL-compatible”产品。这与漏洞评估工具供应商提供自己专用格式的安全定义的传统商业模式是一个的重大背离。随着网络安全威胁的快速增长,显然,对于所有的企业网络系统面临的安全问题,没有一个组织可以提供整体解决方案。有效的分享安全知识的能力是赢得“网络战争”对抗互联网歹徒的关键。
因为在安全分析,配置信息收集和脆弱性分析中把两个截然不同的阶段分开,本文提出的安全扫描体系结构促进了知识共享。如果更新的知识库或分析工具需要相同的终端配置信息集合,那就没有必要更新代理或新的扫描。这种分离的架构可以避免在安全分析中重复类似的工作,促进知识共享,因此,一切努力最大限度地使安全管理受益。事实是我们的架构拥有配置库存也开辟了像“企业库存管理”和“故障排除”领域中多种应用途径。
3.实现
让我们先熟悉讨论中作为一个例子的安全知识库。
A.OVAL语言
开放式漏洞评估语言(OVAL)是一个国际信息安全公众标准,目的是促进可得到的安全内容的开放性和公开性,和在整个范围的安全工具和服务内这些信息的标准化转换。OVAL包括用于编码系统细节的语言,和整个团体进行的内容库的分类。该语言规范了评估过程的三个主要步骤:系统的代表配置信息进行测试,分析了系统特定的机器的存在状态(脆弱性、配置、补丁状态等等),和报告这一评估的结果。它是一种基于xml的语言,能够详细说明几乎所有类型的平台的机器配置漏洞,例如Windows,Linux,hp - ux,思科IOS和Sun Solaris。OVAL提供的定义规定的条件是,满足主机时,同时确认漏洞存在(或没有)。
B.体系结构
- 中描述的架构分成数据收集和分析部分。数据收集是由主机的驻留代理执行和在此后描述的分析仪分析。
- 配置数据收集:在我们的实现的代理中由一组外壳和Visual Basic脚本组成,脚本不到一百行代码和驻留在主机上。它有一个专门从目标/主机收集信息的功能。通过OVAL定义所需的信息从注册表转储收集,通过检查文件的属性获得特定文件的版本号。驻留代理收集注册表项信息和来自属性的文件版本号,使用Windows系统命令,并将其转发给分析仪。
在此体系结构中描述的所有系统配置和其他信息驻留在中央分析仪。这可以提供一个机会来监视机器上与以前的扫描相比有什么变化。这信息对安全取证是有价值的,以及系统管理员可以使用它来跟踪机器上的配置更改,排除故障。架构支持在需要的时候便捷的给代理添加脚本,获得更多关于网络、端口和文件系统状态的信息而不导致增加很多代码。这反过来为投资者开辟了新的途径参与代理的开发,收集知识,具体到应用例如库存跟踪和故障诊断。
- 分析仪:分析仪是一个集中的连接到网络上的所有主机的服务器。它负责执行主机的全面安全分析和报告所有它们存在的漏洞。分析仪通过对比预处理的安全知识分析从代理(驻留在主机)接收到的信息完成这个任务,安全知识是从各种安全知识库获得的信息。分析仪进一步分为两个部分:知识转换器和逻辑比较器。
- 知识转换器:知识转换器把更新的安全定义(XML格式)和原始主机配置(ascii格式)转换为Datalog的格式。主机配置信息的数据日志格式作为比较器的输入,如下所示。
win_Reg_Entry(Path,Name,Value)
在上面的例子中,“path”是路径和主机的一个注册表项键值。“Path Name”/ “Value”匹配比较器的安全定义中特定的数据。值是一个字符串或数值。转换器的下一个任务是处理安全知识和把它转换成数据日志的条项。OVAL的存储库是定期更新,我们的体系结构很好的适应不断变化的知识。一旦我们有符合格式要求的主机信息和安全定义,就可以提
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[154012],资料为PDF文档或Word文档,PDF文档可免费转换为Word