馬 強,殷順堯,羊依銀
(中國電子科技網絡信息安全有限公司,四川 成都 610207)
工業控制系統廣泛應用于石油、電力、交通、國防等關系到國家和社會穩定、經濟正常運行的重要領域。智能制造背景下的“工業互聯網”、“工業4.0”、“中國制造2025”等技術革命,推動著工業朝著數字化、網絡化、開放化、集成化的工業互聯方向發展。高度網絡化、開放協議和異構組件互聯,帶來了更多的攻擊路徑和攻擊方式,使得網絡安全問題直接延伸到工業控制系統中,工控系統面臨更加復雜的信息安全威脅。
傳統的工業控制系統網絡安全解決方案中采用防火墻、IDS、IPS、安全網關等安全設備進行被動防護。主動感知預警技術的應用,豐富了工業控制系統網絡安全防護體系。目前國內外涌現出一些強大的聯網工控系統網絡搜索引擎,如Shodan[1]、Zoomeye[2]、ICS Radar[3]等,能夠發現互聯網空間里的工業控制系統資產,但對工業控制系統的監測能力仍然有限。主要表現在:(1)工控系統協議廣度不夠:協議支持數量、指紋識別廣度有限,導致一些接入互聯網的工控系統無法被探知;(2)工控系統探測準確度不夠:部分工控系統僅記錄簡單的應答報文,且部分應答報文是錯誤碼;(3)工控系統分析深度不夠:工控系統掃描應答報文未進行深度分析,無法對一些特定應用進行支撐,如設備存活性、區域設備關聯性、潛在應用領域等。
聯網工業控制系統主動感知預警技術研究,首先從分析工業通信協議入手,編寫協議專用掃描探測腳本,提取工控指紋特征,創建工控指紋庫。其次利用快速掃描機制發現互聯網空間里的工業控制系統,識別相應的系統或設備種類、型號、操作系統、固件版本等信息,同時深度挖掘系統或設備開放的其他服務。最后融合CNVD、CNNVD、CVE及中國網安自主工控安全漏洞庫,分析聯網工控系統或設備存在的漏洞情況,對聯網工控系統進行威脅預警。
工業通信協議種類繁多,不同行業、不同領域通信協議差別很大,有的是公有協議,如:Modbus、IEC60870-5-104等;有的是私有協議,如:Siemens S7,GE SRTP等。針對公有協議分析可以參照IEC、GB或HB等協議標準解析,難度系數低、準確度高;而對于私有協議分析,則需要利用硬件設備或模擬軟件,搭建工控系統仿真運行環境,通過抓包工具捕獲數據包,對通信報文采用盲識別、協議逆向等方法進行分析,難度系數高、準確度低。本文以Modbus/TCP[4]為例,分析公有協議的分析方法。
Modbus/TCP是Modbus協議的網絡通信標準,屬于OSI模型中第七層的應用層協議。RFC1700規定了用于自動化信息傳輸的Modbus協議端口為502,是工業自動化公司唯一所擁有的常用端口號。Modbus在TCP/IP以太網上傳輸,支持EthernetⅡ和802.3兩種幀格式,如圖1所示,Modbus/TCP數據幀包含MBAP報文頭、功能碼和數據三部分。

圖1 Modbus/TCP協議幀格式
MBAP報文頭由TI(傳輸標識)、PI(協議標識)、LEN(長度)、UI(單元標識)四部分組成,共占7 B。基于TCP/IP協議的客戶端與服務器端通信過程中,由客戶端生成相應MBAP報文頭信息,服務器端在應答過程中,除LEN重新生成外,其他部分MBAP報文頭復制客戶端生成值。功能碼(FUNC)分為公共功能碼、用戶定義功能碼、保留功能碼三類,占1 B。
以常用功能碼43(0x2b)讀取設備標識信息為例,對Modbus/TCP報文交互以及協議分析過程進行詳細說明,如圖2所示。

圖2 Modbus/TCP 讀設備標識應用層報文交互解析
通過wireshark抓包工具,捕獲Modbus/TCP讀設備標識應用層交互報文,如圖3所示。通過分析可以讀出設備廠商為:Rockwell Automation Allen-Bradley,產品代碼:180,版本:08.0B。

圖3 Modbus/TCP讀設備標識應答報文
在深度分析Modbus/TCP協議的基礎上,開發Modbus/TCP協議專用掃描探測腳本,為互聯網空間工控系統探測提供方法支撐。該掃描探測腳本中主要包括:客戶端與服務端的TCP連接、資產請求、業務交互、數據解析、特征信息提取、TCP關閉等。
當前網絡搜索引擎存在一些問題,如:采集到的原始報文數據不全面,報文解析不徹底,部分資產被遺漏;新探測到的資產無法正常識別廠商等關鍵資產數據;能夠識別的資產數量偏少,識別成功率偏低。通過創建工控系統指紋庫,維護指紋庫字典,利用模糊匹配技術,可以提高資產的識別速度及廣度,能夠獲取到廠商、型號、版本等重要資產數據,具備靈活性強、易于擴展等特性,解決了聯網工控系統識別成功率低的問題。
工控系統指紋庫在構建過程中,部分公有協議可以通過向目標設備發送特定的請求報文,對設備應答信息進行解析,從而得到工控設備的全面資產信息數據。常用工業通信協議中通過發送請求包讀取指紋的方式主要包括:Modbus/TCP、MMS、Ethernet/IP、FINS等,如表1所示。部分公有協議如IEC60870-5-104、DNP3.0等,則無法通過報文交互的方式獲取相關設備廠商、軟件版本等信息,該類工控資產則無法識別廠商、軟件版本,但是協議本身也是一種指紋特征。
工控系統指紋庫通過對工控通信協議的交互報文深度分析,封裝工控系統基礎數據,抽象出設備的特征參數值,以類型、廠商名稱、設備型號作為關鍵字,設備特征字符串作為特征值,建立指紋庫。該指紋庫涵蓋工業控制設備、系統主機及服務器、應用軟件、智能設備、網絡設備等,如表2所示。

表1 標準協議請求命令及應答信息

表2 工控系統指紋庫對照表

圖4 聯網工業控制系統快速掃描機制
目前流行的網絡掃描工具如Nmap、Zmap、Masscan[5]等,都可以對整個互聯網空間工控設備資產情況進行探測。其中Nmap可以發現存活主機、開發端口、支持多端口、多網段對目標域的掃描,還能進一步識別出端口服務類型、版本、操作系統等,不僅可以用于掃描TCP協議端口,也可以用于掃描UDP協議端口;Masscan在專用硬件網卡設備及網絡條件滿足的情況下,可以在3 min內掃描全部IPv4地址空間,是目前最快的TCP協議端口掃描工具,可以用于掃描TCP協議端口,但是無法掃描UDP協議端口;Zmap是掃描速度僅次于Masscan的掃描工具,在滿足最大掃描能力的前提條件下,可以在44 min內掃描完IPv4地址空間,既可以掃描TCP協議端口,也可以掃描UDP協議端口。
針對以上三種常用掃描工具的特點,聯網工業控制系統主動感知技術采用端口存活掃描、資產識別掃描相結合的快速掃描機制,如圖4所示。首先利用Masscan對IPv4地址空間內TCP協議端口進行探測,利用Zmap對IPv4地址空間內UDP協議端口進行探測,并將相關探測結果匯總到端口存活結果地址庫,完成端口存活性掃描。其次利用Nmap對端口存活性結果進行資產識別性掃描,同時結合工控系統指紋庫,發現目標設備的設備類型、版本、型號、工控應用協議等信息。
Masscan掃描TCP協議端口過程中,采用了無狀態掃描技術,僅發送了TCP/IP三步握手中SYN包,當對端端口存在ACK應答時,掃描端才會發送RST包,主動結束該連接。當以較高發包率進行掃描探測時,需要考慮組網網絡設備的性能,如有防火墻、路由器,則需要考慮防火墻中新建連接數、并發連接數的限制、路由器中內存大小等因素。Zmap掃描UDP協議端口時,需要該端口服務有應答,才能發現該端口。針對工控系統,采用UDP協議的工控協議數量不多,主要包括BACNet、DDP、HART-IP、FFHSE等,在進行工控協議端口掃描時,需要發送對應工控協議相關請求報文探測。
聯網工業控制系統經過資產識別掃描之后,部分設備的廠商、產品、版本、協議、端口、服務等信息都已經被探測出來。從網絡安全的角度上看,分析當前資產中存在的安全漏洞,根據漏洞的存在狀況、漏洞的危險等級對聯網工控系統進行威脅預警,指導政府監管部門做好漏洞安全防范具有積極的意義。
目前CNVD、CNNVD是權威的國家信息安全漏洞共享平臺、國家信息安全漏洞庫,CVE是國際著名的安全漏洞庫,公開的工業控制系統安全漏洞可以從以上平臺中獲取,如圖5所示。中國電子科技網絡信息安全有限公司工控安全事業部是專業從事工業控制系統網絡信息安全的技術團隊,目前已擁有自主挖掘工控漏洞200多個,且多為零DAY漏洞,融合CNVD、CNNVD、CVE等權威漏洞庫,形成了聯網工控系統的專用漏洞庫。
圖5 CNVD上發布的工控漏洞示例圖
根據在工控系統漏洞利用過程中所用到的無損檢測方法,采用積極的、非破壞性的辦法來檢驗系統是否存在工控漏洞。在此基礎之上構成相應的漏洞匹配規則,形成一套標準的工控系統漏洞檢驗方法,由程序自動進行系統漏洞掃描的分析工作。最終完成對聯網工控資產的漏洞關聯匹配,實現對聯網工業控制系統的主動預警。
為了更加準確地統計行政區域內聯網資產情況及安全漏洞威脅情況,引入了IP定位庫來實現對聯網工業控制系統的準確定位。國內區域定位精度支持區縣級,國外區域定位精度可支持到市。IP定位的引入,有力地支撐了政府監管部門對區域內工業控制系統安全漏洞情況進行宏觀把握。
通過對聯網工控系統主動感知預警技術研究,實現了對掃描探測腳本的插件式擴充,工控指紋庫、漏洞庫的批量導入,IP定位庫的自動更新、人工校正,自動生成主動感知報表,自動推送威脅報警,為實現國家層面的聯網工業控制系統威脅感知預警平臺提供了強有力的技術支撐。但是,聯網工業控制系統主動感知預警技術依賴于專用工控協議探測腳本的準確度,尤其是工控私有協議存在解析識別不能完全覆蓋的風險,會存在一定的聯網工控系統資產及威脅漏報情況。加強對私有協議研究成果的互通互用,或通過社會力量、第三方共享平臺,實現對私有協議掃描探測腳本的不斷完善、擴充,快速提升聯網工控系統的主動感知預警能力。
[1] Industrial control systems[DB/OL].https://www.shodan.io/explore/category/industrial-control-systems.
[2] 通過ZoomEye搜索世界各地工業控制系統[DB/OL].https://www.zoomeye.org/topic?id=ics_project.
[3] 工業互聯網雷達[DB/OL].https://radar.winicssec.com/html/map/china_map.html.
[4] GB/T 19582.3-2008 基于Modbus協議的工業自動化網絡規范 第3部分:Modbus協議在TCP/IP上的實現指南[S]. 北京:中國標準出版社,2008.
[5] 冉世偉. 基于Masscan漏洞掃描技術的研究[D]. 天津:南開大學,2016.