李鎖雷 公安部第一研究所
近年來(lái)隨著網(wǎng)絡(luò)和信息化技術(shù)發(fā)展,網(wǎng)絡(luò)打印機(jī)的使用逐漸成為主流,隨之而來(lái)出現(xiàn)的安全問(wèn)題也逐漸顯現(xiàn)出來(lái)。與傳統(tǒng)的打印機(jī)不同,網(wǎng)絡(luò)打印機(jī)往往內(nèi)置操作系統(tǒng)、存儲(chǔ)設(shè)置和IP協(xié)議棧,由此引發(fā)的網(wǎng)絡(luò)安全威脅也超過(guò)一般人的想象。攻擊者可通過(guò)網(wǎng)絡(luò)打印機(jī)獲取資料,從而造成信息泄漏[1]。由于網(wǎng)絡(luò)安全木桶效應(yīng),重視網(wǎng)絡(luò)打印機(jī)的安全,提高網(wǎng)絡(luò)安全薄弱環(huán)節(jié)成為現(xiàn)代網(wǎng)絡(luò)不得不面對(duì)的問(wèn)題。在信息系統(tǒng)安全測(cè)評(píng)中,通過(guò)對(duì)網(wǎng)絡(luò)打印機(jī)進(jìn)行安全掃描,發(fā)現(xiàn)存在FTP、Telnet等網(wǎng)絡(luò)安全漏洞,最常見(jiàn)的是弱口令問(wèn)題。系統(tǒng)用戶認(rèn)為打印機(jī)不具備數(shù)據(jù)存儲(chǔ)功能且部署了打印監(jiān)控審計(jì)系統(tǒng),這些漏洞沒(méi)有實(shí)質(zhì)的安全隱患。在網(wǎng)絡(luò)打印管理方面,主要是應(yīng)用層面上通過(guò)技術(shù)手段實(shí)現(xiàn)打印流程的管控,沒(méi)有對(duì)底層網(wǎng)絡(luò)傳輸和文檔信息數(shù)據(jù)的安全性方面引起足夠的重視。
當(dāng)前,對(duì)打印機(jī)安全主要由打印機(jī)設(shè)備生產(chǎn)商研發(fā)實(shí)現(xiàn),針對(duì)打印機(jī)的安全防護(hù)技術(shù)私有化程度較高,品牌商各自為政,缺少多品牌支持的統(tǒng)一安全解決方案和系統(tǒng),對(duì)于網(wǎng)絡(luò)打印機(jī)的安全性研究主要集中在打印機(jī)協(xié)議和打印機(jī)中嵌入式操作系統(tǒng)的安全性等方面。其中打印協(xié)議更多的是關(guān)注可能導(dǎo)致的安全問(wèn)題以及發(fā)現(xiàn)的一些安全漏洞的利用方式,缺乏針對(duì)打印機(jī)上支持的協(xié)議開(kāi)展全面的安全檢測(cè)研究。本文針對(duì)網(wǎng)絡(luò)打印機(jī)面臨的安全風(fēng)險(xiǎn)進(jìn)行分析,從而從入侵檢測(cè)、安全加固和安全管理方面入手開(kāi)展相關(guān)防范技術(shù)研究。
由于缺乏對(duì)網(wǎng)絡(luò)打印機(jī)安全保密管理的認(rèn)識(shí),網(wǎng)絡(luò)打印機(jī)普遍存在開(kāi)放HTTP、FTP、Telnet等服務(wù),且未設(shè)置密碼或未修改默認(rèn)密碼,攻擊者可通過(guò)掃描網(wǎng)絡(luò)打印機(jī)開(kāi)放的網(wǎng)絡(luò)端口、服務(wù)和弱口令,遠(yuǎn)程登錄打印機(jī)管理頁(yè)面修改打印機(jī)的IP地址、路由表等,實(shí)現(xiàn)打印信息竊取。2010年,位于美國(guó)圣地亞哥市的“太空及海上系統(tǒng)戰(zhàn)中心”網(wǎng)絡(luò)受到俄羅斯黑客的攻擊。黑客入侵到該中心網(wǎng)絡(luò)中后,通過(guò)修改路由表對(duì)網(wǎng)絡(luò)打印機(jī)實(shí)施了中間人攻擊,使得位于俄羅斯的服務(wù)器能夠監(jiān)聽(tīng)打印機(jī)輸出的文件。此外,打印機(jī)9100端口打印服務(wù)支持雙向通道,因此,攻擊者可通過(guò)入侵打印機(jī)后訪問(wèn)內(nèi)存和文件獲取密碼。
在互聯(lián)網(wǎng)設(shè)備搜索引擎shodan搜索TCP 9100端口開(kāi)放的設(shè)備,其中很多是使用中的打印機(jī)或復(fù)印機(jī)。然而這種毫無(wú)防備的暴露式開(kāi)放,緊隨而至的是不容樂(lè)觀的安全隱患,攻擊者利用Web界面的遠(yuǎn)程代碼執(zhí)行漏洞,控制打印機(jī)的通信端口,可實(shí)現(xiàn)惡意打印。2016年3月,被稱為“Weev”的黑客Andrew Auernheimer入侵了數(shù)千臺(tái)聯(lián)網(wǎng)打印機(jī)來(lái)傳播種族主義和反猶太人傳單[2]。2017年2月,一名黑客通過(guò)堆棧溢出的方式成功入侵了超過(guò)16萬(wàn)臺(tái)互聯(lián)網(wǎng)打印機(jī),控制打印機(jī)并執(zhí)行其發(fā)送的自定義打印任務(wù)。黑客利用網(wǎng)絡(luò)打印協(xié)議的漏洞能輕而易舉的完成入侵過(guò)程,首先編寫(xiě)腳本掃描可訪問(wèn)端口9100/631/515的打印機(jī)設(shè)備,從而利用Open RAW IPP(互聯(lián)網(wǎng)打印協(xié)議)、LPR(行式遠(yuǎn)程打印機(jī))服務(wù)實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)打印機(jī)的遠(yuǎn)程控制[3]。
從網(wǎng)絡(luò)攻擊角度來(lái)說(shuō),網(wǎng)絡(luò)打印機(jī)是一個(gè)重要且極具價(jià)值的攻擊目標(biāo)。研究發(fā)現(xiàn)打印語(yǔ)言漏洞百出,極易成為黑客實(shí)現(xiàn)攻擊的跳板。打印頁(yè)面描述語(yǔ)言之一的PS(PostScript)就有400多種指令和操作符可實(shí)現(xiàn)代碼執(zhí)行等惡意操作供攻擊者利用。即便是將打印機(jī)局限在內(nèi)網(wǎng)使用,利用CORS Spoofing(Cross Origin Resource Sharing Spoofing,跨域資源共享欺詐)和XSP(Cross Site Printing,跨站點(diǎn)打?。┙M合的方式,仍然可以對(duì)內(nèi)網(wǎng)打印機(jī)進(jìn)行發(fā)現(xiàn),從而利用網(wǎng)絡(luò)瀏覽器欺騙性訪問(wèn)內(nèi)網(wǎng)打印機(jī),最終完成入侵攻擊行為[4]。通過(guò)PostScript存在的漏洞,可以實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)打印機(jī)的DOS(拒絕服務(wù)攻擊)攻擊,攻擊者通過(guò)幾行簡(jiǎn)單的PostScript代碼,讓打印機(jī)執(zhí)行一個(gè)無(wú)限循環(huán)的任務(wù),直至資源耗盡。此外,網(wǎng)絡(luò)打印機(jī)還是用于病毒繁殖的攻擊目標(biāo)之一,Blaster 蠕蟲(chóng)病毒就是通過(guò)侵蝕網(wǎng)絡(luò)打印機(jī)來(lái)進(jìn)行繁殖的。
為了防范上述安全問(wèn)題,首先通過(guò)技術(shù)手段加強(qiáng)對(duì)網(wǎng)絡(luò)打印機(jī)的入侵檢測(cè),及時(shí)發(fā)現(xiàn)存在的網(wǎng)絡(luò)攻擊行為,同時(shí),對(duì)網(wǎng)絡(luò)打印機(jī)進(jìn)行安全加固、并嚴(yán)格落實(shí)安全管理,減少泄密風(fēng)險(xiǎn)和網(wǎng)絡(luò)攻擊的可能性。
入侵檢測(cè)是應(yīng)對(duì)惡意攻擊行為的有效防御手段,能夠事前準(zhǔn)確識(shí)別針對(duì)打印機(jī)的惡意攻擊,補(bǔ)充打印安全防御上的缺失。當(dāng)前現(xiàn)有的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)通常是面向全網(wǎng)流量的,對(duì)于網(wǎng)絡(luò)打印機(jī)的特定安全場(chǎng)景而言,按照常見(jiàn)網(wǎng)絡(luò)流量的攻擊類型進(jìn)行安全檢測(cè),很難在龐雜的流量中快速定位被攻擊的打印機(jī),并且針對(duì)性的分析打印機(jī)可能受到的攻擊,也很容易將惡意的攻擊流量漏報(bào),造成檢測(cè)識(shí)別準(zhǔn)確率較低的現(xiàn)象。個(gè)別打印機(jī)廠商針對(duì)特定型號(hào)的打印機(jī)加入了入侵檢測(cè)模塊。該入侵檢測(cè)模塊不斷對(duì)運(yùn)行時(shí)打印機(jī)內(nèi)存進(jìn)行掃描監(jiān)測(cè),以實(shí)時(shí)發(fā)現(xiàn)運(yùn)行時(shí)的內(nèi)存異常,從而發(fā)現(xiàn)入侵行為。一方面內(nèi)存掃描的相關(guān)權(quán)限及技術(shù)受到各大打印機(jī)生產(chǎn)廠商的嚴(yán)格控制,對(duì)于品牌具有較強(qiáng)的敏感性,另一方面僅基于打印機(jī)內(nèi)存的入侵檢測(cè)相對(duì)片面與滯后,基于內(nèi)存的運(yùn)行時(shí)入侵檢測(cè)對(duì)于拒絕服務(wù)攻擊這類對(duì)內(nèi)存產(chǎn)生強(qiáng)烈影響的攻擊擁有較強(qiáng)的檢測(cè)防御力,但對(duì)于信息泄露、遠(yuǎn)程代碼執(zhí)行(RCE)這類對(duì)內(nèi)存造成較小影響的攻擊操作實(shí)際的檢測(cè)防御能力十分薄弱[5]。
在現(xiàn)有入侵檢測(cè)產(chǎn)品針對(duì)網(wǎng)絡(luò)打印機(jī)安全檢測(cè)存在問(wèn)題的基礎(chǔ)上,對(duì)網(wǎng)絡(luò)打印機(jī)存在的漏洞、打印應(yīng)用協(xié)議和可能發(fā)生的網(wǎng)絡(luò)攻擊行為進(jìn)行研究分析,給出了基于打印應(yīng)用協(xié)議漏洞和基于打印流量分析的兩種安全檢測(cè)方案。
1. 基于打印機(jī)應(yīng)用層協(xié)議安全檢測(cè)方案
收集己發(fā)布的現(xiàn)有的打印機(jī)應(yīng)用層協(xié)議漏洞,根據(jù)漏洞產(chǎn)生的原因和重現(xiàn)方法對(duì)漏洞進(jìn)行分類,提取漏洞關(guān)鍵特征值或利用漏洞進(jìn)行攻擊的行為特征,形成攻擊向量,如HPLaserJet4200N型打印機(jī),可以提取出一個(gè)打印協(xié)議PostScript語(yǔ)言造成的拒絕服務(wù)漏洞的攻擊向量“%!
圖1 應(yīng)用層協(xié)議安全檢測(cè)流程圖
(1)漏洞庫(kù)建立
通過(guò)研究近年來(lái)公布的打印機(jī)應(yīng)用層協(xié)議漏洞,分析能夠找到攻擊向量和重現(xiàn)方式的漏洞,創(chuàng)建打印機(jī)漏洞庫(kù)及對(duì)應(yīng)的攻擊向量值,采用原始攻擊向量構(gòu)建檢測(cè)數(shù)據(jù)包。由于不同品牌和型號(hào)的打印機(jī)之間在軟硬件實(shí)現(xiàn)上有很大區(qū)別,產(chǎn)生的漏洞差別也很大,因此需要對(duì)漏洞信息進(jìn)行品牌和型號(hào)上的區(qū)分。不同協(xié)議和類型的漏洞復(fù)現(xiàn)方式也不同,因此還要區(qū)分漏洞的協(xié)議類型和漏洞類型。將篩選出的漏洞信息按照品牌型號(hào)、協(xié)議類型、漏洞類型進(jìn)行分類。
(2)已知漏洞匹配
通過(guò)向目標(biāo)打印機(jī)發(fā)送檢測(cè)模擬數(shù)據(jù)包對(duì)進(jìn)行測(cè)試攻擊,對(duì)目標(biāo)打印機(jī)返回的數(shù)據(jù)包進(jìn)行監(jiān)控分析,確認(rèn)目標(biāo)打印機(jī)協(xié)議中是否存在同種型號(hào)打印機(jī)上曾被報(bào)出過(guò)的某種漏洞,并對(duì)其他型號(hào)打印機(jī)上存在的漏洞進(jìn)行檢測(cè)確認(rèn)是否同樣存在。
(3)潛在漏洞發(fā)現(xiàn)
從建立的網(wǎng)絡(luò)打印機(jī)協(xié)議漏洞庫(kù)中提取確定能夠觸發(fā)漏洞的原始攻擊向量,對(duì)其進(jìn)行變異和擴(kuò)展,生成既與漏洞庫(kù)相關(guān)、針對(duì)性更強(qiáng),又具有一定的隨機(jī)性、覆蓋性更強(qiáng),樣本集與網(wǎng)絡(luò)打印機(jī)型號(hào)及漏洞類型的關(guān)聯(lián)性低。通過(guò)擴(kuò)展的攻擊向量構(gòu)建檢測(cè)模擬數(shù)據(jù)包,并進(jìn)行測(cè)試攻擊。根據(jù)響應(yīng)數(shù)據(jù)包和行為日志等對(duì)打印機(jī)的行為和狀態(tài)進(jìn)行監(jiān)控,發(fā)現(xiàn)其中可能存在的異常,對(duì)異常數(shù)據(jù)包進(jìn)行追蹤和復(fù)現(xiàn),分析出網(wǎng)絡(luò)打印機(jī)使用的協(xié)議中可能存在的漏洞,將新發(fā)現(xiàn)的漏洞信息及時(shí)反饋更新到網(wǎng)絡(luò)打印機(jī)應(yīng)用層協(xié)議漏洞庫(kù)中。
2. 基于打印流量分析安全檢測(cè)方案
研究與分析正常打印作業(yè)以及各類打印機(jī)攻擊數(shù)據(jù)包,獲得正常打印和打印攻擊的基本特征,將這些特征編寫(xiě)成正常打印規(guī)則和己有打印攻擊規(guī)則,在此基礎(chǔ)上設(shè)計(jì)實(shí)現(xiàn)針對(duì)打印機(jī)的入侵檢測(cè)算法,提高網(wǎng)絡(luò)打印機(jī)入侵檢測(cè)的準(zhǔn)確性及檢測(cè)效率,結(jié)合統(tǒng)計(jì)學(xué)與數(shù)據(jù)挖掘的相關(guān)技術(shù),詳細(xì)對(duì)照分析各種入侵攻擊數(shù)據(jù)與正常作業(yè)數(shù)據(jù)。通過(guò)模式匹配進(jìn)行區(qū)分,通過(guò)安全檢測(cè)的即為正常打印數(shù)據(jù)包,未通過(guò)安全檢測(cè)的數(shù)據(jù)包則可能分為三類,即與描述已知攻擊的規(guī)則匹配成功的數(shù)據(jù)包、誤報(bào)的正常數(shù)據(jù)包和未知攻擊數(shù)據(jù)包,通過(guò)應(yīng)用聚類分析對(duì)規(guī)則匹配不成功的數(shù)據(jù)包進(jìn)行進(jìn)一步細(xì)致的檢測(cè),降低誤報(bào)率,并可發(fā)現(xiàn)漏報(bào)的未知攻擊數(shù)據(jù)包,更新規(guī)則庫(kù),同時(shí)降低漏報(bào)率,如圖2所示。
圖2 打印流量分析安全檢測(cè)流程圖
系統(tǒng)對(duì)所有發(fā)送至打印機(jī)的數(shù)據(jù)包進(jìn)行攔截,這些數(shù)據(jù)包可能包括正常打印請(qǐng)求數(shù)據(jù)包及惡意攻擊數(shù)據(jù)包。解碼數(shù)據(jù)包后進(jìn)行預(yù)處理,此時(shí)對(duì)于一些十分明顯的錯(cuò)誤數(shù)據(jù)包進(jìn)行濾除,比如不符合打印協(xié)議的數(shù)據(jù)包,然后將預(yù)處理后輸出的數(shù)據(jù)包作為輸入傳送到檢測(cè)引擎進(jìn)行第一次惡意攻擊的檢測(cè)。第一次惡意攻擊的檢測(cè)依靠與規(guī)則庫(kù)的模式匹配進(jìn)行,在規(guī)則庫(kù)中按照正常打印和各種打印攻擊的特征分別制定規(guī)則。首先,將預(yù)處理后的數(shù)據(jù)包與規(guī)則庫(kù)中的正常打印規(guī)則進(jìn)行匹配,如果匹配成功直接安全轉(zhuǎn)發(fā)至打印機(jī)完成打印,如果無(wú)法匹配則繼續(xù)與打印攻擊規(guī)則進(jìn)行匹配,如果與之匹配成功則確定為攻擊數(shù)據(jù)包,丟棄該數(shù)據(jù)包,阻止其完成攻擊作用,并留存相關(guān)日志以供后續(xù)管理。如若仍未匹配上任何一條規(guī)則,則可能是未知攻擊數(shù)據(jù)包或者誤報(bào)的正常數(shù)據(jù)包,對(duì)其進(jìn)行第二次入侵攻擊的檢測(cè)。
第二次入侵攻擊檢測(cè)采用聚類分析,將部分與規(guī)則實(shí)現(xiàn)匹配的正常攻擊數(shù)據(jù)包和各種入侵攻擊數(shù)據(jù)包標(biāo)記為訓(xùn)練樣本,提取特征并建立起相關(guān)的學(xué)習(xí)模型。在檢測(cè)階段,將需要驗(yàn)證的未匹配數(shù)據(jù)包通過(guò)特征提取得到統(tǒng)一格式的數(shù)據(jù),然后將其代入到建立的模型中,最終得到分類的結(jié)果。分類可能產(chǎn)生三種結(jié)果,第一種是與正常數(shù)據(jù)包歸為一類,表明該數(shù)據(jù)包是第一次入侵檢測(cè)的誤報(bào),將其重新送入安全轉(zhuǎn)發(fā)流程,第二種是與某類入侵攻擊歸為一類,則表明該數(shù)據(jù)包為漏報(bào)的惡意攻擊數(shù)據(jù)包,進(jìn)行初級(jí)報(bào)警處理并更新該類攻擊的規(guī)則。第三種是分類模型發(fā)生改變,無(wú)法與原有分類歸為一類,表明該數(shù)據(jù)包很可能是新型入侵攻擊行為產(chǎn)生的數(shù)據(jù)包,觸發(fā)高級(jí)報(bào)警,并通過(guò)專業(yè)技術(shù)分析處理,將其作為新的入侵行為模式更新分類模型,同時(shí)將該入侵行為模式轉(zhuǎn)換為入侵檢測(cè)規(guī)則并添加到規(guī)則庫(kù)中,這樣就補(bǔ)充了檢測(cè)引擎作為基于誤用的入侵檢測(cè)系統(tǒng)無(wú)法檢測(cè)到新型入侵行為的短板。
為解決信息泄露和遠(yuǎn)程控制的安全風(fēng)險(xiǎn),對(duì)網(wǎng)絡(luò)打印機(jī)進(jìn)行安全加固尤為重要,及時(shí)更改初始默認(rèn)密碼,并及時(shí)刪除多余和過(guò)期的賬戶。遵循最小安裝原則,關(guān)閉不必要的端口與服務(wù),譬如Telnet、FTP等功能,禁用不必要的服務(wù)組件、應(yīng)用插件等,減少被入侵的風(fēng)險(xiǎn)。在遠(yuǎn)程維護(hù)管理時(shí),要做好訪問(wèn)限制,限制用戶登錄IP及訪問(wèn)權(quán)限,防止用戶訪問(wèn)配置文件等敏感文件。使用具有加密協(xié)議的登錄控制模塊,如SSH、VPN等,限制用戶連接數(shù)量與任務(wù)數(shù)量,防止受到DOS攻擊。此外,要長(zhǎng)期的關(guān)注打印機(jī)的固件和軟件的升級(jí)公告,并及時(shí)從官方網(wǎng)站下載相應(yīng)的固件和軟件的安裝包,以防其他渠道的安裝包被惡意篡改,使得打印機(jī)遭受攻擊。要做好漏洞補(bǔ)丁相關(guān)的維護(hù)工作,這樣才能降低被攻擊的風(fēng)險(xiǎn)。將打印機(jī)安裝在設(shè)有防火墻或其他非直連網(wǎng)絡(luò)方式保護(hù)的網(wǎng)絡(luò)上,并采用私有IP地址以及防火墻安全策略,對(duì)相應(yīng)的網(wǎng)絡(luò)協(xié)議和端口進(jìn)行訪問(wèn)限制。
對(duì)網(wǎng)絡(luò)打印機(jī)管理員等相關(guān)人員進(jìn)行相關(guān)安全培訓(xùn),提高其安全意識(shí),使其掌握基本的信息安全事件防范技能。定期對(duì)打印機(jī)進(jìn)行安全審計(jì),及時(shí)關(guān)注日志中的審計(jì)分析,對(duì)其中記錄的攻擊事件的危害性進(jìn)行評(píng)估,并采取相應(yīng)的措施來(lái)控制。對(duì)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖進(jìn)行分析,找出結(jié)構(gòu)安全、訪問(wèn)控制、邊界完整性、入侵防范、惡意代碼防范、網(wǎng)絡(luò)設(shè)備防護(hù)、安全審計(jì)方面的薄弱點(diǎn),同時(shí)從遠(yuǎn)程管理防竊聽(tīng)、用戶源限制、開(kāi)放端口情況等方面對(duì)網(wǎng)絡(luò)進(jìn)行檢查。盡量減少網(wǎng)絡(luò)打印機(jī)被攻擊的風(fēng)險(xiǎn)以及被攻擊后所造成的損失。
網(wǎng)絡(luò)打印機(jī)是傳統(tǒng)打印機(jī)和互聯(lián)網(wǎng)應(yīng)用的結(jié)合,其完美的解決了辦公中存在的互聯(lián)共用,滿足了機(jī)關(guān)單位的辦公需求,但是網(wǎng)絡(luò)打印機(jī)存在安全隱患,通過(guò)網(wǎng)絡(luò)打印機(jī)可能產(chǎn)生信息泄漏和網(wǎng)絡(luò)攻擊。本文對(duì)網(wǎng)絡(luò)打印機(jī)存在的安全隱患和面臨的主要安全風(fēng)險(xiǎn)進(jìn)行了分析,并提出了相對(duì)應(yīng)的防范措施。下一步將針對(duì)本文提出的兩種網(wǎng)絡(luò)打印機(jī)的入侵檢測(cè)方案開(kāi)展具體技術(shù)研究。