當你的u盤,行動硬碟遺失了,被盜了,或者是遺忘在公共場所,裡面的資料就會完全被別人窺探,如果涉及一些隱私,機密,那後果是很嚴重的。本課題就是在這樣乙個情況下產生的。這裡剖析的只是乙個最初的演示原型,詳細設計,以及一些細節可以參考源**。源**在winxp,vc6.0編譯通過。
1、訪問登錄檔讀取計算機上的移動儲存裝置
在登錄檔
1.
hkey_local_machine\system\currentcontrolset\services\disk\enum
下面可以看到計算機當前的狀態,這裡可以看到所有的儲存裝置的情況,包括計算機的硬碟,通過情況下,名稱為0的是計算機硬碟,所以在列出的選擇裝置時,會把名稱為0的遮蔽,不然太危險,一旦造成系統的破壞,後果會很麻煩。對登錄檔的讀寫:
01.
hkey
hkey;
02.
char
sz[256];
03.
dword
dwtype,sl = 256;
04.
for
(
int
i=1;i<8;i++)
05.
17.
}
18.
}
19.
regclosekey(hkey);
2、對磁碟的扇區的操作
windows 作業系統在很大程度上採取了訪問安全保護機制(例如,在windows作業系統下不能直接訪問物理記憶體、不能使用各種dos、bios中斷等等),其實windows在採取「實保護」措施的同時也提供了另外的一種有別於在dos下訪問硬體裝置的方法,即把所有的硬體裝置全部看做「檔案」,並允許按照對檔案的讀寫方式來對其進行資料訪問訪問。對於磁碟扇區的讀寫,可以通過c++的createfile()函式來實現。由msdn可查詢到該函式原型:
1.
handle
createfile(
2.
lpctstr
lpfilename,
3.
dword
dwdesiredaccess,
4.
dword
dwsharemode,
5.
lpsecurity_attributes lpsecurityattributes,
6.
dword
dwcreationdisposition,
7.
dword
dwflagsandattributes,
8.
handle
htemplatefile );
由於訪問的是事實上已經存在的磁碟扇區,因此只能以open_existing標誌設定dwcreationdisposition引數指出將要開啟已經存在的檔案(裝置)。至於其他引數的使用與操作普通檔案時的用法相同。
使用的時候,如果需要定位到某乙個具體的扇區,可以使用setfilepointer()函式:
1.
dword
setfilepointer(
handle
hfile,
long
ldistancetomove,
plong
lpdistancetomovehigh,
dword
dwmovemethod);
在定位到要訪問的扇區開始位置後就可以通過readfile()或writefile()函式實施相應的讀寫訪問了,具體操作與檔案讀寫並沒有什麼太大的差別。最後,在完成訪問操作後以closehandle()關閉檔案控制代碼釋放資源,從而完成一次完整的磁碟扇區資料訪問操作。
01.
int
readdisk(cstring driver,unsigned
char
*buf,
long
addr)
02.
14.
if
(addr!=0)
15.
18.
19.
bresult=readfile(hdevice,buf,512,&bytesread,null);
20.
if
((bresult==false)||(bytesread<512))
21.
25.
closehandle(hdevice);
26.
return
1;
27.
}
3、用rc4加密演算法對磁碟加密。
1.
/* rc4加密,key是金鑰,此處key="mobilestoragesecurity",後期可以使用者輸入的密碼作為金鑰 */
2.
rc4_key rc4_key;
3.
build_rc4_key(key,
strlen
((
char
*)key),&rc4_key);
4.
rc4_handler(mbrbuf,
strlen
((
char
*)mbrbuf),&rc4_key);
4、u盤插入計算機時的自動感知
1.
lresult
crawdiskdlg::windowproc(
uint
message,
wparam
wparam,
lparam
lparam)
2.
7.
return
cdialog::windowproc(message, wparam, lparam);
8.
}
後期改進
1.這樣就必須要求在電腦上有這個程式,所以在後期採用同樣的原理,將這個程式放在u盤裡,在加密的時候實現對自身的遮蔽,這樣大大提高程式的易用性。
2.可以讓使用者輸入密碼,將密碼作為金鑰去加密和解密。
3.這個只是對乙個磁碟最初的512位元組加密,後期可以通過對扇區的定位和計算,對目錄表及資料加密。
移動儲存裝置資訊保安怎樣防洩密?
企業資訊會把一些資訊放到移動儲存裝置中,但這樣會有資訊洩露的風險,裝置拿到外面可能就會通過插拔電腦導致資訊洩露。企業也有必須放到裡面的資訊,那怎樣保證資訊的安全呢。使用ping32終端管理系統可以解決移動儲存裝置的資訊保安,軟體中的移動儲存裝置功能模組可以對u盤設定讀寫 唯讀 禁止的許可權,防止員工...
移動雲物件儲存 安全靈活又經濟
隨著社會的進步以及科技的發展,移動雲根據客戶的需求設計提供了一種海量空間的儲存產品,通過標準的s3或者swift介面提供非結構化資料的儲存服務,滿足使用者在任何地方通過網際網路對資料進行管理和訪問的需求。之所以使用移動雲物件儲存,是因為它有四大產品優勢 第一是分層儲存,其支援標準和低頻訪問兩種型別,...
移動安全入門指南
以前花了將近一年多的時間學習移動安全,期間也遇到了各種坑,特別是學習android加固的知識,由於android加固技術門檻比較高,在網上想要找到系統的資料還是很困難的,一些相關的入門資料也比較少。在這裡,我也把自己以前學習的經歷和遇到的坑做一些總結,希望能給一些剛入門移動安全行業的同學一些參考,避...