網(wǎng)絡(luò)技術(shù)是從1990年代中期發(fā)展起來的新技術(shù),它把互聯(lián)網(wǎng)上分散的資源融為有機整體,實現(xiàn)資源的全面共享和有機協(xié)作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計算機、存儲資源、數(shù)據(jù)資源、信息資源、知識資源、專家資源、大型數(shù)據(jù)庫、網(wǎng)絡(luò)、傳感器等。 當(dāng)前的互聯(lián)網(wǎng)只限于信息共享,網(wǎng)絡(luò)則被認(rèn)為是互聯(lián)網(wǎng)發(fā)展的第三階段。 計算機系統(tǒng)中,用戶在一般情況并不直接與內(nèi)核打交道,中間還有一層應(yīng)用層作為接口在用戶與內(nèi)核之間相互作用著,但這種設(shè)計能夠保護(hù)內(nèi)核不會被用戶肆意修改窺測,但也隨之帶來了安全問題,由于應(yīng)用層并不是能完全信任之的,因此在操作系統(tǒng)安全功能中,往往會提供可信路徑這一功能[這也是橘皮書 B2 級的安全要求]。可信路徑[trusted path]是怎么樣的概念?顧名思義,它就是這么一種功能的實現(xiàn):避過應(yīng)用層,在用戶與內(nèi)核之間開辟一條直接的可信任的交互通道。真的有必要那么麻煩,不得不在進(jìn)行高風(fēng)險操作時使用可信路徑與內(nèi)核互動嗎?遺憾地告訴你:確實是!有經(jīng)驗的系統(tǒng)管理員普遍都很清楚來自網(wǎng)絡(luò)的威脅有多么嚴(yán)重。黑帽子們能使用特洛伊木馬[Trojan horse],記錄你在登陸及其它敏感操作時的行動,從而竊取你的寶貴口令。 你一定對"ctrl + alt + del"三鍵序列極有印象,在DOS年代,我們用它快速重啟機器,并稱之為"熱啟動",而在WINDOWS 9X時代,我們則用它查看進(jìn)程,不過也許你沒有注意到,在WINDOWS9X 向WINNT過渡后,我們的PC也運行著NT內(nèi)核的WIN2000/XP時,事實上"ctrl + alt + del"三鍵的職能已經(jīng)有了些微改變,微軟在它的官方文檔中,稱"ctrl + alt + del"為SAS[Secure Attention Sequence],并且將之列為安全功能-可信路徑的構(gòu)成部分,而在linux下,也有著類似的按鍵序列可用。 Linux 環(huán)境下的安全留意鍵—— SAK[Secure Attention Key],這個SAK是一組鍵, 在我們常見的X86平臺下,它是"alt+sysrq+k",而在SPARC下,SAK則是"alt+STOP+k", SAK默認(rèn)不打開,需要用 echo "1" > /proc/sys/kernel/sysrq 這條命令激活,當(dāng)然,你也可以將它寫進(jìn)登錄腳本中,這樣就不必每次麻煩了。對SAK實現(xiàn)有興趣的朋友,可以參考參考 linux/drivers/char/sysrq.c和 linux/drivers/char/tty_io.c::do_SAK "sa'K' (Secure Access Key) is usefull when you want to be 這段話正是SAK的功能寫照:SAK對你確定在登陸時沒有試圖竊取密碼的特洛伊木馬程序運行在當(dāng)前控制臺上,它能殺死當(dāng)前控制臺上的全部應(yīng)用程序,以此令你確信看到的登陸畫面來自init,而非木馬程序。當(dāng)你按下這組鍵時,也就是引發(fā)了這一特定事件,那么按照設(shè)計的流程,系統(tǒng)陷入核心狀態(tài),這時你將可以直接與內(nèi)核溝通,也就是說,出現(xiàn)在你的“理應(yīng)”是如假包換的真實登陸提示信息,為什么是理應(yīng)?我們下文分析:-> 在討論SAK的脆弱點之前,我們先來看看當(dāng)你按下SAK時,系統(tǒng)發(fā)生了什么事情吧,當(dāng)系統(tǒng)處在正常狀態(tài)下時,用戶按下鍵盤時,此事件將進(jìn)入核心以解釋,若其掃描碼對應(yīng)為SAK,則內(nèi)核將找出引發(fā)此SAK的終端,之后為了創(chuàng)建可信路徑,則需要殺死所有非核心進(jìn)程,也就是說在此時,任何此終端上用戶建立的進(jìn)程都將死亡,當(dāng)然,可能存在的木馬進(jìn)程也被殺死了,系統(tǒng)最后將重新打開登陸進(jìn)程,使用戶獲得放心的交互。 注意: 剛剛我們已經(jīng)了解了linux操作系統(tǒng)下的可信路徑的相關(guān)知識,但是我想已經(jīng)有不少朋友更想了解在WINDOWS NT/2000/XP下的可信路徑的情況,Now,let's go. 在NT系列windows操作系統(tǒng)中的可信路徑的引發(fā)方法是把 ctrl+alt+del這三個鍵同時按下,這稱為標(biāo)準(zhǔn)SAS[Secure Attention Sequence],當(dāng)系統(tǒng)檢測到一個標(biāo)準(zhǔn)SAS序列的掃描碼時,將由winlogon 進(jìn)程將系統(tǒng)設(shè)置為已注銷、已登陸、已鎖定三種不同狀態(tài),然后切換當(dāng)前桌面到 Winlogon 桌面。不過要注意到,WINDOWS中的可信路徑的實現(xiàn)似乎與linux下大不一樣。比如在WIN2000下,按下ctrl+alt+del,切換到winlogon桌面,但是當(dāng)前用戶的進(jìn)程并沒有在這個時候被殺死,比如你可以聽著mp3按ctrl+alt+del,這樣做你將在winlogon桌面下,照樣聽mp3,如果其意義是需要注銷再登陸,那自然的,注銷的時候,當(dāng)前用戶的進(jìn)程都會被殺死,不過那樣的操作從開始菜單中的關(guān)機命令有什么區(qū)別,并且,我們也可以在winlogon桌面上邊改密碼邊聽著mp3,不會有木馬在后臺偷偷地記錄嗎?對,用戶進(jìn)程并不是像在 linux 下那樣被簡單地殺死,事實上,在winlogon 桌面初始化過程中,創(chuàng)建了三個桌面:應(yīng)用程序桌面(\Windows\WinSta0\default)、Winlogon桌面(\Windows\WinSta0\Winlogon)和屏幕保護(hù)桌面(\Windows\WinSta0\ScrenSaver)。而在安全策略上,只有winlogon進(jìn)程可以訪問到winlogon桌面,其它兩個桌面才允許用戶及其所屬進(jìn)程訪問,因此雖然用戶進(jìn)程在SAS激發(fā)后并不會被殺死,但它們也不能訪問winlogon桌面以偷竊用戶口令,這就是“Windows特色的可信路徑實現(xiàn)道路” :-> 等等,你也許會想到GINA木馬,它不就是偽造的登陸窗口嗎?在登陸到windowsNT時,我們按下ctrl+alt+del這個所謂的可信路徑時,怎么沒有將它殺掉?事實上,GINA木馬并不是直接擊敗可信路徑這一功能,而是破壞了可信路徑下層的TCB,改變了TCB中軟件結(jié)構(gòu)的一部分!現(xiàn)在我們來回憶一下GINA木馬的一些細(xì)節(jié),還記得吧? GINA[GINA: Graphical Identification and Authentication,圖形身份驗證 ] 在windows中,缺省的GINA就是msgina.dll ,它是運行在winlogon.exe的進(jìn)程空間中的,由注冊表中\(zhòng)HKEY_LOCAL_MACHINE\Softwar NT系列windows操作系統(tǒng)的啟動過程中關(guān)于SAS的定義過程是:
可信路徑這一安全機制在現(xiàn)代操作系統(tǒng)的發(fā)展上,已經(jīng)是看的見風(fēng)景的房間,雖然現(xiàn)在并沒有什么程序或方法能直接擊敗它,但這并不說明它就是絕對安全的,從橘皮書的角度來看上,現(xiàn)在WINDOWS和UNIX兩大主流操作系統(tǒng)中,在定義層面上對它的實現(xiàn)還不嚴(yán)格,我們不妨翹首以待可信路徑這一機制的實現(xiàn)越來越安全。 網(wǎng)絡(luò)的神奇作用吸引著越來越多的用戶加入其中,正因如此,網(wǎng)絡(luò)的承受能力也面臨著越來越嚴(yán)峻的考驗―從硬件上、軟件上、所用標(biāo)準(zhǔn)上......,各項技術(shù)都需要適時應(yīng)勢,對應(yīng)發(fā)展,這正是網(wǎng)絡(luò)迅速走向進(jìn)步的催化劑。 |
溫馨提示:喜歡本站的話,請收藏一下本站!