李寧
(北京地鐵科技發展有限公司,北京 101399)
目前,在城市軌道交通中應用最為廣泛的是基于通信的列車運行控制(Communication Based Train Control,CBTC)系統[1],其使用的大量信息化組件易被黑客攻擊,進而可能導致安全事故。
目前,一些傳統信息技術(Information Technology,IT)領域中的方法被應用于評估CBTC 系統信息安全風險,如文獻[2]分析了CBTC 系統中攻防雙方動態交互下的信息安全風險;文獻[3]基于攻擊樹分析了CBTC 系統中攻擊發生的概率,并分析了攻擊造成的影響;文獻[4]借助網絡拓撲的二維結構熵分析攻擊對CBTC 系統所造成的影響。
該文根據CBTC 系統信息物理融合、降級運營等特點設計了與其相適配的信息安全風險評估方法,并首次基于強化學習方法來確定CBTC系統的風險值。
基于通信的列車運行控制(Communication Based Train Control,CBTC)系統可分為信息域和物理域,其中信息域的設備組成又分為地面和車載兩類,如圖1所示。地面設備包括列車自動監控(Automatic Train Supervision,ATS)、計算機聯鎖(Computer Interlock,CI)、區域控制器(Zone Controller,ZC)、數據存儲單元(Data Storage Unit,DSU)等,負責為列車計算移動授權(Movement Authority,MA);車載控制器(Vehicle On Board Controller,VOBC)則根據MA 計算控制命令[5]。

圖1 CBTC系統基本架構
CBTC 系統物理域列車運營模式等級有三種,從高到低分別是連續式通信級(CBTC)、點式通信級(ITC)、聯鎖級(IL)[6]。物理域中列車運營模式的實現需要信息域中的設備提供支持,當信息域中的設備全都正常工作時,物理域中的列車能夠以最高的CBTC 級別運營;如果黑客攻擊信息域中的設備,物理域列車將降級到ITC 級別,甚至IL 級別運營[7]。
CBTC 系統信息域中不可避免地存在信息安全脆弱性(漏洞),包括通信協議、操作系統和應用軟件等[8-11],而黑客可能利用這些漏洞,造成列車運行過程中的機密數據被篡改或者設備無法正常工作等后果。
CBTC 系統信息域中的設備數量眾多,而且這些設備之間的數據通信關系也十分復雜。因此,該文利用復雜網絡理論將CBTC 系統信息域中的設備抽象為節點、設備之間的數據傳輸關系抽象為邊[12],定義CBTC 系統信息域的網絡模型如下:
其中,Nodes 表示設備節點集合;Edges 表示任意節點之間的數據傳輸邊的集合。
CBTC 系統網絡模型中不同數據傳輸邊所采用的通信方式、頻率等差別較大,例如ZC 可以通過無線局域網技術向VOBC 周期發送數據,而CI 計算的MA 數據只能通過應答器的方式間歇性傳輸給VOBC。因此,通過賦予權重來加以區分CBTC 系統網絡模型中的不同數據傳輸邊,邊的權值越大,代表其傳輸的數據對列車運營控制等級的影響程度越高。CBTC 系統網絡模型中不同節點對列車運營控制等級的重要程度也相差較大,通過度來衡量節點的重要程度,計算如下:
其中,dj表示CBTC 網絡模型中的第j個節點的度,是以它為頂點的所有邊的權和;wi表示與該節點相連的第i條邊的權重;n表示與該節點相連的所有邊的數目。
在CBTC 系統網絡模型中傳輸的數據類型眾多,但重要程度最高的就是與列車運行控制相關的數據,包括MA、信號燈、道岔、列車位置、進路等數據。當CBTC 系統信息域中節點和邊全都正常工作時,線路上的列車都能以最高的CBTC 等級控制運營;當信息域中與列車運行控制相關的節點或邊被攻擊而無法正常工作時,線路上的列車將會降級運營。因此,根據節點度和邊權重來定義CBTC 系統信息域復雜網絡模型的連通性能如下所示:
其中,WO、DO分別表示系統信息域未遭受攻擊時節點度之和與邊權重之和;n表示信息域所包含邊的數目,wi表示其中第i條邊的權重;m表示信息域所包含節點的數目,dj表示其中第j個節點的度;cty(G)表示系統信息域網絡連通性,網絡的連通性越高,代表系統能夠實現的列車控制運營等級也越高。
根據信息安全風險評估規范可知,信息安全風險值等于攻擊事件發生的概率和攻擊事件所造成影響的乘積[13]。因此,首先定義CBTC 系統復雜網絡中攻擊單個節點或邊的信息安全風險值如下:
其中,A表示單個節點或邊被攻擊的安全事件,PA表示該攻擊事件發生的概率,EA表示該攻擊事件所造成的影響,R(A)表示該攻擊事件的信息安全風險值。
攻擊事件的概率可以借助通用漏洞評分系統(Common Vulnerability Scoring System,CVSS)確定,在CVSS 規范中給出了有關漏洞可利用性的評價指標,分別是攻擊途徑(Attack Vector,AV)、攻擊復雜度(Attack Complexity,AC)、攻擊權限要求(Privilege Required,PR)、攻擊是否需要用戶交互(User Interface,UI),并且對每個評價指標的不同等級賦予分數[14],得到的漏洞可利用性評價標準如表1 所示。

表1 CVSS漏洞評價指標
一般而言,CBTC 系統網絡模型的節點或邊中可能存在的漏洞不止一個,然而在收益相同的情況下,一個理性的黑客通常會選擇最容易被利用的漏洞,因此可得到單個攻擊事件發生的概率為:
其中,ei表示節點或邊上存在的某一漏洞;AV、AC、PR、UI 分別表示該漏洞的攻擊途徑、攻擊復雜度、攻擊權限要求、是否需要用戶交互;M 是值為2.11 的常數;P(ei)表示漏洞ei被攻擊的概率;PA表示節點或邊被攻擊的概率。
一般情況下,CBTC 系統運營管理者最為關心的是網絡攻擊對列車運營控制的影響。由前文可知,當CBTC 系統網絡模型中的節點或邊被攻擊而無法正常工作后,除了直接導致網絡連通性下降之外,還會進一步將影響傳導至物理域,引起列車運營控制等級下降。因此,網絡連通性能不僅可以反應節點和邊的工作狀態,還能一定程度上反映列車運營狀態,該文定義CBTC 系統連通性能的下降作為攻擊事件所造成的影響,如下所示:
其中,EA表示攻擊事件A對CBTC 系統造成的影響;cty(G)表示攻擊前的系統連通性能;cty′(G)表示攻擊事件發生后的系統連通性能。
黑客不會止步于第一次攻擊的節點或邊,而會嘗試深入攻擊CBTC 系統網絡模型中的其他節點與邊。隨著攻擊路徑的深入,黑客實施攻擊的累積成本和難度也會逐漸增大,定義一條攻擊路徑的信息安全風險值為:
其中,R(H)表示攻擊路徑H的信息安全風險值;PAh表示該攻擊路徑中第h個攻擊事件發生的概率;EAh表示該攻擊路徑中第h個攻擊事件造成的影響。
一個系統的信息安全水平由其中最薄弱的環節決定,即CBTC 系統的信息安全風險取決于風險值最大的攻擊路徑。然而,CBTC 系統網絡模型中的節點與邊的數量眾多,所以攻擊路徑數量也十分龐大。此外,根據前文分析可知,在一條攻擊路徑中,越靠后的攻擊事件實施難度越高,相應的信息安全風險值增長越緩慢,所以攻擊路徑中每一步的目標選擇都至關重要。因此,該文將列控系統的信息安全風險評估問題等效為搜索一條最優攻擊路徑,描述如下:
其中,H*表示CBTC 系統中信息安全風險值最大的攻擊路徑;W表示系統中總共的攻擊路徑數目;Hk表示系統中的第k條攻擊路徑。
強化學習(Reinforcement Learning,RL)包含智能體、環境、動作、策略、獎勵等基本要素,描述了智能體通過不斷嘗試以實現長期獎勵的最大化的過程[15]。目前,Q 學習(Q-learning)算法是強化學習中應用較為廣泛的一種算法,它通過迭代訓練Q-table來確定智能體的最優策略[16]。
該文應用Q-learning 算法來搜索CBTC 系統中的最優攻擊路徑,將黑客看作攻擊智能體,CBTC 系統視為環境,攻擊單個節點或邊看作是智能體的動作,并以信息安全風險的增長值作為攻擊動作的獎勵。在初始時刻,Q-table 中的值設為0,隨后通過Bellman 方程計算每個攻擊動作的估計獎勵,具體描述如下:
其中,v(sh,ah)表示在CBTC 系統在sh狀態下執行攻擊動作ah的估計獎勵;rh表示當前目標節點被攻擊的信息安全風險;γ是折扣因子;maxQ(sh+1,a)表示在下一步攻擊動作集合中,選擇目標節點所能獲得風險獎勵的最大值。
隨后,根據每個攻擊動作的估計獎勵來更新Qtable,如下所示:
其中,α表示學習速率,它是Q值更新速率的度量;Q(sh,ah)表示原Q-table 中的數值;Qnew表示更新之后的Q值。
一般情況下,黑客會傾向于選擇CBTC 系統中估計獎勵值最大的節點或邊作為當前攻擊目標,但是該目標可能僅是局部最優選擇,因此為了尋找最優攻擊路徑,還需以一個較小的概率來探索攻擊估計值較小的節點或邊,該文對常見的ε-greedy 貪心策略進行改進[17],如下所示:
其中,ε為小于1 的正數,用于調整搜索目標;N表示CBTC 系統當前狀態下可以作為攻擊目標的節點數量;n*表示當前估計獎勵值最大的節點;dj表示節點j的度,d表示剩余節點的度之和,可看出度越大的節點,則它被探索攻擊的可能性也越大。
隨著訓練次數的增多,攻擊智能體根據搜索策略得到的獎勵將會逐漸增大,當攻擊路徑的獎勵值達到最大期望時,該路徑即為CBTC 系統中的一條最優攻擊路徑,基于Q-learning 算法生成最優攻擊路徑流程如下:
1)構造Q-table 矩陣,初始化Q(s,a)=0,給定參數ε、γ、α;
2)選擇起始目標節點,并執行攻擊;
3)觀察當前狀態sh,采用搜索策略確定下一步目標節點,并執行攻擊動作;
4)計算獎勵值rh,觀察新的狀態sh+1,估計新狀態下的最大獎勵;
5)給定新的學習速率,更新Q值;
6)判斷搜索是否結束,否則轉到第3)步,繼續搜索;
7)判斷攻擊路徑累積獎勵是否滿足最大值期望,若不滿足,則轉到第2)步,開始新一輪訓練,否則結束。
該文借助一個CBTC 系統仿真平臺來驗證本文提出的信息安全風險評估方法,該仿真平臺包含了四套CI、四套ZC、十套VOBC、一套中心ATS、四套軌旁設備仿真器等,線路參數選取了北京地鐵13 號線的部分區段,整條仿真線路被劃分為四個管轄區段,構建實驗仿真平臺的復雜網絡模型,如圖2 所示。

圖2 實驗平臺復雜網絡模型
該實驗使用Nessus 漏洞掃描工具分析仿真平臺存在的漏洞,并基于CVSS 對這些漏洞進行打分,部分高危漏洞的統計結果如表2 所示。

表2 高危漏洞描述
一般情況下CBTC 系統的安全隔離性較好,除了內部惡意人員之外,外部的攻擊者一般無法直接侵入內網。因此實驗選取對外接口較多的中心ATS作為攻擊的起始點,基于強化學習模擬黑客,并應用Q-learning 算法搜索得到最優攻擊路徑,具體步驟如下:
1)模擬黑客攻擊中心ATS,利用“永恒之藍”漏洞(CVE-2017-0144),獲取管理員控制權限;
2)模擬黑客攻擊CI1,通過利用ARP 漏洞(CVE-2013-6014),使得CI1 無法與其他設備正常通信;
3)模擬黑客攻擊軌旁設備仿真器2,利用“永恒之藍”漏洞(CVE-2017-0144),關閉該設備上的應用程序;
4)模擬黑客攻擊CI3,通過利用ARP 漏洞(CVE-2013-6014),使得CI3 無法與其他設備正常通信;
5)模擬黑客攻擊CI4,同樣利用ARP 漏洞使得CI3 無法與其他設備正常通信。
基于Q-learning 算法搜索CBTC 系統中最優攻擊路徑時,該文應用改進的策略,與原ε-greedy 進行對比,分析可知改進后的搜索策略能夠較快地訓練得到最優攻擊路徑,如圖3 所示。

圖3 攻擊策略的訓練
該文主要研究了典型的CBTC 系統信息安全風險,主要創新點包括:
1)構建了CBTC 系統的復雜網絡模型,分析了網絡模型的連通性能與列車運營等級之間的相關關系;
2)基于強化學習模擬黑客攻擊,并應用Q-learning算法分析得到最優攻擊路徑,從而確定CBTC 系統中最嚴峻的安全風險。