999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

電力工控協(xié)議脆弱性動態(tài)分析技術(shù)的研究

2018-02-16 08:05:42郭志民李暖暖
通信電源技術(shù) 2018年12期
關(guān)鍵詞:指令系統(tǒng)

陳 岑,呂 卓,郭志民,李暖暖

(國網(wǎng)河南省電力公司電力科學(xué)研究院,河南 鄭州 450052)

0 引 言

面向電力工控協(xié)議分析的脆弱性分析技術(shù)包含靜態(tài)和動態(tài)兩個方面[1]。靜態(tài)分析方面,在不運行電力工控協(xié)議實現(xiàn)程序的前提下,分析軟件程序中可能存在的漏洞,主要研究軟件或固件逆向解析、中間語言分析、模擬執(zhí)行數(shù)據(jù)流分析和智能缺陷識別等工控協(xié)議的靜態(tài)漏洞挖掘及分析技術(shù)。此外,通過分析工控協(xié)議實現(xiàn)程序的詞法、語法、語義,檢測軟件中存在的弱安全函數(shù)調(diào)用和缺陷代碼片段,并以中間表示語言為基礎(chǔ),進一步分析函數(shù)控制流圖和模塊函數(shù)調(diào)用圖,挖掘電力工控協(xié)議實現(xiàn)過程中的安全漏洞[2-5]。但是,靜態(tài)分析方法未考慮外界因素對待測系統(tǒng)安全性的影響,因此可以通過研究電力工控協(xié)議脆弱性動態(tài)分析進一步挖掘電力工控協(xié)議漏洞。電力工控協(xié)議脆弱性動態(tài)分析技術(shù)是在待測系統(tǒng)實際運行的前提下,通過觀察待測系統(tǒng)執(zhí)行過程中程序的運行狀態(tài)、內(nèi)存使用狀況、寄存器的值以及協(xié)議數(shù)據(jù)處理情況等發(fā)現(xiàn)潛在問題。

1 電力工控協(xié)議脆弱性動態(tài)分析技術(shù)研究

針對電力工控協(xié)議實現(xiàn)的脆弱性,主要從兩個層面進行動態(tài)分析。系統(tǒng)層面,研究面向工控協(xié)議數(shù)據(jù)的動態(tài)污點分析技術(shù),跟蹤工控協(xié)議數(shù)據(jù)流的傳播,針對特定的控制指令做出安全性斷言[6-7]。網(wǎng)絡(luò)層面,研究雙向Fuzzing測試技術(shù),構(gòu)造模糊測試指令集,同時監(jiān)視協(xié)議服務(wù)器端和客戶端的測試過程和返回結(jié)果,以驗證待測系統(tǒng)協(xié)議實現(xiàn)的正確性[8-9]。通過分析系統(tǒng)和網(wǎng)絡(luò)兩個層面的測試結(jié)果,發(fā)現(xiàn)了工控協(xié)議存在的安全漏洞。研究步驟如圖1所示。

圖1 電力工控協(xié)議脆弱性動態(tài)分析技術(shù)研究步驟

1.1 基于動態(tài)污點分析的工控協(xié)議動態(tài)漏洞挖掘

污點數(shù)據(jù)指來自不可信數(shù)據(jù)源的數(shù)據(jù)或通過工控協(xié)議讀入的數(shù)據(jù)。利用動態(tài)污點分析技術(shù)挖掘工控協(xié)議漏洞的基本原理如下。工控系統(tǒng)運行過程中,監(jiān)控可以改變程序流程的數(shù)據(jù),而這些數(shù)據(jù)往往來自可信的數(shù)據(jù)源。但是,如果攻擊利用協(xié)議漏洞修改了這些數(shù)據(jù)的值,便可以控制程序的運行。比如,跳轉(zhuǎn)指令(Jmp)的目的地址參數(shù)通常來自程序本身(即來源于可信的數(shù)據(jù)源),而非外部輸入數(shù)據(jù)(如通過工控協(xié)議傳入的數(shù)據(jù))。然而,攻擊者可以利用工控協(xié)議實現(xiàn)過程中的漏洞,復(fù)寫跳轉(zhuǎn)指令的目的地址,從而實現(xiàn)控制工控系統(tǒng)運行流程的目的。

為了檢測引起工控系統(tǒng)運行流程異常的污點數(shù)據(jù),需經(jīng)過標(biāo)識污點數(shù)據(jù)、監(jiān)控污點數(shù)據(jù)傳播路徑、判斷污點數(shù)據(jù)是否會引起系統(tǒng)異常三個步驟。如圖2所示,基于動態(tài)污點分析的工控協(xié)議動態(tài)漏洞挖掘與分析方法可以劃分為三個功能組件。

圖2 基于動態(tài)污點分析的工控協(xié)議動態(tài)漏洞挖掘與分析方法功能組件

1.1.1 指令識別與污點數(shù)據(jù)標(biāo)識組件

指令識別與污點數(shù)據(jù)標(biāo)識組件將來源于不可信的數(shù)據(jù)標(biāo)識為污點數(shù)據(jù)。因為網(wǎng)絡(luò)數(shù)據(jù)中可能包含多種攻擊向量,所以來源于網(wǎng)絡(luò)的工控協(xié)議數(shù)據(jù)默認(rèn)為不可信數(shù)據(jù)。此外,可以通過配置,將來源于文件和標(biāo)準(zhǔn)輸入的數(shù)據(jù)認(rèn)為是不可信數(shù)據(jù)。這是由于部分系統(tǒng)支持工控協(xié)議數(shù)據(jù)錄播和回放,此時包含攻擊向量的數(shù)據(jù)可能被文本化后輸入工控系統(tǒng)。

電力工控指令具有不同安全等級屬性。例如,與“讀”指令相比,“寫”指令往往會造成物理世界的變化,因此“寫”指令具有更高的安全性屬性。針對高安全屬性的指令,需要設(shè)置更多的檢測點,以便做出更加縝密的安全性斷言。此外,指令識別與污點數(shù)據(jù)標(biāo)識組件應(yīng)識別電力工控指令,標(biāo)識不同的安全屬性。

工控系統(tǒng)包括通用寄存器和堆棧在內(nèi)的存儲器,且每個字節(jié)對應(yīng)一個污點標(biāo)識結(jié)構(gòu)。如果不可信數(shù)據(jù)源的數(shù)據(jù)進入系統(tǒng),存儲空間對應(yīng)的污點標(biāo)識結(jié)構(gòu)被置位,信息就會被污點數(shù)據(jù)傳播路徑跟蹤模塊和安全性斷言模塊使用。

1.1.2 污點數(shù)據(jù)傳播路徑跟蹤組件

污點數(shù)據(jù)傳播路徑跟蹤組件,通過跟蹤每條X86指令的運行效果,決定污點數(shù)據(jù)的傳播路徑。

所有指令可以分為三類:

(1)數(shù)據(jù)移動指令,包括Load、Store、Move、Push、Pop等指令;

(2)數(shù)學(xué)運算指令,包括Add、Sub、Xor等指令;(3)無影響指令,包括Nop、Jmp等指令。

對數(shù)據(jù)移動指令而言,當(dāng)且僅當(dāng)源地址的數(shù)據(jù)為污點數(shù)據(jù)時,目的地址的數(shù)據(jù)被標(biāo)識為污點數(shù)據(jù)。對數(shù)學(xué)運算指令而言,如果任何一個源操作數(shù)為污點數(shù)據(jù),運行結(jié)果就會被標(biāo)識為污點數(shù)據(jù)。對無影響指令而言,源操作數(shù)的污點屬性不會影響目的操作數(shù)的污點屬性。對數(shù)據(jù)移動指令和數(shù)學(xué)運算指令而言,因為立即數(shù)往往來自程序內(nèi)部,所以立即數(shù)被認(rèn)為是非污點數(shù)據(jù)。

為了跟蹤數(shù)據(jù)移動指令和數(shù)學(xué)運算指令,需要在每一條數(shù)據(jù)移動指令和數(shù)學(xué)運算指令之前或之后增加記錄指令,以修改源操作數(shù)或目的操作數(shù)的污點屬性。

1.1.3 安全性斷言組件

安全性斷言組件可判斷污點數(shù)據(jù)被非法使用,即污點數(shù)據(jù)被敏感指令或函數(shù)作為參數(shù)使用。敏感CPU指令/函數(shù)主要包括四類。

(1)跳轉(zhuǎn)指令,安全性斷言模塊檢測污點數(shù)據(jù)是否被用作調(diào)轉(zhuǎn)指令的目的地址,如返回地址、函數(shù)指針地址、函數(shù)指針偏移量等,而許多攻擊者試圖通過復(fù)寫上述地址實現(xiàn)操縱工控系統(tǒng)運行流程的目的。

(2)字符串格式化指令/函數(shù),安全性斷言模塊檢測污點數(shù)據(jù)是否被用作字符串格式化指令/函數(shù)的參數(shù)。例如,污點數(shù)據(jù)被用作C庫中printf函數(shù)的參數(shù),而攻擊者通常試圖利用惡意參數(shù)控制字符串格式化指令/函數(shù),并將特定的數(shù)據(jù)寫入特定的地址。

(3)系統(tǒng)調(diào)用,安全性斷言模塊檢測污點數(shù)據(jù)是否被用作關(guān)鍵系統(tǒng)調(diào)用的參數(shù)。例如,Linux系統(tǒng)的execve系統(tǒng)調(diào)用,而攻擊者可以通過復(fù)寫execve的參數(shù)實現(xiàn)加載指定程序的目的。

(4)應(yīng)用接口,通過配置可以使安全性斷言模塊檢測污點數(shù)據(jù)是否被用作特定應(yīng)用程序接口的參數(shù)。為了增強系統(tǒng)的功能,電力工控系統(tǒng)的上位機軟件往往會留有第三方開發(fā)接口,故此類應(yīng)用程序接口成為了攻擊者發(fā)動攻擊的首要目標(biāo)。

上述的每一類敏感CPU指令和函數(shù)都附有安全等級標(biāo)簽,且安全等級標(biāo)簽與電力工控指令的安全屬性相對應(yīng)。如果高安全屬性的電力工控指令被用作高安全等級標(biāo)簽的CPU指令和函數(shù)參數(shù),就會做出帶有警告的安全性斷言。

1.2 基于文法模糊測試的工控協(xié)議動態(tài)漏洞挖掘

針對電力工控系統(tǒng)的Fuzzing測試框架,如圖3所示。首先,將電力工控協(xié)議抽象為協(xié)議結(jié)構(gòu)描述。其次,安全協(xié)議的結(jié)構(gòu)描述生成模糊測試數(shù)據(jù)集,且模糊測試數(shù)據(jù)集在測試引擎的調(diào)度下,通過測試代理向被測系統(tǒng)發(fā)送變異的協(xié)議數(shù)據(jù)包。最后,被測系統(tǒng)的狀態(tài)通過目標(biāo)監(jiān)控反饋給測試引擎,以指導(dǎo)后續(xù)的調(diào)度策略。

圖3 面向電力工控系統(tǒng)Fuzzing測試系統(tǒng)架構(gòu)圖

(1)協(xié)議結(jié)構(gòu)識別

協(xié)議結(jié)構(gòu)識別主要通過智能算法,結(jié)合生物信息學(xué)思想和電力工控協(xié)議的結(jié)構(gòu),提取數(shù)據(jù)包結(jié)構(gòu)中的常量,并標(biāo)注包的數(shù)據(jù)區(qū)域,生成協(xié)議結(jié)構(gòu)描述,從而逐步完善協(xié)議的語義結(jié)構(gòu)和數(shù)據(jù)包結(jié)構(gòu)。

協(xié)議結(jié)構(gòu)識別的過程主要包括以下幾點。首先采用類型匹配,即提取不同網(wǎng)絡(luò)流量數(shù)據(jù)文件(PCAP)中同類型的報文序列,并將其作為一個報文組。其次,多序列比對報文組合,并分離不變域和可變域,以初步劃分報文域。最后,識別報文區(qū)域,進一步得到ANSII字符串域,從而生成較準(zhǔn)確的報文格式和測試數(shù)據(jù)。具體過程如圖4所示。

圖4 基于網(wǎng)絡(luò)報文進行協(xié)議結(jié)構(gòu)識別

(2)測試數(shù)據(jù)生成

在理解和解釋目標(biāo)應(yīng)用輸入數(shù)據(jù)的協(xié)議規(guī)約和文件定義基礎(chǔ)上,創(chuàng)建一個描述協(xié)議規(guī)約如何工作的文法,并根據(jù)文法生成測試數(shù)據(jù)。然后,測試協(xié)議中最有可能引起異常的部分,且完成針對指令級的安全脆弱性測試。

一般情況下,除測試用例執(zhí)行外,F(xiàn)uzzing測試包括協(xié)議解析、測試用例生成、異常捕獲和定位三個步驟,如圖5所示。協(xié)議解析是通過公開資料或者分析網(wǎng)絡(luò)數(shù)據(jù)流量,理解待測協(xié)議的層次、包字段結(jié)構(gòu)、會話過程等信息,為后續(xù)測試用例的生成打下基礎(chǔ)。測試用例生成依據(jù)上階段整理的字段結(jié)構(gòu),采用變異的方式生成畸形測試用例,并發(fā)送給待測對象。異常捕獲和定位是通過多種探測手段發(fā)現(xiàn)由測試用例觸發(fā)的異常,且保存異常數(shù)據(jù)信息,為后續(xù)異常的定位和重現(xiàn)提供依據(jù)。

圖5 Fuzzing測試的通用流程

實踐中,采用基于文法的Fuzzing測試用例生成技術(shù),極大地降低了測試用例的數(shù)量,提高了測試效率。

(3)測試引擎

目前,電力工控系統(tǒng)中,PLC、RTU、DCS扮演的角色是協(xié)議Server端,而中心站充當(dāng)協(xié)議Client端。測試引擎用于調(diào)用程序,并可手動設(shè)置測試模式,測試Client端和Server端,或者同時雙向測試Client端和Server端。此外,它可以根據(jù)接收的數(shù)據(jù)包自動識別Client端和Server端發(fā)送的數(shù)據(jù)包,并自動調(diào)節(jié)調(diào)用的程序模塊,實現(xiàn)Client端和Server端的雙向自動化測試。

測試引擎根據(jù)被測系統(tǒng)的不同,自適應(yīng)選擇測試數(shù)據(jù)調(diào)度策略。測試數(shù)據(jù)調(diào)度策略包括順序調(diào)度、隨機調(diào)度、代碼覆蓋率優(yōu)先調(diào)度等。此外,針對電力工控協(xié)議的特點,設(shè)計基于電力工控協(xié)議狀態(tài)機的調(diào)度算法,優(yōu)化雙向測試的效率。

(4)測試代理

測試代理用于調(diào)用程序監(jiān)控模塊、日志模塊、分析模塊等,并調(diào)整不同的被測系統(tǒng),記錄、分析測試過程中的日志。如果被測系統(tǒng)出現(xiàn)異常,則停止相應(yīng)的模塊調(diào)用。

(5)測試目標(biāo)監(jiān)控

測試目標(biāo)監(jiān)控用于分析錯誤現(xiàn)場保持、異常定位和漏洞類型。錯誤現(xiàn)場保持指如果系統(tǒng)出現(xiàn)異常,則立即停止測試,并保持異常情況的現(xiàn)場。異常定位是通過多種探測手段發(fā)現(xiàn)由測試用例觸發(fā)的異常,保存異常相關(guān)數(shù)據(jù)信息,為后續(xù)異常的定位和重現(xiàn)提供依據(jù)。漏洞類型是根據(jù)測試的異常情況和導(dǎo)致此異常的測試用例初步分析漏洞類型。

2 結(jié) 論

本文針對電力工控協(xié)議動態(tài)脆弱性分析的研究,可應(yīng)用于電力工控系統(tǒng)的常態(tài)脆弱性分析和攻擊滲透工作。此外,將系統(tǒng)的安全威脅分析與電力工控實際業(yè)務(wù)深度結(jié)合,深層次識別系統(tǒng)協(xié)議層面的安全威脅,對實現(xiàn)電力工控系統(tǒng)規(guī)約和指令級的安全防護具有重要的指導(dǎo)意義。

猜你喜歡
指令系統(tǒng)
聽我指令:大催眠術(shù)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
ARINC661顯控指令快速驗證方法
LED照明產(chǎn)品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
殺毒軟件中指令虛擬機的脆弱性分析
主站蜘蛛池模板: 亚洲欧洲免费视频| 99精品国产高清一区二区| 无码日韩人妻精品久久蜜桃| 99精品国产高清一区二区| 国产尤物在线播放| 亚洲浓毛av| 88av在线播放| 午夜性刺激在线观看免费| 亚洲日韩久久综合中文字幕| 亚洲va精品中文字幕| 在线观看热码亚洲av每日更新| 亚洲国产成人在线| 午夜限制老子影院888| 97国产在线视频| 在线免费观看AV| 亚洲第一网站男人都懂| 亚洲视频二| 国产91丝袜在线观看| 国产人人干| 少妇高潮惨叫久久久久久| 国产麻豆aⅴ精品无码| 国产精品自在拍首页视频8 | 午夜啪啪网| 亚卅精品无码久久毛片乌克兰 | 日本精品中文字幕在线不卡| 91午夜福利在线观看精品| 国产噜噜噜视频在线观看 | 国产美女精品一区二区| 97se亚洲综合在线韩国专区福利| 呦视频在线一区二区三区| 72种姿势欧美久久久久大黄蕉| 制服丝袜 91视频| 五月婷婷伊人网| 亚国产欧美在线人成| 日韩a在线观看免费观看| 亚洲综合婷婷激情| 亚洲美女视频一区| 久久青草热| 无码AV高清毛片中国一级毛片| 国产91视频观看| 伊人久久婷婷| 亚洲精品波多野结衣| 国产黄网永久免费| 狼友视频国产精品首页| 精品亚洲麻豆1区2区3区| 国产精品免费p区| 99性视频| 婷婷丁香在线观看| 中文字幕在线日韩91| 中文字幕亚洲无线码一区女同| 色亚洲成人| 色屁屁一区二区三区视频国产| 久久免费精品琪琪| 久久综合成人| 亚洲色图欧美| 91欧美亚洲国产五月天| 毛片在线播放网址| 波多野结衣的av一区二区三区| 在线日韩日本国产亚洲| 日韩精品一区二区深田咏美| 激情无码字幕综合| 亚洲欧美在线综合图区| 无码免费试看| 久久人妻xunleige无码| 国产成人精品亚洲日本对白优播| 宅男噜噜噜66国产在线观看| 亚洲国产天堂久久综合| 亚洲动漫h| 欧美成人A视频| 欧美日韩高清在线| 91网红精品在线观看| 国产成人91精品免费网址在线| 一级香蕉人体视频| 亚洲无码高清视频在线观看| 嫩草在线视频| 99这里精品| 谁有在线观看日韩亚洲最新视频| 91午夜福利在线观看| 国产在线97| 97视频免费在线观看| 国产一级在线观看www色| 成年人免费国产视频|