本發(fā)明專利技術公開了一種基于Linux系統(tǒng)的主動防御方法及裝置,屬于系統(tǒng)安全領域。所述方法包括:采用鉤子Hook監(jiān)測Linux內核的系統(tǒng)調用;當監(jiān)測到設置了Hook的系統(tǒng)調用被用戶態(tài)進程調用時,判斷所述用戶態(tài)進程是否存在于白名單中;當所述用戶態(tài)進程存在于所述白名單中時,允許所述用戶態(tài)進程調用所述系統(tǒng)調用;當所述用戶態(tài)進程不存在于所述白名單中時,禁止所述用戶態(tài)進程調用所述系統(tǒng)調用;其中,所述白名單包括一個或多個允許執(zhí)行系統(tǒng)調用的用戶態(tài)進程。可以對Linux系統(tǒng)運行的程序等進行有效檢測,對于Linux運行的惡意程序,后門木馬程序等進行及時攔截,是一種Linux下的有效的主動防御方法。
【技術實現(xiàn)步驟摘要】
—種基于Linux系統(tǒng)的主動防御方法及裝置
本專利技術涉及計算機領域,特別涉及一種基于Linux系統(tǒng)的主動防御方法及裝置。
技術介紹
Linux是一種自由和開放源代碼的類UNIX操作系統(tǒng),是一個基于多用戶、多任務、支持多線程和多中央處理器(Central Processing Unit,簡稱“CPU”)的操作系統(tǒng)。隨著Linux系統(tǒng)被越來越多的企業(yè)作為服務器使用,相關攻擊事件、入侵事件、木馬程序隨著逐漸增多。在計算機安全領域,主動防御技術是一種為計算機數據提供實時防護的主機安全技術,而目前Linux系統(tǒng)的主動防御技術發(fā)展緩慢,對于Linux系統(tǒng)運行的惡意程序,后門木馬程序等無法有效及時攔截,目前主流的主動防御系統(tǒng)基本都是在Windows平臺下實現(xiàn)的,Linux下沒有有效的主動防御方法。
技術實現(xiàn)思路
為了解決現(xiàn)有中技術Linux下沒有有效的主動防御系統(tǒng)和方法的問題,本專利技術實施例提供了一種基于Linux系統(tǒng)的主動防御方法及裝置。所述技術方案如下:—方面,本專利技術實施例提供了一種基于Linux系統(tǒng)的主動防御方法,適用于Linux主機,所述方法包括:采用鉤子Hook監(jiān)測Linux內核的系統(tǒng)調用;當監(jiān)測到設置了所述Hook的系統(tǒng)調用被用戶態(tài)進程調用時,判斷所述用戶態(tài)進程是否存在于白名單中;當所述用戶態(tài)進程存在于所述白名單中時,允許所述用戶態(tài)進程調用所述系統(tǒng)調用;當所述用戶態(tài)進程不存在于所述白名單中時,禁止所述用戶態(tài)進程調用所述系統(tǒng)調用;所述白名單包括一個或多個允許執(zhí)行系統(tǒng)調用的用戶態(tài)進程。在本專利技術實施例的一種實現(xiàn)方式中,所述系統(tǒng)調用包括:系統(tǒng)加載內核模塊、系統(tǒng)進程運行、系統(tǒng)重要配置文件的修改、系統(tǒng)執(zhí)行的命令、系統(tǒng)端口監(jiān)聽調用和系統(tǒng)注入調用。在本專利技術實施例的另一種實現(xiàn)方式中,所述采用鉤子Hook監(jiān)測Linux內核的系統(tǒng)調用,包括:獲取當前Linux系統(tǒng)調用鏈表指針;獲取調用鏈表sys_call_table指針;判斷所述當前Linux系統(tǒng)調用鏈表指針與所述調用鏈表sys_call_table指針是否相等;當所述當前Linux系統(tǒng)調用鏈表指針與所述調用鏈表sys_call_table指針相等時,監(jiān)測所述Linux內核的系統(tǒng)調用。在本專利技術實施例的另一種實現(xiàn)方式中,所述方法還包括:獲取防御策略,所述防御策略包括Hook策略和所述白名單;根據所述防御策略對所述Linux內核的系統(tǒng)調用設置Hook。在本專利技術實施例的另一種實現(xiàn)方式中,所述獲取防御策略,包括:接收服務器下發(fā)的所述防御策略。另一方面,本專利技術實施例還提供了一種基于Linux系統(tǒng)的主動防御裝置,所述裝置包括:監(jiān)測模塊,用于采用鉤子Hook監(jiān)測Linux內核的系統(tǒng)調用;判斷模塊,用于當監(jiān)測到設置了所述Hook的系統(tǒng)調用被用戶態(tài)進程調用時,判斷所述用戶態(tài)進程是否存在于白名單中;處理模塊,用于當所述用戶態(tài)進程存在于所述白名單中時,允許所述用戶態(tài)進程調用所述系統(tǒng)調用;當所述用戶態(tài)進程不存在于所述白名單中時,禁止所述用戶態(tài)進程調用所述系統(tǒng)調用;所述白名單包括一個或多個允許執(zhí)行系統(tǒng)調用的用戶態(tài)進程。在本專利技術實施例的一種實現(xiàn)方式中,所述系統(tǒng)調用包括:系統(tǒng)加載內核模塊、系統(tǒng)進程運行、系統(tǒng)重要配置文件的修改、系統(tǒng)執(zhí)行的命令、系統(tǒng)端口監(jiān)聽調用和系統(tǒng)注入調用。在本專利技術實施例的另一種實現(xiàn)方式中,所述監(jiān)測模塊包括:第一獲取單元,用于獲取當前Linux系統(tǒng)調用鏈表指針;第一獲取單元,用于獲取調用鏈表sys_call_table指針;判斷單元,用于判斷所述當前Linux系統(tǒng)調用鏈表指針與所述調用鏈表sys_call_table指針是否相等;執(zhí)行單元,用于當所述當前Linux系統(tǒng)調用鏈表指針與所述調用鏈表sys_call_table指針相等時,監(jiān)測所述Linux內核的系統(tǒng)調用。在本專利技術實施例的另一種實現(xiàn)方式中,所述裝置還包括:獲取模塊,用于獲取防御策略,所述防御策略包括Hook策略和所述白名單;執(zhí)行模塊,用于根據所述防御策略對所述Linux內核的系統(tǒng)調用設置Hook。在本專利技術實施例的另一種實現(xiàn)方式中,獲取模塊包括:傳輸單元,用于接收服務器下發(fā)的所述防御策略。本專利技術實施例提供的技術方案帶來的有益效果是:通過采用鉤子Hook監(jiān)測Linux內核的系統(tǒng)調用,當監(jiān)測到設置了 Hook的系統(tǒng)調用被用戶態(tài)進程調用時,判斷用戶態(tài)進程是否存在于白名單中,當用戶態(tài)進程存在于白名單中時,允許用戶態(tài)進程調用系統(tǒng)調用,當用戶態(tài)進程不存在于白名單中時,禁止用戶態(tài)進程調用系統(tǒng)調用,可以對Linux系統(tǒng)運行的程序等進行有效檢測,對于Linux運行的惡意程序,后門木馬程序等進行及時攔截,是一種基于Linux系統(tǒng)的有效的主動防御方法。【附圖說明】為了更清楚地說明本專利技術實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本專利技術的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖1是本專利技術實施例提供的應用場景圖;圖2是本專利技術實施例一提供的基于Linux系統(tǒng)的主動防御方法的方法流程圖;圖3是本專利技術實施例二提供的基于Linux系統(tǒng)的主動防御方法的方法流程圖;圖4是本專利技術實施例三提供的基于Linux系統(tǒng)的主動防御裝置的結構示意圖;圖5是本專利技術實施例四提供的基于Linux系統(tǒng)的主動防御裝置的結構示意圖。【具體實施方式】為使本專利技術的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本專利技術實施方式作進一步地詳細描述。為了便于實施例的描述,下面先簡單介紹一下本專利技術中實施例的應用場景。參見圖1,多臺Linux主機Al與Linux服務器A2連接,這些Linux主機Al可以安裝不同發(fā)行版的Linux系統(tǒng),例如centos和ubuntu等。每個Linux主機Al中都存在用戶態(tài)進程(Ysec_agent) Cl和內核態(tài)進程(Ysec_kagent) C2, Linux服務器A2與用戶態(tài)進程Cl連接,并通過用戶態(tài)進程Cl向Linux主機Al發(fā)送防御策略,用戶態(tài)進程Cl將接收到的防御策略發(fā)送給內核態(tài)進程C2,用戶態(tài)進程Cl通過Netlink同內核態(tài)進程C2通信,Netlink是一種套接字,是用以實現(xiàn)用戶態(tài)進程Cl與內核態(tài)進程C2通信的一種特殊的進程間通信的常用接口。當然,這里設置一臺Linux服務器A2與多臺Linux主機Al連接的目的在于,實現(xiàn)在服務器端對主機防御策略的統(tǒng)一設置,方便管理。在主機較少的場合亦可以直接在主機上設置防御策略。本專利技術實施例中的基于Linux系統(tǒng)的主動防御裝置設置在上述Linux主機Al上。需要說明的是,以上所述的設備種類、連接關系和連接方式僅為舉例,本專利技術對此不作限制。實施例一本專利技術實施例提供了一種基于Linux系統(tǒng)的主動防御方法,適用于Linux主機,Linux系統(tǒng)包括用戶態(tài)進程和內核態(tài)進程,參見圖2,該方法包括:步驟101:采用鉤子Hook監(jiān)測Linux內核的系統(tǒng)調用。步驟102:當監(jiān)測到設置了 Hook的系統(tǒng)調用被用戶態(tài)進程調用時,判斷用戶態(tài)進程是否存在于白名單中。步驟103:當用戶態(tài)進程存在于白名單中時,允許用戶態(tài)進程調用系統(tǒng)調用;當用戶態(tài)進程不存在于白名單中時,禁止用戶態(tài)進程調用系統(tǒng)調用。其中,白名單包括一個或本文檔來自技高網...
【技術保護點】
一種基于Linux系統(tǒng)的主動防御方法,適用于Linux主機,其特征在于,所述方法包括:采用鉤子Hook監(jiān)測Linux內核的系統(tǒng)調用;當監(jiān)測到設置了所述Hook的系統(tǒng)調用被用戶態(tài)進程調用時,判斷所述用戶態(tài)進程是否存在于白名單中;當所述用戶態(tài)進程存在于所述白名單中時,允許所述用戶態(tài)進程調用所述系統(tǒng)調用;當所述用戶態(tài)進程不存在于所述白名單中時,禁止所述用戶態(tài)進程調用所述系統(tǒng)調用;所述白名單包括一個或多個允許執(zhí)行系統(tǒng)調用的用戶態(tài)進程。
【技術特征摘要】
1.一種基于Linux系統(tǒng)的主動防御方法,適用于Linux主機,其特征在于,所述方法包括: 采用鉤子Hook監(jiān)測Linux內核的系統(tǒng)調用; 當監(jiān)測到設置了所述Hook的系統(tǒng)調用被用戶態(tài)進程調用時,判斷所述用戶態(tài)進程是否存在于白名單中; 當所述用戶態(tài)進程存在于所述白名單中時,允許所述用戶態(tài)進程調用所述系統(tǒng)調用; 當所述用戶態(tài)進程不存在于所述白名單中時,禁止所述用戶態(tài)進程調用所述系統(tǒng)調用; 所述白名單包括一個或多個允許執(zhí)行系統(tǒng)調用的用戶態(tài)進程。2.根據權利要求1所述的方法,其特征在于,所述系統(tǒng)調用包括: 系統(tǒng)加載內核模塊、系統(tǒng)進程運行、系統(tǒng)重要配置文件的修改、系統(tǒng)執(zhí)行的命令、系統(tǒng)端口監(jiān)聽調用和系統(tǒng)注入調用。3.根據權利要求1所述的方法,其特征在于,所述采用鉤子Hook監(jiān)測Linux內核的系統(tǒng)調用,包括: 獲取當前Linux系統(tǒng)調用鏈表指針;獲取調用鏈表sys_call_table指針; 判斷所述當前Linux系統(tǒng)調用鏈表指針與所述調用鏈表sys_call_table指針是否相等; 當所述當前Linux系統(tǒng)調用鏈表指針與所述調用鏈表sys_call_table指針相等時,監(jiān)測所述Linux內核的系統(tǒng)調用。4.根據權利要求1~3任一項所述的方法,其特征在于,所述方法還包括: 獲取防御策略,所述防御策略包括Hook策略和所述白名單; 根據所述防御策略對所述Linux內核的系統(tǒng)調用設置Hook。5.根據權利要求4所述的方法,其特征在于,所述獲取防御策略,包括: 接收服務器下發(fā)的所述防御策略。6.一種基于Linux系統(tǒng)的主動防御裝置...
【專利技術屬性】
技術研發(fā)人員:韓方,張濤,
申請(專利權)人:廣州華多網絡科技有限公司,
類型:發(fā)明
國別省市:廣東;44
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。