一般來說,Windows系統(tǒng)中的各個對象都屬于客體,訪問這些對象的每個系統(tǒng)進(jìn)程,甚至是其下的每個線程都屬于主體。每個線程都可以共享每個進(jìn)程的基本令牌,但有些特殊的線程,它自己擁有一個獨立的模擬令牌,能模擬特定客戶端的身份,所以模擬令牌就是這些線程的有效令牌,而其他普通線程的有效令牌只能是其所屬進(jìn)程的基本令牌了。
在主體訪問客體的過程中,Windows系統(tǒng)會進(jìn)行權(quán)限審查操作,也就是檢查比對客體的安全描述符與主體的有效令牌,以便判斷主體的訪問是否合法可信。為了改善審查效率,Windows系統(tǒng)的權(quán)限審查機(jī)制允許使用緩存功能來進(jìn)行訪問權(quán)限審查,審查結(jié)果會被自動緩存到進(jìn)程的句柄表中,日后通過調(diào)閱緩存內(nèi)容就能確認(rèn)訪問的合法性,而不需要每次打開或創(chuàng)建一個對象或一個進(jìn)程,而且這也能節(jié)省更大的系統(tǒng)開銷??紤]到系統(tǒng)對象和系統(tǒng)進(jìn)程都有對應(yīng)的繼承層次,所以系統(tǒng)進(jìn)程的令牌和系統(tǒng)對象的安全描述符從邏輯上講也是能夠繼承的。
例如文件系統(tǒng)中的文件能將其所在文件夾的安全描述符繼承過來,子進(jìn)程能將父進(jìn)程的有效令牌繼承過來,這種繼承機(jī)制可讓系統(tǒng)對象和系統(tǒng)進(jìn)程擁有了默認(rèn)的權(quán)限屬性。所以在特定環(huán)境下,系統(tǒng)進(jìn)程的令牌和對象的安全描述符實例數(shù)目相當(dāng)有限,很多時候都是從父輩們繼承過來的默認(rèn)值。
系統(tǒng)對象的安全描述符規(guī)定了何種身份的主體,申請的哪種類型訪問權(quán)限會被允許或者拒絕。Windows在對系統(tǒng)對象或系統(tǒng)進(jìn)程的權(quán)限執(zhí)行審查操作時,如果發(fā)現(xiàn)系統(tǒng)對象的安全描述符為空,意味著目標(biāo)對象沒有受到權(quán)限保護(hù),允許任何主體進(jìn)行訪問。
當(dāng)權(quán)限審查機(jī)制發(fā)現(xiàn)目標(biāo)系統(tǒng)對象存在非空的安全描述符時,會自動比對權(quán)限規(guī)定和主體的身份標(biāo)識,直到對應(yīng)主體所請求的訪問權(quán)限被部分或全部允許,也可以是某一訪問請求的權(quán)限被拒絕,這樣權(quán)限審查操作就會結(jié)束。
除普通權(quán)限審查外,還有特權(quán)和超級特權(quán)審查、強(qiáng)制策略和完整性級別審查、可信級別審查、受限令牌審查等。
為了保護(hù)系統(tǒng)對象訪問安全,很多人會下意識想到利用各種外力工具,實際上巧妙通過Windows系統(tǒng)自帶的權(quán)限配置功能,對計算機(jī)系統(tǒng)中的重要對象加以安全防范,能夠達(dá)到意想不到的效果。
大家知道,通過IE瀏覽器程序上網(wǎng)訪問時,該程序先天性的安全漏洞,常常會被網(wǎng)上的病毒木馬利用,從而給終端系統(tǒng)的安全運行帶來麻煩。如果強(qiáng)行以較低權(quán)限運行IE瀏覽器程序,日后病毒木馬即使悄悄利用了IE瀏覽器程序,不過因為操作權(quán)限有限,也不能對終端系統(tǒng)發(fā)起多大威脅的惡意攻擊,那么終端系統(tǒng)的運行安全性就不容易受到影響了。更重要的是,用戶進(jìn)行其他操作,權(quán)限一點也不會受到影響。
要實現(xiàn)上述安全防范目的,只要正確設(shè)置Windows系統(tǒng)軟件限制策略,讓用戶僅以“基本用戶”級別的權(quán)限運行IE瀏覽器程序,具體實施步驟為:首先為軟件限制策略添加“基本用戶”安全等級。Windows系統(tǒng)在默認(rèn)狀態(tài)只支持“不允許的”、“不受限的”這幾個權(quán)限級別,要增加一個介于受限用戶賬號和系統(tǒng)管理員權(quán)限之間的權(quán)限級別時,不妨按下“Win+R”快捷鍵,打開系統(tǒng)運行文本框,輸入“regedit”命令并回車,展開系統(tǒng)注冊表編輯界面,依次展開“HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindowsSaferCodeIdentifiers”注冊表分支選項,在指定注冊表分支下手工生成“Levels”雙字節(jié)鍵值,將其數(shù)值輸入為十六進(jìn)制的“20000”,單擊“確定”按鈕后軟件限制策略就能支持“基本用戶”權(quán)限級別了。
之后強(qiáng)行以“基本用戶”權(quán)限級別啟動IE瀏覽器程序。依次點擊“開始”、“運行”命令,在系統(tǒng)運行框中輸入“secpol.msc”命令,打開本地安全設(shè)置窗口,將鼠標(biāo)定位于該窗口左側(cè)的“安全設(shè)置”、“軟件限制策略”、“其他規(guī)則”節(jié)點上,打開該節(jié)點的右鍵菜單,選擇“新路徑規(guī)則”命令,點擊新路徑規(guī)則設(shè)置框中的“瀏覽”按鈕,從彈出的文件選擇框中導(dǎo)入IE瀏覽器可執(zhí)行文件,同時從“安全級別”位置處,選中“基本用戶”權(quán)限級別,單擊“確定”按鈕后退出設(shè)置對話框。重新啟動終端系統(tǒng)后,用戶不管以何種方式運行IE瀏覽程序,它都處于基本用戶權(quán)限狀態(tài),在該權(quán)限狀態(tài)下上網(wǎng)時,IE瀏覽器是不容易受到攻擊的。但是,用戶在本地計算機(jī)系統(tǒng)中進(jìn)行其他操作時,權(quán)限不會受到任何限制。
Windows系統(tǒng)服務(wù)實際上也屬于一種進(jìn)程或程序,只是在系統(tǒng)后臺悄悄運行而已,它的啟動運行,可以保證系統(tǒng)實現(xiàn)某種功能或達(dá)到某種目的。與普通的應(yīng)用程序相比,系統(tǒng)服務(wù)在運行過程中,不會彈出設(shè)置對話框或窗口,用戶很難直觀地看到它們的“影子”,所以黑客程序經(jīng)常喜歡以此為攻擊目標(biāo),通過替換或劫持正常系統(tǒng)服務(wù)方式實現(xiàn)攻擊系統(tǒng)目的。所以,對終端系統(tǒng)中的一些重要服務(wù),謹(jǐn)慎開啟它們的運行權(quán)限十分有必要。
比如說,對于終端上網(wǎng)用戶來說,“Remote Registry”系統(tǒng)服務(wù)一般沒有多大作用,不過黑客很喜歡它的強(qiáng)控制力和破壞力,常常會利用該系統(tǒng)服務(wù),偷偷遠(yuǎn)程調(diào)整局域網(wǎng)中重要終端系統(tǒng)的注冊表鍵值,來達(dá)到攻擊或破壞目的。黑客一旦獲取到遠(yuǎn)程計算機(jī)系統(tǒng)的管理員賬號,同時在注冊表編輯器窗口中點擊“連接網(wǎng)絡(luò)注冊表”命令,輸入遠(yuǎn)程計算機(jī)系統(tǒng)的IP地址或名稱,連接成功后就能非法調(diào)整其所有鍵值了。要是不想讓終端系統(tǒng)遭遇這種遠(yuǎn)程攻擊時,為“Remote Registry”系統(tǒng)服務(wù)配置嚴(yán)格的權(quán)限是很有必要的。當(dāng)為該危險服務(wù)授予了嚴(yán)格權(quán)限時,注冊表編輯界面中的“連接網(wǎng)絡(luò)計算機(jī)”命令,對一些用戶來說就會自動失效,那么這些用戶就不能遠(yuǎn)程修改注冊表鍵值了。
要為特定服務(wù)授權(quán),可以請“Process explorer” 這款工具幫忙。只要開啟該工具的運行狀態(tài),在其主操作窗口中,點擊“Services”標(biāo)簽,進(jìn)入系統(tǒng)服務(wù)列表頁面。選中“Remote Registry”系統(tǒng)服務(wù),按下“Permissions”按鈕,切換到權(quán)限編輯對話框。選中并刪除這里的所有普通用戶賬號,同時為“administrators”組賬 號設(shè)置“讀取”權(quán)限,確認(rèn)后保存設(shè)置操作。這樣,“Remote Registry”系統(tǒng)服務(wù)就會自動處于安全保護(hù)之中,非法用戶日后就不能隨意通過該服務(wù),遠(yuǎn)程修改注冊表鍵值了。
同樣地,“Server”、“Clip Book”、“Shell Hardware Detection”、“Task Scheduler”、“DNS Client”等系統(tǒng)服務(wù),都可能會帶來一系列安全麻煩,都需要經(jīng)過嚴(yán)格的授權(quán),確保普通用戶不能隨意訪問這些系統(tǒng)服務(wù)。
惡意用戶經(jīng)常會利用系統(tǒng)漏洞,偷偷與特定終端系統(tǒng)建立遠(yuǎn)程連接,再利用一些特殊技術(shù)竊取系統(tǒng)管理員權(quán)限,開啟遠(yuǎn)程桌面窗口,對特定系統(tǒng)進(jìn)行惡意攻擊。為了避免這種危險現(xiàn)象,不妨嚴(yán)格控制用戶賬號的遠(yuǎn)程桌面使用權(quán)限,讓合法可信的管理員賬號才可以創(chuàng)建遠(yuǎn)程桌面連接,其他用戶賬號無權(quán)擁有遠(yuǎn)程桌面權(quán)限??紤]到遠(yuǎn)程桌面窗口打開操作和“explorer.exe”程序文件訪問權(quán)限有關(guān),要是將該程序文件的讀取權(quán)限授權(quán)合法可信用戶賬號,就能達(dá)到之前的控制目的。在進(jìn)行這種操作時,先打開系統(tǒng)資源管理器窗口,在“C:Windows”系統(tǒng)文件夾中選中“explorer.exe”程序文件,點選它右鍵菜單中的“屬性”命令,切換到對應(yīng)文件屬性對話框,單擊“安全”選項卡,刪除該選項設(shè)置頁面中的所有用戶賬號。單擊“添加”按鈕,彈出賬號選擇設(shè)置框,導(dǎo)入合法可信用戶賬號,將其相關(guān)操作權(quán)限都修改為“允許”,確認(rèn)后保存設(shè)置操作。
當(dāng)然,之前的設(shè)置操作,只適用于還未開啟的“explorer.exe”程序,要是該程序已被調(diào)入系統(tǒng)內(nèi)存時,那一定要通過微軟自行開發(fā)的“Process Explorer”程序來設(shè)置。進(jìn)入該程序主操作窗口,點選“explorer.exe”程 序,點選其右鍵菜單中的“Properties”命令,展開“Security”面板,按下“Permissions”按鈕,將“explorer.exe”程序操作權(quán)限授予特定用戶賬號。日后,只有特定用戶賬號才可以擁有遠(yuǎn)程桌面權(quán)限,其他用戶賬號即使已創(chuàng)建好遠(yuǎn)程桌面連接,也無法打開桌面窗口進(jìn)行惡意攻擊。
為了避免一些用戶賬號從低版本系統(tǒng)中,隨意遠(yuǎn)程登錄局域網(wǎng)服務(wù)器系統(tǒng),建議為它們賦予帶網(wǎng)絡(luò)驗證的遠(yuǎn)程桌面權(quán)限。比如說,在Windows 7系統(tǒng)中進(jìn)行這種操作時,可以打開系統(tǒng)桌面上“計算機(jī)”圖標(biāo)的右鍵菜單,單擊“屬性”命令,打開系統(tǒng)屬性對話框,按下“遠(yuǎn)程設(shè)置”按鈕,切換到如圖1所示的遠(yuǎn)程設(shè)置對話框,選中“只允許運行帶網(wǎng)絡(luò)級身份驗證的遠(yuǎn)程桌面的計算機(jī)連接”,確認(rèn)后退出即可。
圖1 遠(yuǎn)程設(shè)置對話框
圖2 使用空白密碼的本地賬號權(quán)限設(shè)置
日后,當(dāng)一些用戶賬號從低版本系統(tǒng)中,遠(yuǎn)程連接到局域網(wǎng)服務(wù)器時,將不能取得成功,那么服務(wù)器系統(tǒng)的安全性就能得到保障了,這可以有效防止低版本系統(tǒng)中的病毒任意傳播。
此外,如果允許空白密碼用戶賬號隨意登錄Windows系統(tǒng),也容易給惡意用戶帶來攻擊機(jī)會。為了避免這種現(xiàn)象,建議在重要計算機(jī)系統(tǒng)中,僅能授予空白密碼用戶賬號控制臺登錄權(quán)限,不能授予其他操作權(quán)限:使用“Win+R”快捷鍵,調(diào)出系統(tǒng)運行設(shè)置框,輸入“gpedit.msc”命令并回車,打開系統(tǒng)組策略編輯窗口。依次跳轉(zhuǎn)到“本地計算機(jī)策略”、“計算機(jī)配置”、“Windows設(shè)置”、“安全設(shè)置”、“本地策略”、“安全選項”節(jié)點上,找到特定節(jié)點下的“賬戶:使用空白密碼的本地賬號只允許進(jìn)行控制臺登錄”選項,通過雙擊鼠標(biāo)方式,打開如圖2所示的選項設(shè)置對話框。選中“已啟用”選項, 確認(rèn)后保存設(shè)置即可。
在Windows系統(tǒng)環(huán)境下,執(zhí)行一些特定操作時,普通用戶常常會遇到權(quán)限不夠的煩惱,例如打開特定系統(tǒng)文件夾,編輯處理某個系統(tǒng)文件,保存文件時或許會出現(xiàn)權(quán)限不足提示。即使通過右鍵菜單,執(zhí)行“以管理員身份運行”命令,相關(guān)操作有時也無法取得成功。這個時候,有些人為了圖方便,索性會以系統(tǒng)管理員權(quán)限賬號重新登錄系統(tǒng),來執(zhí)行上述特殊操作,不過這可能會給Windows系統(tǒng)帶來不效的安全威脅。
其實,在普通用戶權(quán)限狀態(tài)下,用戶能夠進(jìn)行下面的設(shè)置操作,來臨時獲得全局管理員操作權(quán)限:首先按下“Ctrl+Alt+Del”快捷鍵,展開Windows任務(wù)管理器窗口,選擇“進(jìn)程”選項卡,在Windows任務(wù)管理器中找到并選中“explorer.exe”選項,按下“結(jié)束進(jìn)程”按鈕。
之后逐一點選系統(tǒng)任務(wù)管理器窗口菜單欄中的“文件”、“新建任務(wù)”選項,切換到系統(tǒng)任務(wù)運行對話框中,輸入“explorer.exe”命令,并勾選“利用管理特權(quán)創(chuàng)建此任務(wù)”選項,單擊“確定”按鈕后就能臨時獲取全局系統(tǒng)管理員操作權(quán)限了。
此時,繼續(xù)進(jìn)行上述特殊操作時,系統(tǒng)就不會彈出權(quán)限不夠錯誤提示了。完成特定操作后,將以管理員權(quán)限開啟的“explorer.exe”進(jìn)程關(guān)閉掉,就能退出系統(tǒng)管理員權(quán)限狀態(tài)了。
當(dāng)然,要想以系統(tǒng)管理員權(quán)限臨時開啟特定程序運行狀態(tài),普通用戶也能用鼠標(biāo)右鍵單擊特定程序快捷圖標(biāo),點選“以管理員身份運行”命令,來快速獲得臨時運行權(quán)限。
目前一些病毒木馬程序,會將可執(zhí)行文件悄悄隱藏到系統(tǒng)注冊表相關(guān)啟動目錄中,例如隱藏到注冊表Winlogon、RunServicesOnce、load、RunOnceEx、Run、RunOnce、RunServices等分支下,以實現(xiàn)與系統(tǒng)同步啟動運行目的。為了避免這種現(xiàn)象,大家可以定期查看上述分支下的鍵值內(nèi)容,確保立刻刪除陌生鍵值啟動權(quán)限。
比如說,要查看系統(tǒng)注冊表Run分支下有無陌生病毒木馬鍵值時,只要進(jìn)入系統(tǒng)注冊表編輯窗口,將鼠標(biāo)定位到該編輯窗口左側(cè)列表中的HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersion、HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersion兩個分支下,要是發(fā)現(xiàn)有陌生啟動鍵值時,選中并刪除它們即可。
同時,一些病毒木馬程序還相當(dāng)狡猾,常常會以系統(tǒng)服務(wù)形式與系統(tǒng)同步啟動運行,所以大家還必須將鼠標(biāo)定位到注冊表編輯器窗口的“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices”注冊表分支上,將指定分支下的陌生服務(wù)選項找出來并刪除掉。在進(jìn)行該操作時,先打開系統(tǒng)運行對話框,輸入“services.msc”命令并回車,進(jìn)入系統(tǒng)服務(wù)列表窗口,從中找到陌生服務(wù)選項并用鼠標(biāo)雙擊,彈出目標(biāo)服務(wù)屬性對話框,按下常規(guī)設(shè)置頁面中的“停止”按鈕,同時將“啟動類型”設(shè)置為“已禁用”即可。
為了防止一些狡猾病毒程序卷土重來,用戶還需要對與系統(tǒng)啟動相關(guān)的注冊表分支寫入權(quán)限進(jìn)行控制,避免它們重新將惡意啟動鍵值導(dǎo)入到系統(tǒng)注冊表中。比如說,要阻止病毒向注冊表分支HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun下寫入惡意鍵值時,只要先將鼠標(biāo)定位到注冊表特定分支上,逐一單擊“編輯”、“權(quán)限”命令,展開指定分支的權(quán)限設(shè)置對話框,刪除所有陌生用戶賬號,同時單擊“添加”按鈕導(dǎo)入合法可信用戶賬號,并為它們授予適當(dāng)操作權(quán)限。