• 
    

    
    

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

      ?

      工業(yè)以太網(wǎng)EtherNet/IP協(xié)議安全分析

      2019-07-19 01:24:08田學(xué)成徐英會(huì)
      關(guān)鍵詞:秘鑰敵手報(bào)文

      田學(xué)成,徐英會(huì)

      (1.蘭州理工大學(xué) 計(jì)算機(jī)與通信學(xué)院,甘肅 蘭州 730000;2.華北電力大學(xué)(保定) 控制與計(jì)算機(jī)工程學(xué)院,河北 保定 071000)

      1 EtherNet/IP協(xié)議簡(jiǎn)介

      1.1 EtherNet/IP協(xié)議結(jié)構(gòu)和性能

      EtherNet/IP(EtherNet/IP Industry Protocol)是由兩大組織ODVA(Open DeviceNet Vendors Association)和ControlNet International于2001年正式推出的新的協(xié)議成員。使用通用工業(yè)協(xié)議(CIP)作為上層協(xié)議[1],結(jié)合傳統(tǒng)的以太網(wǎng)協(xié)議技術(shù)和標(biāo)準(zhǔn)的TCP/IP(Transmission Control Protocol/Internet Protocol)協(xié)議共同構(gòu)成EtherNet/IP協(xié)議的體系結(jié)構(gòu)[2],該協(xié)議是基于CIP協(xié)議的工業(yè)網(wǎng)絡(luò)協(xié)議。EtherNet/IP協(xié)議有較好的互操作性能,而且數(shù)據(jù)傳輸距離長(zhǎng),傳輸速率高[3]。CIP協(xié)議獨(dú)立于物理層和數(shù)據(jù)鏈路層之上,與設(shè)備介質(zhì)無(wú)關(guān)[2],可以將其移植到高性能的網(wǎng)絡(luò)設(shè)施上。CIP封裝協(xié)議的主要任務(wù)是定義和規(guī)范了如何封裝和傳輸上層協(xié)議的報(bào)文,以及如何管理和利用下層TCP/IP鏈接,起到承上啟下的作用[4]。EtherNet/IP協(xié)議網(wǎng)絡(luò)遵循開放的OSI模型。圖1是EtherNet/IP協(xié)議結(jié)構(gòu)圖。

      圖1 EtherNet/IP協(xié)議結(jié)構(gòu)

      由于以太網(wǎng)數(shù)據(jù)傳輸速度的大幅度提升和工業(yè)網(wǎng)絡(luò)交換機(jī)技術(shù)的快速發(fā)展,在網(wǎng)絡(luò)高負(fù)載通信時(shí)EtherNet/IP協(xié)議也能夠滿足工業(yè)網(wǎng)絡(luò)對(duì)實(shí)時(shí)性和確定性的要求[3]。EtherNet/IP協(xié)議使用高效的數(shù)據(jù)傳輸模式——生產(chǎn)者/消費(fèi)者模式(Producer/Consummer)[1-2]。端點(diǎn)之間的聯(lián)系不是通過(guò)具體的源和目的地址關(guān)聯(lián)起來(lái),而是一個(gè)生產(chǎn)者可以對(duì)應(yīng)多個(gè)消費(fèi)者,使數(shù)據(jù)的傳輸達(dá)到了最優(yōu)化。網(wǎng)絡(luò)源節(jié)點(diǎn)按照內(nèi)容將數(shù)據(jù)進(jìn)行標(biāo)識(shí),采用組播的方式同時(shí)發(fā)送到多個(gè)節(jié)點(diǎn),網(wǎng)絡(luò)上其他節(jié)點(diǎn)按照自己的需要通過(guò)標(biāo)識(shí)符來(lái)確定要接收的數(shù)據(jù)。避免了帶寬浪費(fèi),節(jié)省了網(wǎng)絡(luò)資源,同時(shí)提高了系統(tǒng)的通信效率。能夠很好地支持系統(tǒng)的控制、組態(tài)和數(shù)據(jù)采集,并且非實(shí)時(shí)性通信和實(shí)時(shí)性通信可以在同一子網(wǎng)中實(shí)現(xiàn)[1]。但工業(yè)控制系統(tǒng)遭受越來(lái)越多的威脅,主要是網(wǎng)絡(luò)協(xié)議自身的缺陷引起的,EtherNet/IP協(xié)議也存在安全問題[5],需要進(jìn)一步提高安全防護(hù)能力。

      1.2 CIP報(bào)文傳輸方式

      CIP協(xié)議報(bào)文傳輸方式有顯式報(bào)文和隱式報(bào)文傳輸兩種方式[4]。當(dāng)CIP協(xié)議嵌入U(xiǎn)DP協(xié)議用于發(fā)送隱式報(bào)文(Implicit(I/O)Message)。而CIP協(xié)議嵌入TCP協(xié)議用于發(fā)送顯式報(bào)文(Explicit Message)。兩種報(bào)文使用的封裝協(xié)議不同,傳輸?shù)南㈩愋鸵膊煌IP將應(yīng)用對(duì)象之間的通信關(guān)系抽象為連接,并與之相應(yīng)制定了對(duì)象邏輯規(guī)范,使CIP協(xié)議可以不依賴于某一具體的網(wǎng)路硬件技術(shù),用邏輯來(lái)定義連接的關(guān)系,在通信之前先建立連接獲取唯一的標(biāo)識(shí)符(Connection ID,CID),如果連接涉及雙向的數(shù)據(jù)傳輸,就要分配兩個(gè)CID。

      顯式報(bào)文針對(duì)組態(tài)信息、設(shè)備配置、故障診斷等非實(shí)時(shí)性信息,其優(yōu)先級(jí)較低(包含解讀該報(bào)文所需要的信息),通過(guò)點(diǎn)對(duì)點(diǎn)的報(bào)文在兩個(gè)對(duì)象之間以交互的方式進(jìn)行傳輸。報(bào)文本身攜帶有關(guān)地址、數(shù)據(jù)類型和功能描述等相關(guān)內(nèi)容,接收設(shè)備根據(jù)內(nèi)容做出相應(yīng)的處理,采用源/目的地址傳送方式。在通信之前通過(guò)TCP協(xié)議獲得標(biāo)識(shí)符CID,之后進(jìn)行數(shù)據(jù)報(bào)文傳輸[1,4]。使用通信端口0XAF12f。圖2是CIP顯示報(bào)文連接。

      圖2 顯示報(bào)文連接

      隱式報(bào)文用于節(jié)點(diǎn)之間傳輸實(shí)時(shí)I/O數(shù)據(jù)、實(shí)時(shí)互鎖,優(yōu)先級(jí)較高(隱式報(bào)文中不包含傳送地址、數(shù)據(jù)類型標(biāo)識(shí)和功能描述內(nèi)容),全部作為有效數(shù)據(jù),傳輸效率高,在報(bào)文頭部有數(shù)據(jù)標(biāo)識(shí)符,消費(fèi)者根據(jù)標(biāo)識(shí)符選擇自己需要的內(nèi)容,通過(guò)UDP協(xié)議將實(shí)時(shí)I/O消息傳送到總線上[1,4]。圖3是CIP隱式報(bào)文連接。

      2 CIP通信安全

      目前CIP協(xié)議仍然使用IETF標(biāo)準(zhǔn)TLS1.2(Transport Layer Security:RFC 5246)和DTLS1.2(Datagram Transport Layer Security:RFC 6347)協(xié)議版本保證顯示報(bào)文和隱式報(bào)文數(shù)據(jù)傳輸?shù)陌踩訹4,6-7]。TLS協(xié)議安承擔(dān)著Internet上通信的安全,造成越來(lái)越多的威脅,目前TLS1.2存在很多已被證明的安全隱患[7-11],TLS1.3(Transport Layer Security:RFC:8846)協(xié)議是2018年3月更新的最新版本,較之前的TLS1.2版本有較大的改變,修改了部分內(nèi)容,其安全性更高[6,13],這為EtherNet/IP協(xié)議的安全帶來(lái)新的挑戰(zhàn)和利益,因?yàn)槠鋺?yīng)用層CIP協(xié)議的安全性取決于TLS和DTLS協(xié)議安全保障能力。為了最大程度提高EtherNet/IP協(xié)議的安全性能,必須保證其應(yīng)用層協(xié)議CIP的安全性,所以最終在CIP協(xié)議中必須支持TLS1.3版本。TLS1.3在CIP協(xié)議中的支持預(yù)計(jì)要3~6年才能實(shí)現(xiàn)[6],TLS協(xié)議在握手期間實(shí)現(xiàn)秘鑰建立和認(rèn)證,身份驗(yàn)證和秘鑰的建立很大程度上來(lái)說(shuō)對(duì)CIP層和EtherNet/IP是透明的。TLS協(xié)議保證在不安全的傳輸通道上使用加密確保數(shù)據(jù)的安全傳輸。而DTLS協(xié)議是TLS轉(zhuǎn)換而來(lái)的,采用同TLS相同的設(shè)計(jì)方法,所以本文只對(duì)TLS協(xié)議進(jìn)行形式化分析。

      TLS協(xié)議保障在TCP傳輸安全性,客戶端和服務(wù)端建立TCP連接之后,建立TLS會(huì)話,實(shí)現(xiàn)TLS握手和TLS記錄協(xié)議[11]。TLS協(xié)議由很多子協(xié)議組成,其中核心協(xié)議是記錄協(xié)議和握手協(xié)議,TLS握手協(xié)議負(fù)責(zé)身份驗(yàn)證和秘鑰建立(包括TLS版本確定和秘鑰交換以及后續(xù)使用的秘鑰算法)[12],記錄協(xié)議通過(guò)使用客戶端和服務(wù)器協(xié)商后的秘鑰進(jìn)行數(shù)據(jù)加密,TLS記錄協(xié)議主要用來(lái)識(shí)別TLS中的消息類型[12](通過(guò)“Content Type”字段的數(shù)據(jù)來(lái)識(shí)別握手、警告或數(shù)據(jù)),以及每個(gè)消息的完整性保護(hù)和驗(yàn)證。圖4是TLS協(xié)議實(shí)現(xiàn)客戶端和服務(wù)端建立會(huì)話的初始配置過(guò)程。

      CIP報(bào)文傳輸分為隱式報(bào)文傳輸和顯式報(bào)文傳輸,顯式報(bào)文使用TCP傳輸,在TCP之上的應(yīng)用可以使用TLS來(lái)保證傳輸信息的安全性。但是TLS并不能保證UDP的傳輸安全,DTLS是在TLS協(xié)議框架上擴(kuò)展出來(lái)的。其協(xié)議結(jié)構(gòu)基本上同TLS相同,在隱式報(bào)文傳輸中使用UDP協(xié)議,對(duì)使用UDP協(xié)議通信的傳輸使用DTLS協(xié)議進(jìn)行加密處理。TLS和DTLS層次結(jié)構(gòu)如圖5所示。

      3 TLS協(xié)議形式化分析

      3.1 Scyther性能簡(jiǎn)介

      Scyther軟件是由牛津大學(xué)教授CAS CREMERS使用Python語(yǔ)言開發(fā)的一款功能很強(qiáng)的用于驗(yàn)證和表征安全協(xié)議的自動(dòng)化協(xié)議形式化分析工具,由于Python語(yǔ)言可以快速生成用戶界面,使用Python語(yǔ)言開發(fā)的軟件具有良好的人機(jī)交互界面,因此Scyther軟件具有可以對(duì)協(xié)議分析攻擊軌跡的輸出功能[16,17],便于理解協(xié)議存在的漏洞。Scyther軟件的協(xié)議分析采用Athena算法[14],使用該算法使得Scyther軟件可以支持多協(xié)議并行分析,該工具是安全協(xié)議形式化分析的最新技術(shù),支持分析與時(shí)序相關(guān)的協(xié)議,同時(shí)可以尋找協(xié)議的多種攻擊,輸出協(xié)議角色執(zhí)行軌跡和攻擊圖。除此之外,Scyther軟件對(duì)無(wú)限會(huì)話和無(wú)限狀態(tài)集合的協(xié)議給出明確的終止,其中實(shí)現(xiàn)多協(xié)議的并行分析解決了傳統(tǒng)分析工具的狀態(tài)空間爆炸問題[18-20],Scyther形式化分析工具內(nèi)置了Delov-Yao[21]模型和強(qiáng)安全模型,所以敵手的攻擊模式設(shè)置簡(jiǎn)單。并且在攻擊漏洞和攻擊誤報(bào)等性能方面也表現(xiàn)較好。

      圖3 隱式報(bào)文連接

      圖4 TLS會(huì)話初始化配置

      圖5 EtherNet/IP在TLS和DTLS層上結(jié)構(gòu)

      3.2 Scyther敵手模型和語(yǔ)義操作

      強(qiáng)安全模型是通過(guò)敵手定義更強(qiáng)的攻擊能力,決定了敵手能力在完全掌握了通信網(wǎng)絡(luò)的基礎(chǔ)上,具備腐蝕化長(zhǎng)期私鑰和臨時(shí)秘鑰等能力[20],Scythe可以通過(guò)敵手詢問組合的方式選擇安全模型,設(shè)置方便,并且有明確的終止。在強(qiáng)安全模型下可以同時(shí)添加會(huì)話秘鑰泄露、隨機(jī)數(shù)泄露、狀態(tài)泄露等。圖6是Scyther軟件敵手模型設(shè)置界面。

      Scyther定義安全協(xié)議結(jié)構(gòu)模型如圖7所示。

      Scyther使用SPDL[15]語(yǔ)言規(guī)定了一系列的操作語(yǔ)義和操作原語(yǔ),基本的操作語(yǔ)義如表1所示。

      3.3 對(duì)TLS協(xié)議形式化安全分析

      對(duì)TLS1.2協(xié)議進(jìn)行形式化分析,本文采用Scyther- Compromise-0.9.2版本,運(yùn)行在Intel(R) Core(TM) i5-7400 CPU@ 3.00 GHz、操作系統(tǒng)是Linux kali 4.19.0-kali3-amd64、8 GB RAM的電腦上(賦予至少4 GB以上的內(nèi)存),具體的使用軟件及工具參見表2。

      圖6 Scyther敵手模型設(shè)置界面

      圖7 協(xié)議結(jié)構(gòu)

      3.4 TLS協(xié)議會(huì)話形式化分析過(guò)程

      首先使用Scyther工具的SPDL語(yǔ)言對(duì)TLS握手協(xié)議交互的過(guò)程進(jìn)行形式化的描述,分別在Delov-Yao模型和強(qiáng)安全模型下對(duì)該協(xié)議進(jìn)行形式化分析。SPDL語(yǔ)言對(duì)協(xié)議的描述是基于角色的,在定義了協(xié)議交互使用的變量之后,整個(gè)協(xié)議的交互過(guò)程通過(guò)參與協(xié)議每個(gè)主體發(fā)生的事件集合表示。其中send和recv事件表示該主體發(fā)送和接收消息的事件,目標(biāo)屬性的描述通過(guò)claim事件完成,利用claim事件可以對(duì)角色的認(rèn)證性、變量的機(jī)密性等進(jìn)行描述。Scyther-Compromise工具可以方便地更改協(xié)議分析的安全模型,該工具的敵手的攻擊分析能力可以通過(guò)選項(xiàng)的形式供用戶選擇。

      表1 操作語(yǔ)義和安全屬性

      表2 形式化分析軟件使用到的軟件支持

      CIP協(xié)議嵌入到TCP報(bào)文傳輸?shù)臅r(shí)候,在實(shí)現(xiàn)客戶端和服務(wù)端身份認(rèn)證的時(shí)候,首先建立TLS會(huì)話,通過(guò)對(duì)協(xié)議版本、密碼算法和認(rèn)證方式以及公鑰加密技術(shù)的協(xié)商,進(jìn)入?yún)f(xié)議握手階段,圖8是TLS握手協(xié)議流程圖。

      (1)客戶端首先發(fā)起請(qǐng)求,交換hello協(xié)商算法、隨機(jī)數(shù)、協(xié)議版本等信息。

      圖8 TLS協(xié)議握手認(rèn)證過(guò)程

      (2)交換必要的密碼學(xué)參數(shù),客戶端和服務(wù)器生成預(yù)主秘鑰。

      (3)雙方交換數(shù)字證書,客戶端驗(yàn)證服務(wù)端證書通過(guò)后取出證書中的公鑰。

      (4)通過(guò)預(yù)主秘鑰和交換的隨機(jī)數(shù)生成主秘鑰。

      (5)為之后的記錄層提供安全參數(shù)。

      (6)秘鑰確認(rèn),進(jìn)行通信。

      根據(jù)TLS握手協(xié)議分析涉及的2個(gè)實(shí)體(Client、Server),協(xié)議形式化定義2個(gè)角色a和b分別表示客戶端和服務(wù)器。

      4 實(shí)驗(yàn)結(jié)果

      Scyther采用黑盒驗(yàn)證思想,每個(gè)角色從自身的角度判斷是否滿足安全目標(biāo)或者安全屬性,工業(yè)網(wǎng)絡(luò)最初與用戶應(yīng)用網(wǎng)絡(luò)Internet是分開的,像CIP、EtherNet/IP沒有考慮傳輸安全類問題,缺乏固有的安全機(jī)制。近些年研究人員公開報(bào)告了CIP和EtherNet/IP中許多漏洞,因?yàn)镋therNet/IP協(xié)議使用基于CIP的以太網(wǎng)協(xié)議,固然也存在安全隱患,圖9是Scyther-Compromise工具在Delov-Yao模型下對(duì)TLS握手協(xié)議的形式化分析輸出的攻擊路徑圖,圖10是在該模型下驗(yàn)證TLS握手協(xié)議秘鑰協(xié)商的機(jī)密性,結(jié)果顯示在該模型下不存在攻擊威脅。

      圖9 協(xié)議攻擊路徑

      圖10 在Delov-Yao模型下TLS協(xié)議分析結(jié)果

      圖11是在Scyther-Compromise工具中通過(guò)添加選項(xiàng)長(zhǎng)期私鑰泄露、會(huì)話秘鑰泄露、隨機(jī)數(shù)泄露以及狀態(tài)泄露的強(qiáng)安全模式設(shè)置參數(shù)界面。圖12是在強(qiáng)安全模型下對(duì)TLS握手協(xié)議機(jī)密性驗(yàn)證,結(jié)果顯示存在至少4個(gè)攻擊,證明在強(qiáng)安全模型下,TLS握手協(xié)議不能保證秘鑰的機(jī)密性。

      圖11 強(qiáng)安全模型設(shè)置

      圖12 強(qiáng)安全模型下TLS協(xié)議分析結(jié)果

      圖13是對(duì)應(yīng)強(qiáng)安全模型下,在修改了敵手攻擊能力后,讓敵手在完全掌握網(wǎng)絡(luò)通信基礎(chǔ)上,通過(guò)長(zhǎng)期私鑰泄露詢問主體的長(zhǎng)期私鑰輸出的攻擊圖,說(shuō)明客戶端和服務(wù)端都不能保證秘鑰協(xié)商的機(jī)密性,導(dǎo)致網(wǎng)絡(luò)通信不再安全,所以在強(qiáng)安全模型下TLS握手協(xié)議秘鑰傳輸是不安全的。這也就導(dǎo)致了基于TLS安全協(xié)議的應(yīng)用層CIP協(xié)議在EtherNet/IP協(xié)議中是不安全的。

      圖13 強(qiáng)安全模型下TLS協(xié)議攻擊輸出

      5 結(jié)束語(yǔ)

      本文分析了EtherNet/IP協(xié)議的結(jié)構(gòu)和性能,其核心組成成員應(yīng)用層CIP協(xié)議的安全性取決于加密認(rèn)證協(xié)議TLS的安全保證能力,使用Scyther工具對(duì)TLS協(xié)議進(jìn)行形式化分析,設(shè)置敵手模型分別為Delov-Yao模型和強(qiáng)安全模型下進(jìn)行驗(yàn)證,從輸出的攻擊軌跡圖,證明在強(qiáng)安全模型下TLS協(xié)議存在長(zhǎng)期秘鑰泄露導(dǎo)致主體的長(zhǎng)期私鑰泄露的危險(xiǎn)。由于秘鑰傳輸過(guò)程中傳輸?shù)臋C(jī)密性取決于長(zhǎng)期私鑰的安全性。實(shí)驗(yàn)證明TLS握手協(xié)議在強(qiáng)安全模型下傳輸秘鑰不安全,TLS協(xié)議無(wú)法保證CIP協(xié)議通信的安全,導(dǎo)致了使用CIP作為EtherNet/IP協(xié)議的核心協(xié)議在應(yīng)用層的傳輸不夠安全。未來(lái)在EtherNet/IP協(xié)議嵌入TLS1.3版本的時(shí)候不得不重新考慮整體安全性。

      猜你喜歡
      秘鑰敵手報(bào)文
      基于J1939 協(xié)議多包報(bào)文的時(shí)序研究及應(yīng)用
      汽車電器(2022年9期)2022-11-07 02:16:24
      ETC秘鑰國(guó)產(chǎn)化升級(jí)改造方案設(shè)計(jì)與實(shí)現(xiàn)
      CTCS-2級(jí)報(bào)文數(shù)據(jù)管理需求分析和實(shí)現(xiàn)
      干細(xì)胞開啟未來(lái)大健康的“秘鑰” 專家與媒體面對(duì)面活動(dòng)走進(jìn)中源協(xié)和—山西省干細(xì)胞基因工程有限公司
      淺析反駁類報(bào)文要點(diǎn)
      不帶著怒氣做任何事
      基于Unity 3D的產(chǎn)品秘鑰二維碼實(shí)現(xiàn)
      ATS與列車通信報(bào)文分析
      基于二元多項(xiàng)式與中國(guó)剩余定理的多秘密分享方案
      不帶著怒氣作戰(zhàn)
      永康市| 弥勒县| 五寨县| 阳西县| 礼泉县| 兰溪市| 吉木萨尔县| 奇台县| 翁牛特旗| 龙山县| 额敏县| 武胜县| 张北县| 永定县| 米易县| 错那县| 旬阳县| 治多县| 民丰县| 天水市| 西乡县| 大方县| 西充县| 中山市| 井研县| 雅安市| 南通市| 尚志市| 丰县| 古田县| 南康市| 霍邱县| 临邑县| 金华市| 高唐县| 蕉岭县| 远安县| 扶余县| 东丽区| 会东县| 巴彦淖尔市|