從“拒絕服務(wù)”到“安全穩(wěn)定”
項(xiàng)目背景
XX油田作為國(guó)內(nèi)名列前茅的油田公司,其已探明的油氣儲(chǔ)量和每年的油氣產(chǎn)量在國(guó)內(nèi)具有舉足輕重的戰(zhàn)略地位,一直以來(lái),該公司在工業(yè)控制系統(tǒng)的安全方面也高度重視。面對(duì)日趨嚴(yán)重的工控安全問(wèn)題,公司管理層將工控系統(tǒng)安全防護(hù)提升到戰(zhàn)略層面,同時(shí)選擇北京威努特技術(shù)有限公司作為合作伙伴,力求打造油田行業(yè)的工控安全標(biāo)桿項(xiàng)目。
根據(jù)整個(gè)油田公司的工控系統(tǒng)現(xiàn)狀,威努特設(shè)計(jì)了涵蓋工控系統(tǒng)邊界防護(hù)、區(qū)域防護(hù)、主機(jī)防護(hù)的縱深防御解決方案,部署了包括威努特工控可信網(wǎng)關(guān)(工業(yè)防火墻)、工控主機(jī)衛(wèi)士(主機(jī)安全加固)、統(tǒng)一安全管理平臺(tái)等在內(nèi)的一系列自主研發(fā)的安全防護(hù)產(chǎn)品。
項(xiàng)目自交付驗(yàn)收后,系統(tǒng)整體運(yùn)行穩(wěn)定,也成功解決了原系統(tǒng)中存在的一些網(wǎng)絡(luò)攻擊行為、網(wǎng)絡(luò)安全隱患問(wèn)題,客戶(hù)整體評(píng)價(jià)很高。
問(wèn)題就是命令,現(xiàn)場(chǎng)就是戰(zhàn)場(chǎng)
油田公司某分廠(chǎng)有一個(gè)控制器需要增加讀取點(diǎn)數(shù),信息中心的工程師進(jìn)行加點(diǎn)操作,此時(shí)更改控制邏輯可以正常進(jìn)行,但采集數(shù)據(jù)的動(dòng)作沒(méi)有成功,通過(guò)工程師站查看數(shù)據(jù)存在壞點(diǎn)。工程師又通過(guò)ping控制器的方式發(fā)現(xiàn)控制器沒(méi)有響應(yīng),對(duì)應(yīng)的通道也壞死,無(wú)論如何操作都無(wú)法恢復(fù),只能冷重啟控制器。
面對(duì)該問(wèn)題,信息中心的工程師試圖通過(guò)模擬環(huán)境來(lái)尋找問(wèn)題根源,但多次嘗試最終還是無(wú)功而返。因?yàn)樾虏渴鹆斯I(yè)防火墻,也想可能是防火墻策略配置錯(cuò)誤導(dǎo)致了該問(wèn)題出現(xiàn),因此隨后就將求助電話(huà)打到了威努特。問(wèn)題就是命令,對(duì)于威努特而言,客戶(hù)現(xiàn)場(chǎng)的問(wèn)題從來(lái)都是最高優(yōu)先級(jí)處理,當(dāng)接到客戶(hù)電話(huà)的第一時(shí)間,研發(fā)部就組織了精干力量進(jìn)行了討論分析。為確保問(wèn)題分析的準(zhǔn)確性,也與客戶(hù)現(xiàn)場(chǎng)的工程師召開(kāi)了電話(huà)會(huì)議并詳細(xì)溝通了問(wèn)題產(chǎn)生的過(guò)程、現(xiàn)象等,在重新審核了現(xiàn)場(chǎng)的防火墻配置策略后,也基本上排除了是防火墻自身的原因?qū)е隆?/p>
兵貴神速,為了徹底幫用戶(hù)解決該問(wèn)題,在電話(huà)會(huì)議結(jié)束后,公司立即安排相關(guān)研發(fā)人員到現(xiàn)場(chǎng)協(xié)助客戶(hù)進(jìn)行問(wèn)題定位。
嚴(yán)謹(jǐn)探求真相,專(zhuān)業(yè)贏(yíng)得信任
復(fù)現(xiàn)問(wèn)題
使用測(cè)試現(xiàn)場(chǎng)的控制器原有程序:開(kāi)始使用模擬環(huán)境測(cè)試過(guò)程中,使用的是測(cè)試控制器原有的控制程序,將對(duì)應(yīng)采集數(shù)據(jù)的范圍未加入白名單規(guī)則中進(jìn)行測(cè)試時(shí),一直無(wú)法復(fù)現(xiàn)當(dāng)時(shí)的現(xiàn)象。
將現(xiàn)場(chǎng)程序下發(fā)給測(cè)試控制器:使用測(cè)試控制器原有的程序無(wú)法復(fù)現(xiàn)控制器無(wú)響應(yīng)的問(wèn)題,于是將出現(xiàn)問(wèn)題的現(xiàn)場(chǎng)控制器程序下發(fā)給測(cè)試控制器,嘗試復(fù)現(xiàn)問(wèn)題。
剛開(kāi)始下發(fā)給測(cè)試控制器時(shí)并沒(méi)有增加采數(shù)點(diǎn),而是跟原來(lái)采集數(shù)據(jù)的范圍一樣,這種情況下可信網(wǎng)關(guān)一直工作在防護(hù)模式,白名單一直有告警,但持續(xù)幾個(gè)小時(shí)問(wèn)題并未復(fù)現(xiàn)。
于是更改思路,擴(kuò)大控制器采集數(shù)據(jù)的范圍,提高數(shù)據(jù)刷新的頻率,并同時(shí)采集模擬量和數(shù)字量的數(shù)據(jù),在這種情況下問(wèn)題很快復(fù)現(xiàn),出現(xiàn)了類(lèi)似現(xiàn)場(chǎng)控制器當(dāng)時(shí)出現(xiàn)的現(xiàn)象。
原因分析
初步分析:問(wèn)題復(fù)現(xiàn)后針對(duì)現(xiàn)象和可信網(wǎng)關(guān)抓取的原始報(bào)文進(jìn)行初步分析判斷,控制器出現(xiàn)無(wú)響應(yīng)的原因可能有:
1.接收緩存區(qū)太小造成堆積被占滿(mǎn)。當(dāng)有部分Modbus報(bào)文過(guò)去后,后續(xù)的報(bào)文被白名單攔截,導(dǎo)致控制器不斷的接收部分報(bào)文而一直等待后續(xù)報(bào)文到來(lái)后釋放緩沖區(qū)內(nèi)存,這樣緩存區(qū)一直堆積,最終導(dǎo)致緩存區(qū)滿(mǎn),無(wú)法再接收?qǐng)?bào)文,這樣ping包也無(wú)法響應(yīng)。
2.控制器并發(fā)連接數(shù)有限。服務(wù)器采集控制器的數(shù)據(jù)時(shí),完整的請(qǐng)求動(dòng)作因?yàn)檫`反可信網(wǎng)關(guān)的白名單規(guī)則而被攔截,這樣服務(wù)器就會(huì)不斷的重新建立會(huì)話(huà)來(lái)采集控制器的數(shù)據(jù),而控制器的并發(fā)連接數(shù)有限,當(dāng)服務(wù)器與控制器建立過(guò)多的連接時(shí),導(dǎo)致控制器拒絕服務(wù),從而出來(lái)無(wú)法ping通的現(xiàn)象。
實(shí)驗(yàn)驗(yàn)證
為了驗(yàn)證上述分析具體哪種是真正的原因,分別設(shè)計(jì)了下面幾組實(shí)驗(yàn):
現(xiàn)狀不容樂(lè)觀(guān),責(zé)任重于泰山
實(shí)驗(yàn)的過(guò)程嚴(yán)謹(jǐn)而細(xì)致,得到的結(jié)論詳實(shí)而準(zhǔn)確。從各種實(shí)驗(yàn)和結(jié)果分析來(lái)看,XX油田所使用的控制器(國(guó)外品牌)安全系數(shù)較低,正常建立連接速率的情況下,在連接數(shù)增加到2500左右時(shí),必然導(dǎo)致控制器拒絕服務(wù),最后只能通過(guò)冷重啟來(lái)釋放連接。威努特可信網(wǎng)關(guān)可以通過(guò)增加并發(fā)連接數(shù)控制的方式來(lái)增加控制器這方面的安全系數(shù),并且可信網(wǎng)關(guān)可以配置會(huì)話(huà)老化時(shí)間,在白名單防護(hù)的同時(shí),給原通信雙方發(fā)送reset報(bào)文,在合理阻斷非法的采集請(qǐng)求的同時(shí),保證控制器的正常服務(wù)能力。
該問(wèn)題得到解決,但是問(wèn)題的根源還是值得我們思考。細(xì)想之下,工業(yè)控制設(shè)備是工業(yè)自動(dòng)化的關(guān)鍵所在,但種種原因?qū)е缕溥h(yuǎn)沒(méi)有達(dá)到讓人放心的地步?!皟苫诤稀钡拇蟊尘跋?,工控系統(tǒng)將會(huì)越來(lái)越多的從“待字深閨無(wú)人識(shí)”轉(zhuǎn)變成“一朝成名天下知”,互聯(lián)互通意味著機(jī)遇和風(fēng)險(xiǎn)并存,那么工控安全將會(huì)在這一偉大進(jìn)程中承擔(dān)越來(lái)越重要的責(zé)任。
提交
工業(yè)控制系統(tǒng)滲透測(cè)試淺析
未雨綢繆,工控安全培訓(xùn)正當(dāng)時(shí)
你的車(chē)安全嗎-車(chē)聯(lián)網(wǎng)工控系統(tǒng)安全隱患排查
典型SCADA系統(tǒng)安全防護(hù)案例分享
第三屆工業(yè)控制系統(tǒng)安全研討會(huì)在京勝利召開(kāi)