[發明專利]一種免超級用戶權限的進程行為監控裝置與方法有效
| 申請號: | 201811066049.1 | 申請日: | 2018-09-13 |
| 公開(公告)號: | CN109344028B | 公開(公告)日: | 2020-09-15 |
| 發明(設計)人: | 陶敬;王平輝;韓婷;李佳璇;王錚;鄭寧;欒慶鑫;白云鵬;孫立遠;柳哲;林杰 | 申請(專利權)人: | 西安交通大學 |
| 主分類號: | G06F11/30 | 分類號: | G06F11/30 |
| 代理公司: | 西安智大知識產權代理事務所 61215 | 代理人: | 段俊濤 |
| 地址: | 710049 陜*** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 超級 用戶權限 進程 行為 監控 裝置 方法 | ||
1.一種免超級用戶權限的進程行為監控裝置,包括:
交互單元,位于用戶層,用于指定監控目標;
系統配置文件修改單元,位于用戶層,用于免超級用戶權限啟動監控裝置,通過修改系統配置文件,使監控裝置啟動時自動加載內核模塊;
過濾單元,位于內核層,用于過濾非監控目標產生的行為;
行為監控單元,位于內核層,用于監控目標的行為;
日志輸出單元,位于內核層,用于內核日志輸出;
其特征在于,所述行為監控單元包括:
進程創建行為監控模塊,用于監控進程的創建行為,修改內核進程相關函數控制流,使系統在執行相關函數時進入過濾單元;
進程退出行為監控模塊,用于監控進程的退出行為;
進程cred結構體監控模塊,用于監控進程cred結構體的變更情況。
2.根據權利要求1所述免超級用戶權限的進程行為監控裝置,其特征在于,所述交互單元通過如下方式實現:
利用交互工具動態修改監控目標,所述交互工具先解析用戶輸入的參數,打開設備文件,將值通過write方法寫入驅動中,驅動在初始化時注冊文件操作函數結構體file_operations,進入內核后Linux虛擬文件系統調用對應的write操作函數,驅動在經過初步的參數合法性校驗后從參數中解析目標值,刪除監控鏈表中所有節點并重新初始化監控鏈表,交互工具待write函數返回后關閉打開的設備文件;
所述過濾單元通過如下方式實現:
在內核層設置一個實時的監控鏈表,用以存儲目標產生的所有進程,使之后進程的uid不論如何變化都能被監控到,該監控鏈表中的進程創建子進程時將子進程加入到監控鏈表中,在監控鏈表中的進程退出時刪除相應節點;
在內核中宏定義current指向當前進程的進程描述符,系統執行被監控的系統調用函數,跳轉到監控函數后,首先根據current指針得到當前進程的uid和pid,當前進程的uid等于用戶指定的uid時說明當前進程需要被監控,如果當前進程的uid不等于用戶指定的uid,但進程的pid仍然在監控鏈表中時,仍然需要進行監控;
所述日志輸出單元為雙緩結構,將需要同步的共享變量由文件變為緩沖區,當監控函數產生日志時,調用日志輸出系統的接口將日志寫入緩沖區,寫完緩沖區后判斷當前緩沖區是否已滿,如果已滿則創建內核線程將當前緩沖區寫入文件,準備寫入下一個緩沖區;如果未滿則繼續。
3.根據權利要求1所述免超級用戶權限的進程行為監控裝置,其特征在于,所述進程創建行為監控模塊通過如下方式實現:
將__NR_clone對應的系統調用表項修改為進程創建監控函數地址;
所述進程退出行為監控模塊通過如下方式實現:
使用內核Inline Hook技術實現進程退出行為的監控;
所述進程cred結構體監控模塊通過如下方式實現:
使用Inline Hook技術劫持執行所有系統調用的控制流,并且將cred結構體關鍵值保存在監控鏈表中,在執行系統調用之后根據監控鏈表判斷cred結構體關鍵值是否發生變化,如果發生變化則更新監控鏈表并輸出日志。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西安交通大學,未經西安交通大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811066049.1/1.html,轉載請聲明來源鉆瓜專利網。





