劉泰然 侯登云 李云軒 李培東 金佳燕 劉軍
基金項目:大學生創(chuàng)新創(chuàng)業(yè)項目;項目名稱:面向“云會議”系統(tǒng)安全問題的調研和對策;項目編號:202013994014Y。
作者簡介:劉泰然(2001— ),男,貴州錦屏人,本科生;研究方向:網(wǎng)絡空間信息安全。
*通信作者:劉軍(1969— ),男,江蘇蘇州人,教授,碩士;研究方向:信息安全。
摘要:隨著2020年疫情的來臨,基于云會議系統(tǒng)的線上會議突然興起,各式各樣的視頻會議系統(tǒng)進入人們的日常生活中,而視頻會議系統(tǒng)帶來便利的同時,也在使用過程中暴露出很多信息安全問題,包括攔截、中斷、篡改、偽造等攻擊方式。因此,針對目前視頻會議系統(tǒng)存在的信息安全問題,以解決信息安全問題為創(chuàng)新目標,文章對惡意動態(tài)鏈接庫進行安全性分析,分析其對會議系統(tǒng)的危害現(xiàn)狀,基于客戶端安裝包攻擊和注入攻擊分別提出和設計相對應的信息安全系統(tǒng),用來加強整個信息系統(tǒng)的安全性,并進行結果對比分析,得到針對劫持漏洞的初步解決方案。
關鍵詞:惡意動態(tài)鏈接庫;視頻會議安全策略;注入攻擊;惡意劫持;信息傳輸
中圖分類號:TP311 文獻標志碼:A
0 引言
隨著云計算和互聯(lián)網(wǎng)技術的不斷進步和發(fā)展,社會對于云會議應用的需求量越來越大。在疫情的影響下,由于疫情防控的需要,大多數(shù)辦公和學習都只能居家進行,導致人們的信息交互不能得到及時反饋,從而影響辦公學習的效率。目前,視頻會議系統(tǒng)都存在著攔截、中斷、篡改、偽造等安全問題。本文對其中的動態(tài)鏈接庫(Dynamic Link Library,DLL)的安全做出簡要介紹和針對此類問題提出想法和改進方法。
相較傳統(tǒng)的視頻會議系統(tǒng),以軟件為主的云視頻會議系統(tǒng)是在云計算虛擬機架構下實現(xiàn)的,以眾互聯(lián)網(wǎng)公司為代表,比較成熟的產品有騰訊會議、飛書等。云視頻會議系統(tǒng)能夠為用戶提供各種靈活的個性化定制服務,并且符合云計算的三層服務架構特點[1],分別為IaaS層、PaaS層和SaaS層。到目前為止,在PaaS層中沒有有效應對DLL注入攻擊的應對方案以及解決措施[1]。
1 DLL對視頻會議的危害
動態(tài)鏈接數(shù)據(jù)庫,DLL是一種包含了可供多種進程間共同使用的程序和信息的數(shù)據(jù)庫,但DLL并不是可執(zhí)行文件,是為操作系統(tǒng)提供一種模塊化的共享庫的方案。DLL一開始設計出來是為了節(jié)約計算機中的磁盤空間和運行空間,后來廣泛運用于資源的共享和數(shù)據(jù)的共享并使系統(tǒng)設計變成模塊化設計更方便管理。攻擊者可以在視頻會議的服務器端加入惡意動態(tài)鏈接庫,這時攻擊者將能夠在用戶進行視頻會議時對用戶信息實施監(jiān)視、截取、中斷、修改等動作,而使用者的對話內容或者機密文件會將信息泄露出去,進而損害通信網(wǎng)絡安全,或者損害公眾的通信權利、通話隱私權,又或者也可以被用來進行欺詐、間諜等其他活動[2] 。
2 攻擊方式
本文主要說明惡意動態(tài)鏈接庫的兩種攻擊方式和攻擊過程。
2.1 客戶端安裝包攻擊
這種攻擊是攻擊者繞開應用檢測后部署在官網(wǎng)上提供給用戶下載使用,用戶安裝后攻擊者通過此漏洞,安裝的程序就自動下載攻擊者的惡意動態(tài)鏈接庫,從而獲取到用戶的信息或者權限進行監(jiān)聽、攔截、中斷、篡改等操作。視頻會議軟件中這種攻擊非常常見,zoom就是一個代表,攻擊者通過惡意修改安裝包中的動態(tài)鏈接庫,實現(xiàn)用戶信息的獲取,截取或者攔截會議中的內容,更嚴重的還可以修改視頻會議中的通話質量和內容,使得用戶的會議內容被攻擊者惡意利用。
2.2 注入攻擊
注入攻擊者通常代指一類攻擊,它利用方法注射數(shù)據(jù)到某個網(wǎng)絡應用程序中以期得到正常執(zhí)行,又或者利用非預期的另一個方法來執(zhí)行惡意數(shù)據(jù)。這種類型的危險,包含了跨站腳本式入侵(Cross Site Scripting)、SQL灌注進攻、頭部灌注進攻、日志灌注進攻,以及全途徑的暴露[3] 。
對某個開始執(zhí)行的步驟進行/注入代碼的步驟,如圖1所示。將加入的程序以動態(tài)鏈接庫(DLL)的方式出現(xiàn)。DLL軟件在執(zhí)行后,會依需加入類似UNIX操作系統(tǒng)中的共享庫(share object,擴展名為.so)。用戶在啟動一個視頻會議程序時這個程序需要DLL,可利用定義的全路線、DLL重定向,并且能夠利用manifest文件來限制全路線。
同樣,如果上述方法均未采用,系統(tǒng)會根據(jù)特殊搜尋次序定位DLL文檔。特殊搜尋次序分為標準和備用搜尋次序。攻擊者可以通過把惡意制造的DLL文件置于程序同一目錄。程序運行的時候搜索到惡意制造的DLL文件并調用后,攻擊者就可以獲取用戶的資料或者信息。而DLL加載攻擊則是用戶在使用程序的過程中,調用到DLL文件時去尋找響應的DLL文件進行加載,它與預加載攻擊其實很相似,一個是在程序啟動初期發(fā)生的攻擊,一個是在程序運行中發(fā)生的攻擊,二者攻擊的方式都一樣,都是去尋找DLL文件,從而讓攻擊者有機可乘。
這樣修改了DLL的搜索路徑后不僅會影響視頻會議軟件進程的運行,還非常有可能影響其他程序的運行,這樣不僅是視頻會議的信息會泄露,而且用戶的其他私人信息可能也會泄露出去,從而導致嚴重的后果。
3 安全性分析
以DLL安裝包替換攻擊和注入攻擊對視頻應用所帶來的沖擊為依據(jù),我們提供的DLL視頻會議認證防御機制和安全防護方法能夠在近乎真實的場景中,有效防止客戶端安裝包的入侵,對DLL加載過程進行了安全驗證,從而有效抵御惡意劫持DLL的漏洞入侵,及時發(fā)現(xiàn)網(wǎng)絡中本身存在的可能對視頻會議軟件造成影響的漏洞。從安全性的角度設計,可以設置系統(tǒng)中DLL文件與應用對自身DLL文件的黑白底片名單庫,以及應用軟件提供方隨應用軟件提供的安全DLL文件時的哈希值包,并輔以我們所提供的認證防護體系,將能夠較為有效地對抗惡意劫持DLL的滲透威脅,同時也應該加強對于自身網(wǎng)絡的漏洞掃描和處理,將視頻會議的安全性進一步提升。
隨著云計算、移動互聯(lián)網(wǎng)及人工智能等前沿技術引入,云視頻會議平臺在大幅提升服務質量的同時,必然會引入新的安全風險。因此,云視頻會議系統(tǒng)安全防護需要在原有視頻會議安全功能的基礎上對其進一步完善,并根據(jù)用戶使用需求和實際應用場景,設計語音、視頻、消息、會議、文件等多功能于一體的云視頻會議系統(tǒng)安全防護方案。云視頻會議系統(tǒng),既要滿足視頻會議的使用要求,也要確保系統(tǒng)安全平穩(wěn)運行和用戶隱私不會被泄露。想要實現(xiàn)云視頻會議系統(tǒng)全過程安全防護,就必須保證云視頻會議系統(tǒng)的安全性、完整性、可用性、可控制性和可追溯性[4]。
4 解決方案
現(xiàn)有的靜態(tài)檢測技術既有優(yōu)勢,同時也存在不足。優(yōu)勢在于靜態(tài)檢測開銷小,檢測的針對性更強,效率較高,但其檢測方式相對固定和單一,很容易被攻擊者利用其缺點從而逃過靜態(tài)檢測,使系統(tǒng)存在被攻擊的風險。系統(tǒng)回調檢測技術雖然相對靜態(tài)檢測開銷大,技術難度高,但是其檢測方式多樣化,對于不同的攻擊方式有不同的應對之策,具有很高的靈活性、可信度。
鑒于攻擊者會將帶有惡意木馬的視頻會議安裝包通過偽造成“真正”的安裝包放在應用商店中誘導用戶下載,攻擊者會通過這些帶有惡意木馬的安裝包非法竊聽和獲取用戶的關鍵信息,導致用戶在下載安裝帶有惡意木馬的安裝包時產生一系列的信息安全問題。鑒于此類安全問題,本文提出了解決方案[5]。
4.1 設計思路
在通常情況下,程序加載DLL的時機主要有以下兩個:一是在進程創(chuàng)建階段加載輸入表中的DLL,即靜態(tài)輸入;二是通過調用系統(tǒng)API函數(shù)主動加載,即系統(tǒng)回調加載,對加載的DLL文件進行數(shù)字簽名,保證DLL文件的唯一性。因此,應對DLL安裝包攻擊和注入攻擊通過上述兩種手段進行。
4.2 認證原理
DLL認證基于對文件簽名的唯一性。在視頻會議程序中可得到一個視頻會話安裝文件,將視頻會話中的所有DLL文件信息視為一條長串,對該串進行哈希計算得出相應哈希值,并視為以此哈希值為該文件的唯一標識,并存入系統(tǒng)文件中成為安全DLL文件。
DLL認證流程如圖2所示,DLL認證流程是把所有安全DLL文件的哈希值都保存在系統(tǒng)中,在收集到由回調函數(shù)發(fā)出的DLL加載數(shù)據(jù)時,把加入的DLL文件哈希值和所存儲的所有安全DLL文件哈希值進行比對,如果相同則驗證成功,否則驗證將不能通過,可能出現(xiàn)了惡意安裝包等的問題。使用DLL認證過程也能夠提高系統(tǒng)的穩(wěn)定性,避免了客戶端的DLL安裝包攻擊和注入攻擊,提高了信息安全性[2]。
4.3系統(tǒng)結構設計
本文系統(tǒng)結構主要包括核心狀態(tài)子系統(tǒng)、設備狀態(tài)子系統(tǒng)、信息安全系統(tǒng)。核心子系統(tǒng)主要包括注冊模塊和回調模塊,注冊模塊的主要作用為在啟動前使用PsSetLoadlmageNotifyRoutine0先注入的回調函數(shù),在關閉后使用PsRemoveLoadImageNotifyRoutine0刪除先前注入的回調函數(shù)?;卣{功能的主要作用是提供回調函數(shù),它可以進行數(shù)據(jù)擴展名過濾,只把從DLL軟件中加載的相關數(shù)據(jù)發(fā)送到用戶端子系統(tǒng)中處理。
用戶端子功能系統(tǒng)主要包括控制功能、接收模塊、監(jiān)視模塊、HASH注冊表、PGP簽名功能、處理模塊、安全系統(tǒng)模塊。控制功能主要用來管理注冊模塊和受理模塊之間的打開與關閉關系及其調整。在受理模塊打開后,可接收由回調功能發(fā)出的DLL加載相關消息,并將其傳遞到處理模塊完成認證處理;禁用后則不能進行其他功能。監(jiān)控模塊為指定程序的監(jiān)控,包括監(jiān)視HASH注冊表模塊將所有DLL文件都按照安全文件進行國產sm2哈希值處理和PGP簽名模塊驗證。HASH注冊表用于將DLL文件的HASH值進行登記注冊。PGP簽名模塊是用于數(shù)字簽名判斷注冊表中的HASH值是否與DLL安全文件中的HASH值一致。處理模塊依據(jù)通過PGP數(shù)字簽名認證的結果得到是否DLL文件被惡意篡改和偽造。
網(wǎng)絡安全系統(tǒng)主要分為防火墻模塊、網(wǎng)絡安全掃描模塊、攻擊偵測系統(tǒng)模塊,通過安全模塊可以及時發(fā)現(xiàn)來自互聯(lián)網(wǎng)內部或者外界,可能會導致系統(tǒng)遭到威脅的各種系統(tǒng)漏洞,一旦發(fā)現(xiàn)違反安全策略的情況以及系統(tǒng)遭受威脅的可能性,及時發(fā)布警報并采取相應保護措施,對互聯(lián)網(wǎng)和系統(tǒng)實施主動性防護。
4.4 系統(tǒng)驗證
為了驗證系統(tǒng)的實際效果和其他檢測方式的差異性,本文設計了兩組實驗,第一組實驗用專門編寫的測試程序去驗證系統(tǒng);第二組實驗是用常用的應用軟件測試。通過兩組實驗數(shù)據(jù)驗證通過系統(tǒng)回調加載DLL文件驗證的安全性以及可靠性。
在第一組實驗中,編寫一個DLL.test測試程序,分別通過靜態(tài)加載和動態(tài)加載static.dll和dynamic.dll兩個庫文件,通過調用回調加載DLL文件驗證。編寫另外一個與static.dll 和dynamic.dll同名的庫文件,進行三次測試。第一次測試正常運行DLL.test文件,不加以監(jiān)視。第二次運行DLL.test文件,加以監(jiān)視。第三次運行DLL.test文件,加以監(jiān)視,并用假冒的DLL文件去替換原有的DLL文件。三次運行的試驗結果如表1所示。
綜上所述:第一次測試環(huán)節(jié)由于未添加監(jiān)視模塊所以顯示“Not found”,沒有在HASH注冊表注冊,在驗證環(huán)節(jié)不能夠找到對應的HASH值,所以不能夠進行下面的驗證環(huán)節(jié)。在第二次測試中增加監(jiān)測模塊,兩個DLL文件在HASH表中注冊,由于沒有進行DLL劫持,所以驗證通過。第三次測試增加了檢測模塊和DLL劫持,兩個被劫持的DLL文件均不能通過驗證,有效地防御了DLL劫持攻擊,抵御了加載漏洞攻擊。
第二組測試用三款常用的視頻會議應用軟件,采用隨機非本軟件的DLL文件進行加載,驗證本系統(tǒng)的實際檢測效果。測試結果如表2所示。
監(jiān)測采樣完全模擬用戶從消費市場和網(wǎng)絡應用商店的行為,依據(jù)前期調研數(shù)據(jù)覆蓋主流產品。從品牌分布來看,硬件視頻會議產品包括騰訊會議、釘釘、飛書,覆蓋了中小學生網(wǎng)絡課程遠程視頻培訓產品,最大限度反映了消費者的真實使用現(xiàn)狀。目前,針對視頻會議產品的信息安全風險,國內尚無針對性的國家標準出臺。本次風險監(jiān)測主要監(jiān)測項目包括身份鑒別、權限控制、通信安全、個人信息保護以及移動應用安全等,采用的檢測和判定依據(jù)是信息安全領域通用的國家標準《信息安全技術網(wǎng)絡安全等級保護基本要求》(GB/T 2223—2019)第三級要求[5] 。
測試數(shù)據(jù)表明,上述三款視頻會議軟件均能在DLL被劫持篡改后檢測到異常,說明了偽造的DLL文件沒有通過防御系統(tǒng)的認證,抵御了漏洞攻擊。本文提供的DLL認證系統(tǒng)并不會影響應用程序的正常運行,也沒有對現(xiàn)有操作系統(tǒng)有更高的要求。
從實用價值出發(fā),由于我們所提供的用于視頻會議的DLL驗證機制既沒有干擾應用程序的正常載入進程,也不會對已有的操作系統(tǒng)加載機制提供額外要求,從而完全能夠對DLL驗證機制進行模塊化實現(xiàn),并內嵌到已有的視頻會議程序中,因此具備了很大的使用優(yōu)勢。對于注入攻擊采用的信息安全策略不僅能發(fā)現(xiàn)自身網(wǎng)絡中對視頻會議有潛在威脅的危險,還能發(fā)現(xiàn)其他對計算機本身的潛在攻擊等危險,大大保證了該計算機的信息安全。
5 結語
基于DLL劫持攻擊對視頻會議系統(tǒng)的穩(wěn)定性影響分析,以及設計系統(tǒng)驗證攔截效果,本文從幾個方面討論出針對DLL劫持漏洞的初步解決方案??筛鶕?jù)此系統(tǒng)結構設計深入研究系統(tǒng)的工作機理、安全漏洞,并改進研發(fā)出適應各行業(yè)用戶使用特點和安全要求的視頻會議產品,這將有助于實現(xiàn)視頻會議系統(tǒng)的安全策略。
參考文獻
[1]肖紅威.云計算架構下云視頻會議系統(tǒng)安全問題探究[J].網(wǎng)絡安全技術與應用,2021(6):76-77.
[2]劉峰宇,解煒.基于簽名認證的DLL加載漏洞防御技術研究[J].信息網(wǎng)絡安全,2017(11):62-66.
[3]宋曉斌,穆源,朱濤,等.DLL注入及檢測技術研究綜述[J].信息安全研究,2022(8):786-792.
[4]潘唐賢.云計算架構下云視頻會議系統(tǒng)安全問題分析[J].電子技術與軟件工程,2021(17):237-238.
[5]李樂言,宋佳,彭琦.視頻會議產品信息安全風險分析及改善措施[J].信息與電腦(理論版),2022(7):243-245,250.
(編輯 李春燕)
Abstract: Due to the advent of the epidemic in 2020, video conferencing suddenly arose,a large number of video conferencing systems into Peoples Daily life, but the use of video conferencing system in the process of information security problems also followed. Aiming at the problem of information security in the current video conference system, this paper introduces the malicious dynamic link library and gives the security analysis and puts forward the corresponding solution to enhance the system security.
Key words: malicious dynamic link library; video conference security policy; injection attack; malicious hijacked