劉奇旭 徐辰晨 劉井強(qiáng) 胡恩澤 靳 澤
1(中國(guó)科學(xué)院信息工程研究所 北京 100093) 2 (中國(guó)科學(xué)院大學(xué)網(wǎng)絡(luò)空間安全學(xué)院 北京 100049) (liujingqiang@iie.ac.cn)
近年來(lái),物聯(lián)網(wǎng)技術(shù)的普及和快速發(fā)展讓越來(lái)越多的設(shè)備智能化,在公共領(lǐng)域、智慧環(huán)境(家庭、辦公、工廠(chǎng))領(lǐng)域、個(gè)人和社會(huì)領(lǐng)域等方面都有深入應(yīng)用,然而新的技術(shù)和設(shè)備的引入也帶來(lái)了新的安全和隱私風(fēng)險(xiǎn)[1].隨著智能化應(yīng)用產(chǎn)品逐漸進(jìn)入到每個(gè)家庭,家用無(wú)線(xiàn)路由器也成為了物聯(lián)網(wǎng)時(shí)代不可或缺的設(shè)備.通過(guò)無(wú)線(xiàn)路由器看劇、打游戲、視頻聊天、辦公等已成常態(tài),可以說(shuō)現(xiàn)在的家庭生活已經(jīng)離不開(kāi)無(wú)線(xiàn)路由器[2].在無(wú)線(xiàn)路由器市場(chǎng)中,TP-LINK品牌處于霸主地位,無(wú)線(xiàn)路由器產(chǎn)品中大多數(shù)產(chǎn)品被TP-LINK所占據(jù),25%的關(guān)注比例也表明了其強(qiáng)勢(shì)地位,斐訊、小米、華為、華碩、騰達(dá)等路由器品牌關(guān)注比例都在6%~9%之間,如圖1所示.Gartner預(yù)測(cè)數(shù)據(jù)顯示,2020年全球聯(lián)網(wǎng)設(shè)備將達(dá)到250億部[3],遠(yuǎn)超過(guò)那時(shí)的全球人口總數(shù).
Fig. 1 Distribution of market share for Chinese wireless router Q3 in 2017圖1 2017年Q3中國(guó)無(wú)線(xiàn)路由器市場(chǎng)品牌關(guān)注比例分布
隨著智能路由器等終端設(shè)備和網(wǎng)絡(luò)設(shè)備的迅速發(fā)展和普及利用,針對(duì)物聯(lián)網(wǎng)智能設(shè)備的網(wǎng)絡(luò)攻擊事件比例呈上升趨勢(shì)[4].攻擊者利用物聯(lián)網(wǎng)智能設(shè)備漏洞可獲取設(shè)備控制權(quán)限,或用于用戶(hù)信息數(shù)據(jù)竊取、網(wǎng)絡(luò)流量劫持等其他黑客地下產(chǎn)業(yè)交易,或用于被控制形成大規(guī)模僵尸網(wǎng)絡(luò).2015年1月,安全研究者發(fā)現(xiàn)TP-Link TL-WR840N v1路由器存在跨站請(qǐng)求偽造漏洞(cross-site request forgery, CSRF),攻擊者可以修改路由器的任意配置,包括域名系統(tǒng)(domain name system, DNS)等.2016年10月22日,導(dǎo)致“美國(guó)東海岸斷網(wǎng)事件”的罪魁禍?zhǔn)譓irai僵尸網(wǎng)絡(luò),其目標(biāo)主要是具有弱口令風(fēng)險(xiǎn)的物聯(lián)網(wǎng)設(shè)備,包括路由器、機(jī)頂盒、攝像頭等.2017年12月,物聯(lián)網(wǎng)領(lǐng)域的僵尸網(wǎng)絡(luò)Satori,有效利用了華為HG532家庭路由器零日漏洞CVE-2017-17215,在短短12 h控制了數(shù)10萬(wàn)臺(tái)家庭路由器.
當(dāng)前市場(chǎng)上的家用無(wú)線(xiàn)路由器安全問(wèn)題較多,使得家用無(wú)線(xiàn)路由器自身和接入無(wú)線(xiàn)路由器的設(shè)備面臨極大的安全風(fēng)險(xiǎn),然而針對(duì)路由器的防護(hù)手段卻極其有限[5],多數(shù)情況下只能等待廠(chǎng)商發(fā)布新版本的路由器固件來(lái)解決[6].由于家用無(wú)線(xiàn)路由器的資源、性能、部署成本、人機(jī)交互等因素限制,在家用無(wú)線(xiàn)路由器內(nèi)部安裝安全防護(hù)軟件,或者在家用無(wú)線(xiàn)路由器外部部署額外的防火墻、入侵檢測(cè)系統(tǒng)、入侵防御系統(tǒng)等安全設(shè)備均不具備良好的可行性[7],因此,家用無(wú)線(xiàn)路由器亟需一款輕量級(jí)的防護(hù)方案[8].
針對(duì)家用無(wú)線(xiàn)路由器的安全困境,本文將網(wǎng)絡(luò)欺騙(cyber deception)[9]的思想應(yīng)用到無(wú)線(xiàn)路由器防御方法中,提出一種輕量級(jí)的防御框架來(lái)保護(hù)家用無(wú)線(xiàn)路由器.網(wǎng)絡(luò)欺騙[10]是由蜜罐演進(jìn)而來(lái)的一種主動(dòng)防御機(jī)制.基于網(wǎng)絡(luò)欺騙的防御技術(shù)的核心思想是,通過(guò)干擾攻擊者的認(rèn)知以促使攻擊者采取有利于防御方的行動(dòng),從而記錄攻擊者的活動(dòng)與方法、增加其實(shí)施攻擊的代價(jià)、降低其攻擊成功的概率.輕量級(jí)的防御框架在無(wú)需安裝外部硬件設(shè)備或者修改家用無(wú)線(xiàn)路由器系統(tǒng)設(shè)置的前提下,利用家用無(wú)線(xiàn)路由器在網(wǎng)絡(luò)流量匯聚和網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)上的優(yōu)勢(shì),從路由器面臨的外部攻擊入手保護(hù)路由器自身的安全.本文的主要貢獻(xiàn)有2個(gè)方面:
1) 提出了一種基于網(wǎng)絡(luò)欺騙的家用無(wú)線(xiàn)路由器防御方法,在無(wú)需外部硬件或者修改設(shè)備原有系統(tǒng)的前提下,通過(guò)監(jiān)控HTTP(hypertext transfer protocol)協(xié)議網(wǎng)絡(luò)攻擊行為,將攻擊流量牽引至影子服務(wù)器,欺騙攻擊者的掃描探測(cè)、弱口令、CSRF、命令注入等攻擊手段,通過(guò)影子服務(wù)器收集網(wǎng)絡(luò)攻擊流量,為攻擊取證分析[11].
2) 設(shè)計(jì)并實(shí)現(xiàn)了基于家用無(wú)線(xiàn)路由器的輕量級(jí)防御框架原型系統(tǒng),針對(duì)多種家用無(wú)線(xiàn)路由器漏洞,設(shè)置相應(yīng)的實(shí)驗(yàn)環(huán)境,在功能上測(cè)試驗(yàn)證了該防御框架對(duì)抗主流網(wǎng)絡(luò)攻擊的能力,在性能上測(cè)試了該框架對(duì)原有網(wǎng)絡(luò)吞吐能力的影響情況.
從系統(tǒng)架構(gòu)的角度考慮,家用無(wú)線(xiàn)路由器面臨的攻擊面可以劃分為硬件層面、固件層面[12]、配置管理和應(yīng)用協(xié)議4類(lèi):
1) 硬件層面的漏洞主要包括芯片級(jí)別的漏洞,路由器芯片的主流廠(chǎng)商有Broadcom,Qualcomm,MTK,Realtek,路由器搭載的處理器(CPU)架構(gòu)主要包含MIPS,ARM,Intel(x86)等.
2) 固件層面的漏洞也是威脅路由器安全的重要因素,如SQL注入漏洞、CSRF漏洞、遠(yuǎn)程命令執(zhí)行、XSS(cross site scripting)[13]、提權(quán)等[14].無(wú)線(xiàn)路由器是通過(guò)固件進(jìn)行驅(qū)動(dòng)而運(yùn)作的,因此固件便成為決定路由器功能與性能的重要元素.目前流行路由器開(kāi)源固件包括OpenWrt,DD-WRT,TOMATO等.
3) 配置管理層面面臨的攻擊類(lèi)型以弱口令猜解、暴力破解為主,攻擊者在獲取管理配置界面的登錄權(quán)限的基礎(chǔ)上修改DNS解析配置,進(jìn)而實(shí)施路由器流量劫持、篡改等惡意攻擊.導(dǎo)致這類(lèi)安全威脅發(fā)生的主要原因是用戶(hù)配置管理不當(dāng)引起的,例如:用戶(hù)使用路由器默認(rèn)登錄口令,配置簡(jiǎn)單易猜解的口令,開(kāi)放不必要的端口、服務(wù),使用不可信的功能擴(kuò)展等.
4) 通信協(xié)議的缺陷也將家用無(wú)線(xiàn)路由器的安全置于不可控的境地,如加密協(xié)議WPA(wi-fi protected access)、WPA2協(xié)議的缺陷、不安全的通信接口導(dǎo)致路由器升級(jí)時(shí)的固件劫持等[15].
針對(duì)無(wú)線(xiàn)路由器面臨的多種安全風(fēng)險(xiǎn),學(xué)術(shù)界和工業(yè)界也提出一些解決方案:2010年美國(guó)Foundry Networks公司提出一種防止遠(yuǎn)程攻擊網(wǎng)絡(luò)設(shè)備(例如交換機(jī)和路由器)CPU管理功能的方法[16];2013年,360公司推出360安全路由器,能夠?qū)阂饩W(wǎng)站進(jìn)行攔截,在一定程度上保護(hù)路由器子網(wǎng)內(nèi)用戶(hù)的上網(wǎng)安全[17];2013年來(lái)自葡萄牙阿威羅大學(xué)的研究人員在文獻(xiàn)[18]提出了一種基于生成流量的針對(duì)有WiFi保護(hù)設(shè)置WPA路由器攻擊的檢測(cè)方法,通過(guò)監(jiān)測(cè)流量并進(jìn)行多維度分析,識(shí)別網(wǎng)絡(luò)入侵行為.2015年來(lái)自CNCERTCC的Fang等人在文獻(xiàn)[19]中提出了基于挖掘模型和接入偽造技術(shù)的漏洞檢測(cè)方法,可以有效檢測(cè)網(wǎng)絡(luò)設(shè)備中的腳本漏洞.然而這些方法無(wú)法有效解決家用無(wú)線(xiàn)路由器面臨的固件層面的安全風(fēng)險(xiǎn).
針對(duì)無(wú)線(xiàn)路由器的攻擊案例層出不窮[20],本文根據(jù)攻擊者所處的網(wǎng)絡(luò)位置的不同,將針對(duì)無(wú)線(xiàn)路由器的攻擊簡(jiǎn)單劃分為外部攻擊和內(nèi)部攻擊.攻擊者接入無(wú)線(xiàn)路由器之后發(fā)起的攻擊稱(chēng)之為內(nèi)部攻擊,否則稱(chēng)之為外部攻擊.內(nèi)部攻擊一般發(fā)生在咖啡館、商場(chǎng)等地的公共WiFi,或者是其他被“蹭網(wǎng)”的WiFi環(huán)境下.本文重點(diǎn)分析外部攻擊的常見(jiàn)2種攻擊模式:
1) 攻擊者對(duì)互聯(lián)網(wǎng)進(jìn)行大規(guī)模掃描,或者利用Shodan,ZoomEye等網(wǎng)絡(luò)空間探測(cè)引擎,基于無(wú)線(xiàn)路由器的指紋特征進(jìn)行掃描或搜索,并在不需要接入無(wú)線(xiàn)路由器的情況下,直接通過(guò)互聯(lián)網(wǎng)對(duì)目標(biāo)路由器發(fā)起遠(yuǎn)程攻擊.例如2018年1月公開(kāi)的D-Link DIR 645無(wú)線(xiàn)路由器遠(yuǎn)程命令執(zhí)行漏洞(CNVD-2018-01084),由于service.cgi中拼接了HTTP POST請(qǐng)求中的數(shù)據(jù),造成后臺(tái)命令拼接,導(dǎo)致了任意命令執(zhí)行,攻擊過(guò)程如圖2所示:
Fig. 2 Attack process diagram of CNVD-2018-01084圖2 CNVD-2018-01084攻擊過(guò)程圖
2) 攻擊者在互聯(lián)網(wǎng)中活躍,借助無(wú)線(xiàn)路由器子網(wǎng)下的其他主機(jī)作為跳板,向無(wú)線(xiàn)路由器發(fā)起攻擊.例如Pharming網(wǎng)址嫁接攻擊.Pharming通過(guò)在網(wǎng)頁(yè)中植入網(wǎng)頁(yè)木馬或者利用域名服務(wù)器上的漏洞將受害者錯(cuò)誤地引導(dǎo)到偽造的網(wǎng)站中,并伺機(jī)竊取受害者證書(shū)或敏感信息.如圖3所示,一旦受害者訪(fǎng)問(wèn)路由器CSRF漏洞利用程序的頁(yè)面,攻擊者設(shè)置的漏洞利用程序就會(huì)對(duì)路由器進(jìn)行攻擊,進(jìn)入路由器管理頁(yè)面后,程序會(huì)自動(dòng)修改路由器的DNS設(shè)置,進(jìn)而將受害者網(wǎng)頁(yè)訪(fǎng)問(wèn)重定向到攻擊者的服務(wù)器,可導(dǎo)致受害者更大的財(cái)產(chǎn)損失[21].
Fig. 3 Attack process diagram of CSRF圖3 CSRF攻擊過(guò)程圖
對(duì)于外部攻擊,攻擊流量經(jīng)過(guò)路由器的WAN口進(jìn)入路由器,如圖2所示的命令注入,在攻擊者向路由器的80端口發(fā)送HTTP請(qǐng)求時(shí),我們可以在真正監(jiān)聽(tīng)80端口的服務(wù)獲得流量之前對(duì)流量進(jìn)行截取分析;對(duì)于內(nèi)部攻擊,以圖3所示的CSRF攻擊為例,LAN內(nèi)的受害者瀏覽器向路由器進(jìn)行CSRF攻擊時(shí)的流量也可以使用同樣的方法進(jìn)行截取分析.
Fig. 4 Overall framework model圖4 整體框架模型
針對(duì)無(wú)線(xiàn)路由器的外部攻擊場(chǎng)景,本文提出基于網(wǎng)絡(luò)欺騙的無(wú)線(xiàn)路由器防護(hù)方法,面向的主要防護(hù)對(duì)象為百元價(jià)位的家用無(wú)線(xiàn)路由器.家用無(wú)線(xiàn)路由器作為嵌入式設(shè)備,具備可移植的操作系統(tǒng)[22],擁有一定的計(jì)算能力和存儲(chǔ)能力,具備的簡(jiǎn)單的安全防護(hù)機(jī)制,如端口過(guò)濾、MAC地址過(guò)濾等,但通常只具備安全威脅發(fā)生后的簡(jiǎn)單響應(yīng)機(jī)制,且對(duì)用戶(hù)自身的安全意識(shí)要求較高,缺少主動(dòng)防御安全威脅的策略.
基于家用無(wú)線(xiàn)路由器存在的安全問(wèn)題現(xiàn)狀,結(jié)合家用無(wú)線(xiàn)路由器的性能,我們?cè)O(shè)計(jì)了基于網(wǎng)絡(luò)欺騙的家用無(wú)線(xiàn)路由器安全防御框架,如圖4所示.流量攔截功能基于中間人攻擊(man in the middle, MITM)中間人技術(shù)對(duì)經(jīng)過(guò)路由器的網(wǎng)絡(luò)流量進(jìn)行攔截,為流量檢測(cè)模塊提供數(shù)據(jù)分析支撐.流量檢測(cè)功能通過(guò)流量解包還原處理,根據(jù)流量是否存在惡意代碼特征,判定流量是否需要轉(zhuǎn)發(fā)[23].當(dāng)存在惡意特征時(shí),流量牽引功能負(fù)責(zé)將攔截的流量牽引至影子服務(wù)器,否則直接返回至請(qǐng)求服務(wù)的客戶(hù)端.影子服務(wù)器部署有影子服務(wù)模塊,攻擊者對(duì)路由器發(fā)起的攻擊流量經(jīng)過(guò)篡改、牽引,最終轉(zhuǎn)移到影子服務(wù)器上,以此掩護(hù)真實(shí)的目標(biāo)免受黑客攻擊.影子服務(wù)克隆和同步真實(shí)家用無(wú)線(xiàn)路由器的功能,運(yùn)行虛假的網(wǎng)絡(luò)服務(wù),攻擊者可對(duì)這些虛假服務(wù)發(fā)起任意攻擊,進(jìn)而實(shí)現(xiàn)攻擊Payload獲取,為進(jìn)一步的攻擊者追蹤溯源取證提供依據(jù)等.
基于上述總體思路,我們基于OpenWrt設(shè)計(jì)并實(shí)現(xiàn)了原型系統(tǒng)OWCD(openwrt with cyber deception).OpenWrt作為一個(gè)功能強(qiáng)大的開(kāi)源路由器Linux系統(tǒng),用戶(hù)可以很方便地對(duì)其進(jìn)行定制、優(yōu)化.如圖5所示,OWCD部署于用戶(hù)自定義軟件部分,作為OpenWrt系統(tǒng)的應(yīng)用程序運(yùn)行.OWCD包含流量處理子系統(tǒng)和影子服務(wù)子系統(tǒng),其中流量處理子系統(tǒng)包含流量攔截模塊、流量檢測(cè)模塊、流量牽引模塊,影子服務(wù)子系統(tǒng)由影子服務(wù)模塊和流量采集模塊構(gòu)成.
Fig. 5 Architecture of OpenWrt system and diagram of OWCD Deployment Level圖5 OpenWrt系統(tǒng)架構(gòu)及OWCD部署層次圖
OWCD的開(kāi)發(fā)語(yǔ)言以及第三方庫(kù)使用的情況如表1所示.流量攔截模塊、流量檢測(cè)模塊和流量牽引模塊采用C語(yǔ)言開(kāi)發(fā),使用mipsel-openwrt-linux-gcc交叉編譯成OpenWrt平臺(tái)的二進(jìn)制程序.在流量檢測(cè)模塊中引入輕量級(jí)Perl語(yǔ)言正則表達(dá)式(perl compatible regular expressions, PCRE)庫(kù),用于根據(jù)預(yù)設(shè)規(guī)則來(lái)識(shí)別異常流量.
Table 1 Programing Languages and Iibraries Used in Modules表1 各模塊開(kāi)發(fā)語(yǔ)言及第三方庫(kù)使用情況
PCRE功能強(qiáng)大且性能超過(guò)了POSIX(portable operating system interface for computing systems)正則表達(dá)式庫(kù)和一些經(jīng)典的正則表達(dá)式庫(kù).影子系統(tǒng)則采用開(kāi)源路由器操作系統(tǒng)OpenWrt使用的LUCI Web管理模塊,該模塊采用Lua語(yǔ)言編寫(xiě),具備對(duì)其功能定制和改進(jìn)的可行性.
流量處理子系統(tǒng)由流量攔截模塊、流量檢測(cè)模塊、流量牽引模塊等3部分組成,功能分述如下:
1) 流量攔截模塊運(yùn)行在路由器上,通過(guò)MITM中間人技術(shù),對(duì)目的地址為路由器自身的流量進(jìn)行預(yù)先攔截,并將流量提交給流量處理模塊.流量處理模塊運(yùn)行在路由器操作系統(tǒng)的內(nèi)核中,保證在應(yīng)用程序接收到流量之前,流量攔截模塊就可以將流量攔截.流量攔截模塊使用路由器操作系統(tǒng)中的iptables進(jìn)行流量轉(zhuǎn)發(fā),iptables運(yùn)行在內(nèi)核中,可以在應(yīng)用程序接收到網(wǎng)絡(luò)流量之前對(duì)流量進(jìn)行攔截.流量檢測(cè)模塊的整體運(yùn)行邏輯偽代碼如圖6所示:
Input:args,data packet source obtained by interception socket,destination IP,buffer;Output:None.∕*Entry point*∕Function detect(args) If args is not null and len(args)=3 Then source_sock=args[0]; destination_ip=args[1]; buffer=args[2]; End If flag=0; If check(buffer) Then ∕*Markup Attack Traffic*∕ flag=1; ∕*Add Attack Information to attack_table*∕ attack_add(source_sock,buffer); ∕*Write Logs*∕ log(source_sock,destination_ip,buffer); End Ifrelay(buffer,flag,source_sock,destination_ip).
Fig. 6 Pseudocode of traffic-detection module
圖6 流量檢測(cè)模塊偽代碼
2) 流量檢測(cè)模塊主要是對(duì)流量攔截模塊所攔截的HTTP協(xié)議流量進(jìn)行檢測(cè),提取出流量中的關(guān)鍵數(shù)據(jù),并根據(jù)自定義檢測(cè)規(guī)則進(jìn)行匹配,判定其是否包含攻擊意圖的惡意流量.同時(shí),為了使判斷時(shí)間盡量縮短,在對(duì)數(shù)據(jù)包整體進(jìn)行正則匹配之前,流量處理子系統(tǒng)先對(duì)HTTP數(shù)據(jù)包中的Cookie字段進(jìn)行分析記錄.如果Cookie與標(biāo)記為惡意的Cookie列表相匹配,則直接判定為惡意流量.
目前針對(duì)路由器Web管理界面的攻擊大多是利用了弱口令、SQL(structured query language)注入漏洞、命令注入漏洞等常見(jiàn)的安全風(fēng)險(xiǎn).因此,對(duì)于Web管理界面的防護(hù)來(lái)說(shuō),流量檢測(cè)模塊的主要功能是對(duì)于訪(fǎng)問(wèn)目標(biāo)是路由器Web管理系統(tǒng)的HTTP數(shù)據(jù)包進(jìn)行分析處理,一旦發(fā)現(xiàn)數(shù)據(jù)包中存在惡意攻擊載荷就及時(shí)對(duì)其進(jìn)行牽引,將該含有惡意攻擊載荷的數(shù)據(jù)包交由流量牽引模塊進(jìn)行處理.但是,由于家用路由器的資源和處理器性能和存儲(chǔ)空間的限制,因此,檢測(cè)規(guī)則以文件的形式保存在路由器中,當(dāng)路由器啟動(dòng)時(shí)會(huì)從規(guī)則文件中加載若干條規(guī)則,從而根據(jù)規(guī)則來(lái)進(jìn)行匹配,同時(shí)在無(wú)線(xiàn)路由器中還會(huì)存在定時(shí)任務(wù),定時(shí)去云端服務(wù)器獲取最新的規(guī)則,并重新加載規(guī)則.目前的規(guī)則所使用的是正則匹配的模式,即程序根據(jù)從云端獲取到的正則表達(dá)式規(guī)則,與數(shù)據(jù)包中的數(shù)據(jù)進(jìn)行正則匹配,一旦匹配成功則代表該數(shù)據(jù)包存在惡意的參數(shù),程序?qū)?biāo)記該數(shù)據(jù)包為惡意流量數(shù)據(jù)包,并交由流量牽引模塊進(jìn)行轉(zhuǎn)發(fā).規(guī)則基于新出現(xiàn)的路由器漏洞定期更新和維護(hù),部分正則規(guī)則如圖7所示:
Fig. 7 Part of the traffic monitoring rules
圖7 部分流量檢測(cè)規(guī)則
Fig. 8 Workflow diagram of traffic processing subsystem圖8 流量處理子系統(tǒng)工作流程圖
3) 流量牽引模塊負(fù)責(zé)根據(jù)流量檢測(cè)模塊的結(jié)果對(duì)數(shù)據(jù)包進(jìn)行標(biāo)記,將正常流量轉(zhuǎn)發(fā)給真實(shí)的服務(wù)器,將疑似惡意流量牽引至云端的影子服務(wù)器.利用TCP(transmission control protocol)UDP(user datagram protocol)Relay技術(shù),流量牽引模塊作為轉(zhuǎn)發(fā)中間人,使正常用戶(hù)和攻擊者幾乎察覺(jué)不到中間人的存在,流量處理工作流程如圖8所示:
Fig. 9 Flow diagram of creation and update of shadow service圖9 影子服務(wù)創(chuàng)建與更新流程圖
被流量檢測(cè)模塊檢測(cè)出的惡意流量將被牽引到影子服務(wù)器.影子服務(wù)的創(chuàng)建與更新流程,如圖9所示,被檢測(cè)出來(lái)的惡意流量數(shù)據(jù)包被標(biāo)識(shí)為惡意流量后,通過(guò)流量轉(zhuǎn)發(fā)模塊修改數(shù)據(jù)包,進(jìn)而被轉(zhuǎn)發(fā)到影子服務(wù)器上.影子服務(wù)器具有與被保護(hù)的路由器相同的Web管理界面,但是該Web管理界面并不具備真實(shí)的管理功能,即使惡意用戶(hù)使用Web攻擊手段取得了該影子服務(wù)器的Web管理界面的權(quán)限,也不能夠?qū)β酚善鬟M(jìn)行操作.同時(shí),影子服務(wù)器部署在1臺(tái)云端服務(wù)器上,其內(nèi)部同樣運(yùn)行著與所保護(hù)的路由器相同的OpenWrt系統(tǒng)和LUCI Web管理界面.
影子服務(wù)器子系統(tǒng)主要包含了影子服務(wù)模塊和流量采集模塊,其中,影子服務(wù)模塊的主要功能就是對(duì)無(wú)線(xiàn)路由器Web管理系統(tǒng)進(jìn)行克隆,并進(jìn)行部分功能的弱化處理,比如設(shè)置弱口令等.流量采集模塊則是為了能夠更好地了解攻擊者的攻擊手段,在云服務(wù)器中運(yùn)行流量采集程序,一旦攻擊者的流量進(jìn)入該影子服務(wù)器,則將被完全地捕獲下來(lái),進(jìn)而為后續(xù)的攻擊者的攻擊手段分析和特征提取奠定基礎(chǔ).
影子服務(wù)模塊搭建在云服務(wù)器上的OpenWrt虛擬機(jī)中,并安裝OpenWrt-luci服務(wù),安裝后對(duì)系統(tǒng)進(jìn)行初始化.流量采集模塊同樣部署在這臺(tái)OpenWrt云服務(wù)器上,由于OpenWrt系統(tǒng)中帶有tcpdump程序,因此,本文使用tcpdump程序捕獲網(wǎng)絡(luò)流量數(shù)據(jù),并定時(shí)保存.
為了測(cè)試OWCD的實(shí)際效果,本文選取斐訊PHICOMM K1無(wú)線(xiàn)路由器產(chǎn)品作為實(shí)驗(yàn)平臺(tái)部署基于網(wǎng)絡(luò)欺騙的路由器防護(hù)框架原型系統(tǒng).我們利用無(wú)線(xiàn)路由器的SSH(secure shell)協(xié)議管理功能,通過(guò)Shell管理工具將OWCD系統(tǒng)主程序上傳到無(wú)線(xiàn)路由器中并運(yùn)行,進(jìn)而完成路由器的測(cè)試環(huán)境部署.本文主要進(jìn)行功能測(cè)試和性能測(cè)試:在功能測(cè)試中,主要測(cè)試OWCD對(duì)于常見(jiàn)的針對(duì)無(wú)線(xiàn)路由器Web管理界面的攻擊是否能夠有效發(fā)現(xiàn)并牽引到影子服務(wù)器;而性能測(cè)試則是通過(guò)部署系統(tǒng)前后網(wǎng)絡(luò)吞吐能力的對(duì)比,分析系統(tǒng)對(duì)于無(wú)線(xiàn)路由器吞吐能力的影響情況.
具體的功能測(cè)試和性能測(cè)試的實(shí)驗(yàn)環(huán)境如圖10所示.其中無(wú)線(xiàn)路由器PHICOMM K1(安裝系統(tǒng)為OpenWrt 15.05)運(yùn)行著OWCD的主程序;1臺(tái)PC(操作系統(tǒng)為Windows 10 pro 64 b,CPU為Intel Core i7-4700MQ 2.4 GHz,內(nèi)存為8 GB)接入到該無(wú)線(xiàn)路由器作為性能測(cè)試和功能測(cè)試的操作設(shè)備;1臺(tái)云主機(jī)(安裝系統(tǒng)為OpenWrt 15.05,CPU為1 GHz,內(nèi)存為1 GB)作為云端服務(wù)器,部署影子服務(wù)子系統(tǒng).
Fig. 10 Experimental test environment network topology圖10 實(shí)驗(yàn)測(cè)試環(huán)境網(wǎng)絡(luò)拓?fù)鋱D
功能測(cè)試部分主要測(cè)試OWCD針對(duì)利用CSRF、遠(yuǎn)程命令執(zhí)行等目前常見(jiàn)的Web漏洞進(jìn)行攻擊時(shí)的實(shí)際防御效果.主要包括2個(gè)方面:
1) 惡意流量識(shí)別測(cè)試.測(cè)試對(duì)惡意流量識(shí)別的準(zhǔn)確度.
2) 流量牽引和記錄能力測(cè)試.測(cè)試惡意流量是否被牽引到影子服務(wù)器,以及影子服務(wù)對(duì)惡意流量的記錄能力.
4.2.1 惡意流量識(shí)別能力測(cè)試
針對(duì)家用路由器的惡意攻擊主要包括口令爆破和遠(yuǎn)程命令注入.為了使實(shí)驗(yàn)更加真實(shí),本文利用近年來(lái)公開(kāi)的無(wú)線(xiàn)路由器的漏洞利用程序?qū)Σ渴餙WCD的路由器進(jìn)行攻擊,并在影子服務(wù)器端進(jìn)行流量監(jiān)控.若發(fā)起攻擊時(shí),影子服務(wù)器收到了攻擊流量,則判定識(shí)別成功.
本文采用的惡意流量識(shí)別能力測(cè)試包含5種實(shí)驗(yàn):
實(shí)驗(yàn)1,2采用弱口令字典針對(duì)Web管理界面的密碼進(jìn)行5次秒的爆破.
實(shí)驗(yàn)3,4,5采用已知的路由器高危漏洞對(duì)路由器系統(tǒng)進(jìn)行攻擊.其中:實(shí)驗(yàn)3采用TP-Link WR940N路由器的CVE-2017-13772遠(yuǎn)程命令注入漏洞驗(yàn)證程序進(jìn)行測(cè)試;實(shí)驗(yàn)4采用華為HG532路由器的CVE-2017-17215遠(yuǎn)程命令注入漏洞利用程序進(jìn)行攻擊測(cè)試;實(shí)驗(yàn)5采用D-Link dir600M CSRF漏洞驗(yàn)證程序進(jìn)行測(cè)試.表2的實(shí)驗(yàn)結(jié)果顯示,基于網(wǎng)絡(luò)欺騙的路由器防護(hù)框架原型系統(tǒng)能夠成功識(shí)別上述網(wǎng)絡(luò)攻擊.
Table2TestResultsofAttackTrafficIdentificationAbilitytoProtectedDevices
表2 對(duì)針對(duì)被保護(hù)設(shè)備的攻擊流量識(shí)別能力測(cè)試結(jié)果
同時(shí),我們也模擬了用戶(hù)的正常操作,如添加網(wǎng)卡、修改IP(internet protocol)地址、更改防火墻信息、添加定時(shí)重啟服務(wù)等.經(jīng)測(cè)試發(fā)現(xiàn),OWCD不會(huì)對(duì)正常操作造成影響.針對(duì)口令暴力破解,實(shí)驗(yàn)進(jìn)行了正常的用戶(hù)忘記口令后的“試密碼”操作,手工進(jìn)行錯(cuò)誤密碼的輸入嘗試,在正常的鍵盤(pán)敲擊口令的情況下,沒(méi)有發(fā)生流量誤判的情況.
4.2.2 影子服務(wù)異常流量捕獲測(cè)試
對(duì)于上述被牽引至影子服務(wù)器的7種攻擊流量, 我們?cè)谟白臃?wù)中檢查定期保存的流量二進(jìn)制文件,可以看到所有的攻擊流量及日志文件,如圖11所示:
Fig. 11 The shadow server captures the abnormal traffic log圖11 影子服務(wù)器捕獲異常流量日志
4.3.1 路由器管理性能測(cè)試
OWCD流量處理子系統(tǒng)采用正則匹配和流量牽引的方式工作,首先對(duì)無(wú)線(xiàn)路由器Web管理操作的進(jìn)行延遲測(cè)試,測(cè)試過(guò)程如下,測(cè)試結(jié)果如表3所示:
Table 3 Results of Router Management Performance Test表3 路由器管理性能測(cè)試結(jié)果 s
2) 登錄管理界面,在用戶(hù)名密碼中輸入記錄登錄過(guò)程所需要的時(shí)間.
3) 更改靜態(tài)路由,在管理界面中更改靜態(tài)路由,并記錄點(diǎn)擊確定后網(wǎng)頁(yè)響應(yīng)的時(shí)間.
4) 更改管理密碼,在路由器管理頁(yè)面中修改管理密碼,并記錄網(wǎng)頁(yè)響應(yīng)的時(shí)間.
測(cè)試結(jié)果表明:部署OWCD系統(tǒng)后的無(wú)線(xiàn)路由器,對(duì)路由器管理性能影響較小,不影響正常的配置路由器操作.
4.3.2 流量吞吐能力測(cè)試
OWCD在運(yùn)行時(shí)對(duì)HTTP協(xié)議網(wǎng)絡(luò)流量進(jìn)行檢測(cè)處理,因此需要對(duì)測(cè)試無(wú)線(xiàn)路由器的網(wǎng)絡(luò)吞吐能力進(jìn)行測(cè)試,并與部署之前進(jìn)行對(duì)比.為了便于比對(duì)測(cè)試效果,我們依次模擬Ping命令、打開(kāi)網(wǎng)頁(yè)、下載文件等常用操作,性能測(cè)試結(jié)果如表4所示:
Table 4 Results of Traffic Throughput Performance Test表4 性能測(cè)試結(jié)果 s
1) Ping操作.通過(guò)執(zhí)行命令Ping www.baidu.com 測(cè)試網(wǎng)絡(luò)響應(yīng)時(shí)間.
2) HTTP下載文件.使用Chrome 瀏覽器(版本66.0.3330.0 canary 64 b)下載文件,下載地址:http:down10.zol.com.cnxiezuosogou_pinyin_89a.exe.
3) 打開(kāi)網(wǎng)頁(yè).使用Chrome瀏覽器(版本66.0.3330.0 canary 64位)打開(kāi)簡(jiǎn)單網(wǎng)頁(yè)(18個(gè)請(qǐng)求、288 KB)和復(fù)雜網(wǎng)頁(yè)(506個(gè)請(qǐng)求、5.2 MB)記錄頁(yè)面加載時(shí)間,每次打開(kāi)網(wǎng)頁(yè)后對(duì)瀏覽器緩存進(jìn)行清理.
各測(cè)試項(xiàng)對(duì)應(yīng)的耗費(fèi)時(shí)間,如圖12所示,部署OWCD后,在3項(xiàng)的測(cè)試中,未部署和已部署原型系統(tǒng)耗費(fèi)時(shí)間差別不大.使用PHICOMM K1路由器進(jìn)行文件下載測(cè)試,對(duì)CPU和內(nèi)存占用率性能進(jìn)行對(duì)比,如圖13所示,隨著下載速率的提升,CPU占用率呈上升趨勢(shì),而內(nèi)存占用率基本不受影響.對(duì)比部署前后的數(shù)據(jù)可知,正常使用路由器時(shí),OWCD系統(tǒng)對(duì)CPU占用率幾乎沒(méi)有影響,內(nèi)存占用率只增加0.7%左右.總的來(lái)說(shuō),我們的系統(tǒng)對(duì)于無(wú)線(xiàn)路由器的吞吐能力影響微乎其微,效果良好.
Fig. 12 Simple Web page, complex Web page, HTTP download file performance test圖12 簡(jiǎn)單網(wǎng)頁(yè)、復(fù)雜網(wǎng)頁(yè)、HTTP文件下載性能測(cè)試
Fig. 13 CPU, memory utilization percentage comparison before and after the deployment of OWCD圖13 部署OWCD前后CPU、內(nèi)存利用率對(duì)比
在無(wú)線(xiàn)路由器所處的網(wǎng)絡(luò)環(huán)境中部署防火墻、入侵檢測(cè)系統(tǒng)、入侵防御系統(tǒng)等安全防護(hù)設(shè)備,一定程度上能夠從攻擊行為入手及時(shí)發(fā)現(xiàn)并阻斷對(duì)無(wú)線(xiàn)路由器的攻擊.但此類(lèi)防護(hù)設(shè)備部署成本高,通常被企業(yè)級(jí)應(yīng)用采用,普通家庭用戶(hù)由于成本和接入無(wú)線(xiàn)路由器設(shè)備數(shù)量少等原因一般不會(huì)部署此類(lèi)設(shè)備.一些可在智能終端安裝的第三方防護(hù)軟件,如360路由器衛(wèi)士,只提供簡(jiǎn)單的限速管理、防蹭網(wǎng)、網(wǎng)絡(luò)異常診斷等功能,并不具備攻擊檢測(cè)能力.另外,從家用無(wú)線(xiàn)路由器設(shè)備自身來(lái)看,目前主流家用無(wú)線(xiàn)路由器設(shè)備無(wú)法進(jìn)行有效的攻擊檢測(cè)和應(yīng)急響應(yīng),使得家用無(wú)線(xiàn)路由器面臨極大的安全風(fēng)險(xiǎn).
本文提出的基于網(wǎng)絡(luò)欺騙的家用無(wú)線(xiàn)路由器安全防御框架,充分考慮家用無(wú)線(xiàn)路由器的計(jì)算和存儲(chǔ)能力的基礎(chǔ)上在路由器內(nèi)部進(jìn)行網(wǎng)絡(luò)流量攔截,通過(guò)檢測(cè)處理流經(jīng)家用無(wú)線(xiàn)路由器的網(wǎng)絡(luò)流量,發(fā)現(xiàn)應(yīng)對(duì)常見(jiàn)家用無(wú)線(xiàn)路由器設(shè)備的攻擊行為;同時(shí),使用部署在云端的影子服務(wù)進(jìn)行網(wǎng)絡(luò)欺騙,收集攻擊利用代碼,發(fā)現(xiàn)攻擊者的意圖,為攻擊者追蹤溯源提供依據(jù).另外,影子服務(wù)部署于云端,不單獨(dú)接入外部硬件設(shè)備和改變?cè)新酚善鞯牟僮髁鞒?,有利于在普通家庭用?hù)中推廣使用.
然而本文提出的方法也存在一些局限性:
1) 基于網(wǎng)絡(luò)欺騙的家用無(wú)線(xiàn)路由器安全防御框架是基于應(yīng)用層的,面對(duì)諸如TCP,UDP等網(wǎng)絡(luò)層發(fā)起的通信協(xié)議層面的網(wǎng)絡(luò)攻擊,并不能做出有效的防御;
2) 在實(shí)際的功能測(cè)試過(guò)程中,針對(duì)低速口令暴力破解的網(wǎng)絡(luò)攻擊行為,OWCD會(huì)在爆破的第10次左右進(jìn)行響應(yīng),如果判斷過(guò)于敏感,很可能會(huì)造成誤判;
3) 在實(shí)際的性能測(cè)試過(guò)程中,網(wǎng)絡(luò)流量分析在一定程度上帶來(lái)了傳輸延遲,當(dāng)然隨著帶寬的升級(jí)和云端網(wǎng)絡(luò)節(jié)點(diǎn)的優(yōu)化,此類(lèi)問(wèn)題會(huì)逐漸得到改善;
4) 額外引入了云端的影子服務(wù)器,增加了新的部署成本,當(dāng)然隨著邊緣計(jì)算[24-25]等新技術(shù)的發(fā)展,無(wú)線(xiàn)路由器作為邊緣設(shè)備配合云端的模式將得到廣泛的認(rèn)可;
5) 本文對(duì)HTTP協(xié)議進(jìn)行了流量分析,然而對(duì)于HTTPS協(xié)議產(chǎn)生的網(wǎng)絡(luò)流量無(wú)法處理.
物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,使得無(wú)線(xiàn)路由器被家庭用戶(hù)廣泛使用,但目前學(xué)術(shù)界和工業(yè)界并沒(méi)有明確提出針對(duì)家用無(wú)線(xiàn)路由器的專(zhuān)用安全防護(hù)方案.當(dāng)某一型號(hào)的家用無(wú)線(xiàn)路由器出現(xiàn)安全問(wèn)題時(shí),最常用的解決方案是等待廠(chǎng)商發(fā)布修復(fù)版本的固件讓用戶(hù)自行更新,通常面臨的問(wèn)題廠(chǎng)商提供固件更新不及時(shí)、普通用戶(hù)自行更新固件難度大、用戶(hù)更新固件不及時(shí)等問(wèn)題,進(jìn)而導(dǎo)致家用無(wú)線(xiàn)路由器自身以及接入無(wú)線(xiàn)路由器的智能終端面臨極大的安全風(fēng)險(xiǎn).本文將網(wǎng)絡(luò)欺騙的思路應(yīng)用于家用無(wú)線(xiàn)路由器的防御,通過(guò)監(jiān)測(cè)HTTP協(xié)議網(wǎng)絡(luò)攻擊行為,將疑似網(wǎng)絡(luò)攻擊流量牽引到部署在云端的影子服務(wù)器,進(jìn)而降低無(wú)線(xiàn)路由器自身的安全風(fēng)險(xiǎn),同時(shí)也為進(jìn)一步攻擊取證分析以及攻擊者追蹤溯源提供數(shù)據(jù)支撐.基于上述方法,我們?cè)O(shè)計(jì)并實(shí)現(xiàn)了基于OpenWrt的無(wú)線(xiàn)路由器防御框架原型系統(tǒng)OWCD,并部署于斐訊Phicomm K1無(wú)線(xiàn)路由器中進(jìn)行實(shí)際的功能測(cè)試和性能測(cè)試.實(shí)驗(yàn)驗(yàn)證結(jié)果表明:OWCD在不影響正常功能的情況下,能夠有效對(duì)抗針對(duì)無(wú)線(xiàn)路由器的弱口令、CSRF、命令注入等攻擊手段是一種有效可行的防護(hù)方案.