天天看點

記憶體洩露工具

<a href="http://www.porcupine.org/forensics/forensic-discovery/">http://www.porcupine.org/forensics/forensic-discovery/</a>

<a href="http://sourceforge.net/projects/memsniff/">http://sourceforge.net/projects/memsniff/</a>

<a href="http://www.porcupine.org/forensics/tct.html">http://www.porcupine.org/forensics/tct.html</a>

使用TCT緊急恢複

<a href="http://www.wangchao.net.cn/bbsdetail_1455374.html">http://www.wangchao.net.cn/bbsdetail_1455374.html</a>

系統遭受入侵以後的緊急恢複

<a href="http://www.host01.com/article/server/00070002/054241725524838.htm">http://www.host01.com/article/server/00070002/054241725524838.htm</a>

The Linux and Unix Menagerie: Using TCT To Recover Lost Data On unix or linux

<a href="http://www.host01.com/Print.html?43881,3">UNIX應急響應攻略</a>

<a href="http://203.208.39.132/search?q=cache:QjXvwP3AnZQJ:www.host01.com/Print.html%3F43881,3+tct+ils&amp;cd=1&amp;hl=zh-CN&amp;ct=clnk&amp;gl=cn&amp;st_usg=ALhdy297sKF0-2icPpeshREY9NhWXMAoqA">http://203.208.39.132/search?q=cache:QjXvwP3AnZQJ:www.host01.com/Print.html%3F43881,3+tct+ils&amp;cd=1&amp;hl=zh-CN&amp;ct=clnk&amp;gl=cn&amp;st_usg=ALhdy297sKF0-2icPpeshREY9NhWXMAoqA</a>

殷聯甫  (嘉興學院資訊工程學院 314001)

摘要:在計算機驗證日益受到人們重視和關注的今天,人們對反驗證技術的研究相對較少。本文主要介紹目前常見的反驗證技術和工具,并給 出幾個實作反取讧的具體執行個體。 

關鍵詞:計算機驗證 計算機反驗證 計算機安全 計算機犯罪 

1 引言 

在計算機犯罪日益猖獗的今天,計算機驗證正日益受到人們的關注和重視。計算機驗證就是對計算機犯罪的證據進行擷取、儲存、分析和出示,它實際上是一個掃描計算機系統以及重建入侵事件的過程。與計算機驗證研究相比,人們對反驗證技術的研究相對較少。對于計算機驗證人員來說,研究反驗證技術意義非常重大,一方面可以了解入侵者有哪些常用手段用來掩蓋甚至擦除入侵痕迹:另一方面可以在了解這些手段的基礎上,開發出更加有效、實用的計算機驗證工具,進而加大對計算機犯罪的打擊力度,保證資訊系統的安全性。計算機反驗證就是删除或者隐藏入侵證據使驗證工作無效。目前的計算機反驗證技術主要有資料擦除、資料隐藏等。資料擦除是最有效的反驗證方法,它是指清除所有可能的證據(包括索引節點、目錄檔案和資料塊中的原始資料等),原始資料不存在了,驗證工作自然無法進行。資料隐藏是指入侵者将暫時還不能被删除的檔案僞裝成其他類型或者将它們隐藏在圖形或音樂檔案中,也有人将資料檔案隐藏在磁盤上的Slack空問、交換空間或者未配置設定空間中,這類技術統稱為資料隐藏。

2 資料擦除

資料擦除是阻止驗證調查人員擷取、分析犯罪證據的最有效的方法,一般情況下是用一些毫無意義的、随機産生的 ‘O’、‘1’字元串序列來覆寫媒體上面的資料,使驗證調查人員無法擷取有用的資訊。目前最極端的資料擦除工具是 Data Security Inc、開發的基于硬體的degaussers工具,該工具可以徹底擦除計算機硬碟上的所有電磁資訊。其它用軟體實作的資料擦除工具既有商業軟體包,也有開放源代碼的自由軟體,其中最有名的是基于UNIX系統的資料擦除工具 The Deft—ler’SToolkit,The Defiler’S Toolkit提供兩個工具來徹底清除UNIX類系統中的檔案内容…。

2.1 Necrofile的使用 

該工具列出并清除在指定時間範圍内被删除檔案的i節點的内容,同時清除與這些 i節點相關的資料塊的内容。這樣驗證調查人員便無法獲得檔案系統的任何證據,驗證工作自然無法正常進行。

當調用 Necrofile程式運作時,Necrofile程式首先檢查i節點表中每個 i節點的狀态,對于每個 “髒(dirty)”i節點予以特别的關注,将每個符合清除條件的“髒(dirty)”i節點的内容清空,然後再寫回到i節點表中。下面是使用Necmfile工具清除被删除檔案 i節點内容的一個例子: 

(1)第一步:用TCT工具包中的 ils工具在指定分區上查找被删除的i節點

CODE:

#./ils/dev/hda6

class|host|device|start_tlme

ils|XXX|/dev/hda6|1026771982

st_ino|st_alloc|st_uid|st_gid|st_mtime|st_atime|st_ctime|st_dtime|st_mode|/

st_nlink|st_size|st_block0|st_block1

/2|f|0|0|1026771841|1026771796|1026771958|1026771958|100644|0|86|545|0|3|f|0|0|1026771842|1026771796|1026771958|1026771958|100644|0|86|546|0

.

#

(2)第二步:用Necrofile工具定位并清除被删除i節點的内容

#./necrofile -v -v -v -v /dev/hda6

Scrubbing device:/dev/hda6

12=m:0x3d334d4d a:0x3d334d4d c:0x3d334d4f d:0x3d334d4f

13=m:0x3d334d4d a:0x3d334d4d c:0x3d334d4f d:0x3d334d4f

(3)第三步:驗證被删除i節點的内容已被清空

ils|XXX|/dev/hda6|1026772140

在上面的例子中,"ils"是 TCT工具包中的一個工具,主要功能是查找并列出指定分區上所有被删除的i節點的内容。Necrofile工具定位并覆寫由iIs查找到的所有i節點,将其内容全部清空,這樣iIs再也無法找到這些被删除的i節點。i節點的内容被清除以後,接下來的工作是要清除檔案目錄項的内容。

2.2 Klismaflle的使用 

該工具完成的主要功能是清除被删除檔案的目錄項的内容。下面是使用該工具清除被删除檔案目錄項内容的一個例子: 

(1)第一步:用fls工具列出指定分區上所有被删除的檔案目錄項

#./fls -d /dev/hda6 2

? * 0; a

? * 0; b

(2)第二步:用Klismaflle工具清除所有被删除檔案目錄項的内容

#./klismafile -v /mnt

Scrubbing device: /dev/hda6

cleansing/

- &gt; a

- &gt; b

Total files found:29

Directories checked:1

Dirents removed:26

(3)第三步:驗證被删除檔案目錄項的内容已被清空

在上面的例子中,“fls”是 TCT—UTILS軟體包中的一個工具,主要功能是檢查目錄檔案,列出被删除檔案目錄項的内容。本例中先用fls工具列出根目錄下所有被删除檔案的目錄項,然後用Klismafile工具清除所有被删除檔案目錄項的内容,最後fls再也無法看到檔案目錄項的内容。

3 資料隐藏

資料隐藏主要是阻止調查驗證人員在驗證分析階段對擷取的資料進行有效的分析。目前實作資料隐藏的常用方法主要有以下幾種。 

3.1實作資料隐藏的幾種常用方法

(1)資料加密。資料加密是用一定的加密算法對資料進行加密,使明文變為密文。但這種方法不是十分有效,因為有經驗的調查驗證人員往往能夠感覺到資料已被加密,并能對加密的資料進行有效的解密。

(2)更改檔案的擴充名。在Windows系統中,更改檔案的擴充名是一種最簡單的資料隐藏方法。例如,某人不想讓别人看到其 word文檔裡的内容 ,并且不想使其成為對自己不利的證據,那麼他可以将檔案的擴充名從.doc改為.ipg。這樣的話,無論是Internet Exploer還是圖示外觀,都顯示該檔案為一個 JPEG圖檔。對于經驗不足的調查驗證人員,可能永遠也不會想到該檔案其實是一個文檔,即使你輕按兩下該圖示,Windows也會試圖使用預設的JPEG檔案的浏覽器來打開它。

(3)隐寫術。隐寫術的意思是 “隐藏在普通的視覺之下 ”。Steganography(隐寫術)這個單詞是由希臘詞語裡的“Covered writing”轉化而來的,是指有隐藏特性的資料。密碼隐寫術或資訊僞裝夾帶技術是使用一些其他的非加密資料對目标進行隐藏,我們把這種非加密的資料稱為 “載體”。載體通常是一個多媒體檔案,可能是聲音檔案也可能是圖像檔案。

僞裝夾帶技術通常通過兩種方法對資料進行保護:第一種是使資料不可見,隐藏它的所有痕迹:第二種是對資料進行加密,其過程不僅僅是對資料進行隐藏。如果隐藏的檔案被發現,那仍需要對其進行解密才能使用。僞裝夾帶技術會給驗證調查帶來很大的麻煩。但幸運的是它的使用受到時間因素的限制,因而沒有得到廣泛的使用。如果你想要 “僞裝夾帶 ”一個檔案,那你一次隻能對一個檔案進行操作。許多事件中包含成百上千個檔案,嫌疑人不可能有時間來找到那麼多合适的載體并僞裝夾帶所有的檔案。

目前已有一些商業的隐寫術應用軟體,數字水印就是其中的一種,它主要是将資料隐藏到位圖中。

(4)改變系統環境。系統環境改變之後,系統會給出假的關于資料内容和活動的資訊。 

3.2 實作資料隐藏的具體執行個體

目前在UNIX系統中使用最廣泛的驗證分析工具是由Dan Farmer和 Wietse Venema開發的 The Coronor’s”Toolkit,即TCT工具包。盡管TCT工具包的功能非常強大,但TCT工具包存在一個緻命的缺陷,該缺陷源于它在實作時有兩個緻命的錯誤:一個錯誤是認為資料塊不能配置設定給根 i節點之前的任意 i節點:另一個錯誤是沒有考慮到壞塊 i節點。這樣使得 TCT工具無法檢查入侵者隐藏在磁盤的某個特定區域上面的資料。Runefs就是一個利用 TCT工具包的缺陷而在UNIX環境下開發成功的資料隐藏工具。

下面是一個使用 runefs工具包建立、使用隐藏空間的具體執行個體: 

(1)第一步.建立隐藏空間

#df -k /dev/hda6

Filesystem 1k-blocks Used Available Use% Mounted on

/dev/hda6 1011928 20 960504 1% /mnt

#./bin/mkrune -v /dev/hda6

+++ bb_blk +++

bb_blk - &gt; start=33275

bb_blk - &gt; end=65535

bb_blk - &gt; group=1

bb_blk - &gt; size=32261

+++

rune size:126M

/dev/hda6 1011928 129196 831328 14% /mnt

#e2fsck -f /dev/hda6

e2fsck 1.26(3-Feb-2002)

Pass1:Checking inodes,blocks,and sizes

Pass2:Checking directory strucure

Pass3:Checking directory connectivity

Pass4:Checking reference counts

Pass5:Checking group summary Information

/dev/hda6: 11/128768 files (0.0% non-conous),36349/257032 blocks

上面的操作示範了如何在磁盤上配置設定126M的隐藏空間、該隐藏空間如何被核心注冊。

(2)第二步:使用隐藏空間

#./icat /dev/hda6 1

/icat:invalid incode number:1

4 Linux環境下常見的計算機反驗證工具介紹

srm是rm指令的改進,它在删除檔案時能将檔案 

内容全部清空。

wipe工具能有效地将硬碟表面的資訊徹底清除, 

使調查驗證人員無法從硬碟上恢複任何資訊。

grind工具用一些随機數來覆寫檔案的内容,使調 

查驗證人員無法從硬碟上擷取有價值的資訊。

5 Windows環境下常見的計算機反驗證工具介紹

Diskzapper Dangemus在機器啟動過程中能自動删除硬碟上的所有資訊,無須人工幹預。Diskzapper Extreme首先生成一串随機數,然後用生成的随機數覆寫硬碟上每個扇區的内容。

SteelthDisk能隐藏計算機上所有的檔案和檔案夾,同時能删除所有線上Intemet通路記錄。

SecurelT2000是一個基于 Blowfish算法的448位強資料加密工具,能對所有的檔案和檔案夾進行加密。

Cloak是一個有效的隐寫術應用軟體,它能對檔案 

進行加密并将其隐藏在位圖檔案中。

Invisible Secrets是一個資料隐藏工具,能将一些重要資料隐藏在5種不同類型的檔案中,這 5種檔案包括:.JPEG、.PNG、.BMP、.HTML平口.WAV。

6 結束語

計算機反驗證就是删除或者隐藏入侵證據使驗證工作無效。目前的計算機反驗證技術主要有資料擦除、資料隐藏、資料加密等。對于計算機驗證人員來說,研究計算機反驗證技術意義非常重大,一方面可以了解入侵者有哪些常用手段用來掩蓋甚至擦除入侵痕迹 :另一方面可以在了解這些手段的基礎上,開發出更加有效、實用的計算機驗證工具,進而加大對計算機犯罪的打擊力度,保證資訊系統的安全性。

繼續閱讀