井柯,安尚平
(杭州安恒信息技術股份有限公司,北京 100101)
當前,世界各國廣泛采用以信息化、數字化促進城市軌道交通發展的戰略,信息化、數字化已覆蓋城市軌道交通的建設、運營、管理、安全、服務等各個方面,我國強力推進“互聯網+城市軌道交通”戰略,信息化、數據化建設也已進入到大規模開發和應用階段。綜合監控系統,作為城市軌道系統中鏈接子系統最多,數據環境最復雜的系統,對業務數據的完整性和保密性進行檢測就顯得尤為重要。所以針對城市軌道交通綜合監控系統數據安全檢測方法研究具有實際意義。
地鐵綜合監控系統的總體構架由中央級綜合監控系統、車站級綜合監控系統、車輛段綜合監控系統和其他輔助功能子系統(例如:培訓管理系統、集中告警系統、仿真測試平臺和網管系統等)等多個部分組成。通過綜合監控骨干傳輸網將以上各部分聯接起來,形成一個有機整體。中央綜合監控系統和車站綜合監控系統的支持網為局域網,骨干網為廣域網。骨干網分布在各地(車站)的節點與節點所支持的本地局域網構成了綜合監控系統的總體網絡架構。
中央級綜合監控系統包括冗余的服務器、中央前端處理器(FEP)、各種調度員工作站、冗余的帶路由功能的網絡交換機、大屏幕系統(OPS)、不間斷電源(UPS)等設備。其中核心網絡交換機實現中央級所有網絡資源的互聯。網絡交換機直接連接到綜合監控系統的骨干通信網絡(MBN);調度員通過調度員工作站,控制和監視各被監控對象、被集成系統。中央級的命令,通過網絡發送到各被監控對象及各被集成系統;中央FEP主要負責綜合監控系統在中央與各接入系統的數據通信的接口功能。
車站級綜合監控系統是熱備、冗余、開放、易擴展的計算機系統,是由帶路由功能的冗余以太網交換機、冗余的服務器、值班站長工作站、前端處理器(FEP)、在線式后備電源(UPS)、打印機、車站綜合后備盤(IBP)等組成。車站級交換機通過以太網光纖接口與全線其他車站級和中央級交換機獨立構成綜合監控骨干網。其中服務器主要功能是完成實時數據的采集與處理,向分布在車站內的被監控對象和被集成系統發送模式、程控、點控等控制命令;車站冗余的前端處理器(FEP),用于接收和發送車站集成和互聯系統的相關信息。
車輛段綜合監控系統與車站綜合監控系統一樣,都屬于第二層,只是配置略有所不同。

圖1 典型ISCS 系統網絡結構
已經開通運營的綜合監控系統,由于建設時期較早,更多的關注于業務的可用性和功能性設計,未考慮信息安全設計。通過現場調研發現,綜合監控系統現有的安全措施存在如下問題:
邊界隔離不到位,綜合監控系統互聯和集成的子系統較多,各子系統的安全級別不一樣,綜合監控系統缺乏與各子系統的網絡隔離措施,各系統之間存在互相訪問的可能性;個別子系統與綜合監控系統之間雖然部署了傳統信息安全產品,但傳統信息安全產品不識別綜合監控系統業務流量,不能對進出網絡的信息內容進行過濾,不能實現對應用層協議命令級的控制。
數據傳輸不加密,綜合監控系統需要采集互聯子系統和集成子系統的相關數據,大量監視和控制數據在傳輸過程中未進行完整性和保密性防護措施,明文傳輸,容易被竊取和篡改,將直接影響城市軌道交通的安全運營。
設備訪問無限制,綜合監控系統包含大量的上位機、工作站和現場控制設備,上位機的數據訪問、工作站的操作權限、現場設備的數據收發均為做權限劃分和訪問控制,攻擊者可直接對現場數據進行讀取和偽造攻擊。
惡意軟件無防護,綜合監控系統的部分工作站和上位機未部署防病毒軟件,即使在系統建設時部署了傳統防病毒軟件,但由于誤報率高、與業務軟件兼容性差,也會在使用過程中被卸載。部分工作站防病毒軟件雖然處于運行狀態,但病毒庫卻長時間未更新,形同虛設。
由于列車自動控制系統的分布特點,數據傳輸網絡由地上、車地無線、車載三部分組成,車地無線網絡的存在給非法無線網絡的接入和攻擊提供了極佳的攻擊路徑。不僅如此,現有的ISCS系統另外存在如下的不安全因素:
ISCS數據傳輸加密方式易被破解和攻擊;
無線接入網絡多采用靜態密鑰,缺少密鑰管理;
密鑰掌握在設備供應商手中。
系統中應用的操作系統本身所具有的漏洞也會給系統帶來威脅,包括:
ISCS系統終端設備的操作系統漏洞;
實時嵌入式系統所帶來的的操作系統漏洞風險;
工業協議為了滿足數據響應的實時性和周期性,往往缺乏有效的用戶安全認證和數據傳輸加密解密等基本信息安全手段。
這些協議大多假定工控網絡和其它網絡相隔離,因此在設計和描述時缺乏必要的安全防護機制,同時協議的相關信息又能通過各種途徑獲得,攻擊者很有可能利用協議的漏洞對工控網絡發起攻擊。以MODBUS通訊協議為例,其主要暴露出以下安全隱患:
(1)缺乏認證。通過偽造合法的ISCS傳輸報文,在無認證情況下建立會話;(2)缺乏加密。地址和命令明文傳輸,可以很容易地捕獲和解析;(3)傳輸控制協議(TCP)和互聯網際協議(IP)的安全問題。
目前,ISCS的安全網和非安全網的列車自動控制協議都是基于通用的服務器、操作系統和數據庫系統,并運行于 TCP/IP協議之上。TCP/IP協議存在的不足,一類主要是由于主機依賴IP源地址來尋求認證,另一類則主要是利用了網絡中的某些控制協議,尤其是路由協議。所以TCP/IP協議自身存在的安全問題不可避免地會影響到運行于其上的應用層工控協議,如中間人攻擊。
缺少入侵檢測和安全自檢機制。
ISCS子系統間缺少對數據流的允許、拒絕或重新定向,缺失網絡服務和訪問的審計和控制。
傳統IT安全產品不貼切適應ISCS這種高安全等級的應用需求。
FEP前置機技術和實現方案并不足以構成完整的安全體系。
缺乏有效的網絡狀態監控和日志行為審計。
綜合監控系統需要處理互聯子系統和集成子系統的大量數據,所以網絡安全等級保護建設過程中對數據安全提出更高要求:
綜合監控系統應采用校驗碼技術或密碼技術保證重要數據在傳輸過程中的完整性,包括但不限于鑒別數據、重要業務數據、重要審計數據、重要配置數據、重要視頻數據和重要個人信息等。
綜合監控系統應采用校驗碼技術或密碼技術保證重要數據在存儲過程中的完整性,包括但不限于鑒別數據、重要業務數據、重要審計數據、重要配置數據、重要視頻數據和重要個人信息等。
綜合監控系統應采用密碼技術保證重要數據在傳輸過程中的保密性,包括但不限于鑒別數據、重要業務數據和重要個人信息等;
綜合監控系統應采用密碼技術保證重要數據在存儲過程中的保密性,包括但不限于鑒別數據、重要業務數據和重要個人信息等。
在對軌道交通綜合監控系統(ISCS)數據進行保密性檢測時,總遇到不能獲得數據加密密鑰的情況。例如針對用戶實際業務數據的安全檢測,客戶不愿意提供加密密鑰,因為提供實際使用的加密密鑰會增大一大批業務數據的安全風險。因此,在沒有掌握加密密鑰的情況下進行數據保密性之存在性進行檢測,在實際中是不可避免的問題,也是數據安全保障中不可或缺的內容。
正如我們前面分析的,對數據保密性的檢測可以轉化為對數據隨機性的測 評。考慮到ISCS環境下的許多業務數據都是小數據,也就是說數據量不大,傳統的對數據的隨機性檢測方法不再適用。例如,在國家標準《信息安全技術 二元序列隨機性檢測方法》中就列出了幾種隨機性檢測方法,包括“單比特頻數檢測方法”、“塊內頻數檢測方法”、“撲克檢測方法”、“重疊子序列檢測方法”、“游程分布檢測方法”、“塊內最大 1-游程檢測方法”、“二元推導檢測方法”、“自相關檢測方法”、“矩陣秩檢測方法”、“累加和檢測方法”、“近似熵檢測方法”、“線性復雜度檢測方法”、“Maurer通用統計檢測方法”、“離散傅立葉檢測方法”等。
我們注意到該隨機檢測標準中的“撲克檢測方法”使用了較為復雜的頻數 統計值和不完全伽瑪函數(igamc),難以對其結果的誤判率給出估計。“重疊 子序列檢測方法”與“撲克檢測方法”使用了同樣的統計值和不完全伽瑪函數,其特點是被檢測序列在劃分子序列時允許重疊,因此子序列樣本顯得多得多。這兩種方法都需要確定參數 n(樣本長度)和 m(子序列長度)后才能執行。這些方法對ISCS數據都是不適合的。
《序列隨機性檢測方法》標準中要求采集隨機數樣本數量不少于1000個,每個樣本長度不低于1000000(一百萬)比特。這顯然對ISCS環境的數據是很難滿足要求的。因此,針對ISCS環境的小數據,需要有適合這一特殊應用場景的隨機性檢測方法。
參考國家標準《二元序列隨機性檢測方法》中的“單比特頻數檢測方法”,我們提出如下檢測方法。
(1)捕獲n個不同的被測數據,data1,data2,...,datan。如果捕獲的數據中有相同的,則刪除重復的數據;(2)計算每個比特位上0和1出現的個數之差,將差值的絕對值除以 n,分別得到δ1,δ2,...,δk,其中k為數據長度;(3)設δ=max{δ1,δ2,...,δk}。若δ>t,則隨機性檢測失敗;否則隨機性檢測通過。這里的t為預置參數,與被測環境的數據類型有關。
上述對隨機性檢測的方法還有兩個問題沒有明確,就是確定n的大小和t 的大小的問題。這兩個參數都與實際應用環境有關。理論上n越大越好,但有些實際環境中不可能捕獲到大量的通信數據,例如抄表系統,一天內可能實際抄不了幾次,即使需要臨時抄表,也是每發送一次抄表請求,抄表終端才抄報一次。因此n的大小要根據實際情況確定,盡量在可行的時間內,取較大的n值。另一個參數是t,這是被測數據分布均勻情況的一個門限參數,同樣需要針對具體應用情況確定。如果有些數據規律性比較好,表明其隨機性低,則可以給t設置較大的值;如果實際數據的隨機性較高,則需要給t設置較小的值。需要實際測試大量數據后,才能在一定目標漏報率和誤報率的條件下確定出合理的t值。
如果上述方法被用于檢測標準中,則需要首先確定n和t的值,然后才能實施標準。正如上述所描述的n和t的值需要根據具體應用環境來確定,因此這種方法不適合在國家通用標準中使用。如果一定要在國家標準中使用的話,可以分幾個大類,并遵循如下規則:
在每個大類中選取最小的 n 值。因為有些情況可能無法滿足大的 n 值,也就是說無法獲取足夠多的數據樣本用于檢測,導致檢測標準無法實施。
在每個大類中選取最大的 t 值。否則,一些本來使用了加密機制的系統 可能不能通過檢測,即虛報率過高。
不難看出,當t的值較大時,漏報率也自然會提高,即一些沒有采取加密措施的系統也以較高的概率通過檢測,這就降低了標準的權威性和實際指導意義。
參考國家標準《二元序列隨機性檢測方法》中的“塊內頻數檢測方法”,我們提出如下字節級檢測方法,即檢測字節的均衡性,也就是字節出現的隨機性,因為取值均衡的字節也表現為取值隨機性高。這是為了避免兩個字節為互補的情況,當互補字節均勻出現時,表現在比特位上似乎隨機性很高,但表現在字節上可能仍然非常不隨機。因此實際使用時應該結合比特級隨機性檢測和字節級隨機性檢測使用。字節級隨機性檢測方法的步驟如下:
(1)捕獲n個不同的被測數據,data1,data2,...,datan。如果捕獲的數 據中有相同的,則刪除重復的數據;(2)統計每個被測數據中各字節出現的個數,分別記為δ1,δ2,...,δ256;(3)設δ=max{δ1,δ2,...,δ256}。若δ>「n/256+t,則隨機性檢測失敗,否則隨機性檢測通過。其中「x為x的上取整函數,即不小于x的最小整數,t為某個誤差允許值,是一個根據應用環境設定的預置參數。
值得注意的是,實測中所獲取的數據字節數可能小于256,也就是說,即使各個字節出現的概率都理想地均勻,也有不出現的字節,因此傳統的統計方法無法使用。這里的參數t需要根據實際環境確定。一般地,獲取的數據字節總數(被測數據個數*每個被測數據所含字節數)越多,t的值可以越小。當被測數據量很大時,t可以取值為0。一般地,t取值為一個小的正整數。
上述檢測方法的有效性體現在實際數據隨機性低的事實。對于一些高精度 傳感數據,和動態數據(如使用中的計量表讀數),雖然這些數據整體上在變化,但當他們的值用4個字節表示時,高精度變化部分只體現在少數比特位和字節位,多數比特位和字節位變化不大,甚至在一段時間內沒有變化。但加密數據就不一樣,只要明文消息有一個比特不同,加密后的密文就有一半左右的比特不同,反映在字節上幾乎都是不同的。因此上述字節級隨機性檢測方法還可以進一步改進如下:
(1)捕獲n個不同的被測數據,data1,data2,...,datan。如果捕獲的數據中有相同的,則刪除重復的數據;(2)統計每個被測數據中各對應字節位上不同字節出現的個數,分別記為 δ1,1,δ1,2,...,δ1,256,δ2,1,δ2,2,...,δ2,256,......,δk,1,δk,2,...,δk,256,其中k為一個被測數據中的字節數。(3)設δi=max{δi,1,δi,2,...,δi,256}。若max{δ1,δ2,...,δk}-min{δ1,δ2,...,δk}>t則隨機性檢測失敗,否則隨機性檢測通過。其中t為某個可允許的誤差值。
根據我們的初步模擬實驗,一般可設t的值在1~5之間,就可保證誤報率很低。我們沒有檢測漏報率,因為漏報率與具體業務數據有關,這類數據模擬的不準確。
針對軌道交通ISCS系統數據特點,使用上述基于比特的隨機性檢測方法和基于字節的隨機性檢測方法,在很大程度上能區分明文數據和密文數據,而且隨著被測數據樣本的增多,檢測失敗的概率(誤報率)會快速降低。就能有效的檢測軌道交通ISCS系統中數據完整性和保密性的情況,有效降低各類風險發生的幾率,同時最大限度的保證系統運行的穩定和安全,保障旅客生命財產的安全。