999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于模糊測試的工控系統漏洞發現和分析系統研究

2018-10-21 02:46:58孟強孟瑜煒俞榮棟
科技信息·下旬刊 2018年4期

孟強 孟瑜煒 俞榮棟

摘要:工業控制系統是國家關鍵基礎設施的重要組成部分,其在與信息化技術高度融合的過程中,面臨著嚴峻的網絡與信息安全風險的挑戰。作為最常見的網絡攻擊方式,漏洞的利用攻擊占據了工業控制系統安全事件中的絕大多數。因此,如何有效識別和發現工控系統漏洞,成為了解決工控系統安全問題的重要方面。模糊測試技術,由于不嚴格依賴于協議和系統逆向,一直以來都是漏洞發現的有效手段。然而,由于工控系統自身相對封閉的架構、相對苛刻的運行環境以及大量工控私有協議在線運行等實際問題,使得利用模糊測試的技術手段發現工控系統漏洞存在更大的挑戰。本文從模糊測試技術的原理和發展現狀入手,總結梳理了工控系統模糊測試技術的制約和限制條件。結合現有工控系統模糊測試工具和架構,提出了基于模糊測試的工控系統漏洞發現和分析系統的總體設計思路,依托抽象化的工控系統模糊測試通用架構,可以實現基于模糊測試技術的工控系統漏洞挖掘平臺的定義和高效工具開發,對于指導相關工具研制具有重要意義。

關鍵詞:工業控制系統;模糊測試;漏洞發現;漏洞分析;通用架構

Research on Fuzzing Testing Based Vulnerability Mining and Analysis System for Industrial Control Systems

MENG Qiang1,3,MENG Yuwei1,3,YU Rongdong2,3*

1 Zhejiang Energy Group,Hangzhou,Zhejiang,310007;

2 Zhejiang Energy Industrial Information Engineering Provincial Key Enterprise Research Institute,Hangzhou,Zhejiang,311121;

3 Zhejiang Energy Group Research Institute,Hangzhou,Zhejiang,311121

ABSTRACT:Industrial Control Systems(ICS)are the most important part of the national critical infrastructure. Within the merging process between the industrial control systems and information technologies,ICS is facing severe challenges in cyber security. As the most common cyber attacks,the vulnerabilities exploits are taking the majority of the cyber security incidents in ICS. Therefore,how to effectively identify and finding hidden vulnerabilities in ICS is becoming the key issue in ICS security area. Fuzzing testing,which may not strictly depend on the reverse engineering,is widely recognized as the effective means. However,due to the relatively closed architecture,the tough running environment,as well as the running proprietary protocols,there exists more challenges when using fuzzing testing in ICS. In this paper,we firstly review the theory of the fuzzing testing,and survey the current technical schemes. Based on the current fuzzing testing tools and frameworks,we propose a general architecture of the fuzzing testing based vulnerability mining and analysis system,which is based on a general model of the fuzzing testing framework for ICS. The general architecture is significant for the definition of the vulnerability mining and analysis system,and will promote the efficient development of the new fuzzing testing tools used for ICS.

KEY WORDS:Industrial control systems,Fuzzing testing,Vulnerability mining,General framework.

1引言

以電力網絡、供水網絡、天然氣管網為代表的關鍵基礎設施通常由工業控制系統實現數據采集與狀態監管[1]。工業控制系統(ICS,Industrial Control System)通常包括過程控制系統(PCS,Process Control System),分布式控制系統(DCS,Distributed Control System),監視控制與數據采集(SCADA,Supervised Control And Data Acquisition)系統等[1,2]。利用上述工業控制系統的數據采集、狀態監控和反饋控制能力,系統管理者可以實現關鍵基礎設施的穩定運行和可靠操作。

然而,隨著工業信息化進程的快速發展,工業控制系統在極大提高生產效率的同時,也帶來了越發嚴峻的網絡空間安全威脅。各類針對工業控制系統的安全事件層出不窮,嚴重威脅國家安全和社會穩定[2]。2010年導致伊朗布什爾核電站重大損失的“震網”(Stuxnet)病毒,首次將工業控制系統威脅清晰的展現在世人面前[3]。緊隨其后,“火焰”(Flame)病毒[4]和“Havex”病毒[5]使得數以千計的能源企業深受其苦。2015年和2016年連續兩次發作的“BlackEnergy”惡意軟件及其變種,導致烏克蘭電網發生大規模停電事故,受波及的用戶超過150萬[6]。這一連串的工業控制系統安全事件表明,針對工控系統的網絡攻擊已經不再是危言聳聽的警告,而是實在的威脅。

在形形色的工控系統安全威脅中,利用工業控制系統的漏洞發起攻擊是最行之有效的方式之一[7]。因此,如何高效的發現工控系統漏洞是工業控制系統安全研究者們最關注的方向。作為一種專用的軟件系統,工業控制系統不可避免的存在各種漏洞,一旦漏洞被攻擊者發現,就可能被其利用,使系統遭受未授權的數據訪問或者破壞。因此,先于攻擊者發現并及時修補漏洞可以有效地減少來自網絡的威脅,也成為工控系統安全研究的熱點方向。

常見的工業控制系統漏洞挖掘方法包括:手工測試、代碼靜態分析技術、代碼運行態分析技術、二進制比較技術以及模糊測試技術(Fuzzing)等[8,9]。由于工控系統軟件規模大、功能復雜,而且普遍采用專用協議,使得代碼獲取和逆向分析困難,因此對于工控系統的漏洞挖掘,模糊測試技術擁有無可比擬的優勢。

模糊測試技術(Fuzzing)的基本思想與黑盒測試類似,是一種基于缺陷注入的軟件漏洞挖掘技術。模糊測試的基本思想是,通過向待測試的目標軟件輸入一些半有效的數據,同時監控程序的運行狀況,依靠分析程序的異常狀態來發現目標軟件存在的漏洞。相比較其他漏洞挖掘方法,模糊測試技術不依賴與對系統代碼的深入分析,而且大量操作可以自動化執行,再加之漏洞誤報率低,這些特點使得模糊測試技術在漏洞挖掘中具有無可比擬的比較優勢[9]。

然而,與傳統IT系統不同,在工業控制系統中,模糊測試技術的使用也面臨著很多實際的困難和問題。首先,工業控制系統中大量采用資料不公開的私有協議,導致需要對協議進行一定程度的逆向之后才能開展模糊測試;其次,由于工控協議面向控制操作,控制字段較多,導致需要較多類型的變異數據包,可能導致測試效率不高;第三,由于涉及到實時操作,工控模糊測試器可能只能捕獲到很小的數據流量;第四,有些工控協議棧可能具有自修復的能力,在異常發生后系統會重啟,從而使得異常難以被捕獲。

本文在梳理總結模糊測試技術研究發展動態,特別是國內外工業控制系統中模糊測試技術需求和現狀的基礎上,提出了基于模糊測試的工控系統漏洞發現和分析平臺系統的總體架構。架構從工業控制系統模糊測試的一般流程出發,對現有模糊測試技術進行抽象性概括,形成了工控系統模糊測試的通用架構,用戶可以根據各自工控系統的實際配置,靈活選用已有工具或開發套件包,針對工控私有協議開展模糊測試,進而通過分析異常行為的發生機理,實現對工控系統漏洞的發現和分析。

2 國內外研究現狀

經過多年發展,模糊測試技術已經取得了豐富的成果,同時結合工控系統特點的模糊測試技術也正處于關鍵技術攻關期。本章將首先總結模糊測試技術的發展歷史和當前技術水平,之后結合國內外技術發展情況,梳理工業控制系統中模糊測試技術和相關工具。

2.1 模糊測試技術現狀

模糊測試技術最早由威斯康星大學的B. P. Miller于1989年提出,其開發的一個模糊測試工具Fuzz用于對UNIX系統的軟件進行測試[10]。模糊測試的概念提出之后,由于其在軟件缺陷發現方面的突出效果,得到了軟件行業的高度關注,面向不同協議[11,12]、適合不同平臺[13,14]的模糊測試工具層出不窮。芬蘭Oulu大學研發的網絡協議安全測試軟件PROTOS[11]在協議的安全性測試方面發揮了巨大作用,甚至最近發生的OpenSSL心臟滴血(Heartbleed)漏洞[15]的發現工具也是PROTOS的后續改進版。

模糊測試從技術分類的角度,根據測試用例生成的方式以及待測對象的代碼開放程度可以分為基于變異/生成的模糊測試,以及基于黑盒/白盒的模糊測試。其中基于變異/生成的模糊測試是從測試用例的生成方式出發,分別采用對已有數據進行變異從而構造測試用例,和根據待測對象特點進行全新建模生成全新測試用例集合的方式開展。基于黑盒/白盒的模糊測試,則是從代碼開放程度考慮,因為有的待測程序是公開可以獲得的,因此可以結合如符號執行等方法進行代碼遍歷測試,黑盒測試則相反,是在完全無法獲得程序的前提下進行[16]。工業控制系統的安全測試方面,大量常見的是黑盒測試,因為大量協議采用非公開的私有協議方式實現。

經過多年發展,模糊測試技術得到了長足的進步,相對其他漏洞挖掘方法表現出很多優勢。但也仍然存在技術上的問題,主要表現在以下三個方面:

(1)測試用例的生成應該更加高效,測試用例的有效性直接關系模糊測試的成敗。雖然隨著運算能力的提高,測試用例的數量已經增加很多,但是在黑盒測試條件下,依然由于測試用例設置的模糊性,導致測試效果不佳。因此,如何提高測試用例生成的有效性,是模糊測試技術研究領域多年來的重要方向。

(2)測試的自動化程度有待提高,模糊測試過程需要經常性地引入人工,參與測試用例的生成,極大限制了模糊測試的效率。如何提高測試的自動化和智能化水平,也是模糊測試領域研究者們的重要探索方向。

(3)復雜漏洞的發現能力應得到提高,常見的模糊測試僅能夠發現單點故障的漏洞。隨著軟件系統的日益龐大,越來越多漏洞的發現有賴于多維條件的組合觸發。因此,如何提高現有模糊測試技術在發現復雜漏洞方面的能力,也是學術界探討的熱點問題。

2.2 工業控制系統中的模糊測試技術

工業控制系統中的模糊測試技術與傳統的信息系統的情況有所不同。工控系統中大量使用私有協議,這些協議普遍缺乏深入透徹的分析。工控系統專家對于私有協議解析常感到無能為力,而信息系統專家雖然善于解析此類私有協議,但工控系統廠商并非愿意向信息系統專家公開私有協議的情況。這是工控系統模糊測試面臨的常見問題。

目前也有一些模糊測試工具適用于一些非私有設計的工控協議。Devarajan于2007年在著名的Sulley模糊測試框架中[17]引入針對ICCP、Modbus、DNP3等工控協議的支持。SecuriTeam在其beSTORM[18]測試器中增加了對DNP3的支持。Mu Dynamics也在其Mu Test套件中提供了對IEC61850、Modbus和DNP3的支持[19]。

總的來說,模糊測試技術經過近30年的發展,已經成為軟件漏洞發現的重要技術手段。近年來,隨著工業控制系統安全研究的興起,研究者開始聚焦模糊測試技術在工控系統安全和漏洞發現方面的研究。盡管取得了很大突破,也形成了一些技術框架,但在實用性,特別是針對私有協議的安全性評測方面還有較多的技術挑戰。

3 基于模糊測試的工控系統漏洞發現系統

工控系統中由于大量采用私有協議,協議具體細節難以獲知,導致在實際進行漏洞發現時,經常面臨以下三種選擇:一是利用隨機數據流進行模糊測試;二是采用某些啟發式算法在實時流或預先捕獲的流量上進行變異;三是嘗試逆向私有協議。由于協議逆向較為復雜,因此主要工作就集中在了與模糊測試相關的兩個選項中。在本文后續的論述中,將圍繞工控系統模糊測試的基本流程和方法闡述利用模糊測試進行工控漏洞發現的一般方法和通用系統架構。

3.1 工控系統模糊測試的一般流程

與傳統IT系統相似,工控系統模糊測試的一般流程如圖1所示,主要包括五部分:即數據建模,測試用例的生成,測試用例的運行,結果記錄與分析,以及離線或在線的漏洞發現。

由于TCP/IP技術的廣泛應用,目前越來越多的工控私有協議采用將原有協議搭載到TCP/IP架構上使用的模式,如DNP3 over TCP/IP等[20]。因此,工業控制系統的上位機與下位機之間通信通常是以一個TCP/IP的握手開始,之后增加一個私有協議的握手交互。在私有協議握手結束后,命令或數據的傳輸才正式開始。這種一般性流程也啟發我們,在對工控系統進行模糊測試時需要首先確保私有協議的握手可以進行,同時還要對協議的數據單元進行一些初步分析,確保模糊測試可以正常開展。

3.2 工控系統模糊測試通用架構

為實現一個完整的工控系統模糊測試流程,通用架構如圖2所示。具體的模塊功能如下:

(1)解包模塊。工控系統的模糊測試框架應該提供至少兩種包解析方式。一種是上下位機之間的即時通信,另外一種是從預先捕獲的流量文件(pcap文件)實現讀取。一旦數據獲取實現,解包模塊將把捕獲的包信息按照協議單元進行劃分,并存儲到相應的數據對象[21]。這部分常用的工具是LibPcap[22]以及LibPcap的其他編程語言的變種。

(2)分析模塊。分析模塊的核心是私有協議的解析,在不完全實現私有協議逆向的情況下,需要采用各種模式識別的算法首先確定生成的包與實際包的相似性,從而確定私有協議的握手包,進而從握手包中確定關鍵發送的命令。

(3)模糊測試包的發送模塊,其主要功能在于在模糊測試過程中發送和接收數據包。分析模塊中獲取的信息可以用于模擬協議握手包,并通過數據包構造相關組件發送給待測設備。協議握手建立后,協議特殊的命令也可以發送給待測設備。

(4)監測模塊。顯著區別于傳統IT系統的模糊測試框架,工控系統中模糊測試監測的不僅僅是網絡連接,更重要的是設備的過程控制狀態。為便于監測模糊測試的效果,測試人員可能需要多維度的觀察整個工業過程,包括網絡數據交互、系統運行狀態,甚至需要接入示波器查看相應電平值的變化。可以說,監測模塊是工控系統模糊測試顯著區別于傳統IT系統模糊測試的部分。例如,一個待測設備的開關量是一個指定周期內的方波,由于模糊測試的變異數據包發送,可能導致一個完整的方波被延遲成兩端分割的電平,從而導致設備異常故障的發生。

4 總結

隨著工控系統與信息系統深度融合,工控系統面臨著前所未有的網絡與信息安全挑戰。在這其中,利用相對封閉的工控系統漏洞進行網絡破壞的事件層出不窮。模糊測試技術作為發現系統漏洞的高效手段,在工控系統漏洞發現中占有舉足輕重的地位。本文結合模糊測試技術的發展現狀,在參考現有工控系統模糊測試工具架構的基礎上,提出了一個工控系統模糊測試的通用架構,并以此架構為核心提出了基于模糊測試的工控系統漏洞發現和分析系統的設計思路。該架構對現有模糊測試技術、工具和組件進行抽象概括,可以廣泛地適用于多種不同類型的工控系統挖掘場景。

在后續研究中,我們將在通用架構的指導下,選擇具體的工業控制系統和目標私有協議,進行有針對性地專用模糊測試工具研發和相應的漏洞分析平臺系統的搭建,提高相關工具研發的效率,進而提升針對工業控制系統的漏洞發現能力。

致謝

本文中基于模糊測試的工控系統漏洞發現和分析系統研究工作是在浙江浙能技術研究院有限公司鄭渭建、孫科達等工作人員的大力支持下完成的,在此向他們表示衷心的感謝。

參考文獻:

[1]彭勇,江常青,謝豐,戴忠華,熊琦,高洋. 工業控制系統信息安全研究進展[J],清華大學學報:自然科學版,(2012)10:1396-1408.

[2]B. Miller,D. Rowe. A survey SCADA of and critical infrastructure incidents[C],in Proceedings of the 1st Annual Conference on Research in Information Technology,Calgary,October 2012.

[3]R. Langner. Stuxnet:dissecting a cyberwarfare weapon[J],in IEEE Security and Privacy,vol. 9,no. 3,pp. 49-51,May 2011.

[4]K. Munro. Deconstructing Flame:the limitations of traditional defences[J],in Computer Fraud and Security,vol. 2012,no. 10,pp. 8-11,October 2012.

[5]J. Vavra,M. Hromada. An evaluation of cyber threats to industrial control systems[C],in International Conference on Military Technologies,Brno,2015.

[6]胡紅升. 初論網絡時代電力關鍵信息基礎設施保護[J],(3)12:1134-1140,2017.

[7]B. Zhu,A. Joseph,S. Sastry. A taxonomy of cyber attacks on SCADA systems[C],in 2011 International Conference on Internet of Things,Dalian,2011..

[8]尚文利,萬明,趙劍明,喬全勝,曾鵬. 面向工業嵌入式設備的漏洞分析方法研究[J],自動化儀表,(2015)10:1-4,2015.

[9]張雄,李舟軍. 模糊測試技術研究綜述[J],計算機科學,(43)5:1-8,2016.

[10]B. P. Miller,D. Koski,C. Lee. Fuzz revisited:A reexamination of the reliability of UNIX utilities and services[R],Computer Sciences Department,University of Wisconsin,1995.

[11]G. Shu,D. Lee. Testing security properties of protocol implementations – a machine learning based approach[C],in 27th International Conference on Distributed Computing Systems(ICDCS 07),IEEE,2007.

[12]D. Aitel. The advantages of block-based protocol analysis of security testing[R],Immunity Inc,New York,Feb. 2002.

[13]SPIKE. http://www.immunitysec.com/resources-free-software.html.

[14]Peach. http://peachfuzz.sourceforge.ne.

[15]戚小光,許玉敏,韓菲,周銳. “心臟出血”漏洞的危害、應對及影響[J],信息安全與通信保密,(2014)5:60-62.

[16]王夏菁,胡昌振,馬銳,高欣竺. 二進制程序漏洞挖掘關鍵技術研究綜述[J],信息網絡安全,2017(08):1-13.

[17]G. Devarajan. Unraveling SCADA protocols:using Sulley fuzzer[C],in DefCon 15 Hacking Conference,2007.

[18]Beyond Security. Black box software testing,McLean,Virginia.

[19]Mu Dynamics. Mu Test Suite,www.mudynamics.com/products/mu-test-suite.html..

[20]X.Lu,Z. Lu,W. Wang,J. Ma. On network performance evaluation toward the smart grid:a case study of DNP3 over TCP/IP,in IEEE Global Telecommunications Conference,Houston TX,2011 .

[21]M. Niedermaier,F. Fischer,A. von Bodisco. PropFuzz – An IT-security fuzzing framework for proprietary ICS protocols,in 2017 International Conference on Applied Electronics,Pilsen,2017..

[22]LibPcap,www.tcpdump.org..

作者簡介:

[1]孟強(1982-),男,工學碩士,工程師,主要從事大型能源集團信息化管理,工業控制系統網絡安全研究工作。

[2]孟瑜煒(1983-),男,工學博士,工程師,主要從事大型能源集團信息化管理,工業自動化,工業控制系統網絡安全研究工作。

通訊作者:

俞榮棟(1981-),男,工學博士,工程師,主要從事工控自動化、工業信息化研究工作。

主站蜘蛛池模板: 黄色在线不卡| 国产成人一区| 一级毛片免费高清视频| 欧美亚洲一二三区| 久久国产毛片| 四虎永久免费地址在线网站| yjizz视频最新网站在线| 国产成人精品高清不卡在线| 97视频精品全国免费观看| 污网站在线观看视频| 国产九九精品视频| 日本精品影院| 亚洲视频a| 精品日韩亚洲欧美高清a| 欧美日韩一区二区三区四区在线观看| 成年女人a毛片免费视频| 国产激情无码一区二区APP| 亚洲视频免费在线看| 欧美区一区| 亚洲三级电影在线播放| 欧美一级在线| 99久久亚洲综合精品TS| 国产精品一线天| 国产精品成人免费视频99| 18禁黄无遮挡免费动漫网站| 一级毛片免费的| 国产精品白浆无码流出在线看| 亚洲国产精品成人久久综合影院 | 欧美亚洲一区二区三区导航| 国产精品久久久久鬼色| 97在线国产视频| 欧洲亚洲欧美国产日本高清| 综合天天色| 国产97公开成人免费视频| 国产一区在线视频观看| 大陆精大陆国产国语精品1024| 日韩欧美91| 激情网址在线观看| 亚洲香蕉在线| a欧美在线| 午夜综合网| 9966国产精品视频| 国产成人凹凸视频在线| 成人福利视频网| 99在线免费播放| 高清免费毛片| 日本AⅤ精品一区二区三区日| 性激烈欧美三级在线播放| 亚洲国产精品日韩av专区| 99性视频| 2048国产精品原创综合在线| 国产美女免费网站| 亚洲第一视频免费在线| 日韩午夜福利在线观看| 国产日韩精品欧美一区喷| 一本色道久久88亚洲综合| 国产一区二区在线视频观看| 亚洲天堂日韩在线| 免费A∨中文乱码专区| 国产精彩视频在线观看| 欧美一区二区精品久久久| 国产玖玖视频| 色屁屁一区二区三区视频国产| 四虎AV麻豆| 欧美色视频日本| 亚洲日产2021三区在线| 久久黄色影院| 91亚洲国产视频| 日韩一区精品视频一区二区| 亚洲不卡网| 精品国产成人av免费| 好吊妞欧美视频免费| 亚洲美女久久| 国产极品美女在线观看| 午夜免费小视频| 国产精品无码翘臀在线看纯欲| 免费国产好深啊好涨好硬视频| 伊人久久青草青青综合| 国产91成人| 欧美有码在线观看| 亚洲人成在线精品| 免费xxxxx在线观看网站|