信息系統(tǒng)安全理論與技術(shù)-課件 信息系統(tǒng)安全4-3 訪問控制_第1頁
信息系統(tǒng)安全理論與技術(shù)-課件 信息系統(tǒng)安全4-3 訪問控制_第2頁
信息系統(tǒng)安全理論與技術(shù)-課件 信息系統(tǒng)安全4-3 訪問控制_第3頁
信息系統(tǒng)安全理論與技術(shù)-課件 信息系統(tǒng)安全4-3 訪問控制_第4頁
信息系統(tǒng)安全理論與技術(shù)-課件 信息系統(tǒng)安全4-3 訪問控制_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

《信息系統(tǒng)安全理論與技術(shù)》

第4章訪問控制本章內(nèi)容4.2訪問控制基本方法4.1訪問控制模型SELinux是美國國家安全局在Linux社區(qū)的幫助下開發(fā)的安全增強(qiáng)型Linux(SecurityEnhancedLinux)系統(tǒng),采用強(qiáng)制訪問控制體系,保證進(jìn)程只能訪問執(zhí)行任務(wù)所需要的文件。SELinux是在2.6版本的Linux內(nèi)核中提供的MAC系統(tǒng),已經(jīng)集成到內(nèi)核中,被默認(rèn)安裝和啟用。對于可用的Linux安全模塊,SELinux功能全面且測試充分。大部分都使用SELinux發(fā)行版,如Fedora、RHEL、Debian或CentOS。SELinux提供了一種靈活的MAC系統(tǒng),其結(jié)合類型強(qiáng)制(TE)和非強(qiáng)制的多級安全(MLS),且內(nèi)嵌于LinuxKernel中。SELinux定義了系統(tǒng)中每個用戶、進(jìn)程、應(yīng)用和文件的訪問和轉(zhuǎn)變的權(quán)限,然后使用一個安全策略來控制這些實(shí)體(用戶、進(jìn)程、應(yīng)用和文件)之間的交互。安全策略指定如何嚴(yán)格或?qū)捤傻剡M(jìn)行檢查。4.3.1SELinux簡介Linux安全模塊框架在系統(tǒng)調(diào)用的內(nèi)核代碼中安插鉤子,用于調(diào)用安全模塊。DAC:自主訪問控制4.3.2SELinux的系統(tǒng)結(jié)構(gòu)SELinux內(nèi)核體系結(jié)構(gòu)SELinux內(nèi)核體系結(jié)構(gòu)由三個主要部分構(gòu)成:安全服務(wù)器、內(nèi)核客體管理器、訪問向量緩存。4.3.2SELinux的系統(tǒng)結(jié)構(gòu)內(nèi)核客體管理器作用:實(shí)施訪問判定結(jié)果。表現(xiàn)形式:創(chuàng)建和管理內(nèi)核客體的內(nèi)核子系統(tǒng)。如:文件系統(tǒng)、進(jìn)程管理系統(tǒng)、SystemVIPC系統(tǒng)。4.3.2SELinux的系統(tǒng)結(jié)構(gòu)間接的訪問權(quán)限撤銷效應(yīng)在所有的訪問嘗試中都要檢查訪問權(quán)限。部分權(quán)限撤銷效應(yīng):如果打開文件時,文件允許訪問,打開文件后,撤銷訪問權(quán)限,則訪問前的檢查能反映權(quán)限被撤銷的效應(yīng)。有些客體的權(quán)限撤銷效果仍難體現(xiàn):內(nèi)存映射文件面向連接的套接字4.3.2SELinux的系統(tǒng)結(jié)構(gòu)用戶空間的客體管理器系統(tǒng)資源:窗口、表缺點(diǎn):占用內(nèi)核資源4.3.2SELinux的系統(tǒng)結(jié)構(gòu)用戶空間的安全服務(wù)器4.3.2SELinux的系統(tǒng)結(jié)構(gòu)安全策略的設(shè)計、編譯與使用4.3.3SELinux的策略語言安全策略構(gòu)造與裝載步驟①用SEPL語言編寫策略源模塊(源模塊在源模塊文件中描述,描述中可以使用shell腳本和m4宏);4.3.3SELinux的策略語言安全策略構(gòu)造與裝載步驟②借助shell腳本、m4宏和make工具把所有策略源模塊(表現(xiàn)形式是源模塊文件)組合成單一策略源文件(policy.conf);4.3.3SELinux的策略語言安全策略構(gòu)造與裝載步驟③用checkpolicy程序把單一策略源文件編譯成單一策略二進(jìn)制文件;

4.3.3SELinux的策略語言安全策略構(gòu)造與裝載步驟④用load_policy程序把單一策略二進(jìn)制文件裝入到內(nèi)核安全服務(wù)器中。4.3.3SELinux的策略語言4.4.1Windows訪問控制技術(shù)基本概念訪問主體A發(fā)起訪問請求的實(shí)體,通常是進(jìn)程。特點(diǎn):線程權(quán)限來源于所屬進(jìn)程,進(jìn)程中的所有線程權(quán)限相同。訪問客體B被訪問的對象,具有安全描述符。示例:文件、注冊表、事件、互斥、管道等訪問令牌(進(jìn)程)表示用戶權(quán)限的數(shù)據(jù)結(jié)構(gòu)。組成:用戶和組標(biāo)識符(如用戶ID、組ID)、權(quán)限列表(privilege)。安全描述符(對象)表示安全屬性的數(shù)據(jù)結(jié)構(gòu)組成:訪問控制列表(ACL)、包括自主訪問控制列表(DACL)和系統(tǒng)訪問控制列表(SACL)。4.4.2系統(tǒng)實(shí)現(xiàn)SID(安全標(biāo)識符)whoami/all命令的輸出唯一標(biāo)識某個安全實(shí)體通過whoami/all命令查看當(dāng)前用戶的SID及組信息。whoami/all命令的輸出包含用戶名及SID、用戶所屬的組及當(dāng)前賬戶的特權(quán)。進(jìn)程訪問安全對象時,只用到SID,與進(jìn)程的權(quán)限無關(guān)。4.4.3.1開發(fā)接口掛鉤原理Windows系統(tǒng)消息傳遞的簡化流程安裝鉤子后的Windows系統(tǒng)消息傳遞流程4.4.3.1開發(fā)接口鉤子的作用:截獲和監(jiān)視系統(tǒng)中的消息,實(shí)現(xiàn)權(quán)限控制。鉤子的分類:按作用范圍:全局鉤子(作用于整個系統(tǒng));局部鉤子(針對特定線程)按事件類型:鍵盤鉤子、鼠標(biāo)鉤子、外殼鉤子、日志鉤子、窗口過程鉤子等鉤子的實(shí)現(xiàn)SetWindowsHookEx:安裝鉤子UnhookWindowsHookEx:卸載鉤子CallNextHookEx:將消息傳遞給下一個鉤子4.4.3.2開發(fā)接口鉤子函數(shù)lpfn:指定鉤子函數(shù)的地址。hMod:指定鉤子函數(shù)所在模塊的句柄,即lpfn所在模塊的句柄。dwThreadId:指定需要被掛鉤的線程ID。idHook:鉤子的類型。HHOOKSetWindowsHookEx(intidHook,HOOKPROClpfn,HINSTANCEhMod,DWORDdwThreadId);4.4.3.2開發(fā)接口鉤子函數(shù)idHook:鉤子的類型。常用的類型如下。(1)WH_GETMESSAGE:監(jiān)視被投遞到消息隊(duì)列中的消息,鉤子函數(shù)如下:LRESULTCALLBACKGetMsgProc(intcode,//鉤子碼WPARAMwParam,//刪除選項(xiàng)LPARAMlParam//消息e);(2)WH_MOUSE:監(jiān)視鼠標(biāo)消息,鉤子函數(shù)如下:LRESULTCALLBACKMouseProc(intnCode,//hookcodeWPARAMwParam,//消息標(biāo)識符LPARAMlParam//鼠標(biāo)坐標(biāo));4.4.3.2開發(fā)接口鉤子函數(shù)idHook:鉤子的類型。常用的類型如下。(3)WH_KEYBOARD:監(jiān)視鍵盤消息,鉤子函數(shù)如下:LRESULTCALLBACKKeyboardProc(intcode,//鉤子碼WPARAMwParam,//虛擬鍵碼eLPARAMlParam//擊鍵消息信息}(4)WH_DEBUG:監(jiān)視鼠標(biāo)消息,鉤子函數(shù)如下:LRESULTCALLBACKDebugProc(intnCode,//鉤子碼WPARAMwParam,//鉤子類型LPARAMlParam//調(diào)試信息);4.4.3.3開發(fā)接口編寫鉤子程序的步驟步驟1:定義鉤子函數(shù)LRESULTCALLBACKHookProc(intnCode,WPARAMwParam,LPARAM

lParam)步驟2:安裝鉤子HHOOKSetWindowsHookEx(intidHook,HOOKPROC

lpfn,INSTANCEhMod,DWORD

dwThreadId)步驟3:卸載鉤子BOOLUnhookWindowsHookEx(HHOOKhhk)系統(tǒng)鉤子必須放在獨(dú)立的動態(tài)鏈接庫(DLL)中4.4.3.3開發(fā)接口全局鍵盤鉤子DLL程序結(jié)構(gòu):導(dǎo)出函數(shù):SetHookOn和SetHookOff全局變量:鉤子句柄g_Hook和DLL模塊句柄g_Inst。DLLMain函數(shù):BOOLAPIENTRYDllMain(HANDLEhModule,DWORDul_reason_for_call,LPVOIDlpReserved){//保存DLL模塊句柄g_Inst=(HINSTANCE)hModule;returnTRUE;}安裝與卸載鉤子:VOIDSetHookOn(){

g_Hook=SetWindowsHookEx(WH_KEYBOARD,KeyboardProc,g_Inst,0);}VOIDSetHookOff(){

UnhookWindowsHookEx(g_Hook);}4.4.3.3開發(fā)接口全局鍵盤鉤子鉤子函數(shù)實(shí)現(xiàn)LRESULTCALLBACKKeyboardProc(intcode,WPARAMwParam,LPARAMlParam){if(code<0){returnCallNextHookEx(g_Hook,code,wParam,lParam);}if(code==HC_ACTION&&lParam>0){charszBuf[MAXBYTE]={0};GetKeyNameText(lParam,szBuf,MAXBYTE);MessageBox(NULL,szBuf,"提示",MB_OK);}returnCallNextHookEx(g_Hook,code,wParam,lParam);}調(diào)用示例#pragmacomment(lib,"全局鉤子.lib")extern"C"VOIDSetHookOn();extern"C"VOIDSetHookOff();voidCHookDebugDlg::OnHookon(){SetHookOn();}voidCHookDebugDlg::OnHookoff(){SetHookOff();}4.4.3.3開發(fā)接口低級鍵盤鉤子目的:禁止PrintScreen鍵,防止數(shù)據(jù)泄露鉤子函數(shù)實(shí)現(xiàn)LRESULTCALLBACKLowLevelKeyboardProc(intcode,WPARAMwParam,LPARAMlParam){if(code==HC_ACTION){KBDLLHOOKSTRUCT*pkbhs=(KBDLLHOOKSTRUCT*)lParam;if(pkbhs->vkCode==VK_SNAPSHOT){//PrintScreen鍵

returnTRUE;//屏蔽PrintScreen鍵

}}returnCallNextHookEx(g_Hook,code,wParam,lParam);}注意事項(xiàng)編譯時可能需要手動定義WH_KEYBOARD_LL和KBDLLHOOKSTRUCT。4.4.3.3開發(fā)接口鉤子注入DLL實(shí)現(xiàn)目的:將DLL注入目標(biāo)進(jìn)程,完成特定功能鉤子類型:WH_GETMESSAGEDLLMain函數(shù)BOOLAPIENTRYDllMain(HANDLEhModule,DWORDul_reason_for_call,LPVOIDlpReserved){

g_Inst=(HINSTANCE)hModule;switch(ul_reason_for_call){caseDLL_PROCESS_ATTACH:DoSomething();break;caseDLL_THREAD_ATTACH:caseDLL_THREAD_DETACH:caseDLL_PROCESS_DETACH:break;}returnTRUE;}4.4.3.3開發(fā)接口鉤子注入DLL實(shí)現(xiàn)安裝與卸載鉤子VOIDSetHookOn(){

g_Hook=SetWindowsHookEx(WH_GETMESSAGE,GetMsgProc,g_Inst,0);}VOIDSetHookOff(){

UnhookWindowsHookEx(g_Hook);}鉤子函數(shù)實(shí)現(xiàn)LRESULTCALLBACKGetMsgProc(intcode,WPARAMwParam,LPARAMlPara

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論