亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種防止截獲系統(tǒng)接口的系統(tǒng)及方法

文檔序號:9397106閱讀:310來源:國知局
一種防止截獲系統(tǒng)接口的系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息安全技術(shù)領(lǐng)域,尤其涉及一種防止Xposed開源框架動態(tài)截獲系統(tǒng)接口的系統(tǒng)及方法。
【背景技術(shù)】
[0002]在Android系統(tǒng)快速發(fā)展的同時,用戶的使用水平也不斷的增強,由于Android有用戶權(quán)限之分,所以很多用戶通過軟件截獲獲取系統(tǒng)的Root權(quán)限稱為超級用戶(Root用戶)。然而在獲取Root權(quán)限的同時也讓一些惡意軟件有機可乘。通過Root權(quán)限截獲系統(tǒng)接口,以獲取用戶在日常行為中的一些隱私信息,對用戶的隱私造成危害。例如通過Xposed開源替換原系統(tǒng)中的/system/bin/app_process文件,并且通過注冊鉤子函數(shù)來勾取系統(tǒng)接口進而實現(xiàn)系統(tǒng)接口的截獲。

【發(fā)明內(nèi)容】

[0003]針對現(xiàn)有的Android系統(tǒng)存在的上述問題,現(xiàn)提供一種旨在實現(xiàn)防止惡意程序截獲系統(tǒng)接口的防止截獲系統(tǒng)接口的系統(tǒng)及方法。
[0004]具體技術(shù)方案如下:
[0005]—種防止截獲系統(tǒng)接口的系統(tǒng),應(yīng)用于Android中,包括:
[0006]—獲取單元,用以獲取用戶發(fā)送的執(zhí)行指令;
[0007]—判斷單元,連接所述獲取單元,用以判斷所述用戶是否為超級用戶,以獲取判斷結(jié)果;
[0008]—識別單元,分別連接所述獲取單元和所述判斷單元,提供一預(yù)設(shè)條件,所述識別單元用以根據(jù)所述判斷結(jié)果將所述執(zhí)行指令與所述預(yù)設(shè)條件進行匹配,以獲取匹配結(jié)果;
[0009]—處理單元,分別連接所述判斷單元和所述識別單元,用以根據(jù)所述判斷結(jié)果和/或所述匹配結(jié)果,執(zhí)行所述執(zhí)行指令;或
[0010]根據(jù)所述匹配結(jié)果停止執(zhí)行所述執(zhí)行指令。
[0011 ] 優(yōu)選的,所述執(zhí)行指令包括執(zhí)行主體和復(fù)數(shù)個參數(shù);
[0012]所述識別單元將所述執(zhí)行指令的所述執(zhí)行主體與預(yù)設(shè)主體進行匹配;
[0013]當不匹配時,所述處理單元執(zhí)行所述執(zhí)行指令;
[0014]當匹配時,所述識別單元將所述復(fù)數(shù)個參數(shù)依次與預(yù)設(shè)參數(shù)進行匹配;
[0015]當所述復(fù)數(shù)個參數(shù)均與所述預(yù)設(shè)參數(shù)不匹配時,所述處理單元執(zhí)行所述執(zhí)行指令;
[0016]當所述參數(shù)與所述預(yù)設(shè)參數(shù)匹配時,所述處理單元停止執(zhí)行所述執(zhí)行指令。
[0017]優(yōu)選的,還包括:
[0018]—存儲單元,分別連接所述獲取單元和所述識別單元,用以將所述復(fù)數(shù)個參數(shù)存入一預(yù)設(shè)的字符串數(shù)組中;
[0019]當所述執(zhí)行主體與預(yù)設(shè)主體匹配時,所述識別單元將所述存儲單元中的所述字符串數(shù)組中的所述復(fù)數(shù)個參數(shù)依次與所述預(yù)設(shè)參數(shù)進行匹配,以獲取每個所述匹配結(jié)果;
[0020]當所述匹配結(jié)果為匹配時,所述處理單元停止執(zhí)行所述執(zhí)行指令;
[0021]當所述復(fù)數(shù)個參數(shù)的匹配結(jié)果均為不匹配時,所述處理單元執(zhí)行所述執(zhí)行指令。
[0022]優(yōu)選的,所述預(yù)設(shè)主體為拷貝命令。
[0023]優(yōu)選的,所述預(yù)設(shè)參數(shù)為app-process。
[0024]—種防止截獲系統(tǒng)接口的方法,應(yīng)用于Android中,包括下述步驟:
[0025]S1.獲取用戶發(fā)送的執(zhí)行指令;
[0026]S2.判斷所述用戶是否為超級用戶,若是,執(zhí)行步驟S3 ;若否,執(zhí)行步驟S4 ;
[0027]S3.將所述執(zhí)行指令與所述條件進行匹配,若匹配,執(zhí)行步驟S5 ;若不匹配,執(zhí)行步驟S4 ;
[0028]S4.執(zhí)行所述執(zhí)行指令;
[0029]S5.停止執(zhí)行所述執(zhí)行指令。
[0030]優(yōu)選的,所述執(zhí)行指令包括執(zhí)行主體和復(fù)數(shù)個參數(shù),所述步驟S3包括:
[0031]S31.將所述執(zhí)行指令的所述執(zhí)行主體與預(yù)設(shè)主體進行匹配,若匹配,執(zhí)行所述步驟S4 ;若不匹配,執(zhí)行步驟S32 ;
[0032]S32.將所述復(fù)數(shù)個參數(shù)依次與預(yù)設(shè)參數(shù)進行匹配;
[0033]當所述復(fù)數(shù)個參數(shù)均與所述預(yù)設(shè)參數(shù)不匹配時,執(zhí)行所述步驟S4 ;
[0034]當所述參數(shù)與所述預(yù)設(shè)參數(shù)匹配時,執(zhí)行所述步驟S5。
[0035]優(yōu)選的,提供一存儲單元用以將所述復(fù)數(shù)個參數(shù)存入一預(yù)設(shè)的字符串數(shù)組中,在所述步驟S32中,將所述存儲單元中的所述字符串數(shù)組中所述復(fù)數(shù)個參數(shù)依次與所述預(yù)設(shè)參數(shù)進行匹配,以獲取每個所述匹配結(jié)果;
[0036]當所述匹配結(jié)果為匹配時,執(zhí)行所述步驟S5 ;
[0037]當所述復(fù)數(shù)個參數(shù)的匹配結(jié)果均為不匹配時,執(zhí)行所述步驟S4。
[0038]優(yōu)選的,所述預(yù)設(shè)主體為拷貝命令。
[0039]優(yōu)選的,所述預(yù)設(shè)參數(shù)為app-process。
[0040]上述技術(shù)方案的有益效果:
[0041]本技術(shù)方案中,防止截獲系統(tǒng)接口的系統(tǒng)通過判斷單元判斷用戶的權(quán)限,通過識別單元識別執(zhí)行指令的風(fēng)險,以防止惡意程序截獲系統(tǒng)接口。防止截獲系統(tǒng)接口的方法通過獲取用戶的權(quán)限及對執(zhí)行指令進行識別,以修改替換文件指令的流程來拒絕惡意程序替換體Andro i d系統(tǒng)中的文件,從而避免用戶隱私泄露。
【附圖說明】
[0042]圖1為本發(fā)明所述的防止截獲系統(tǒng)接口的系統(tǒng)的一種實施例的模塊圖;
[0043]圖2為本發(fā)明所述的防止截獲系統(tǒng)接口的方法的一種實施例的方法流程圖。
【具體實施方式】
[0044]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0045]需要說明的是,在不沖突的情況下,本發(fā)明中的實施例及實施例中的特征可以相互組合。
[0046]下面結(jié)合附圖和具體實施例對本發(fā)明作進一步說明,但不作為本發(fā)明的限定。
[0047]本發(fā)明基于如下發(fā)現(xiàn):
[0048]現(xiàn)有的Android系統(tǒng)中所有進程從根本上都是由init進程開啟的,在Android系統(tǒng)init進程開啟后會執(zhí)行init.rc腳本,此腳本中有如下一段腳本代碼:
[0049]Service zygote/system/bin/app_proces_Xzygote/system/bin—zygote—start-system-server,
[0050]通過此腳本代碼可以知init.rc腳本中會創(chuàng)建一個zygote進程。zygote進程是Android系統(tǒng)中最核心的進程,它會為每一個用戶進程創(chuàng)建一個Dalvik虛擬機,通過Dalvik虛擬機來處理用戶進程。zygote進程要執(zhí)行的主程序是系統(tǒng)中的/system/bin/app_process,由此可知 /system/bin/app_process 是 zygote 進程的主體。采用 zygote處理用戶進程的流程都是在app_process中完成。如果app_process文件在系統(tǒng)中被替換成一個注冊了一些系統(tǒng)接口對應(yīng)的鉤子函數(shù)的同名文件且執(zhí)行,即可通過被替換的app_process中注冊的鉤子函數(shù)來截獲系統(tǒng)接口,則會威脅到用戶的個人隱私。所謂鉤子函數(shù)就是鉤住系統(tǒng)接口,簡單來說就是系統(tǒng)在調(diào)用系統(tǒng)接口時被鉤子函數(shù)截獲,強行在調(diào)用系統(tǒng)接口的前后執(zhí)行一些鉤子函數(shù)自己的操作。在Android系統(tǒng)中Xposed框架由于其自身的特性容易被一些惡意程序所利用,通過Xposed框架會替換掉系統(tǒng)中的app_process文件,當Android系統(tǒng)開啟,zygote進程執(zhí)行已被替換了的app_process時,通過執(zhí)行此app_process來加載XposedBridge.jar包,注冊對應(yīng)系統(tǒng)接口的鉤子函數(shù)來實現(xiàn)對系統(tǒng)接口的截獲,以獲取用戶的隱私信息,造成用戶信息泄露。
[0051]基于上述問題,本發(fā)明旨在提供一種防止app_process被替換的防止截獲系統(tǒng)接口的系統(tǒng)及方法。
[0052]如圖1所示,一種防止截獲系統(tǒng)接口的系統(tǒng),應(yīng)用于Android中,包括:
[0053]—獲取單元1,用以獲取用戶發(fā)送的執(zhí)行指令;
[0054]—判斷單元2,連接獲取單元1,用以判斷用戶是否為超級用戶,以獲取判斷結(jié)果;
[0055]—識別單元4,分別連接獲取單元I和判斷單元2,提供一預(yù)設(shè)條件,識別單元4用以根據(jù)判斷結(jié)果將執(zhí)行指令與預(yù)設(shè)條件進行匹配,以獲取匹配結(jié)果;
[0056]—處理單元5,分別連接判斷單元2和識別單元4,用以根據(jù)判斷結(jié)果和/或匹配結(jié)果,執(zhí)行執(zhí)行指令;或
[0057]根據(jù)匹配結(jié)果停止執(zhí)行執(zhí)行指令。
[0058]在本實施例中,通過判斷單元2判斷用戶的權(quán)限,通過識別單元4識別執(zhí)行指令的風(fēng)險,以防止惡意程序截獲系統(tǒng)接口。
[0059]在優(yōu)選的實施例中,執(zhí)行指令包括執(zhí)行主體和復(fù)數(shù)個參數(shù);
[0060]識別單元4將執(zhí)行指令的執(zhí)行主體與預(yù)設(shè)主體進行匹配;
[0061]當不匹配時,處理單元5執(zhí)行執(zhí)行指令;
[0062]當匹配時,識別單元4將復(fù)數(shù)個參數(shù)依次與預(yù)設(shè)參數(shù)進行匹配;
[0063]當復(fù)數(shù)個參數(shù)均與預(yù)設(shè)參數(shù)不匹配時,處理單元5執(zhí)行執(zhí)行指令;
[0064]當參數(shù)與預(yù)設(shè)參數(shù)匹配時,處理單元5停止執(zhí)行執(zhí)行指令。
[0065]進一步地,預(yù)設(shè)主體可采用拷貝命令:cp,預(yù)設(shè)參數(shù)為app-process。
[0066]在本實施例中,拷貝命令主要指將相同文件名的文件拷貝到需要替換的原文件名所在的地址中,以實現(xiàn)將原文件替換掉的目的,也可是通過移動等操作將相同文件名的文件替換。
[0067]在Android系統(tǒng)中可通過拷貝指令來替換一個文件??截愇募闹噶畹母袷揭话愣际怯伞懊钪黧w參數(shù)I參數(shù)2..”來呈現(xiàn)。拷貝文件命令的格式為“命令主體,參數(shù)1,參數(shù)2..”其中“命令”為指令的主體,“參數(shù)I”和“參數(shù)2”為執(zhí)行指令時傳入的參數(shù)。當程序執(zhí)行指令時會按照命令的流程來執(zhí)行,其中會使用到傳入的參數(shù)。比如Xposed框架中會將框架中的app_process文件替換掉Android系統(tǒng)中/system/bin/目錄下的原app_process文件。這種替換是通過執(zhí)行替換文件的命令來實現(xiàn)的。通過拷貝可以作為替換命令的一種方法完成替換文件,命令的格式如下:
[0068]cp app_process/system/bin/,
[0069]在上述的命令中“cp”為拷貝文件命令的主體,實質(zhì)是一段程序?!癮pp_pr0CeSS”作為傳入命令主體的參數(shù)I是Xpos
當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1