亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Modbus TCP 安全協(xié)議的研究與設(shè)計(jì)

        2019-12-24 08:01:10李永忠
        數(shù)據(jù)采集與處理 2019年6期
        關(guān)鍵詞:白名單服務(wù)器端哈希

        羅 旋 李永忠

        (江蘇科技大學(xué)計(jì)算機(jī)學(xué)院,鎮(zhèn)江,212003)

        引 言

        針對(duì)Modbus TCP協(xié)議存在的安全問題,不少學(xué)者做了相關(guān)研究,如高棟梁[1]以netfilter為框架,設(shè)計(jì)了一個(gè)Modbus TCP協(xié)議網(wǎng)關(guān)防火墻;Shang等[2]基于Linux平臺(tái),使用iptable工具設(shè)計(jì)了一個(gè)工業(yè)防火墻。但是二者并未對(duì)傳輸數(shù)據(jù)做加密處理,不能保證數(shù)據(jù)的機(jī)密性,其次無法防止重放攻擊。尚文利等[3]提出了一種基于統(tǒng)計(jì)分析的日志規(guī)則自學(xué)習(xí)算法,動(dòng)態(tài)生成并更新規(guī)則;呂雪峰等[4]利用snort設(shè)計(jì)了基于協(xié)議缺陷和系統(tǒng)狀態(tài)的檢測(cè)規(guī)則,當(dāng)測(cè)量值匹配規(guī)則時(shí),觸發(fā)告警。這二者提出的方法對(duì)規(guī)則精度的設(shè)定具有極高的要求,一旦精度設(shè)置過大或過小,都會(huì)嚴(yán)重影響檢測(cè)效果。Fovino等[5]通過添加哈希鏈字段并作簽名的方法實(shí)現(xiàn)了數(shù)據(jù)的完整性與可認(rèn)證性,但仍存在功能碼的濫用問題。

        針對(duì)上述文獻(xiàn)中存在的問題,本文基于功能碼管理、數(shù)據(jù)傳輸以及可行性等問題對(duì)Modbus協(xié)議作了深入研究。以原Modbus協(xié)議為基礎(chǔ),設(shè)計(jì)了一種安全的工控系統(tǒng)通信協(xié)議——Modbus-S協(xié)議。該協(xié)議可以實(shí)現(xiàn)通信雙方的雙向認(rèn)證,同時(shí)保證數(shù)據(jù)的完整性以及唯一性。該協(xié)議對(duì)關(guān)鍵數(shù)據(jù)字段進(jìn)行加密,同時(shí)還可對(duì)功能碼進(jìn)行管理,從而全面提升工控通信的安全。

        1 Modbus TCP協(xié)議

        1.1 Modbus TCP協(xié)議介紹

        Modbus TCP協(xié)議工作在TCP/IP模型的應(yīng)用層,采用主從通訊模式,Modbus的主站可以與從站采用一對(duì)一或多對(duì)多方式進(jìn)行通訊,其報(bào)文格式[6]如圖1所示。

        圖1 Modbus TCP的報(bào)文格式Fig.1 Message format for Modbus TCP

        1.2 Modbus TCP安全性分析

        Modbus TCP協(xié)議由Modbus協(xié)議與TCP/IP融合而成,不僅未能解決原Modbus協(xié)議設(shè)計(jì)存在的安全隱患,甚至還引入了TCP/IP協(xié)議的安全缺陷[7],如:

        (1)缺乏認(rèn)證機(jī)制[8]。任意客戶端只要與服務(wù)器端網(wǎng)絡(luò)互通,并可對(duì)服務(wù)器端發(fā)送指令。攻擊者只需接入網(wǎng)絡(luò)中,便可對(duì)服務(wù)器發(fā)送惡意指令。

        (2)無權(quán)限管理[9]。所有用戶均擁有相同權(quán)限,可執(zhí)行任意指令,如誤操作發(fā)送了重啟或關(guān)機(jī)等高危命令,服務(wù)器端仍能正常響應(yīng)。

        (3)數(shù)據(jù)篡改。攻擊者可以通過截獲數(shù)據(jù)包,并篡改相應(yīng)字段,從而實(shí)現(xiàn)網(wǎng)絡(luò)攻擊。

        (4)數(shù)據(jù)明文傳輸。Modbus TCP協(xié)議以明文方式傳輸數(shù)據(jù),一些敏感信息很容易被攻擊者獲取,攻擊者可以通過收集相關(guān)信息為將來攻擊系統(tǒng)作準(zhǔn)備[10]。

        (5)重放攻擊。Modbus TCP缺乏防重放機(jī)制,攻擊者可以反復(fù)發(fā)送截獲的數(shù)據(jù)包,從而破壞系統(tǒng)的穩(wěn)定性。

        2 Modbus-S協(xié)議設(shè)計(jì)

        2.1 Modbus-S協(xié)議格式

        Modbus-S協(xié)議以原Modbus TCP協(xié)議為基礎(chǔ),通過添加相應(yīng)字段,實(shí)現(xiàn)工控系統(tǒng)的通信安全。其協(xié)議格式如圖2所示。

        2.2 同步機(jī)制實(shí)現(xiàn)原理

        通過利用哈希算法的單向性原理實(shí)現(xiàn)數(shù)據(jù)同步,其實(shí)現(xiàn)原理如下所示:

        (1)首先取兩個(gè)隨機(jī)數(shù)依次作為種子ai,1和安全因子bi,每一對(duì)通信對(duì)象都擁有對(duì)應(yīng)的種子與安全因子,i為其編號(hào)。Vi,1為(ai,1+bi)進(jìn)行哈希計(jì)算的值,F(xiàn)(x)的值則為x的首個(gè)字節(jié)數(shù)據(jù),其作為同步標(biāo)識(shí)字段Syni,1的值。

        圖2 Modbus-S協(xié)議格式Fig.2 Modbus-S protocol format

        (2)若同步標(biāo)識(shí)匹配成功后,則將當(dāng)前哈希值與安全因子進(jìn)行異或運(yùn)算,然后求其哈希值,得到Vi,2,同時(shí)取其首字節(jié)作為Syni,2。

        (3)為防止攻擊者發(fā)送具有相同同步標(biāo)識(shí)的數(shù)據(jù)包,破壞同步性,需要重復(fù)步驟(2)操作以確保每次在網(wǎng)絡(luò)中傳輸?shù)耐綐?biāo)識(shí)均不相同。得到Vi,3和Syni,3,將Syni,3作為下次發(fā)送的同步標(biāo)識(shí)碼。

        (4)使用相同方法得到每次通信的同步標(biāo)識(shí)碼。

        通信雙方通過匹配同步標(biāo)識(shí)碼,確定數(shù)據(jù)的唯一性。由于哈希算法的單向性,攻擊者截獲數(shù)據(jù)包,無法構(gòu)造下一次發(fā)送的同步標(biāo)識(shí)碼。同時(shí)有安全因子的加入,以及數(shù)據(jù)包中不含有完整的哈希值,這也極大地提升了同步標(biāo)識(shí)的安全性。

        2.3 功能碼管理機(jī)制

        通過設(shè)定“白名單”過濾規(guī)則實(shí)現(xiàn)對(duì)功能碼的有效管理,其規(guī)則模型[11]如圖3所示。

        “白名單”過濾規(guī)則以Level,IP地址、設(shè)備ID以及功能碼作為過濾對(duì)象。Level字段的值用于進(jìn)行角色劃分,如root,admin和monitor。root權(quán)限最高,可執(zhí)行任意指令;admin的權(quán)限次于root,只擁有線圈與寄存器值的讀寫權(quán)限;monitor的權(quán)限最低,只可監(jiān)視線圈或寄存器狀態(tài)。多個(gè)用戶也可以設(shè)置相同的權(quán)限等級(jí),另外通過綁定MAC地址可以防止ARP攻擊,提升網(wǎng)絡(luò)的安全性。采用結(jié)構(gòu)體數(shù)組方式存儲(chǔ)“白名單”列表。每一條“白名單”規(guī)則對(duì)應(yīng)結(jié)構(gòu)體數(shù)組中的一個(gè)結(jié)構(gòu)體,其參數(shù)由用戶事先設(shè)定。

        圖3 “白名單”規(guī)則模型Fig.3 Rule model of"white list"

        3 Modbus-S協(xié)議系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

        3.1 Modbus-S協(xié)議系統(tǒng)實(shí)現(xiàn)原理

        Modbus-S協(xié)議系統(tǒng)通過自己開發(fā)的一對(duì)通信軟件Modbus-S client/server實(shí)現(xiàn)數(shù)據(jù)的安全通信,以負(fù)責(zé)Modbus TCP與Modbus-S之間的協(xié)議轉(zhuǎn)換,其實(shí)現(xiàn)原理如圖4所示。

        圖4 Modbus-S協(xié)議系統(tǒng)實(shí)現(xiàn)原理Fig.4 Implementation principle of Modbus-S protocol system

        3.2 Modbus-S協(xié)議數(shù)據(jù)處理過程

        Modbus-S協(xié)議的數(shù)據(jù)處理由Modbus-S client與Modbus-S server實(shí)現(xiàn),其處理過程為:

        (1)Modbus client發(fā)送Modbus請(qǐng)求包(Mreq);

        (2)Modbus-S client接收到 Mreq,按照式(5,6)構(gòu)造 Modbus-S請(qǐng)求包 C,并發(fā)送給 Modbus-S server端,其中各字段含義如下所示。

        Syn:同步標(biāo)識(shí);Level:權(quán)限等級(jí);TID:傳輸標(biāo)識(shí);PID:協(xié)議標(biāo)識(shí);L:長(zhǎng)度;UID:?jiǎn)卧獦?biāo)識(shí);Lt:加密后的 PDU總長(zhǎng)度;En:對(duì)稱密鑰;Pri:私鑰。

        (3)Modbus-S server接收到請(qǐng)求包C后,首先計(jì)算本地的同步標(biāo)識(shí)碼,將其與請(qǐng)求包中的同步標(biāo)識(shí)碼進(jìn)行匹配,若匹配成功則進(jìn)行簽名認(rèn)證,其次再進(jìn)行“白名單”粗過濾,即匹配Level,IP與設(shè)備ID字段的值。然后再對(duì)PDU進(jìn)行解密,最后進(jìn)行“白名單”細(xì)過濾,即匹配Level,IP,設(shè)備ID與功能碼的值。返回其結(jié)果True或False。

        (4)只有當(dāng)匹配結(jié)果為True時(shí),才會(huì)構(gòu)造原始請(qǐng)求包Mreq并轉(zhuǎn)發(fā),否則丟棄并告警。

        (5)服務(wù)器端的響應(yīng)包采用相同方法進(jìn)行處理。

        4 實(shí)驗(yàn)與分析

        4.1 實(shí)驗(yàn)環(huán)境

        實(shí)驗(yàn)以4臺(tái)虛擬機(jī)與本地主機(jī)為環(huán)境,虛擬機(jī)與本地主機(jī)均為windows 7系統(tǒng),使用Modbus poll/slave分別模擬Modbus TCP客戶端與服務(wù)器端,使用自己開發(fā)的Modbus-S client/server分別模擬Modbus-S客戶端與服務(wù)器端。虛擬機(jī)模擬Client端,本地主機(jī)模擬服務(wù)器端。其中3臺(tái)虛擬機(jī)安裝有Modbus poll與Modbus-S client。本地主機(jī)安裝有Modbus slave與Modbus-S server。其中PC1,PC2,PC3均加入“白名單”列表,權(quán)限等級(jí)依次為100,50,10。其實(shí)驗(yàn)環(huán)境如圖5所示。

        圖5 實(shí)驗(yàn)環(huán)境圖Fig.5 Experimental environment diagram

        4.2 Modbus-S竊聽攻擊測(cè)試

        實(shí)驗(yàn)使用Wireshark抓取Modbus-S協(xié)議正常通信時(shí)的數(shù)據(jù)包進(jìn)行分析。圖6為Modbus-S請(qǐng)求包的ADU數(shù)據(jù),圖7為Modbus-S響應(yīng)數(shù)據(jù)包ADU數(shù)據(jù),由圖可知數(shù)據(jù)的關(guān)鍵字段已被加密,測(cè)試結(jié)果符合預(yù)期。

        圖6 Modbus-S請(qǐng)求數(shù)據(jù)包的ADU數(shù)據(jù)Fig.6 ADU data of Modbus-S request packet

        圖7 Modbus-S響應(yīng)數(shù)據(jù)包的ADU數(shù)據(jù)Fig.7 ADU data of Modbus-S response packet

        4.3 “白名單”過濾測(cè)試

        表1為實(shí)驗(yàn)測(cè)試的“白名單”列表,表2為測(cè)試結(jié)果,數(shù)據(jù)通信數(shù)據(jù)包如圖8所示,圖9顯示了告警日志。由實(shí)驗(yàn)結(jié)果可知“白名單”過濾方法可以有效地實(shí)現(xiàn)非法指令的過濾。

        表1 實(shí)驗(yàn)測(cè)試“白名單”列表Tab.1 "White list"of experimental test

        表2 “白名單”實(shí)驗(yàn)測(cè)試結(jié)果Tab.2 Results of"white list"test

        圖8 數(shù)據(jù)通信數(shù)據(jù)包Fig.8 Data communication packet

        圖9 Modbus-S server端告警記錄Fig.9 Alarm record of Modbus-S server

        4.4 Modbus-S時(shí)間性能分析

        實(shí)驗(yàn)以使用最廣泛的信息摘要算法5(Message digest algorithm 5,MD5)、高級(jí)加密標(biāo)準(zhǔn)(Advanced encryption standard,AES)算法以及非對(duì)稱加密(Rivest-Shamir-Adleman,RSA)數(shù)字簽名算法進(jìn)行分析。通過wireshark抓取通信鏈路的數(shù)據(jù)包,通過計(jì)算響應(yīng)包與請(qǐng)求包的數(shù)據(jù)差值得到如圖10所示的時(shí)間對(duì)比圖。該圖反映了Modbus-S協(xié)議進(jìn)行一次通信所消耗的時(shí)間。通過對(duì)比圖可知Modbus-S的數(shù)據(jù)包傳輸時(shí)間比Modbus TCP協(xié)議增加8ms左右,比文獻(xiàn)[5]增加2ms左右。與提高安全性相比,這種差異可以忽略不計(jì)。

        圖10 Modbus-S數(shù)據(jù)包構(gòu)造與解析時(shí)間對(duì)比圖Fig.10 Time comparison chart of Modbus-S data packet construction and parsing

        5 結(jié)束語

        針對(duì)Modbus TCP協(xié)議存在的安全問題,本文通過開發(fā)一對(duì)通信軟件并設(shè)計(jì)安全的通信協(xié)議Modbus-S,實(shí)現(xiàn)了Modbus TPC協(xié)議的安全加固。由于原客戶端通常為計(jì)算機(jī),可直接部署相應(yīng)軟件處理數(shù)據(jù),而服務(wù)器端通常為安全網(wǎng)關(guān),需要借助其他終端部署對(duì)應(yīng)軟件。為降低實(shí)施成本,還需研究相應(yīng)的硬件模塊,這將是下一步需要研究的方向。

        猜你喜歡
        白名單服務(wù)器端哈希
        基于白名單的車道工控系統(tǒng)信息安全解決方案
        核電廠儀控系統(tǒng)安全防護(hù)策略研究及應(yīng)用
        淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
        成功(2018年10期)2018-03-26 02:56:14
        基于OpenCV與均值哈希算法的人臉相似識(shí)別系統(tǒng)
        在Windows中安裝OpenVPN
        基于維度分解的哈希多維快速流分類算法
        公布洋大學(xué)“白名單”遠(yuǎn)遠(yuǎn)不夠
        基于同態(tài)哈希函數(shù)的云數(shù)據(jù)完整性驗(yàn)證算法
        一種基于Bigram二級(jí)哈希的中文索引結(jié)構(gòu)
        網(wǎng)頁防篡改中分布式文件同步復(fù)制系統(tǒng)
        一本久久精品久久综合| 精品国产网红福利在线观看| 国产在线精品福利大全| 人妻少妇粉嫩av专区一| 精品亚洲一区二区区别在线观看| 私人毛片免费高清影视院| 国产精品刺激好大好爽视频| 99热久久只有这里是精品| 精品国产精品三级在线专区| 国产精品永久免费| 久久香蕉国产线看观看网| 中文字幕五月久久婷热| 精品国产一区二区三区av麻| 麻豆一区二区三区蜜桃免费| 亚洲av无码av在线播放| 日本一区二区三本视频在线观看| 国产不卡视频在线观看| 风流老熟女一区二区三区| 国产欧美日韩专区| 日韩精品极品在线观看视频| 亚洲毛片一区二区在线| 中文字幕丰满伦子无码| 无码成人片一区二区三区| 久久精品女人天堂av麻| 无码a级毛片免费视频内谢5j| 老色鬼永久精品网站| 毛片在线啊啊| 午夜视频在线观看国产19| 男人和女人做爽爽免费视频| 国产精品久久久久久久久鸭 | 欧美日本国产亚洲网站免费一区二区| 国产韩国一区二区三区| 亚洲精品~无码抽插| 国内大量揄拍人妻在线视频| 亚洲视频一区二区久久久| 中文字幕亚洲一区二区不下| 国产av无码专区亚洲awww| 国产精品原创av片国产日韩| 亚洲成人av一区二区 | 免费国产99久久久香蕉| 自拍偷区亚洲综合激情|