![[計算機]安全新技術(shù)簡介_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/19/68250936-f3f5-4f30-a245-68292b7f833b/68250936-f3f5-4f30-a245-68292b7f833b1.gif)
![[計算機]安全新技術(shù)簡介_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/19/68250936-f3f5-4f30-a245-68292b7f833b/68250936-f3f5-4f30-a245-68292b7f833b2.gif)
![[計算機]安全新技術(shù)簡介_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/19/68250936-f3f5-4f30-a245-68292b7f833b/68250936-f3f5-4f30-a245-68292b7f833b3.gif)
![[計算機]安全新技術(shù)簡介_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/19/68250936-f3f5-4f30-a245-68292b7f833b/68250936-f3f5-4f30-a245-68292b7f833b4.gif)
![[計算機]安全新技術(shù)簡介_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/19/68250936-f3f5-4f30-a245-68292b7f833b/68250936-f3f5-4f30-a245-68292b7f833b5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、.啟發(fā)式掃描傳統(tǒng)上,影音解決方案已經(jīng)強烈地依賴基于簽名的掃描,也稱為掃描字符串為基礎(chǔ)的技術(shù)。 基于簽名的掃描文件,為在給定的(通常只有在某些地區(qū)也)搜索引擎存在某些字符串。 如果這些預(yù)定義的字符串被發(fā)現(xiàn),像警報某些行動可以被觸發(fā)。 現(xiàn)代掃描基于字符串的引擎還支持通配符在掃描字符串,如使略多態(tài)惡意代碼更容易檢測。 不過,基于簽名的掃描僅檢測已知的惡意軟件,可能無法檢測到對新的攻擊的機制。啟發(fā)式掃描特征碼掃描類似,只不過不是在尋找特定的簽名,在一個不屬于典型的應(yīng)用程序中的啟發(fā)式掃描程序發(fā)現(xiàn)某些指令或命令的樣子。 因此,啟發(fā)式引擎可以發(fā)現(xiàn)潛在的,如病
2、毒,蠕蟲的分配或一個木馬程序復(fù)制機制的有效載荷在新的,以前未經(jīng)審查,惡意功能的惡意功能。他們通過運用其重量為基礎(chǔ)的系統(tǒng)和/或規(guī)則為基礎(chǔ)的系統(tǒng)(這兩個會更詳細地解釋了本文后面)這一點。 一種啟發(fā)式引擎的重量為基礎(chǔ)的系統(tǒng)為基礎(chǔ),這是一個很舊風格的方式,利率每一個具有一定重量是根據(jù)它的危險程度可能造成檢測功能。 如果這些權(quán)重的總和達到一定的門檻,也可以觸發(fā)報警?,F(xiàn)在幾乎所有使用啟發(fā)式方法實施規(guī)則為基礎(chǔ)的系統(tǒng)。 這意味著,該啟發(fā)式引擎進行分析(分析儀)組件從文件中提取一定的規(guī)則,這規(guī)則將針對惡意代碼的規(guī)則集進行比較。 如果有匹配的規(guī)則,可以觸發(fā)報警。第一啟發(fā)式檢
3、測引擎是在1989年推出DOS的病毒。 但是,現(xiàn)在存在著幾乎所有種類的病毒(即使老式的,過時的幾乎一樣嘯風/ Paix Excel4公式病毒)的啟發(fā)式引擎。 多年來,影音的發(fā)展令人印象深刻,并在運用了啟發(fā)式引擎技術(shù)已經(jīng)變得越來越復(fù)雜。 第一啟發(fā)式引擎進行簡單的字符串或模式匹配操作來檢測惡意代碼,并常常被稱為“最小化掃描字符串”啟發(fā)。 這方面的一個例子是在下面的代碼示例從VBA5串顯而易見的:Options.VirusProtection = 0此字符串禁用內(nèi)置Word97中的宏病毒保護。 一對VBA的宏病毒的啟發(fā)式引擎的很多初步遏制這條線作為掃
4、描字符串。 針對這種掃描字符串明顯的攻擊是改變了“0”表示。 另一個可能的惡意串(如在宏病毒的變種夫婦像一些W97M/Coldape所示)可能是:Options.VirusProtection = 1 AND 0這些技術(shù),這是由病毒程序員介紹,被稱為“反啟發(fā)式”技術(shù)。 他們強迫啟發(fā)式掃描引擎,更精確的表達,并分析(在0 1和0的邏輯運算結(jié)果再次)。啟發(fā)式引擎和加密的病毒從歷史上看,啟發(fā)式引擎只能評估他們看到了什么,這樣一來,加密病毒引起他們的主要問題。 在應(yīng)對這個問題,現(xiàn)代啟發(fā)式引擎,試圖找出解密循環(huán),摧毀他們,并評估加密根據(jù)附加功能檢測到的循環(huán)存在。那
5、么,如何將AV掃描儀識別加密循環(huán)(如除m68k匯編作為當前Palm OS平臺使用)? 對有以下條件/說明可能說明存在一個加密循環(huán)組合:· 初始化一個地址指針,一個有效的內(nèi)存;· 初始化一個計數(shù)器;· 內(nèi)存讀操作取決于指針;· 邏輯運算的結(jié)果在讀記憶體;· 存儲器寫操作的操作與邏輯的結(jié)果;· 操縱柜臺;以及· 根據(jù)不同的分支柜臺。一個簡單的例子,可以除m68k匯編看起來像這樣(匯編指令符合上述描述的條件/指令): 利測試(件),A0的Move.l10,d0的。循環(huán)move.b(a0的),D1的eor.b0,D1的mo
6、ve.b D1的,(a0的)+ subq.l1中,D0 bne.s 。循環(huán). 測試dc.b“加密與三次采油和重點0!” 當然,上面的例子是一個很平凡的加密循環(huán),一個是很容易被檢測到的啟發(fā)式引擎。 然而,如何實現(xiàn)加密循環(huán)可以理解是實施啟發(fā)式引擎,可以發(fā)現(xiàn)他們很能干的基礎(chǔ)。 因此,我們看到了病毒,嘗試通過插入隱藏的加密代碼或使垃圾循環(huán)加密長,所以很多啟發(fā)式引擎循環(huán)(更準確地說,分析組件)獲取混淆。如果我們在這些檢測看,我們看到,在大多數(shù)情況下,加密循環(huán)檢測是不夠精確的一個確切的分類,為多種病毒可以使用相同的加密例程。 在二元viruses世界上,我們看到了加密引擎(T
7、PE)的很多;一般而言,這些宏病毒是不符合共同的(例如,利用發(fā)動機的W97M/Pri相當頻繁)多態(tài)引擎配合使用。 因此,在檢測和清除的目的,發(fā)動機經(jīng)常交流和/或利用仿真系統(tǒng),該系統(tǒng)已在其他的事情,有能力打破和/或模擬加密程序。 加密后斷裂(即循環(huán)結(jié)束的加密已經(jīng)達到),現(xiàn)在的解碼部分的啟發(fā)式分析可以開始。 根據(jù)不同的環(huán)境中,這種仿真過程是復(fù)雜的,因此,有些平臺存在沒有充分模擬器。Visual Basic的應(yīng)用程序(VBA)和Visual Basic腳本(VBS的)是典型的復(fù)雜環(huán)境中的仿真器可以非常有助于打破加密,但是,一個完整的仿真是非常復(fù)雜的。 在大多數(shù)
8、情況下(如W97M/AntiSocial家庭,它采用加密),加密指令的數(shù)量和高如宏或自動*某些文件處理程序的典型宏已經(jīng)沒有存在的仿真器的使用,完全足以檢測這種宏病毒類。 這是顯而易見的從W97M/AntiSocial.D解密引擎采取的這個例子: 1號線中:Private Sub Document_Open():Application.EnableCancelKey = wdCancelDisabled 私人文檔處理程序Document_Open()(經(jīng)常不準確地稱為宏)的定義是不常見的應(yīng)用程序的典型,所以它應(yīng)該是一個低優(yōu)先級標記。 下一個操作禁用按'esc'
9、鍵,并具有相同的安全作為私人文件處理程序定義的風險水平,因此,應(yīng)相應(yīng)標記。 線路2:。當d = 6要ThisDocument.VBProject.VBComponents.Item(1)CodeModule.CountOfLines中:C $ =“” 此行只是初始化一個for循環(huán),取決于行數(shù)。 這樣的字符串應(yīng)該標記的啟發(fā)式引擎,為要求計數(shù)現(xiàn)有的宏代碼行是可疑的。 另外一個啟發(fā)式引擎應(yīng)該記得其中的'd'是一個整型變量,最大值,其中對代碼行數(shù)而定。 線路3:我=(ThisDocument.VBProject.VBComponents.Item(1)CodeMod
10、ule.Lines的(d,1)。) 阿行代碼,在柜臺上的不同,將讀出的宏代碼。 從計數(shù)器范圍選擇這種方式,讓每行的惡意代碼可以被訪問。 同樣,這可以被看作是一個內(nèi)存讀操作如上所述,應(yīng)標記。 此外,變量'我'應(yīng)該被存儲為一個字符串,其中包含行信息變量。 4號線:女=(中(一,二,1):對于X = 3為len(一):乙$ =升序(中(一,十,1) - f選項中:C $ = C的$染色體(乙$):下一個x:甲=加元 一組操作工作將與從上一行讀的內(nèi)容。 其實,對于啟發(fā),加密類型,發(fā)生在這里并不重要,這樣一個例行的存在是可疑夠了,應(yīng)該被標記。
11、60;對于仿真問題,加密功能分析去更深。 第5行:。ThisDocument.VBProject.VBComponents.Item(1)CodeModule.ReplaceLine D,一個:下ð:結(jié)束小組 這條線將替換現(xiàn)有的代碼(參數(shù)'D'類定義的行號和'A'定義實際內(nèi)容),是另一個關(guān)鍵的操作(相當于存儲器寫上述操作),它與一個高安全性標記風險級別。 此行還包含for循環(huán),它是用于訪問文件在一定范圍內(nèi)的所有行負責外端。 第6行:'6 Vxo | gzk和Y sktzeIruyk 及瑞/ Uvzouty4Yg | kTuxsgrVx
12、usvz及C6。 這條線(以及下面的13條線路全部)包含了這種加密代碼注釋類。 如何啟發(fā)式引擎檢測到這樣的評語,就是加密?· 相當長的字符串(即,字符由超過四十),不包含空格;· 這不是典型的啟動數(shù)字注釋;及,· 該字符串包含字母數(shù)字字符混合可疑,特殊字符和普通。即使是在這六線看,這是很明顯,這種代碼包含可疑行動,這是一個充分的理由啟發(fā)式引擎發(fā)出警報。如今,我們也看到發(fā)動機與常規(guī)檢測方法的混合啟發(fā)式檢測能力。 這意味著引擎試圖找出一個特定的功能集內(nèi)找到一個文件屬于一種特殊的類/惡意代碼的家庭。 去除能力是最經(jīng)常使用的這種由“類/家庭”
13、檢測檢測文件的類型。啟發(fā)式引擎的組件根據(jù)不同的環(huán)境和技術(shù)水平,下面的組件可以發(fā)現(xiàn)在啟發(fā)式引擎:· 變量/內(nèi)存仿真器;· 解析器;· 流量分析儀;· 分析儀;· 反匯編器/仿真器,以及,· 重量為基礎(chǔ)的系統(tǒng)和/或規(guī)則為基礎(chǔ)的系統(tǒng)。當在基于腳本的惡意代碼看,一個檢測引擎的第一步,這并不一定要作為一個啟發(fā)式引擎的一部分實現(xiàn),可能是給定的輸入文件正?;?,消除壞的格式,縮短刺激性的變量名并有選擇記號化給定的腳本。 傳統(tǒng)宏病毒時,也有工作的AV引擎,直接與PCode(一元代碼)在OLE文件結(jié)構(gòu)中。一旦文件類型確定后,啟發(fā)式引擎將檢查給定
14、文件的入口點。 在二進制文件的情況下,這是相當簡單,因為這種類型的大多數(shù)文件都有一個清晰可辨的起始點(例如Win32的體育入口點)。 基于腳本的惡意代碼,它可能有一個入口幾個百分點(如汽車*宏和文件處理程序在MS Word文檔的情侶)。 最簡單的方法顯然是要掃描完整的程序忽略程序流。 顯然,這種做法將錯過如那些之間使用宏/函數(shù)棘手的參數(shù)分析樣品,很多;因此,它通常有一個返回結(jié)果不足的高風險。每個循環(huán)的啟發(fā)式引擎主要選擇/提取信息(通常為下一個指令的操作碼,或者在腳本的惡意軟件的情況下一行),并通過指令的核心元素分析儀。 該分析儀元素,以確定操作
15、和設(shè)置標志根據(jù)這個鑒定。 此外,該模擬器與可能的變數(shù)或記憶模擬器通信通常處理分析儀的一部分。 回顧W97M/AntiSocial.D例如背部,它為分析重要的是知道該變量'D'類,如3號線和5中使用,其實不是靜態(tài)的或在代碼行數(shù)而定。 該評級是明顯較高,當變量d為不是一成不變的。評級的發(fā)現(xiàn)功能完整的程序后,進行了分析,找到的功能可以評分。 完成這個任務(wù)通常是按重量計算為基礎(chǔ)的系統(tǒng)或以規(guī)則為基礎(chǔ)的系統(tǒng)。 前者系統(tǒng)為每發(fā)現(xiàn)一個特殊的功能,只是增加了重量找到的功能權(quán)重。 這種技術(shù)是在不經(jīng)常使用的基本形式了,因為它會造成大量的誤報
16、。 對于宏病毒,傳統(tǒng)的重量為基礎(chǔ)的系統(tǒng)能夠產(chǎn)生非常高的評價,如果一個副本操作從當前文檔到全球大量文檔模板(“的Normal.dot”)被發(fā)現(xiàn)。 這個等級可能會導(dǎo)致一個警告,即使沒有其他惡意操作被發(fā)現(xiàn)。 因此,程序員必須實現(xiàn)的AV系統(tǒng),只要產(chǎn)生了特殊的條件得到滿足,因此利用啟發(fā)式影音解決方案,在以規(guī)則為基礎(chǔ)的系統(tǒng)的想法誕生了警鐘。顯然,更好的結(jié)果可以達到當使用規(guī)則為基礎(chǔ)的系統(tǒng)。 以規(guī)則為基礎(chǔ)的系統(tǒng)只是相比之下,一套規(guī)則發(fā)現(xiàn)功能。如果一個預(yù)定義的規(guī)則是在代碼中發(fā)現(xiàn),與一個積極的結(jié)果以規(guī)則為基礎(chǔ)的系統(tǒng)回報。 根據(jù)整個系統(tǒng)的精確的結(jié)果,如“一般病毒”,
17、如“VBS的/ Loveletter變種”或者是可以實現(xiàn)的。 不過,應(yīng)該不會忘記,啟發(fā)式引擎可以造成假陽性,例如,如果體重為基礎(chǔ)的系統(tǒng)進行訓(xùn)練或有錯誤在規(guī)則為基礎(chǔ)的系統(tǒng)部署壞的規(guī)則。主動防御所謂基于特征碼的精確檢測,就是指將計算機上的對象與已知病毒的模版(比如特征碼)進行對比。這項技術(shù)要求反病毒廠商不斷地發(fā)現(xiàn)、收集并分析新的威脅,并且制作出關(guān)于這些新威脅的描述及相應(yīng)的處理方法,將它們放入特征數(shù)據(jù)庫。對該方法進行評測的最主要標準就是:對新威脅的反應(yīng)速度、反病毒數(shù)據(jù)庫的更新頻率和對惡意代碼的檢測率。這種檢測方法的優(yōu)點是能夠準確地確定惡意代碼并對其進行清除。但是,它的缺點也是顯而易見的,那
18、就是滯后性-總是在新的威脅產(chǎn)生后,才能對其進行分析并生成對應(yīng)的特征碼和處理方法。但是,隨著新威脅產(chǎn)生速度的越來越快,它們能夠在很短的時間內(nèi)感染數(shù)以百萬計的計算機。因此,越來越多的反病毒廠商開始在他們的產(chǎn)品中加入主動防御技術(shù)。主動防御技術(shù)首先會構(gòu)造一個框架(類似于一個篩子的外框),并在其內(nèi)填入一組預(yù)先定義好的規(guī)則(類似于篩眼),這些規(guī)則是根據(jù)反病毒工程師在分析了超過幾十萬的大量病毒(或者說惡意程序)的代碼特征和行為特征后提煉總結(jié)出來的,因此具有很大的代表性和前瞻性。主動防御會使用這組規(guī)則對被掃描對象內(nèi)的代碼和運行的行為進行分析,以確定其是否含有惡意代碼和具有惡意行為。從理論上來看,主動防御技術(shù)能
19、夠檢測所有已知和未知惡意程序。但實際上,這是不現(xiàn)實的。我們要判斷一個主動防御技術(shù)的有效性以及它能否脫離基于特征碼的掃描技術(shù)而獨立承擔反病毒任務(wù),就需要理解主動防御技術(shù)所基于的理論。目前來看,各反病毒廠商采用的主動防御技術(shù)主要有:啟發(fā)式分析技術(shù)、入侵防御系統(tǒng)技術(shù)、緩沖區(qū)溢出檢測技術(shù)、基于策略的檢測技術(shù)、警告系統(tǒng)和行為阻止技術(shù)。卡巴斯基使用的技術(shù)主要有啟發(fā)式分析技術(shù)、入侵防御系統(tǒng)技術(shù)、警告系統(tǒng)和行為阻止技術(shù)。而總的來說,反病毒廠商使用最多的是啟發(fā)式分析和行為阻止這兩項技術(shù)。我們首先來看一下啟發(fā)式分析技術(shù)。啟發(fā)式分析技術(shù)又分為靜態(tài)分析和動態(tài)分析兩種。“靜態(tài)分析”就是指使用啟發(fā)式分析器分析被掃描對象中
20、的代碼(指令),判斷其中是否包含某些惡意的指令(反病毒程序中會定義一組預(yù)先收集到的惡意指令特征)。比如說,很多病毒會搜索可執(zhí)行文件,創(chuàng)建注冊表鍵值等行為。“靜態(tài)”啟發(fā)式分析器就會對被掃描對象中的代碼進行解釋,檢查是否包含執(zhí)行這些行為的指令,一旦找到這樣的指令,就調(diào)高“可疑分數(shù)”。當可疑分數(shù)高達一定值,就會將被掃描對象判斷為可疑的惡意程序。這種分析技術(shù)的優(yōu)點在于,對系統(tǒng)資源使用較少,但是壞處就在于誤報率太高。而“動態(tài)分析”是指由反病毒程序在計算機內(nèi)存中專門開辟一個受嚴格保護的空間(由“虛擬機”技術(shù)來實現(xiàn)),并將被檢測對象的部分代碼拷貝進這個空間,使用一定的技術(shù)手段來誘使這段代碼執(zhí)行,同時判斷其是
21、否執(zhí)行了某些惡意行為(反病毒程序中會定義一組預(yù)先收集的惡意行為特征)。一旦發(fā)現(xiàn)有匹配的惡意行為,就會報告其為對應(yīng)的惡意程序。這種技術(shù)的優(yōu)點在于準確度很高。目前卡巴斯基7.0單機版中使用的啟發(fā)式掃描技術(shù)就是基于卡巴斯基實驗室于1992年就創(chuàng)造出來并經(jīng)過多年不斷改進的虛擬機技術(shù)。接下來,我們再來看行為阻止技術(shù)。行為阻止技術(shù)是對程序的運行行為進行監(jiān)控,并對任何的危險行為進行阻止的技術(shù)。該技術(shù)與使用虛擬機技術(shù)的啟發(fā)式掃描不同,啟發(fā)式掃描是在受保護的內(nèi)存空間虛擬地運行代碼,而行為阻止技術(shù)工作在實際的計算機環(huán)境中。它會檢查包括修改(添加/刪除/編輯)系統(tǒng)注冊表、注入系統(tǒng)進程、記錄鍵盤輸入、試圖隱藏程序等在
22、內(nèi)的大量潛在惡意行為。第一代的行為阻止技術(shù),適用性并不是很強。當它檢測到一個潛在的惡意行為時,就會彈出提示窗口,提示用戶是否允許/阻止該行為。在某些時候,某些合法程序的行為也會被提示為惡意行為,這會給很多不理解這些進程及其行為的用戶帶來困擾。第二代,也是新一代的行為阻止技術(shù)在第一代技術(shù)的基礎(chǔ)上,做了很大的改進。它不會僅僅根據(jù)某個獨立的潛在惡意行為就提示風險,而是對程序行為執(zhí)行的先后順序進行分析,從而以更加智能和成熟的方式來判斷程序的行為是否有惡意。該技術(shù)大大提高了對惡意行為判斷的準確率。目前,卡巴斯基所有的產(chǎn)品中使用的就是新一代的行為阻止技術(shù)。在我們的技術(shù)中,不僅會分析/阻止惡意的行為,還能夠
23、修復(fù)惡意行為對系統(tǒng)造成的修改和破壞。從以上著重描述介紹的主動防御技術(shù)(啟發(fā)式分析技術(shù)和行為阻止技術(shù))來看,主動防御技術(shù)也需要基于一個“知識庫”進行工作。這個“知識庫”中包含了大量惡意程序的潛在惡意行為/指令特征。主動防御技術(shù)分析/監(jiān)控系統(tǒng)內(nèi)進程或程序的行為和指令,并將它們與“知識庫”中的特征進行比對,判斷是否符合。而這個“知識庫”需要反病毒專家對大量已知病毒進行分析,并且對它們的常見行為和指令進行歸納總結(jié),并將提煉出來的特征值添加入“知識庫”。說到這里,我們應(yīng)該可以想到,主動防御技術(shù)能夠防御大量使用已有惡意行為的新惡意程序。但是,如果某些新的惡意程序采用了全新的方法(不在“知識庫”中的方法)來
24、入侵、感染計算機,并盜取私密數(shù)據(jù)的話,主動防御技術(shù)仍然是無法對其進行有效防御的。因此,主動防御技術(shù)也需要不斷地更新其“知識庫”和其采用的判斷邏輯,否則可能還是會被新的威脅鉆了空子。Rookit在網(wǎng)絡(luò)安全中經(jīng)常會遇到rootkit,NSA安全和入侵檢測術(shù)語字典( NSA Glossary of Terms Used in Security and Intrusion Detection)對rootkit的定義如下:A hacker security tool that captures passwords and message traffic to and from a computer. A
25、 collection of tools that allows a hacker to provide a backdoor into a system, collect information on other systems on the network,mask the fact that the system is compromised, and much more. Rootkit is a classic example of Trojan Horse software. Rootkit is available for a wide range of operating sy
26、stems.通常,攻擊者通過遠程攻擊獲得root訪問權(quán)限,或者首先密碼猜測或者密碼強制破譯的方式獲得系統(tǒng)的訪問權(quán)限。進入系統(tǒng)后,如果他還沒有獲得root權(quán)限,再通過某些安全漏洞獲得系統(tǒng)的root權(quán)限。接著,攻擊者會在侵入的主機中安裝rootkit,然后他將經(jīng)常通過rootkit的后門檢查系統(tǒng)是否有其他的用戶登錄,如果只有自己,攻擊者就開始著手清理日志中的有關(guān)信息。通過 rootkit的嗅探器獲得其它系統(tǒng)的用戶和密碼之后,攻擊者就會利用這些信息侵入其它的系統(tǒng)。什么是rootkitRootkit出現(xiàn)于二十世紀90年代初,在1994年2月的一篇安全咨詢報告中首先使用了 rootkit這個名詞。這篇安
27、全咨詢就是CERT-CC的CA-1994-01,題目是Ongoing Network Monitoring Attacks,最新的修訂時間是1997年9月19日。從出現(xiàn)至今,rootkit的技術(shù)發(fā)展非常迅速,應(yīng)用越來越廣泛,檢測難度也越來越大。rootkit介紹Rootkit是一種奇特的程序,它具有隱身功能:無論靜止時(作為文件存在),還是活動時,(作為進程存在),都不會被察覺。換句話說,這種程序可能一直存在于我們的計算機中,但我們卻渾然不知,這一功能正是許多人夢寐以求的 不論是計算機黑客,還是計算機取證人員。黑客可以在入侵后置入Rootkit,秘密地窺探敏感信息,或等待時機,伺機而動;取證人
28、員也可以利用 Rootkit實時監(jiān)控嫌疑人員的不法行為,它不僅能搜集證據(jù),還有利于及時采取行動。!一、背景知識我們通常所說的智能機器,大至超級計算機,中到個人PC,小至智能手機,通常都有兩部分組成:硬件和軟件。并且,設(shè)備的智能是通過軟件來實現(xiàn)的。所有軟件中,有一種是必不可少的,那就是操作系統(tǒng)。操作系統(tǒng)可以簡單理解為一組高度復(fù)用的核心程序,一方面,它要管理低層的硬件設(shè)備,另一方面,為上層其它程序提供一個良好的運行環(huán)境。真是同人不同命,同為軟件,操作系統(tǒng)卻享有至高無上的特權(quán):它不僅管理硬件,而且其他所有軟件也都受制于它。因為在應(yīng)用程序和硬件之間隔著操作系統(tǒng),所以應(yīng)用程序不能直接訪問硬件,而是通過調(diào)
29、用操作系統(tǒng)提供的接口來使用硬件。也就是說,對應(yīng)用程序而言,硬件是不可見的。當然,凡事是沒有絕對的,應(yīng)用程序繞過操作系統(tǒng)來直接訪問硬件也不是不可能的,但這樣做會付出高昂的代價。設(shè)想一個軟件開發(fā)商在開發(fā)一款功能豐富的軟件,功能本身就夠他頭痛得了,現(xiàn)在他還得操心某個數(shù)據(jù)在某個磁道的某個簇上,某個字符在某品牌顯示器上的顏色的二進制代碼等等繁瑣的事情,不用說財力和物力,單說開發(fā)周期就是無法容忍的。所以,現(xiàn)在的應(yīng)用程序都是使用操作系統(tǒng)提供的簡單明了的服務(wù)來訪問系統(tǒng)的,因為畢竟沒有誰愿意自討苦吃。二、內(nèi)核的主要功能從上文中我們已經(jīng)了解,內(nèi)核在系統(tǒng)中處于核心樞紐的地位,下面我們具體介紹內(nèi)核中與Rootkit緊
30、密相關(guān)的幾個主要功能,更重要的是這些功能對Rootkit的意義所在:進程管理。進程可以簡單理解為運行中的程序,它需要占用內(nèi)存、CPU時間等系統(tǒng)資源?,F(xiàn)在的操作系統(tǒng)大多支持多用戶多任務(wù),也就是說系統(tǒng)要并行運行多個程序。為此,內(nèi)核不僅要有專門代碼來負責為進程或線程分配CPU時間,另一方面還要開辟一段內(nèi)存區(qū)域存放用來記錄這些進程詳細情況的數(shù)據(jù)結(jié)構(gòu)。內(nèi)核是怎么知道系統(tǒng)中有多少進程、各進程的狀態(tài)等信息的?就是通過這些數(shù)據(jù)結(jié)構(gòu),換句話說它們就是內(nèi)核感知進程存在的依據(jù)。因此,只要修改這些數(shù)據(jù)結(jié)構(gòu),就能達到隱藏進程的目的。文件訪問。文件系統(tǒng)是操作系統(tǒng)提供的最為重要的功能之一。內(nèi)核中的驅(qū)動程序把設(shè)備的柱面、扇區(qū)
31、等原始結(jié)構(gòu)抽象成為更加易用的文件系統(tǒng),并提供一個一致的接口供上層程序調(diào)用。也就是說,這部分代碼完全控制著對硬盤的訪問,通過修改內(nèi)核的這部分代碼,攻擊者能夠隱藏文件和目錄。安全控制。對大部分操作系統(tǒng)來說,因為系統(tǒng)中同時存在多個進程,為了避免各進程之間發(fā)生沖突,內(nèi)核必須對各進程實施有效的隔離措施。比如,在MS-Windows系統(tǒng)中,每個進程都被強制規(guī)定了具體的權(quán)限和單獨的內(nèi)存范圍。因此,對攻擊者而言,只要對內(nèi)核中負責安全事務(wù)的代碼稍事修改,整個安全機制就會全線崩潰。內(nèi)存管理?,F(xiàn)在的硬件平臺(比如英特爾的奔騰系列處理器)的內(nèi)存管理機制已經(jīng)復(fù)雜到可以將一個內(nèi)存地址轉(zhuǎn)換成多個物理地址的地步。舉例來說,進
32、程A按照地址 0x0030030讀取內(nèi)存,它得到值的是“飛機”;然而,進程B也是按照同樣的地址0x0030030來讀取內(nèi)存,但它取得的值卻是“大炮”。像上面這樣,同一個地址指向截然不同的兩個物理內(nèi)存位置,并且每個位置存放不同的數(shù)據(jù)這種現(xiàn)象并不足以為怪只不過是兩個進程對虛擬地址到物理地址進行了不同的映射而已。如果這一點利用好了,我們可以讓Rootkit躲避調(diào)試程序和取證軟件的追蹤。上面介紹了內(nèi)核的主要功能,以及它們對 Rootkit的重大意義。說到這里,我們就要切入正題了,即:只要我們顛覆(即修改)了操作系統(tǒng)的核心服務(wù)(即內(nèi)核),那么整個系統(tǒng)包括各種應(yīng)用就完全處于我們的掌控之下了。要想顛覆內(nèi)核,
33、前提條件是能把我們的代碼導(dǎo)入內(nèi)核。其中針對SunOS和Linux兩種操作系統(tǒng)的rootkit最多(樹大招風:P)。所有的rootkit基本上都是由幾個獨立的程序組成的,一個典型rootkit包括:1 以太網(wǎng)嗅探器程程序,用于獲得網(wǎng)絡(luò)上傳輸?shù)挠脩裘兔艽a等信息。2 特洛伊木馬程序,例如:inetd或者login,為攻擊者提供后門。3 隱藏攻擊者的目錄和進程的程序,例如:ps、netstat、rshd和ls等。4 可能還包括一些日志清理工具,例如:zap、zap2或者z2,攻擊者使用這些清理工具刪除wtmp、utmp和lastlog等日志文件中有關(guān)自己行蹤的條目。一些復(fù)雜的rootkit還可以向攻
34、擊者提供telnet、shell和finger等服務(wù)。還包括一些用來清理/var/log和/var/adm目錄中其它文件的一些腳本。攻擊者使用rootkit中的相關(guān)程序替代系統(tǒng)原來的ps、ls、netstat和df等程序,使系統(tǒng)管理員無法通過這些工具發(fā)現(xiàn)自己的蹤跡。接著使用日志清理工具清理系統(tǒng)日志,消除自己的蹤跡。然后,攻擊者會經(jīng)常地通過安裝的后門進入系統(tǒng)查看嗅探器的日志,以發(fā)起其它的攻擊。如果攻擊者能夠正確地安裝rootkit并合理地清理了日志文件,系統(tǒng)管理員就會很難察覺系統(tǒng)已經(jīng)被侵入,直到某一天其它系統(tǒng)的管理員和他聯(lián)系或者嗅探器的日志把磁盤全部填滿,他才會察覺已經(jīng)大禍臨頭了。但是,大多數(shù)攻
35、擊者在清理系統(tǒng)日志時不是非常小心或者干脆把系統(tǒng)日志全部刪除了事,警覺的系統(tǒng)管理員可以根據(jù)這些異常情況判斷出系統(tǒng)被侵入。不過,在系統(tǒng)恢復(fù)和清理過程中,大多數(shù)常用的命令例如ps、df和ls已經(jīng)不可信了。許多rootkit中有一個叫做FIX的程序,在安裝rootkit之前,攻擊者可以首先使用這個程序做一個系統(tǒng)二進制代碼的快照,然后再安裝替代程序。FIX能夠根據(jù)原來的程序偽造替代程序的三個時間戳(atime、ctime、mtime)、date、permission、所屬用戶和所屬用戶組。如果攻擊者能夠準確地使用這些優(yōu)秀的應(yīng)用程序,并且在安裝rootkit時行為謹慎,就會讓系統(tǒng)管理員很難發(fā)現(xiàn)。LINUX
36、 ROOTKIT IV前面說過,大部分rootkit是針對Linux和SunOS的,下面我們介紹一個非常典型的針對Linux系統(tǒng)的rootkit-Linux Rootkit IV。Linux Rootkit IV是一個開放源碼的rootkit,是Lord Somer編寫的,于1998年11月發(fā)布。不過,它不是第一個Linux Rootkit,在它之前有l(wèi)rk、lnrk、lrk2和lrk3等Linux Rootkit。這些rootkit包括常用的rootkit組件,例如嗅探器、日志編輯/刪除工具、和后門程序的。經(jīng)過這么多年的發(fā)展,Linux Rootkit IV功能變的越來越完善,具有的特征也越
37、來越多。不過,雖然它的代碼非常龐大,卻非常易于安裝和使用,只要執(zhí)行make install就可以成功安裝。如果你還要安裝一個shadow工具,只要執(zhí)行make shadow install就可以了。注意:Linux Rootkit IV只能用于Linux 2.x的內(nèi)核。下面我們簡單地介紹一下Linux Rootkit IV包含的各種工具,詳細的介紹請參考其發(fā)布包的README文件。隱藏入侵者行蹤的程序為了隱藏入侵者的行蹤,Linux Rootkit IV的作者可謂煞費心機,編寫了許多系統(tǒng)命令的替代程序,使用這些程序代替原由的系統(tǒng)命令,來隱藏入侵者的行蹤。這些程序包括:ls、find、du這些程
38、序會阻止顯示入侵者的文件以及計算入侵者文件占用的空間。在編譯之前,入侵者可以通過 ROOTKIT_FILES_FILE設(shè)置自己的文件所處的位置,默認是/dev/ptyr。注意如果在編譯時使用了SHOWFLAG選項,就可以使用 ls -/命令列出所有的文件。這幾個程序還能夠自動隱藏所有名字為:ptyr、hack.dir和W4r3z的文件。ps、top、pidof這幾個程序用來隱藏所有和入侵者相關(guān)的進程。netstat隱藏出/入指定IP地址或者端口的網(wǎng)絡(luò)數(shù)據(jù)流量。killall不會殺死被入侵者隱藏的進程。ifconfig如果入侵者啟動了嗅探器,這個程序就阻止PROMISC標記的顯示,使系統(tǒng)管理員難
39、以發(fā)現(xiàn)網(wǎng)絡(luò)接口已經(jīng)處于混雜模式下。crontab隱藏有關(guān)攻擊者的crontab條目。tcpd阻止向日志中記錄某些連接syslogd過濾掉日志中的某些連接信息木馬程序為本地用戶提供后門,包括:chfn提升本地普通用戶權(quán)限的程序。運行chfn,在它提示輸入新的用戶名時,如果用戶輸入rookit密碼,他的權(quán)限就被提升為root。默認的rootkit密碼是satori。chsh也是一個提升本地用戶權(quán)限的程序。運行chsh,在它提示輸入新的shell時,如果用戶輸入rootkit密碼,他的權(quán)限就被提升為root。passwd和上面兩個程序的作用相同。在提示你輸入新密碼時,如果輸入rookit密碼,權(quán)限就
40、可以變成root。login允許使用任何帳戶通過rootkit密碼登錄。如果使用root帳戶登錄被拒絕,可以嘗試一下rewt。當使用后門時,這個程序還能夠禁止記錄命令的歷史記錄。木馬網(wǎng)絡(luò)監(jiān)控程序這些程序為遠程用戶提供后門,可以向遠程用戶提供inetd、rsh、ssh等服務(wù),具體因版本而異。隨著版本的升級,Linux Rootkit IV的功能也越來越強大,特征也越來越豐富。一般包括如下網(wǎng)絡(luò)服務(wù)程序:inetd特洛伊inetd程序,為攻擊者提供遠程訪問服務(wù)。rshd為攻擊者提供遠程shell服務(wù)。攻擊者使用rsh -l rootkitpassword host command命令就可以啟動一個遠
41、程root shell。sshd為攻擊者提供ssh服務(wù)的后門程序。工具程序所有不屬于以上類型的程序都可以歸如這個類型,它們實現(xiàn)一些諸如:日志清理、報文嗅探以及遠程shell的端口綁定等功能,包括:fix文件屬性偽造程序linsniffer報文嗅探器程序。sniffchk一個簡單的bash shell腳本,檢查系統(tǒng)中是否正有一個嗅探器在運行。wtedwtmp/utmp日志編輯程序。你可以使用這個工具編輯所有wtmp或者utmp類型的文件。z2utmp/wtmp/lastlog日志清理工具??梢詣h除utmp/wtmp/lastlog日志文件中有關(guān)某個用戶名的所有條目。不過,如果用于Linux系統(tǒng)需要手工修改其源代碼,設(shè)置日志文件的位置。bindshell rootkit在某個端口上綁定shell服務(wù),默認端口是12497。為遠程攻擊者提供shell服務(wù)。如何發(fā)現(xiàn)rootkit很顯然,只有使你的網(wǎng)絡(luò)非常安全讓攻擊者無隙可乘,才能是自己的網(wǎng)絡(luò)免受rootkit的影響。不過,恐怕沒有人能夠提供這個保證,但是在日常的網(wǎng)絡(luò)管理維護中保持一些良好的習慣,能夠在一定程度上減小由rootkit造成的損失,并及時發(fā)現(xiàn)rootkit的存在。首先,不要在網(wǎng)絡(luò)上使用明文傳輸密碼,或者使用一次性密碼。這樣,即使你的系統(tǒng)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度低壓供用電智能巡檢服務(wù)協(xié)議
- 戶外運動中心裝修貸款協(xié)議
- 二零二五年度北京市連鎖店店鋪裝修工程款項支付合同
- 醫(yī)療設(shè)備運輸保險合同
- 2025年度建筑安全設(shè)備監(jiān)理人員費用協(xié)議
- 商鋪租賃協(xié)議書詳細條款
- 親子超市采購合同范例
- 公司公寓合同范例
- 中糧集團合同范例
- 付全款訂單合同范例
- 模塊三 Word 2016的應(yīng)用
- 小學(xué)科學(xué)說課稿
- 泛光照明技術(shù)標準
- 醫(yī)學(xué)課件尿微量白蛋白
- (7.1.19)-日本園林-以京都龍安寺為例
- 新版GMP解讀(無菌制劑)-課件
- 傳統(tǒng)服飾專題創(chuàng)新設(shè)計-山東工藝美術(shù)學(xué)院中國大學(xué)mooc課后章節(jié)答案期末考試題庫2023年
- 中國倫理思想史PPT完整全套教學(xué)課件
- QC成果提高結(jié)構(gòu)樓板平整度合格率
- 第四屆博德世達杯全國石油工程知識競賽樣題及答案模板
- 宋錦的形成和興起
評論
0/150
提交評論