国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

工業(yè)控制系統(tǒng)私有協(xié)議深度解析方法

2020-01-16 07:38阮偉黃光平陳亮楊柳
電子技術與軟件工程 2019年22期
關鍵詞:工控逆向報文

文/阮偉 黃光平 陳亮 楊柳

隨著工業(yè)控制系統(tǒng)信息技術與功能需求的發(fā)展,工控系統(tǒng)與互聯(lián)網的聯(lián)系越來越緊密,形成了一個開放式的網絡環(huán)境,由于傳統(tǒng)工業(yè)控制系統(tǒng)是基于物理隔離的,主要關注系統(tǒng)的功能安全,缺乏對網絡信息安全的考慮,沒有專門的安全防御措施。近年來,針對工業(yè)控制系統(tǒng)的各種攻擊事件層出不窮,比如震網病毒,毒區(qū)病毒,以及烏克蘭電網等事件,攻擊者通過各種手段發(fā)起攻擊,使工業(yè)控制系統(tǒng)崩潰,給工業(yè)生產造成了難以估量的損失。因此對工控協(xié)議進行安全性分析成為了系統(tǒng)安全防御的重要手段。

1 協(xié)議逆向解析技術

根據(jù)分析對象的不同,現(xiàn)有的對協(xié)議逆向分析的方法主要分為兩類,報文序列分析和指令執(zhí)行序列分析。報文序列分析的方法具有簡單,平臺無關,能夠推測出協(xié)議語法結構的劃分等優(yōu)點,但是很難實現(xiàn)協(xié)議數(shù)據(jù)字段語義屬性的識別,典型的有PI 項目;指令執(zhí)行序列分析的方法能夠獲得協(xié)議數(shù)據(jù)的語義信息,但是其分析過程依賴于協(xié)議實體的運行環(huán)境,難以實現(xiàn)跨平臺的移植,典型的有Polyglot。

工業(yè)控制系統(tǒng)通信協(xié)議不同于傳統(tǒng)網絡協(xié)議,工控系統(tǒng)的通信協(xié)議是一種有狀態(tài)的協(xié)議,對有狀態(tài)的通信協(xié)議進行解析必須基于協(xié)議自身相關的報文序列,解析時需要對協(xié)議的每一個狀態(tài)和字段進行解析。盡管現(xiàn)有許多針對未知協(xié)議為分析對象的協(xié)議逆向方案,然而由于不同協(xié)議之間,報文的結構、取值都存在較大差異,無法保證逆向結果的正確性,并且現(xiàn)有的協(xié)議解析方法準確率較低。因此,對工控協(xié)議進行解析必須基于人工輔助方式的協(xié)議逆向分析方法。

2 未知工控協(xié)議逆向方案

本文提出的協(xié)議逆向方案主要有以下步驟:

(1)收集工業(yè)控制系統(tǒng)中的網絡流量;

(2)對網絡流量進行篩選,找到需要的數(shù)據(jù)包;

(3)利用一定的先驗知識,對具有相似結構的數(shù)據(jù)包進行對比,重點比對位置相同,但數(shù)值不同的地方,推斷出該位置上字段的含義。

本文研究對象為工業(yè)控制系統(tǒng)專用協(xié)議,該協(xié)議采用TCP/IP 體系結構,存于應用層中。協(xié)議通過應用層,傳輸層、網絡層、數(shù)據(jù)鏈路層層層封裝進行傳輸。對協(xié)議進行解析時,需要對其層層解封裝。

對該工控協(xié)議進行解析時,數(shù)據(jù)鏈路層,網絡層、傳輸層使用的協(xié)議都是已知的,因此主要是對封裝在應用層的工控協(xié)議進行解析,該工控協(xié)議位于報文的尾部,如圖1藍色部分所示。

2.1 指令數(shù)據(jù)包提取

采集的流量中主要包含點對點和組播兩種類型的數(shù)據(jù)包。本文主要通過研究點對點的數(shù)據(jù)包,對工控協(xié)議進行分析。操作員在工作站執(zhí)行命令前啟動wireshark 抓包軟件,命令執(zhí)行完畢后關閉wireshark 軟件,抓取工業(yè)網絡流量。抓取的流量當中含有眾多亂序,重傳、以及不需要的數(shù)據(jù)包,對工控協(xié)議進行分析前需要剔除此類數(shù)據(jù)包,找到執(zhí)行命令對應的數(shù)據(jù)包。方法如圖2所示,首先對數(shù)據(jù)包進行分類,根據(jù)執(zhí)行命令的發(fā)送方和接收方的源目的地址進行第一次篩選,區(qū)分出擁有正確源目的地址的數(shù)據(jù)包;再根據(jù)發(fā)出指令的唯一性進行第二次篩選,找到指令對應的數(shù)據(jù)包。

表1:協(xié)議格式

圖2:指令數(shù)據(jù)包提取

圖3:繼電器閉合

圖4:繼電器斷開

2.2 語義解析及格式推斷

由于同一種協(xié)議往往具有相同的格式,而相同格式的報文往往具有相似性,因此可將具有相似性的數(shù)據(jù)包匯集在一起進行分析對比,以推斷它們所遵照的報文格式和所代表的語義字段。

在操作員執(zhí)行某一操作前后,同時啟動wireshark 抓包軟件抓取數(shù)據(jù)包。通過分析比對操作員執(zhí)行操作前后所抓到的數(shù)據(jù)包,排除數(shù)值與位置相同的部分,重點比對同一位置發(fā)生變化的部分,利用先驗知識,和加上一定的手段對協(xié)議進行解析,比如浮點數(shù)據(jù)轉換,整型數(shù)據(jù)轉換、十六進制轉換成ASCII 碼等,解析出發(fā)生變化字段的含義。

3 驗證與分析

使用組態(tài)軟件組態(tài)出一個控制繼電器的工程,操作員在點擊控制繼電器閉合時抓取一次數(shù)據(jù)包,在點擊控制繼電器斷開時抓取一次數(shù)據(jù)包。已知,抓包使用的是控制網A,工作的控制器地址為168.20.1.2,操作站的地址為168.20.1.131,因此使用wireshark 對數(shù)據(jù)包進行篩選找到源地址為操作站地址,目的地址為工作的控制器地址的數(shù)據(jù)包。此時篩選出的數(shù)據(jù)包眾多,再根據(jù)指令的唯一性找出對應的數(shù)據(jù)包。使用該方法找出兩次下發(fā)指令所對應的數(shù)據(jù)包,分析比對兩次發(fā)生變化的地方,兩次抓到的數(shù)據(jù)包為圖3,圖4所示,紅色框標出的是兩張圖中不同的地方。

對比發(fā)現(xiàn)有兩處位置的數(shù)值發(fā)生了改變,在第一處由d4 變?yōu)榱薲5,第二處由00 變?yōu)?1。此時難以分析出控制繼電器閉合斷開的位置是哪處。繼續(xù)重復執(zhí)行該指令進行抓包,由結果發(fā)現(xiàn),處于第一處不同位置上的d5 還會繼續(xù)遞增,而處于第二處不同位置上的00 與01 繼續(xù)交替出現(xiàn)。因此可以分析出第一處不同是一種遞增關系,第二處不同代表繼電器的狀態(tài)。01 控制繼電器閉合,00 控制繼電器斷開。

不斷的按照上述方法進行實驗后,解析出的協(xié)議格式如表1所示。

綜上,基于人工輔助逆向解析協(xié)議的方法,對于工控協(xié)議有著非常好的解析效果。單字節(jié)或多字節(jié)的數(shù)據(jù)都可通過指令推斷或數(shù)據(jù)轉換解析出其具體含義。表明按照此方法可依次有效地解析出該工控系統(tǒng)中私有通信協(xié)議的格式和語義信息。

4 總結與展望

本文通過人工輔助逆向協(xié)議解析的方法對私有的工控協(xié)議進行深度解析,其準確率很高,能夠有效的通過協(xié)議解析幫助發(fā)現(xiàn)各種操作行為的安全問題,提高工控系統(tǒng)安全性。本文當前只對點對點的數(shù)據(jù)包解析方法進行了嘗試,組播的數(shù)據(jù)包解析方法還待研究。

猜你喜歡
工控逆向報文
基于J1939 協(xié)議多包報文的時序研究及應用
逆向而行
CTCS-2級報文數(shù)據(jù)管理需求分析和實現(xiàn)
淺析反駁類報文要點
工控速派 一個工控技術服務的江湖
工控速浱 一個工控技術服務的江湖
熱點追蹤 工控安全低調而不失重要
ATS與列車通信報文分析
基于攻擊圖的工控系統(tǒng)脆弱性量化方法
逆向工程技術及應用
彭山县| 大冶市| 共和县| 五家渠市| 安多县| 星子县| 奎屯市| 红桥区| 金乡县| 高清| 崇义县| 犍为县| 策勒县| 平舆县| 西平县| 甘孜县| 沅江市| 星子县| 封丘县| 南乐县| 利辛县| 长子县| 沙雅县| 湘阴县| 巴林右旗| 怀来县| 小金县| 乌拉特中旗| 大同县| 安康市| 当涂县| 榆中县| 即墨市| 玉龙| 永泰县| 疏勒县| 龙泉市| 章丘市| 交城县| 和田县| 易门县|