馬 強(qiáng),殷順堯,羊依銀
(中國(guó)電子科技網(wǎng)絡(luò)信息安全有限公司,四川 成都 610207)
工業(yè)控制系統(tǒng)廣泛應(yīng)用于石油、電力、交通、國(guó)防等關(guān)系到國(guó)家和社會(huì)穩(wěn)定、經(jīng)濟(jì)正常運(yùn)行的重要領(lǐng)域。智能制造背景下的“工業(yè)互聯(lián)網(wǎng)”、“工業(yè)4.0”、“中國(guó)制造2025”等技術(shù)革命,推動(dòng)著工業(yè)朝著數(shù)字化、網(wǎng)絡(luò)化、開放化、集成化的工業(yè)互聯(lián)方向發(fā)展。高度網(wǎng)絡(luò)化、開放協(xié)議和異構(gòu)組件互聯(lián),帶來(lái)了更多的攻擊路徑和攻擊方式,使得網(wǎng)絡(luò)安全問(wèn)題直接延伸到工業(yè)控制系統(tǒng)中,工控系統(tǒng)面臨更加復(fù)雜的信息安全威脅。
傳統(tǒng)的工業(yè)控制系統(tǒng)網(wǎng)絡(luò)安全解決方案中采用防火墻、IDS、IPS、安全網(wǎng)關(guān)等安全設(shè)備進(jìn)行被動(dòng)防護(hù)。主動(dòng)感知預(yù)警技術(shù)的應(yīng)用,豐富了工業(yè)控制系統(tǒng)網(wǎng)絡(luò)安全防護(hù)體系。目前國(guó)內(nèi)外涌現(xiàn)出一些強(qiáng)大的聯(lián)網(wǎng)工控系統(tǒng)網(wǎng)絡(luò)搜索引擎,如Shodan[1]、Zoomeye[2]、ICS Radar[3]等,能夠發(fā)現(xiàn)互聯(lián)網(wǎng)空間里的工業(yè)控制系統(tǒng)資產(chǎn),但對(duì)工業(yè)控制系統(tǒng)的監(jiān)測(cè)能力仍然有限。主要表現(xiàn)在:(1)工控系統(tǒng)協(xié)議廣度不夠:協(xié)議支持?jǐn)?shù)量、指紋識(shí)別廣度有限,導(dǎo)致一些接入互聯(lián)網(wǎng)的工控系統(tǒng)無(wú)法被探知;(2)工控系統(tǒng)探測(cè)準(zhǔn)確度不夠:部分工控系統(tǒng)僅記錄簡(jiǎn)單的應(yīng)答報(bào)文,且部分應(yīng)答報(bào)文是錯(cuò)誤碼;(3)工控系統(tǒng)分析深度不夠:工控系統(tǒng)掃描應(yīng)答報(bào)文未進(jìn)行深度分析,無(wú)法對(duì)一些特定應(yīng)用進(jìn)行支撐,如設(shè)備存活性、區(qū)域設(shè)備關(guān)聯(lián)性、潛在應(yīng)用領(lǐng)域等。
聯(lián)網(wǎng)工業(yè)控制系統(tǒng)主動(dòng)感知預(yù)警技術(shù)研究,首先從分析工業(yè)通信協(xié)議入手,編寫協(xié)議專用掃描探測(cè)腳本,提取工控指紋特征,創(chuàng)建工控指紋庫(kù)。其次利用快速掃描機(jī)制發(fā)現(xiàn)互聯(lián)網(wǎng)空間里的工業(yè)控制系統(tǒng),識(shí)別相應(yīng)的系統(tǒng)或設(shè)備種類、型號(hào)、操作系統(tǒng)、固件版本等信息,同時(shí)深度挖掘系統(tǒng)或設(shè)備開放的其他服務(wù)。最后融合CNVD、CNNVD、CVE及中國(guó)網(wǎng)安自主工控安全漏洞庫(kù),分析聯(lián)網(wǎng)工控系統(tǒng)或設(shè)備存在的漏洞情況,對(duì)聯(lián)網(wǎng)工控系統(tǒng)進(jìn)行威脅預(yù)警。
工業(yè)通信協(xié)議種類繁多,不同行業(yè)、不同領(lǐng)域通信協(xié)議差別很大,有的是公有協(xié)議,如:Modbus、IEC60870-5-104等;有的是私有協(xié)議,如:Siemens S7,GE SRTP等。針對(duì)公有協(xié)議分析可以參照IEC、GB或HB等協(xié)議標(biāo)準(zhǔn)解析,難度系數(shù)低、準(zhǔn)確度高;而對(duì)于私有協(xié)議分析,則需要利用硬件設(shè)備或模擬軟件,搭建工控系統(tǒng)仿真運(yùn)行環(huán)境,通過(guò)抓包工具捕獲數(shù)據(jù)包,對(duì)通信報(bào)文采用盲識(shí)別、協(xié)議逆向等方法進(jìn)行分析,難度系數(shù)高、準(zhǔn)確度低。本文以Modbus/TCP[4]為例,分析公有協(xié)議的分析方法。
Modbus/TCP是Modbus協(xié)議的網(wǎng)絡(luò)通信標(biāo)準(zhǔn),屬于OSI模型中第七層的應(yīng)用層協(xié)議。RFC1700規(guī)定了用于自動(dòng)化信息傳輸?shù)腗odbus協(xié)議端口為502,是工業(yè)自動(dòng)化公司唯一所擁有的常用端口號(hào)。Modbus在TCP/IP以太網(wǎng)上傳輸,支持EthernetⅡ和802.3兩種幀格式,如圖1所示,Modbus/TCP數(shù)據(jù)幀包含MBAP報(bào)文頭、功能碼和數(shù)據(jù)三部分。
圖1 Modbus/TCP協(xié)議幀格式
MBAP報(bào)文頭由TI(傳輸標(biāo)識(shí))、PI(協(xié)議標(biāo)識(shí))、LEN(長(zhǎng)度)、UI(單元標(biāo)識(shí))四部分組成,共占7 B?;赥CP/IP協(xié)議的客戶端與服務(wù)器端通信過(guò)程中,由客戶端生成相應(yīng)MBAP報(bào)文頭信息,服務(wù)器端在應(yīng)答過(guò)程中,除LEN重新生成外,其他部分MBAP報(bào)文頭復(fù)制客戶端生成值。功能碼(FUNC)分為公共功能碼、用戶定義功能碼、保留功能碼三類,占1 B。
以常用功能碼43(0x2b)讀取設(shè)備標(biāo)識(shí)信息為例,對(duì)Modbus/TCP報(bào)文交互以及協(xié)議分析過(guò)程進(jìn)行詳細(xì)說(shuō)明,如圖2所示。
圖2 Modbus/TCP 讀設(shè)備標(biāo)識(shí)應(yīng)用層報(bào)文交互解析
通過(guò)wireshark抓包工具,捕獲Modbus/TCP讀設(shè)備標(biāo)識(shí)應(yīng)用層交互報(bào)文,如圖3所示。通過(guò)分析可以讀出設(shè)備廠商為:Rockwell Automation Allen-Bradley,產(chǎn)品代碼:180,版本:08.0B。
圖3 Modbus/TCP讀設(shè)備標(biāo)識(shí)應(yīng)答報(bào)文
在深度分析Modbus/TCP協(xié)議的基礎(chǔ)上,開發(fā)Modbus/TCP協(xié)議專用掃描探測(cè)腳本,為互聯(lián)網(wǎng)空間工控系統(tǒng)探測(cè)提供方法支撐。該掃描探測(cè)腳本中主要包括:客戶端與服務(wù)端的TCP連接、資產(chǎn)請(qǐng)求、業(yè)務(wù)交互、數(shù)據(jù)解析、特征信息提取、TCP關(guān)閉等。
當(dāng)前網(wǎng)絡(luò)搜索引擎存在一些問(wèn)題,如:采集到的原始報(bào)文數(shù)據(jù)不全面,報(bào)文解析不徹底,部分資產(chǎn)被遺漏;新探測(cè)到的資產(chǎn)無(wú)法正常識(shí)別廠商等關(guān)鍵資產(chǎn)數(shù)據(jù);能夠識(shí)別的資產(chǎn)數(shù)量偏少,識(shí)別成功率偏低。通過(guò)創(chuàng)建工控系統(tǒng)指紋庫(kù),維護(hù)指紋庫(kù)字典,利用模糊匹配技術(shù),可以提高資產(chǎn)的識(shí)別速度及廣度,能夠獲取到廠商、型號(hào)、版本等重要資產(chǎn)數(shù)據(jù),具備靈活性強(qiáng)、易于擴(kuò)展等特性,解決了聯(lián)網(wǎng)工控系統(tǒng)識(shí)別成功率低的問(wèn)題。
工控系統(tǒng)指紋庫(kù)在構(gòu)建過(guò)程中,部分公有協(xié)議可以通過(guò)向目標(biāo)設(shè)備發(fā)送特定的請(qǐng)求報(bào)文,對(duì)設(shè)備應(yīng)答信息進(jìn)行解析,從而得到工控設(shè)備的全面資產(chǎn)信息數(shù)據(jù)。常用工業(yè)通信協(xié)議中通過(guò)發(fā)送請(qǐng)求包讀取指紋的方式主要包括:Modbus/TCP、MMS、Ethernet/IP、FINS等,如表1所示。部分公有協(xié)議如IEC60870-5-104、DNP3.0等,則無(wú)法通過(guò)報(bào)文交互的方式獲取相關(guān)設(shè)備廠商、軟件版本等信息,該類工控資產(chǎn)則無(wú)法識(shí)別廠商、軟件版本,但是協(xié)議本身也是一種指紋特征。
工控系統(tǒng)指紋庫(kù)通過(guò)對(duì)工控通信協(xié)議的交互報(bào)文深度分析,封裝工控系統(tǒng)基礎(chǔ)數(shù)據(jù),抽象出設(shè)備的特征參數(shù)值,以類型、廠商名稱、設(shè)備型號(hào)作為關(guān)鍵字,設(shè)備特征字符串作為特征值,建立指紋庫(kù)。該指紋庫(kù)涵蓋工業(yè)控制設(shè)備、系統(tǒng)主機(jī)及服務(wù)器、應(yīng)用軟件、智能設(shè)備、網(wǎng)絡(luò)設(shè)備等,如表2所示。
表1 標(biāo)準(zhǔn)協(xié)議請(qǐng)求命令及應(yīng)答信息
表2 工控系統(tǒng)指紋庫(kù)對(duì)照表
圖4 聯(lián)網(wǎng)工業(yè)控制系統(tǒng)快速掃描機(jī)制
目前流行的網(wǎng)絡(luò)掃描工具如Nmap、Zmap、Masscan[5]等,都可以對(duì)整個(gè)互聯(lián)網(wǎng)空間工控設(shè)備資產(chǎn)情況進(jìn)行探測(cè)。其中Nmap可以發(fā)現(xiàn)存活主機(jī)、開發(fā)端口、支持多端口、多網(wǎng)段對(duì)目標(biāo)域的掃描,還能進(jìn)一步識(shí)別出端口服務(wù)類型、版本、操作系統(tǒng)等,不僅可以用于掃描TCP協(xié)議端口,也可以用于掃描UDP協(xié)議端口;Masscan在專用硬件網(wǎng)卡設(shè)備及網(wǎng)絡(luò)條件滿足的情況下,可以在3 min內(nèi)掃描全部IPv4地址空間,是目前最快的TCP協(xié)議端口掃描工具,可以用于掃描TCP協(xié)議端口,但是無(wú)法掃描UDP協(xié)議端口;Zmap是掃描速度僅次于Masscan的掃描工具,在滿足最大掃描能力的前提條件下,可以在44 min內(nèi)掃描完IPv4地址空間,既可以掃描TCP協(xié)議端口,也可以掃描UDP協(xié)議端口。
針對(duì)以上三種常用掃描工具的特點(diǎn),聯(lián)網(wǎng)工業(yè)控制系統(tǒng)主動(dòng)感知技術(shù)采用端口存活掃描、資產(chǎn)識(shí)別掃描相結(jié)合的快速掃描機(jī)制,如圖4所示。首先利用Masscan對(duì)IPv4地址空間內(nèi)TCP協(xié)議端口進(jìn)行探測(cè),利用Zmap對(duì)IPv4地址空間內(nèi)UDP協(xié)議端口進(jìn)行探測(cè),并將相關(guān)探測(cè)結(jié)果匯總到端口存活結(jié)果地址庫(kù),完成端口存活性掃描。其次利用Nmap對(duì)端口存活性結(jié)果進(jìn)行資產(chǎn)識(shí)別性掃描,同時(shí)結(jié)合工控系統(tǒng)指紋庫(kù),發(fā)現(xiàn)目標(biāo)設(shè)備的設(shè)備類型、版本、型號(hào)、工控應(yīng)用協(xié)議等信息。
Masscan掃描TCP協(xié)議端口過(guò)程中,采用了無(wú)狀態(tài)掃描技術(shù),僅發(fā)送了TCP/IP三步握手中SYN包,當(dāng)對(duì)端端口存在ACK應(yīng)答時(shí),掃描端才會(huì)發(fā)送RST包,主動(dòng)結(jié)束該連接。當(dāng)以較高發(fā)包率進(jìn)行掃描探測(cè)時(shí),需要考慮組網(wǎng)網(wǎng)絡(luò)設(shè)備的性能,如有防火墻、路由器,則需要考慮防火墻中新建連接數(shù)、并發(fā)連接數(shù)的限制、路由器中內(nèi)存大小等因素。Zmap掃描UDP協(xié)議端口時(shí),需要該端口服務(wù)有應(yīng)答,才能發(fā)現(xiàn)該端口。針對(duì)工控系統(tǒng),采用UDP協(xié)議的工控協(xié)議數(shù)量不多,主要包括BACNet、DDP、HART-IP、FFHSE等,在進(jìn)行工控協(xié)議端口掃描時(shí),需要發(fā)送對(duì)應(yīng)工控協(xié)議相關(guān)請(qǐng)求報(bào)文探測(cè)。
聯(lián)網(wǎng)工業(yè)控制系統(tǒng)經(jīng)過(guò)資產(chǎn)識(shí)別掃描之后,部分設(shè)備的廠商、產(chǎn)品、版本、協(xié)議、端口、服務(wù)等信息都已經(jīng)被探測(cè)出來(lái)。從網(wǎng)絡(luò)安全的角度上看,分析當(dāng)前資產(chǎn)中存在的安全漏洞,根據(jù)漏洞的存在狀況、漏洞的危險(xiǎn)等級(jí)對(duì)聯(lián)網(wǎng)工控系統(tǒng)進(jìn)行威脅預(yù)警,指導(dǎo)政府監(jiān)管部門做好漏洞安全防范具有積極的意義。
目前CNVD、CNNVD是權(quán)威的國(guó)家信息安全漏洞共享平臺(tái)、國(guó)家信息安全漏洞庫(kù),CVE是國(guó)際著名的安全漏洞庫(kù),公開的工業(yè)控制系統(tǒng)安全漏洞可以從以上平臺(tái)中獲取,如圖5所示。中國(guó)電子科技網(wǎng)絡(luò)信息安全有限公司工控安全事業(yè)部是專業(yè)從事工業(yè)控制系統(tǒng)網(wǎng)絡(luò)信息安全的技術(shù)團(tuán)隊(duì),目前已擁有自主挖掘工控漏洞200多個(gè),且多為零DAY漏洞,融合CNVD、CNNVD、CVE等權(quán)威漏洞庫(kù),形成了聯(lián)網(wǎng)工控系統(tǒng)的專用漏洞庫(kù)。
圖5 CNVD上發(fā)布的工控漏洞示例圖
根據(jù)在工控系統(tǒng)漏洞利用過(guò)程中所用到的無(wú)損檢測(cè)方法,采用積極的、非破壞性的辦法來(lái)檢驗(yàn)系統(tǒng)是否存在工控漏洞。在此基礎(chǔ)之上構(gòu)成相應(yīng)的漏洞匹配規(guī)則,形成一套標(biāo)準(zhǔn)的工控系統(tǒng)漏洞檢驗(yàn)方法,由程序自動(dòng)進(jìn)行系統(tǒng)漏洞掃描的分析工作。最終完成對(duì)聯(lián)網(wǎng)工控資產(chǎn)的漏洞關(guān)聯(lián)匹配,實(shí)現(xiàn)對(duì)聯(lián)網(wǎng)工業(yè)控制系統(tǒng)的主動(dòng)預(yù)警。
為了更加準(zhǔn)確地統(tǒng)計(jì)行政區(qū)域內(nèi)聯(lián)網(wǎng)資產(chǎn)情況及安全漏洞威脅情況,引入了IP定位庫(kù)來(lái)實(shí)現(xiàn)對(duì)聯(lián)網(wǎng)工業(yè)控制系統(tǒng)的準(zhǔn)確定位。國(guó)內(nèi)區(qū)域定位精度支持區(qū)縣級(jí),國(guó)外區(qū)域定位精度可支持到市。IP定位的引入,有力地支撐了政府監(jiān)管部門對(duì)區(qū)域內(nèi)工業(yè)控制系統(tǒng)安全漏洞情況進(jìn)行宏觀把握。
通過(guò)對(duì)聯(lián)網(wǎng)工控系統(tǒng)主動(dòng)感知預(yù)警技術(shù)研究,實(shí)現(xiàn)了對(duì)掃描探測(cè)腳本的插件式擴(kuò)充,工控指紋庫(kù)、漏洞庫(kù)的批量導(dǎo)入,IP定位庫(kù)的自動(dòng)更新、人工校正,自動(dòng)生成主動(dòng)感知報(bào)表,自動(dòng)推送威脅報(bào)警,為實(shí)現(xiàn)國(guó)家層面的聯(lián)網(wǎng)工業(yè)控制系統(tǒng)威脅感知預(yù)警平臺(tái)提供了強(qiáng)有力的技術(shù)支撐。但是,聯(lián)網(wǎng)工業(yè)控制系統(tǒng)主動(dòng)感知預(yù)警技術(shù)依賴于專用工控協(xié)議探測(cè)腳本的準(zhǔn)確度,尤其是工控私有協(xié)議存在解析識(shí)別不能完全覆蓋的風(fēng)險(xiǎn),會(huì)存在一定的聯(lián)網(wǎng)工控系統(tǒng)資產(chǎn)及威脅漏報(bào)情況。加強(qiáng)對(duì)私有協(xié)議研究成果的互通互用,或通過(guò)社會(huì)力量、第三方共享平臺(tái),實(shí)現(xiàn)對(duì)私有協(xié)議掃描探測(cè)腳本的不斷完善、擴(kuò)充,快速提升聯(lián)網(wǎng)工控系統(tǒng)的主動(dòng)感知預(yù)警能力。
[1] Industrial control systems[DB/OL].https://www.shodan.io/explore/category/industrial-control-systems.
[2] 通過(guò)ZoomEye搜索世界各地工業(yè)控制系統(tǒng)[DB/OL].https://www.zoomeye.org/topic?id=ics_project.
[3] 工業(yè)互聯(lián)網(wǎng)雷達(dá)[DB/OL].https://radar.winicssec.com/html/map/china_map.html.
[4] GB/T 19582.3-2008 基于Modbus協(xié)議的工業(yè)自動(dòng)化網(wǎng)絡(luò)規(guī)范 第3部分:Modbus協(xié)議在TCP/IP上的實(shí)現(xiàn)指南[S]. 北京:中國(guó)標(biāo)準(zhǔn)出版社,2008.
[5] 冉世偉. 基于Masscan漏洞掃描技術(shù)的研究[D]. 天津:南開大學(xué),2016.