李鎖雷 公安部第一研究所
近年來隨著網絡和信息化技術發展,網絡打印機的使用逐漸成為主流,隨之而來出現的安全問題也逐漸顯現出來。與傳統的打印機不同,網絡打印機往往內置操作系統、存儲設置和IP協議棧,由此引發的網絡安全威脅也超過一般人的想象。攻擊者可通過網絡打印機獲取資料,從而造成信息泄漏[1]。由于網絡安全木桶效應,重視網絡打印機的安全,提高網絡安全薄弱環節成為現代網絡不得不面對的問題。在信息系統安全測評中,通過對網絡打印機進行安全掃描,發現存在FTP、Telnet等網絡安全漏洞,最常見的是弱口令問題。系統用戶認為打印機不具備數據存儲功能且部署了打印監控審計系統,這些漏洞沒有實質的安全隱患。在網絡打印管理方面,主要是應用層面上通過技術手段實現打印流程的管控,沒有對底層網絡傳輸和文檔信息數據的安全性方面引起足夠的重視。
當前,對打印機安全主要由打印機設備生產商研發實現,針對打印機的安全防護技術私有化程度較高,品牌商各自為政,缺少多品牌支持的統一安全解決方案和系統,對于網絡打印機的安全性研究主要集中在打印機協議和打印機中嵌入式操作系統的安全性等方面。其中打印協議更多的是關注可能導致的安全問題以及發現的一些安全漏洞的利用方式,缺乏針對打印機上支持的協議開展全面的安全檢測研究。本文針對網絡打印機面臨的安全風險進行分析,從而從入侵檢測、安全加固和安全管理方面入手開展相關防范技術研究。
由于缺乏對網絡打印機安全保密管理的認識,網絡打印機普遍存在開放HTTP、FTP、Telnet等服務,且未設置密碼或未修改默認密碼,攻擊者可通過掃描網絡打印機開放的網絡端口、服務和弱口令,遠程登錄打印機管理頁面修改打印機的IP地址、路由表等,實現打印信息竊取。2010年,位于美國圣地亞哥市的“太空及海上系統戰中心”網絡受到俄羅斯黑客的攻擊。黑客入侵到該中心網絡中后,通過修改路由表對網絡打印機實施了中間人攻擊,使得位于俄羅斯的服務器能夠監聽打印機輸出的文件。此外,打印機9100端口打印服務支持雙向通道,因此,攻擊者可通過入侵打印機后訪問內存和文件獲取密碼。
在互聯網設備搜索引擎shodan搜索TCP 9100端口開放的設備,其中很多是使用中的打印機或復印機。然而這種毫無防備的暴露式開放,緊隨而至的是不容樂觀的安全隱患,攻擊者利用Web界面的遠程代碼執行漏洞,控制打印機的通信端口,可實現惡意打印。2016年3月,被稱為“Weev”的黑客Andrew Auernheimer入侵了數千臺聯網打印機來傳播種族主義和反猶太人傳單[2]。2017年2月,一名黑客通過堆棧溢出的方式成功入侵了超過16萬臺互聯網打印機,控制打印機并執行其發送的自定義打印任務。黑客利用網絡打印協議的漏洞能輕而易舉的完成入侵過程,首先編寫腳本掃描可訪問端口9100/631/515的打印機設備,從而利用Open RAW IPP(互聯網打印協議)、LPR(行式遠程打印機)服務實現對網絡打印機的遠程控制[3]。
從網絡攻擊角度來說,網絡打印機是一個重要且極具價值的攻擊目標。研究發現打印語言漏洞百出,極易成為黑客實現攻擊的跳板。打印頁面描述語言之一的PS(PostScript)就有400多種指令和操作符可實現代碼執行等惡意操作供攻擊者利用。即便是將打印機局限在內網使用,利用CORS Spoofing(Cross Origin Resource Sharing Spoofing,跨域資源共享欺詐)和XSP(Cross Site Printing,跨站點打印)組合的方式,仍然可以對內網打印機進行發現,從而利用網絡瀏覽器欺騙性訪問內網打印機,最終完成入侵攻擊行為[4]。通過PostScript存在的漏洞,可以實現對網絡打印機的DOS(拒絕服務攻擊)攻擊,攻擊者通過幾行簡單的PostScript代碼,讓打印機執行一個無限循環的任務,直至資源耗盡。此外,網絡打印機還是用于病毒繁殖的攻擊目標之一,Blaster 蠕蟲病毒就是通過侵蝕網絡打印機來進行繁殖的。
為了防范上述安全問題,首先通過技術手段加強對網絡打印機的入侵檢測,及時發現存在的網絡攻擊行為,同時,對網絡打印機進行安全加固、并嚴格落實安全管理,減少泄密風險和網絡攻擊的可能性。
入侵檢測是應對惡意攻擊行為的有效防御手段,能夠事前準確識別針對打印機的惡意攻擊,補充打印安全防御上的缺失。當前現有的網絡入侵檢測系統通常是面向全網流量的,對于網絡打印機的特定安全場景而言,按照常見網絡流量的攻擊類型進行安全檢測,很難在龐雜的流量中快速定位被攻擊的打印機,并且針對性的分析打印機可能受到的攻擊,也很容易將惡意的攻擊流量漏報,造成檢測識別準確率較低的現象。個別打印機廠商針對特定型號的打印機加入了入侵檢測模塊。該入侵檢測模塊不斷對運行時打印機內存進行掃描監測,以實時發現運行時的內存異常,從而發現入侵行為。一方面內存掃描的相關權限及技術受到各大打印機生產廠商的嚴格控制,對于品牌具有較強的敏感性,另一方面僅基于打印機內存的入侵檢測相對片面與滯后,基于內存的運行時入侵檢測對于拒絕服務攻擊這類對內存產生強烈影響的攻擊擁有較強的檢測防御力,但對于信息泄露、遠程代碼執行(RCE)這類對內存造成較小影響的攻擊操作實際的檢測防御能力十分薄弱[5]。
在現有入侵檢測產品針對網絡打印機安全檢測存在問題的基礎上,對網絡打印機存在的漏洞、打印應用協議和可能發生的網絡攻擊行為進行研究分析,給出了基于打印應用協議漏洞和基于打印流量分析的兩種安全檢測方案。
1. 基于打印機應用層協議安全檢測方案
收集己發布的現有的打印機應用層協議漏洞,根據漏洞產生的原因和重現方法對漏洞進行分類,提取漏洞關鍵特征值或利用漏洞進行攻擊的行為特征,形成攻擊向量,如HPLaserJet4200N型打印機,可以提取出一個打印協議PostScript語言造成的拒絕服務漏洞的攻擊向量“%!

圖1 應用層協議安全檢測流程圖
(1)漏洞庫建立
通過研究近年來公布的打印機應用層協議漏洞,分析能夠找到攻擊向量和重現方式的漏洞,創建打印機漏洞庫及對應的攻擊向量值,采用原始攻擊向量構建檢測數據包。由于不同品牌和型號的打印機之間在軟硬件實現上有很大區別,產生的漏洞差別也很大,因此需要對漏洞信息進行品牌和型號上的區分。不同協議和類型的漏洞復現方式也不同,因此還要區分漏洞的協議類型和漏洞類型。將篩選出的漏洞信息按照品牌型號、協議類型、漏洞類型進行分類。
(2)已知漏洞匹配
通過向目標打印機發送檢測模擬數據包對進行測試攻擊,對目標打印機返回的數據包進行監控分析,確認目標打印機協議中是否存在同種型號打印機上曾被報出過的某種漏洞,并對其他型號打印機上存在的漏洞進行檢測確認是否同樣存在。
(3)潛在漏洞發現
從建立的網絡打印機協議漏洞庫中提取確定能夠觸發漏洞的原始攻擊向量,對其進行變異和擴展,生成既與漏洞庫相關、針對性更強,又具有一定的隨機性、覆蓋性更強,樣本集與網絡打印機型號及漏洞類型的關聯性低。通過擴展的攻擊向量構建檢測模擬數據包,并進行測試攻擊。根據響應數據包和行為日志等對打印機的行為和狀態進行監控,發現其中可能存在的異常,對異常數據包進行追蹤和復現,分析出網絡打印機使用的協議中可能存在的漏洞,將新發現的漏洞信息及時反饋更新到網絡打印機應用層協議漏洞庫中。
2. 基于打印流量分析安全檢測方案
研究與分析正常打印作業以及各類打印機攻擊數據包,獲得正常打印和打印攻擊的基本特征,將這些特征編寫成正常打印規則和己有打印攻擊規則,在此基礎上設計實現針對打印機的入侵檢測算法,提高網絡打印機入侵檢測的準確性及檢測效率,結合統計學與數據挖掘的相關技術,詳細對照分析各種入侵攻擊數據與正常作業數據。通過模式匹配進行區分,通過安全檢測的即為正常打印數據包,未通過安全檢測的數據包則可能分為三類,即與描述已知攻擊的規則匹配成功的數據包、誤報的正常數據包和未知攻擊數據包,通過應用聚類分析對規則匹配不成功的數據包進行進一步細致的檢測,降低誤報率,并可發現漏報的未知攻擊數據包,更新規則庫,同時降低漏報率,如圖2所示。

圖2 打印流量分析安全檢測流程圖
系統對所有發送至打印機的數據包進行攔截,這些數據包可能包括正常打印請求數據包及惡意攻擊數據包。解碼數據包后進行預處理,此時對于一些十分明顯的錯誤數據包進行濾除,比如不符合打印協議的數據包,然后將預處理后輸出的數據包作為輸入傳送到檢測引擎進行第一次惡意攻擊的檢測。第一次惡意攻擊的檢測依靠與規則庫的模式匹配進行,在規則庫中按照正常打印和各種打印攻擊的特征分別制定規則。首先,將預處理后的數據包與規則庫中的正常打印規則進行匹配,如果匹配成功直接安全轉發至打印機完成打印,如果無法匹配則繼續與打印攻擊規則進行匹配,如果與之匹配成功則確定為攻擊數據包,丟棄該數據包,阻止其完成攻擊作用,并留存相關日志以供后續管理。如若仍未匹配上任何一條規則,則可能是未知攻擊數據包或者誤報的正常數據包,對其進行第二次入侵攻擊的檢測。
第二次入侵攻擊檢測采用聚類分析,將部分與規則實現匹配的正常攻擊數據包和各種入侵攻擊數據包標記為訓練樣本,提取特征并建立起相關的學習模型。在檢測階段,將需要驗證的未匹配數據包通過特征提取得到統一格式的數據,然后將其代入到建立的模型中,最終得到分類的結果。分類可能產生三種結果,第一種是與正常數據包歸為一類,表明該數據包是第一次入侵檢測的誤報,將其重新送入安全轉發流程,第二種是與某類入侵攻擊歸為一類,則表明該數據包為漏報的惡意攻擊數據包,進行初級報警處理并更新該類攻擊的規則。第三種是分類模型發生改變,無法與原有分類歸為一類,表明該數據包很可能是新型入侵攻擊行為產生的數據包,觸發高級報警,并通過專業技術分析處理,將其作為新的入侵行為模式更新分類模型,同時將該入侵行為模式轉換為入侵檢測規則并添加到規則庫中,這樣就補充了檢測引擎作為基于誤用的入侵檢測系統無法檢測到新型入侵行為的短板。
為解決信息泄露和遠程控制的安全風險,對網絡打印機進行安全加固尤為重要,及時更改初始默認密碼,并及時刪除多余和過期的賬戶。遵循最小安裝原則,關閉不必要的端口與服務,譬如Telnet、FTP等功能,禁用不必要的服務組件、應用插件等,減少被入侵的風險。在遠程維護管理時,要做好訪問限制,限制用戶登錄IP及訪問權限,防止用戶訪問配置文件等敏感文件。使用具有加密協議的登錄控制模塊,如SSH、VPN等,限制用戶連接數量與任務數量,防止受到DOS攻擊。此外,要長期的關注打印機的固件和軟件的升級公告,并及時從官方網站下載相應的固件和軟件的安裝包,以防其他渠道的安裝包被惡意篡改,使得打印機遭受攻擊。要做好漏洞補丁相關的維護工作,這樣才能降低被攻擊的風險。將打印機安裝在設有防火墻或其他非直連網絡方式保護的網絡上,并采用私有IP地址以及防火墻安全策略,對相應的網絡協議和端口進行訪問限制。
對網絡打印機管理員等相關人員進行相關安全培訓,提高其安全意識,使其掌握基本的信息安全事件防范技能。定期對打印機進行安全審計,及時關注日志中的審計分析,對其中記錄的攻擊事件的危害性進行評估,并采取相應的措施來控制。對網絡拓撲結構圖進行分析,找出結構安全、訪問控制、邊界完整性、入侵防范、惡意代碼防范、網絡設備防護、安全審計方面的薄弱點,同時從遠程管理防竊聽、用戶源限制、開放端口情況等方面對網絡進行檢查。盡量減少網絡打印機被攻擊的風險以及被攻擊后所造成的損失。

網絡打印機是傳統打印機和互聯網應用的結合,其完美的解決了辦公中存在的互聯共用,滿足了機關單位的辦公需求,但是網絡打印機存在安全隱患,通過網絡打印機可能產生信息泄漏和網絡攻擊。本文對網絡打印機存在的安全隱患和面臨的主要安全風險進行了分析,并提出了相對應的防范措施。下一步將針對本文提出的兩種網絡打印機的入侵檢測方案開展具體技術研究。