郭 昊,何小蕓,孫學潔 ,陳紅松,劉周斌,頡 靖
(1.全球能源互聯(lián)網研究院有限公司,北京 102209;2.信息網絡安全國家電網重點實驗室,北京 102209; 3.北京科技大學計算機與通信工程學院,北京 100083;4.國網浙江省電力有限公司電力科學研究院,浙江 杭州 310014; 5.國家工業(yè)信息安全發(fā)展研究中心國防電子所,北京 100040)
近年來,隨著萬物互聯(lián)和信息技術的飛速發(fā)展及廣泛應用,數據爆發(fā)式增長成為當今網絡信息的主旋律。數據的增長速度與網絡帶寬的增速嚴重失衡對數據處理的計算能力提出了更高的要求。邊緣計算作為一種新興的計算模式,使得數據在用戶側(數據源頭附近)就能進行輕量級的計算和存儲。邊緣計算不需要像云計算一樣將數據傳輸到云的數據中心再進行集中處理,避免了網絡帶寬阻塞和延遲,從而為物聯(lián)網提供了輕量級的計算平臺,讓萬物更加智能[1]。邊緣計算應用實例化是檢驗邊緣計算模型是否具有價值的最有效的方法之一,同時也是發(fā)現邊緣計算安全問題的途徑之一。智能電網是邊緣計算的典型應用之一,邊緣計算的引入可以實現數據快速有效的處理,為智能電網信息系統(tǒng)提供屬地化的業(yè)務邏輯和應用智能,這表示原來部署在云端的部分應用將會遷移到邊緣側,減少與云端之間來回傳輸數據的需要,提高網絡的有效性,使業(yè)務應用得到擴展,從而滿足多元化業(yè)務應用需求[2]。
邊緣計算廣泛應用于智能電網的同時也會引發(fā)智能電網更加復雜的安全問題,業(yè)務數據的遷移也會增大智能電網信息系統(tǒng)的“攻擊面積”,這對整個電力物聯(lián)網的建設都提出了不小的挑戰(zhàn)。智能電網的應用安全是整體防御的一道屏障,因此需要制定適宜的安全策略來抵御各種各樣的風險,以保障智能電網邊緣計算信息系統(tǒng)應用層面安全。風險評估是對智能電網邊緣計算信息系統(tǒng)應用安全建設評判的重要環(huán)節(jié),優(yōu)質的風險評估方法和高效的測評工具可以使企業(yè)對應用安全風險做出更清晰的決策[3]。研究國家電網邊緣計算應用安全風險,需要綜合誘發(fā)風險產生的技術因素、用戶非可信行為因素以及對業(yè)務應用造成的影響進行評估,然后通過具體風險評估方法明確風險可控制和接受的程度[4]。
在OWASP(Open Web Application Security Project)官網上公布的2018年 OWASP IoT Top 10,總結了在構建、部署和管理物聯(lián)網系統(tǒng)時應該考慮的10大安全問題,如表1[5]所示。依據表1中所列物聯(lián)網智能系統(tǒng)的通用安全問題,再結合邊緣計算在電力物聯(lián)網系統(tǒng)應用服務特點,本文首先對邊緣計算應用安全問題進行研究,提出國家電網邊緣計算應用安全評估要素層次結構模型;然后利用漏洞掃工具AWVS(Acunetix Web Vulnerability Scanner)、AppScan(IBM Security App Scan Standard)對集成常見以及最新漏洞,包括OWASP IoT Top10安全漏洞在內的Web應用程序BWAPP(Buggy Web APPlication)進行安全漏洞掃描實驗,模擬邊緣計算應用安全部分評估要素(Web應用方面)的評估數據;最后利用一種有效且操作性強的風險評估方法——模糊層次分析法,對邊緣計算應用安全進行綜合評估并量化,完成對國家電網邊緣計算應用安全風險的綜合評價。
本文依據《信息安全技術 網絡安全等級保護評測要求》[6]、《信息安全技術 網絡安全等級保護基本要求》[7]等系列國家等級保護標準文件,《邊緣計算參考架構》系列報告[8],以及上述表1對智能電網邊緣計算應用安全分析,對評估要素進行總結,得出國家電網邊緣計算應用安全的風險評估層次結構圖,如圖1所示,主要從終端設備應用安全、認證服務應用安全、應用訪問控制安全、應用通信安全等4個方面進行安全評估,共15個安全評估要素。
Figure 1 Security risk assessment element hierarchy of state grid edge computing information system application 圖1 國家電網邊緣計算信息系統(tǒng) 應用安全風險評估要素層次結構
針對國家電網邊緣計算終端設備應用安全方面,主要從漏洞檢測與清除、惡意代碼檢測與清除、在線更新、軟件容錯和抗攻擊性方面進行評估;針對國家電網邊緣計算認證服務應用安全方面,由于部分計算和存儲功能的實現將會托付給具有認證協(xié)議操作的邊緣設備,因此對邊緣計算認證服務應用安全進行評估,主要從以下幾個方面進行評估:配置管理、會話管理和身份認證;針對國家電網邊緣計算應用訪問控制安全主要從3個方面進行評估:用戶訪問控制、信息訪問控制和服務訪問控制;針對國家電網邊緣計算應用通信安全進行評估,主要從2個方面進行:通信完整性和通信保密性。
Table 1 2018 OWASP IoT Top10表1 2018 OWASP IoT Top10
基于邊緣計算的智能電網信息系統(tǒng)通過邊緣計算設備、智能網關、邊緣分布式服務器等邊緣計算節(jié)點實現本地邊緣化的計算和存儲能力,避免將數據遷移到云中,加強了對數據的控制,從而靈活高效地服務于邊緣智能應用[9,10]。典型的智能電網邊緣計算節(jié)點連接如圖2所示。其中智能電表、智能家電等屬于邊緣設備層級節(jié)點,可以滿足終端實時性需求[11];邊緣計算網關可以實現邊緣計算服務器與本地系統(tǒng)互聯(lián)并提供本地計算和存儲能力,且能夠與云平臺協(xié)同;對于邊緣計算網關,能夠在邊緣擴展網絡、計算和存儲能力,支持數據資源面向業(yè)務應用的管理和調度,并且能夠與云平臺協(xié)同[12]。Web應用是智能電網邊緣計算的重要應用服務之一,所以本次實驗選擇Web應用安全進行相應的模擬安全測試,完成對國家電網邊緣計算應用安全部分風險信息的收集與模擬。
Figure 2 Overall architecture of smart grid information system based on edge computing圖2 基于邊緣計算的智能電網信息系統(tǒng)總體架構
為了模擬國家電網邊緣計算Web應用安全環(huán)境,本次實驗選取BWAPP作為安全測試靶機進行相關安全測試實驗。BWAPP是一個集成各種常見漏洞和最新漏洞的開源Web應用程序,目的是幫助網絡安全研究人員發(fā)現并防止網絡漏洞,其涵蓋了所有主要的已知Web漏洞,包括OWASP IoT Top 10安全風險漏洞,并且大多數漏洞都屬于應用程序安全的范疇。目前,邊緣計算正在成為物聯(lián)網的支撐計算平臺,智能電網引入邊緣計算模式,在緩解智能電網現有壓力的同時,也“遺傳”了物聯(lián)網固有的常見安全漏洞,如OpenSSL、Shellshock等。OpenSSL 是一個強大的安全套接字層密碼庫,其囊括了目前主流的密碼算法、常用的密鑰、證書封裝管理功能以及SSL協(xié)議,并提供了豐富的應用程序。作為一個多用途的、跨平臺的通信加密工具,為全球成千上萬的Web服務器所使用。在智能電網應用體系中,為實現身份認證、信息加密傳輸和權限訪問控制,通常需要采用OpenSSL技術等支撐。Shellshock利用了bash環(huán)境變量漏洞,借助這個漏洞,攻擊者可以非常隱蔽地在系統(tǒng)中執(zhí)行命令,從而有可能獲取最高權限,因此Shellshock被認為是最嚴重的互聯(lián)網基建漏洞之一。同時,Shellshock對網站服務器、物聯(lián)網產品、工控設備的影響也非常大,如智能燈泡、智能家電等智能電網系統(tǒng)中的智能應用設備也會因為該漏洞遭到入侵。所以,OpenSSL、Shellshock等安全問題的考慮是智能電網邊緣計算應用安全問題研究不可缺少的。正如表1中所列舉的智能電網邊緣計算應用實例,可知在現有的實驗條件下使用BWAPP模擬智能電網邊緣計算應用安全漏洞環(huán)境具有實際參考意義。測試位置如圖2箭頭所指位置。具體實驗工具如表2所示。
Table 2 Vulnerability detection tools表2 漏洞檢測工具詳情表
啟動Web應用程序BWAPP作為安全測試靶機并通過賬戶密碼登錄安全測試網頁;啟動AWVS、AppScan,輸入靶機IP,進行掃描配置后對安全測試靶機進行掃描;最后根據報告收集靶機的風險信息。實驗結束后將通過安全測試工具搜集到的風險信息與國家電網邊緣計算應用安全評估要素進行匹配,進行風險因素信息的整理,從而達到風險識別的目的。實驗測試流程如圖3[13]所示。
Figure 3 Flowchart of vulnerability detection 圖3 漏洞檢測流程圖
3.3.1 AWVS測試結果
根據AWVS檢測BWAPP報告的漏洞統(tǒng)計圖4所示。
Figure 4 Statistical chart of vulnerability detection of BWAPP by AWVS圖4 AWVS檢測BWAPP的漏洞統(tǒng)計圖
統(tǒng)計結果總共發(fā)現560個警報,其中中級嚴重性漏洞35個,低級嚴重性漏洞16個,參考嚴重性漏洞509個,在后續(xù)的數據統(tǒng)計中為避免極大的數值影響結果,在這里進行舍棄。AWVS掃描報告詳細描述了BWAPP漏洞,結合智能電網邊緣計算Web應用特點分析,如表3所示。
依據國家電網邊緣計算應用安全評估要素層次結構圖中所總結的評估要素,將“Cookie沒有標志設置”共16條低級嚴重性漏洞作為“會話管理”的風險信息進行統(tǒng)計;將“慢速HTTP導致拒絕服務攻擊”共1條中級嚴重性漏洞作為“配置管理”的風險信息進行統(tǒng)計;剩余的34條中級嚴重性漏洞作為“用戶訪問控制”的風險信息進行統(tǒng)計,如圖5所示。
Table 3 Statistical table of vulnerability information of BWAPP by AWVS表3 AWVS檢測BWAPP的漏洞信息統(tǒng)計表
Figure 5 Risk information statistical chart of detecting BWAPP by AWVS圖5 AWVS檢測BWAPP的風險信息統(tǒng)計圖
3.3.2 AppScan測試結果
根據AppScan檢測BWAPP的報告結果,統(tǒng)計如表4所示,總共發(fā)現51個漏洞,其中高級嚴重性漏洞12個,中級嚴重性漏洞19個,低級嚴重性漏洞18個,參考嚴重性漏洞2個。表4詳細給出了漏洞的描述、危險級別和數量,這里將能夠體現國家電網邊緣計算應用安全評估要素層次結構圖所總結的評估要素的漏洞信息與評估要素進行匹配:將序號2中1條高級嚴重性漏洞、5條中級嚴重性漏洞和2條低級嚴重性漏洞作為評估要素“會話管理”的風險信息進行統(tǒng)計;將序號為1的11條高級嚴重性漏洞,序號7,10,11和12中共6條中級嚴重性漏洞,序號6和11中共2條參考嚴重性漏洞作為評估要素“身份認證”的風險信息進行統(tǒng)計;將序號3中共1條中級嚴重性漏洞作為評估要素“用戶訪問控制”的風險信息進行統(tǒng)計;將序號4中共13條中級嚴重性漏洞,序號6和9中共5條低級嚴重性漏洞作為評估要素“信息訪問控制”的風險信息進行統(tǒng)計;將序號5和8中共5條低級嚴重性漏洞作為評估要素“服務訪問控制”的風險信息進行統(tǒng)計,統(tǒng)計圖如圖6所示。
Table 4 Statistical table of vulnerability information of BWAPP by AppScan表4 AppScan檢測BWAPP的漏洞信息統(tǒng)計表
Figure 6 Risk information statistical chart of detecting BWAPP by AppScan圖6 AppScan檢測BWAPP的風險信息統(tǒng)計圖
3.3.3 安全測試結果總結分析
通過比較AWVS、AppScan對安全測試靶機BWAPP的掃描結果,并結合國家電網邊緣計算應用安全評估要素,可以綜合得到風險信息的統(tǒng)計結果,如圖7所示,其中針對同一評估要素的同一級別的漏洞數量,這里選取數量最大值為最終統(tǒng)計結果。
Figure 7 Risk information statistical chart of BWAPP target software experiment 圖7 BWAPP靶機實驗風險信息統(tǒng)計圖
由于針對國家電網邊緣計算應用安全評估要素的風險信息搜集還需要多種安全測試工具和安全測評的切入點以滿足安全評估的全面化覆蓋,在實驗中,對于未涉及到的評估要素暫定沒有風險,不納入計算,最終得到BWAPP靶機實驗評估要素風險信息,如表5所示。
Table 5 Risk information statistical table of state grid edge computing application security experiment 表5 國家電網邊緣計算應用安全實驗風險信息統(tǒng)計表
依據國內信息系統(tǒng)等級保護測評的體系模型可知,應用系統(tǒng)測評指標之間是多級垂直關系[14]。因此,通過建立邊緣計算應用安全評估要素的層次結構,確定應用安全不同要素范圍,與一致的安全評估標準匹配作為風險信息數據,保證在遵守等級保護的大框架下,使得風險評估工作更加細化和更加具有科學性。模糊理論采用1965年美國加州大學Zadeh教授提出的Fuzzy集概念。在實際應用中,評估對象往往受各種不確定因素的影響,基于模糊理論的評估方法可以將結果客觀化,使安全評估工作更加科學[15]。本文依據信息安全等級保護系列標準,采用基于模糊層次分析方法對Web應用安全漏洞進行風險評估,將原來不確定的、主觀性很強的評估要素,通過數字形式表現出來,使得結果更加直觀,安全性評判結論具有更強的數據和理論支撐。因此,對于本實驗外的其他應用安全的評估,該方法同樣適用。本節(jié)基于模糊層次分析方法對國家電網邊緣計算應用安全綜合評估值進行了計算,并利用第3節(jié)統(tǒng)計的風險信息,對該方法的可行性進行實例驗證。
依據《國家電網公司信息安全風險評估實施細則》附錄A.10[16]應用安全脆弱性評分分值比重,得到國家電網邊緣計算應用安全二級評估要素重要性判別矩陣P,三級評估要素重要性判別矩陣P2,P3[17]。
(1)
(2)
(3)
通過計算,二級評估項權重向量WS:
WS=(0.8000,0.2000)
(4)
同上計算,可得國家電網邊緣計算應用認證服務安全權重向量WS2、國家電網邊緣計算應用訪問控制權重向量WS3:
WS2=[0.1429,0.1429,0.7143]
(5)
WS3=[0.5396,0.1634,0.2970]
(6)
最終得到風險評估要素層次權重表,如表6所示。
針對每個安全評估要素的風險級別進行描述,記為V1=[高,中,低,參考],從而將國家電網邊緣計算應用安全狀況劃分為危險、較危險、一般、安全,記V2=[15 40 65 90],整體安全評語集與分數對照表如表7所示[18]:
Table 6 Risk assessment element level weight 表6 風險評估要素層次權重表
Table 7 Overall safety score comparison 表7 整體安全分數對照表
步驟1根據3.3節(jié) BWAPP靶機實驗風險信息統(tǒng)計表6得S2,S3安全評估指標的模糊關系矩陣RS2,RS3:
(7)
(8)
步驟2結合層次分析法確定的權重WS2、WS3,可以得到S2,S3模糊評價矩陣X2、X3:
X2=WS2RS2=[0.1429,0.1429,0.7143]
[0.4200 0.1754 0.3295 0.0752]
(9)
X3=WS3RS3=[0.5396,0.1634,0.2970]
[0 0.6576 0.3423 0]
(10)
結合X2和X3可以得到綜合評價矩陣X:
X=[X2,X3]T=
(11)
步驟3計算綜合判斷矩陣J:
J=WSX=[0.8000,0.2000]
(12)
步驟4通過與整體安全評語集進行運算得到綜合得分Z:
[15 40 65 90]T=42.9165
(13)
對于本次實驗所檢測出的2個危險等級比較高的漏洞:跨站請求偽造CSRF漏洞和跨站腳本XSS(Cross Site Scripting)漏洞,本文給出具體安全防范措施。
4.3.1 CSRF漏洞的加固策略
CSRF漏洞指攻擊者誘導受害者進入第三方網站,向被攻擊網站發(fā)送跨站請求,利用受害者在被攻擊網站已經獲取的注冊憑證,繞過后臺的用戶驗證,通過冒充用戶對被攻擊的網站執(zhí)行某項操作。由于CSRF只能在第三方網站發(fā)起,可以通過利用同源檢測等方法阻止不明外域的訪問:解析外部HTTP請求的2個消息(Header),Origin Header和Referer Header的域名,確定請求源域名,從而達到同源檢測的目的。利用CSRF漏洞不能獲取到用戶Cookie的特點,在提交請求時要求附加本域標志才能獲取信息也是一個有效防止CSRF的方法,如要求合法用戶的請求都攜帶一個攻擊者無法獲取到的Token,服務器通過校驗請求是否攜帶正確的Token來區(qū)分正常的請求和攻擊的請求。由于在會話中存儲CSRF Token比較繁瑣,可以選擇使用雙重提交Cookie的方法,要求HTML表單請求攜帶一個Cookie中的值。
前面所提到的方法屬于被動防護CSRF漏洞,但對于采取主動的方式,需要運用一些CSRF漏洞的測試工具,如CSRF Test主動對網站進行測試,提前發(fā)現漏洞,或者在網站的代理層部署CSRF監(jiān)控,通過監(jiān)控接口請求,判斷其是否符合CSRF特征,確定CSRF漏洞[19]。
4.3.2 XSS漏洞的加固策略
XSS漏洞借助網站,使網站的用戶(客戶端)受到攻擊,導致網站用戶賬號被竊取,從而嚴重危害整個網站。因此,對于XSS漏洞的安全加固,可以假定所有輸入都是可疑的,過濾輸入的數據,并進行嚴格的檢查和驗證。對輸出到頁面的數據經過編碼轉換,再進行檢查。此外,對于Web應用程序發(fā)布之前,需要測試所有已知的威脅,從根源上消除XSS漏洞的存在[20]。
綜上可得出應用安全的風險評估綜合得分為42.916 5,說明在滿足最基本的安全的基礎上,國家電網邊緣計算應用安全模擬風險評估結果處于中等嚴重水平,后續(xù)工作可以根據風險評估結果實施針對性的安全防范措施。其中,滲透測試是一種主動的、設計范圍廣泛的漏洞檢測方法,按照一定的規(guī)范和方案對邊緣計算Web應用程序、邊緣計算服務器等進行無破壞測試,根據檢測結果制定安全防護方案,并將安全脆弱點信息存儲至漏洞庫,以便完善后續(xù)評估工作。
針對國家電網邊緣計算信息系統(tǒng)應用安全評估需求,構建了適應國家電網邊緣計算信息系統(tǒng)應用安全的風險評估層次架構,并通過安全漏洞掃描和風險評估工具AWVS、AppScan對集成漏洞的Web應用程序BWAPP進行安全評估實驗,得到安全評估數據。利用模糊層次分析法對Web應用安全評估數據進行綜合計算,模擬對國家電網邊緣計算應用安全風險綜合評價,為國家電網邊緣計算應用安全風險評估提供實驗依據。雖然迅速發(fā)展的網絡信息技術為邊緣計算技術應用于智能電網提供了強有力的支撐,但相應的安全評估技術、安全防護技術的實驗研究仍然需要隨之發(fā)展,并不斷接受新的挑戰(zhàn)。