針對iec60870-5-104協(xié)議的安全防護方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明涉及工業(yè)信息技術(shù)領(lǐng)域,特別涉及一種針對IEC60870-5-101協(xié)議的安全防護方法及系統(tǒng)。
【背景技術(shù)】
[0002]IEC60870-5-104協(xié)議(IEC104)是IEC60870 — 5 —104是IEC TC57為滿足網(wǎng)絡(luò)技術(shù)在電力系統(tǒng)中的應用,利用網(wǎng)絡(luò)傳輸遠動信息,在IEC60870-5-101基本遠動任務配套標準的基礎(chǔ)上制定的。它的名稱為“用標準傳輸文件集的IEC60870-5-101網(wǎng)絡(luò)訪問”,此協(xié)議將IEC60870 — 5— 101的應用層與TCP/IP(Transmiss1n Control ProtocoI/InternetProtocol)提供的傳輸功能相組合。在TCP/IP內(nèi)各種網(wǎng)絡(luò)類型都可使用,包括X.25、FR(Frame Relay)、ATM(Asynchronous TransferMode)和ISDN(Integrated Service DataNetwork)。
[0003]目前,工業(yè)控制網(wǎng)絡(luò)多采用傳統(tǒng)的防火墻等設(shè)備對IEC60870-5-104協(xié)議傳輸進行安全防護。這些設(shè)備的基本原理是在TCP/IP層檢測并隔離流經(jīng)防護設(shè)備的異常信息流,防止已知病毒和攻擊的入侵。但是這種方式無法對包含在合法數(shù)據(jù)流中的危險操作(如帶有危險操作的控制命令)進行識別和阻止,即不能在應用層對異常信息流進行過濾,這可能會導致設(shè)備的運行出現(xiàn)異常甚至損毀。其主要特點是通過篡改正常工控協(xié)議參數(shù)達成破壞物理設(shè)備的目的。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的實施方式提供一種針對IEC60870-5-104協(xié)議的安全防護方法及系統(tǒng),用于解決現(xiàn)有技術(shù)中基于IEC60870-5-104協(xié)議的工控系統(tǒng)通信時可靠性低的問題。
[0005]根據(jù)本發(fā)明的一個方面,提供了一種安全防護方法,所述方法包括:
[0006]對接收到的外部訪問請求進行TCP/IP層協(xié)議解析,根據(jù)第一預設(shè)白名單確定所述外部訪問請求TCP/IP層的合法性;
[0007 ]若合法,對所述外部訪問請求進行組包,檢測所述外部訪問請求組成的幀的完整性;
[0008]若完整,確定所述外部訪問請求的幀類型,所述幀類型包括I格式幀、S格式幀和U格式幀;
[0009]當所述外部訪問請求為S格式幀或U格式幀時,允許所述外部訪問請求根據(jù)TCP/IP協(xié)議組包并轉(zhuǎn)發(fā)至內(nèi)部通訊端口;
[0010]當所述外部訪問請求為I格式幀時,根據(jù)第二預設(shè)白名單確定所述外部訪問請求應用層的合法性,若合法,則允許所述外部訪問請求根據(jù)TCP/IP協(xié)議組包并轉(zhuǎn)發(fā)至內(nèi)部通訊端口;否則阻斷所述外部訪問請求的TCP/IP連接。
[0011 ]根據(jù)本發(fā)明的另一個方面,還提供了一種安全防護系統(tǒng),包括:
[0012]訪問請求接收端口,配置以接收外部訪問請求;
[0013]解析模塊,配置以對所述外部訪問請求進行TCP/IP層協(xié)議解析,根據(jù)第一預設(shè)白名單確定所述外部訪問請求的TCP/IP層合法性;
[0014]組包模塊,配置以對所述外部訪問請求進行組包;
[0015]檢測模塊,配置以檢測所述外部訪問請求組成的幀的完整性;
[0016]幀類型確定模塊,配置以確定所述外部訪問請求的幀類型,所述幀類型包括I格式幀、S格式幀和U格式幀;
[0017]應用層確定模塊,配置以當所述外部訪問請求為I格式幀時,根據(jù)第二預設(shè)白名單確定所述外部訪問請求的應用層合法性;
[0018]發(fā)送模塊,配置以當所述外部訪問請求為S格式幀或U格式幀,或所述外部訪問請求合法時,將根據(jù)TCP/IP協(xié)議組包后的所述外部訪問請求轉(zhuǎn)發(fā)至內(nèi)部通訊端口;
[0019]阻斷模塊,配置以在所述外部訪問請求不合法時,阻斷所述外部訪問請求的TCP/IP連接。
[0020]本發(fā)明的實施方式的針對IEC60870-5-104協(xié)議的安全防護方法及系統(tǒng),在TCP/IP層和應用層進行了多級安全防護,可以有效地抵御針對采用IEC60870-5-104協(xié)議的工控設(shè)備或系統(tǒng)的多種攻擊,確保采用IEC60870-5-104協(xié)議的各種工控設(shè)備和系統(tǒng)的保密性、完整性和可用性,有效地避免了傳統(tǒng)的采用IEC60870-5-104協(xié)議的工控設(shè)備或系統(tǒng)不具備安全防范機制導致的安全風險。
【附圖說明】
[0021]為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹。需要說明,下面參照附圖描述的內(nèi)容僅是本發(fā)明的一些實施方式,本領(lǐng)域普通技術(shù)人員,可以根據(jù)這些附圖及其說明獲得其他的實施例。
[0022]圖1為本發(fā)明一實施方式的安全防護方法的流程圖;
[0023]圖2為本發(fā)明另一實施方式的安全防護方法的流程圖;
[0024]圖3為本發(fā)明另一實施方式的安全防護方法的流程圖;
[0025]圖4為本發(fā)明另一實施方式的安全防護方法的流程圖;
[0026]圖5為本發(fā)明又一實施方式的安全防護方法的流程圖;
[0027]圖6為本發(fā)明一實施方式的安全防護系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實施方式】
[0028]為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在無需創(chuàng)造性勞動而獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0029]需要說明的是,在不沖突的情況下,本申請中的實施方式及實施方式中的特征可以相互組合。
[0030]還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”,不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0031]圖1是本發(fā)明一實施方式的安全防護方法的流程圖。如圖1所示,本發(fā)明的一實施方式的安全防護方法包括:
[0032]Sll:對接收到的外部訪問請求進行TCP/IP層協(xié)議解析,根據(jù)第一預設(shè)白名單確定所述外部訪問請求的TCP/IP層合法性;
[0033]SI 2:若合法,對所述外部訪問請求進行組包,檢測所述外部訪問請求組成的幀的完整性;
[0034]S13:若幀完整,確定所述外部訪問請求的幀類型,所述幀類型包括I格式幀、S格式幀和U格式幀;
[0035]S14:當所述外部訪問請求為S格式幀或U格式幀時,允許所述外部訪問請求根據(jù)TCP/IP協(xié)議組包并轉(zhuǎn)發(fā)至內(nèi)部通訊端口;
[0036]S15:當所述外部訪問請求為I格式幀時,根據(jù)第二預設(shè)白名單確定所述外部訪問請求的應用層合法性;若合法,則允許所述外部訪問請求根據(jù)TCP/IP協(xié)議組包并轉(zhuǎn)發(fā)至內(nèi)部通訊端口;否則阻斷所述外部訪問請求的TCP/IP連接。
[0037]其中,本實施方式中的組包/幀完整性檢測過程如下:
[0038]步驟1:將接收應用層字節(jié)流保存在緩沖區(qū)中;
[0039]步驟2:尋找起始符,如果在緩沖區(qū)中沒有找到起始符,則將緩沖區(qū)清空,產(chǎn)生日志記錄,過程結(jié)束;如果找到起始符,檢查是否有多余字節(jié),如果起始符之前有多余字符,將該部分字節(jié)流從緩沖區(qū)移除并丟棄,產(chǎn)生日志記錄,然后從起始符開始,取出幀長度,如果判斷緩沖區(qū)中的字節(jié)數(shù)不夠,則等待接收信息新的字節(jié)流,轉(zhuǎn)到步驟I,否則進入步驟3;
[0040]步驟3:從起始符開始,按幀長度取出字節(jié)流,按IEC104協(xié)議定義的控制域格式檢查幀,如果符合控制域定義的格式,則為合法的完整幀,進入下一合法性判斷步驟,否則為錯誤幀,則