李翔豪, 王軼駿, 薛質(zhì)
SOHO路由器脆弱性的分析和驗證
李翔豪, 王軼駿, 薛質(zhì)
(上海交通大學電子信息與電氣工程學院,上海200240)
SOHO路由器作為現(xiàn)今家庭和中小型辦公環(huán)境中普及度極高的網(wǎng)絡接入設備,其安全性之重要不言而喻。加之目前國內(nèi)外對網(wǎng)絡設備,尤其是路由器的攻擊越發(fā)流行,因此,本文對SOHO路由器脆弱性和相應攻擊面的研究具有重要價值,是相關學術領域研究的大勢所趨。主要研究分析和歸納總結(jié)了SOHO路由器脆弱性方面的相關技術和研究成果,包括遠程偵測技術、漏洞利用技術和后門駐留技術等。首先是遠程偵測技術,用來實現(xiàn)對路由器類型和版本的精準探測;其次是漏洞利用技術,用來獲取路由器的管理權限甚至是系統(tǒng)權限;最后是后門駐留技術,用來在獲取路由器權限的基礎上實現(xiàn)長期的隱蔽控制。這里為今后在設計、改進SOHO路由器的安全防御技術和策略等方面提供基礎支撐。
SOHO路由器;遠程偵測;漏洞利用;后門駐留;脆弱性分析
近年來,SOHO路由器的普及程度越來越高,隨之而來的安全性問題也層出不窮。現(xiàn)在許多用戶在使用個人終端時,都將SOHO路由器作為接入網(wǎng)絡的第一道網(wǎng)關設備,是網(wǎng)絡通信的重要環(huán)節(jié)。但是,SOHO路由器在設計、制造方面偏向于面向用戶,往往提供簡明易懂的界面、方便快捷的設置步驟,使用戶能方便、快捷的實現(xiàn)上網(wǎng)行為;但也正是這有別于企業(yè)級路由設備的設計理念差異,導致SOHO路由器存在嚴重的脆弱性隱患,很容易產(chǎn)生各種安全問題。除了常見的被“蹭網(wǎng)”等,一些APT攻擊也正是基于SOHO路由器的脆弱性而產(chǎn)生的。攻擊者通過暴力、漏洞、或者社工方式可以輕易取得SOHO路由器的最高權限,進而實施網(wǎng)絡劫持、信息竊取、網(wǎng)絡釣魚等攻擊行為,直接威脅個人用戶和企業(yè)單位的數(shù)據(jù)安全。此外,水平更高的攻擊者還能通過對SOHO路由設備固件的逆向分析和漏洞挖掘來實施更為強大和精確的APT攻擊[1]。
所謂“知己知彼,百戰(zhàn)不殆”,為了能夠第一時間及時對SOHO路由器的安全問題進行快速響應,減少因路由器漏洞和后門爆發(fā)帶來的危害和損失,就需要我們對SOHO路由器進行脆弱性的分析,獲悉各類路由器潛在的安全隱患,由此才能更有針對性的找到相應防御的方法。
因此,本文主要研究分析、歸納總結(jié)SOHO路由器脆弱性方面的研究技術和成果,首先是SOHO路由器的遠程偵測技術,能夠?qū)β酚善鞯念愋秃桶姹具M行精準探測;然后是SOHO路由器的漏洞利用技術,包括內(nèi)存溢出、固有后門漏洞的挖掘和分析,能夠?qū)δ繕寺酚善鬟M行權限獲?。蛔詈髣t是SOHO路由器的后門駐留技術,能夠?qū)δ繕寺酚善鬟M行隱蔽控制和流量轉(zhuǎn)發(fā)。本文希望通過對上述脆弱性分析技術的歸納總結(jié)和趨勢展望,來為下一步提出針對性的安全防御策略和方法提供重要積累和基礎支撐。
SOHO路由器的遠程偵測是對路由器發(fā)起攻擊的基礎,這是因為能否對設備類型、型號、功能等信息進行準確判定將會直接影響著后續(xù)攻擊的成功率。遠程偵測旨在通過網(wǎng)絡自有協(xié)議和網(wǎng)絡設備特定協(xié)議來判斷目標路由器是否在線,進而通過與其進行數(shù)據(jù)包交互的方式來提取其設備指紋特征,并對比指紋特征數(shù)據(jù)庫來獲得目標路由器設備的具體信息。
一般來說,SOHO路由器可用以作為主機指紋特征的對象主要包括MAC/OUI指紋和應用服務指紋這兩類,如圖1所示。
圖1 SOHO路由器遠程偵測技術的分類
1.1基于MAC/OUI指紋的路由器偵測技術
MAC/OUI指紋指的是固化在網(wǎng)卡設備中硬件地址(即MAC,Media Access Control Address地址)的前3個字節(jié),是用來唯一標識該網(wǎng)卡的生產(chǎn)廠商(即OUI)。因此,在內(nèi)部網(wǎng)絡進行路由器的遠程偵測,就可以直接獲取目標路由器的MAC地址,然后讀取其中的OUI部分,并通過IEEE公布的OUI分配表來查找該地址對應的組織,就能獲得目標路由器的生產(chǎn)廠商了[2]。這種基于MAC/OUI指紋的探測方式,其優(yōu)點在于能夠較為精確的判定路由器的生產(chǎn)廠商,但其缺點也很明顯,一是無法獲取系統(tǒng)精確版本信息;二是只能在內(nèi)網(wǎng)中進行探測。
1.2基于應用服務指紋的路由器偵測技術
基于應用服務指紋的探測則是利用目標路由器所開放的眾多應用服務,包括Web、FTP、SFTP、SSH、Telnet、SNMP等,通過探測這些服務所返回的問候標語(banners)來獲取其品牌、型號、固件版本號、服務版本號等諸多詳細信息[3]。這種方式既適用于外網(wǎng)探測也適用于內(nèi)網(wǎng)探測,是相對比較方便和可靠的遠程偵測方式。
●Web應用服務指紋
在Web服務返回的頭部信息中,一般通過增加WWW-Authenticate字段來對用戶身份進行認證,而各路由器廠商一般均在Basic字段(基本認證)中增加廠商信息。這里以TP-Link N系列路由器為例,該系列路由器的HTTP返回頭部如下所示:
從中可以清晰的看到,該設備為一臺TP-Link WR941N無線路由器。
此外,廠商也往往會在HTML頁面中添加公司名稱、商標、設備信號等信息,以提供用戶更人性化的登錄界面。以D-Link DIR-610路由器為例,頁面信息中有如下特殊字段可作為指紋特征使用:
<td>Product Page:DIR-610</td>
在探測過程中,如果返回頁面中包含該字段,一般就可認為該目標為一臺D-Link無線路由器。
●FTP應用服務指紋
這里以D-Link公司生產(chǎn)的DSL系列無線路由器為例,該系列路由器會在21端口開啟FTP服務并持續(xù)監(jiān)聽,等待用戶連接向路由器傳送文件用以升級系統(tǒng)固件。用戶一旦與路由器建立TCP連接,設備會向用戶發(fā)送如下問候標語信息:
220 Ftp firmware update util
user(62.215.?.?:(none)):
通過該信息,即可判斷該設備為D-Link DSL系列路由器。
●SSH應用服務
這里以Cisco公司的路由器為例,該公司的絕大部分設備均搭載了自行開發(fā)研制的IOS(Internetwork Operating System)操作維護系統(tǒng),該系統(tǒng)通常會在22端口開啟SSH服務以遠程管理路由器。用戶發(fā)起連接請求后,設備在交換自己的RSA公鑰的同時,就會向用戶發(fā)送如下問候標語信息:
SSH-2.0-Cisco-1.25
該信息表明目標設備為一臺運行1.25版本IOS系統(tǒng)的Cisco路由器,同時SSH版本號為2.0。
此外,SFTP、Telnet等應用服務指紋特征都與上述這些服務類似,此處就不再贅述。
采訪結(jié)束后的很長一段時間,我們的思緒似乎仍然停留在瑞安那座美麗的海濱城市,被擁有20多年生產(chǎn)歷史的華岳所吸引,更被學識淵博的夏碎娒深深折服。
現(xiàn)今,國內(nèi)外已經(jīng)誕生了RouterScan等路由器遠程探測軟件,以及Zoomeye、Shodan、Censys等大規(guī)模監(jiān)測平臺。其中RouterScan是俄羅斯安全團隊Stas’M開發(fā)的一套路由器安全測試工具,它可以指定IP段對路由器進行暴力破解、信息提取等安全測試,支持各種品牌型號的路由器,善于發(fā)現(xiàn)大量已知的路由器或服務器設備并提取相應信息,特別是無線網(wǎng)絡加密信息,包括接入點的名稱和密鑰,并確定路由器品牌和型號,甚至可以對部分有漏洞的路由器進行漏洞利用和滲透。Zoomeye、Shodan、Censys則是國內(nèi)外的一些安全團隊和公司所打造的面向全球網(wǎng)絡的設備監(jiān)測系統(tǒng)和平臺,旨在對全網(wǎng)范圍內(nèi)的服務器、攝像頭、打印機、路由器等聯(lián)網(wǎng)設備進行信息采集并提供可視化智能檢索[4]。
當攻擊者獲知目標路由器的類型及其型號版本之后,就會嘗試利用針對該路由器的各類漏洞進行攻擊,直至最終獲取其權限為止。漏洞利用成功之后,攻擊者一般就能夠進入后臺管理界面,更改路由器的重要配置信息(比如DNS服務器的設置等),升級路由器固件引入后門等;甚至還能夠直接獲取到執(zhí)行目標系統(tǒng)命令的Shell接口,從而獲取系統(tǒng)底層信息,執(zhí)行流量轉(zhuǎn)發(fā)命令,植入系統(tǒng)后門等。
SOHO路由器作為一種嵌入式設備,可視為特殊的小型計算機,也存在著各種類型的漏洞,主要可分為如下四類:身份認證脆弱性漏洞、Web配置界面漏洞、緩沖區(qū)溢出型漏洞和固有后門型漏洞[5]。如圖2所示。
圖2 SOHO路由器漏洞利用技術的分類
在這四類漏洞中,身份認證脆弱性漏洞為攻擊者進入目標網(wǎng)絡提供先決條件,Web配置界面漏洞為攻擊者獲取路由器Web管理界面提供了可能性,而后兩類漏洞,即緩沖區(qū)溢出型漏洞和固有后門型漏洞能夠幫助攻擊者獲取目標路由器的Web配置管理權限,甚至是系統(tǒng)本身的最高權限,因此風險威脅較大,檢測難度也較大。
2.1身份認證脆弱性漏洞利用技術
絕大部分的SOHO路由器都具有Wi-Fi功能,供電腦、手機、智能家電等支持無線功能的終端設備接入并分享互聯(lián)網(wǎng)。提供Wi-Fi功能的路由器一般都需要進行身份認證才能夠被允許接入其內(nèi)部網(wǎng)絡,因此攻擊者往往需要首先破解Wi-Fi接入密碼后才能夠接入目標內(nèi)部網(wǎng)絡,然后再利用路由器本身的漏洞來進一步獲取其權限。
目前,SOHO路由器使用的身份認證加密算法主要包括WEP、WPA、WPA2和WPA/WPA2-PSK等。其中WEP由于受其采用的RC4的加密算法限制,攻擊者能夠非常容易的獲取到加密密鑰,安全性較差,因此已經(jīng)不再被廣泛采用了[6]。而WPA與WPA2作為目前在大部分設備中使用的加密方式,相較于WEP而言的安全性大大提高。在使用較復雜密碼的情況下,單純依靠暴力破解的攻擊方式則需要較長時間。然而,由于一般用戶的安全意識較弱,在設置密碼時仍有不少不良習慣,包括簡短的數(shù)字組合、電話號碼、生日等容易被猜測的密碼。因此攻擊者可以收集到用戶相關信息,輔以社會工程學的方法,創(chuàng)建有針對性的字典,從而實施高效的暴力破解。此外,攻擊者還可以利用現(xiàn)今越來越強大的分布式云架構(gòu)和大數(shù)據(jù)平臺來生成以前無法想象的大容量彩虹表(Rainbow Table),然后在后臺進行離線暴力破解[7]。
即使用戶為Wi-Fi的身份驗證設置了非常復雜的密碼組合,還是仍然有被破解的可能性,這是因為目前的路由器廠商為簡化終端接入路由器的過程而引入了WPS(Wi-Fi Protected Setup)技術,即Wi-Fi安全防護設定。用戶僅需按下無線路由器上的WPS按鈕或者輸入正確的PIN碼,即可完成無線密碼的驗證,從而在客戶端與路由器之間建立安全鏈接。首先,PIN碼一共8位,其中最后一位為校驗位,因此在破解時只需考慮前7位即可;接著,如果PIN碼的前4位驗證失敗,路由器就會向客戶端發(fā)送EAP-NACK信息;因此,最終攻擊者僅需要在找到一個前4位和后3位的PIN碼組合即可,大約有1 1000(104+103)種可能[8]。在實際破解中,攻擊者通常平均只需要嘗試5 500次就可以完成Wi-Fi身份驗證的密碼破解。此外,某些SOHO路由器,比如貝爾金(Belkin)路由器,還會將WPS的密鑰生成算法固化在硬件中,一旦被攻擊者獲知之后,就可以基于該算法進行快速破解。
2.2Web配置界面漏洞利用技術
攻擊者可以通過SQL注入非法獲取或修改路由器中包括用戶身份在內(nèi)的數(shù)據(jù)庫內(nèi)容。而借助CSRF,攻擊者則可通過在網(wǎng)頁中注入惡意JavaScript代碼,在用戶使用瀏覽器期間自動運行,以借用用戶身份,訪問受限的Web頁面(管理界面等),從而達到修改路由器配置的目的。這些攻擊所引發(fā)的路由器數(shù)據(jù)泄漏和配置修改,會引發(fā)后續(xù)的DNS劫持等更多高威脅、持續(xù)性的攻擊。
近年來,典型的Web配置界面漏洞利用示例如下:
●TEW-654TR路由器的登錄頁面(/my_cgi.cgi)存在SQL注入漏洞,輸入類似“'or'1'='1”這樣的萬能密碼即可繞過登錄驗證進入Web管理界面[10]。
●D-Link DSR系列路由器的登錄腳本(/scgi-bin/platform. cgi)不正確過濾用戶提交的輸入,允許遠程攻擊者利用漏洞提交定制的SQL查詢來繞過驗證[11]。
●D-Link DIR-320路由器的腳本(/model/__show_info.php)存在文件包含漏洞,可被攻擊者利用讀取系統(tǒng)敏感配置文件[12]。
●TP-Link TL-WR840N系列路由器存在CSRF漏洞,攻擊者可以誘使路由器管理員訪問一個惡意的網(wǎng)站,然后利用這個漏洞導入一個攻擊者構(gòu)造的配置文件,從而可以修改包括路由器的防火墻、遠程管理等所有的配置項[13]。
2.3緩沖區(qū)溢出型漏洞利用技術
緩沖區(qū)溢出攻擊的原理是在將大緩沖區(qū)向小緩沖區(qū)復制的過程中,由于對小緩沖區(qū)的邊界未經(jīng)檢查或檢查不嚴格,導致小緩沖區(qū)不足以接收整個大緩沖區(qū)的數(shù)據(jù),從而使得超出部分覆蓋了與小緩沖區(qū)相鄰的內(nèi)存中其他數(shù)據(jù),最終引發(fā)內(nèi)存溢出問題。攻擊者利用這一點就能夠使得正常執(zhí)行的程序流程跳轉(zhuǎn)到攻擊者所指定的代碼(通常為精心編寫的Shellcode)上去,從而對路由器設備造成嚴重后果,比如拒絕服務、執(zhí)行遠程Shell,獲得用戶級權限、甚至是系統(tǒng)級別的權限。
現(xiàn)今針對SOHO路由器的緩沖區(qū)溢出漏洞攻擊大多數(shù)還是棧溢出攻擊。但與傳統(tǒng)PC采用的x86/x64架構(gòu)復雜指令系統(tǒng)不同,大多數(shù)采用Linux嵌入式操作系統(tǒng)的SOHO路由器使用的是MIPS指令系統(tǒng),該指令系統(tǒng)屬于精簡指令系統(tǒng)。MIPS32架構(gòu)的函數(shù)調(diào)用方式雖然與x86/x64系統(tǒng)有很大的區(qū)別,比如沒有EBP (棧底指針)寄存器,通過$a0~$a3等寄存器而非堆棧來傳遞函數(shù)參數(shù),將葉子函數(shù)的返回地址直接存入$ra寄存器中等等。但是通過研究分析發(fā)現(xiàn),傳統(tǒng)的針對x86/x64的棧溢出攻擊對MIPS系統(tǒng)仍然有效:只要所調(diào)用的函數(shù)中是非葉子函數(shù),并且有緩沖區(qū)溢出漏洞,就可以覆蓋父函數(shù)的返回地址,從而劫持程序執(zhí)行流程;而在葉子函數(shù)中,如果存在可以溢出大量數(shù)據(jù)的情況,那么也存在覆蓋父函數(shù)返回地址達到劫持程序執(zhí)行流程的可能性。
針對SOHO路由器的棧溢出漏洞攻擊主要面對的挑戰(zhàn)是目標系統(tǒng)中啟用的DEP(Data Executive Protection,數(shù)據(jù)執(zhí)行保護)技術。DEP的基本原理是將數(shù)據(jù)所在的內(nèi)存頁,包括棧和堆等,設置NX/XD屬性標記來指明不能從該內(nèi)存執(zhí)行代碼,這樣當程序產(chǎn)生溢出,惡意代碼試圖在數(shù)據(jù)段執(zhí)行指令的時候,CPU就會產(chǎn)生異常而不去執(zhí)行指令。因此,攻擊者需要利用ROP(Return-Oriented Programming,返回導向編程)技術,在堆棧中構(gòu)造一連串的參數(shù)和返回地址,利用目標系統(tǒng)中已加載的合法模塊中的指令片斷完成特定的Shellcode功能,從而繞過DEP防護機制。
●針對SOHO路由器的ROP技術
和其他程序一樣,SOHO路由器所加載的程序里一般都會包含大量的返回指令,如“jr$ra”等,它們往往位于函數(shù)的尾部,或者函數(shù)中部需要返回的地方,從某個地址到“jr$ra”指令之間的二進制序列被稱之為“gadget”。所謂的ROP技術就是攻擊者事先搜索程序內(nèi)存空間中所有以這種返回指令結(jié)尾的gadget代碼片斷,使其按照前后順序依次拼接起來,完成諸如內(nèi)存讀寫、算術邏輯運算、控制流程跳轉(zhuǎn)、函數(shù)調(diào)用等特定功能的操作,并最終組合起來完成復雜的功能[14]。為了將目標系統(tǒng)中的各個gadget代碼塊拼接起來,需要使用一個事先準備好、包含各條指令結(jié)束后下一條指令地址的特殊返回棧。攻擊者會構(gòu)造一個特殊輸入向量以填充函數(shù)的??臻g。首先,讓指向攻擊者所構(gòu)造的棧的指針跳到gadget A中,在執(zhí)行完gadget A中的代碼序列后,通過位于gadget A尾部的jr$ra回到棧中,然后再執(zhí)行gadget B,執(zhí)行后跳到gadget C,這樣依次進行下去。因此,只要目標棧的容量足夠大,就一定能夠達到完成全部功能代碼(Shellcode)執(zhí)行的目的。
ROP技術利用的一個難點在于,要在整個內(nèi)存空間中搜索所需要的gadget代碼鏈需要花費很長的時間。但一旦完成了“搜索”和“拼接”,那么這樣的攻擊將是難以抵擋的,因為它是用的都是內(nèi)存中的合法代碼。值得注意的是,ROP技術具備圖靈完整性,也就是說,如果程序能實現(xiàn),那么ROP就肯定有一個對應的序列及堆棧。而現(xiàn)今絕大多數(shù)存在漏洞的SOHO路由器程序,攻擊者通過ROP技術基本都可以構(gòu)造出一個完整的gadget代碼序列出來[15]。
2.4固有后門型漏洞利用技術
SOHO路由器的固有后門漏洞指的是路由器廠商開發(fā)的產(chǎn)品本身存在出廠后門設置,攻擊者可以利用該后門繞過安全控制來獲取路由器的訪問控制權限。這類漏洞往往是由于路由器生產(chǎn)廠商在開發(fā)、管理和控制時候為了方便而引入的,也有可能是發(fā)布產(chǎn)品時出于某種目的而遺留的問題。
近幾年被曝出有后門的路由器就覆蓋了包括D-Link、Tenda、Linksys、Netgear、Netcore/Netis、ZTE、Cisco在內(nèi)的等多家國內(nèi)外知名廠商,如下所列:
●D-LINK(友訊)DIR-100系列路由器的Web服務器程序(/bin/webs)后門。攻擊者只需將瀏覽器的User-Agent字段修改為“xmlset_roodkcableoj28840ybtide”后訪問路由器,即可無需經(jīng)過驗證訪問路由器的Web管理界面修改設備設置[16]。
●NetCore(磊科)路由器的IGDMPTD程序后門。該程序會隨路由器啟動,并在公網(wǎng)上開放53413端口,存在一個“硬編碼”寫入設備固件的后門口令(從第9個字節(jié)開始的“netcore”字符串)[17]。攻擊者可利用該后門口令登錄路由器后讀取系統(tǒng)文件,執(zhí)行任意系統(tǒng)命令,從而控制路由器。
●Tenda(騰達)多款路由器的后門。如果設備收到以字符串“w302r_mfg”為開頭的一個UDP數(shù)據(jù)包,即可觸發(fā)此漏洞執(zhí)行各類系統(tǒng)命令[18]。
●ZTE(中興)F460/F660系列SOHO路由器的后門。任何用戶都可以直接訪問該設備一個命令執(zhí)行的Web界面(/web_shell _cmd.gch),以root權限執(zhí)行任意命令[19]。
當攻擊者獲得目標路由器的權限之后,就可以將定制好的后門程序植入到路由器之中,達到長期駐留及隱蔽控制的目的,其中涉及到路由器后門的植入駐留技術以及路由器后門的定制開發(fā)技術。
目前市面上的SOHO路由器按照運行的系統(tǒng)大致可以分為兩類:基于嵌入式Linux的分時操作系統(tǒng)以及基于Vxworks、uC/ OS-II、Zynos之類的實時操作系統(tǒng)。有研究人員對目前市面上兩萬多種路由器固件進行了分析識別,在不考慮不能識別系統(tǒng)類型的部分路由器固件情況下,基于Vxworks實時操作系統(tǒng)的設備不超過7%,因此絕大多數(shù)嵌入式設備都是基于Linux的分時操作系統(tǒng),或者類Unix系統(tǒng)[20]。考慮到系統(tǒng)類型不同,不同路由器涉及到的具體后門駐留技術與實現(xiàn)方法亦不盡相同。
3.1路由器后門的植入駐留技術
由于SOHO路由器的文件系統(tǒng)會在上電后由Bootloader從可讀寫的FLASH閃存動態(tài)加載進內(nèi)存之中,對內(nèi)存所做的任何修改都會在系統(tǒng)重啟后消失,而FLASH中存儲的根文件系統(tǒng)一般都是不可修改寫入的,因此在一般情況下,攻擊者都是通過固件升級的方法來實現(xiàn)路由器后門的植入和駐留的。
對于基于嵌入式Linux系統(tǒng)的SOHO路由器而言,由于這類路由器有著Linux系統(tǒng)的共性,其固件中一般包含有完整的文件系統(tǒng),因此攻擊者可以通過解包固件來獲得完整的文件系統(tǒng),然后將已經(jīng)編譯好的后門程序放置進去,并對固件進行重新打包。現(xiàn)今常見的打包方式包括cramfs、squashfs、jffs2、cpio等。而對于基于Vxworks等實時操作系統(tǒng)的SOHO路由器來說,由于這類路由器的文件系統(tǒng)一般只存放html等類型的靜態(tài)文件,所有的可執(zhí)行代碼都放置在一個內(nèi)核之中,因此攻擊者會將編譯好的后門代碼插入到原有文件代碼的縫隙之中,并修改系統(tǒng)程序調(diào)用相關部分,從而使得插入的代碼獲得執(zhí)行。
此外,路由器的廠商為了保證固件的有效性,通常在固件刷入之前會對其進行嚴格的校驗。使用的校驗算法除常見的CRC32、md5外,還可能包含開發(fā)商自定義的校驗方法。因此,攻擊者在修改完固件之后,還需要對校驗值進行相應的修改,防止固件刷入失敗。
3.2路由器后門的定制開發(fā)技術
當攻擊者實現(xiàn)了路由器后門植入之后,就可以自由地實施各類攻擊行為,比如流量轉(zhuǎn)發(fā)、中間人劫持等,不同于漏洞,利用后門植入所進行的攻擊危害往往更大。
基于嵌入式Linux系統(tǒng)的SOHO路由器后門開發(fā)相對比較簡單,由于廠商一般會根據(jù)GPL協(xié)議公布系統(tǒng)的內(nèi)核代碼以及編譯所使用的工具鏈(ToolChain),因此可以直接使用C等高級語言進行后門程序的開發(fā)。而對于基于Vxworks等實時操作系統(tǒng)的SOHO路由器來說,由于這類系統(tǒng)的耦合度較高,系統(tǒng)閉源,加之系統(tǒng)較為精簡,缺乏可供分析調(diào)用的符號表,因此很難使用C等高級語言進行開發(fā),一般都會使用底層的匯編語言進行編寫。
雖然水平高超的攻擊者可以通過自行開發(fā)代碼來實現(xiàn)后門駐留,但目前而言,往往先通過更改系統(tǒng)的NAT(Network Address Translation,網(wǎng)絡地址轉(zhuǎn)換)表來實現(xiàn)流量的轉(zhuǎn)發(fā),并在此基礎上進一步實現(xiàn)中間人劫持、惡意代碼替換植入等行為。由于NAT表是系統(tǒng)自帶的管理工具,因此該方法具有通用、簡便、輕巧等特性,應用面極廣。例如,在基于嵌入式Linux系統(tǒng)的SOHO路由器中,可以使用系統(tǒng)自帶的iptables命令來靈活的控制NAT表的轉(zhuǎn)換策略。攻擊者可以通過添加DNAT(Destination Network Address Translation,目的地址轉(zhuǎn)換)規(guī)則來將流經(jīng)路由器系統(tǒng)的數(shù)據(jù)包轉(zhuǎn)發(fā)到攻擊者的服務器[21]。
具體來說,當路由器系統(tǒng)接收到某個匹配DNAT規(guī)則的數(shù)據(jù)包時,將會修改該數(shù)據(jù)包的目的地址為攻擊者搭設的服務器地址,從而將數(shù)據(jù)包先轉(zhuǎn)發(fā)至攻擊者服務器中;當攻擊者服務器接收到該路由器轉(zhuǎn)發(fā)的數(shù)據(jù)包后,再次轉(zhuǎn)發(fā)到真正的目的地址。不難發(fā)現(xiàn),作為中間人的攻擊者服務器可以在獲取數(shù)據(jù)包后,對其進行解析處理、信息提取、日志記錄等攻擊操作。而從目的地址返回的數(shù)據(jù)包同樣將通過攻擊者服務器后再次轉(zhuǎn)發(fā)至路由器,此時攻擊者服務器將會相應修改該返回數(shù)據(jù)包的源地址,即將攻擊者服務器地址隱藏為真實目的地地址,從而完成整個數(shù)據(jù)表的流轉(zhuǎn)過程。整個流程對于路由器用戶而言非常隱蔽,難以發(fā)現(xiàn)。
下面列舉了一些可實現(xiàn)劫持某些特定類型流量的iptables命令:
劫持DNS請求
iptables-t nat-I PREROUTING-p udp--dport 53-j DNAT --to<攻擊者服務器IP>:<攻擊者服務器監(jiān)聽端口>
劫持HTTP請求
iptables-t nat-I PREROUTING-p tcp--dport 80-j DNAT--to<攻擊者服務器IP>:<攻擊者服務器監(jiān)聽端口>
近幾年,隨著互聯(lián)網(wǎng)的大規(guī)模普及,路由器作為網(wǎng)絡基礎設施中重要的組成部分,其安全性的需求也逐年提升。不難預見,對于路由器的安全攻防,將在產(chǎn)生、發(fā)現(xiàn)、利用以及應急響應等更多層次上展開。
首先是路由器系統(tǒng)的代碼編寫安全,路由器上游廠商應當將安全審計列入系統(tǒng)開發(fā)的重要環(huán)節(jié),在源代碼級別上分析和檢查函數(shù)輸入輸出。特別是對危險函數(shù)和用戶輸入入口進行代碼審計工作,以排查安全漏洞。同時,由于目前市面上大多數(shù)基于Linux系統(tǒng)的SOHO路由器設備出于成本的考慮采用了低版本內(nèi)核,因而安全性較差。隨著類似路由器這樣的嵌入式設備性能進一步增強和元器件成本降低,廠商應引入更新版本的內(nèi)核以啟用安全增強補丁,從而實現(xiàn)內(nèi)存訪問控制和地址隨機化這樣的安全功能。
其次為了防范路由器的后門植入,目前已經(jīng)有部分廠商開始陸續(xù)將簽名校驗技術加入到了固件升級的過程之中。因此,按照這種發(fā)展趨勢,攻擊者如果無法通過特殊途徑竊取到廠商證書的話,那么就將無法把定制修改過的固件成功植入到路由器之中了。但是,攻擊者可能還會通過證書偽造的方法來繞過簽名校驗,這已經(jīng)在傳統(tǒng)的Windows惡意代碼(比如火焰病毒)中存在過成功的應用案例,未來也有可能會應用在路由器系統(tǒng)的后門攻擊之中,這的確需要安全研究人員和廠商持續(xù)跟蹤并思考對抗之策。
最后,相比與Windows或Linux主機安全而言,路由器設備的安全應急響應工作還不夠完善,存在廠商發(fā)布補丁滯后,用戶部署補丁缺乏意識、操作復雜、難以完成等問題。因此如何建立有效的安全響應機制,把損失和破壞降低到最低限度也是未來針對SOHO路由器安全防范工作的重點和難點。
[1] Cui A,Costello M,Stolfo S J.When Firmware Modifications Attack:A Case Study of Embedded Exploitation[C]//Network and Distributed System Security Symposium.San Diego,CA United States:ISOC,2013:24-27.
[2] 隋新.主機特征信息被動識別的研究與實現(xiàn)[J].科學技術與工程,2013(03):652-658.
[3] 王永杰,鮮明,王國玉等.基于指紋分析的Web服務探測技術[J].計算機工程,2005(17):26-27.
[4] Bates R,Istance H.Zooming interfaces!:Enhancing the Performance of Eye Controlled Pointing Devices[C]//Proceedings of the Fifth International ACM Conference on Assistive Technologies. Edinburgh,United Kingdom:ACM,2002:119-126.
[5] 唐有武.基于漏洞攻擊技術的路由器攻擊研究與實現(xiàn)[D].四川:電子科技大學,2012.
[6] 劉永磊,金志剛.WEP協(xié)議攻擊方法研究[J].計算機工程,2010(22):
[7] Gold S.Cracking Wireless Networks[J].Network Security,2011 (11):14-18.
[8] Zisiadis D,Kopsidas S,Varalis A.Enhancing WPS Security [C]//IFIP Networking.Prague,Czech Republic:IEEE,2012:21-23.
[9] 吳明峰,張永勝,李園園等.Web服務攻擊技術研究[J].計算機技術與發(fā)展,2012(01):213-216.
[10] Craig.Exploiting Embedded Systems[EB/OL].2011[2016-06-12].http://www.devttys0.com/2011/09/exploiting-embedded-systems-part-2/.
[11] Exploit D B.D-Link DSR Router Series-Remote Root Shell Exploit[EB/OL].2012[2016-06-18].https://www.exploit -db.com/exploits/30062/.
[12] Security Focus.Multiple D-Link DIR Series Routers'model/ __show_info.php'Local File Disclosure Vulnerability[EB/ OL].2013[2016-06-18].http://www.securityfocus.com/ bid/64043.
[13] Secure Works.TP-Link TL-WR840N Configuration Import Cross-Site Request Forgery(CSRF)[EB/OL].2015[2016-06-12]https://www.secureworks.com/research/swrx-2015 -001.
[14] 王煒,趙旭,吳少華.揭秘家用路由器0day漏洞挖掘技術[M].北京:電子工業(yè)出版社,2015:134-139.
[15] Craig.MIPS ROP IDA Plugin[EB/OL].2013[2016-06-14]. http://www.devttys0.com/2013/10/mips-rop-ida-plugin/.
[16] IceArmour.我是如何反編譯D-Link路由器固件程序并發(fā)現(xiàn)它的后門的[EB/OL].2011[2016-06-12].http://www. freebuf.com/articles/wireless/14964.htm/.
[17] 知道創(chuàng)宇.Netcore/Netis路由器后門應急概要[EB/OL]. 2015[2016-06-14].http://blog.knownsec.com/2015/01/a -brief-analysis-of-netcore-netis-leak-emergency/.
[18] Craig.From China,With Love[EB/OL].2013[2016-06-18]. http://www.devttys0.com/2013/10/from-china-with-love/.
[19] 知道創(chuàng)宇.ZTE SOHO ROUTERWEB_SHELL_CMD.GCH遠程命令執(zhí)行分析概要[EB/OL].2015[2016-06-14]. http://blog.knownsec.com/2015/01/analysis-of-zte-sohorouterweb_shell_cmd-gch-remote-command-execution/.
[20] Chen D D,Egele M,Woo M.Towards Automated Dynamic Analysis for Linux-based Embedded Firmware[C]//Network and Distributed System Security Symposium.San Diego,CA United States:ISOC,2016:21-24.
[21] 陳嵐.Iptables規(guī)則集優(yōu)化的設計與實現(xiàn)[D].湖北:武漢科技大學,2008.
Analysis and Verification of SOHO Routers Vulnerability
LI Xiang-hao,WANG Yi-jun,XUE Zhi (School of Electronic Information and Electrical Engineering,Shanghai Jiaotong University,Shanghai 200240,China)
As a network access facility,the SOHO router is highly popular in family and office today,so it’s security is of great importance.Nowadays cyber attack aiming at network equipment,especially SOHO routers,is gradually popular at home and abroad,so it is necessary to research on vulnerabilities and attacking methods,and also it is represents the general trend in the related research fields.This paper focuses on researching and concluding both the technologies and results about the SOHO router’s vulnerabilities,including remote detection technology,exploit technology,and resident backdoor technology.Firstly,the remote detection technology,which is used to accurately detect router’s type and version,is studied.Then,exploit technology is researched to get administrator privileges,even get the system authority.Finally,resident backdoor technology is is used as controlling the router covertly in a longterm based on getting the administrator privilege.This paper may provide basis SOHO router’s support in the both design and improvement of security techniques and strategy in the future.
SOHO router;remote detection;exploit;resident backdoor;analysis of vulnerability
TP316
A
1009-8054(2016)08-0095-06
?2016-03-16
李翔豪(1984—),男,碩士研究生,主要研究方向為信息安全;
王軼駿(1980—),男,碩士,講師,主要研究方向為網(wǎng)絡攻防及系統(tǒng)安全;
薛 質(zhì)(1971—),男,博士,教授,主要研究方向為計算機通信及信息安全。■