郭帥鵬
(河南省陸渾水庫運(yùn)行中心,河南 洛陽 471000)
水利樞紐關(guān)系著中國(guó)經(jīng)濟(jì)和社會(huì)的快速發(fā)展,是全國(guó)重要的基礎(chǔ)設(shè)施。水利樞紐系統(tǒng)主要是實(shí)現(xiàn)水利系統(tǒng)的調(diào)整控制命令、符合調(diào)度、運(yùn)行操作和實(shí)時(shí)監(jiān)視等功能。國(guó)內(nèi)外學(xué)者對(duì)此進(jìn)行大量的研究,王盛等根據(jù)樂昌峽水利樞紐工程安全監(jiān)測(cè)設(shè)計(jì)成果,研究了樂昌峽水利樞紐安全監(jiān)測(cè)系統(tǒng)設(shè)計(jì)思路與要點(diǎn);劉兆楠等結(jié)合具體的案例,探討了水利樞紐工程安全監(jiān)測(cè)系統(tǒng)的重要性,設(shè)計(jì)了水利樞紐工程安全監(jiān)測(cè)系統(tǒng);楊軍等設(shè)計(jì)了西藏滿拉水利樞紐工程安全監(jiān)測(cè)自動(dòng)化系統(tǒng)改造;李瑞有等設(shè)計(jì)了長(zhǎng)江三峽水利樞紐建筑物安全監(jiān)測(cè)決策支持系統(tǒng),系統(tǒng)主要包括三個(gè)面向用戶的功能分系統(tǒng),信息管理分系統(tǒng)?;诖?,文章設(shè)計(jì)了水利樞紐系統(tǒng)安全風(fēng)險(xiǎn)評(píng)估系統(tǒng),系統(tǒng)結(jié)構(gòu)主要由表現(xiàn)層、業(yè)務(wù)層和數(shù)據(jù)支持層組成。
根據(jù)目前水利樞紐系統(tǒng)安全狀況,還存在現(xiàn)場(chǎng)檢測(cè)和維護(hù)難的問題,且維護(hù)人員缺少專業(yè)的安全意識(shí)和知識(shí),因此,系統(tǒng)實(shí)現(xiàn)的目標(biāo)主要如下。
①為了便于水利樞紐工控維護(hù)人員能夠合理正確地使用此系統(tǒng),需要建立兩盒人幾乎交界面,該界面能夠?qū)崿F(xiàn)用戶的操作日志記錄、用戶的管理、登錄等共功能。
②需要對(duì)脆弱性識(shí)別的結(jié)果進(jìn)行風(fēng)險(xiǎn)評(píng)估,對(duì)水利樞紐工控系統(tǒng)入侵路徑、待保護(hù)對(duì)象、攻擊源劃分不同的安全級(jí)別,建立風(fēng)險(xiǎn)評(píng)估模型,從而進(jìn)行風(fēng)險(xiǎn)評(píng)估。
③為了能夠評(píng)估目標(biāo)工控設(shè)備承受高速率數(shù)據(jù)包和接收的能力,通過畸形工控協(xié)議數(shù)據(jù)包找到系統(tǒng)的漏洞,應(yīng)建立風(fēng)暴測(cè)試和脆弱性2種測(cè)試類型。
④由于目標(biāo)設(shè)備需要根據(jù)多維測(cè)試用例的生成過程需求,對(duì)自身狀態(tài)進(jìn)行調(diào)整,及時(shí)記錄測(cè)點(diǎn)斷點(diǎn)的位置,因此,系統(tǒng)需要具備對(duì)測(cè)試目標(biāo)設(shè)備的網(wǎng)絡(luò)運(yùn)行監(jiān)控的功能。
⑤根據(jù)目標(biāo)設(shè)備的底層協(xié)議頭部,建立符合通信協(xié)議規(guī)范的數(shù)據(jù)包,并發(fā)送至測(cè)試目標(biāo)設(shè)備。系統(tǒng)需要實(shí)現(xiàn)自動(dòng)執(zhí)行功能。
⑥為了識(shí)別深層和潛在漏洞和提高模糊測(cè)試,系統(tǒng)需要實(shí)現(xiàn)多維模糊測(cè)試自動(dòng)生成功能。
⑦為了提高系統(tǒng)模糊測(cè)試效率,通過已知的協(xié)議規(guī)范生成測(cè)試,支持通過源數(shù)據(jù)生成的測(cè)試試用例,系統(tǒng)需要實(shí)現(xiàn)對(duì)已知的工控協(xié)議規(guī)范導(dǎo)入的功能。
⑧由于水利樞紐工作人員缺乏相關(guān)能力(安全技術(shù)、工控通信協(xié)議知識(shí)),需要手動(dòng)解析工控通信協(xié)議,耗時(shí)又費(fèi)力。因此,系統(tǒng)能夠?qū)崿F(xiàn)生成高效的測(cè)試試用例的協(xié)議解析腳本,以及工控?cái)?shù)據(jù)的自動(dòng)解析的功能。
⑨水利樞紐系統(tǒng)需要通過畸形的工控協(xié)議數(shù)據(jù)包來測(cè)試工控設(shè)備的健康性。因此,系統(tǒng)要求實(shí)現(xiàn)自動(dòng)采集功能,能夠生成工控協(xié)議數(shù)據(jù)幀集。
系統(tǒng)主要由表現(xiàn)層、業(yè)務(wù)層和數(shù)據(jù)支持層組成。設(shè)計(jì)系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 設(shè)計(jì)系統(tǒng)結(jié)構(gòu)圖
2.2.1 客戶段模塊設(shè)計(jì)
主要由登錄模塊、設(shè)備管理模塊、測(cè)試過程管理模塊、測(cè)試資源管理模塊、安全風(fēng)險(xiǎn)評(píng)估模塊、用戶管理模塊和系統(tǒng)日志模塊組成。
2.2.2 服務(wù)端模塊設(shè)計(jì)
主要由數(shù)據(jù)采集模塊、舍爾被掃描模塊、協(xié)議解析模塊、協(xié)議規(guī)范模塊、測(cè)試用例生成模塊、測(cè)試執(zhí)行器、監(jiān)視器和風(fēng)險(xiǎn)評(píng)估模塊組成。安全風(fēng)險(xiǎn)評(píng)估系統(tǒng)服務(wù)端功能模塊實(shí)現(xiàn)關(guān)系如圖2所示。
圖2 安全風(fēng)險(xiǎn)評(píng)估系統(tǒng)服務(wù)端功能模塊實(shí)現(xiàn)關(guān)系圖
文章重點(diǎn)分析了數(shù)據(jù)采集模塊、設(shè)備掃描模塊、測(cè)試執(zhí)行器模塊。
采用jNetPcap庫來實(shí)現(xiàn)數(shù)據(jù)的采集,捕獲工作站、HMI、控制服務(wù)器等控制設(shè)備與工控設(shè)備間的數(shù)據(jù)包。工控協(xié)議數(shù)據(jù)采集實(shí)現(xiàn)流程略。
設(shè)備掃描模塊主要由3 種模式組成:基于UDP 協(xié)議的ICMP 報(bào)文不可達(dá)掃描、基于TCP 協(xié)議的端口掃描、基于ICMP數(shù)據(jù)包的在線設(shè)備掃描。設(shè)備掃描模塊實(shí)現(xiàn)流程圖略。
主要是根據(jù)測(cè)試的配置信息送發(fā)到目標(biāo)設(shè)備,并實(shí)現(xiàn)功能對(duì)工控協(xié)議數(shù)據(jù)幀的協(xié)議進(jìn)行封存。測(cè)試執(zhí)行器模塊實(shí)現(xiàn)流程圖略。
系統(tǒng)采用B/S架構(gòu)實(shí)現(xiàn)的,利用MyAQL后端數(shù)據(jù)庫。協(xié)議解析腳本如下:①字段:AnalysisID;描述:協(xié)議解析腳本編號(hào);類型(長(zhǎng)度):unsigned int;鍵:是;是否允許為空:否。②字段:SourceDataID;描述:源數(shù)據(jù)編號(hào);類型(長(zhǎng)度):unsigned int;鍵:外鍵;是否允許為空:否。③字段:SourceDataSeq;描述:分組序號(hào);類型(長(zhǎng)度):unsigned int;鍵:否;是否允許為空:否。④字段:LinkProType;描述:述:數(shù)據(jù)鏈路層協(xié)議類型;類型(長(zhǎng)度):varchar(40);鍵:否;是否允許為空:是。⑤字段:NetProType;描述:網(wǎng)絡(luò)層協(xié)議類型;類型(長(zhǎng)度):varchar(40);鍵:否;是否允許為空:是。⑥字段:TranProType;描述:傳輸層協(xié)議類型;類型(長(zhǎng)度):small int;鍵:否;是否允許為空:是。⑦字段:Port;描述:端口號(hào);類型(長(zhǎng)度):unsigned int;鍵:否;是否允許為空:是。⑧字段:Time;描述:協(xié)議解析時(shí)間;類型(長(zhǎng)度):varchar(40);鍵:否;是否允許為空:否。⑨字段:UserName;描述:用戶名.;類型(長(zhǎng)度):varchar(40);鍵:否;是否允許為空:否。⑩字段:UserID;描述:用戶編號(hào);類型(長(zhǎng)度):unsigned int;鍵:外鍵;是否允許為空:否。字段:AnalysisScriptPath;描述:存放路徑;類型(長(zhǎng)度):varchar(128);鍵:否;是否允許為空:否。
文章使用測(cè)試用例表來描述測(cè)試執(zhí)行中的案例,系統(tǒng)漏洞信息情況如下。①字段:VulnerID;描述:漏洞編號(hào);類型(長(zhǎng)度):unsigned int;鍵:主鍵;是否允許為空:否。②字段:DeviceID;描述:設(shè)備編號(hào);類型(長(zhǎng)度):unsigned int;鍵:外鍵;是否允許為空否。③字段:ProTestCaseID;描述:測(cè)試用例編號(hào);類型(長(zhǎng)度):unsigned int;鍵:外鍵;是否允許為空:否。④字段:ConV ulnerID;描述:預(yù)配置漏洞編號(hào);類型(長(zhǎng)度):unsigned int;鍵:外鍵;是否允許為空:否。⑤字段:UserName;描述:用戶名;類型(長(zhǎng)度):varchar(40);鍵:否;是否允許為空:否。⑥字段:DiscoverDate;描述:發(fā)現(xiàn)日期;類型(長(zhǎng)度):Date;鍵:否;是否允許為空:否。
通過分析了水利樞紐系統(tǒng)安全風(fēng)險(xiǎn)評(píng)估系統(tǒng)的需要,設(shè)計(jì)了水利樞紐系統(tǒng)安全風(fēng)險(xiǎn)評(píng)估系統(tǒng),主要由表現(xiàn)層、業(yè)務(wù)層和數(shù)據(jù)支持層組成,最后設(shè)計(jì)了數(shù)據(jù)庫。水利樞紐系統(tǒng)安全風(fēng)險(xiǎn)評(píng)估系統(tǒng)的設(shè)計(jì)為水利樞紐系統(tǒng)安全提供重要的技術(shù)支持和借鑒。