• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于虛擬機(jī)字節(jié)碼注入的Android 應(yīng)用程序隱私保護(hù)機(jī)制

    2021-07-16 13:05:28宋宇波陳琪宋睿胡愛群
    通信學(xué)報(bào) 2021年6期
    關(guān)鍵詞:安全策略調(diào)用字節(jié)

    宋宇波,陳琪,宋睿,胡愛群

    (1.東南大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,江蘇 南京 211189;2.東南大學(xué)江蘇省計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)重點(diǎn)實(shí)驗(yàn)室,江蘇 南京 211189;3.網(wǎng)絡(luò)通信與安全紫金山實(shí)驗(yàn)室,江蘇 南京 211189;4.東南大學(xué)信息科學(xué)與工程學(xué)院,江蘇 南京 211189)

    1 引言

    目前,手機(jī)已成為人們生活不可分割的一部分,人們通過手機(jī)進(jìn)行視頻通信、電子商務(wù)和網(wǎng)絡(luò)教學(xué)等活動(dòng)。由于手機(jī)和個(gè)人信息的高度捆綁,惡意攻擊者開始攻擊智能設(shè)備,導(dǎo)致用戶的敏感信息和個(gè)人隱私數(shù)據(jù)泄露。在眾多智能終端中,安裝了Android 系統(tǒng)的終端占有最大比例,這意味著Android系統(tǒng)所受到的惡意攻擊和安全威脅也最多。Android系統(tǒng)的安全機(jī)制存在幾個(gè)關(guān)鍵的薄弱環(huán)節(jié)。

    1) Android 系統(tǒng)的碎片化問題給該系統(tǒng)的安全防護(hù)帶來了巨大的障礙。Google 官方發(fā)布的系統(tǒng)補(bǔ)丁只優(yōu)先提供給Android 系統(tǒng)的最新發(fā)行版本,通常并不承諾甚至拒絕前向兼容舊版本的系統(tǒng)[1]。因此,大量安裝了舊版本Android 系統(tǒng)的設(shè)備只能被動(dòng)地等待各級(jí)系統(tǒng)提供商發(fā)布更新補(bǔ)丁。

    2) Android 系統(tǒng)采用基于權(quán)限的安全模型來保護(hù)用戶的敏感資源和個(gè)人隱私,然而這種通用的模型并不能滿足某些特定的安全需求。一些個(gè)人和組織出于使用環(huán)境或場(chǎng)景的考慮,有強(qiáng)烈動(dòng)機(jī)需要對(duì)特定應(yīng)用程序執(zhí)行定制的安全防護(hù)策略[2-3],僅依靠Android 系統(tǒng)的安全架構(gòu)完全無法滿足這一需求。

    3) 與另一個(gè)主要的移動(dòng)設(shè)備操作系統(tǒng)iOS 不同,Android 系統(tǒng)并不強(qiáng)制要求統(tǒng)一的應(yīng)用程序發(fā)布和審查機(jī)制。Android 系統(tǒng)的應(yīng)用程序不需要經(jīng)過充分有效的審核流程就可以被安裝到設(shè)備上,這給Android 系統(tǒng)用戶帶來了巨大的安全風(fēng)險(xiǎn)。

    針對(duì)上述安全漏洞和惡意攻擊方法,已經(jīng)有很多研究者提出了各種分析和檢測(cè)Android 系統(tǒng)惡意應(yīng)用的方案,并且開發(fā)了許多技術(shù)和工具[4-6]。研究者通常采用靜態(tài)代碼分析或動(dòng)態(tài)運(yùn)行時(shí)檢測(cè)等手段對(duì)惡意應(yīng)用軟件進(jìn)行檢測(cè)與甄別[7]。靜態(tài)檢測(cè)通常通過分析 Android應(yīng)用程序的AndroidManifest.xml 文件來考察應(yīng)用程序的權(quán)限調(diào)用情況,或者逆向得到應(yīng)用程序的源代碼,并對(duì)代碼的執(zhí)行邏輯進(jìn)行分析。然而,考慮到Android 應(yīng)用程序的軟件規(guī)模與日俱增,同時(shí)代碼混淆和加固技術(shù)被廣泛應(yīng)用于軟件發(fā)布和打包過程,靜態(tài)源代碼分析的甄別能力極其有限。相對(duì)地,動(dòng)態(tài)分析方法能夠從程序執(zhí)行邏輯層面考察應(yīng)用程序的行為,通常構(gòu)建獨(dú)立檢測(cè)環(huán)境并將應(yīng)用程序置于該環(huán)境中,通過污點(diǎn)分析、黑盒測(cè)試等方式對(duì)應(yīng)用程序進(jìn)行分析和測(cè)試[8]。然而,現(xiàn)在的惡意攻擊者能夠檢測(cè)應(yīng)用程序運(yùn)行時(shí)是否處于被監(jiān)控環(huán)境或仿真器環(huán)境下,進(jìn)而使其惡意邏輯失活從而逃避動(dòng)態(tài)運(yùn)行時(shí)檢測(cè)[9]。

    靜態(tài)分析和動(dòng)態(tài)分析等手段是對(duì)惡意應(yīng)用程序進(jìn)行甄別,并對(duì)甄別出的應(yīng)用程序進(jìn)行相應(yīng)的封禁處理。這些已有的研究無法解決新的Android 版本中增加的動(dòng)態(tài)權(quán)限申請(qǐng)?zhí)匦詭淼淖R(shí)別困難問題,也無法解決利用反射特性等技術(shù)進(jìn)行動(dòng)態(tài)代碼構(gòu)造的惡意應(yīng)用程序的識(shí)別問題。

    基于此,本文設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)Android 應(yīng)用程序的動(dòng)態(tài)策略權(quán)限控制系統(tǒng),可根據(jù)用戶需求實(shí)施權(quán)限控制和生成安全策略。該系統(tǒng)基于Android的虛擬機(jī)字節(jié)碼注入技術(shù),在目標(biāo)應(yīng)用程序涉及敏感操作和危險(xiǎn)權(quán)限調(diào)用的方法單元中添加安全策略執(zhí)行代碼,并通過Java 反射特性動(dòng)態(tài)地調(diào)用安全功能,在安全需求發(fā)生變更時(shí)動(dòng)態(tài)切換權(quán)限控制級(jí)別,而不需要重新注入字節(jié)碼或?qū)?yīng)用程序進(jìn)行重打包。通過這種權(quán)限策略控制,用戶和組織能夠根據(jù)需求動(dòng)態(tài)地允許或禁止應(yīng)用程序的權(quán)限授予和使用,從而更好地保護(hù)個(gè)人和組織隱私安全。

    2 相關(guān)工作

    Android 移動(dòng)操作系統(tǒng)的安全性構(gòu)建在以權(quán)限系統(tǒng)為基礎(chǔ)的敏感資源訪問模型上,這些敏感資源包括但不限于位置信息,以及相機(jī)傳感器、麥克風(fēng)、通信錄和SMS(short messaging service)的信息等。通常,若一個(gè)Android 應(yīng)用程序企圖獲取對(duì)某個(gè)敏感資源的訪問權(quán)限,就必須在Android Manifest.xml清單中顯式地聲明所需的權(quán)限。而用戶可以選擇授予或者不授予該權(quán)限。但是,這樣的權(quán)限系統(tǒng)正在被一些應(yīng)用程序?yàn)E用,這些應(yīng)用程序聲明的權(quán)限遠(yuǎn)多于實(shí)現(xiàn)必要功能所必需的權(quán)限[10]。Felt 等[11]考察了應(yīng)用市場(chǎng)上的相當(dāng)一部分應(yīng)用程序,并發(fā)現(xiàn)大量應(yīng)用程序都存在上述問題。更糟糕的是,每當(dāng)操作系統(tǒng)或者應(yīng)用程序更新時(shí),這些惡意的應(yīng)用程序都可以通過更新累積的方式進(jìn)行特權(quán)升級(jí),從而在靜默狀態(tài)下轉(zhuǎn)換成惡意軟件[12]。

    針對(duì)上述問題,近年來相關(guān)領(lǐng)域研究者主要采用靜態(tài)分析和動(dòng)態(tài)分析2 種思路來進(jìn)行惡意軟件檢測(cè)與防護(hù)。靜態(tài)分析方法主要利用靜態(tài)代碼分析的手段來檢查應(yīng)用程序是否包含異常的權(quán)限申請(qǐng)和信息流[13],具有較好的可擴(kuò)展性,可以從較大數(shù)量級(jí)的應(yīng)用程序中快速篩選出可疑的應(yīng)用程序。作為一個(gè)面向普通消費(fèi)者的商業(yè)級(jí)操作系統(tǒng),Android系統(tǒng)需要面對(duì)各種應(yīng)用場(chǎng)景,因此必須使用事件驅(qū)動(dòng)的設(shè)計(jì)思路,具體來說就是廣泛利用生命周期鉤子和GUI(graphical user interface)回調(diào)處理來處理用戶的實(shí)時(shí)請(qǐng)求。運(yùn)行時(shí)的權(quán)限申請(qǐng)控制和數(shù)據(jù)流并非總可以通過靜態(tài)代碼分析檢測(cè)出來,因?yàn)閼?yīng)用程序的執(zhí)行流程取決于具體的運(yùn)行時(shí)環(huán)境和用戶行為[14]。另外,靜態(tài)分析方法檢測(cè)通過動(dòng)態(tài)代碼構(gòu)造的惡意行為,如通過Java 反射機(jī)制調(diào)用敏感應(yīng)用程序接口(API,application programming interface)的能力極其有限。惡意攻擊者通常能夠輕易攻擊這一缺陷構(gòu)造,采用代碼混淆[15]或代碼異變[16]的方法來誤導(dǎo)靜態(tài)檢查機(jī)制。Suarez 等[17]提出了以資源為中心的新的靜態(tài)分析方法以克服上述的限制,但是惡意程序仍然可以通過采用資源混淆的方法來規(guī)避以資源調(diào)用為中心的檢測(cè)系統(tǒng)[18]。

    相比之下,動(dòng)態(tài)分析提供了檢測(cè)和防護(hù)惡意應(yīng)用程序的補(bǔ)充和完善方法。常用的動(dòng)態(tài)檢測(cè)方法包括基于行為的惡意軟件檢測(cè)[19]、基于系統(tǒng)API 調(diào)用追蹤的程序行為建模[20-21]以及基于資源利用的已用程序行為分析[22]。在動(dòng)態(tài)分析領(lǐng)域,機(jī)器學(xué)習(xí)技術(shù)越來越廣泛地應(yīng)用于區(qū)分惡意應(yīng)用和良性應(yīng)用。然而,當(dāng)惡意應(yīng)用對(duì)系統(tǒng)調(diào)用進(jìn)行代碼混淆時(shí),基于系統(tǒng)調(diào)用分析的動(dòng)態(tài)檢測(cè)系統(tǒng)仍然有可能被規(guī)避[23]。

    綜上所述,無論是靜態(tài)檢測(cè)還是動(dòng)態(tài)檢測(cè)方法,都存在固有的弊端,并不適用于全部的Android應(yīng)用程序。這些方法主要著眼于分類并甄別出惡意應(yīng)用,而很少討論應(yīng)該如何對(duì)甄別出的惡意應(yīng)用的攻擊行為進(jìn)行防護(hù)。

    此外,也有一些研究在字節(jié)碼級(jí)別上對(duì)需要提供安全性的方法單元添加安全功能。Lee 等[24]提出了一種使用應(yīng)用程序包裝技術(shù)的方案,在代碼的方法上添加必要的安全功能。該方案在字節(jié)碼級(jí)別添加了安全功能,而不依賴Android 的Java 或Kotlin源代碼。具體地,該方案將所需的安全功能封裝成字節(jié)碼級(jí)別的smali 代碼,并在需要安全性的方法點(diǎn)上將這些代碼注入應(yīng)用程序中。這種方法的缺點(diǎn)很明顯,它是在靜態(tài)策略的基礎(chǔ)上運(yùn)行的,這意味著每當(dāng)更改安全策略時(shí),都需要重新提取并注入安全代碼,并重新包裝應(yīng)用程序。

    針對(duì)這些問題,本文提出了一種基于虛擬機(jī)字節(jié)碼的動(dòng)態(tài)安全策略控制方法,該方法能夠檢測(cè)Android 應(yīng)用程序中涉及危險(xiǎn)權(quán)限請(qǐng)求和敏感數(shù)據(jù)訪問的代碼單元,并將用戶指定的安全策略以虛擬機(jī)字節(jié)碼的形式注入相應(yīng)代碼位置,依照用戶的安全需求對(duì)應(yīng)用程序的危險(xiǎn)行為進(jìn)行防護(hù)和控制,并根據(jù)用戶所指定的安全策略的變更而動(dòng)態(tài)調(diào)整控制級(jí)別。

    3 基于字節(jié)碼注入的應(yīng)用隱私保護(hù)機(jī)制

    本文提出了一種控制Android 應(yīng)用程序?qū)τ脩裘舾行畔⒃L問和危險(xiǎn)權(quán)限調(diào)用的隱私保護(hù)系統(tǒng)(下文簡(jiǎn)稱為本系統(tǒng)),其基于安全策略生成的虛擬機(jī)字節(jié)碼注入技術(shù),通過在目標(biāo)應(yīng)用程序中注入控制機(jī)制以限制危險(xiǎn)權(quán)限的訪問并強(qiáng)制規(guī)范應(yīng)用程序的行為。本系統(tǒng)基于動(dòng)態(tài)安全策略生成機(jī)制,這意味著系統(tǒng)所應(yīng)用的安全策略可以根據(jù)用戶需求動(dòng)態(tài)調(diào)整,該機(jī)制通過將安全約束規(guī)范和具體代碼行為解耦合來實(shí)現(xiàn)動(dòng)態(tài)性和靈活性。動(dòng)態(tài)策略生成機(jī)制保證即使用戶或組織頻繁地修改安全策略,本系統(tǒng)也不需要重新編譯應(yīng)用程序或?qū)?yīng)用程序進(jìn)行重打包。

    圖1 是本系統(tǒng)的結(jié)構(gòu)概覽。本系統(tǒng)能夠根據(jù)用戶和組織的需求,通過數(shù)學(xué)和形式邏輯的相關(guān)理論抽象出特定的行為模型。該行為模型將數(shù)據(jù)流、事件時(shí)間、用戶身份與角色因素列入考慮,并得到抽象的安全策略。同時(shí),本系統(tǒng)提供了一個(gè)安全策略生成器(SSG,security strategy generator)。SSG 能夠通過執(zhí)行一組細(xì)粒度的安全規(guī)則將用戶輸入的抽象策略轉(zhuǎn)換成具體的權(quán)限控制策略。實(shí)例化的安全策略將指導(dǎo)系統(tǒng)生成一個(gè)包含安全方法的字節(jié)碼安全運(yùn)行庫,其中包含了執(zhí)行安全策略的代碼。安全運(yùn)行庫被嵌入應(yīng)用程序字節(jié)碼級(jí)的危險(xiǎn)權(quán)限請(qǐng)求和敏感API 調(diào)用位置,并與原始應(yīng)用字節(jié)碼一起被重新打包生成一個(gè)包含安全決策中心(SDC,security decision center)的應(yīng)用程序。應(yīng)用程序中嵌入了一系列的策略執(zhí)行器(PE,policy executor),這些PE 能夠在應(yīng)用觸發(fā)權(quán)限請(qǐng)求行為時(shí)向安全決策中心發(fā)出事件通知,并向安全決策中心索取安全策略指定的授權(quán)操作以執(zhí)行具體的策略。

    圖1 本系統(tǒng)的結(jié)構(gòu)概覽

    3.1 安全策略的生成

    要實(shí)現(xiàn)能夠滿足細(xì)粒度控制需求的安全策略生成機(jī)制,首先需要對(duì)用戶的行為模型進(jìn)行抽象。行為模型抽象的目的是梳理用戶實(shí)體和應(yīng)用程序?qū)嶓w間的交互方式,并將實(shí)體間的詳細(xì)交互流程進(jìn)行抽象以便于工程實(shí)現(xiàn)。本文所提的行為模型能夠提供數(shù)據(jù)機(jī)密性、用戶的感知與控制、訪問權(quán)限控制和信任管理等多層次的安全功能。為了實(shí)現(xiàn)上述需求,行為模型需要對(duì)數(shù)據(jù)流、事件時(shí)間、用戶身份與角色、環(huán)境與場(chǎng)景、信任關(guān)系等因素進(jìn)行邏輯學(xué)抽象。

    安全策略生成機(jī)制使用事件?條件?動(dòng)作(ECA,event-condition-action)規(guī)則來提取抽象策略和詳細(xì)執(zhí)行策略。ECA 模板的抽象語法如算法1 所示。SSG持續(xù)監(jiān)視從模板實(shí)例化的ECA,PE 表示特定組合的所有條件,Ci∈PE 表示特定模式的事件使特定組合的所有條件得到滿足,此時(shí)執(zhí)行相應(yīng)的授權(quán)操作。

    算法1事件條件操作規(guī)則

    輸入事件模式集合E,用戶指定的條件C,用戶指定的時(shí)延D,信任類型T,應(yīng)用程序控制單元個(gè)數(shù)n,規(guī)則模板R

    上述活動(dòng)模式是指與臨時(shí)或規(guī)律的行為或交互相匹配的模式,指定這種模式能夠支持檢測(cè)性和預(yù)防性的安全策略。上述條件可能對(duì)應(yīng)各種復(fù)雜的執(zhí)行流程和分支場(chǎng)景,如事件模式、外部行為、定時(shí)條件、執(zhí)行條件、上下文、用戶身份或角色、用戶和行為可行度等。上述權(quán)限操作的執(zhí)行具體是指對(duì)臨時(shí)操作的授權(quán)或拒絕,也可以更細(xì)粒度地根據(jù)安全需求有選擇地修改行為的屬性或延遲行為的執(zhí)行。規(guī)則模板甚至支持將行為進(jìn)行模塊化,這樣就能將不同的行為按照一定規(guī)則進(jìn)行組合、循環(huán)或分支判斷,以支持額外的活動(dòng)或動(dòng)態(tài)地更新模型的信任等級(jí),如提升或降低模型的信任度。例如,行為模塊化支持實(shí)現(xiàn)以下操作,在特定應(yīng)用程序觸發(fā)了某些指定的隱私敏感行為時(shí)通過SMS 或電子郵件通知用戶。

    3.2 虛擬字節(jié)碼注入

    本文使用中間層的Dalvik 字節(jié)碼,而不使用反編譯源代碼,這是因?yàn)榻陙鞧oogle 官方鼓勵(lì)開發(fā)者使用Kotlin 語言進(jìn)行Android 開發(fā),但是不管是Kotlin 還是Java 編寫的應(yīng)用程序,在編譯階段都將統(tǒng)一編譯Android 系統(tǒng)專有的基于寄存器的Dalvik 字節(jié)碼。另外,成熟的Android 應(yīng)用程序開發(fā)者出于應(yīng)用安全角度和知識(shí)產(chǎn)權(quán)保護(hù)角度,通常會(huì)對(duì)應(yīng)用程序源代碼進(jìn)行代碼混淆、加固或代碼加殼等操作,這極大地增加了將二進(jìn)制代碼或字節(jié)碼還原到Java 或Kotlin 源代碼的難度。即使將二進(jìn)制文件或字節(jié)碼還原為原始代碼,其因代碼混淆帶來的極低可讀性也會(huì)使這樣的努力得不償失。

    代碼1 展示了對(duì)Android 應(yīng)用程序進(jìn)行反編譯的一個(gè)實(shí)例,該實(shí)例將一個(gè)應(yīng)用程序的二進(jìn)制文件反編譯為Dalvik 字節(jié)碼的smali 表示。

    代碼1

    在代碼1 中,應(yīng)用程序試圖調(diào)用Telephony-Manager 類中的get DeviceId(String)方法。該方法能夠得到用戶設(shè)備的唯一標(biāo)識(shí)符,該標(biāo)識(shí)符通常被應(yīng)用程序用來對(duì)用戶進(jìn)行追蹤和識(shí)別,以對(duì)用戶行為進(jìn)行建?;蚍治鲇脩舻男袨槠谩?/p>

    1) 安全策略的實(shí)例化

    本系統(tǒng)會(huì)根據(jù)用戶或組織制定的安全策略向應(yīng)用程序植入特定的安全控制代碼。此外,為了實(shí)現(xiàn)動(dòng)態(tài)性,在代碼植入時(shí),除了用戶或組織指定的安全策略,本系統(tǒng)還會(huì)檢測(cè)應(yīng)用程序中尚未被用戶指定的敏感API 調(diào)用或危險(xiǎn)權(quán)限請(qǐng)求。這樣,在嵌入了安全策略的Android 應(yīng)用程序運(yùn)行時(shí),當(dāng)?shù)竭_(dá)敏感API 調(diào)用方法時(shí),安全決策中心將首先檢查用戶或組織是否已經(jīng)為該API 調(diào)用定義了安全策略。如果用戶針對(duì)該API 調(diào)用定義了安全策略,安全決策中心會(huì)通知策略執(zhí)行器執(zhí)行相應(yīng)的安全策略代碼;如果用戶未定義相關(guān)策略,安全決策中心會(huì)略過該API 調(diào)用并繼續(xù)檢測(cè)其他的API 調(diào)用。部分敏感的API 調(diào)用如表1 所示。

    表1 部分敏感的API 調(diào)用

    需要說明的是,未定義策略時(shí)嵌入的安全代碼并不會(huì)對(duì)應(yīng)用程序的性能造成過大的影響,應(yīng)用程序?qū)⒁詭缀蹩梢院雎缘臅r(shí)延繼續(xù)運(yùn)行?;谶@樣的設(shè)計(jì),本系統(tǒng)提出的字節(jié)碼嵌入技術(shù)能夠在用戶或組織想要更改安全策略時(shí)動(dòng)態(tài)地響應(yīng)用戶的需求,而不需要重新嵌入安全策略字節(jié)碼或?qū)?yīng)用程序進(jìn)行重打包,因?yàn)楸疚脑诔醮芜M(jìn)行代碼靜態(tài)分析和字節(jié)碼植入時(shí)已經(jīng)考慮了所有可能的安全控制需求。

    注入應(yīng)用程序的安全代碼,更具體地說就是一系列的策略執(zhí)行器,將以代理模式被添加到應(yīng)用程序的相應(yīng)位置中。通過將策略執(zhí)行器以安全代理的形式封裝起來,本系統(tǒng)可以極大地減少對(duì)原始應(yīng)用程序代碼的侵入性,并為修改后的應(yīng)用程序提供更高的穩(wěn)健性和可用性。在靜態(tài)分析階段,本系統(tǒng)將通過分析應(yīng)用程序的Android Manifest.xml 文件和應(yīng)用程序的反編譯字節(jié)碼確定在該應(yīng)用程序中所涉及的所有敏感操作和權(quán)限申請(qǐng),并針對(duì)性地抽取相應(yīng)的策略執(zhí)行器組成用于注入程序的運(yùn)行庫。隨后,系統(tǒng)將在原始應(yīng)用程序的敏感操作和權(quán)限申請(qǐng)涉及的所有方法前后注入對(duì)執(zhí)行器的調(diào)用,這些調(diào)用將根據(jù)用戶或組織的聲明來決定是否調(diào)用相關(guān)的策略執(zhí)行器,并在相關(guān)權(quán)限操作之前或之后進(jìn)行相應(yīng)的安全操作。以設(shè)備定位信息的控制為例,Dalvik 字節(jié)碼展示了一個(gè)應(yīng)用程序獲取定位數(shù)據(jù)的方法單元,如代碼2 所示??梢钥吹剑_發(fā)者預(yù)先在類中聲明了一個(gè)android.location.Location Manage類實(shí)例Xl,用于向操作系統(tǒng)的定位管理器申請(qǐng)定位數(shù)據(jù);隨后,通過 Location Manager 類的getLast Known Location()方法獲取設(shè)備的最后位置。值得注意的是,該應(yīng)用程序在打包時(shí)使用了代碼混淆技術(shù),因此方法名A()和字段名Xl 都是無意義的字符串。

    代碼2

    上述私有方法封裝了定位數(shù)據(jù)的獲取方式,當(dāng)應(yīng)用程序在業(yè)務(wù)邏輯中需要請(qǐng)求設(shè)備定位時(shí)將會(huì)申請(qǐng)?jiān)L問該類的公有方法。Dalvik 字節(jié)碼()展示了該類的一個(gè)關(guān)鍵公有方法,如代碼3 所示。該方法通過調(diào)用上述私有方法向應(yīng)用程序的其他業(yè)務(wù)邏輯部分暴露了一個(gè)定位數(shù)據(jù)申請(qǐng)接口。代碼3 定義了一個(gè)名為 gn()的公有方法。該方法首先檢查了Android Manifest.xml 清單中是否聲明了ACCESS_FINE_LOCATION 權(quán)限,并確認(rèn)用戶已經(jīng)向應(yīng)用授予了該權(quán)限;隨后,調(diào)用上面定義的A(Ljava/lang/String;)方法以獲取設(shè)備的定位數(shù)據(jù)。

    代碼3

    顯然,公有方法gn()Landroid/location/Location訪問定位數(shù)據(jù)的關(guān)鍵接口。為了對(duì)該應(yīng)用程序的定位數(shù)據(jù)訪問行為進(jìn)行控制,需要在gn()方法中注入安全策略控制代碼。為了保證用戶能夠根據(jù)具體需求對(duì)應(yīng)用行為進(jìn)行不同程度的限制,本文注入的安全策略代碼不會(huì)將控制邏輯固化到gn()方法單元中,而是通過Java 反射策略調(diào)用安全決策中心來實(shí)現(xiàn)動(dòng)態(tài)控制。需要注意的是,對(duì)gn()方法的修改將影響虛擬機(jī)寄存器的分配。

    圖2 展示了在Android 應(yīng)用程序的敏感操作前后注入安全策略執(zhí)行代碼的流程。當(dāng)應(yīng)用程序執(zhí)行到該敏感操作時(shí),策略執(zhí)行器會(huì)向安全決策中心請(qǐng)求安全策略。若安全策略中包含了對(duì)該敏感操作的限制規(guī)則,安全決策中心指示策略執(zhí)行器進(jìn)行相應(yīng)的權(quán)限控制和安全操作。例如,若安全策略對(duì)該敏感操作涉及的危險(xiǎn)權(quán)限做出了禁止聲明,策略執(zhí)行器就會(huì)直接忽略對(duì)該方法的調(diào)用;類似地,若安全策略指示對(duì)該敏感操作進(jìn)行延遲或條件修改,策略執(zhí)行器也會(huì)執(zhí)行相應(yīng)的安全操作。上述操作都是指在敏感操作之前進(jìn)行的安全代理,對(duì)于在敏感操作之后進(jìn)行的安全代理,只能對(duì)操作進(jìn)行修改或延遲,因?yàn)槊舾胁僮饕呀?jīng)執(zhí)行,無法對(duì)其進(jìn)行禁止。

    圖2 在敏感操作前后注入安全策略執(zhí)行代碼流程

    將安全策略注入Android 應(yīng)用程序后,安全決策中心將在應(yīng)用程序的主活動(dòng)中的onCreate()方法中初始化。在有些情況下,會(huì)因?yàn)樵O(shè)備、版本或其他原因而導(dǎo)致安全決策中心初始化失敗而導(dǎo)致安全策略處于不可用的狀態(tài),這時(shí)被安全強(qiáng)化的應(yīng)用程序?qū)⒃儐栍脩羰欠裰卦嚦跏蓟踩珱Q策中心,若用戶拒絕重試并試圖在此情況下繼續(xù)運(yùn)行應(yīng)用程序,應(yīng)用程序執(zhí)行到敏感操作或危險(xiǎn)權(quán)限調(diào)用時(shí)會(huì)對(duì)用戶提出安全警告。此外,在應(yīng)用程序執(zhí)行期間,軟件資源、硬件問題或功耗等原因都可能導(dǎo)致安全策略中心變?yōu)椴豢捎脿顟B(tài),為了保證安全性和穩(wěn)健性,應(yīng)用程序?qū)⒃趫?zhí)行到安全敏感操作或權(quán)限申請(qǐng)時(shí)提示用戶,讓用戶自行決定是否繼續(xù)執(zhí)行相關(guān)操作,并為應(yīng)用程序接下來可能遭遇的安全決策征求用戶的默認(rèn)許可或拒絕。用戶所進(jìn)行的決策可以作為后續(xù)相關(guān)操作出現(xiàn)時(shí)的默認(rèn)操作,系統(tǒng)將會(huì)緩存用戶所給出的決策,并在下次出現(xiàn)類似決策時(shí)提供參考,以實(shí)現(xiàn)對(duì)于同一安全決策的一致性。

    2) 安全策略的動(dòng)態(tài)調(diào)整

    注入了安全策略的 Android 應(yīng)用程序已經(jīng)可以按照用戶指定的安全需求完成相應(yīng)的安全操作。但是隨著場(chǎng)景需求、信任關(guān)系、用戶身份與角色等因素發(fā)生變化,用戶對(duì)安全策略的要求也在隨時(shí)發(fā)生變化,需要對(duì)安全策略進(jìn)行動(dòng)態(tài)調(diào)整。如前文所述,以往的研究在這一階段束手無策,只能針對(duì)新的安全需求重新生成安全策略實(shí)例并將其重新注入應(yīng)用程序中,然后將新的應(yīng)用程序安裝至用戶的設(shè)備中。這種操作方式對(duì)安全策略的使用是災(zāi)難性的,考慮到個(gè)人或組織時(shí)常變動(dòng)的安全需求,這種反復(fù)地重新編譯與打包所帶來的時(shí)間成本和操作成本是無法容忍的。這也是之前的研究和設(shè)計(jì)難以投入使用的根本原因。本系統(tǒng)在初次進(jìn)行字節(jié)碼注入時(shí)就會(huì)通過靜態(tài)分析手段尋找應(yīng)用程序中的所有敏感數(shù)據(jù)訪問請(qǐng)求和危險(xiǎn)權(quán)限操作,并在所有相關(guān)的API 調(diào)用位置前后都嵌入策略執(zhí)行器。這就意味著只要安全決策中心給出特定的控制指令,所有敏感API 調(diào)用都能夠被本系統(tǒng)限制或直接屏蔽。這種動(dòng)態(tài)控制的實(shí)現(xiàn)直接依賴于Dalvik 虛擬機(jī)環(huán)境和Java 語言的反射特性。反射機(jī)制利用了虛擬機(jī)執(zhí)行語言的自省能力,能夠在程序運(yùn)行時(shí)以數(shù)據(jù)流的方式提供對(duì)代碼邏輯的控制。更具體地,基于Dalvik虛擬機(jī)的反射技術(shù)允許在程序運(yùn)行時(shí)動(dòng)態(tài)加載和使用類,并通過字符串形式的控制信息調(diào)整對(duì)方法、字段、類和接口的調(diào)用方式。反射技術(shù)可以將程序的以上邏輯單元變量化和參數(shù)化,使方法、類和接口可以作為參數(shù)傳輸。因此,只需預(yù)先定義所有可能的控制代碼,應(yīng)用程序在運(yùn)行時(shí)就可以根據(jù)安全策略選取匹配的方法或接口。

    為了幫助用戶調(diào)整安全策略并向應(yīng)用程序推送調(diào)整后的安全策略,本系統(tǒng)在安全決策中心中添加了網(wǎng)絡(luò)通信模塊,該網(wǎng)絡(luò)通信模塊能夠以HTTP通信的形式向服務(wù)器請(qǐng)求安全策略,服務(wù)器也能夠以WebSocket 的方式向所有注入了安全策略的應(yīng)用程序推送新的安全策略,使所有程序都能夠保持和最新安全策略的同步,如圖3 所示。

    圖3 安全決策中心與服務(wù)器通信

    4 實(shí)驗(yàn)評(píng)估與分析

    為了對(duì)本文所提Android 應(yīng)用程序隱私保護(hù)系統(tǒng)進(jìn)行測(cè)試和評(píng)估,本節(jié)從國(guó)內(nèi)各大應(yīng)用市場(chǎng)中隨機(jī)采集了一些應(yīng)用程序,并以此為載體對(duì)系統(tǒng)進(jìn)行了詳細(xì)的分析。評(píng)估主要考察的是注入安全策略后應(yīng)用程序的可用性和穩(wěn)健性,以及注入的安全策略對(duì)應(yīng)用程序所產(chǎn)生的性能方面的影響。

    4.1 數(shù)據(jù)源分布特性

    為了保證數(shù)據(jù)集的隨機(jī)性和普適性,本節(jié)選取了市場(chǎng)份額較高的4 家應(yīng)用市場(chǎng):騰訊應(yīng)用寶、360 手機(jī)助手、華為應(yīng)用市場(chǎng)、小米應(yīng)用商店。從這4 家應(yīng)用市場(chǎng)中采用隨機(jī)方式分別爬取了60 個(gè)應(yīng)用程序,將這些應(yīng)用程序中的重復(fù)項(xiàng)去除后得到了129 個(gè)應(yīng)用程序。需要強(qiáng)調(diào)的是,爬蟲在采集應(yīng)用程序時(shí)并未對(duì)應(yīng)用程序做任何限定或要求,而是采用完全隨機(jī)的方式進(jìn)行爬取。這也意味著實(shí)驗(yàn)中并沒有對(duì)應(yīng)用程序的類型、下載量、大小等性質(zhì)做出假設(shè),這是為了保證數(shù)據(jù)集的隨機(jī)性和普適性。

    來自不同應(yīng)用市場(chǎng)的應(yīng)用程序數(shù)量如圖4 所示。需要說明的是,本文在去除重復(fù)應(yīng)用時(shí)以應(yīng)用商店的市場(chǎng)份額作為優(yōu)先級(jí),即以來自騰訊應(yīng)用寶中應(yīng)用程序集合為基礎(chǔ),并去除從其他3 家應(yīng)用市場(chǎng)中爬取的應(yīng)用程序集合中的重復(fù)項(xiàng)。然后,對(duì)360手機(jī)助手中獲取的應(yīng)用程序進(jìn)行類似操作,刪除剩余2 家應(yīng)用市場(chǎng)中相對(duì)應(yīng)的重復(fù)項(xiàng),依次類推。因此,圖4 中應(yīng)用市場(chǎng)所提供的應(yīng)用程序數(shù)量是依次減少的。數(shù)據(jù)源中應(yīng)用程序的類型分布如圖5 所示。從圖5 可以看到,本文采集的應(yīng)用程序中,游戲與娛樂類程序占比最高,為30.23%;網(wǎng)絡(luò)購物與金融、影視與音樂、生活方式類程序占比也較高,分別為16.28%、12.41%和10.85%。上述統(tǒng)計(jì)結(jié)果與日常生活中的直觀體驗(yàn)相符,說明本文采集的應(yīng)用程序集合基本符合日常生活中應(yīng)用程序的分布情況。

    圖4 各應(yīng)用市場(chǎng)對(duì)數(shù)據(jù)源的貢獻(xiàn)

    圖5 數(shù)據(jù)源中應(yīng)用程序的類型分布

    4.2 安全策略的生成與注入

    根據(jù)用戶和組織的不同需求,針對(duì)特定的應(yīng)用場(chǎng)景和安全需求生成相應(yīng)的安全策略,系統(tǒng)需要首先通過對(duì)用戶指定的Android 應(yīng)用程序進(jìn)行靜態(tài)分析,獲取該應(yīng)用程序涉及的所有敏感API 調(diào)用和危險(xiǎn)權(quán)限請(qǐng)求;然后將獲取到的信息轉(zhuǎn)化成策略點(diǎn),通過對(duì)策略點(diǎn)的操作,決定是否同意應(yīng)用程序的危險(xiǎn)請(qǐng)求以及更細(xì)粒度的API 調(diào)用。除了特定Android應(yīng)用程序所涉及的具體調(diào)用或權(quán)限申請(qǐng),本系統(tǒng)還要考慮用戶自身的環(huán)境與需求。例如,在一些保密工作場(chǎng)景和會(huì)議過程中,不允許應(yīng)用程序擁有隨時(shí)訪問麥克風(fēng)的權(quán)限;在家庭場(chǎng)景中面對(duì)可能的來電需求,則需要允許特定的應(yīng)用程序擁有訪問麥克風(fēng)的基本權(quán)限。

    以應(yīng)用程序訪問設(shè)備定位信息為例,這一行為對(duì)應(yīng)著多種具有API 調(diào)用以及應(yīng)用程序要求在位置改變時(shí)執(zhí)行回調(diào),或者要求操作系統(tǒng)返回設(shè)備的最后位置,或者以一定時(shí)間間隔輪詢定位傳感器等。則對(duì)應(yīng)的安全策略可以描述為

    其中,策略由是否獲取系統(tǒng)服務(wù)權(quán)限(GSS,get system service)、是否允許獲取位置更新權(quán)限(RLU,request location updates)、是否獲取最后的位置信息(GLKL,get last known location)組成;每個(gè)權(quán)限的回答存在以下3 種可能,Permit 表示一直允許,F(xiàn)orbid 表示一直禁止,DelaySetting 表示一定時(shí)間間隔刷新權(quán)限。不同權(quán)限的不同值構(gòu)成不同的安全策略。將抽象的安全策略進(jìn)行實(shí)例化,生成一個(gè)包含安全方法的字節(jié)碼安全運(yùn)行庫。針對(duì)具體的應(yīng)用程序,對(duì)其APK 安裝包進(jìn)行解包,獲取DEX 格式文件、Manifest 文件以及各種靜態(tài)資源,如圖像和顏色配置等。將實(shí)例化后的安全策略嵌入DEX 文件中,使用ApkTool 對(duì)應(yīng)用程序進(jìn)行沖編譯和打包。因?yàn)橹挥泻灻膽?yīng)用程序安裝包才能通過Android操作系統(tǒng)的檢測(cè)并成功安裝到用戶設(shè)備中,所以需要使用signAPK 對(duì)得到新的APK 文件進(jìn)行簽名。

    4.3 安全策略的穩(wěn)健性

    穩(wěn)健性是指在對(duì)應(yīng)用程序進(jìn)行修改和重新打包后,應(yīng)用程序能否正常運(yùn)行。對(duì)于安全策略的穩(wěn)健性,本文從2 個(gè)維度進(jìn)行評(píng)價(jià):一個(gè)維度是本文系統(tǒng)執(zhí)行特定安全策略對(duì)應(yīng)用程序正常運(yùn)行的影響;另一個(gè)維度是對(duì)于不同的操作系統(tǒng)版本和不同的硬件平臺(tái),注入了安全策略的應(yīng)用程序能否正常工作。

    圖6(a)展示了當(dāng)運(yùn)行環(huán)境限制在同一操作系統(tǒng)和同一硬件環(huán)境時(shí),本系統(tǒng)對(duì)Android 應(yīng)用程序穩(wěn)健性的影響。本實(shí)驗(yàn)使用搭載Android 10 系統(tǒng)的華為P30 Pro 手機(jī)對(duì)數(shù)據(jù)集合中的所有應(yīng)用程序進(jìn)行了測(cè)試。由圖6(a)的數(shù)據(jù)可以看出,在限制了軟硬件環(huán)境的情況下,85.27%的應(yīng)用程序基本能夠正常運(yùn)行,其中大部分應(yīng)用程序能夠保持長(zhǎng)時(shí)間的正常運(yùn)行,20.16%的應(yīng)用程序在執(zhí)行特定安全策略時(shí)偶有閃退情況發(fā)生;8.53% 的應(yīng)用程序發(fā)生了無法打開或者正常功能受到影響的情況;6.2%的應(yīng)用程序在嵌入安全策略字節(jié)碼后的重編譯過程中發(fā)生異常而導(dǎo)致無法重打包。

    圖6 穩(wěn)健性測(cè)試結(jié)果

    圖6(b)展示了不同軟硬件條件下安全策略對(duì)應(yīng)用程序穩(wěn)健性的影響。除了圖6(a)實(shí)驗(yàn)中所使用的搭載Android 10 系統(tǒng)的華為P30 Pro 手機(jī),本實(shí)驗(yàn)還使用了搭載Android 10 系統(tǒng)的小米MI 9 手機(jī)、搭載Android 9 的華為 Mate 20 手機(jī),以及搭載Android 9 系統(tǒng)的小米R(shí)edmi K20 Pro 手機(jī)。實(shí)驗(yàn)結(jié)果表明,本系統(tǒng)在不同的軟硬件環(huán)境下并未表現(xiàn)出太大的差別。這在一定程度上體現(xiàn)了本系統(tǒng)對(duì)應(yīng)用程序穩(wěn)健性的影響不大。

    4.4 字節(jié)碼注入前后應(yīng)用程序性能對(duì)比

    對(duì)于手機(jī)應(yīng)用程序來說,另一重要的評(píng)估是字節(jié)碼的注入對(duì)應(yīng)用程序性能的影響。在實(shí)驗(yàn)仿真中,性能考慮的是注入字節(jié)碼對(duì)應(yīng)用程序啟動(dòng)時(shí)間、大小(即所占內(nèi)存)以及功耗的影響。

    圖7 反映了本系統(tǒng)注入的安全策略對(duì)Android應(yīng)用程序啟動(dòng)時(shí)間的影響。實(shí)驗(yàn)結(jié)果表明,盡管不同應(yīng)用程序的啟動(dòng)時(shí)間分布廣泛,但注入安全策略對(duì)啟動(dòng)時(shí)間的影響與應(yīng)用程序原始的啟動(dòng)時(shí)間并無明顯關(guān)聯(lián)。對(duì)于原始啟動(dòng)時(shí)間小于1 s 的應(yīng)用程序,安全策略對(duì)啟動(dòng)時(shí)間的平均影響約為0.411 s,實(shí)驗(yàn)數(shù)據(jù)的標(biāo)準(zhǔn)差為0.080 4 s;對(duì)于原始啟動(dòng)時(shí)間大于5 s 的大型應(yīng)用,安全策略的平均影響僅為0.635 s,標(biāo)準(zhǔn)差僅為0.069 9 s。盡管如此,需要特別注意的是,對(duì)于那些原始啟動(dòng)時(shí)間較短的應(yīng)用程序來說,注入安全策略所造成的用戶直觀影響更大。因?yàn)樵谶@種情況下安全策略帶來的開銷所占的比例更高,而這種對(duì)比會(huì)使用戶明顯感覺到程序變慢。事實(shí)上,注入的安全策略并非在程序啟動(dòng)同時(shí)被立即調(diào)用,而是在程序執(zhí)行到特定位置或進(jìn)行敏感操作時(shí)才會(huì)被調(diào)用。因此,理論上程序啟動(dòng)時(shí)會(huì)對(duì)啟動(dòng)時(shí)間產(chǎn)生額外開銷的只是安全決策中心的初始化過程,而這個(gè)過程本身對(duì)程序資源的消耗相對(duì)程序自身的初始化過程所產(chǎn)生的開銷要小得多。實(shí)驗(yàn)的結(jié)果符合理論分析。

    圖7 安全策略對(duì)應(yīng)用啟動(dòng)時(shí)間的影響

    圖8 展示了注入了安全策略前后應(yīng)用程序大小的變化。從實(shí)驗(yàn)結(jié)果可以很直觀地看到,注入安全策略對(duì)應(yīng)用程序的大小帶來的影響相比于應(yīng)用程序原始大小幾乎可以忽略不計(jì)。對(duì)于原始體積小于10 MB 的應(yīng)用程序,注入安全策略所帶來的平均體積影響僅為246.13 KB;對(duì)于原始體積大于200 MB的大型應(yīng)用,注入安全策略所帶來的平均體積影響也僅為1 296.95 KB。但是需要說明的是,安全策略對(duì)應(yīng)用程序大小的影響和應(yīng)用程序原始大小呈現(xiàn)出明顯的正相關(guān)。

    圖8 安全策略對(duì)應(yīng)用大小的影響

    從圖8 可以看到,盡管不同應(yīng)用程序本身的大小分布廣泛,但是安全策略注入所帶來的空間開銷占重打包后應(yīng)用程序總大小的比例始終保持在一定范圍內(nèi)。換言之,隨著應(yīng)用程序規(guī)模的增大,注入的安全策略字節(jié)碼規(guī)模也增多了。從理論上分析,注入的字節(jié)碼可分為2 個(gè)部分,即安全決策中心和各個(gè)策略執(zhí)行代理。安全決策中心的大小一般是相對(duì)固定的,策略執(zhí)行代理與具體的應(yīng)用程序有關(guān)。更具體地,當(dāng)應(yīng)用程序中涉及更多的敏感操作和權(quán)限調(diào)用時(shí),所需的策略執(zhí)行器就相對(duì)更多。因此,與其說安全策略帶來的空間開銷和應(yīng)用程序原始體積有關(guān),不如說是和應(yīng)用程序中包含的敏感操作和權(quán)限調(diào)用數(shù)量有關(guān)。

    對(duì)于安全策略對(duì)應(yīng)用程序功耗的影響,本文以數(shù)據(jù)源中2 個(gè)常用應(yīng)用程序?yàn)榛A(chǔ)進(jìn)行了詳細(xì)測(cè)試。用一臺(tái)搭載Android 10 系統(tǒng)的華為P30 Pro 手機(jī)進(jìn)行相關(guān)操作。在每次測(cè)試開始之前,將手機(jī)充電至80%,隨后要求受試者使用手機(jī)打開注入了安全策略的特定應(yīng)用程序,并依照程序的正常功能連續(xù)使用60 min。在使用的第5 min、第10 min、第20 min、第30 min、第45 min 和第60 min 分別記錄此時(shí)手機(jī)的剩余電量,并依照記錄數(shù)據(jù)繪制功耗曲線。為了和原始情況進(jìn)行對(duì)比,對(duì)于每個(gè)應(yīng)用程序,受試者按照上述流程使用未經(jīng)安全策略注入的原始程序,在使用應(yīng)用程序過程中分別同時(shí)運(yùn)行市場(chǎng)上現(xiàn)有的安全類App(Bitdefender 和Avria)進(jìn)行用電量損耗對(duì)比,2 個(gè)應(yīng)用程序都能夠提供權(quán)限的監(jiān)控。每個(gè)應(yīng)用程序在不同的條件下重復(fù)實(shí)驗(yàn)4 次。圖9 揭示了這2 組實(shí)驗(yàn)的實(shí)驗(yàn)結(jié)果。從實(shí)驗(yàn)數(shù)據(jù)可以看出,本系統(tǒng)所注入的安全策略對(duì)應(yīng)用程序所產(chǎn)生的功耗影響較小,在長(zhǎng)達(dá)60 min 的使用過程中最多給功耗造成2%的差距?,F(xiàn)有的市場(chǎng)上的安全類應(yīng)用程序的功耗有8%的差距,這從說明了本系統(tǒng)對(duì)應(yīng)用程序的性能并不會(huì)產(chǎn)生用戶可感知級(jí)別的影響。需要說明的是,由于實(shí)驗(yàn)過程中沒有對(duì)更多的應(yīng)用程序進(jìn)行功耗測(cè)試,因此本部分所進(jìn)行的測(cè)試只能部分反映本系統(tǒng)對(duì)功耗的影響,更全面的分析仍然需要依賴對(duì)更多應(yīng)用程序進(jìn)行的測(cè)試。

    圖9 不同方法對(duì)應(yīng)用功耗的影響

    5 結(jié)束語

    Android 系統(tǒng)提供了基于權(quán)限控制的安全機(jī)制,但是該機(jī)制的粗粒度控制方式不能滿足相當(dāng)一部分用戶或組織的安全需求,而且存在可以被惡意攻擊者利用的系統(tǒng)性漏洞。為了防止應(yīng)用程序?yàn)E用危險(xiǎn)權(quán)限和用戶敏感信息,本文設(shè)計(jì)并實(shí)現(xiàn)了基于字節(jié)碼注入的Android 應(yīng)用程序隱私防護(hù)系統(tǒng)。該系統(tǒng)的安全策略注入機(jī)制利用了基于虛擬字節(jié)碼的安全策略生成與注入技術(shù),該技術(shù)能夠在Android 應(yīng)用程序中植入對(duì)危險(xiǎn)權(quán)限和敏感API 調(diào)用的控制策略,并根據(jù)用戶或組織的需求進(jìn)行動(dòng)態(tài)的調(diào)整。在大多數(shù)情況,安全策略的注入不會(huì)對(duì)應(yīng)用程序的可用性造成影響,并在此基礎(chǔ)上可對(duì)85.33% 的敏感API 調(diào)用和危險(xiǎn)權(quán)限請(qǐng)求進(jìn)行有效限制。

    猜你喜歡
    安全策略調(diào)用字節(jié)
    基于認(rèn)知負(fù)荷理論的叉車安全策略分析
    No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
    基于飛行疲勞角度探究民航飛行員飛行安全策略
    核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
    No.10 “字節(jié)跳動(dòng)手機(jī)”要來了?
    LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
    淺析涉密信息系統(tǒng)安全策略
    簡(jiǎn)談MC7字節(jié)碼
    基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
    如何加強(qiáng)農(nóng)村食鹽消費(fèi)安全策略
    欧美日韩在线观看h| 国产成人一区二区在线| 欧美国产精品一级二级三级| 国产精品无大码| 久久鲁丝午夜福利片| 久久精品国产a三级三级三级| 婷婷成人精品国产| 99热这里只有是精品在线观看| 亚洲国产色片| videossex国产| 少妇猛男粗大的猛烈进出视频| 人人澡人人妻人| 丰满乱子伦码专区| 中文精品一卡2卡3卡4更新| 少妇人妻久久综合中文| 少妇丰满av| 免费观看a级毛片全部| 日韩一本色道免费dvd| 视频在线观看一区二区三区| 久久99一区二区三区| 精品酒店卫生间| 国产淫语在线视频| 欧美成人午夜免费资源| 99热这里只有是精品在线观看| 99久国产av精品国产电影| 亚洲欧美清纯卡通| 美女国产高潮福利片在线看| 啦啦啦在线观看免费高清www| 国产午夜精品久久久久久一区二区三区| 久久久亚洲精品成人影院| 大话2 男鬼变身卡| 精品国产一区二区三区久久久樱花| 亚洲经典国产精华液单| www.av在线官网国产| 99国产精品免费福利视频| 一区二区日韩欧美中文字幕 | 美女国产视频在线观看| 亚洲综合色惰| 国产精品秋霞免费鲁丝片| 国产极品粉嫩免费观看在线 | 亚洲精品久久午夜乱码| 青春草亚洲视频在线观看| 男女边吃奶边做爰视频| 九色成人免费人妻av| 国产亚洲欧美精品永久| 亚洲av成人精品一二三区| 69精品国产乱码久久久| 亚洲天堂av无毛| 日产精品乱码卡一卡2卡三| 伊人亚洲综合成人网| 九九在线视频观看精品| 欧美最新免费一区二区三区| 狠狠婷婷综合久久久久久88av| 国产女主播在线喷水免费视频网站| 亚洲一区二区三区欧美精品| 午夜日本视频在线| 成人毛片60女人毛片免费| 成人亚洲欧美一区二区av| 国产av精品麻豆| 免费高清在线观看日韩| 大又大粗又爽又黄少妇毛片口| 日日啪夜夜爽| 极品少妇高潮喷水抽搐| 18禁观看日本| 美女视频免费永久观看网站| 午夜精品国产一区二区电影| 丝袜喷水一区| 亚洲精品久久成人aⅴ小说 | 日韩一区二区视频免费看| 久热这里只有精品99| 亚洲精品久久成人aⅴ小说 | 人妻夜夜爽99麻豆av| 亚洲精品乱码久久久久久按摩| 人妻夜夜爽99麻豆av| 2022亚洲国产成人精品| 亚洲av.av天堂| 国产国拍精品亚洲av在线观看| 一级片'在线观看视频| 大片电影免费在线观看免费| 777米奇影视久久| 国产国拍精品亚洲av在线观看| 日韩中文字幕视频在线看片| 中文精品一卡2卡3卡4更新| 精品午夜福利在线看| 精品国产一区二区久久| 久久久久久久久大av| 亚洲美女视频黄频| 99久久中文字幕三级久久日本| 成人国语在线视频| 97超视频在线观看视频| 黑人高潮一二区| 一本色道久久久久久精品综合| 亚洲欧洲国产日韩| 日本wwww免费看| 精品久久久久久电影网| www.色视频.com| 成人国产麻豆网| 精品久久久久久久久亚洲| 久久精品国产自在天天线| 亚洲欧洲国产日韩| 日韩大片免费观看网站| 日韩中文字幕视频在线看片| 激情五月婷婷亚洲| 校园人妻丝袜中文字幕| 亚洲精品久久午夜乱码| 一区二区三区免费毛片| 国产精品嫩草影院av在线观看| 久久精品国产亚洲网站| 亚洲精品国产av蜜桃| 特大巨黑吊av在线直播| 久久久国产欧美日韩av| 欧美老熟妇乱子伦牲交| 国产白丝娇喘喷水9色精品| 亚洲第一区二区三区不卡| freevideosex欧美| 日本av免费视频播放| 日本av免费视频播放| 最近最新中文字幕免费大全7| 18禁在线播放成人免费| 美女cb高潮喷水在线观看| 最近2019中文字幕mv第一页| 99热全是精品| 国产色爽女视频免费观看| 在线精品无人区一区二区三| 永久网站在线| 欧美日韩成人在线一区二区| 亚洲美女视频黄频| 大码成人一级视频| 成人影院久久| 好男人视频免费观看在线| 免费日韩欧美在线观看| 秋霞在线观看毛片| 国产深夜福利视频在线观看| h视频一区二区三区| 国产男女超爽视频在线观看| 亚洲国产精品一区二区三区在线| 22中文网久久字幕| 少妇丰满av| 少妇的逼好多水| 综合色丁香网| 能在线免费看毛片的网站| 丰满饥渴人妻一区二区三| 国产爽快片一区二区三区| 国产色爽女视频免费观看| 欧美激情 高清一区二区三区| 国产精品一区二区在线观看99| 久久精品成人免费网站| bbb黄色大片| 又大又爽又粗| 欧美日韩成人在线一区二区| 一进一出抽搐动态| 大码成人一级视频| 久久久久久久久免费视频了| 午夜91福利影院| 一二三四在线观看免费中文在| 亚洲精品中文字幕在线视频| videos熟女内射| 热99久久久久精品小说推荐| 老司机影院毛片| 黄片大片在线免费观看| 亚洲精品乱久久久久久| 精品国产乱子伦一区二区三区| 一本大道久久a久久精品| 美女视频免费永久观看网站| 少妇被粗大的猛进出69影院| 亚洲专区国产一区二区| 免费日韩欧美在线观看| 巨乳人妻的诱惑在线观看| 欧美在线黄色| 欧美激情极品国产一区二区三区| 俄罗斯特黄特色一大片| 中文欧美无线码| 亚洲欧洲日产国产| 99九九在线精品视频| 国产亚洲一区二区精品| 新久久久久国产一级毛片| 99re6热这里在线精品视频| 精品福利永久在线观看| 亚洲天堂av无毛| 一级片'在线观看视频| 丰满少妇做爰视频| 日韩中文字幕欧美一区二区| 久久国产精品男人的天堂亚洲| 岛国毛片在线播放| 日韩人妻精品一区2区三区| 一进一出抽搐动态| 久久久久久久久免费视频了| 热99国产精品久久久久久7| 天天躁夜夜躁狠狠躁躁| 久久av网站| 精品福利永久在线观看| 欧美黄色淫秽网站| 看免费av毛片| 中文亚洲av片在线观看爽 | 婷婷成人精品国产| 国产主播在线观看一区二区| 亚洲av美国av| 久久久精品免费免费高清| 国产一区有黄有色的免费视频| 成人国产一区最新在线观看| 婷婷成人精品国产| 亚洲三区欧美一区| 侵犯人妻中文字幕一二三四区| 搡老熟女国产l中国老女人| 丰满少妇做爰视频| 国产在视频线精品| 亚洲自偷自拍图片 自拍| 激情在线观看视频在线高清 | 老司机福利观看| 正在播放国产对白刺激| 亚洲情色 制服丝袜| 欧美久久黑人一区二区| 亚洲情色 制服丝袜| 久久99热这里只频精品6学生| 色综合欧美亚洲国产小说| 法律面前人人平等表现在哪些方面| 亚洲精品久久午夜乱码| 99九九在线精品视频| 美女国产高潮福利片在线看| 国产精品一区二区精品视频观看| 午夜福利视频精品| 老司机在亚洲福利影院| 亚洲少妇的诱惑av| 欧美激情极品国产一区二区三区| 一级片免费观看大全| 日本撒尿小便嘘嘘汇集6| 一级毛片精品| 999久久久国产精品视频| 天堂动漫精品| 青草久久国产| 黑人猛操日本美女一级片| 久久精品亚洲熟妇少妇任你| 大型黄色视频在线免费观看| 十八禁网站网址无遮挡| 汤姆久久久久久久影院中文字幕| 桃花免费在线播放| 亚洲精品av麻豆狂野| 国产亚洲av高清不卡| 亚洲欧美色中文字幕在线| 亚洲精品一二三| 久久99一区二区三区| 日本vs欧美在线观看视频| 窝窝影院91人妻| 老司机靠b影院| 欧美黑人欧美精品刺激| 欧美成狂野欧美在线观看| 国产高清国产精品国产三级| 日韩免费高清中文字幕av| 丝袜在线中文字幕| 午夜福利乱码中文字幕| 精品免费久久久久久久清纯 | 人成视频在线观看免费观看| 可以免费在线观看a视频的电影网站| 99国产精品99久久久久| 午夜视频精品福利| av有码第一页| 亚洲国产av新网站| 欧美大码av| 国产日韩欧美视频二区| 国产xxxxx性猛交| 成年人免费黄色播放视频| 青草久久国产| 欧美精品av麻豆av| 激情在线观看视频在线高清 | 日本黄色视频三级网站网址 | 国产又色又爽无遮挡免费看| 国产成人精品无人区| 日本wwww免费看| 精品少妇久久久久久888优播| 999久久久精品免费观看国产| 国产精品久久久人人做人人爽| 中亚洲国语对白在线视频| 法律面前人人平等表现在哪些方面| 国产精品一区二区精品视频观看| 欧美黑人精品巨大| 国产福利在线免费观看视频| 岛国在线观看网站| 老熟妇仑乱视频hdxx| 亚洲男人天堂网一区| 黄片大片在线免费观看| 成人18禁高潮啪啪吃奶动态图| 变态另类成人亚洲欧美熟女 | 国产精品影院久久| 宅男免费午夜| 国产av又大| 国产人伦9x9x在线观看| 一级黄色大片毛片| 巨乳人妻的诱惑在线观看| 亚洲欧美一区二区三区黑人| 精品久久蜜臀av无| 99九九在线精品视频| 18禁观看日本| 国产精品av久久久久免费| 久久久久久亚洲精品国产蜜桃av| 一区二区三区乱码不卡18| www.自偷自拍.com| 午夜福利在线免费观看网站| 国产区一区二久久| 久久久久网色| 美女午夜性视频免费| 纵有疾风起免费观看全集完整版| 欧美日韩亚洲国产一区二区在线观看 | 女同久久另类99精品国产91| 另类亚洲欧美激情| 在线观看免费日韩欧美大片| 久久影院123| 国产亚洲一区二区精品| 十八禁网站免费在线| 中文字幕人妻熟女乱码| 啦啦啦视频在线资源免费观看| 国产欧美日韩一区二区三区在线| 女人久久www免费人成看片| 操出白浆在线播放| 啦啦啦视频在线资源免费观看| 男人舔女人的私密视频| 成人亚洲精品一区在线观看| 国产国语露脸激情在线看| 美女福利国产在线| 丝瓜视频免费看黄片| 19禁男女啪啪无遮挡网站| 最近最新中文字幕大全免费视频| 国产免费现黄频在线看| 色在线成人网| 12—13女人毛片做爰片一| 50天的宝宝边吃奶边哭怎么回事| 久久中文字幕一级| 久久久水蜜桃国产精品网| 免费观看人在逋| 国产精品亚洲av一区麻豆| 欧美精品啪啪一区二区三区| 国产免费av片在线观看野外av| 黄片大片在线免费观看| 丝袜美足系列| 久久久国产欧美日韩av| 大型av网站在线播放| 久久久久精品国产欧美久久久| 免费在线观看影片大全网站| 91av网站免费观看| 91老司机精品| 日韩免费av在线播放| 天天添夜夜摸| 91麻豆av在线| 国产精品98久久久久久宅男小说| 精品视频人人做人人爽| 在线看a的网站| 夫妻午夜视频| 999久久久精品免费观看国产| 男女床上黄色一级片免费看| 国产极品粉嫩免费观看在线| 欧美乱码精品一区二区三区| 国产精品久久久av美女十八| 欧美在线一区亚洲| www.熟女人妻精品国产| 999久久久精品免费观看国产| 国产亚洲欧美在线一区二区| 久久这里只有精品19| 欧美 亚洲 国产 日韩一| kizo精华| 久久午夜亚洲精品久久| 国产1区2区3区精品| 少妇精品久久久久久久| 老鸭窝网址在线观看| 国产日韩一区二区三区精品不卡| 国产一区二区三区视频了| 视频区欧美日本亚洲| aaaaa片日本免费| a级毛片黄视频| 一进一出好大好爽视频| 欧美日韩一级在线毛片| 亚洲av成人一区二区三| 午夜福利乱码中文字幕| 超色免费av| 久久国产亚洲av麻豆专区| videos熟女内射| 日本精品一区二区三区蜜桃| 69av精品久久久久久 | xxxhd国产人妻xxx| a级毛片黄视频| tube8黄色片| 国产男女超爽视频在线观看| 黄片大片在线免费观看| 2018国产大陆天天弄谢| 精品少妇内射三级| 亚洲中文字幕日韩| 亚洲美女黄片视频| 国产免费现黄频在线看| 日韩有码中文字幕| 看免费av毛片| 日韩中文字幕欧美一区二区| 成年动漫av网址| 91av网站免费观看| 黄色片一级片一级黄色片| av国产精品久久久久影院| 精品国产一区二区三区四区第35| 免费在线观看黄色视频的| 精品福利观看| 极品教师在线免费播放| 国产高清videossex| 婷婷成人精品国产| 51午夜福利影视在线观看| 亚洲精品久久午夜乱码| 亚洲第一av免费看| 黄色怎么调成土黄色| 天天躁狠狠躁夜夜躁狠狠躁| 欧美乱妇无乱码| 黑人操中国人逼视频| 热99久久久久精品小说推荐| 日本wwww免费看| 国产精品免费视频内射| 久久国产精品大桥未久av| 久久ye,这里只有精品| 在线观看人妻少妇| 老鸭窝网址在线观看| 91老司机精品| 国产精品麻豆人妻色哟哟久久| bbb黄色大片| 亚洲专区国产一区二区| 欧美日韩中文字幕国产精品一区二区三区 | 成年版毛片免费区| 国产午夜精品久久久久久| 自拍欧美九色日韩亚洲蝌蚪91| 婷婷成人精品国产| 中文字幕人妻丝袜制服| 国产精品 欧美亚洲| 久久久久久人人人人人| 欧美日韩中文字幕国产精品一区二区三区 | 免费在线观看完整版高清| 国产单亲对白刺激| 婷婷成人精品国产| 母亲3免费完整高清在线观看| 丝袜美足系列| 亚洲第一青青草原| 成人国语在线视频| 欧美 日韩 精品 国产| 久久亚洲真实| 欧美日韩国产mv在线观看视频| 午夜福利一区二区在线看| 久久这里只有精品19| 日韩中文字幕欧美一区二区| 亚洲七黄色美女视频| 少妇猛男粗大的猛烈进出视频| 99re在线观看精品视频| 一进一出抽搐动态| 丰满少妇做爰视频| 韩国精品一区二区三区| 黑丝袜美女国产一区| 夜夜夜夜夜久久久久| 制服人妻中文乱码| 国产精品1区2区在线观看. | 国产单亲对白刺激| 咕卡用的链子| tube8黄色片| 精品免费久久久久久久清纯 | 免费一级毛片在线播放高清视频 | 午夜成年电影在线免费观看| 每晚都被弄得嗷嗷叫到高潮| 亚洲黑人精品在线| netflix在线观看网站| 精品人妻在线不人妻| 桃花免费在线播放| 午夜精品国产一区二区电影| 亚洲一区二区三区欧美精品| 老司机深夜福利视频在线观看| 成人亚洲精品一区在线观看| 色尼玛亚洲综合影院| 在线亚洲精品国产二区图片欧美| 肉色欧美久久久久久久蜜桃| 久久99热这里只频精品6学生| 午夜福利一区二区在线看| 少妇的丰满在线观看| 一级a爱视频在线免费观看| 久久人妻福利社区极品人妻图片| 人人澡人人妻人| 精品一品国产午夜福利视频| 国产成人免费观看mmmm| 亚洲国产欧美日韩在线播放| 交换朋友夫妻互换小说| 亚洲av片天天在线观看| 精品乱码久久久久久99久播| 多毛熟女@视频| 国产精品影院久久| 国产国语露脸激情在线看| 一区二区三区激情视频| 亚洲av日韩在线播放| 亚洲欧美一区二区三区久久| 国产精品免费一区二区三区在线 | 国产成人精品无人区| 啦啦啦在线免费观看视频4| 久久天堂一区二区三区四区| 欧美成人免费av一区二区三区 | 久久久久网色| 叶爱在线成人免费视频播放| 少妇猛男粗大的猛烈进出视频| 日韩精品免费视频一区二区三区| 国产欧美日韩综合在线一区二区| 九色亚洲精品在线播放| 成在线人永久免费视频| 久久久久久久久免费视频了| 久久久欧美国产精品| 两人在一起打扑克的视频| 亚洲精品中文字幕在线视频| 亚洲一码二码三码区别大吗| 在线观看舔阴道视频| 亚洲中文av在线| 色视频在线一区二区三区| 一区福利在线观看| 亚洲第一欧美日韩一区二区三区 | 人妻一区二区av| 久久久国产一区二区| 色在线成人网| 操美女的视频在线观看| 一边摸一边做爽爽视频免费| 夜夜爽天天搞| 天天躁日日躁夜夜躁夜夜| 视频区欧美日本亚洲| 亚洲精品久久午夜乱码| 两个人免费观看高清视频| 热99re8久久精品国产| 国产成人欧美| 国产精品香港三级国产av潘金莲| 精品一区二区三区四区五区乱码| 亚洲五月色婷婷综合| 视频在线观看一区二区三区| 一二三四在线观看免费中文在| 俄罗斯特黄特色一大片| 美女福利国产在线| 黄色视频不卡| 国产99久久九九免费精品| 亚洲成av片中文字幕在线观看| 搡老乐熟女国产| 久久精品国产亚洲av香蕉五月 | 国产欧美日韩一区二区精品| 国产亚洲一区二区精品| 日韩大码丰满熟妇| 午夜两性在线视频| 中文欧美无线码| 成年人午夜在线观看视频| 中文字幕人妻丝袜制服| 高清欧美精品videossex| 18禁美女被吸乳视频| 超碰成人久久| 高清黄色对白视频在线免费看| 757午夜福利合集在线观看| 交换朋友夫妻互换小说| 午夜福利影视在线免费观看| 亚洲人成77777在线视频| 久久精品国产综合久久久| 99精国产麻豆久久婷婷| 亚洲中文日韩欧美视频| 日韩熟女老妇一区二区性免费视频| 怎么达到女性高潮| a级片在线免费高清观看视频| 国产高清国产精品国产三级| kizo精华| 脱女人内裤的视频| 成人亚洲精品一区在线观看| 亚洲av片天天在线观看| 叶爱在线成人免费视频播放| 女人爽到高潮嗷嗷叫在线视频| 欧美日韩亚洲综合一区二区三区_| 亚洲精品av麻豆狂野| 欧美日韩中文字幕国产精品一区二区三区 | 国产一卡二卡三卡精品| 高清在线国产一区| 天天躁狠狠躁夜夜躁狠狠躁| 久久久久视频综合| 啦啦啦免费观看视频1| 国产亚洲欧美精品永久| 亚洲国产看品久久| 国产精品欧美亚洲77777| 精品人妻在线不人妻| 国产亚洲午夜精品一区二区久久| 久热这里只有精品99| 免费av中文字幕在线| 国产精品国产av在线观看| 国产高清国产精品国产三级| 99国产精品免费福利视频| 最新美女视频免费是黄的| 人人妻人人爽人人添夜夜欢视频| 我的亚洲天堂| 黄片小视频在线播放| 亚洲国产中文字幕在线视频| 亚洲国产看品久久| 国产精品一区二区在线不卡| 欧美午夜高清在线| 亚洲欧美日韩高清在线视频 | 日本av手机在线免费观看| 国产精品二区激情视频| 脱女人内裤的视频| 国产亚洲欧美在线一区二区| 天天躁日日躁夜夜躁夜夜| 男女免费视频国产| 侵犯人妻中文字幕一二三四区| 香蕉国产在线看| 亚洲全国av大片| 国产97色在线日韩免费| 精品国产一区二区三区四区第35| √禁漫天堂资源中文www| 蜜桃在线观看..| 欧美久久黑人一区二区| 一本一本久久a久久精品综合妖精| 淫妇啪啪啪对白视频| 一二三四社区在线视频社区8| 久久久久精品国产欧美久久久| 一本一本久久a久久精品综合妖精| 窝窝影院91人妻| 精品国产一区二区三区久久久樱花| 夜夜骑夜夜射夜夜干| 精品福利永久在线观看| 一二三四在线观看免费中文在| 桃红色精品国产亚洲av| 中文字幕制服av| 国产一区二区在线观看av| 日韩 欧美 亚洲 中文字幕| 男女高潮啪啪啪动态图|