工业控制系统应用与安全防护技术(微课版)课件 第4章 工业控制系统漏洞分析_第1页
工业控制系统应用与安全防护技术(微课版)课件 第4章 工业控制系统漏洞分析_第2页
工业控制系统应用与安全防护技术(微课版)课件 第4章 工业控制系统漏洞分析_第3页
工业控制系统应用与安全防护技术(微课版)课件 第4章 工业控制系统漏洞分析_第4页
工业控制系统应用与安全防护技术(微课版)课件 第4章 工业控制系统漏洞分析_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

工业控制系统应用与安全防护技术第4章

工业控制系统漏洞分析4.1工业控制系统安全威胁与攻击技术工控安全威胁的表现形式可分为人为失误(设置错误、配置错误、操作失误等),管理缺失(策略和制度不完善、操作规程不明晰、职责不明确等),越权或滥用(未授权连接访问、滥用权限非正常修改或破坏重要信息等),信息泄密(内部或外部的信息泄露等),安全漏洞(软硬件漏洞、通信协议漏洞、网络漏洞等),软硬件故障(工业控制系统自身缺陷、应用软件故障、设备故障等),恶意代码(病毒、蠕虫、木马、后门、逻辑炸弹等),入侵攻击(数据和应用的窃取和破坏、拒绝服务攻击、敌对势力或工业间谍的攻击摧毁等),自然灾害(地震、洪灾、其他不可预知事件等),物理影响(停电、静电、电磁干扰、断网等)。4.1.1工业控制系统的威胁源控制系统面临的威胁具有多种来源,包括对抗性来源如敌对政府、恐怖组织、工业间谍、恶意入侵者、心怀不满的员工,自然来源如从系统的复杂性、人为错误和意外事故、设备故障和自然灾害。为了防止对抗性的威胁以及已知的自然威胁,需要为ICS创建一个纵深的防御策略。4.1.2工业控制系统攻击技术系统攻击是指某人非法使用或破坏某一信息系统中的资源,以及非授权使系统丧失部分或全部服务功能的行为。通常可以把攻击活动大致分为内部攻击和远程攻击两种。现在随着互联网络的进步,其中的远程攻击技术得到很大发展,威胁也越来越大。常见攻击手手段包括口令攻击、拒绝服务攻击、数据驱动攻击等。4.1.3 APT攻击技术1.APT攻击基本概念APT(AdvancedPersistentThreat)攻击是以先进的攻击方式、高水平的手段,以窃取特定目标的核心数据为目的,具有持续性、高隐蔽性的网络攻击行为。相对于普通网络攻击行为,APT攻击有以下典型特点。1)目标针对性强APT攻击主要目的是窃取指定目标的核心信息。2)攻击伪装性强APT攻击者为了这到对指定目标的长期攻击,必须要在渗透成功后较好的伪装自己。在不同的攻击阶段采用不同的伪装方式。3)时间持续久APT攻击是针对某个目标的长时间渗透,因此APT攻击展开实施也会有多个阶段,一般会优先攻击安全性较低的网络系统。4)间接访问为主APT攻击者为了能达到隐藏自己、长时间控制的目的,会对入侵目标以间接的方式进行访问。4.2工业控制系统漏洞概述系统安全漏洞是在系统具体实现和使用中产生的错误,但并不是系统中存在的错误都是安全漏洞,只有能威胁到系统安全的错误才是漏洞。在通常情况下许多错误并不会对系统安全造成危害,只有在某些条件下被人故意使用时才会影响系统安全。漏洞虽然可能最初就存在于系统当中,但这个漏洞必须要有人发现。系统攻击者往往是安全漏洞的发现者和使用者,要对一个系统进行攻击,假如不能发现和使用系统中存在的安全漏洞是绝对不可能成功的,对于安全级别较高的系统尤其如此。系统安全漏洞与系统攻击活动之间密切相关,不能脱离系统攻击活动来谈论安全漏洞问题。因此,了解常见的系统攻击方法对正确理解系统漏洞问题和找到相应的补救手段是十分必要的。4.2.1系统漏洞问题漏洞的产生大致有三个原因,具体如下所述:(1)编程人员的人为因素,在程序编写过程,为实现非法的目的,在程序代码的隐蔽处保留后门。(2)受编程人员的能力、经验和当时安全技术所限,在程序设计中并不完善,轻则影响程序效率,重则导致非授权用户的权限提升。(3)由于硬件原因,使编程人员无法弥补硬件的漏洞,从而经由软件表现出硬件的问题。由于漏洞与具体系统环境之间的关系及其时间相关特性,漏洞会影响到很大范围的软硬件设备,包括系统本身及其支撑软件,网络客户和服务器软件,网络路由器和安全防火墙等。4.2.2工业控制系统漏洞现状分析1.工业控制系统漏洞分类与传统信息系统相比,工业控制系统采用了很多专用的工控设备、工控网络协议、操作系统和应用软件,工业控制系统的安全漏洞也具有工控系统独有的特性。1)通信协议漏洞2)操作系统漏洞3)安全策略和管理流程漏洞4)杀毒软件漏洞5)应用软件漏洞2.当前工控漏洞统计分析工控漏洞数量呈现逐年增长的明显趋势,在产业标准、政策尚不成熟的情况下,技术融合加速工控产业发展的同时破坏了传统工控系统的体系结构,攻击者可能会采取更加丰富的攻击手段攻击工控系统,导致工控漏洞危害发生的数量逐年上升。根据中国国家信息安全漏洞共享平台(CNVD)统计,近年工控新增漏洞年度分布下图所示。3.工业控制网络安全漏洞发展态势工业控制网络安全漏洞发展态势包括以下几点:

1)工控漏洞的价值被高度重视工控网络已经成为信息安全人员关注的新焦点,一些恶意的攻击者不断扫描工控系统的漏洞,并使用针对工控系统的专用黑客工具发动网络攻击。2)中高危漏洞比例居高不下在工控系统当中,跟工控相关的应用系统和应用软件的安全健壮性不足。无论是应用软件漏洞还是设备固件漏洞,均来自于目标系统在开发过程中遗留的安全设计和实现缺陷,1个高危漏洞就意味着目标系统中存在1个甚至多个致命的安全性缺陷。3)漏洞类型复杂,危害严重信息泄露相关的漏洞居高不下,对工控系统的影响主要体现在两个方面:一方面,企业内部的工艺流程、图纸、排产计划等关键数据容易成为攻击者窃取的对象;另一方面,攻击者利用间谍工具收集的各种涉密信息,为后续具有破坏性的网络攻击提供安全情报。4.2.3PLC设备漏洞分析工控PLC设备主要的漏洞类型为:任意代码执行(CodeExecution)、拒绝服务(Denial-of-Service)、关键信息获取(GainInformation)、缓冲区溢出(BufferOverflow)。以下对4种类型进行说明:(1)任意代码执行。(2)拒绝服务漏洞。(3)关键信息获取漏洞。(4)缓冲区溢出漏洞。

通过分析现有PLC设备存在的漏洞,可以发现工控设备功能越来越复杂,网络环境逐渐开放,攻击者可以借此直接对工业控制环境进行入侵破坏。针对工控设备PLC漏洞频发的问题,使用漏洞挖掘的方法提前发现PLC设备缺陷并加以解决,能够有效降低攻击造成的损失。4.2.4DCS系统漏洞分析DCS系统的漏洞设计之初即存在,其中的系统漏洞数量几乎每年都在大幅增长,下面从现场总线控制网络、过程控制与监控网络和企业办公网络三个方面进行分析。1.现场总线控制网络漏洞分析

现场总线控制网络所处的现场环境通常恶劣复杂,因此很难进行布线,一些控制系统网络采用无线、微波等接入技术将现有网络进行延伸,这无疑增加了控制系统被攻击的风险。2.过程控制与监控网络漏洞分析

过程控制与监控网络在设计时主要部署服务器、数据库和人机界面HMI等关键控制系统组件,操作人员通过HMI等远程控制设备监控、评估、分析现场控制和采集设备的运行状态,并据此进行调整及控制。3.企业办公网络漏洞分析

随着国家两化融合的不断推进,工业生产过程的各个环节都有传统信息技术的应用,信息化已经成为工业企业经营管理必不可少的技术手段。在石油、化工等工业企业中,随着企业资源计划(ERP)、客户关系管理(CRM)、办公自动化(OA)等信息系统的使用,控制网络和企业办公网络之间的联系日益密切。信息化进程和工业化进程越来越不独立,各个层面相互渗透,传统信息技术在DCS中的广泛应用导致控制系统被攻击的风险大大增加,工业用户传统的“物理隔离即绝对安全”的理念逐渐被颠覆。4.2.5SCADA系统漏洞分析SCADA系统存在的漏洞多种多样,以下列举几种常见的SCADA系统漏洞形式。1)通信协议的漏洞大多数SCADA通信协议都是不同企业开发的专有标准。近年来,业界已普遍接受通用的开放标准协议。2)SCADA硬件的漏洞SCADA硬件设备包括RTUs、IEDs、SCADA服务器等,它们与常规的计算机系统的脆弱性相同,如中断、窃听和拦截等。硬件设备间的通信链路的脆弱性也与常规的计算化网络相似,极易受到攻击。SCADA信息通常无加密传输,无论使用什么样的通信协议,数据和密码都容易被拦截。3)SCADA软件的漏洞SCADA软件包括系统软件和应用软件,如操作系统、应用软件等。SCADA软件常见的脆弱性有中断、窃听和修改。软件可能被攻击者故意删除导致潜在的严重故障。软件最致命的攻击往往是由于软件被修改引起的。4)数据完整性的漏洞对于攻击者来说,SCADA数据具有更高的价值。4.2.6工业控制网络安全漏洞标准化工作漏洞标准化工作在传统信息系统中已经比较完善,需要对发现的漏洞进行标准化管理的主要原因如下:(1)规范漏洞的描述体系,为漏洞的多种属性提供规则。(2)有利于信息安全产品的研发和自动化。(3)为信息安全测评和风险评估创造条件。(4)标准化工作是对漏洞进行有效管控的重要手段,有利于指导漏洞的预防、收集、削减和发布等活动。以下是国际和国内在工业控制漏洞管理领域比较有代表性的平台:1)通用漏洞披露库2)美国工控系统网络应急响应小组3)中国国家信息安全漏洞库4)国家信息安全漏洞共享平台4.3漏洞扫描技术漏洞扫描技术是指利用扫描等手段检测目标主机或网络的安全脆弱性,并发现可利用的漏洞的一种安全检测技术。防火墙、入侵检测技术和漏洞扫描技术都是安全检测的主流技术。其中,防火墙和入侵检测技术属于被动防御措施,而漏洞扫描技术则属于一种主动的防范方法。将这三种技术结合起来,能够有效地保证网络的安全性。网络管理员通常利用漏洞扫描技术来更好地了解当前网络正在运行的服务和应用以及网络的安全设置,并将其作为网络风险评估的主要依据。同时,也能够及时地发现网络中存在的安全问题,并对网络安全系统中的设置进一步修正和完善,从而加强对入侵者攻击的防御,提高网络的安全性。4.3.1漏洞扫描分类按照部署方式来说,漏洞扫描可以分为基于主机的漏洞扫描和基于网络的漏洞扫描两大类。1.基于主机的漏洞扫描

基于主机的漏洞扫描采用被动的、非破坏性的方法对系统进行检测。通常,这种扫描方式涉及到系统的内核、文件的属性、操作系统的补丁等内容。1)基于主机的漏洞扫描器(EMS)的体系结构基于主机的漏洞扫描器一般采用客户端/服务器模式,由三部分组成,分别是EMS管理器、EMS代理和EMS控制台。2)基于主机的漏洞扫描器的扫描流程EMS管理器直接安装在网络中,负责管理整个漏洞扫描流程;EMS控制台安装在指定的计算机中,负责展示漏洞扫描报告;EMS代理则安装在目标系统中,负责执行漏洞扫描任务。其具体流程如下:(1)EMS管理器向EMS代理发送扫描任务;(2)EMS代理分别执行各自的扫描任务;(3)EMS代理将漏洞扫描结果发送给EMS管理器;(4)EMS控制台展示漏洞扫描报告。3)基于主机的漏洞扫描器的优缺点基于主机的漏洞扫描器的主要优点如下:(1)实现了扫描管理的集中化。利用一个集中的服务器统一控制扫描任务,当服务器的代理程序升级时,会给各个代理自动发送,从而实现集中化的扫描管理。(2)实现了网络负载最优化。扫描任务基本都是由代理独立完成,只有在发送扫描任务和接收扫描结果时才涉及到管理器和代理之间的通信,这样大大减少了网络中的流量,实现了网络负载的最优化。(3)实现了数据的安全可靠传输。为了保证数据能够安全可靠的传输,在网络中设置了防火墙,由于只有在发送扫描任务和接收扫描结果时才涉及到管理器和代理之间的通信,因此,非指定的端口可以关闭。(4)实现了扫描范围的扩展性。扫描任务基本都代理独立完成,因此,如果要扩展扫描范围,只需增加代理,再进行相应的设置。基于主机的漏洞扫描器的主要缺点如下:

(1)设计和实现的周期较长。由于扫描器需要在目标系统中的每一个目标主机上安装代理,因此扫描器的设计和实现过程中需要和相关人员进行沟通,如果扫描的范围较大,则需要花费很长的时间才能完成。(2)增加了额外的风险。一般来说,管理员需要考虑兼容性和安全性等因素,不希望在主机上安装一些不确定的软件,但扫描器需要在每个目标主机上安装代理,因此增加了额外的风险。(3)价格因素不确定。目标系统中的每个目标主机都需要安装代理。因此,当目标系统中的目标主机数量较多时,代理的数量也会随之增多,从而导致扫描器价格的增加。2.基于网络的漏洞扫描

基于网络的漏洞扫描釆用主动的、非破坏性的方法对系统进行检测。这种扫描方式利用特定的脚本对系统进行模拟攻击,并分析攻击的结果,从而判断系统是否存在崩溃的可能性。同时,这种扫描方式还针对己知的网络漏洞进行检验。因此,这种扫描方式通常用于进行穿透实验和安全审计。1)基于网络的漏洞扫描器(EMS)的体系结构基于网络的漏洞扫描器一般由漏洞数据库、用户配置控制台、扫描引擎、当前活动的扫描知识库、扫描结果存储和报告生成工具组成。2)基于网络的漏洞扫描器的扫描流程扫描引擎负责控制和管理整个扫描过程,是漏洞扫描器的关键模块。其具体流程如下:(1)用户配置控制台向扫描引擎发送扫描请求;(2)扫描引擎启动相应的子功能模块来扫描目标主机;(3)扫描引擎接收目标主机的回复信息并将其与存储在当前活动的扫描知识库中的扫描结果进行比对;(4)报告生成工具自动生成扫描报告;(5)用户配置控制台展示扫描结果。3)基于网络的漏洞扫描器的优缺点基于网络的漏洞扫描器的主要优点如下:(1)操作简便。整个操作的过程中,无需与目标系统的管理员沟通,简便且高效。(2)安全可靠。完成扫描任务的过程中不需要将不确定的服务或代理安装在目标系统中,从而保证了系统的安全可靠运行。(3)价格合理。影响基于网络的漏洞扫描器价格的因素相对来说不会发生显著变化,价格也比较合理。(4)维护简便。如果网络情况发生任何变化,通过扫描网络中的特定节点,即可实现对整个目标系统的扫描。基于网络的漏洞扫描器存在的主要缺点如下:(1)扫描范围受限制。由于权限的限制,扫描器无法直接访问目标系统的文件,因此,无法扫描到相关的漏洞。(2)防火墙限制问题。扫描器无法直接穿过防火墙进行扫描。(3)加密机制的缺陷。扫描服务器与用户配置控制台之间的数据是通过密文进行传输的,而扫描服务器与目标主机之间没有对传输的数据进行加密,基于这个问题,攻击者利用捕获网络流量的工具就可以实现对网络的监听和截获,从而获得目标系统的详细信息。4.3.2常见漏洞扫描技术漏洞扫描分为主动扫描和模拟攻击两大类。主动扫描是指先通过发送报文给目标主机或网络建立连接,再通过文件传输协议请求网络服务,漏洞扫描系统在主动扫描的过程中针对目标主机或网络的端口分配、软硬件配置、匿名登录和提供的服务等信息进行扫描,并根据收到的回复信息提取跟目标系统漏洞相关的具体信息。模拟攻击是指通过某种虚拟攻击方式对目标主机或网络进行扫描,扫描目标系统漏洞相关的具体信息。常见的漏洞扫描技术主要有Ping扫描、端口扫描、操作系统扫描、脆弱点扫描、防火墙规则扫描等。1.Ping扫描Ping扫描通常基于ICMP协议,其主要思想是构造一个基于ICMP的数据包,发送给目标主机,并根据回复的响应数据包来进行判断。Ping扫描主要用于探测主机的IP地址,通过探测目标主机的TCP/IP网络是否联通来判断探测的IP地址是否分配了主机。根据构造的ICMP数据包的不同,Ping扫描分为ECH0扫描和non-ECH0扫描两种。1)ECH0扫描ECH0扫描通过向目标IP地址发送一个ICMP类型为8的ICMPECH0请求包,并等待是否收到ICMP类型为0的ICMPECH0响应包。假如可以收到就说明目标IP地址上存在主机,否则就说明目标IP地址上不存在主机。2)non-ECH0扫描non-ECH0通过向目标IP地址发送一个ICMP类型为13的ICMPTIMESTAMP请求包,或ICMP类型为13的ICMPADDRESSMASK请求包,等待是否收到响应包。如果可以收到说明目标主机存在,如果没有收到则说明目标主机不存在。当将目标网络的防火墙配置为阻止ICMPECH0流量时,non-ECH0能够探测出目标IP地址上是否存在主机。1.端口扫描端口扫描主要用于对目标主机开放的端口进行探测。一般来说,端口扫描只对目标端口进行简单的联通性探测,因此,端口比较适用于扫描范围较大的网络。端口扫描支持直接对指定IP地址扫描端口段和指定端口扫描IP段的模式。根据使用协议的不同,端口扫描可以分为TCP扫描和UDP扫描两种方式。1)TCP扫描主机间建立TCP连接分三步,即三次握手的过程:(1)请求端向目的端口发送一个SYN包。(2)等待目的端回复的数据包:如果回复SYN/ACK包,则说明目的端口正在进行监听;如果回复RST/ACK包,则说明目的端口没有进行监听,重置连接。(3)当回复是SYN/ACK包时,为了完成三次握手,请求端会再次向目的端口发送ACK包,从而建立TCP连接。根据建立TCP连接的情况,TCP扫描主要分为两种方式:TCP全连接与半连接扫描,TCP隐蔽扫描。2)UDP端口扫描UDP端口扫描通常构造一个NULL的UDP包并发送到目的端口,当目的端口正在关闭时,则目的主机会直接回复端口不可达的消息,当目的端口正在等待服务时,则目的主机会直接回复错误的消息。UDP端口扫描过程中需要统计丢包率,这将造成UDP端口扫描时间的延迟。3.操作系统扫描操作系统探测的主要目的是实现对目标主机的操作系统以及提供服务的程序的具体信息的探测,包括二进制信息探测、HTTP响应分析、栈指纹分析等。1)二进制信息探测这是最简单的OS探测技术,主要通过登录目标主机,并从主机回复的banner中得知操作系统的类型、软件的版本等。2)HTTP响应分析通过与目标主机建立HTTP连接,并将服务器回复响应进行分析获得操作系统的类型。3)栈指纹分析网络中主机之间的通信主要基于TCP/IP协议。不同的操作系统和软件开发商造成了操作系统的架构和软件版本的差异,从而导致了协议栈实现的多样性。典型的栈指纹分析技术分别是主动栈指纹探测和被动栈指纹探测。4.脆弱点扫描脆弱点扫描主要针对目标主机的指定端口,其中,大多数的脆弱点扫描都是基于操作系统中指定的网络服务来实现的。脆弱点扫描使用的技术主要分为两类,分别是基于插件的扫描和基于脆弱点数据库的扫描。1)基于插件的扫描基于插件的扫描是通过调用插件来实现脆弱点扫描,其中,插件是一个子程序模块,由专用的脚本语言编写而成。插件的升级和维护都非常方便,有利于脆弱点特征信息的更新,从而保证扫描结果的准确性。基于插件的扫描具有较好的扩展性,当需要添加新功能或新类型时,只需对插件进行相应的调整就可以实现。2)基于脆弱点数据库的扫描基于脆弱点数据库的扫描的关键是脆弱点数据库,脆弱点数据库是否有效且完整直接决定了脆弱点扫描的准确性。其扫描流程如下:(1)构造扫描的环境,收集并整理系统的脆弱点、相关攻击案例及网络中的安全配置;(2)生成标准且全面的脆弱点匹配规则和数据库;(3)利用脆弱点数据库和匹配规则进行扫描。5.防火墙规则扫描釆用类似于traceroute的IP数据包的分析方法,探测是否能够通过防火墙向目标主机发送特定的数据包,为更深层次的探测提供基本信息。通过这种扫描方式,能够探测到防火墙允许通过的端口,并探测到防火墙的基本规则。例如,是否能允许携带了控制信息的数据包通过等,甚至能够通过防火墙探测到网络的具体信息。4.3.3漏洞扫描工具传统的漏洞扫描工具主要有端口扫描工具、通用漏洞扫描工具、Web应用扫描工具和数据库漏洞扫描工具等。1.Nmap端口扫描工具

端口扫描的典型工具是Nmap。Nmap功能非常强大,常用于对大型的网络进行扫描并对其进行安全评估。Nmap是一种渗透测试的扫描工具,用于发现网络上的设备以及设备的类型、操作系统、端口开放及端口服务等信息。在默认情况下,Nmap会扫描常用协议的端口,攻击者也可以设置参数为1到65535的全端口扫描方式,并且Nmap有一个基于TCP标志位特征的指纹库,根据这个指纹库,Nmap能够推测出目标设备的类型和操作系统类型的概率。此外,Nmap可作用于局域网,在端口的扫描方式和范围的选择上比较灵活,且能做到实时扫描。Nmap还支持隐匿性扫描,该功能可绕过大多数的入侵检测系统。利用集成的NSE脚本可以复现诸多网络攻击,例如:暴力破解、拒绝服务攻击、模糊测试等。因此,对于IP地址暴露的工控设备,Nmap的扫描会造成很大威胁。2.通用漏洞扫描工具通用漏洞扫描的典型工具是Nessus,主要用于对目标系统的配置信息和常见的漏洞进行扫描。能够提供完整的计算机漏洞扫描服务,并随时更新其漏洞数据库。不同于传统的漏洞扫描软件,Nessus可同时在本机控制或远端上遥控,进行系统的漏洞分析扫描。其运作效能能随着系统的资源而自行调整。如果将主机加入更多的资源,例如提高CPU处理速度或增加内存容量,其效率可以进一步提高。3.Web应用扫描工具Web应用扫描的典型工具是Appscan,通常用于网络安全的评估,总体来说,Web应用扫描工具比较有针对性,针对Web应用的信息的泄露和数据的交互等问题,而不关注目标系统的一些基础信息。4.数据库漏洞扫描工具数据库漏洞扫描的典型工具是AppDetective,主要用于Oracle、DB2、MSSQL、Sybase等数据库的漏洞扫描。5.工控系统漏洞扫描工具工控系统漏洞扫描的典型工具是ICSScan,主要用于针对工控系统的漏洞扫描,支持典型的工控协议。6.Shodan扫描工具Shodan是一个全球化的在线网络设备搜索引擎,搜索的对象可包括服务器、工控设备、家用电器、摄像头等。Shodan会定期地对IPv4的全网段进行扫描,获取每个IP地址的地理和公司信息,以及端口开放和服务的部署情况,主机服务存在的CVE漏洞信息,甚至能识别大部分中低交互性蜜罐,其会定期将扫描结果进行缓存,因此每次搜索得到结果的时间非常快。4.4漏洞挖掘技术漏洞挖掘技术有多种,如果只采用一种漏洞挖掘技术,是很难完成分析工作的,一般是将几种漏洞挖掘技术优化组合,寻求效率和质量的最优化。4.4.1漏洞挖掘分类漏洞挖掘的方式多种多样,可以根据漏洞挖掘执行过程中的侧重点,将漏洞挖掘技术分为不同的类别。根据程序是否需要运行才可以调试,将漏洞挖掘技术分为静态分析技术和动态检测技术;根据在测试过程中人工参与程度,将漏洞挖掘技术分为手动、半自动和自动测试技术;根据漏洞挖掘过程中能够分析得到源代码的程度,漏洞挖掘技术又可以被分为白盒、灰盒和黑盒测试。下面是常见的白盒、黑盒和灰盒测试说明。4.4.2漏洞挖掘分析技术漏洞挖掘技术的研究是信息安全研究的核心内容之一,面对安全漏洞带来的严峻挑战,如何实现自动化、高效的漏洞挖掘是亟待解决的问题。因此迫切需要采取新的措施来研究高性能的漏洞挖掘模型,或者对当前工控网络协议的漏洞挖掘技术做进一步的优化。学术界和工业界目前提出了多种漏洞挖掘分析技术,下面分别进行介绍。1.人工测试人工测试是完成人工测试软件缺陷的过程,是一种灰盒的漏洞挖掘技术。它是一种需要测试人员代入终端用户的角色,使用人工构造的各种输入在测试过程中观察获取到的目标反馈,并根据结果来直观地推导发现问题的漏洞检测技术。在人工测试过程中,测试人员无需额外的手动测试辅助工具,不遵循任何严格的测试过程,而是使用尽可能多的特性来探索被分析的应用程序。测试者可独立进行测试完成整个测试流程,实现简单。但人工探索性测试的成功在很大程度上依赖于测试人员的专业知识和对测试目标的了解程度,如果缺乏对目标的了解可能会造成测试的不完整性。2.模糊测试模糊测试技术是指导入大批无效或意外的数据到指定系统用于挖掘系统漏洞和测试系统异常,如目标系统程序抛出异常、内存泄漏或执行异常操作。一般情况下模糊测试模型适用接受具有特定规则的输入的应用软件的测试。这个结构已被设定好,比如说在协议或文件格式中,并区别有效输入和无效输入。测试人员想要的模糊测试模型并不需要一直生成完全合法的测试用例,而是需要生成一种部分合法的测试输入。这种测试输入,因为其部分的合法性,服务器不会直接拒绝它们;但是又由于并非完全的合法,为其在程序中触发更深层的异常乃至是漏洞提供了可能性。3.二进制比对技术该技术的主要思想是对照两组机器码补丁文件以判定它们是否完全相同。当编程人员创建或修改应用程序并需要确保新生成的文件与旧文件相同时,通常需要通过可执行程序进行二进制比较来判断。二进制比对技术可以用于查明未明确指出漏洞的成因和确切位置的补丁所影响的二进制文件的区域。相较于其他的漏洞挖掘技术而言,该技术重点是被用来判断已经被利用的漏洞的位置。在此基础上,其他相关的漏洞挖掘技术会被结合使用,用以确认漏洞的细节之后可编码对应的攻击代码。因此在某种程度上而言,二进制比对技术也是一种漏洞分析技术。4.静态分析技术静态分析技术是在目标程序没有编译的状态下对目标程序进行研究检测,从而发现目标程序中潜在安全缺陷的一种漏洞检测技术。其主要特点就是能够在很短的时间内完成对程序代码的检查,具有代码覆盖率高,漏报少的优点。但是,由于静态分析是一种简化的漏洞检测分析技术,只考虑即时更改的影响,而不考虑系统对该更改的长期响应,并且缺少对运行过程中随程序变化而变化的数据、非静态测试流程以及细粒度的安全评估等检测,因此静态分析技术的漏洞挖掘精确度较低,具有较高的漏洞误报率。5.动态分析技术动态分析技术通过监测发现程序运行过程中状态的变化和寄存器的非正常状况以挖掘潜在的漏洞。相对于静态分析技术而言,该技术具备较高的检测漏洞精确度,可是其对检测的代码的覆盖程度要差一些。而且当代码不能运行时,就无法使用该技术进行漏洞挖掘了。不同的漏洞挖掘技术面向不同的应用场景,有着各自的优势和不足,仅采用一种漏洞挖掘技术去完成漏洞分析工作是十分困难的。因此,面临不断产生的新的威胁,一般在进行漏洞挖掘的过程中,不同的漏洞挖掘技术会被优化结合起来使用,以期找到漏洞挖掘有效性和效率之间的平衡。而在上述五大类的漏洞挖掘分析技术中,模糊测试是当下最常用的软件漏洞主动检测挖掘技术,它结合了覆盖引导、污点分析、调度算法、符号执行等多种实用技术。虽然基于模糊测试的漏洞挖掘分析技术还有着很多的不足,但是与目前已有的主要漏洞挖掘技术相较而言,其在利用深度学习算法的优势上还是非常明显的。4.4.3Fuzzing测试技术Fuzzing测试技术即模糊测试技术,不依赖测试目标源代码,测试原理简单,测试范围较广,同时Fuzzing的自动化程度较高,不需要大量的人工参与,是一种效果良好的测试方法。此外,因为Fuzzing测试执行的过程是动态的,通常不会出现没有问题而报告异常的情况,误报的发生概率很低。

1.Fuzzing的概念Fuzzing测试是将大量经过构造的数据输入到被测目标中,同时监视被测目标,一旦有异常和错误产生就立即进行分析、定位、记录触发漏洞的用例,以此来发现漏洞的过程。提供的数据输入通

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论