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