• 
    

    
    

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

      BIOS Rootkit的實現(xiàn)技術(shù)

      2013-04-18 03:55:43宗俊珺
      計算機與現(xiàn)代化 2013年11期
      關(guān)鍵詞:驅(qū)動程序調(diào)用芯片

      糜 旗,宗俊珺,徐 超

      (1.北京交通大學,北京 100044;2.中國航天科技集團第八研究院上海航天動力技術(shù)研究所,上海 201109)

      0 引言

      近年來,針對計算機基本輸入輸出系統(tǒng)(Basic Input Output System,BIOS)的攻擊不斷增加。2011年9月,第一個正式的BIOS Rootkit病毒被發(fā)現(xiàn)。據(jù)分析,該病毒能夠感染電腦主板的芯片和硬盤主引導區(qū)(Main Boot Record,MBR),再控制 Windows系統(tǒng)文件,加載惡意代碼,使感染用戶無論重裝系統(tǒng)、格式化硬盤,甚至換掉硬盤都無法徹底清除病毒。于是針對BIOS的攻擊也開始逐漸引起人們的關(guān)注。

      為了減少和阻止這類攻擊,美國國家標準與技術(shù)研究院(National Institute of Standards and Technology,NIST)制定了新的安全指導方針來更新BIOS,同時NIST還要求美國高科技制造業(yè)提高BIOS的安全規(guī)范。

      1 BIOS Rootkit的基本概念

      1.1 BIOS 概念

      BIOS是計算機基本輸入輸出系統(tǒng)Basic Input-Output System的縮寫,這類程序都會刷寫到計算機主板上ROM芯片中,包含基本輸入輸出程序、通電自檢程序、啟動自舉程序和配置信息內(nèi)容。因此通常也可以把BIOS看成是一個軟件與硬件的結(jié)合體,它為主板和主要外圍設(shè)備服務(wù)[1-2]。

      當計算機開始通電啟動,中央處理器(Central Processing Unit,CPU)從主板 BIOS芯片中獲取程序代碼和配置信息,得到控制權(quán)并且發(fā)揮作用。工作流程大致為:先自檢CPU內(nèi)外部的設(shè)置,激活DRAM;然后對芯片組與外圍設(shè)備進行初始化設(shè)置;接著驅(qū)動系統(tǒng)存儲介質(zhì),最后加載操作系統(tǒng)。此時BIOS引導工作暫告一個段落,轉(zhuǎn)為后臺支持和協(xié)調(diào)。

      1.2 Rootkit概念

      Rootkit最早出現(xiàn)于20世紀90年代初,在1994年2月的一篇安全咨詢報告中首先使用了Rootkit這個名詞。這篇安全資訊就是CERT-CC的CA-1994-01,題目是 Ongoing Network Monitoring Attacks,最新的修訂時間是1997年9月19日。

      Rootkit能夠持久可靠地存在于計算機中,大部分使用了未公開的系統(tǒng)服務(wù)函數(shù),它最大的特點就是具有自我隱藏功能,無論是作為文件,處于未激活狀態(tài),還是作為進程,處于已激活狀態(tài),使用普通方法都無法檢測出。

      最早Rootkit程序是出于善意用途,但后來Rootkit也被黑客用在入侵和攻擊他人的計算機。電腦病毒、間諜軟件等也常使用Rootkit來隱藏蹤跡,因此Rootkit已被大多數(shù)的安全防護軟件歸類為具有危害性和攻擊性的惡意軟件[3]。

      1.3 BIOS Rootkit概念

      現(xiàn)在BIOS芯片大多采用可擦寫寄存器(Flash ROM)或可擦除可編程只讀寄存器(Erasable Programmable Read Only Memory,EPROM),因此可以將特定編寫的Rootkit程序作為模塊刷寫到BIOS芯片中以實現(xiàn)特殊功能。

      BIOS Rootkit將BIOS攻擊與 Rootkit技術(shù)相結(jié)合,同時擁有了程序最先啟動并固化于硬件和深層次控制操作系統(tǒng)2個優(yōu)點。由于BIOS芯片中Rootkit程序在計算機啟動的第一時間運行,因此BIOS Rootkit能在各類安全防護軟件工作之前,就已取得硬件設(shè)備和操作系統(tǒng)的控制權(quán)[4]。

      迄今為止,能夠被公開搜索到的BIOS Rootkit文獻資料,除了2007年IceLord發(fā)布過的一篇技術(shù)文章外,其他的文字材料幾乎為空白。這也使得BIOS Rootkit技術(shù)充滿著各種神秘色彩。

      2 BIOS Rootkit組成模塊

      通常一個BIOS Rootkit可以劃分成4個功能模塊,包括權(quán)限獲取、權(quán)限保持、自身隱藏和有效負載(PayLoad)。

      2.1 權(quán)限獲取模塊

      該模塊主要作用是完成BIOS代碼嵌入,實現(xiàn)對BIOS的劫持。一般有3種實現(xiàn)方法:攔截和修改Boot Block;將BIOS Rootkit作為BIOS的整體或部分功能模塊嵌入到BIOS中;設(shè)置硬件中斷,同時修改中斷處理程序的入口地址為Rootkit地址,當斷點觸發(fā)時Rootkit就被觸發(fā)。

      2.2 權(quán)限保持模塊

      該模塊主要作用是實現(xiàn)BIOS Rootkit接管權(quán)限傳遞實現(xiàn)系統(tǒng)正常啟動。實現(xiàn)方法:通過對讀入內(nèi)存的操作系統(tǒng)內(nèi)核打補丁或者對關(guān)鍵函數(shù)做HOOK。

      2.3 自身隱藏模塊

      該模塊主要作用是在BIOS與引導程序、操作系統(tǒng)內(nèi)核之間傳遞控制權(quán)時穿透操作系統(tǒng)內(nèi)核實現(xiàn)自身隱藏。實現(xiàn)方法大致與權(quán)限保持模塊相同。

      2.4 有效負載模塊

      該模塊主要作用是實現(xiàn)任何運行在被感染環(huán)境中的程序所能做的事情,并且能夠執(zhí)行動作,包括破壞刪除文件、發(fā)送敏感信息以及提供后門等。該模塊實現(xiàn)方法比較多,既可以通過調(diào)用系統(tǒng)的API函數(shù)直接實現(xiàn),也可以通過加載驅(qū)動程序或者釋放文件的方式間接實現(xiàn)。

      3 BIOS Rootkit的技術(shù)特性

      BIOS Rootkit的最顯著特性就是優(yōu)點與缺點共存。主要表現(xiàn)在BIOS Rootkit前期設(shè)計實施極為困難,但成功嵌入后破壞力又是極為驚人。主要表現(xiàn)以下幾個方面。

      3.1 BIOS Rootkit的優(yōu)點

      (1)在操作系統(tǒng)啟動之前就已獲得控制權(quán)。因為BIOS Rootkit已經(jīng)被刷寫至BIOS芯片,而BIOS芯片中的程序是在計算機啟動之前首先被執(zhí)行。

      (2)不保存在存儲介質(zhì)中。BIOS Rootkit主要存在于BIOS芯片中,而不會保存在硬盤等傳統(tǒng)的存儲介質(zhì)中。

      (3)能夠反復感染操作系統(tǒng)。簡單的分區(qū)、格式化和重裝操作系統(tǒng)對BIOS Rootkit都毫無作用,能夠再次被感染。

      (4)可以對抗幾乎所有安全防護軟件?,F(xiàn)有的主動防御軟件和殺毒軟件幾乎都基于操作系統(tǒng),對存在于芯片中的BIOS Rootkit毫無檢測和查殺能力。

      (5)檢查分析困難。BIOS Rootkit一般都會偽裝成BIOS設(shè)計規(guī)范中的標準模塊,因此檢查分析相應模塊是否為BIOS Rootkit極為困難。

      (6)清除困難。即使經(jīng)過檢查分析后,判斷芯片中存在BIOS Rootkit,一般也只能通過重新刷寫硬件的方式才能清除[5-6]。

      3.2 BIOS Rootkit的缺點

      (1)代碼編寫困難。BIOS Rootkit主要使用匯編語言編寫,并且只能調(diào)用特定的BIOS中斷調(diào)用,要求具備較高的匯編語言編程能力。

      (2)BIOS Rootkit很難同時兼容所有的主板產(chǎn)品。因為不同類型BIOS對硬件調(diào)用標準接口不相同,而不同類型主板也有可能采用不同的BIOS芯片,這就對BIOS Rootkit的編寫產(chǎn)生困難,甚至不同的主板生產(chǎn)批次都會對BIOS Rootkit有較大限制[7]。

      (3)缺少BIOS技術(shù)資料。BIOS相關(guān)技術(shù)資料一直是國外各大廠商的商業(yè)機密,因此許多產(chǎn)品特性、調(diào)用參數(shù)等資料無法被查閱到[8]。

      (4)必須熟悉操作系統(tǒng)中模式轉(zhuǎn)換、系統(tǒng)引導等問題。尤其針對未開源的Windows操作系統(tǒng),在保護模式下編寫B(tài)IOS Rootkit,實現(xiàn)控制操作系統(tǒng)流程較為困難[5,9]。

      (5)BIOS空間有限。BIOS芯片空間通常非常有限,一般容量不大于512k[10]。僅夠廠家初始寫入正常程序,剩余的可用空間往往無法再刷寫B(tài)IOS Rootkit[4-5]。

      4 實現(xiàn)功能與技術(shù)分析

      IceLord.EXE是已經(jīng)被證實可以實現(xiàn)的 BIOS Rootkit,其中含有很多先進的BIOS Rootkit實現(xiàn)技術(shù),以IceLord.EXE為例,對BIOS Rootkit進行技術(shù)分析,了解BIOS Rootkit實現(xiàn)的功能。

      2007年4月26日,IceLord(網(wǎng)名)在CSDN網(wǎng)站的博客發(fā)表了一篇名為《BIOS RootKit:Welcome Home,MyLord!》的文章。作者詳細描述BIOS Rootkit的設(shè)計理念,并提供DEMO文件下載,DEMO文件名為 IceLord.EXE。

      DEMO文件IceLord.EXE是Windows環(huán)境中PE可執(zhí)行文件[11],它由IceLord.EXE主文件和IO_HLPER.SYS、LEAVING.BIN兩個附加資源組成。當使用CMD命令行,運行 IceLord.EXE/Install時,2個附加資源會從主文件中釋放出來,然后主文件利用IO_HLPER.SYS,將LEAVING.BIN刷寫至BIOS芯片中,完成了 BIOS Rootkit的植入[6]。

      4.1 IceLord.EXE 可執(zhí)行文件

      IceLord.EXE為 Windows環(huán)境中 PE可執(zhí)行文件,主要作用是讀取和刷寫B(tài)IOS芯片。文件運行后會釋放附加資源,同時對BIOS芯片進行讀取檢測,當判斷BIOS芯片屬于可刷寫類型后,則利用驅(qū)動程序文件 IO_HLPER.SYS,將 LEAVING.BIN 刷寫至BIOS芯片中。

      4.2 IO_HLPER.SYS 驅(qū)動程序文件

      Windows操作系統(tǒng)通常都是在保護模式下運行,如果要對I/O操作則必須擁有Ring0權(quán)限或者修改I/O允許位圖設(shè)置,因此想要成功刷寫B(tài)IOS芯片必須利用驅(qū)動程序文件才能完成。IO_HLPER.SYS主要作用就是協(xié)助IceLord.EXE對BIOS芯片進行刷寫。IO_HLPER.SYS驅(qū)動程序文件通過修改I/O允許位圖設(shè)置,讀取特定的I/O端口,使IceLord.EXE在Ring3級權(quán)限下按照I/O允許位圖位置,不受限制地訪問I/O端口。

      4.3 LEAVING.BIN 模塊文件

      模塊文件是DEMO文件IceLord.EXE中最核心的部分,也是需要被植入到BIOS芯片中的文件,使用標準ISA模塊的頭部,大小是十六進制40h,也就是64×512=32k,里面自帶了一個Protector.SYS文件。

      它通過HOOK中斷向量表來實現(xiàn)BIOS Rootkit功能。當模塊文件被植入到BIOS芯片中后,工作前先保存原始INT 19H的調(diào)用地址,然后進行HOOK操作,將自定義函數(shù)地址嵌入,使其中斷向量指向自定義程序所在地址97C000A2[12],即物理內(nèi)存地址0x00097ca2處。如果系統(tǒng)調(diào)用INT 19H中斷,則自動忽略INT 19H,執(zhí)行New_int19h函數(shù),對INT 13H再進行HOOK操作。

      Int 13H是BIOS中斷類型中處理磁盤的中斷調(diào)用。通過對Int 13H中斷調(diào)用,對磁盤中特定Rootkit程序進行查找,如果不存在,則使用默認BIN模塊文件中的Protector.SYS,然后修改Windows相關(guān)啟動鏈表的方式,完成內(nèi)核Rootkit程序的寫入操作[5]。

      5 結(jié)束語

      BIOS Rootkit作為Rootkit中的特殊類型,具有極強隱蔽性和較大破壞力,幾乎可以躲過現(xiàn)有的任何計算機安全檢測軟件的檢測。隨著BIOS Rootkit技術(shù)不斷被突破,計算機的安全隱患也將越來越多[13-14]。

      在2011年4月,NIST已經(jīng)針對臺式機和筆記本電腦發(fā)布了BIOS安全標準,并且美國國土安全局要求聯(lián)邦政府使用該安全標準作為購買筆記本和臺式機的基準。從NIST的文件中顯示,在未來美國政府對計算機和服務(wù)器的購買(無論是基本服務(wù)器、管理服務(wù)器還是刀片服務(wù)器)都會檢查其購買的設(shè)備是否能夠“身份驗證BIOS更新機制”、“安全本地更新機制”,以及是否存在“固件完整性保護”和“非繞過功能”。而中國也應盡快發(fā)布相關(guān)的安全標準,同時研制可產(chǎn)品化的檢查防范技術(shù)。

      [1]陳文欽.BIOS研發(fā)技術(shù)剖析[M].北京:清華大學出版社,2001.

      [2]彭毅.BIOS Rootkit及其檢測技術(shù)的研究[D].重慶:重慶大學,2008.

      [3]崔甲.Rootkit的分類方法和檢測技術(shù)研究[D].成都:電子科技大學,2007.

      [4]王靜,吳偉民,賴天武,等.BIOS后門分析[J].計算機應用,2006,26(S2):96-99.

      [5]韓宇.基于AWARD主板的BIOS Rootkit檢測技術(shù)研究[D].蘭州:蘭州大學,2011.

      [6]IceLord.BIOS RootKit:Welcome Home,My Lord![EB/OL].http:∥blog.csdn.net/icelord/2007,2008-05-06.

      [7]ACPI.ACPI Specification[EB/OL].http://www.acpi.info,2013-05-20.

      [8]Award.Award BIOS Editor 1.0[EB/OL].http://awdbedit.sourceforge.net/,2008-05-06.

      [9]Heasman J.Implementing and Detecting a PCI Rootkit[M].Blackhat Federal,2006.

      [10]郭斌.基于I386EX和IPSec的安全的實時嵌入式網(wǎng)絡(luò)系統(tǒng)的設(shè)計[D].成都:西南交通大學,2013.

      [11]李月鋒.基于行為監(jiān)測的Anti-R/Bootkit的研究與實現(xiàn)[D].合肥:中國科學技術(shù)大學,2009.

      [12]王文宇.基于Rootkit技術(shù)的終端安全防護研究[J].計算機安全,2011(11):32-36.

      [13]周振柳,劉寶旭,池亞平,等.計算機BIOS安全風險分析與檢測系統(tǒng)研究[J].計算機工程,2007,33(16):114-116.

      [14]Emmerik van M.Static Assignment for Decompilation:Formal Abstraction of Semantics for Detecting[D].Brisbane,Australia:University of Queensland,2007.

      猜你喜歡
      驅(qū)動程序調(diào)用芯片
      核電項目物項調(diào)用管理的應用研究
      LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
      基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
      芯片測試
      多通道采樣芯片ADS8556在光伏并網(wǎng)中的應用
      74HC164芯片的應用
      河南科技(2014年10期)2014-02-27 14:09:18
      利用RFC技術(shù)實現(xiàn)SAP系統(tǒng)接口通信
      驅(qū)動程序更新與推薦
      驅(qū)動程序更新與推薦
      驅(qū)動程序更新與推薦
      泗阳县| 巫山县| 泽库县| 丰原市| 峨眉山市| 湖口县| 崇信县| 黑山县| 都安| 沈阳市| 株洲市| 奈曼旗| 金溪县| 岐山县| 澄城县| 阿克| 康保县| 磐安县| 夏津县| 浠水县| 邛崃市| 霍城县| 双江| 郓城县| 东至县| 滨州市| 新安县| 澳门| 酉阳| 安仁县| 普定县| 灵武市| 师宗县| 虞城县| 杭锦后旗| 宁河县| 五华县| 晋江市| 西乌| 洞口县| 本溪市|