• 
    <ul id="auswy"><sup id="auswy"></sup></ul>
  • <ul id="auswy"></ul>
    ABB
    關(guān)注中國(guó)自動(dòng)化產(chǎn)業(yè)發(fā)展的先行者!
    CAIAC 2025
    2025工業(yè)安全大會(huì)
    OICT公益講堂
    當(dāng)前位置:首頁(yè) >> 資訊 >> 行業(yè)資訊

    資訊頻道

    工控組態(tài)軟件安全隱患研究
    • 作者:梁鼎銘
    • 點(diǎn)擊數(shù):41706     發(fā)布時(shí)間:2018-12-20 19:39:00
    • 分享到:
    隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的飛速發(fā)展和廣泛應(yīng)用以及工業(yè)生產(chǎn)對(duì)ICS要求的不斷提高,獨(dú)立環(huán)境下的ICS已經(jīng)不能滿足工業(yè)生產(chǎn)的需求,網(wǎng)絡(luò)化的ICS被越來(lái)越多的應(yīng)用到工業(yè)生產(chǎn)中來(lái),工業(yè)過(guò)程與信息化系統(tǒng)的連接越來(lái)越緊密。這種緊密的連接使得原本物理隔絕的ICS失去了免遭網(wǎng)絡(luò)攻擊的天然屏障,面臨著遭受網(wǎng)絡(luò)病毒攻擊的可能性。作為關(guān)系到國(guó)計(jì)民生的工業(yè)控制系統(tǒng),工業(yè)控制系統(tǒng)相關(guān)軟件在設(shè)計(jì)過(guò)程中主要注重功能的實(shí)現(xiàn),而在安全方面考慮得不多,并且很多工控軟件(比如說(shuō)組態(tài)軟件)在其開發(fā)初期并沒(méi)有依照嚴(yán)格的軟件安全開發(fā)規(guī)范進(jìn)行,導(dǎo)致存在不安全的漏洞,這些缺陷被攻擊者利用后能夠造成系統(tǒng)宕機(jī)、敏感數(shù)據(jù)泄露甚至直接獲取系統(tǒng)的操控權(quán)。文章著重介紹了工業(yè)控制系統(tǒng)組態(tài)軟件安全性研究,針對(duì)組態(tài)軟件存在的漏洞和隱患的提出相關(guān)研究和分析方法,分析軟件中存在的預(yù)置性后門漏洞、高可利用漏洞等重大安全隱患,為保障工業(yè)控制系統(tǒng)的安全提供了保障。
    關(guān)鍵詞:

    1 研究目的及意義

    工業(yè)控制系統(tǒng)由各種自動(dòng)化控制組件和實(shí)時(shí)數(shù)據(jù)采集、監(jiān)測(cè)的過(guò)程控制組件共同構(gòu)成。其組件包括數(shù)據(jù)采集與監(jiān)控系統(tǒng)(SCADA)、分布式控制系統(tǒng)(DCS)、可編程邏輯控制器(PLC)、遠(yuǎn)程終端(RTU)、智能電子設(shè)備(IED),以及確保各組件通信的接口技術(shù)。已經(jīng)廣泛運(yùn)用于核設(shè)施、鋼鐵、有色、化工、石油石化、電力、天然氣、先進(jìn)制造、水利樞紐、環(huán)境保護(hù)、鐵路、城市軌道交通、民航、城市供水供氣供熱以及其他與國(guó)計(jì)民生緊密相關(guān)的領(lǐng)域。

    傳統(tǒng)的工業(yè)控制系統(tǒng)通常以廠區(qū)為單位,是相對(duì)孤立的,與外界有較少通信甚至是沒(méi)有通信的,似乎從來(lái)不會(huì)有遭受網(wǎng)絡(luò)攻擊的可能性。但是隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的飛速發(fā)展和廣泛應(yīng)用以及工業(yè)生產(chǎn)對(duì)ICS要求的不斷提高,獨(dú)立環(huán)境下的ICS已經(jīng)不能滿足工業(yè)生產(chǎn)的需求,網(wǎng)絡(luò)化的ICS被越來(lái)越多地應(yīng)用到工業(yè)生產(chǎn)中來(lái),工業(yè)過(guò)程與信息化系統(tǒng)的連接越來(lái)越緊密。這種緊密的連接使得原本物理隔絕的ICS失去了免遭網(wǎng)絡(luò)攻擊的天然屏障,面臨著遭受網(wǎng)絡(luò)病毒攻擊的可能性。2010年“震網(wǎng)”病毒事件為世人敲響了工業(yè)控制系統(tǒng)網(wǎng)絡(luò)安全的警鐘。短短幾年內(nèi),全球范圍內(nèi)針對(duì)工控系統(tǒng)攻擊事件的數(shù)量大幅提升,并且相繼發(fā)現(xiàn)了Duqu病毒、火焰病毒等同樣針對(duì)工控系統(tǒng)的病毒。2014年春,Havex病毒在能源行業(yè)大規(guī)模爆發(fā),呈現(xiàn)出強(qiáng)烈的行業(yè)橫向蔓延趨勢(shì)。Havex病毒相較之前的震網(wǎng)等病毒,其攻擊手段更隱蔽、病毒變種更多、網(wǎng)絡(luò)傳播更迅速,工控網(wǎng)絡(luò)特點(diǎn)針對(duì)性強(qiáng)、可造成的危害也更巨大。Havex病毒以及之后出現(xiàn)的Sandworm病毒標(biāo)志著工業(yè)控制網(wǎng)絡(luò)安全已進(jìn)入了APT2.0時(shí)代 。

    以美國(guó)為首的西方國(guó)家在本世紀(jì)初就將工控網(wǎng)絡(luò)安全這一問(wèn)題提升到國(guó)家戰(zhàn)略高度,并積極推動(dòng)在政策、標(biāo)準(zhǔn)、技術(shù)、方案等方面引導(dǎo)措施。而在我國(guó),工信部于2011年10月下發(fā)了協(xié)〔2011〕451號(hào)文“關(guān)于加強(qiáng)工業(yè)控制系統(tǒng)信息安全管理的通知”,要求各級(jí)政府和國(guó)有大型企業(yè)切實(shí)加強(qiáng)工業(yè)控制系統(tǒng)安全管理。國(guó)家于2014年成立了以習(xí)近平總書記為組長(zhǎng)的中央網(wǎng)絡(luò)安全和信息化領(lǐng)導(dǎo)小組,從國(guó)家層面,全面統(tǒng)籌、規(guī)劃與管理我國(guó)信息化與信息安全建設(shè)。并相繼出臺(tái)《信息安全產(chǎn)業(yè)“十二五”發(fā)展規(guī)劃》和《2006-2020年國(guó)家信息化發(fā)展戰(zhàn)略》,為行業(yè)信息化發(fā)展以及信息安全體系化建設(shè)提供政策支撐。

    與傳統(tǒng)的IT信息系統(tǒng)軟件不同的是,作為關(guān)系到國(guó)計(jì)民生的工業(yè)控制系統(tǒng),工業(yè)控制系統(tǒng)相關(guān)軟件在設(shè)計(jì)過(guò)程中主要注重功能的實(shí)現(xiàn),而在安全方面考慮得不多,并且很多工控軟件(比如說(shuō)組態(tài)軟件)在其開發(fā)初期并沒(méi)有依照嚴(yán)格的軟件安全開發(fā)規(guī)范進(jìn)行,導(dǎo)致存在不安全的漏洞。為了確保國(guó)家關(guān)鍵基礎(chǔ)設(shè)施工控系統(tǒng)安全穩(wěn)定運(yùn)行,避免工控軟件漏洞被利用攻擊,展開針對(duì)工業(yè)控制系統(tǒng)軟件的安全漏洞研究工作迫在眉睫。

    2 研究的主要內(nèi)容

    研究主流工控組態(tài)軟件的安全性,主要是針對(duì)主流PLC組態(tài)軟件、DCS系統(tǒng)組態(tài)軟件,或者軌道交通、石油化工等重要行業(yè)應(yīng)用的工控軟件開展安全分析,研究軟件中存在的預(yù)置性后門漏洞、高可利用漏洞等重大安全隱患。

    研究過(guò)程中需要搭建上位機(jī)組態(tài)軟件運(yùn)行的模擬工控環(huán)境,如圖1所示,它模擬了工業(yè)控制系統(tǒng)中的一個(gè)單元,包括了上位機(jī)的監(jiān)控站與工程師站,還有現(xiàn)場(chǎng)控制設(shè)備PLC等,它們都通過(guò)一個(gè)工業(yè)交換機(jī)連接在一起。

    64.jpg

    圖1 工業(yè)控制系統(tǒng)模擬平臺(tái)

    同時(shí),還需要構(gòu)建完整、可擴(kuò)展的動(dòng)態(tài)隨機(jī)分析測(cè)試框架,監(jiān)控測(cè)試目標(biāo),管理測(cè)試結(jié)果,并支持多目標(biāo)(例如,PLC組態(tài)軟件、DCS組態(tài)軟件),多種協(xié)議(Modbus、OPCDA、IEC104、DNP3、MMS、GOOSE、PROFINET、Siemens S7、艾默生DeltaV協(xié)議),多線程(加速測(cè)試進(jìn)度),如圖2所示。

    65.jpg

    圖2 動(dòng)態(tài)隨機(jī)分析測(cè)試框架

    該框架提供了操作、監(jiān)視、管理整個(gè)漏洞測(cè)試過(guò)程的功能。測(cè)試過(guò)程中,基于高效的智能模糊測(cè)試和攻擊測(cè)試等自動(dòng)化測(cè)試方法,自動(dòng)生成測(cè)試用例列表,并在測(cè)試列表運(yùn)行時(shí)可以實(shí)時(shí)監(jiān)控和進(jìn)行管理,能夠高效完成復(fù)雜測(cè)試。

    主要開展研究?jī)?nèi)容如下:

    2.1 工控組態(tài)軟件的已知漏洞分布情況研究

    經(jīng)過(guò)對(duì)已公開的大量工控組態(tài)軟件漏洞的調(diào)查研究發(fā)現(xiàn),其漏洞類型主要分布在:文件格式解析類漏洞、ActiveX控件類漏洞、專有工控通訊協(xié)議類漏洞和Web服務(wù)類漏洞。

    多數(shù)工控組態(tài)軟件都會(huì)用文件作為程序的輸入,而畸形的文件格式往往會(huì)引發(fā)諸如整數(shù)溢出、緩沖區(qū)溢出等文件格式解析類漏洞。

    工控組態(tài)軟件在安裝時(shí)經(jīng)常會(huì)注冊(cè)一些ActiveX控件,這些控件往往封裝著一些邏輯較為復(fù)雜的方法,這些方法對(duì)參數(shù)輸入檢查不嚴(yán)格會(huì)引發(fā)嚴(yán)重的緩沖區(qū)溢出漏洞。

    不少工控軟件都存在著一些專有工控通訊協(xié)議,而畸形的協(xié)議報(bào)文會(huì)觸發(fā)拒絕服務(wù)或緩沖區(qū)溢出漏洞,這些從協(xié)議觸發(fā)的漏洞歸為專有工控通訊協(xié)議類。該類漏洞的分析,需要收集并詳細(xì)分析工控通訊協(xié)議的格式,若協(xié)議格式不公開可通過(guò)逆向分析或分析數(shù)據(jù)包之間的規(guī)律獲得。

    一些工控軟件本身也帶有Web服務(wù),可能存在SQL注入、路徑遍歷、后臺(tái)密碼弱口令等常見(jiàn)的Web漏洞。

    2.2 工控組態(tài)軟件的漏洞分析技術(shù)

    研究的漏洞分析技術(shù)是對(duì)已公開但信息量較少的漏洞(如僅含有POC無(wú)漏洞利用腳本)進(jìn)行定位與根源分析的技術(shù),它包括動(dòng)態(tài)調(diào)試、靜態(tài)分析與二進(jìn)制逆向分析等技術(shù)。

    動(dòng)態(tài)調(diào)試是指利用調(diào)試器跟蹤軟件的運(yùn)行,通過(guò)動(dòng)態(tài)調(diào)試能夠清楚地了解到軟件的運(yùn)行步驟,包括各類寄存器的數(shù)據(jù)及內(nèi)存數(shù)據(jù)。通過(guò)利用該技術(shù)能夠跟蹤調(diào)試漏洞觸發(fā)的整個(gè)執(zhí)行過(guò)程,從而發(fā)現(xiàn)哪個(gè)環(huán)節(jié)是真正引發(fā)漏洞的根源。靜態(tài)分析是與動(dòng)態(tài)調(diào)試相對(duì)應(yīng)的代碼分析技術(shù),它不運(yùn)行代碼只是通過(guò)對(duì)代碼的自動(dòng)靜態(tài)掃描發(fā)現(xiàn)隱含的程序問(wèn)題。而二進(jìn)制逆向分析是在軟件不開源的情況下分析定位漏洞的一種有效方法。這三種技術(shù)相結(jié)合,可以準(zhǔn)確地定位組態(tài)軟件漏洞觸發(fā)時(shí)的行為及函數(shù),清晰地分析出漏洞機(jī)理。

    2.3 工控組態(tài)軟件的漏洞利用技術(shù)

    漏洞機(jī)理研究清楚后,下一步就是研究漏洞利用并編寫exploit驗(yàn)證代碼。拒絕服務(wù)類的漏洞利用較為簡(jiǎn)單,直接構(gòu)造exploit打死目標(biāo)服務(wù)即可,本項(xiàng)目中更關(guān)注整數(shù)溢出、棧緩沖區(qū)溢出、堆緩沖區(qū)溢出和基于ActiveX控件的緩沖區(qū)溢出的漏洞利用技術(shù)。若在Windows平臺(tái)下進(jìn)行漏洞利用,需要掌握各種常見(jiàn)的攻擊緩解技術(shù)及繞過(guò)方法。

    3 研究主要技術(shù)路線

    3.1 Windows下常見(jiàn)攻擊緩解技術(shù)及繞過(guò)方法

    工控組態(tài)軟件多數(shù)安裝在Windows平臺(tái),工控網(wǎng)絡(luò)中最常見(jiàn)的Windows平臺(tái)為Windows XP和Windows 7。自從Windows成為主流操作系統(tǒng)以后,針對(duì)Windows平臺(tái)的漏洞利用技術(shù)不斷發(fā)展,而微軟也不斷運(yùn)用新的攻擊緩解技術(shù)來(lái)封堵漏洞利用技術(shù)。根據(jù)被引入Windows的時(shí)間順序,先后引入的攻擊緩解技術(shù)有:GS(Control Stack CheckingCalls)、SafeSEH(Safe Structured Exception Handler)、Heap Protection、DEP(Data Execution Prevention)、ASLR(Address SpaceLayout Randomization)等。在Windows平臺(tái)下編寫漏洞利用腳本需要深入理解這幾種保護(hù)機(jī)制,并需要掌握其繞過(guò)方法。

    3.2 基于ActiveX控件的漏洞分析和利用技術(shù)

    ActiveX是以微軟COM(Component Object Model)模型為理論基礎(chǔ)建立起來(lái)的技術(shù),通過(guò)建立帶有接口的對(duì)象,ActiveX控件能被其他COM組件或者程序調(diào)用,IE里面經(jīng)常用到這樣的技術(shù)。COM組件被廣泛用于瀏覽器的第三方應(yīng)用程序,工控組態(tài)軟件也經(jīng)常使用基于COM組件的ActiveX控件技術(shù)。但由于第三方開發(fā)人員編程方面的原因,ActiveX控件出現(xiàn)越來(lái)越多的漏洞。

    基于ActiveX控件的安全漏洞,可分為如下幾種:

    (1)調(diào)用的控件可以創(chuàng)建、修改或者刪除本地文件,修改注冊(cè)表等信息;

    (2)調(diào)用的控件可以獲取本地信息,如某文件信息、用戶名、密碼、IP地址等;

    (3)調(diào)用的控件可以通過(guò)欺騙行為使用戶訪問(wèn)惡意網(wǎng)頁(yè)、下載惡意程序等;

    (4)調(diào)用的控件存在緩沖區(qū)溢出或者格式化字符串等漏洞,導(dǎo)致瀏覽器或者系統(tǒng)異常。

    目前對(duì)于ActiveX控件的漏洞分析,可借助一些自動(dòng)化工具,比較出名的有ComRaider、AxMan、Axfuzz等。ComRaider是一款非常出色的ActiveXFuzz工具。它已將測(cè)試ActiveX控件時(shí)所需的編寫測(cè)試模板、獲取CLSID、獲取用戶接口、制定測(cè)試參數(shù)、測(cè)試結(jié)果監(jiān)視等功能全部整合,能夠自動(dòng)區(qū)分出當(dāng)前系統(tǒng)中哪些ActiveX控件可以被瀏覽器正常調(diào)用,并分析出被測(cè)控件所有的外部接口,包括函數(shù)接口以及屬性接口。

    對(duì)于ActiveX控件的漏洞利用,比較有效的方法是堆噴射(Heap Spray)技術(shù)。Heap Spray是在shellcode的前面加上大量的slide code(滑板指令),組成一個(gè)注入代碼段。然后向系統(tǒng)申請(qǐng)大量?jī)?nèi)存,并且反復(fù)用注入代碼段來(lái)填充。這樣就使得進(jìn)程的地址空間被大量注入代碼所占據(jù)。然后結(jié)合其他的漏洞攻擊技術(shù)控制程序流,使得程序執(zhí)行到堆上,最終將導(dǎo)致shellcode的執(zhí)行。傳統(tǒng)slide code(滑板指令)一般是NOP指令,但是隨著一些新的攻擊技術(shù)的出現(xiàn),逐漸開始使用更多的類NOP指令,譬如0x0C(0x0C0C代表的x86指令是OR AL 0x0C),0x0D等,不管是NOP還是0C,他們的共同特點(diǎn)是不會(huì)影響shellcode的執(zhí)行。Heap Spray只是一種輔助技術(shù),需要結(jié)合其他的棧溢出或堆溢出等等各種溢出技術(shù)才能發(fā)揮作用。

    對(duì)于ActiveX控件中函數(shù)參數(shù)的緩沖區(qū)溢出漏洞,常結(jié)合堆噴射技術(shù)構(gòu)造漏洞利用代碼,效果良好。

    3.3 基于工控協(xié)議的漏洞分析和利用技術(shù)

    對(duì)于工控協(xié)議的漏洞分析需要詳細(xì)了解協(xié)議實(shí)現(xiàn)的報(bào)文格式,而工控組態(tài)軟件常用的協(xié)議分為兩類:公開標(biāo)準(zhǔn)的協(xié)議和私有協(xié)議。公開標(biāo)準(zhǔn)的協(xié)議,如Modbus、OPCDA、IEC104、DNP3、MMS、GOOSE、PROFINET等協(xié)議;私有協(xié)議,如SiemensS7、艾默生DeltaV協(xié)議等,未了解報(bào)文格式的工控組態(tài)軟件的私有協(xié)議占絕大多數(shù),因此針對(duì)這些私有協(xié)議的報(bào)文格式解析工作是漏洞分析和利用過(guò)程中的研究難點(diǎn)。工控組態(tài)軟件及產(chǎn)品之間的通訊協(xié)議往往使用私有協(xié)議,而現(xiàn)在的通訊協(xié)議日趨復(fù)雜并引入了協(xié)議狀態(tài)機(jī)來(lái)處理不同的邏輯分支,且在不同的狀態(tài)下通訊數(shù)據(jù)的結(jié)構(gòu)也會(huì)存在差異。因此,需要分析組態(tài)軟件及控制設(shè)備在不同狀態(tài)下的通訊數(shù)據(jù)(例如,認(rèn)證通過(guò)前與通過(guò)后等),將這些數(shù)據(jù)格式與狀態(tài)機(jī)之間進(jìn)行關(guān)聯(lián),了解的數(shù)據(jù)格式越多在漏洞分析過(guò)程中起到的作用越大。

    4 結(jié)語(yǔ)

    目前我國(guó)工業(yè)控制系統(tǒng)安全面臨著嚴(yán)峻的挑戰(zhàn),而其主要的安全問(wèn)題就是工業(yè)控制軟件、控制設(shè)備甚至通訊協(xié)議本身存在設(shè)計(jì)上的缺陷。這些缺陷被攻擊者利用后能夠造成系統(tǒng)宕機(jī)、敏感數(shù)據(jù)泄露甚至直接獲取系統(tǒng)的操控權(quán)。因此,開展在工業(yè)控制系統(tǒng)中的主流PLC組態(tài)軟件、DCS系統(tǒng)組態(tài)軟件或重要行業(yè)應(yīng)用的工控軟件的漏洞研究,分析軟件中存在的預(yù)置性后門漏洞、高可利用漏洞等重大安全隱患,為保障工業(yè)控制系統(tǒng)的安全提供漏洞研究支持,提升工業(yè)控制系統(tǒng)安全防護(hù)能力。

    作者簡(jiǎn)介

    梁鼎銘(1985-),男,廣東佛山人,本科,4年工控網(wǎng)絡(luò)安全從業(yè)經(jīng)驗(yàn),8年電力系統(tǒng)行業(yè)資深經(jīng)驗(yàn),廣東省工業(yè)互聯(lián)網(wǎng)聯(lián)盟專家委員之一,曾參與多項(xiàng)工業(yè)控制系統(tǒng)網(wǎng)絡(luò)安全標(biāo)準(zhǔn)編制,現(xiàn)任深圳融安網(wǎng)絡(luò)科技有限公司解決方案總監(jiān),主要從事工控系統(tǒng)安全咨詢,風(fēng)險(xiǎn)評(píng)估,解決方案構(gòu)建工作。具有豐富的實(shí)踐經(jīng)驗(yàn),直接參與領(lǐng)導(dǎo)過(guò)的項(xiàng)目有:南方電網(wǎng)并網(wǎng)發(fā)電機(jī)組可靠性智能評(píng)估與預(yù)警大數(shù)據(jù)優(yōu)化關(guān)鍵技術(shù)研究(科研類),廣東省電科學(xué)院熱工系統(tǒng)信息安全研究,國(guó)家電網(wǎng)泛終端一體化管控項(xiàng)目等。

    參考文獻(xiàn):

    [1] Keith A. Stouffer, Victoria Y. Pillitteri, Suzanne Lightman, Marshall Abrams, Adam Hahn. Guide to Industrial Control Systems (ICS) Security[EB/OL]. https:// nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST. SP. 800 - 82r2. pdf, 2015, 06.

    [2] 朱世順, 黃益彬, 朱應(yīng)飛, 等. 工業(yè)控制系統(tǒng)信息安全防護(hù)關(guān)鍵技術(shù)研究[J]. 電力信息與通信技術(shù), 2013, 11 (11) : 106 - 109.

    [3] 胡冬平. 工業(yè)控制系統(tǒng)組態(tài)軟件安全防護(hù)關(guān)鍵技術(shù)研究[D]. 哈爾濱: 哈爾濱工業(yè)大學(xué), 2015.

    [4] 工信部. 關(guān)于加強(qiáng)工業(yè)控制系統(tǒng)信息安全管理的通知[Z].

    摘自《工業(yè)控制系統(tǒng)信息安全專刊(第五輯)》

    熱點(diǎn)新聞

    推薦產(chǎn)品

    x
    • 在線反饋
    1.我有以下需求:



    2.詳細(xì)的需求:
    姓名:
    單位:
    電話:
    郵件: