• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    可編程控制器原生的信息安全設(shè)計(jì)

    2018-04-19 11:34:16朱毅明
    關(guān)鍵詞:協(xié)處理器報(bào)文代碼

    朱毅明

    (和利時(shí)集團(tuán),北京 100176)

    0 引言

    PLC是一種工業(yè)計(jì)算機(jī)系統(tǒng),采用的硬件和軟件在基礎(chǔ)架構(gòu)上與其他的計(jì)算機(jī)系統(tǒng)并無實(shí)質(zhì)性的不同,不可避免地存在與其他計(jì)算機(jī)系統(tǒng)相同或相似的缺陷和漏洞,也不會免除在信息安全方面遇到的挑戰(zhàn)。

    1 PLC信息安全困境

    自20世紀(jì)70年代誕生以來,PLC硬件采用“主控制器+IO+通信”,在線軟件采用“嵌入式操作系統(tǒng)+實(shí)時(shí)控制運(yùn)算引擎+應(yīng)用組態(tài)代碼”,離線開發(fā)軟件采用“工程管理+硬件配置工具+IEC61131-3圖形化語言組態(tài)工具+編譯器工具+調(diào)試工具”的基本架構(gòu),并未發(fā)生革命性的變化。盡管各大PLC廠家每隔十年左右都會推出新一代產(chǎn)品,在控制性能、控制規(guī)模、開發(fā)環(huán)境等方面有很大的提高,但在PLC內(nèi)部信息安全的改進(jìn)卻乏善可陳。究其根本原因,并不是PLC廠商沒有技術(shù)能力在信息安全方面采取改進(jìn)措施,而是由于PLC本身屬于廣泛應(yīng)用、充分競爭的成熟工業(yè)控制設(shè)備,大部分工業(yè)客戶認(rèn)為自身的信息安全風(fēng)險(xiǎn)不大,自然不會對增加的信息安全功能埋單。

    由于PLC屬于工業(yè)關(guān)鍵控制設(shè)備,一旦停機(jī),企業(yè)的損失遠(yuǎn)大于PLC采購成本,工業(yè)用戶要求PLC滿足365天常年連續(xù)不間斷運(yùn)行的要求。對于PLC設(shè)計(jì)人員,PLC的可靠性和穩(wěn)定性一直都是一個(gè)巨大的挑戰(zhàn)。大型PLC系統(tǒng)的研發(fā)和測試周期長達(dá)2~3年,開發(fā)成本高昂,目前在市場上尚未出現(xiàn)成熟的、具備原生信息安全設(shè)計(jì)的PLC產(chǎn)品。

    圖2 增加安全協(xié)處理器后的PLC硬件架構(gòu)

    隨著工業(yè)互聯(lián)網(wǎng)和物聯(lián)網(wǎng)技術(shù)的發(fā)展,PLC從單體化的工業(yè)控制設(shè)備逐步演變成網(wǎng)絡(luò)化的復(fù)雜控制系統(tǒng),不但主控制單元與IO單元之間存在現(xiàn)場總線通信,而且在主控制器與主控制器之間也存在工業(yè)實(shí)時(shí)網(wǎng)絡(luò)通道;另一方面隨著智能制造系統(tǒng)集成技術(shù)的快速推進(jìn),必須打通PLC與SCADA或MES的雙向數(shù)據(jù)交換通道。原來相對封閉的PLC運(yùn)行和開發(fā)環(huán)境已不復(fù)存在,現(xiàn)在的PLC面對的是開放、復(fù)雜、不確定的工業(yè)互聯(lián)網(wǎng)環(huán)境,信息安全的風(fēng)險(xiǎn)迅速增高。隨著2017年6月1日開始正式實(shí)施的《網(wǎng)絡(luò)安全法》的嚴(yán)格執(zhí)行,企業(yè)承擔(dān)工業(yè)控制系統(tǒng)安全的主體責(zé)任,國內(nèi)工業(yè)企業(yè)客戶對于PLC信息安全解決方案的需求快速增加。

    圖1 傳統(tǒng)的PLC硬件架構(gòu)

    用于PLC外掛補(bǔ)丁式的信息安全升級措施確實(shí)能夠發(fā)揮很大的作用,對于大部分攻擊場景都有良好的防御性能,但是大部分外掛式補(bǔ)丁對于PLC系統(tǒng)的實(shí)時(shí)性和可靠性都有不小的影響。一方面,常見的具備網(wǎng)絡(luò)報(bào)文深度解析功能的工業(yè)防火墻需要增加大約幾十毫秒的傳輸延遲,如果用于PLC與MES的邊界防護(hù)問題不大,但是如果用于PLC與PLC之間的協(xié)同控制就很難滿足實(shí)時(shí)性要求。另一方面,如果將工業(yè)防火墻串接在PLC與SCADA(或DCS)之間,一旦工業(yè)防火墻故障,可能會導(dǎo)致整個(gè)生產(chǎn)工藝的中斷,而工業(yè)防火墻大多基于商用的Linux和X86平臺,軟硬件系統(tǒng)的復(fù)雜度遠(yuǎn)高于工業(yè)控制系統(tǒng),對于工業(yè)控制系統(tǒng)整體可靠性影響很大。

    2 原生信息安全的PLC硬件設(shè)計(jì)

    由于工業(yè)用戶對于長期運(yùn)行可靠性和穩(wěn)定性的強(qiáng)烈要求,PLC的總體設(shè)計(jì)是基于簡單即可靠的奧卡姆剃刀原則,如無必要,不應(yīng)增加系統(tǒng)的復(fù)雜度。在這個(gè)原則的指導(dǎo)下,PLC開發(fā)的技術(shù)路線偏向于保守,大部分傳統(tǒng)的PLC軟硬件中都找不到與信息安全相關(guān)的設(shè)計(jì)。

    傳統(tǒng)的PLC硬件架構(gòu)如圖1所示,實(shí)質(zhì)上它是一個(gè)典型的嵌入式計(jì)算機(jī),主要包括處理器、RAM、程序存儲器、工業(yè)IO接口、通信接口等。

    在傳統(tǒng)的PLC硬件的基礎(chǔ)上增加安全協(xié)處理器,實(shí)現(xiàn)可信啟動、完整性度量、報(bào)文加解密、身份認(rèn)證等功能。為了滿足國家對于工業(yè)信息安全的需求,安全協(xié)處理器采用國產(chǎn)芯片產(chǎn)品和FPGA的組合,支持符合國密算法標(biāo)準(zhǔn)的對稱和非對稱算法。增加安全協(xié)處理器后的PLC硬件架構(gòu)如圖2所示。

    PLC冷啟動順序從原來的直接從主CPU啟動改為從先啟動安全協(xié)處理器,讀取程序存儲器,度量在Flash中系統(tǒng)程序代碼的完整性后,再可控啟動PLC主CPU。

    PLC主CPU正常啟動后,讀取加密存儲的用戶代碼,交由安全協(xié)處理器校驗(yàn)完整性并解密后進(jìn)入正常的控制流程。在PLC正常運(yùn)行狀態(tài)下,安全協(xié)處理器主要負(fù)責(zé)PLC運(yùn)行狀態(tài)和網(wǎng)絡(luò)攻擊的監(jiān)測,以及基于硬件芯片的網(wǎng)絡(luò)報(bào)文。安全協(xié)處理器一旦發(fā)現(xiàn)網(wǎng)絡(luò)攻擊,將觸發(fā)保護(hù)機(jī)制強(qiáng)制主CPU退出正常運(yùn)行模式,進(jìn)入網(wǎng)絡(luò)保護(hù)運(yùn)行模式,嚴(yán)格過濾網(wǎng)絡(luò)報(bào)文,關(guān)閉遠(yuǎn)程下裝、用戶代碼調(diào)試、配置修改等功能,維持正常的控制保護(hù)邏輯。

    除了增加安全協(xié)處理器之外,PLC原有的一些硬件設(shè)計(jì)也需要進(jìn)行修改。

    丁主任看著潘美麗,潘美麗的臉依然拉得老長,甕聲甕氣地:最主要的是今后這些孩子怎么養(yǎng)???我的牛奶不喝了,給孩子們換茶葉鹽巴吧。

    PLC采用的微控制器芯片大多支持在系統(tǒng)編程功能(ISP),在PCB設(shè)計(jì)時(shí)會保留JTAG接口,用于系統(tǒng)程序的燒錄和調(diào)試,通過這些接口可以訪問到PLC的核心代碼和數(shù)據(jù),存在信息安全隱患。在原生信息安全的PLC設(shè)計(jì)中需要封閉微處理器的相關(guān)功能,并將存放于外置Flash的代碼和數(shù)據(jù)進(jìn)行加密處理。

    PLC存放系統(tǒng)程序和用戶程序的Flash需要在實(shí)體上分離,并在硬件電路上采取防范措施,嚴(yán)格控制對于系統(tǒng)程序的修改。

    3 原生信息安全PLC的軟件設(shè)計(jì)

    PLC軟件主要包括編程開發(fā)軟件、在線運(yùn)行軟件、HMI軟件(可選)等部分。

    3.1 PLC編程開發(fā)軟件

    PLC編程開發(fā)軟件一般運(yùn)行于Windows或Linux操作系統(tǒng),處于一個(gè)開放的運(yùn)行環(huán)境,無論是操作系統(tǒng)還是網(wǎng)絡(luò)環(huán)境,都存在不少的漏洞和缺陷。大部分的惡意攻擊都是通過控制PLC編程開發(fā)軟件,將惡意控制代碼以合法的裝載方式遠(yuǎn)程注入到在工業(yè)現(xiàn)場運(yùn)行的PLC系統(tǒng),對工業(yè)生產(chǎn)造成嚴(yán)重的破壞,震網(wǎng)病毒也正是通過STEP7編程軟件修改在線運(yùn)行的用戶控制邏輯代碼和關(guān)鍵數(shù)據(jù)最終達(dá)成攻擊目的。

    PLC編程開發(fā)軟件主要包括工程管理、硬件和網(wǎng)絡(luò)配置工具、IEC61131-3圖形化編程和編譯工具、用戶應(yīng)用代碼下裝和調(diào)試工具等組成部分,主要存在的信息安全問題如下:

    (1)用戶應(yīng)用代碼缺少防護(hù)。PLC編程開發(fā)軟件在打開用戶工程時(shí)大多會要求輸入正確用戶名和密碼進(jìn)行身份鑒別,但是實(shí)際上不少PLC的用戶程序代碼采用二進(jìn)制或文本的方式明碼存儲,并且缺少文件完整性檢查措施,可以輕易打開并修改;另外就是存在無偽裝、簡單加密的用戶名和密碼存儲文件,這種身份鑒別措施基本上屬于防君子不防小人的,對于惡意的攻擊基本不具備防護(hù)能力。

    (2)用戶應(yīng)用代碼下裝過程缺少嚴(yán)格的身份鑒別。傳統(tǒng)的PLC用戶應(yīng)用代碼下裝過程的過于簡單,極端情況下,只要正確輸入目標(biāo)PLC的IP地址或設(shè)備名,任何一臺能夠連接到PLC編程網(wǎng)絡(luò)端口、運(yùn)行PLC編程開發(fā)軟件的PC都具備裝載、修改、調(diào)試用戶程序的能力。

    為了消除PLC編程開發(fā)軟件在基本架構(gòu)設(shè)計(jì)上的信息安全風(fēng)險(xiǎn),首先需要對用戶應(yīng)用代碼的源文件、中間文件和目標(biāo)文件采用基于用戶自定義私有秘鑰的加密措施,在文件和內(nèi)存中不保留秘鑰,增加數(shù)字簽名等文件完整性檢驗(yàn)手段,驗(yàn)證源文件與目標(biāo)文件的關(guān)聯(lián)一致性,設(shè)定兩級文件編輯權(quán)限,一級是查看,二級是修改,只有輸入正確秘鑰的用戶才能正常執(zhí)行打開、編輯和編譯等操作;其次采用基于USBKey證書的身份認(rèn)證,只有擁有合法證書的操作者采用對特定的PLC進(jìn)行下裝和調(diào)試操作,編程開發(fā)軟件與在線控制運(yùn)行軟件網(wǎng)絡(luò)傳輸?shù)膱?bào)文采用基于PKI的公私鑰協(xié)商方式進(jìn)行加密處理,加解密符合國密算法標(biāo)準(zhǔn)。

    采用嚴(yán)格的信息安全措施會降低PLC編程開發(fā)軟件的用戶體驗(yàn),特別是USBKey證書的應(yīng)用對用戶在現(xiàn)場的編程操作造成很大的困擾。在整個(gè)體系中需要考慮PLC生產(chǎn)商、分銷商、集成商和最終用戶的需求,建立合理的CA、RA的證書管理體系,減少現(xiàn)場維護(hù)的靈活度。

    3.2 PLC在線運(yùn)行軟件

    PLC在線運(yùn)行軟件是PLC長期穩(wěn)定可靠工作的關(guān)鍵。PLC在線運(yùn)行軟件主要包括嵌入式操作系統(tǒng)、控制算法引擎、在線自診斷和工業(yè)網(wǎng)絡(luò)通信協(xié)議棧等部分,主要存在如下信息安全問題:

    (1)PLC在線運(yùn)行軟件的系統(tǒng)程序代碼缺少完整性校驗(yàn),即使被惡意修改也無法及時(shí)發(fā)現(xiàn)。

    (2)用戶應(yīng)用程序代碼和數(shù)據(jù)的下裝缺少嚴(yán)格的授權(quán)。PLC編程開發(fā)軟件與在線運(yùn)行軟件通過網(wǎng)絡(luò)實(shí)現(xiàn)用戶程序代碼下裝和在線調(diào)試的功能,簡單的“用戶名+口令”無法保證安全。

    (3)全部網(wǎng)絡(luò)數(shù)據(jù)明碼傳輸,且上位機(jī)(HMI或SCADA)的身份無嚴(yán)格的校驗(yàn),容易受到重放攻擊,導(dǎo)致工業(yè)生產(chǎn)現(xiàn)場的誤動作。通過PLC外部的加密設(shè)備可以實(shí)現(xiàn)PLC網(wǎng)絡(luò)傳輸過程的透明加密,但是無法對PLC內(nèi)部的授權(quán)管理模式進(jìn)行改進(jìn)。

    (4)嵌入式操作系統(tǒng)和通信協(xié)議棧存在漏洞或缺陷。由于升級固件需要停止PLC運(yùn)行,且大多數(shù)情況下工業(yè)現(xiàn)場操作規(guī)程規(guī)定在PLC固件升級后需要重新測試大部分控制功能和性能,因此PLC在工業(yè)現(xiàn)場基本不存在升級固件的可行性。

    (5)PLC的用戶應(yīng)用代碼權(quán)限過高。PLC編程開發(fā)軟件編譯生成的用戶應(yīng)用代碼包括

    中間代碼和目標(biāo)機(jī)器碼兩大類型,為了提高運(yùn)行效率,不少廠家的PLC采用直接下裝目標(biāo)機(jī)器碼的方式,但是在運(yùn)行過程中,為了保證控制的實(shí)時(shí)性,用戶應(yīng)用代碼往往設(shè)定過高的運(yùn)行級別,一旦被惡意修改,可能會產(chǎn)生嚴(yán)重的后果。

    工業(yè)信息安全需求需要在PLC開發(fā)的需求分析階段加以考慮,通過開展安全分析,尋找危險(xiǎn)和風(fēng)險(xiǎn),并在設(shè)計(jì)過程中逐步化解風(fēng)險(xiǎn),部分設(shè)計(jì)思路如下:

    (1)在硬件上增加安全協(xié)處理器實(shí)現(xiàn)信任鏈的傳遞,并實(shí)現(xiàn)主處理器系統(tǒng)代碼的完整性度量。

    (2)采用CA、RA、證書、公私鑰、數(shù)字簽名的身份鑒別體系,保證PLC用戶應(yīng)用程序代碼和數(shù)據(jù)的完整性和正確性。

    (3)采用基于公私鑰的秘鑰交換方式和對稱加密的網(wǎng)絡(luò)報(bào)文傳輸方式實(shí)現(xiàn)PLC與上位機(jī)的數(shù)據(jù)報(bào)文加密處理,為了降低PLC側(cè)的CPU負(fù)荷,可以采用安全協(xié)處理器完成相關(guān)的加解密工作。

    (4)采用安全協(xié)處理器或單獨(dú)的通信處理器對網(wǎng)絡(luò)報(bào)文進(jìn)行可配置策略的深度過濾,過濾策略需要與PLC的組態(tài)關(guān)聯(lián),由PLC編程開發(fā)軟件自動生成基本規(guī)則模板,人工補(bǔ)充修改。

    (5)下裝的用戶應(yīng)用代碼采用中間代碼的方式,,可采用類似虛擬機(jī)的方式在PLC中執(zhí)行用戶應(yīng)用代碼,實(shí)現(xiàn)對于用戶應(yīng)用代碼行為的有效監(jiān)控。離線設(shè)定安全邊界條件或規(guī)則,在線實(shí)時(shí)檢查,一旦發(fā)現(xiàn)用戶應(yīng)用代碼控制行為異常,可以立即采取措施降低危險(xiǎn)發(fā)生的可能性。

    4 結(jié)論

    本文討論了在PLC設(shè)計(jì)階段需要考慮的信息安全需求和原生的部分設(shè)計(jì)解決方案,可以為PLC內(nèi)部的信息安全設(shè)計(jì)提供參考。

    [1] 周浩,黃雙等.嵌入式PLC的信息安全策略設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)科學(xué),2013,40(9):125-127.

    [2] 于立業(yè),薛向榮,張?jiān)瀑F,等,工業(yè)控制系統(tǒng)信息安全解決方案[J].冶金自動化,2013,37(1):5-11.

    [3] 邵誠,鐘梁高,一種基于可信計(jì)算的工業(yè)控制系統(tǒng)信息安全解決方案[J].信息與控制,2015,44(5):628-633.

    猜你喜歡
    協(xié)處理器報(bào)文代碼
    基于J1939 協(xié)議多包報(bào)文的時(shí)序研究及應(yīng)用
    汽車電器(2022年9期)2022-11-07 02:16:24
    基于HBase分布式數(shù)據(jù)庫海量數(shù)據(jù)序列存儲優(yōu)化
    CTCS-2級報(bào)文數(shù)據(jù)管理需求分析和實(shí)現(xiàn)
    基于HBase分布式數(shù)據(jù)庫海量數(shù)據(jù)序列存儲優(yōu)化
    淺析反駁類報(bào)文要點(diǎn)
    中國外匯(2019年11期)2019-08-27 02:06:30
    創(chuàng)世代碼
    動漫星空(2018年11期)2018-10-26 02:24:02
    創(chuàng)世代碼
    動漫星空(2018年2期)2018-10-26 02:11:00
    創(chuàng)世代碼
    動漫星空(2018年9期)2018-10-26 01:16:48
    創(chuàng)世代碼
    動漫星空(2018年5期)2018-10-26 01:15:02
    HBase分布式二級索引通用方案研究
    老河口市| 长泰县| 郓城县| 会宁县| 鄂托克旗| 泰和县| 玛沁县| 江陵县| 西贡区| 鱼台县| 全州县| 平江县| 晋城| 张北县| 青川县| 丽江市| 台南市| 兴义市| 寻乌县| 云安县| 绵竹市| 凤翔县| 张家港市| 师宗县| 汽车| 靖州| 潞西市| 景东| 武安市| 沈丘县| 冀州市| 文安县| 铜梁县| 贵定县| 黔江区| 翁牛特旗| 英德市| 贵港市| 姚安县| 九寨沟县| 巴林右旗|