黃海軍,黃東生,浦 亞,潘 雷
(1.華電云南發(fā)電有限公司,昆明 650228;2.廣西百色銀海發(fā)電有限公司,廣西 百色 533615)
近年來,為了適應(yīng)新型網(wǎng)絡(luò)系統(tǒng)的安全保護(hù)要求,《中華人民共和國網(wǎng)絡(luò)安全法》和以GB/T 22239—2019《信息安全技術(shù)網(wǎng)絡(luò)安全等級(jí)保護(hù)基本要求》[1]為基礎(chǔ)的網(wǎng)絡(luò)安全國家標(biāo)準(zhǔn)(以下簡稱為等保2.0 標(biāo)準(zhǔn))先后編制、修訂與發(fā)布實(shí)施,不僅實(shí)現(xiàn)了保護(hù)對(duì)象的全覆蓋,還提出了全程“可信驗(yàn)證”“動(dòng)態(tài)感知”和“全面審計(jì)”的主動(dòng)、縱深、精準(zhǔn)防御要求,網(wǎng)絡(luò)安全技術(shù)給電力安全管理帶來了更高挑戰(zhàn)[2]。
在電力網(wǎng)絡(luò)安全檢查中發(fā)現(xiàn),很多大型電力廠站存在主機(jī)安全隱患,究其原因:一方面是企業(yè)普遍重視網(wǎng)絡(luò)設(shè)備和安全設(shè)備的外部建設(shè)[3],而忽視主機(jī)設(shè)備的內(nèi)部投入;另一方面是電力監(jiān)控系統(tǒng)中Solaris 常用作關(guān)鍵少數(shù)核心服務(wù)器的操作系統(tǒng),技術(shù)門檻偏高,參考資料偏少,常見的網(wǎng)絡(luò)安全加固方法無法遷移使用。因此亟需開展Solaris系統(tǒng)的電力監(jiān)控主機(jī)安全加固研究,避免出現(xiàn)網(wǎng)絡(luò)計(jì)算環(huán)境不安全的顯著短板。
因內(nèi)核、應(yīng)用、服務(wù)等存在代碼缺陷,電力監(jiān)控系統(tǒng)主機(jī)可能存在口令、文件權(quán)限、參數(shù)等方面的弱點(diǎn),或因管理上存在不足,導(dǎo)致被越權(quán)訪問。被攻擊后因緩沖區(qū)溢出、資源耗盡等導(dǎo)致系統(tǒng)崩潰或訪問限制被旁路,進(jìn)而演變?yōu)榫W(wǎng)絡(luò)攻擊事件。
網(wǎng)絡(luò)攻擊過程中,入侵者通常先潛伏運(yùn)行木馬或惡意程序、滲透感染網(wǎng)絡(luò),提權(quán)為超級(jí)管理員以獲得最大的控制權(quán);然后讀取非授權(quán)信息、篡改電力業(yè)務(wù)數(shù)據(jù)或系統(tǒng)配置、破壞業(yè)務(wù)程序等達(dá)到攻擊目的,清除入侵痕跡后撤離[4-5]。
綜上,抵御電力監(jiān)控系統(tǒng)的網(wǎng)絡(luò)入侵,核心是源頭預(yù)防、層層聯(lián)動(dòng)、可信計(jì)算[6-9]。因此在主機(jī)防護(hù)上要做好網(wǎng)絡(luò)的隔離、過濾、認(rèn)證,阻斷非法的網(wǎng)絡(luò)訪問;做好文件與賬戶的權(quán)限分離、檢驗(yàn)與清理,阻斷越權(quán)的操作;增強(qiáng)行為的審計(jì)、報(bào)警與聯(lián)動(dòng)處置,阻斷入侵?jǐn)U大。
計(jì)算環(huán)境安全是網(wǎng)絡(luò)安全的最后一道防線,根據(jù)等保2.0標(biāo)準(zhǔn),計(jì)算環(huán)境安全要求見表1。
表1 等保2.0標(biāo)準(zhǔn)的計(jì)算環(huán)境安全要求Tab.1 Security requirements of computing environment for Classified Protection of Cybersecurity 2.0
電力監(jiān)控系統(tǒng)安全防護(hù)的首要關(guān)鍵是最大化地減少網(wǎng)絡(luò)直接外聯(lián),規(guī)范部署網(wǎng)絡(luò)邊界防護(hù)設(shè)備,全面落實(shí)網(wǎng)絡(luò)邊界安全策略,做到安全分區(qū)、杜絕直連,盡可能減少入侵行為的發(fā)生。典型的電力監(jiān)控系統(tǒng)防護(hù)設(shè)施部署結(jié)構(gòu)如圖1所示。
隨著電力系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)的升級(jí)改造,網(wǎng)絡(luò)安全態(tài)勢也發(fā)生變化,交互隔離可以大幅降低網(wǎng)絡(luò)攻擊風(fēng)險(xiǎn)。
為便于描述,規(guī)定主機(jī)信息如表2 所示。在遠(yuǎn)程管理上,工程師站eng1(堡壘機(jī)等同于工程師站)的遠(yuǎn)程管理服務(wù)已關(guān)閉,部署有嚴(yán)苛的技術(shù)措施來防范外來入侵,是遠(yuǎn)程管理電力監(jiān)控系統(tǒng)的唯一節(jié)點(diǎn)(見圖1);其他計(jì)算機(jī)僅支持白名單中的特定主機(jī)以特定端口連接,能且只能接受工程師站eng1的單向遠(yuǎn)程管理。在本地管理上,eng1正常使用本地功能,其他計(jì)算機(jī)盡可能關(guān)閉本地功能,包括硬件上禁用無線網(wǎng)卡、便攜設(shè)備,軟件上禁止業(yè)務(wù)賬戶使用su系統(tǒng)命令等。以硬件控制為例,須在/etc/system 中禁止U 盤等設(shè)備驅(qū)動(dòng)的加載,從而防范病毒文件“擺渡”到目標(biāo)主機(jī)。
表2 主機(jī)信息表Tab.2 Host information
圖1 電力監(jiān)控系統(tǒng)防護(hù)設(shè)施部署結(jié)構(gòu)圖Fig.1 Deployment structure diagram of protection facilities in electric power supervisory control system
防火墻IP Filter的配置在系統(tǒng)引導(dǎo)時(shí)就加載到內(nèi)核,安全系數(shù)高,可有效增強(qiáng)網(wǎng)絡(luò)安全基礎(chǔ),是建立電力系統(tǒng)可信計(jì)算的必要條件,因此應(yīng)梳理所有業(yè)務(wù)的網(wǎng)絡(luò)流向,轉(zhuǎn)換為防火墻策略。添加防火墻策略時(shí),務(wù)必零信任[10],禁止所有網(wǎng)絡(luò)接入,只允許已知業(yè)務(wù)IP按指定端口進(jìn)行訪問。
(1)限定連接參數(shù),加強(qiáng)網(wǎng)絡(luò)保護(hù),安全外殼協(xié)議(Secure Shell,SSH)配置建議見表3。
表3 SSH配置建議Tab.3 SSH configuration suggestions
(2)限定public key訪問,可信驗(yàn)證主機(jī);禁用密碼通道,杜絕猜測攻破密碼而登錄。
(1)工控系統(tǒng)應(yīng)關(guān)閉sendmail、ftp等服務(wù),建議關(guān)閉finger、rpc等;
(2)關(guān)閉inetd 中服務(wù)托管接口;
(3)關(guān)閉rc2.d、rc3.d 中的服務(wù)啟動(dòng)程序;
(4)清除相關(guān)配置文件,并設(shè)置為禁止修改;
(5)使用插拔驗(yàn)證模塊技術(shù)保護(hù)系統(tǒng)。
3.1.1 基于角色訪問的賬戶規(guī)劃
超級(jí)用戶模型中root 具有全部控制權(quán),而普通用戶不具有控制權(quán),基于角色的訪問控制(Role-Based Access Control, RBAC)則是一種更為安全的方法。RBAC采用最小特權(quán)的安全原則,在更精細(xì)的級(jí)別上強(qiáng)制執(zhí)行安全策略,避免賬戶及權(quán)限被濫用。基于RBAC的賬戶示例見表4。
表4 基于RBAC的賬戶示例Tab.4 Account example based on RBAC model
3.1.2 RBAC的應(yīng)用示范
RBAC權(quán)限分離的難點(diǎn)在于權(quán)限需要額外自定義,且與一般性的定義存在差異。參數(shù)“Reboot Server:suser:cmd:::/usr/sbin/reboot:uid=0;gid=bin”即是將reboot 這一超級(jí)權(quán)限(uid=0)賦予權(quán)限組,在指定給emsrole 角色后,繼承者ems007 獲得重啟主機(jī)的權(quán)限(見圖2)。
圖2 通過GUI進(jìn)行賬戶RBAC權(quán)限分離Fig.2 Privilege Separation of RBAC account by GUI
3.2.1 限制賬戶的crond定時(shí)任務(wù)
入侵者需要定時(shí)任務(wù)來建立一個(gè)穩(wěn)定的遠(yuǎn)程后門,因此禁止普通賬戶使用定時(shí)任務(wù),清理非必要的任務(wù),并加強(qiáng)任務(wù)的監(jiān)測審計(jì),以便及時(shí)發(fā)現(xiàn)系統(tǒng)入侵行為。
3.2.2 通過restricted shell(rsh)限制泛特權(quán)
入侵者提權(quán)操作需要各種嘗試,rsh沒有目錄切換、環(huán)境變量設(shè)置、帶路徑執(zhí)行程序、重定向輸出等功能,通過指定admin賬戶使用rsh,結(jié)合審計(jì)技術(shù),可以制作蜜罐來誘捕入侵者。
3.2.3 限制su的使用
禁用root 直接登錄,設(shè)置su 命令僅sysgrp 組成員可用,并全程監(jiān)測其執(zhí)行歷史。系統(tǒng)入侵的關(guān)鍵特征是系統(tǒng)提權(quán),配合審計(jì)技術(shù),可以提升電力監(jiān)控系統(tǒng)的防御水平。
在有限的在線電力監(jiān)控網(wǎng)絡(luò)中,幾乎沒有支持webshell的網(wǎng)絡(luò)服務(wù),關(guān)鍵IP被冒用很容易被發(fā)現(xiàn),與陌生的遠(yuǎn)程環(huán)境有很大差別;唯一的遠(yuǎn)程通道(SSH)采用加密公鑰驗(yàn)證,加上防火墻、RBAC 等組合加固措施,物理安全和計(jì)算環(huán)境基本可控。在此基礎(chǔ)上,對(duì)每個(gè)新建立的遠(yuǎn)程管理IP請(qǐng)求進(jìn)行白名單式校驗(yàn)[11],可建立主機(jī)層面的可信連接。登錄訪問的可信校驗(yàn)流程見圖3。
圖3 登錄訪問的可信校驗(yàn)流程Fig.3 Flow chart of trusted verification of login access
過于寬泛的文件權(quán)限,以及普通用戶可操作的特權(quán)程序,為入侵者實(shí)施攻擊提供了便利,需加強(qiáng)監(jiān)測校驗(yàn)。一旦篩查發(fā)現(xiàn)異常,應(yīng)及時(shí)取消?;谇鍐蔚目尚判r?yàn)流程見圖4。
圖4 基于清單的可信校驗(yàn)流程圖Fig.4 Flow chart of list-based trusted verification
通過清單內(nèi)容的匹配計(jì)算,校驗(yàn)程序文件的一致性、資源占用率等信息,可以擴(kuò)展電力監(jiān)控系統(tǒng)主機(jī)的可信計(jì)算[12]。項(xiàng)目中,用eng1 等外部系統(tǒng)建立data1 等目標(biāo)主機(jī)的進(jìn)程、文件基準(zhǔn)清單,進(jìn)行sha1、md5等多重加密,定期去監(jiān)測進(jìn)程及資源占用率,校驗(yàn)進(jìn)程與文件的完整性、異變性,可根據(jù)預(yù)定義的應(yīng)急類別執(zhí)行報(bào)警或中斷的處置措施,鞏固可信計(jì)算的基礎(chǔ)。
基本審計(jì)報(bào)告工具(Basic Audit Reporting Tool,BART)可以對(duì)多個(gè)系統(tǒng)執(zhí)行文件級(jí)檢查驗(yàn)證,校驗(yàn)出關(guān)鍵目錄中的異動(dòng)[13]。黑客入侵時(shí),通常會(huì)嘗試復(fù)制/etc/shadow 等核心文件內(nèi)容、替換核心程序或偽造文件,因此校驗(yàn)關(guān)鍵位置的文件變化,可及時(shí)獲知電力系統(tǒng)主機(jī)的各類異動(dòng)。
本地保護(hù)除物理措施外,可設(shè)置屏幕超時(shí)鎖定和登錄超時(shí)退出。
基本安全模塊(Basic Security Module,BSM)將audit 信息發(fā)送到syslog,為電力網(wǎng)絡(luò)安全態(tài)勢感知系統(tǒng)建設(shè)提供底層的數(shù)據(jù)支撐。黑客攻擊最常見的是webshell技法,針對(duì)此類攻擊,定期檢查shell啟動(dòng)情況,即可盡早發(fā)現(xiàn)異常。
入侵者會(huì)設(shè)法清空攻擊痕跡逃逸,因此必須使用記賬功能來追溯。首先創(chuàng)建獨(dú)立的日志文件,然后激活accton 記賬,需要時(shí)導(dǎo)入文件使用lastcomm審計(jì)即可還原電力監(jiān)控系統(tǒng)攻擊過程。
為有效固定攻擊者的違法證據(jù),必須修改本地主機(jī)以及審計(jì)服務(wù)器的syslog 設(shè)置,實(shí)現(xiàn)日志的及時(shí)轉(zhuǎn)移。如果電力監(jiān)控系統(tǒng)中部署了日志審計(jì)裝置、態(tài)勢感知裝置等,可以直接接入該syslog 日志,確??煽看鎯?chǔ)、及時(shí)報(bào)警。
通過shell后臺(tái)程序交互,推送網(wǎng)絡(luò)安全預(yù)警、報(bào)警信息至電力監(jiān)控系統(tǒng),在預(yù)定義的實(shí)時(shí)數(shù)據(jù)庫與組態(tài)畫面上,直接聯(lián)動(dòng)數(shù)據(jù)采集與監(jiān)視控制(Supervisory Control and Data Acquisition,SCADA)系統(tǒng),播放語音報(bào)警和文本報(bào)警,可實(shí)現(xiàn)網(wǎng)絡(luò)攻擊的及時(shí)發(fā)現(xiàn)與處理[14]。
在可信計(jì)算程序中,配置模擬量輸出報(bào)警信息和畫面提示、開關(guān)量輸出總報(bào)警和語音提示,實(shí)現(xiàn)主機(jī)信息推送至SCADA后臺(tái)(見圖5)。
圖5 SCADA的報(bào)警聯(lián)動(dòng)示意圖Fig.5 Diagram of SCADA alarm linkage
自動(dòng)安全性增強(qiáng)工具(Automated Security Enhancement Tool,ASET)可以執(zhí)行系統(tǒng)文件權(quán)限調(diào)優(yōu)、系統(tǒng)全面檢查、防火墻設(shè)置等操作,從而大大簡化系統(tǒng)安全的監(jiān)視和控制工作。通過ASET 收集Warning 等信息,配合logger、syslog 技法,可以實(shí)現(xiàn)報(bào)警自動(dòng)化,為日常運(yùn)維提供支撐。
關(guān)鍵電力廠站的網(wǎng)絡(luò)安全事件必須及時(shí)處理,避免入侵?jǐn)U大,從而破壞電力系統(tǒng)的穩(wěn)定。審計(jì)發(fā)現(xiàn)的異常,一方面應(yīng)及時(shí)清除風(fēng)險(xiǎn)程序及賬戶,恢復(fù)正常的業(yè)務(wù)功能;另一方面應(yīng)舉一反三調(diào)整安全加固策略,在硬件上進(jìn)行設(shè)備禁用或rem_drv刪除,在賬戶系統(tǒng)上進(jìn)行RBAC 優(yōu)化,在文件權(quán)限上進(jìn)行訪問控制列表(Access Control List,ACL)設(shè)置,在防火墻、ASET上調(diào)整攔截策略,在可信連接、可信運(yùn)行、聯(lián)動(dòng)實(shí)時(shí)報(bào)警等腳本上改進(jìn)算法,在BART、BSM等審計(jì)上優(yōu)化,最終實(shí)現(xiàn)異常攔截、即時(shí)報(bào)警、聯(lián)動(dòng)處理的安全加固效果。
針對(duì)Solaris 系統(tǒng)計(jì)算環(huán)境,分析了電力監(jiān)控系統(tǒng)的管理特點(diǎn)和網(wǎng)絡(luò)攻擊特征,提出了一套安全加固方案,能夠擴(kuò)展可信計(jì)算的應(yīng)用場景,彌補(bǔ)主機(jī)加固研究在系統(tǒng)聯(lián)動(dòng)報(bào)警與動(dòng)態(tài)控制等方面的不足,增強(qiáng)電力監(jiān)控系統(tǒng)主機(jī)的計(jì)算環(huán)境安全。
0day 漏洞多發(fā)[15],因此電力監(jiān)控系統(tǒng)安全加固技術(shù)也并非萬全之策,應(yīng)加強(qiáng)可信計(jì)算、態(tài)勢感知等技術(shù)的深入研究,提供更深入和全面的算法技術(shù)支撐。