2012-03-21 47 views
0

有些文件只能被root用戶讀取。但是,我很想知道數據恢復理論是否可以應用於強制從磁盤讀取文件。是否有可能掃描文件的字節,特別是因爲我們知道該文件存在? (與此相反,以恢復那裏的位可能會被覆蓋)是否可以使用腳本或程序強制從磁盤讀取受保護的文件?

我能想到的過程如下:

//Get the starting block location of the file 

//Read it 

// get the next block location 

// read it 

// iterate until done... 

我有兩個問題在這裏。如果有問題的文件只能被權限高於你自己的用戶讀取,這是否可能?即使如此,我將如何在代碼中執行此操作?

+1

我不認爲你可以在未經許可的情況下在磁盤上獲取文件的起始塊位置(即使繞過所有讀/寫功能,操作系統也不會告訴你它在哪裏),並且文件可能不是連續的,所以我認爲這個任務是不可能的。 – 2012-03-21 00:20:37

+1

...另外,您需要首先獲得訪問磁盤中的原始數據的權限,而在大多數情況下您不具備這些權限(即僅限於admin/root用戶)。數據的安全性操作系統取決於你無法做到這一點,一個允許你繞過權限的系統,在沒有保護的情況下,這種權限可能同樣很好。 – 2012-03-21 02:57:35

回答

2

你想要什麼需要管理訪問。如果您嘗試讀取或寫入Linux系統上的原始塊設備文件/dev/sd*/dev/hd*或其他Unix系統上的等價物,或者使用原始Windows API調用讀取塊設備,您總會發現它們需要管理權限。 (在Linux上爲CAP_SYS_RAWIO)。

此外,如果塊設備當前已安裝,則讀取的描述文件系統佈局的數據可能會從下面更改 - 這使安裝的驅動器的此方法顯着不可靠。

如果您想進一步追求,我強烈建議您查看debugfs(8) ext2,ext3,ext4調試工具。它完全在用戶空間中實現ext *系列文件系統,並允許在原始級別處理塊設備。

0

如果您可以獲取硬盤驅動器,請將其安裝爲輔助硬盤驅動器。這樣,用戶文件級別權限不會成爲問題,因爲您將是root/Administrator,並且可以根據需要chmod文件。您也可以使用dd(或其他工具)創建驅動器的取證圖像以進行位複製,然後安裝該映像並讀取/複製/檢查這些文件。

在現場操作系統上無法做到這一點。如果你可以在他不想要的時候閱讀root文件,那麼你會在操作系統中發現一個重大的安全漏洞。

0

是的,例如,如果Unix系統管理員愚蠢地離開了非信任用戶可以讀取的塊或原始設備,這是可能的。但操作系統的重點是在用戶/應用程序和系統資源(如磁盤)之間進行調解,因此默認情況下,您不會找到許多系統設置爲允許此類訪問。在Unix系統的情況下,如果/ dev中的磁盤設備不可讀,關鍵信息將不可用。例如,您無法知道文件的起始塊位置。

相關問題