• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      消費(fèi)級路由器固件木馬分析及防護(hù)建議*

      2018-03-13 01:18:54張旭博賀彥鈞李建春
      通信技術(shù) 2018年2期
      關(guān)鍵詞:固件木馬校驗(yàn)

      張旭博,賀彥鈞,李建春

      0 引 言

      消費(fèi)級路由器相對于工業(yè)級路由器,是指用于家庭、小微企業(yè)的網(wǎng)絡(luò)接入設(shè)備,一般特指無線路由器。通過分析消費(fèi)級路由器固件組成、固件逆向流程、固件木馬產(chǎn)生原因,總結(jié)了幾點(diǎn)安全防護(hù)建議。

      1 路由器固件分析

      從固件的組成、路由器防護(hù)手段兩方面出發(fā),對路由器固件進(jìn)行簡單概述。

      路由器固件本質(zhì)是軟件,是其正常工作的系統(tǒng)軟件的集合。它以二進(jìn)制映像的形式存在于網(wǎng)絡(luò)設(shè)備的只讀ROM中,存儲設(shè)備正常運(yùn)轉(zhuǎn)所需的各個組成部分,支撐網(wǎng)絡(luò)設(shè)備穩(wěn)定運(yùn)行,并進(jìn)行相關(guān)的網(wǎng)絡(luò)尋址、數(shù)據(jù)轉(zhuǎn)發(fā)等工作。通常,它可以分為固件頭、引導(dǎo)頭、內(nèi)核、文件系統(tǒng)和應(yīng)用程序等不同部分。

      路由器的固件承載于硬件系統(tǒng)。當(dāng)前,路由器主流的CPU類型有MIPS、ARM、PowerPC和X86等??紤]功耗問題,一般家用路由器會采用低功耗的MIPS、ARM等。表1匯總了不同架構(gòu)CPU性能和能耗方面的不同[1]。本文逆向的無線路由器固件采用MIPS架構(gòu)。

      表1 不同架構(gòu)CPU比較

      針對文件系統(tǒng),常見的文件系統(tǒng)有YAFFS、JFFS2、SquashFS、CramFS、ROMFS和 XfAT等。對于大多數(shù)網(wǎng)絡(luò)設(shè)備而言,操作系統(tǒng)一般可以支撐多種不同類型的根文件,但有些操作系統(tǒng)只能支持特定根文件系統(tǒng)。常用的操作系統(tǒng)及其根文件系統(tǒng)類型,如表2所示。本文中逆向的無線路由器固件采用的是Linux操作系統(tǒng),根文件采用的是Squashfs。Squashfs是一種基于Linux內(nèi)核使用的壓縮只讀文件系統(tǒng),具有占用資源少、運(yùn)行速度快、掉電數(shù)據(jù)不丟失等特點(diǎn)。

      表2 操作系統(tǒng)及其根文件系統(tǒng)類型

      2 路由器固件分析方法

      固件分析主要通過獲取固件,對其進(jìn)行逆向、重組,了解程序執(zhí)行邏輯,獲取固件存在的漏洞。

      2.1 固件獲取

      一種方法是從購買的設(shè)備中提取固件,使用TTL調(diào)試接口連接系統(tǒng),然后使用dd命令的方式提取。另一種方法是通過拆機(jī),將存儲固件的Flash芯片從設(shè)備上取下,采用SPI Flash燒寫器提取全部Flash中的全部固件[2]。

      官方網(wǎng)站上下載,如網(wǎng)件、華碩、TP-LINK、D-Link等公司官網(wǎng)提供固件,部分提供GPL源碼下載。

      2.2 路由器固件逆向

      固件逆向的方法主要是采用工具分析、模擬路由器固件。常用的分析工具有firmware-mod-kit、binwalk、lzma、squashfs-tools和 ida等[3],模擬工具主要采用QEMU。

      首先,通過分析固件函數(shù)的調(diào)用關(guān)系和程序執(zhí)行過程,確認(rèn)執(zhí)行過程是否存在漏洞,如登錄校驗(yàn)問題、HTTP頁面問題、Telnet是否默認(rèn)開啟問題等。

      其次,通過定位一些容易出現(xiàn)問題的函數(shù),如system、strcpy、sprintf、strncpy和memcpy等,分析引用這些函數(shù)的地方,尋找命令注入、棧溢出漏洞。

      最后,利用固件解包工具binwalk,提取固件的文件結(jié)構(gòu)、程序、文件系統(tǒng)等。可以利用QEMU進(jìn)行運(yùn)行路由器固件的mips程序,動態(tài)分析具體程序的執(zhí)行過程,發(fā)現(xiàn)其運(yùn)行漏洞。

      本文提及的采用binwalk提取固件的方法,提取的固件主要包含固件頭部、文件系統(tǒng)和尾部三部分,如圖1所示。

      從提取的結(jié)果可以看出,固件采用大端,文件系統(tǒng)采用的是squashfs 3.0,如圖2所示。

      圖1 采用binwalk提取固件

      圖2 采用QEMU模擬執(zhí)行固件程序

      2.3 路由器固件重組

      通過路由器固件的分析,常見的路由器固件重組主要依賴于固件格式、首尾字段和校驗(yàn)方式等。路由器固件重組可總結(jié)為拼接法和合成法兩類。

      拼接法。對于沒有CRC或者CRC是固定值的固件,可以采用拼接法進(jìn)行固件重組。主要步驟:提取header.img;修改rootfs;利用mksquashfs等工具生成新的rootfs;填充尾部;生成新的固件。

      合成法。對于有CRC是每次重新校驗(yàn)的固件,需要采用合成法進(jìn)行重組。主要步驟:使用mkrootfs、dd工具進(jìn)行合成,生成未含CRC校驗(yàn)的固件;使用專用的appendsum工具增加校驗(yàn)值,生成新固件。

      經(jīng)過研究發(fā)現(xiàn),某些基于OPENWRT的固件校驗(yàn)算法是一致的。采用官方SDK固件編譯的校驗(yàn)算法,是用專門工具生成的。

      3 消費(fèi)級路由器固件的木馬植入流程分析

      在獲取固件漏洞的條件下,對消費(fèi)級路由器進(jìn)行木馬植入。通過總結(jié),一般的植入過程包含木馬植入、木馬運(yùn)行和請求控制3個階段。

      木馬植入階段。木馬植入程序包含后臺控制程序和前端程序。前端程序運(yùn)行于家用路由器,以3種方式存在。第一種是事先捆綁于某一正常的程序,當(dāng)該程序執(zhí)行時,捆綁的前端程序會釋放于系統(tǒng)并執(zhí)行。第二種是通過劫持系統(tǒng)的so文件,加載該so文件的程序運(yùn)行時,會執(zhí)行前端程序。一般,此類劫持會采用系統(tǒng)啟動加載的程序,如httpd等。第三種是構(gòu)造鏈接,利用wget、ftp等系統(tǒng)自帶命令,在檢測網(wǎng)絡(luò)連接可用時,下載前端程序。

      通過逆向,提取固件的文件系統(tǒng)內(nèi)容,如圖3所示。

      分析系統(tǒng)中采用uhttpd web服務(wù)器程序,對其進(jìn)行逆向分析發(fā)現(xiàn)漏洞,如圖4所示。

      圖3 通過逆向提取固件的文件系統(tǒng)內(nèi)容

      圖4 uhttpd逆向

      木馬運(yùn)行階段。木馬成功植入后,當(dāng)設(shè)定條件滿足時,木馬開始運(yùn)行。首先檢測、更改防火墻配置,使環(huán)境能滿足木馬執(zhí)行要求,然后啟動木馬程序。

      請求控制階段。木馬運(yùn)行后,等待或主動連接木馬后臺程序。該階段需要保證木馬程序運(yùn)行后對系統(tǒng)流量的影響,以及木馬程序?qū)Χ丝谡加靡妆粰z測等隱蔽問題。

      圖5為木馬植入流程??梢钥闯?,利用固件漏洞植入的木馬具有隱蔽性。

      4 消費(fèi)級路由器固件安全問題產(chǎn)生原因分析

      4.1 廠商對安全重視不夠

      由于消費(fèi)級路由器售價較低,廠商設(shè)計時對其重視不足,部分廠商的固件甚至沒有CRC校驗(yàn),同時對暴出的漏洞固件更新升級不及時。

      圖5 木馬植入流程

      4.2 系統(tǒng)裁剪

      為了節(jié)省成本,很多廠商的路由器會根據(jù)應(yīng)用場景等不同,調(diào)整ROM和RAM的容量,并根據(jù)容量不同,對路由器系統(tǒng)進(jìn)行不同程度裁剪。如果裁剪過多,可能會影響系統(tǒng)穩(wěn)定、暴露出更多安全問題。

      以Atheros AR9331為主控芯片的路由器為例,總結(jié)部分廠商產(chǎn)品的ROM、RAM的容量如表 3所示[4]。

      表3 以AR9331為主芯片的路由器RAM、RAM對比

      針對表3所示的路由器,各廠商可能會制作不同的固件,根據(jù)容量會對系統(tǒng)做不同程度裁剪。

      5 消費(fèi)級路由器固件安全性建議

      消費(fèi)級無線路由器植入的木馬一般具有隱蔽性。下面探討如何避免消費(fèi)級路由器被注入木馬,或者在植入木馬的條件下消除系統(tǒng)木馬。

      5.1 更改管理員密碼

      路由器有管理賬號,這個管理賬號需要及時修改,否則黑客會利用出廠默認(rèn)密碼登錄路由器,進(jìn)而攻擊網(wǎng)絡(luò)中的其他設(shè)備。

      5.2 更新路由器固件

      消費(fèi)級路由器木馬后門的產(chǎn)生,主要源于用戶未及時升級有安全缺陷的路由器固件,而有缺陷的路由器固件被黑客注入木馬。

      通過及時更新官網(wǎng)公布的路由器固件、補(bǔ)丁包修補(bǔ)系統(tǒng)缺陷。更新固件時,選擇不保存配置,可以清除已植入木馬的劫持,同時提高防護(hù)能力。

      5.3 關(guān)閉遠(yuǎn)程Web管理和DMZ功能

      通過關(guān)閉Web管理和DMZ功能,對路由器的管理通過本地局域網(wǎng)進(jìn)行,使互聯(lián)網(wǎng)掃描手段無法對路由器進(jìn)行掃描、探測。需要說明的是,遠(yuǎn)程Web管理和DMZ通常是關(guān)閉的。

      5.4 關(guān)閉DHCP和開啟IP MAC過濾

      DHCP用于為局域網(wǎng)內(nèi)的電腦自動分配IP地址,通過關(guān)閉DHCP功能,即使用戶破解路由器的密碼,仍無法獲取正確的IP地址,是一種較為有效的安全防護(hù)措施。

      啟用消費(fèi)級路由器中的IP地址過濾功能,僅允許IP地址在列表中的用戶訪問無線網(wǎng)絡(luò),通過在過濾規(guī)則中限定MAC地址,可以阻止非白名單列表IP、MAC對的用戶連入網(wǎng)絡(luò)。

      6 結(jié) 語

      消費(fèi)級路由器是局域網(wǎng)和外網(wǎng)的接入點(diǎn),對局域網(wǎng)的通信和數(shù)據(jù)安全至關(guān)重要,特別是黑客利用固件植入木馬,隱蔽性強(qiáng),危害大。因此,消費(fèi)級路由器的安全必須引起重視。具體地,廠商需繼續(xù)加強(qiáng)安全方面設(shè)計,將非法入侵拒之門外,而用戶需樹立安全意識,從而共同構(gòu)建一套健壯、穩(wěn)定、安全的局域網(wǎng)環(huán)境。

      [1] 鮑慶國.嵌入式設(shè)備固件分析的關(guān)鍵技術(shù)研究[D].北京:北京工業(yè)大學(xué),2016:27-33.BAO Qing-guo.Embedded Device Firmware Analysis of the Key Technologies[D].Beijing:Beijing University of Technology,2016:27-33.

      [2] 陳銘.軟件漏洞逆向分析技術(shù)研究[D].成都:電子科技大學(xué),2007:34-51.CHEN Ming.Research of Vulnerability Detection and Application with Reverse Engineering[D].Chengdu:University of Electronic Science and Technology of China,2007:34-51.

      [3] 胡剛.固件代碼逆向分析關(guān)鍵技術(shù)研究[D].鄭州:解放軍信息工程大學(xué),2011:46-52.HU Gang.Research on Key Techniques for Firm-Code Reverse Analysis[D].Zhengzhou:PLA Information Engineering University,2011:46-52.

      [4] OpenWRT.支持的路由器列表[EB/OL].[2017-10-15].http://wiki.openwrt.org/toh/start, 2017,id=ar9331.OpenWRT.List of Supported Routers.[EB/OL].[2017-10-15].http://wiki.openwrt.org/toh/start,2017,id=ar9331.

      猜你喜歡
      固件木馬校驗(yàn)
      小木馬
      騎木馬
      小木馬
      旋轉(zhuǎn)木馬
      爐溫均勻性校驗(yàn)在鑄鍛企業(yè)的應(yīng)用
      基于固件的遠(yuǎn)程身份認(rèn)證
      大型電動機(jī)高阻抗差動保護(hù)穩(wěn)定校驗(yàn)研究
      電測與儀表(2015年1期)2015-04-09 12:03:02
      基于加窗插值FFT的PMU校驗(yàn)方法
      提取ROM固件中的APP
      電腦愛好者(2015年7期)2015-04-09 08:54:02
      鍋爐安全閥在線校驗(yàn)不確定度評定
      石河子市| 奉化市| 天长市| 永善县| 沾益县| 图木舒克市| 江安县| 革吉县| 略阳县| 宜宾市| 射阳县| 南丰县| 建湖县| 舒城县| 陇南市| 建水县| 黔南| 蒙山县| 电白县| 会东县| 万载县| 忻州市| 手游| 乾安县| 白朗县| 老河口市| 泸水县| 旬阳县| 大同市| 商河县| 易门县| 邹平县| 宁海县| 苗栗市| 宁蒗| 陆川县| 连州市| 澄迈县| 项城市| 遂昌县| 秭归县|