本發明專利技術公布了一種針對Android系統App行為的監控方法,首先編寫內核模塊,通過編寫自己的Android內核模塊,進行交叉編譯;然后將模塊加載到Android系統中,通過對特定的函數(如讀取通訊錄等相關信息的函數)進行攔截,獲得到相應的系統調用信息,包括如是哪個進程讀取的等信息;再將相應記錄信息返回給應用層,形成相應的監控日志文件,實現對整個Android系統的系統調用的攔截與監控。本發明專利技術無論對應用層還是Native層產生的系統調用均能進行監控,相比現有的針對應用層的一些監控方法,能夠保護得更加徹底,對手機的安全防護性也更強;使用戶對安裝的軟件的行為了如指掌,能夠及時發現軟件的惡意行為。
【技術實現步驟摘要】
本專利技術涉及Android系統Application(App)軟件安全技術,尤其涉及一種基于Android系統的App敏感行為監控的方法。
技術介紹
智能手機相對于傳統普通手機擁有更豐富的功能和更強的數據處理能力,而近年來發展迅速的Android系統具有開源、可移植性強等優點,越來越多的手機采用Android系統作為手機操作系統。隨著Android智能手機的普及,Android智能手機暴露出來的安全性問題越來越多。因此,如何保護Android智能手機的安全,是一個非常重要的課題。Android手機市場上有大量可供下載的app,有一些應用是安全的;也有一些app可能被植入了病毒、木馬,一旦用戶下載并安裝了相應的app,可能會造成很多問題,如重要隱私的泄露,手機流量被盜用,手機被監聽等等,這些都會對用戶造成重大的損失。不管是什么木馬病毒,它們要想對系統進行信息竊取,對系統進行監控等都必須通過系統調用來實現相關的功能。因此,針對上述問題,可通過對相應的系統調用進行攔截來解決。目前,市場上的一些安全軟件大都是在應用層對系統調用進行監控,例如,開源的Xposed框架被很多安全軟件采用,這種方法只能攔截到應用層的系統調用。而如果木馬植入在Native層,在這種情況下,現有這些安全軟件無法通過對相應的系統調用來攔截到木馬行為。
技術實現思路
為了克服上述現有技術的不足,本專利技術提供一種基于Android系統Application(App)敏感行為監控的方法,通過安全內核實現方法在Android內核層添加模塊,實現對整個Android系統的系統調用的攔截與監控,從而使用戶對安裝的軟件的行為了如指掌,能夠及時發現軟件的惡意行為。對于Android系統,無論是在應用層還是在Native層對系統進行調用,都會進行內核層的系統調用,因此,可以通過在內核層對系統調用進行監控和攔截,以達到安全保護的目的。由于本專利技術提供的方法對Native層產生的系統調用也能進行監控,這種基于內核層的軟件調用監控比現有的針對應用層的一些監控框架如Xposed等,能夠保護得更加徹底,對手機的安全防護性也更強。本專利技術提供的技術方案是:一種針對Android系統App行為的監控方法,通過安全內核實現方法在Android內核層添加模塊,實現對整個Android系統的系統調用的攔截與監控;包括如下步驟:S1.編寫內核模塊;所述編寫的內核模塊用于實現如下操作:a)獲取系統調用表;b)編寫自定義函數;c)用所述自定義函數的地址替換所述系統調用表里面的系統調用函數;d)通過所述自定義函數獲取相關進程信息;e)編寫Netlink socket通信模塊,用于將所述相關進程信息傳遞給應用層;S2.在步驟S1編寫的內核模塊中,通過hook方法實現對系統調用函數的替換;S3.將步驟S1編寫的內核模塊加載到內核中去,實現對替換調用函數的攔截,攔截得到調用函數;S4.設定監控目標,包括設定敏感數據和操作,判斷攔截得到的調用函數是否對所述設定的敏感數據進行了設定操作;當發生有所述設定時,記錄調用函數操作的進程信息,再執行步驟S5;當沒有發生所述設定操作時,結束操作;S5.通過內核模塊編寫的Netlink Socket通信功能,將所述記錄的調用函數操作的進程信息傳遞給上層接收程序,形成日志文件。針對上述針對Android系統App行為的監控方法,進一步地,步驟S1的e)中,所述通信模塊采用Linux API hook、Inline hook和Netlink socket通信中的一種。在本專利技術實施例中,所述通信模塊采用Netlink socket通信。針對上述針對Android系統App行為的監控方法,進一步地,步驟S2所述hook方法具體包括:首先編寫自定義函數;再通過將自定義函數的地址替換系統調用函數的地址,實現對系統調用函數的替換;所述系統調用函數的地址通過步驟S1獲取的系統調用表得到。所述hook方法具體通過使用Linux hook api和inline hook對系統調用進行處理,實現對系統調用函數的替換。所述系統調用表地址的獲取具體是通過代碼來模仿swi中斷,在中斷過程中將系統調用
表的地址放入tb1寄存器中,由此獲得所述系統調用表地址。所述自定義函數的參數列表必須和相應的系統調用函數的參數列表一致,并且在自定義函數的尾部要繼續調用所述相應的系統函數,從而使得所述自定義函數能夠正確返回。針對上述針對Android系統App行為的監控方法,進一步地,步驟S4所述調用函數操作的進程信息還包括:通過獲取所述進程的上下文而獲得的其他信息。與現有技術相比,本專利技術的有益效果是:本專利技術提供一種基于Android系統App敏感行為監控的安全內核實現方法,通過在Android內核層添加模塊的方法,實現對整個Android系統的系統調用的攔截與監控,從而使用戶對安裝的軟件的行為了如指掌,能夠及時發現軟件的惡意行為。本專利技術通過編寫自己的Android內核模塊,進行交叉編譯,然后將模塊加載到Android系統中,通過對特定的函數(如讀取通訊錄等相關信息的函數)進行攔截,獲得到相應的系統調用信息。系統調用信息包括:讀取的進程(是哪個進程讀取的)等。然后將相應記錄信息返回給應用層,形成相應的日志文件。本專利技術提供的安全內核實現方法無論對應用層還是Native層產生的系統調用均能進行監控,這種基于內核層的軟件調用監控比現有的針對應用層的一些監控框架如Xposed等方法,能夠保護得更加徹底,對手機的安全防護性也更強。附圖說明圖1是本專利技術實施例中基于Android系統App敏感行為監控的安全內核實現方法的流程框圖。具體實施方式下面結合附圖,通過實施例進一步描述本專利技術,但不以任何方式限制本專利技術的范圍。本專利技術提供一種基于Android系統App敏感行為監控的安全內核實現方法,通過在Android內核層添加模塊的方法,實現對整個Android系統的系統調用的攔截與監控。具體地,通過編寫自己的Android內核模塊,進行交叉編譯,然后將模塊加載到Android系統中,通過對特定的函數(如讀取通訊錄等相關信息的函數)進行攔截,獲得到相應的系統調用信息。系統調用信息包括:讀取的進程(是哪個進程讀取的)等。再將相應記錄信息返回給應用層,
形成相應的監控日志文件。本專利技術包括如下步驟:S1.編寫內核模塊,獲取系統調用表地址;在編寫的內核模塊中實現獲取系統調用表地址;通過編寫的內核模塊,可進一步執行并實現以下幾方面操作:f)獲取系統調用表;g)編寫自定義函數;h)用自定義函數地址替換系統調用表里面的系統調用函數;i)在自定義的函數里面獲取相關的進程信息;j)把進程信息通過自己編寫的通信模塊(采用Netlink socket通信)傳遞給應用層;k)應用層接收相應的信息并生成日志文件。S2.在內核模塊里面通過hook技術實現對系統調用函數的替換;首先編寫自定義函數;再通過將自定義函數的地址替換系統調用函數的地址,實現對系統調用函數的替換。其中,系統調用函數的地址通過步驟S1獲取的系統調用表得到。S3.將步驟S1編寫的內核模塊加載到內核中去,實現對替換調用函數的攔截;S4.判斷攔截下來的調用函數是否對我本文檔來自技高網...
【技術保護點】
一種針對Android系統App行為的監控方法,通過安全內核實現方法在Android內核層添加模塊,實現對整個Android系統的系統調用的攔截與監控;包括如下步驟:S1.編寫內核模塊;所述編寫的內核模塊用于實現如下操作:a)獲取系統調用表;b)編寫自定義函數;c)用所述自定義函數的地址替換所述系統調用表里面的系統調用函數;d)通過所述自定義函數獲取相關進程信息;e)編寫Netlink?socket通信模塊,用于將所述相關進程信息傳遞給應用層;S2.在步驟S1編寫的內核模塊中,通過hook方法實現對系統調用函數的替換;S3.將步驟S1編寫的內核模塊加載到內核中去,實現對替換調用函數的攔截,攔截得到調用函數;S4.設定監控目標,包括設定敏感數據和操作,判斷攔截得到的調用函數是否對所述設定的敏感數據進行了設定操作;當發生有所述設定時,記錄調用函數操作的進程信息,再執行步驟S5;當沒有發生所述設定操作時,結束操作;S5.通過內核模塊編寫的Netlink?Socket通信功能,將所述記錄的調用函數操作的進程信息傳遞給上層接收程序,形成日志文件。
【技術特征摘要】
1.一種針對Android系統App行為的監控方法,通過安全內核實現方法在Android內核層添加模塊,實現對整個Android系統的系統調用的攔截與監控;包括如下步驟:S1.編寫內核模塊;所述編寫的內核模塊用于實現如下操作:a)獲取系統調用表;b)編寫自定義函數;c)用所述自定義函數的地址替換所述系統調用表里面的系統調用函數;d)通過所述自定義函數獲取相關進程信息;e)編寫Netlink socket通信模塊,用于將所述相關進程信息傳遞給應用層;S2.在步驟S1編寫的內核模塊中,通過hook方法實現對系統調用函數的替換;S3.將步驟S1編寫的內核模塊加載到內核中去,實現對替換調用函數的攔截,攔截得到調用函數;S4.設定監控目標,包括設定敏感數據和操作,判斷攔截得到的調用函數是否對所述設定的敏感數據進行了設定操作;當發生有所述設定時,記錄調用函數操作的進程信息,再執行步驟S5;當沒有發生所述設定操作時,結束操作;S5.通過內核模塊編寫的Netlink Socket通信功能,將所述記錄的調用函數操作的進程信息傳遞給上層接收程序,形成日志文件。2.如權利要求1所述針對Android系統App行為的監控方法,其特征是,步驟S1的e)中,所述通信模塊采用Netlink ...
【專利技術屬性】
技術研發人員:文偉平,
申請(專利權)人:北京鼎源科技有限公司,
類型:發明
國別省市:北京;11
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。