欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種安卓用戶隱私數(shù)據(jù)訪問的系統(tǒng)調(diào)用級(jí)監(jiān)控方法

文檔序號(hào):9929759閱讀:596來源:國(guó)知局
一種安卓用戶隱私數(shù)據(jù)訪問的系統(tǒng)調(diào)用級(jí)監(jiān)控方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及智能移動(dòng)終端用戶隱私數(shù)據(jù)保護(hù)領(lǐng)域,具體涉及一種基于binder驅(qū)動(dòng)的安卓用戶隱私數(shù)據(jù)訪問的系統(tǒng)調(diào)用級(jí)監(jiān)控方法。
【背景技術(shù)】
[0002]作為當(dāng)下最流行的開源移動(dòng)設(shè)備操作平臺(tái),安卓系統(tǒng)中保存的用戶隱私數(shù)據(jù)從數(shù)量和重要程度上都不斷增加。隨著基于安卓平臺(tái)應(yīng)用的盛行,第三方移動(dòng)應(yīng)用訪問系統(tǒng)服務(wù)的行為逐漸常態(tài)化,但在自身功能不需要的情況下獲取其他隱私權(quán)限的行為,很容易導(dǎo)致用戶隱私數(shù)據(jù)的泄露,進(jìn)而對(duì)用戶的生活甚至財(cái)產(chǎn)造成不必要的損失。
[0003]第三方應(yīng)用程序訪問隱私數(shù)據(jù)時(shí),安卓通過binder進(jìn)程間通信機(jī)制遠(yuǎn)程調(diào)用系統(tǒng)服務(wù)來實(shí)現(xiàn)訪問。應(yīng)用程序首先查詢系統(tǒng)服務(wù),獲取該系統(tǒng)服務(wù)對(duì)應(yīng)的句柄值;獲取該句柄值后,通過遠(yuǎn)程服務(wù)調(diào)用接口封裝調(diào)用信息,并通過相關(guān)庫(kù)函數(shù)將訪問信息傳遞給binder驅(qū)動(dòng);binder驅(qū)動(dòng)根據(jù)句柄值查詢對(duì)應(yīng)系統(tǒng)服務(wù)并發(fā)起事務(wù),喚醒執(zhí)行線程;執(zhí)行線程獲取訪問事務(wù),提供服務(wù),返回訪問結(jié)果。
[0004]目前,針對(duì)第三方應(yīng)用隱私數(shù)據(jù)訪問的監(jiān)控機(jī)制主要分為兩大類:靜態(tài)的檢測(cè)管理以及動(dòng)態(tài)的分析控制。前者主要是在安裝手機(jī)應(yīng)用時(shí),對(duì)其申請(qǐng)的隱私訪問權(quán)限進(jìn)行靜態(tài)的分析并做相應(yīng)處理,即對(duì)待安裝的應(yīng)用程序進(jìn)行惡意檢測(cè),包括基于特征碼和基于行為的檢測(cè)方法。后者主要是針對(duì)已經(jīng)安裝的應(yīng)用程序,在其運(yùn)行過程中對(duì)其訪問隱私數(shù)據(jù)的行為進(jìn)行動(dòng)態(tài)控制,主要包括擴(kuò)展標(biāo)記追蹤、行為分析、接口模擬、應(yīng)用級(jí)的強(qiáng)制訪問控制、遠(yuǎn)程復(fù)制分析和標(biāo)簽化的追蹤,以及基于自定義應(yīng)用權(quán)限的隱私數(shù)據(jù)訪問動(dòng)態(tài)管理策略。作為最新的動(dòng)態(tài)分析控制機(jī)制,基于自定義應(yīng)用權(quán)限的隱私數(shù)據(jù)訪問動(dòng)態(tài)管理策略的主要思想是,對(duì)已安裝應(yīng)用進(jìn)行權(quán)限標(biāo)記,當(dāng)該應(yīng)用訪問隱私數(shù)據(jù)時(shí),通過查詢標(biāo)記的權(quán)限策略執(zhí)行相應(yīng)的處理流程。對(duì)比上述兩種類型的監(jiān)控機(jī)制,靜態(tài)機(jī)制分析時(shí)間長(zhǎng),精度不高,但是操作簡(jiǎn)單。動(dòng)態(tài)機(jī)制對(duì)應(yīng)用程序進(jìn)行細(xì)粒度的訪問控制,但實(shí)現(xiàn)相對(duì)復(fù)雜,而且會(huì)降低應(yīng)用程序的執(zhí)行效率和系統(tǒng)的穩(wěn)定性,以此為原理實(shí)現(xiàn)的安全軟件也有被應(yīng)用程序“繞過”監(jiān)控或者發(fā)生代理攻擊等風(fēng)險(xiǎn)。之所以會(huì)有這些問題,其中一個(gè)主要原因是安全軟件進(jìn)行動(dòng)態(tài)訪問管理時(shí)分析的是安卓框架層API接口級(jí)別的控制,粒度不夠精細(xì),對(duì)系統(tǒng)內(nèi)部深入程度不夠,而且無法防范服務(wù)程序被劫持的安全攻擊,對(duì)于事后審計(jì)和分析而言粒度也比較粗。

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

[0005]本發(fā)明的目的在于針對(duì)上述現(xiàn)有技術(shù)中的問題,提供一種安卓用戶隱私數(shù)據(jù)訪問的系統(tǒng)調(diào)用級(jí)監(jiān)控方法,該方法能夠深入系統(tǒng)內(nèi)部,獲取應(yīng)用程序訪問隱私數(shù)據(jù)過程中發(fā)生的系統(tǒng)調(diào)用級(jí)信息,不僅有利于排查安全泄露原因,而且對(duì)于執(zhí)行更精細(xì)的安全策略也有重要意義。
[0006]為了實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案包括以下步驟:
[0007]步驟一:標(biāo)記隱私系統(tǒng)服務(wù);
[0008](1.1)在系統(tǒng)服務(wù)注冊(cè)時(shí),通過待注冊(cè)服務(wù)名稱判斷待注冊(cè)服務(wù)的類型,如果是隱私服務(wù),則執(zhí)行步驟(1.2);如果是普通服務(wù),則執(zhí)行步驟(1.3);
[0009](1.2)調(diào)用隱私服務(wù)注冊(cè)命令注冊(cè)服務(wù),執(zhí)行步驟(1.4);
[0010](1.3)調(diào)用原系統(tǒng)服務(wù)注冊(cè)命令注冊(cè)服務(wù);
[0011 ] (1.4)在binder驅(qū)動(dòng)中收到注冊(cè)服務(wù)請(qǐng)求時(shí),倉(cāng)Ij建binder實(shí)體對(duì)象對(duì)應(yīng)的描述結(jié)構(gòu)體變量node,并在其原描述結(jié)構(gòu)中增加隱私標(biāo)識(shí)need_trace成員,初始化need_trace成員的值為0,并判斷此時(shí)調(diào)用命令是否為隱私服務(wù)注冊(cè)命令,是則執(zhí)行步驟(1.5);不是則執(zhí)行步驟(1.6);
[0012](1.5)恢復(fù)注冊(cè)命令為普通注冊(cè)命令,修改node結(jié)構(gòu)中的need_trace標(biāo)識(shí)為I ;
[0013](1.6)正常執(zhí)行注冊(cè)請(qǐng)求;
[0014]步驟二:隱私服務(wù)訪問請(qǐng)求處理;
[0015](2.1)服務(wù)請(qǐng)求線程執(zhí)行到binder驅(qū)動(dòng)中時(shí),判斷請(qǐng)求是否涉及隱私服務(wù),涉及則執(zhí)行步驟(2.2);不涉及則執(zhí)行步驟(2.3);
[0016](2.2)生成訪問事務(wù)結(jié)構(gòu)體11,并將其成員變量1^6(1_丨瓜06標(biāo)識(shí)置為1 ;
[0017](2.3)正常處理訪問請(qǐng)求,發(fā)送事務(wù)Tl;
[0018](2.4)提供服務(wù)的線程執(zhí)行到binder驅(qū)動(dòng)中時(shí),判斷事務(wù)Tl的成員need_trace的值,如果是I,則執(zhí)行步驟(2.5);如果是-1,則執(zhí)行步驟(2.6);否則執(zhí)行步驟(2.7);
[0019](2.5)新建 binder_transact1n 類型的事務(wù) T2 ;
[0020](2.6)執(zhí)行處理監(jiān)控事務(wù);
[0021](2.7)執(zhí)行隱私服務(wù)訪問的線程獲取監(jiān)控任務(wù)Tl返回到用戶空間后,獲取Tl的BR_TRANSACT〗ON請(qǐng)求命令及數(shù)據(jù) binder_transact 1n_data,判斷binder_transact1n_data中的成員%11(1#_1^(1的值是否為負(fù)數(shù),是則執(zhí)行步驟(2.8);不是則執(zhí)行步驟(2.9);
[0022](2.8)同步等待監(jiān)控線程的啟動(dòng);
[0023](2.9)處理服務(wù)訪問事務(wù)后續(xù)流程;
[0024]步驟三:處理監(jiān)控事務(wù);
[0025](3.1)監(jiān)控線程獲取監(jiān)控事務(wù)后,解析該監(jiān)控事務(wù)的請(qǐng)求數(shù)據(jù);
[0026](3.2)根據(jù)請(qǐng)求數(shù)據(jù)中的%11(1紅_?1(1成員變量得到待監(jiān)控目標(biāo)線程號(hào);
[0027](3.3)按照如下步驟監(jiān)控目標(biāo)線程:
[0028](3.3a)根據(jù)獲取的線程號(hào),通過ptraceO調(diào)用PTRACE_ATTACH命令劫持目標(biāo)線程;
[0029](3.3b)根據(jù)獲取的線程號(hào)生成“‘debug, t’+線程號(hào)+‘.started’”類型的字符串;
[0030](3.3c)設(shè)置以該字符串為名稱參數(shù)的全局屬性變量,設(shè)置其值為“true”;
[0031 ] (3.3d)通過wait()等待劫持的目標(biāo)線程信號(hào);
[0032](3.3e)獲取信號(hào)后,通過ptrace ()調(diào)用PTRACE_PEEKTEXT命令獲取當(dāng)前系統(tǒng)寄存器的值,并返回系統(tǒng)調(diào)用號(hào)和系統(tǒng)調(diào)用的返回值;
[0033](3.3f)獲取(3.3b)中定義的全局屬性變量,并判斷其值,如果是“false”則執(zhí)行步驟(3.3h);
[0034](3.3g)通過ptrace ()調(diào)用PTRACE_SYSCALL命令監(jiān)控目標(biāo)線程,跳轉(zhuǎn)到步驟(3.3d);
[0035](3.汕)通過p trace ()調(diào)用PTRACE_DETACH命令釋放監(jiān)控;
[0036](3.3i)返回上層調(diào)用并返回監(jiān)控服務(wù)結(jié)果I,1代表隱私監(jiān)控任務(wù)執(zhí)行成功;
[0037](3.4)完成監(jiān)控任務(wù)后,根據(jù)監(jiān)控結(jié)果處理返回值;如果結(jié)果返回為I則執(zhí)行步驟
(3.5);非I則執(zhí)行步驟(3.6);
[0038](3.5)釋放監(jiān)控任務(wù)緩沖區(qū);
[0039](3.6)執(zhí)行正常返回處理過程;
[0040]步驟四:處理隱私訪問返回結(jié)果;
[0041](4.1)提供服務(wù)的線程完成隱私訪問后,在binder驅(qū)動(dòng)中獲取處理事務(wù),通過返回事務(wù)成員neecLtrace的值判斷該任務(wù)是否為隱私訪問事務(wù),如是則執(zhí)行步驟(4.2),否則執(zhí)行步驟(4.4);
[0042](4.2)處理隱私訪問返回事務(wù);
[0043](4.3)提供服務(wù)的線程獲取確認(rèn)返回事務(wù)返回到用戶空間后,處理81?_?11?5冊(cè)0事務(wù);
[0044](4.4)完成系統(tǒng)缺省流程,整個(gè)隱私訪問完成。
[0045]所述的步驟(2.5)新建binder_transact1n類型事務(wù)T2的步驟為:
[0046](2.5a)查找提供監(jiān)控任務(wù)的服務(wù)進(jìn)程;
[0047](2.5b)新建監(jiān)控事務(wù)T2,并將T2的目標(biāo)進(jìn)程初始化為步驟(2.5a)查找到的服務(wù)進(jìn)程;
[0048](2.5c)初始化事務(wù)T2的code成員為當(dāng)前執(zhí)行線程號(hào);
[0049 ](2.5d)通過memmo ve O拷貝TI中隱私訪問的數(shù)據(jù)到T2;
[0050](2.f5e)設(shè)置事務(wù)T2成員need_trace為-1 ;
[0051 ](2.5f)設(shè)置事務(wù) T2 成員 need_reply 為 O ;
[0052](2.5e)設(shè)置事務(wù)T2成員sender_pid的值為原數(shù)值的負(fù)數(shù);
[0053](2.5g)按原流程初始化T2的其他成員;
[0054](2.5h)添加事務(wù)T2并喚醒目標(biāo)進(jìn)程線程池中的一個(gè)空閑線程。
[0055]所述的步驟(2.6)執(zhí)行處理監(jiān)控事務(wù)的步驟為:
[0056](2.6a)創(chuàng)建初始化事務(wù)描述結(jié)構(gòu)tr并初始化其成員code為監(jiān)控模塊中監(jiān)控服務(wù)代碼;
[°°57 ](2.6b)初始化事務(wù)描述結(jié)構(gòu)tr成員sender_p id為事務(wù)T2成員code的值;
[0058](2.6c)初始化tr的其他成員;
[0059](2.6d)通過kfree()釋放監(jiān)控事務(wù)T2。
[0060]所述的步
當(dāng)前第1頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
察雅县| 年辖:市辖区| 沙坪坝区| 舞钢市| 大丰市| 沽源县| 榆中县| 吴旗县| 开平市| 赣州市| 江达县| 夏津县| 黄山市| 韩城市| 湖北省| 望奎县| 金平| 仁化县| 阳高县| 黎川县| 和静县| 太谷县| 永新县| 南木林县| 福贡县| 玉门市| 樟树市| 佛教| 吐鲁番市| 惠水县| 滕州市| 黎平县| 交口县| 孟村| 驻马店市| 罗江县| 尼木县| 祁阳县| 青岛市| 皋兰县| 鹤壁市|