• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      從“0”到“1”:我國自主研發(fā)工控協(xié)議通訊健壯性測試平臺

      2015-01-16 09:07:17工業(yè)控制系統(tǒng)信息安全技術(shù)國家工程實驗室工業(yè)控制系統(tǒng)安全檢測中心李航
      自動化博覽 2015年9期
      關(guān)鍵詞:工控漏洞通訊

      工業(yè)控制系統(tǒng)信息安全技術(shù)國家工程實驗室工業(yè)控制系統(tǒng)安全檢測中心 李航

      從“0”到“1”:我國自主研發(fā)工控協(xié)議通訊健壯性測試平臺

      工業(yè)控制系統(tǒng)信息安全技術(shù)國家工程實驗室工業(yè)控制系統(tǒng)安全檢測中心 李航

      針對工業(yè)控制系統(tǒng)的信息安全問題,工業(yè)控制系統(tǒng)信息安全技術(shù)國家工程實驗室工業(yè)控制系統(tǒng)安全檢測中心(“檢測中心”)提出一個想法,就是從檢測入手,涵蓋整個工控系統(tǒng)的設(shè)計、研發(fā),到最后的運行,進行全生命周期的跟蹤,這樣才能保證整個工業(yè)控制系統(tǒng)最根本的一個免疫力的提升。面對工業(yè)控制系統(tǒng)的信息安全問題,我們不能僅僅是“病了吃藥”,也要增加其自身的免疫力,提升抵抗力。這也是工業(yè)控制系統(tǒng)安全檢測中心工作的主要目的。我今天將介紹的是我國自主研發(fā)的工控協(xié)議通訊健壯性測試平臺。

      圖1 工業(yè)控制系統(tǒng)架構(gòu)圖

      1 工業(yè)控制系統(tǒng)(Industrial Control Systems,ICS)

      工業(yè)控制系統(tǒng)是由各種自動化組件以及對實時數(shù)據(jù)進行采集、監(jiān)測的過程控制組件,共同構(gòu)成的確保工業(yè)基礎(chǔ)設(shè)施自動化運行、過程控制與監(jiān)控的業(yè)務(wù)流程管控系統(tǒng),如圖1所示。主要由數(shù)據(jù)采集與監(jiān)控系統(tǒng)(SCADA)、分布式控制系統(tǒng)(DCS)、可編程邏輯控制器(PLC)等組成。

      工業(yè)控制系統(tǒng)普遍存在于幾乎所有的工業(yè)領(lǐng)域和關(guān)鍵基礎(chǔ)設(shè)施中,包括核設(shè)施、鋼鐵、有色、化工、石油石化、電力、天然氣、先進制造、水利樞紐、環(huán)境保護、鐵路、城市軌道交通、民航、城市供水供氣供熱以及其他與國計民生緊密相關(guān)的領(lǐng)域,工業(yè)控制系統(tǒng)已是國家安全戰(zhàn)略的重要組成部分。

      分布式控制系統(tǒng),也稱為分散式控制系統(tǒng),即DCS,是一個由過程控制級和過程監(jiān)控級組成的以通信網(wǎng)絡(luò)為紐帶的多級計算機系統(tǒng),綜合了計算機(Computer)、通訊(Communication)、顯示(CRT)和控制(Control)等4C技術(shù),其基本思想是分散控制、集中操作、分級管理、配置靈活、組態(tài)方便。

      SCADA(Supervisory Control And Data Acquisition)系統(tǒng),即數(shù)據(jù)采集與監(jiān)視控制系統(tǒng)。SCADA系統(tǒng)是以計算機為基礎(chǔ)的DCS與電力自動化監(jiān)控系統(tǒng)。它應(yīng)用領(lǐng)域很廣,可以應(yīng)用于電力、冶金、石油、化工、燃氣、鐵路等領(lǐng)域的數(shù)據(jù)采集與監(jiān)視控制以及過程控制等諸多領(lǐng)域。

      可編程邏輯控制器,即PLC,它采用一類可編程的存儲器,用于其內(nèi)部存儲程序,執(zhí)行邏輯運算、順序控制、定時、計數(shù)與算術(shù)操作等面向用戶的指令,并通過數(shù)字或模擬式輸入/輸出控制各種類型的機械或生產(chǎn)過程。實質(zhì)是一種專用于工業(yè)控制的計算機,其硬件結(jié)構(gòu)基本上與微型計算機相同。

      工業(yè)控制系統(tǒng)大量應(yīng)用了通訊技術(shù)、信息化技術(shù)、網(wǎng)絡(luò)技術(shù)和控制技術(shù)等,廣泛應(yīng)用在工業(yè)領(lǐng)域的計算機系統(tǒng)中。工業(yè)控制系統(tǒng)的本質(zhì)就是計算機系統(tǒng)。

      2 “0”與“1”的世界

      PC也好,智能手機也好,都可以被看作一種小型的計算機系統(tǒng)。計算機系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)組成,通過操作系統(tǒng)和應(yīng)用軟件不斷調(diào)用硬件資源進行工作,在硬件和軟件之間進行通訊。硬件系統(tǒng)是借助電、磁、光、機械等原理構(gòu)成的各種物理部件的有機組合,是系統(tǒng)賴以工作的實體。軟件是各種程序和文件,用于指揮整個系統(tǒng)按指定要求進行工作。

      CPU能夠讀懂的代碼就是機器語言(machine language),即計算機可以直接識別的二進制代碼,機器語言是一種指令集的體系,這種指令集,稱為機器碼(machine code),是計算機的CPU可直接解讀的數(shù)據(jù)。計算機直接識別的二進制代碼由兩個基本字符“0”、“1”組成:(1)從物理角度,通常理解為低電平和高電平;(2)計算機直接可以讀懂的就是“0”和“1”有規(guī)律排列的二進制代碼。包括計算機系統(tǒng)內(nèi)部,也包括計算機之間的通訊。

      工業(yè)控制系統(tǒng)遵循計算機系統(tǒng)指令集的特點,即機器語言,“0”與“1”的排列組合。研究機器語言或者研究“0”和“1”,它的不斷排列會不會是一個沒有邊界的研究?實際上不是的。因為在任何物理條件下,工業(yè)控制系統(tǒng)的設(shè)備是有限的,工業(yè)控制系統(tǒng)的指令是有限的。從另一個角度考慮,既然工業(yè)控制系統(tǒng)是個計算機系統(tǒng),如果把它整個看成一個大的計算機,在工業(yè)控制系統(tǒng)設(shè)備與設(shè)備之間的通訊,就可以看成計算機之間的指令之間不斷地傳輸、運算、控制,統(tǒng)稱為工業(yè)控制系統(tǒng)的協(xié)議。當然這種協(xié)議可能包括計算機方面的TCP/IP協(xié)議。對工業(yè)控制系統(tǒng)來說,它是一個最常用的搭建網(wǎng)絡(luò)技術(shù)的平臺,允許監(jiān)控和控制,其內(nèi)部的通訊控制指令集即工業(yè)控制系統(tǒng)協(xié)議,MODBUS IP協(xié)議,也是有限的。為什么要考慮這些?因為我們發(fā)現(xiàn),如果硬件CPU有后門,無線或是脈沖信號觸發(fā)后門引起的最終漏洞的原因都是“0”到“1”的變化,一個脈沖或者一個持續(xù)的“0”或“1”,永遠都擺脫不了“0”和“1”這個排序。因此,研究工業(yè)控制系統(tǒng)最基本的安全問題,我個人認為是研究“0”和“1”,即它的協(xié)議。

      3 工業(yè)控制系統(tǒng)協(xié)議漏洞的健壯性測試

      工業(yè)控制系統(tǒng)協(xié)議出現(xiàn)漏洞的事件比較多。安全事件,從控制器的角度來說,可能引起的就是工業(yè)控制協(xié)議的安全問題,是不穩(wěn)定的漏洞。因此,檢測中心提出,研究工控安全問題,首先就要從它的協(xié)議入手,從設(shè)計到研發(fā),一直到整個運行過程,不斷地去積累,不斷地去測試它的健壯性,提高控制器本身的一個抗干擾能力。

      在這方面國外已經(jīng)走得比較靠前了,目前有ISASecure認證。它是基于IEC 62443標準系列發(fā)展安全認證流程的聯(lián)盟,目前被公認是工業(yè)控制系統(tǒng)領(lǐng)域最專業(yè)的安全認證流程。ISASecure目前包含嵌入式設(shè)備安全認證(EDSA)、系統(tǒng)安全認證(SSA)和安全開發(fā)生命周期認證(SDLA)三個項目。如圖2所示,不管是EDSA認證,還是SSA認證,其基礎(chǔ)均是設(shè)備和系統(tǒng)的通信健壯性測試,在保證該前提下,不斷地評估上層軟件的安全性、功能的安全性,才能保證整個系統(tǒng)相對的安全性。

      圖2 嵌入式設(shè)備安全認證(EDSA)及系統(tǒng)安全認證(SSA)

      目前,國際上已經(jīng)獲得ISASecure認證認可的通訊穩(wěn)健性(CRT)測試工具有芬蘭Codenomicon的Defensics,日本FFRI的RavenforICS以及加拿大Wurldtech的Achilles。其中相對比較有名的是Wurldtech的Achilles,Wurldtech已經(jīng)被GE收購。因此,使用國外測試工具存在兩個方面的問題:其一,GE公司既生產(chǎn)控制器PLC、相關(guān)的工業(yè)控制系統(tǒng),又去做測試認證,檢測產(chǎn)品的安全性。其二,所有測試的最終數(shù)據(jù)必須返回到GE公司進行存檔。雖然GE同中國用戶會簽訂保密協(xié)議,但是我們所有控制系統(tǒng)的數(shù)據(jù)他們都有掌握,這其實也是一個很大的安全問題。那我們自己的測試工具在哪里?

      4 自主研發(fā)工業(yè)控制系統(tǒng)通訊協(xié)議健壯性測試平臺

      圖3 B/S操作界面

      由于我國對整個工業(yè)控制系統(tǒng)的通訊健壯性測試還是空白,檢測中心針對工控安全這個最基本的問題,為了解決這一短擺,自主研發(fā)了工業(yè)控制系統(tǒng)通訊健壯性測試平臺。該平臺是為控制設(shè)備生產(chǎn)商、最終用戶以及類似我們這樣的檢測單位,定制的一個測試設(shè)備,主要是測試控制器本身網(wǎng)絡(luò)安全的健壯性,能夠幫助用戶發(fā)現(xiàn)工控系統(tǒng)網(wǎng)絡(luò)中已知和未知的漏洞。本測試平臺采用B/S模式,運用強大的模糊測試引擎,進行包括工業(yè)控制協(xié)議的模糊測試,以及進行整個工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)壓力測試等。如圖3所示為B/S操作界面,圖4為測試工具的硬件平臺。

      圖4 測試工具的硬件平臺

      圖5 所示為工業(yè)控制系統(tǒng)通訊協(xié)議健壯性測試平臺的連接方式。在整個系統(tǒng)或者是被測設(shè)備上下位機之間建立橋接模式。在不進行分析,不進行攻擊測試的時候,它是by pass的,對被測設(shè)備沒有任何的干擾。進行測試時,相對應(yīng)的引擎會針對它的通訊協(xié)議進行監(jiān)控,后臺不斷分析其具體模式。并且平臺帶有一定的自學(xué)習(xí)能力,能夠?qū)W習(xí)所用的協(xié)議是什么內(nèi)容、什么格式。

      圖5 工業(yè)控制系統(tǒng)通訊協(xié)議健壯性測試平臺的連接方式

      4.1 為什么要采用模糊測試

      模糊測試(fuzzing)是一類安全性測試的方法,是一種通過向目標系統(tǒng)提供非預(yù)期的輸入并監(jiān)視異常結(jié)果來發(fā)現(xiàn)漏洞的方法,是一種黑盒測試的方法。

      在模糊測試中,用隨機壞數(shù)據(jù)(也稱做 fuzz)攻擊一個設(shè)備、程序或者系統(tǒng),然后觀察哪里遭到了破壞。模糊測試的技巧在于它是不符合邏輯的:自動模糊測試不去猜測哪個數(shù)據(jù)會導(dǎo)致破壞(就像人工測試員那樣),而是將盡可能多的雜亂數(shù)據(jù)投入程序中。由這個測試驗證過的失敗模式令人感到震撼,因為任何按邏輯思考的人都不會想到這種失敗。

      工業(yè)控制系統(tǒng)的設(shè)計人員最大的特點是,所有的研發(fā)都按照自己的設(shè)計流程來,自己的邏輯該怎么樣就怎么樣,他不會考慮中間邏輯混亂了、變化了之后會怎樣。整個調(diào)試系統(tǒng)也一樣,如果按照自己設(shè)計的流程,邏輯走得通,這套工控系統(tǒng)就OK。他沒有專門考慮整個邏輯發(fā)生變化,或者是不合邏輯的情況出現(xiàn)時,工控系統(tǒng)到底是什么樣的。為什么采用模糊測試呢?模糊測試并沒有真正意義上的規(guī)則可以遵循,衡量模糊測試成功與否的唯一標準就是測試得到的結(jié)果,它不是按照設(shè)計人員的思維去測試,它打破了按邏輯出發(fā)的方式,沒有真正意義上的規(guī)則可以遵循。模糊測試不是簡單的枚舉或遍歷,需要預(yù)測產(chǎn)品中存在哪些類型的錯誤,以及哪些輸入能夠引發(fā)這些錯誤。所以我們從開發(fā)人員的思路來確定模糊測試的方法,并且從開發(fā)人員容易忽視的角度來進行模糊測試算法進行設(shè)計,讓更多的漏洞提前暴露出來。

      模糊測試包括六個步驟:確定測試目標、確定輸入向量、生成模糊測試數(shù)據(jù)、執(zhí)行模糊測試數(shù)據(jù)、監(jiān)事異常、判定發(fā)現(xiàn)的漏洞是否可被利用,最終發(fā)現(xiàn)異常,確定漏洞屬于哪個等級。主要方法是使用兩個模糊器,一是基于變異的模糊器,一是基于生成的模糊器,最終形成測試用例,進行測試來驗證它的控制器是否有相關(guān)的問題。

      4.2 主要特點和功能

      (1)模糊測試。

      · 通過對不同協(xié)議的語法測試來探測被測設(shè)備對協(xié)議實現(xiàn)的健壯性;

      · 通過對被測設(shè)備進行壓力測試來測試其抗壓能力;

      · 通過Fuzzer來進行各個協(xié)議的模糊測試。

      (2)通過對已有的已知協(xié)議進行模糊測試。

      · 包括TCP/IP協(xié)議,工業(yè)控制協(xié)議,例如:MODBUS、MMS、GOOSE等;

      · 對以上協(xié)議進行構(gòu)造錯誤報文發(fā)送到被測設(shè)備;

      (3)對未知的私有協(xié)議進行模糊測試。

      (4)監(jiān)控功能。

      · 監(jiān)控被測設(shè)備是否能正確處理這些錯誤數(shù)據(jù);

      · 如果設(shè)備出現(xiàn)問題,是否能夠恢復(fù)。

      (5)端口掃描。

      (6)測試用例加載:加載可配置參數(shù)的不同測試用例(根據(jù)協(xié)議分)。

      (7)網(wǎng)絡(luò)監(jiān)控:監(jiān)控被測設(shè)備的網(wǎng)絡(luò)狀態(tài)。

      (8)漏洞挖掘:通過執(zhí)行測試用例來進行漏洞挖掘。

      (9)根源分析與回溯。

      (10)事件日志。

      猜你喜歡
      工控漏洞通訊
      《茶葉通訊》簡介
      茶葉通訊(2022年2期)2022-11-15 08:53:56
      《茶葉通訊》簡介
      茶葉通訊(2022年3期)2022-11-11 08:43:50
      通訊報道
      漏洞
      工控速派 一個工控技術(shù)服務(wù)的江湖
      工控速浱 一個工控技術(shù)服務(wù)的江湖
      三明:“兩票制”堵住加價漏洞
      通訊簡史
      漏洞在哪兒
      兒童時代(2016年6期)2016-09-14 04:54:43
      熱點追蹤 工控安全低調(diào)而不失重要
      肥乡县| 五河县| 手游| 东宁县| 涞源县| 台湾省| 田东县| 黄陵县| 开鲁县| 博湖县| 永顺县| 夏河县| 郎溪县| 佳木斯市| 峨眉山市| 嘉鱼县| 玉门市| 沧州市| 新乐市| 伊宁县| 承德县| 行唐县| 综艺| 山丹县| 博客| 湖州市| 屏边| 日照市| 通河县| 巴中市| 罗定市| 临湘市| 辉南县| 平遥县| 应用必备| 南宫市| 沂南县| 沾益县| 房产| 财经| 新乐市|