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

    基于通信順序進程的Android程序復雜信息流分析方法

    2021-11-10 13:01:52袁占慧楊智張紅旗金舒原杜學繪
    網絡與信息安全學報 2021年5期
    關鍵詞:信息流調用分析方法

    袁占慧,楊智,張紅旗,金舒原,杜學繪

    基于通信順序進程的Android程序復雜信息流分析方法

    袁占慧1,楊智1,張紅旗1,金舒原2,杜學繪1

    (1. 信息工程大學,河南 鄭州 450001;2. 中山大學,廣東 廣州 510006)

    Android隱私泄露問題日益嚴重,信息流分析是發(fā)現隱私泄露的一種主要方法。傳統信息流分析方法以單一可達性分析為主,難以分析復雜信息流。提出一種基于通信順序進程的信息流分析方法,建立應用程序行為的形式化模型,從而全面刻畫程序信息流行為?;谶M程跡等價分析方法能夠自動化驗證信息流關聯、信息流約束等復雜信息流問題,進而判斷是否存在敏感信息泄露。實驗表明,所提方法能夠達到90.99%的準確率。

    安卓;信息流分析;隱私防護;形式化分析;通信順序進程

    1 引言

    智能手機逐漸融入人們的日常生活,成為生活中不可或缺的一部分,越來越多的隱私信息、私人數據等被存儲在智能手機中。Android系統在智能手機的操作系統中占有極高份額,然而由于其具有開放性,大量不可信組件和第三方應用程序威脅著用戶的隱私信息安全。針對Android系統的隱私敏感信息流分析具有很高的應用價值,是當前Android應用程序安全和用戶隱私信息保護的迫切需要。

    當前比較常見的信息流分析(IFA,information flow analysis)方法,主要采用污點跟蹤的方式,分別從靜態(tài)、動態(tài)或動態(tài)與靜態(tài)混合的方向入手,將信息流分析問題抽象為可達性問題,最終獲得可達性信息流路徑結果。只對信息流處理可達性問題具有很大的局限性,無法處理復雜信息流。例如,在針對多污點源的信息流分析,以及存在反射的信息流分析問題時,以FlowDroid為代表的一類信息流分析方法無法給出復雜的信息流分析結果。本文采用基于通信順序進程(CSP,communicating sequential process)[1]的形式化分析方法全面捕捉信息流行為,完成復雜情況下的信息流分析。

    CSP是由Hoare[1]提出的一種著名的進程代數模型,能夠很好地描述并發(fā)進程之間的相互作用。CSP可以通過代數推演對具有并發(fā)性、不確定性的分布式軟件系統進行分析,通過定義進程的跡,將進程從開始運行到某一時刻內所有順序發(fā)生的事件進行建模,通過事件序列刻畫進程行為。CSP的特性很好地契合了復雜信息流分析的要求?;贑SP對Android程序進行信息流分析,是形式化方法在信息流分析領域的創(chuàng)新性應用。

    信息流分析是一種重要的軟件分析方法,在Android應用程序的安全性分析以及隱私防護方面有廣泛的應用。TaintDroid[2]是一個動態(tài)的全系統信息流跟蹤工具,可以同時跟蹤多個敏感數據源,通過集成變量級、消息級、方法級和文件級粒度的污點傳播實現跟蹤分析。這種動態(tài)的信息流分析方法能夠獲得足夠的上下文信息且有效減少誤報,已被應用于信息流控制[3-6]、漏洞發(fā)現[7-10]、安全攻擊[10-12]、惡意軟件檢測[13-14]、隱私泄露分析[15-17]等領域。FlowDroid[18]是著名的靜態(tài)信息流分析工具,在Android應用程序的單個組件中執(zhí)行靜態(tài)污染分析。FlowDroid充分模擬了Android特有的應用程序生命周期和回調方法,用于減少漏報或誤報。Amandroid[19]和IccTA[20]執(zhí)行組件間通信污點分析,以檢測基于組件間通信(ICC,inter-component communicaiton)的隱私泄露。Bianchi等[21]采用反向數據流分析方法跟蹤API的信息流,針對觸摸屏界面存在的安全風險及帶有視圖覆蓋替換的釣魚攻擊,深度挖掘具有風險的系統調用。InputScope[22]使用靜態(tài)污點分析來標記用戶輸入并監(jiān)視其傳播,以識別用戶輸入驗證,這些驗證會暴露隱私信息,如后門和黑名單。傳統信息流分析方法往往缺乏復雜信息流分析能力。

    形式化方法在Android信息流分析檢測中的應用研究相對有限,當前研究主要對程序進行形式化建模,以進行模型檢驗[23-28]。Song等[23]利用下推系統對Android應用程序的Smali代碼進行建模,并通過計算樹邏輯或線性時態(tài)邏輯來表達惡意行為。Bai等[24]構建了一個通用框架DROIDPF,用以驗證Android應用程序的安全性,由于DROIDPF側重于應用程序中常見的安全漏洞,因此需要手動建立每個漏洞的狀態(tài)機模型。Mercaldo等[25]圍繞惡意軟件家族的檢測和分類發(fā)表了一系列研究成果。他們在文獻[25-27]中分別檢測到了與勒索軟件、更新攻擊和重新包裝相關的系列惡意軟件,并在此基礎上提出了一種通用的分類方法,命名為LEILA[28]。這一系列研究通過基于通信系統演算(CCS,calculus of communicating system)的Java字節(jié)碼建模[29]來解決相關問題,定義選擇性演算公式[30],對惡意軟件家族的時序邏輯屬性進行編碼,并通過模型檢查獲得家族分類。

    形式化檢測的關鍵是能夠用形式化語言準確、全面地描述代碼行為,并建立行為模型。模型檢查過程通過數學推導由形式化工具實現自動化。然而,現有的形式化信息流分析方法存在不足。例如,文獻[28]中的LEILA系統,無法處理虛擬調用和反射調用的混淆。此外,數據流沒有被考慮,因為它沒有對賦值語句建模。

    為了彌補傳統信息流分析方法和現有形式化分析方法在復雜信息流分析方面存在的不足,本文提出了一種基于通信順序進程的Android程序復雜信息流分析方法,其核心思想是利用CSP對信息流傳播過程進行建模,利用形式化的方法,更加詳細地刻畫出復雜信息流的傳播過程,全面捕捉信息流行為,完成復雜情況下的信息流分析。

    本文的主要貢獻如下。

    (1)提出了基于通信順序進程的Android程序復雜信息流分析方法,解決了傳統信息流分析方法難以對復雜信息流進行分析的問題,包括多信息流關聯關系分析、控制行為觸發(fā)的復雜信息流分析等,進而判斷Android程序是否存在敏感信息泄露。

    (2)按照信息流性質進行分類,對不同種類信息流路徑分別進行建模分析,基于Jimple中間語言建立了適合Android應用程序的CSP信息流分析模型。

    (3)對信息流的多種特征進行了建模,包括反射、過程間函數調用等,解決了傳統靜態(tài)信息流分析的短板問題。實驗表明,所提方法能夠正確執(zhí)行信息流分析功能,并達到90.99%的準確率,高于傳統靜態(tài)信息流分析方法FlowDroid。

    圖1 整體工作流程系統框架

    Figure 1 The framework of the work process system

    2 系統設計

    本文提出的基于通信順序進程的Android程序復雜信息流分析方法,是基于將應用程序的信息流傳播過程用CSP模型進行建模而完成的,在此基礎上,再進行信息流行為提取,判斷是否存在敏感信息泄露,最后報告敏感信息流路徑。整體工作流程和系統框架如圖1所示。

    首先,對目標APK文件進行分析和代碼轉換,將APK文件轉換為中間表示形式再建立CSP模型。然后,建立CSP模型,刻畫典型信息流性質。最后,將目標應用程序的CSP模型和典型信息流CSP模型同時輸入FDR(failures divergence refinement)檢測器進行檢測,獲得信息流路徑的進程報告。

    由于Java源代碼和Java字節(jié)碼中的語句類型非常復雜,因此快速有效地提取代碼中的信息非常重要?;谝陨峡紤],首先進行APK文件反編譯,然后調用SOOT將Java字節(jié)碼轉換成Jimple中間語言[31]。Jimple具有語句類型少、類型清晰、3種地址形式等優(yōu)點,有利于后續(xù)的形式化建模。

    將Jimple語句轉化為對應的CSP進程,即可完成對Android應用程序的正式建模。由于Jimple中只有15條語句,而且3個地址形式使語義非常清晰,因此將Jimple表示為CSP會更容易。每一個語句的過程范式都是建立在其特征的基礎上的,是對代碼行為的準確抽象表達。本文在此基礎上提出了一個完整的Android應用程序模型。

    本文使用FDR模型檢測器檢測Android惡意軟件,FDR模型檢測器是一個應用于CSP的正式工具。對樣本行為建模的CSP過程被認為是需要驗證的過程,它被簡化為只包含屬性過程中出現的事件,最終結果是斷言測試(如果存在)的反例。

    本文使用模型檢測工具FDR對目標信息流進行形式化分析。該工具引入了跡的概念,用可以執(zhí)行的有限通信序列的集合表示進程?;谯E模型,FDR用跡提煉來定義兩個進程之間的特殊關系。

    如果存在兩個進程和,的所有特定行為對于來說都具有,那么稱提煉,或是的一個提煉,記為í。進一步,將跡模型應用到提煉的概念中:如果的所有通信事件序列對于來說也是可能的,即traces()ítraces(),那么稱跡提煉,或是的一個跡提煉,記為íT。

    在對信息流進行FDR分析檢測時,將作為抽象每條目標信息流特有性質的進程,將作為建模目標APK文件樣本中信息流行為的進程。在一次測試中,只將一個樣本的待測進程與一個信息流進程同時輸入FDR檢測器,在樣本進程只保留該性質中事件的基礎上,判斷其是否是信息流進程的跡提煉。如果模型檢測通過,則說明該樣本具有該信息流類型所具有的性質,因此報告該信息流路徑;否則,認為樣本不存在該進程類型的信息流路徑,可以繼續(xù)將該樣本進程與其他信息流進程進行測試。

    3 CSP形式化建模

    為了更加便捷高效地對信息流傳播過程進行建模,本文引入了Jimple中間語言[31]。這種基于SOOT框架的三地址中間表示形式,語句種類較少且每條語句最多只會出現3個量值,非常適合對Java語言的分析及優(yōu)化。信息流傳播中涉及的Jimple語句類型如圖2所示。

    圖2 15種Jimple語句類型(If/Goto語句為一組)

    Figure 2 15 Jimple statements (If/Goto statements are a group)

    如果將一段Jimple代碼視為一個整體系統,那么其中包含的每一條語句都是它的組成部分,都可以建模成一個CSP。語句的進程名稱由帶參數類型的完整方法名和下標組成,第一個下標是當前語句在方法中的編號,然后是當前方法中的所有非靜態(tài)局部變量、方法所在類的所有非靜態(tài)成員變量以及方法中創(chuàng)建的所有類對象的非靜態(tài)成員變量,以便更好地表明變量值的變化。例如,某方法的第條語句對應的進程名可以表示為Test_example(int)0,i0,…,其中的值不大于該方法的Jimple語句總數(從定義語句后開始計數)。將不同種類的Jimple語句轉換成對應的CSP時,所有的進程均可以被命名為P, r0, i0, …的形式。

    當涉及類的成員變量或成員方法的變量時,需要在兩個進程間傳遞數據。若對其進行賦值,如. = temp$1對應的CSP進程為P, r0, i0, …= (set.class.!temp$1?P+1, r0, i0, …);否則,如temp$1 =.對應的CSP進程為P, r0, i0, …, temp$1,…= (get.class.??P+1, r0, i0, …, a, …)。其中,set.class.!temp$1是輸出temp$1作為class.賦值的事件,get.class.?是接收class.的值的事件。

    本文為每個類建模一個進程來管理類中所有成員變量和成員方法中變量的值,同時,為每個實例化的類建立編號ID。若類class中有個上述類型的變量,則它對應的CSP進程為(ID, a)= (IDset.class.??P| IDgetclass!?P)。其中,編號ID能夠實現對類的記錄,通過編號值區(qū)分不同類的成員變量和成員方法中變量的值。set.class.?是class接收作為的賦值的事件,getclass!是class輸出的值的事件。

    典型的信息流行為模式包括數據流行為、控制流行為、反射行為、虛函數等?;趯Σ煌N類的Jimple語句進行CSP建模分析,本文分別建立了5種信息流行為的CSP模型。

    3.1 數據流行為建模

    數據流行為可以認為是由NopStmt、IdentityStmt和AssignStmt這3種類型的語句進行組合的行為。NopStmt表示變量值未發(fā)生變化的語句,這條語句沒有經過任何能引起變量值變化的事件,此時直接進入下一條語句的進程;IdentityStmt表示將參數值賦值給變量的語句,將調用語句中的實參傳入被調用方法;AssignStmt表示變量的一般賦值語句,體現變量被感染的過程。數據流行為建模如圖3所示。

    圖3 數據流行為建模

    Figure 3 Modeling for data flow

    IdentityStmt語句的兩種模型形式分別對應與參數有關的變量賦值語句和與this引用有關的變量賦值語句,param.method?arg表示當前方法method接收實參arg的事件。對涉及參數的賦值語句,需要在調用語句和被調用語句之間傳遞實參。在多參數情況下,按序進行的參數賦值更便于查找輸入值。

    3.2 過程內控制流行為建模

    本文將過程內控制流行為認為是由IfStmt/ GotoStmt、TableSwitchStmt和LookupSwitchStmt這3種類型的語句組合而成的行為。IfStmt/ GotoStmt表示條件判斷和跳轉語句,能夠指示滿足判斷條件時要進行處理的語句位置;TableSwitchStmt是表轉換語句,用于switch分支的條件值分布比較集中的情況;LookupSwitchStmt是查找轉換語句,用于switch分支的條件值分布比較稀疏的情況。過程內控制流行為建模如圖4所示。

    IfStmt/GotoStmt語句的第一種模型形式中的是跳轉目標的語句序號。為了得到的值,需要在當前方法的后續(xù)語句范圍內搜索該label標記。該進程不執(zhí)行任何實際的事件,只是跳轉到標號所在的語句進程繼續(xù)執(zhí)行。第二種模型形式的進程提供兩個選擇,如果IfStmt給出的判斷條件成立,則按照相應label標記處的語句進程繼續(xù)執(zhí)行;否則按照下一條語句的進程順序執(zhí)行。

    圖4 過程內控制流行為建模

    Figure 4 Modeling for intraprocedural control flow

    TableSwitchStmt和LookupSwitchStmt語句分別通過鍵值匹配和索引訪問跳轉表,模型中是case分支的條件值,goto()是處理該情況的語句的起始編號。該進程表示在選擇合適的case分支后,跳轉到相應標號位置處繼續(xù)執(zhí)行。兩種代碼的形式完全相同,因此共享相同的CSP進程。

    3.3 過程間控制流行為建模

    過程間控制流行為包括函數調用行為、反射行為以及虛函數,本節(jié)將依次對這3種情況進行建模分析。

    3.3.1 函數調用建模

    本文將函數調用行為認為是由InvokeStmt、ReturnStmt和ReturnVoidStmt這3種類型的語句進行組合形成的。InvokeStmt表示調用語句;ReturnStmt指有返回值的返回語句,ReturnVoidStmt指沒有返回值的返回語句“return”。函數調用行為建模如圖5所示。

    圖5 函數調用行為建模

    Figure 5 Modeling for function call

    對于InvokeStmt調用語句,當被調用的method有參數和返回值時,CSP模型中的param.method!arg0、param.method!1等表示向method依次傳遞實參的事件,retval.method?val表示從method接收val的事件,call.method和return.method分別表示method調用開始和結束的事件。當被調用的方法沒有參數或返回值時,在進程表達式中去掉相應的事件,通過IdentityStmt語句進行實參接收。

    新線程的創(chuàng)建過程也遵循InvokeStmt方法調用的形式,但有所不同的是,它不需要像一般調用中那樣等待被調用方完成后才能繼續(xù)執(zhí)行,因此具有如圖5所示的新的CSP模型形式,其中thread.run指要創(chuàng)建的線程類thread的run方法對應的進程。

    對于ReturnStmt語句的CSP模型進程,retval.method!val是當前方法method返回變量val的事件。該進程表示返回需要的結果后結束所在方法的此次執(zhí)行,并回到方法開始處等待下次調用。

    對于ReturnVoidStmt語句的CSP模型進程,用method表示當前方法,該進程不返回任何值,只用于結束所在方法的此次執(zhí)行。

    在對過程間通信行為進行建模時,需要考慮系統調用的同步機制。為了確保任意方法在同一時刻最多只能被另一個方法調用,用SYNM進程來描述系統的調用同步機制,如圖6所示。系統調用同步機制模型由各個調用同步事件的控制進程SYNM_method組成,其中method指代被調用的方法,method1、method2等則是系統中不同的被調用方法。

    圖6 系統的調用同步機制

    Figure 6 System call synchronization mechanism

    調用語句與被調用方法之間的同步關系如圖7所示。在調用語句中,call和return事件將分別作為本次調用的開始和結束事件。SYNM進程的同步集是call、begin、end、return事件,被調用方法執(zhí)行完畢后會將控制返回到InvokeStmt的下一條語句。

    圖7 InvokeStmt及被調用方法之間的同步

    Figure 7 Synchronization between invokeStmt and the called method

    3.3.2 反射行為建模

    反射行為作為Java語言獨特的功能,能夠在過程間信息流中動態(tài)獲取信息并調用對象方法,需要單獨進行建模分析。為了靜態(tài)地解析反射,本文定義allclasses數組來記錄程序中的所有類。反射行為中包含forName、getMethod和invoke這3種比較重要的方法調用,方法調用的示例如圖8所示。

    圖8 反射行為中的方法調用示例

    Figure 8 Example of method calls in reflection

    forName方法的調用,在allclasses數組中查找名稱為cla的值的類,并將其索引allclasses_ index(cla)賦值給,對應的CSP進程如圖9(a)所示。

    getMethod方法的調用,在cla類的方法數組allmethodc中查找名稱為send,參數類型為ARG_ type的值的方法,并將其索引m_index(“send”,ARG_type)&賦給,相應的CSP進程如圖9(b)所示。

    invoke方法的調用,主要負責反射調用的具體執(zhí)行,CSP進程如圖9(c)所示。

    圖9 反射行為建模

    Figure 9 Modeling for reflection

    程序中每個動態(tài)加載的方法都被記錄下來后,構造相應的反射過程來控制方法的執(zhí)行,如圖10所示。

    圖10 構造反射過程

    Figure 10 Constructing for reflection

    3.3.3 虛函數建模

    以Java的繼承機制為基礎虛函數調用,也是Java語言一種獨特的函數調用方式,因此單獨進行建模分析。Java支持繼承,允許創(chuàng)建層次類。子類不僅可以繼承父類的特性和行為,還可以通過虛調用使用父類的方法。

    與反射行為建模過程類似,同樣要為程序中所有類依照從屬關系建立一個數組allclasses來存儲它們的父類。此外,還要為類建立一個數組allmethodc來記錄類中的所有方法名。

    在處理調用語句時,首先檢查被調用方法的類層次結構是否正確,如果正確,則根據上述規(guī)范對流程進行建模;否則,搜索其父類并依次執(zhí)行,直到找到方法為止,并用模型中實際調用的方法名替換該方法。圖11(a)所示的語句為一個虛函數調用,getIMEI()方法在源類中不存在,但可以在其父類SourceFather中找到該方法。因此,相應的CSP過程模型如圖11(b)所示。

    圖11 虛函數建模

    Figure 11 Modeling for virtual function

    4 信息流性質刻畫與驗證

    4.1 信息流性質刻畫

    在信息流泄露事件中,部分信息流行為模式普遍存在,是構成泄露事件的重要步驟。即使這些行為模式存在多種不同的具體實現方式,然而信息流傳播邏輯相同,形式化表達方式也相同。因此本文將不同種類的信息流行為模式認定為信息流的性質,結合對典型信息流行為模式的建模,刻畫出泄露事件的信息流性質。

    為了簡化FDR模型檢測的復雜程度,對CSP模型中與信息流傳播不相關的代碼行為進行隱藏,流程為:uselessevents={|transfer,calldeal, api.normalx|},SAFE_SAMPLE=SAMPLE uselessevents。接下來定義信息流發(fā)生泄露的性質為PROPERTY=source.taint->sink.taint->STOP。基于對簡化信息流CSP模型和信息流泄露性質的定義,得出在CSP模型中發(fā)現信息流泄露路徑的方式為assert SAFE_SAMPLE [T= PROPERTY。

    最終結果作為斷言測試的反例生成,當判定結果為真時,則認為存在信息泄露行為,并且FDR模型檢測工具能夠報告出滿足判定結果為真的信息流路徑,該路徑即為本方法所求的目標信息流泄露路徑。當此處判定結果為假時,則說明不存在信息泄露行為。

    基于以上信息流性質和泄露路徑提取方式,本文針對典型信息流分析過程,建立了細化的信息流檢測CSP模型與FDR驗證方法。

    (1)待分析程序中含有多個敏感信息源(source)和敏感信息泄露點(sink)時(如將地理位置、麥克風、通話記錄信息等認定為敏感源,將網絡發(fā)送、短信發(fā)送、寫入本地文件等認定為敏感信息泄露點),為了找出從所有source點到所有sink點的信息流,即找出所有可能存在的隱私敏感信息泄露路徑,本文提出如下CSP模型檢測方法:Leakage_Flow ≡ (sink.{sinklist}.taint. {sourcelist}|sinklist<-{1…MAX},sourcelist<-{1… MAX});PROPERTY≡CHAOS(ΣLeakage_Flow);PROPERTY [T= Assert SYSTEM。此方法將從所有source點出發(fā)到達所有sink點的信息流路徑作為系統CSP模型的跡提煉輸出,能夠得到覆蓋所有source點和sink點的信息流路徑。

    (2)針對某應用程序進行分析時,有需要挖掘從指定source點到指定sink點的信息流路徑的需求,即信息流定向搜索需求。例如,針對地理位置信息,搜索是否存在以地理位置信息為敏感源,以寫入本地文件為泄露點的信息流路徑,就屬于信息流定向搜索。本文針對此類情況提出如下CSP模型檢測方法:Leakage_Flow ≡ (sink.sinkx.taint.sourcex);PROPERTY ≡ CHAOS (ΣLeakage_Flow);PROPERTY [T= Assert SYSTEM。此方法通過將確定的source點和sink點引入模型檢測過程,完成定向搜索功能。

    (3)在惡意應用程序中,某條信息流同時包含多個敏感信息的情況也比較常見,即一條信息流路徑同時被多個敏感源感染,有多個source點。例如,惡意軟件可能將通話記錄和通信錄以及其他非敏感信息打包,經過一條信息流路徑,向網絡發(fā)送。這種多污點聚合類的信息流分析對于傳統的靜態(tài)信息流分析工具也是不小的挑戰(zhàn)。本文針對此類多污點聚合發(fā)送的信息流分析問題提出如下CSP模型檢測方法:Leakage_Flow ≡(sink.taint.{sourcelist}|sourcelist<-{source,source,source…source});PROPERTY≡ CHAOS (ΣLeakage_Flow);PROPERTY [T= Assert SYSTEM。此方法針對指定的sink點,對個source點進行跡提煉,從而挖掘出多污點聚合發(fā)送復雜信息流路徑。

    (4)由控制行為觸發(fā)的復雜信息流路徑是傳統靜態(tài)信息流分析的難點,控制行為對信息流分析產生的影響在進行靜態(tài)分析時很難識別。當某條信息流需要控制行為才能觸發(fā)時(如當用戶點擊發(fā)送某張圖片時,觸發(fā)泄露地理位置信息),將會產生傳統靜態(tài)分析方法無法識別的信息流。本文針對這種情況提出如下CSP模型檢測方法:Leakage_Flow ≡ (sink.event.taint.source|event<- {button.click.OK});PROPERTY ≡ CHAOS (ΣLeakage_Flow);PROPERTY [T=Assert SYSTEM。

    形如上述類型的復雜信息流分析模型,都能夠轉化為以CSP模型描述的信息流性質,進而應用到模型檢測中實現信息流分析挖掘功能。

    在實際應用中,往往不是針對應用程序的源碼進行分析,而是只有APK文件資源。此時需要首先調用SOOT框架,直接將APK文件轉化為Jimple中間代碼形式,再進行后續(xù)CSP建模和FDR模型檢測分析。

    4.2 信息流性質驗證

    本文使用精化檢測工具FDR對建立的形式化模型進行分析。FDR已廣泛應用于學術界和工業(yè)界,在協議漏洞挖掘、軟件安全性驗證、數學邏輯運算方面獲得了成功應用。FDR實現了CSP的3個驗證模型,分別為跡模型、穩(wěn)定失敗模型和失敗/發(fā)散模型,3個模型驗證進程間等價性的程度和需要驗證的狀態(tài)空間個數都是遞增的。穩(wěn)定失敗模型可以驗證非確定性行為,如驗證活性。失敗/發(fā)散模型避免因進程加入屏蔽算子導致的發(fā)散對分析帶來的影響,實際上如果不是實際存在發(fā)散跡,而是用于驗證分析時出現發(fā)散跡,則發(fā)散攻擊是不存在的,不一定要求發(fā)散跡也等價。而且跡模型可以對“不存在違背某個安全性質的反例”之類的斷言進行驗證。所以本文選取跡模型作為驗證模型,這樣可以降低復雜度且能滿足本文的安全性質要求。

    FDR內部通過有限狀態(tài)系統等價性分析驗證斷言的正確性,主要分析復雜信息流的可達性和關聯關系。對于單個污點源,假設程序的變量個數為,語句個數為,則程序的CSP對應的有限狀態(tài)機的狀態(tài)個數最大為2,每個狀態(tài)的出度最大為。FDR的精化算法采用互模擬等價原則分析程序的有限狀態(tài)機M1和安全屬性的有限狀態(tài)機M2之間的等價包含關系。首先選擇程序運行時的初始狀態(tài)然后遞歸分析,對于M1中的每個狀態(tài)10,查找M2中是否存在等價狀態(tài)20,則查找復雜度為2,對于每一個備選的20',驗證所有從該狀態(tài)的出邊是否等價,則驗證復雜度為。所以最壞情況下總的計算開銷為×22m,假設做個不同污點源復雜信息流分析,則最壞情況的計算開銷為×22mk。

    FDR采用了很多高效的方法進行了優(yōu)化。狀態(tài)可達性分析,只分析從初始狀態(tài)可達的狀態(tài);狀態(tài)壓縮技術,包括explicate(枚舉),sbisim(強節(jié)點標記互模擬),tau_loop_factor(循環(huán)消除),diamond(菱形消除),normalise(標準化)和model_compress(語義等價分解)。在本文研究的信息流復雜性分析中,一般程序全局/靜態(tài)變量相對較少,大多數變量是局部變量,離開了所在函數,這些局部變量沒有意義,意味著絕大部分的狀態(tài)變遷根本不會發(fā)生。每條語句通常只會影響少量變量的狀態(tài)變化,意味著狀態(tài)機中總的邊數通常不會超過10。所以這些優(yōu)化技術可以極大地降低信息流分析的復雜度。另外,大部分的信息流性質驗證公式驗證的是作用了隱藏算子后的進程等價性分析,這其實是弱互模擬等價分析。驗證所有從該狀態(tài)的出邊是否等價時,復雜度進一步大幅降低。本文的實驗表明了FDR在驗證具體的信息流分析實例時具有良好的性能。

    5 實驗評估

    本節(jié)將會對本文提出的信息流分析方法進行實驗評估,主要分為功能測試和性能測試兩部分。為了保證實驗條件的一致性,本文的實驗部分采用了與FlowDroid相同的source列表和sink列表。實驗中FlowDroid涉及的部分參數配置如表1所示。

    5.1 功能測試

    功能測試的目的是驗證本文提出的信息流分析方法的基本功能是否正確,即本文方法是否能夠正確執(zhí)行信息流分析功能,正確報告信息流泄露路徑。

    文獻[32]提出了一種惡意應用程序中包含的復雜信息流情況,文獻舉例的惡意應用程序偽裝成視頻播放器,但卻開啟后臺服務竊取包括IMEI、IMSI在內的用戶敏感信息;另一個良性應用程序同樣使用了這兩項敏感信息并進行發(fā)送。兩種應用程序中都含有通過Internet發(fā)送國際移動設備識別碼(IMEI,international mobile equipment identity)、國際移動用戶識別碼(IMSI,international mobile subscriber identity)的信息流路徑,但兩種信息流結構卻大不相同,如圖12所示。

    表1 FlowDroid參數配置

    圖12 良性和惡意軟件應用程序的行為比較

    Figure 12 Behavior comparison between benign and malicious applications

    實驗表明,惡意App中的信息流泄露行為大多數采用這種捆綁式的泄露方式。使用文獻[32]提供的良性和惡意應用程序進行測試,結果表明本文提出的基于通信順序進程的復雜信息流分析方法,能夠正確執(zhí)行多敏感源捆綁式的惡意信息流分析,并能夠得出與良性應用程序的區(qū)別。本文還對傳統數據流分析工具FlowDroid進行了測試,由于忽視了不同信息流的關系以及這兩個應用程序的不同行為,FlowDroid無法區(qū)分惡意應用程序行為。

    本文提出的方法屬于靜態(tài)信息流分析方法,因此選取靜態(tài)信息流分析方法FlowDroid作為實驗對比對象,對比兩種分析方法檢測到的信息流路徑是否一致。

    FlowDroid[18]是Android應用程序的高精度靜態(tài)信息流分析方法,文獻[18]使用了InsecureBank APP和DroidBench測試套件,測試方法的有效性和準確性。本文方法也將分別在這兩個平臺上與FlowDroid進行對比分析。

    (1)首先選取InsecureBankv2作為測試用例進行實驗分析,測試本文方法挖掘復雜App內多條信息流路徑的能力。對InsecureBankv2中存在的9個典型的信息流泄露漏洞進行測試的結果如表1所示。表中的★表示找到了信息流泄露路徑。實驗結果表明,兩種信息流分析方法都發(fā)現了所有的信息流泄露路徑。證明本文方法能夠正確執(zhí)行信息流分析功能。

    表2 InsecureBankv2信息流泄露路徑檢測結果

    (2)接下來利用DroidBench2.0[18]驗證本文方法挖掘不同App內多條信息流路徑的能力。DroidBench2.0是一個開源的基準測試套件,常用于測試針對Android系統的信息流分析工具在數組、方法、指令、應用內外通信等方面的跟蹤分析性能及有效性。DroidBench2.0中13個類別的120個應用程序都被用于本實驗,實驗結果如表3所示。其中,TP表示正確報告App存在的信息泄露路徑數,FP表示誤報數,FN表示漏報數。

    所有測試用例中共有115條泄露路徑。FlowDroid和本文的分析方法都發(fā)現了101條路徑,但FlowDroid誤報了13條路徑,本文方法誤報了10條路徑。FlowDroid誤報但本文方法未誤報的3條路徑實際上從未出現在測試用例Unregister1/Callbacks、Exceptions3/General Java和VirtualDispatch3/General Java中。FlowDroid沒有為從未注冊的回調、從未發(fā)生的異常和從未調用的方法中的代碼提供更精確的分析。本文分析方法誤報的10條路徑涉及粗粒度數組或列表跟蹤、未定義的源、不準確的反向別名分析等。為了避免巨大的存儲開銷,數組或列表中的所有數據項共享相同的污點標記,這會導致粗粒度跟蹤和4次誤報。FlowDroid和本文提出的信息流分析方法定義的源比DroidBench定義的源更多,如getLastKnownLocation、findViewById、getIntent等,因此這兩種方法都跟蹤了過多的source,所以這些誤報事實上是合理的。

    表3 DroidBench2.0信息流泄露檢測結果

    FlowDroid和本文方法都漏掉了14條路徑,主要是因為一些特殊代碼沒有被跟蹤,包括在獨立組件(Singletons1/ICC)、ICC處理程序(ServiceCommunication1/ICC)、靜態(tài)初始化方法(StaticInitialization1/General java)、格式化程序(StringFormatter1/General java)、文件系統訪問(PrivateDataLeak3/AndroidSpecific)、無目標類的類型信息的方法反射調用(Reflection3/ Reflection)中的污點傳播等情況。

    本文提出的信息流分析方法在此項實驗中的召回率為87.83%,準確率為90.99%。FlowDroid的召回率同樣為87.83%,但其準確率僅為88.60%。

    5.2 性能測試

    本文的性能測試部分在具有6核1.10 GHz,英特爾i7-10710U處理器和16 GB內存的計算機上完成。

    信息流靜態(tài)分析工具分析應用程序的時間消耗可以作為性能指標,反應分析方法的性能優(yōu)劣。在進行性能測試時,本文仍然以FlowDroid為實驗對比方法,以DroidBench2.0為實驗測試集。性能測試結果如表4所示。

    DroidBench2.0共有13個類別,如表4第一列所示,本文對每個類中所有的應用程序分別進行測試并取平均值。表4中第二列表示FlowDroid的時間消耗,記錄的是將APK文件輸入FlowDroid并最終獲得信息流路徑的時間;第3列到第5列分別表示本方法中3個步驟分別消耗的時間,即代碼轉換、形式化建模和模型檢測分別消耗的時間;最后一列表示本文提出的分析方法消耗的總時間。表中所有實驗數據均為針對每個APK文件分別運行3次取平均值的結果。

    代碼轉換和形式化建模消耗了部分時間來更全面地處理應用程序,但占總體消耗時間的比例較小,分別為3.61%和2.18%;模型檢測部分為本文方法輸出信息流路徑的關鍵部分,需要更多的時間,其時間消耗占總時間消耗的94.22%。

    實驗結果表明,本文提出的信息流分析方法雖然與其他形式化方法相同,均具有分析過程耗時較長的問題,但與傳統信息流分析方法FlowDroid相比,在時間消耗相差不大的情況下(120個測試用例的平均時間差值僅為5.64 s),獲得了更高的準確率。

    表4 性能測試結果

    6 結束語

    本文對Android敏感信息流進行分析,以更加全面地挖掘隱私泄露信息流路徑,助力用戶隱私信息防護為出發(fā)點,提出了一種基于通信順序進程的Android程序復雜信息流分析方法。該方法利用通信順序進程模型對應用程序的信息流傳播過程進行建模,在此基礎上,刻畫復雜信息流性質,再進行信息流行為提取,全面分析應用程序復雜信息流,判斷是否存在敏感信息泄露。該方法克服了傳統信息流分析方法通過求解可達性問題獲取路徑,難以處理復雜信息流的局限性,實現了反射行為等信息流特征刻畫,解決了多種復雜信息流分析問題,能夠全面捕捉信息流行為,完成復雜情況下的信息流泄露路徑檢測。通過與傳統靜態(tài)信息流分析方法對比分析,表明本文方法能夠正確執(zhí)行信息流分析功能,并能夠達到90.99%的準確率,高于傳統靜態(tài)信息流分析方法FlowDroid。

    [1] HOARE C A R. Communicating sequential processes[M]. NJ, USA: Prentice Hall, 1985.

    [2] ENCK W, GILBERT P, CHUN B G, et al. TaintDroid: an information-flow tracking system for realtime privacy monitoring on smartphones[J]. ACM Transactions on Computer Systems, 2010, 57(3): 393-407.

    [3] VACHHARAJANI N, BRIDGES M J, CHANG J, et al. RIFLE: an architectural framework for user-centric information-flow security[C]//Proceedings of 37th International Symposium on Microarchitecture (MICRO-37'04). 2004: 243-254.

    [4] BANERJEE S, DEVECSERY D, CHEN P M, et al. Iodine: fast dynamic taint tracking using rollback-free optimistic hybrid analysis[C]//Proceedings of 2019 IEEE Symposium on Security and Privacy (SP). 2019: 490-504.

    [5] ZHANG M, YIN H. Efficient, context-aware privacy leakage confinement for android applications without firmware modding[C]// Proceedings of the 9th ACM Symposium on Information, Computer and Communications Security. 2014: 259-270.

    [6] JIA Y J, CHEN Q A, WANG S Q, et al. ContexIoT: towards providing contextual integrity to appified IoT platforms[C]//Proceedings of 2017 Network and Distributed System Security Symposium. 2017.

    [7] ZONG P, LV T, WANG D, et al. FuzzGuard: filtering out unreachable inputs in directed grey-box fuzzing through deep learning[C]//Proceedings of 29th USENIX Security Symposium (USENIX-SS'20). 2020.

    [8] SHE D D, CHEN Y Z, SHAH A, et al. Neutaint: efficient dynamic taint analysis with neural networks[C]//Proceedings of 2020 IEEE Symposium on Security and Privacy (SP). 2020: 1527-1543.

    [9] NGUYEN-TUONG A, GUARNIERI S, GREENE D, et al. Automatically hardening web applications using precise tainting[M]//Security and Privacy in the Age of Ubiquitous Computing. Boston, MA: Springer US, 2005: 295-307.

    [10] NEWSOME J, SONG D. Dynamic taint analysis for automatic detection, analysis, and signature generation of exploits on commodity software[C]//Proceedings of the Network and Distributed System Secu-rity Symposium (NDSS '05). 2005.

    [11] KONG J F, ZOU C C, ZHOU H Y.Improving software security via runtime instruction-level taint checking[C]//Proceedings of the 1st Workshop on Architectural and System Support for Improving Software Dependability. 2006: 18-24.

    [12] HALDAR V, CHANDRA D, FRANZ M. Dynamic taint propagation for Java[C]//Proceedings of 21st Annual Computer Security Applications Conference (ACSAC'05). 2005: 311.

    [13] VOGT P, NENTWICH F, JOVANOVIC N, et al. Cross site scripting prevention with dynamic data tainting and static analysis[C]//Proceedings of the Network and Distributed System Security Symposium (NDSS '07). 2007.

    [14] CABALLERO J, POOSANKAM P, MCCAMANT S, et al. Input generation via decomposition and restitching: finding bugs in malware[C]//Proceedings of the 17th ACM Conference on Computer and Communications Security. 2010: 413-425.

    [15] ENCK W, GILBERT P, CHUN B G, et al. TaintDroid: an information-flow tracking system for realtime privacy monitoring on smartphones[C]//Proceedings of the 9th USENIX Symposium on Operating Systems Design and Implementation. 2019: 393-407.

    [16] ZHU D Y, JUNG J, SONG D, et al. TaintEraser[J]. ACM SIGOPS Operating Systems Review, 2011, 45(1): 142-154.

    [17] KANG M G, MCCAMANT S, POOSANKAM P, et al. DTA++: dynamic taint analysis with targeted control-flow propagation[C]//Proceedings of the Network and Distributed System Security Symposium (NDSS '11). 2011.

    [18] ARZT S, RASTHOFER S, FRITZ C, et al. FlowDroid: precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for Android Apps[C]//Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation. 2014: 259-269.

    [19] WEI F G, ROY S, OU X M, et al. Amandroid: a precise and general inter-component data flow analysis framework for security vetting of Android Apps[C]//Proceedings of the ACM Conference on Computer and Communications Security. 2014: 1329-1341.

    [20] LI L, BARTEL A, BISSYANDé T F, et al. IccTA: detecting inter-component privacy leaks in android Apps[C]//Proceedings of 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering. 2015: 280-291.

    [21] BIANCHI A, CORBETTA J, INVERNIZZI L, et al. What the App is that? Deception and countermeasures in the android user interface[C]//Proceedings of 2015 IEEE Symposium on Security and Privacy. 2015: 931-948.

    [22] ZHAO Q C, ZUO C S, DOLAN-GAVITT B, et al. Automatic uncovering of hidden behaviors from input validation in mobile Apps[C]//Proceedings of 2020 IEEE Symposium on Security and Privacy (SP). 2020: 1106-1120.

    [23] SONG F, TOUILI T. Model-checking for android malware detection[M]//Programming Languages and Systems. Cham: Springer International Publishing, 2014: 216-235.

    [24] BAI G D, YE Q Q, WU Y Z, et al. Towards model checking Android applications[J]. IEEE Transactions on Software Engineering, 2018, 44(6): 595-612.

    [25] MERCALDO F, NARDONE V, SANTONE A, et al. Ransomware steals your phone. formal methods rescue it[M]//Formal Techniques for Distributed Objects, Components, and Systems. Cham: Springer International Publishing, 2016: 212-221.

    [26] MERCALDO F, NARDONE V, SANTONE A, et al. Download malware? No, thanks: how formal methods can block update attacks[C]//Proceedings of the 4th FME Workshop on Formal Methods in Software Engineering. 2016: 22-28.

    [27] BATTISTA P, MERCALDO F, NARDONE V, et al. Identification of android malware families with model checking[C]//Proceedings of the 2nd International Conference on Information Systems Security and Privacy. 2016: 542-547.

    [28] CANFORA G, MARTINELLI F, MERCALDO F, et al. LEILA: formal tool for identifying mobile malicious behaviour[J]. IEEE Transactions on Software Engineering, 2019, 45(12): 1230-1252.

    [29] MILNER R. Communication and concurrency[M]. Prentice Hall, 1989.

    [30] BARBUTI R, DE FRANCESCO N, SANTONE A, et al. Selective mu-calculus and formula-based equivalence of transition systems[J]. Journal of Computer and System Sciences, 1999, 59(3): 537-556.

    [31] SURHONE L M, TENNOE M T, HENSSONOW S F, et al. Jimple[M]. Betascript Publishing, 2010.

    [32] SHEN F, VECCHIO J D, MOHAISEN A, et al. Android malware detection using complex-flows[C]//Proceedings of IEEE Transactions on Mobile Computing. 2017: 1231-1245.

    Android complex information flow analysis method based on communicating sequential process

    YUAN Zhanhui1, YANG Zhi1,ZHANG Hongqi1, JIN Shuyuan2, DUXuehui1

    1. Information Engineering University, Zhengzhou 450001, China 2. Sun Yat-sen University, Guangzhou 510006, China

    Android privacy leak problem is becoming more and more serious. Information flow analysis is a main method to find privacy leak. Traditional information flow analysis methods mainly focus on single accessibility analysis, which is difficult to analyze complex information flow. An information flow analysis method based on communication sequence process was proposed. The formal model of application behavior was established, which can fully describe the information flow of program. The process trace equivalence analysis method could automatically verify complex information flow problems such as information flow association and information flow constraints. This method could detect whether the application program leaks sensitive information. Experimental results show that the accuracy of the proposed method can reach 90.99%.

    Android, information flow analysis, privacy protection, formal analysis, communicating sequential process

    TP309

    A

    10.11959/j.issn.2096?109x.2021086

    2021?08?19;

    2021?09?23

    楊智,zynoah@163.com

    國家自然科學基金(62176265, 61972040)

    The National Natural Science Foundation of China (62176265, 61972040)

    袁占慧, 楊智, 張紅旗, 等. 基于通信順序進程的Android程序復雜信息流分析方法[J]. 網絡與信息安全學報, 2021, 7(5): 156-168.

    YUAN Z H, YANG Z, ZHANG H Q, et al. Android complex information flow analysis method based on communicating sequential process[J]. Chinese Journal of Network and Information Security, 2021, 7(5): 156-168.

    袁占慧(1997?),男,吉林遼源人,信息工程大學碩士生,主要研究方向為移動智能終端的信息流控制與隱私保護。

    楊智(1975?),男,河南開封人,博士,信息工程大學副教授,主要研究方向為操作系統安全、云計算安全、隱私保護。

    張紅旗(1962?),男,河北遵化人,博士,信息工程大學教授、博士生導師,主要研究方向為網絡安全、風險評估、等級保護和信息安全管理等。

    金舒原(1974?),女,吉林白城人,博士,中山大學教授、博士生導師,主要研究方向為隱私保護、漏洞分析等。

    杜學繪(1968?),女,河南新鄉(xiāng)人,博士,信息工程大學教授、博士生導師,主要研究方向為空間信息網絡、云計算安全。

    猜你喜歡
    信息流調用分析方法
    基于EMD的MEMS陀螺儀隨機漂移分析方法
    基于信息流的作戰(zhàn)體系網絡效能仿真與優(yōu)化
    一種角接觸球軸承靜特性分析方法
    重型機械(2020年2期)2020-07-24 08:16:16
    核電項目物項調用管理的應用研究
    中國設立PSSA的可行性及其分析方法
    中國航海(2019年2期)2019-07-24 08:26:40
    基于信息流的RBC系統外部通信網絡故障分析
    LabWindows/CVI下基于ActiveX技術的Excel調用
    測控技術(2018年5期)2018-12-09 09:04:46
    戰(zhàn)區(qū)聯合作戰(zhàn)指揮信息流評價模型
    基于系統調用的惡意軟件檢測技術研究
    基于任務空間的體系作戰(zhàn)信息流圖構建方法
    少妇被粗大猛烈的视频| 久久国产乱子免费精品| 亚洲美女视频黄频| 少妇裸体淫交视频免费看高清| 国语自产精品视频在线第100页| 一二三四中文在线观看免费高清| 国产日韩欧美在线精品| 精品久久国产蜜桃| 国产免费男女视频| 国产精品伦人一区二区| 国产一区二区在线av高清观看| 国产成人午夜福利电影在线观看| av视频在线观看入口| www.av在线官网国产| 欧美成人一区二区免费高清观看| 久久久久久久久久久免费av| 日日干狠狠操夜夜爽| 一级毛片aaaaaa免费看小| 国产乱人视频| 国产黄a三级三级三级人| 成人性生交大片免费视频hd| 久久精品国产亚洲av天美| 国产精品不卡视频一区二区| 亚洲精品自拍成人| 波多野结衣高清无吗| 久久精品国产自在天天线| 亚洲精品色激情综合| 成人无遮挡网站| 亚洲一区高清亚洲精品| 久久久精品大字幕| 成人高潮视频无遮挡免费网站| 身体一侧抽搐| 成人综合一区亚洲| 在线观看美女被高潮喷水网站| 建设人人有责人人尽责人人享有的 | 亚洲av不卡在线观看| 国产私拍福利视频在线观看| 高清在线视频一区二区三区 | 菩萨蛮人人尽说江南好唐韦庄 | 大话2 男鬼变身卡| 国产精华一区二区三区| 欧美日韩在线观看h| 免费看日本二区| 26uuu在线亚洲综合色| 国产精品麻豆人妻色哟哟久久 | 欧美精品一区二区大全| 麻豆精品久久久久久蜜桃| 欧美xxxx黑人xx丫x性爽| 真实男女啪啪啪动态图| 日本av手机在线免费观看| 国产成人免费观看mmmm| 欧美一区二区亚洲| 看黄色毛片网站| 97热精品久久久久久| h日本视频在线播放| 精品久久久噜噜| 国产精品三级大全| 中文字幕精品亚洲无线码一区| 日本一本二区三区精品| 亚洲av.av天堂| 欧美极品一区二区三区四区| 国产亚洲91精品色在线| 人人妻人人看人人澡| 丝袜美腿在线中文| 日韩人妻高清精品专区| 久久精品国产99精品国产亚洲性色| 在线观看66精品国产| 美女高潮的动态| 插逼视频在线观看| 亚洲综合精品二区| 亚洲av二区三区四区| 国产精品久久久久久久久免| 国产精品无大码| 婷婷色av中文字幕| 亚洲国产欧洲综合997久久,| 亚洲在久久综合| 国产亚洲91精品色在线| 女的被弄到高潮叫床怎么办| 亚洲欧美成人综合另类久久久 | 成人欧美大片| 亚洲欧洲日产国产| 夫妻性生交免费视频一级片| 亚洲av熟女| 亚洲中文字幕一区二区三区有码在线看| 亚洲图色成人| 秋霞在线观看毛片| 亚洲精品乱码久久久久久按摩| 久久久久久久亚洲中文字幕| 欧美性猛交╳xxx乱大交人| 亚洲18禁久久av| 老司机福利观看| 亚洲一级一片aⅴ在线观看| 午夜福利成人在线免费观看| 欧美成人精品欧美一级黄| 99久久中文字幕三级久久日本| 男女啪啪激烈高潮av片| 久久久精品欧美日韩精品| 久久精品夜色国产| 麻豆成人午夜福利视频| 精品久久久久久成人av| 中文字幕熟女人妻在线| 久久精品国产亚洲网站| 亚洲国产最新在线播放| 国产精品福利在线免费观看| 日韩成人av中文字幕在线观看| 亚洲成人精品中文字幕电影| 亚洲欧美日韩东京热| 特大巨黑吊av在线直播| 久久婷婷人人爽人人干人人爱| 青春草视频在线免费观看| 亚洲国产精品成人综合色| 中文字幕av成人在线电影| 欧美xxxx黑人xx丫x性爽| 一区二区三区高清视频在线| 内射极品少妇av片p| 成人亚洲精品av一区二区| 中国国产av一级| 国产一级毛片七仙女欲春2| 女人久久www免费人成看片 | 一级黄片播放器| 久久久久久久久久黄片| 亚洲国产日韩欧美精品在线观看| 久久久精品欧美日韩精品| 全区人妻精品视频| 99久久成人亚洲精品观看| 内地一区二区视频在线| 丰满乱子伦码专区| 99视频精品全部免费 在线| 成人无遮挡网站| 色综合站精品国产| 99热全是精品| 日韩欧美精品免费久久| 一个人看的www免费观看视频| 亚洲av.av天堂| 一级毛片aaaaaa免费看小| 熟女人妻精品中文字幕| 久久精品久久精品一区二区三区| 日韩欧美国产在线观看| 91久久精品国产一区二区成人| 免费观看a级毛片全部| 国产亚洲5aaaaa淫片| av.在线天堂| 亚洲av免费高清在线观看| 国产精品野战在线观看| 国语对白做爰xxxⅹ性视频网站| 欧美+日韩+精品| 亚洲av福利一区| 国产成人一区二区在线| 综合色av麻豆| 久久久午夜欧美精品| 秋霞在线观看毛片| 久久99热这里只有精品18| 亚洲精华国产精华液的使用体验| 国产伦精品一区二区三区视频9| 精品酒店卫生间| 国产乱人偷精品视频| 色哟哟·www| 99国产精品一区二区蜜桃av| 亚洲欧美成人精品一区二区| 少妇人妻精品综合一区二区| 一区二区三区四区激情视频| 久久精品国产自在天天线| 欧美日韩综合久久久久久| 国产亚洲最大av| 91午夜精品亚洲一区二区三区| 亚洲图色成人| 色吧在线观看| 亚洲国产精品国产精品| 偷拍熟女少妇极品色| 3wmmmm亚洲av在线观看| 国产成人一区二区在线| 少妇熟女欧美另类| 午夜福利高清视频| 免费av观看视频| 午夜福利成人在线免费观看| av免费观看日本| 亚洲av中文av极速乱| 欧美三级亚洲精品| 国产高潮美女av| 中文字幕人妻熟人妻熟丝袜美| 国产精品综合久久久久久久免费| 一区二区三区免费毛片| 日韩av在线免费看完整版不卡| 色5月婷婷丁香| 免费大片18禁| 麻豆久久精品国产亚洲av| 久久久欧美国产精品| 亚洲欧美精品综合久久99| 热99在线观看视频| 国产爱豆传媒在线观看| 搞女人的毛片| 久久精品熟女亚洲av麻豆精品 | 国产亚洲5aaaaa淫片| 99热这里只有是精品50| 别揉我奶头 嗯啊视频| 亚洲精华国产精华液的使用体验| 国产午夜福利久久久久久| 看黄色毛片网站| 啦啦啦观看免费观看视频高清| 国内精品一区二区在线观看| 国产高清三级在线| 国产白丝娇喘喷水9色精品| 国产爱豆传媒在线观看| 亚洲,欧美,日韩| 婷婷色综合大香蕉| 日韩在线高清观看一区二区三区| 亚洲无线观看免费| 成人二区视频| 精品久久久久久久久av| 色网站视频免费| av黄色大香蕉| 在线播放无遮挡| 婷婷色av中文字幕| 成人二区视频| 久久久久久久国产电影| 99久久精品一区二区三区| 欧美三级亚洲精品| www日本黄色视频网| av又黄又爽大尺度在线免费看 | 最近手机中文字幕大全| 嘟嘟电影网在线观看| 亚洲国产精品成人久久小说| av女优亚洲男人天堂| 综合色丁香网| 亚洲伊人久久精品综合 | 中文在线观看免费www的网站| 亚洲自偷自拍三级| 亚洲欧美精品专区久久| 男人舔女人下体高潮全视频| 天堂√8在线中文| 国产成人精品婷婷| 日韩av在线大香蕉| 少妇人妻精品综合一区二区| 欧美成人一区二区免费高清观看| 美女内射精品一级片tv| 麻豆精品久久久久久蜜桃| 秋霞在线观看毛片| 国产精品99久久久久久久久| 国产私拍福利视频在线观看| 26uuu在线亚洲综合色| 亚洲国产精品sss在线观看| 最近中文字幕高清免费大全6| 欧美另类亚洲清纯唯美| 高清午夜精品一区二区三区| 久久国产乱子免费精品| 最新中文字幕久久久久| 岛国在线免费视频观看| 亚洲在线自拍视频| h日本视频在线播放| 亚洲伊人久久精品综合 | 午夜福利在线在线| 神马国产精品三级电影在线观看| 国产精品一区二区三区四区久久| 91精品伊人久久大香线蕉| 日韩一区二区三区影片| 国产免费又黄又爽又色| 亚洲经典国产精华液单| 国产精品无大码| 亚洲自拍偷在线| 国产成人精品婷婷| 亚洲av电影在线观看一区二区三区 | 精品午夜福利在线看| 日韩av在线免费看完整版不卡| 久久热精品热| 人妻夜夜爽99麻豆av| 天堂中文最新版在线下载 | 麻豆乱淫一区二区| 亚洲激情五月婷婷啪啪| 欧美高清成人免费视频www| 亚洲久久久久久中文字幕| 午夜a级毛片| 亚洲国产精品专区欧美| 男女啪啪激烈高潮av片| av免费在线看不卡| 国产精品久久久久久av不卡| 少妇的逼好多水| 久久午夜福利片| 欧美3d第一页| 亚洲av中文字字幕乱码综合| 国产av码专区亚洲av| 国产熟女欧美一区二区| 国产 一区精品| 欧美bdsm另类| 国产亚洲午夜精品一区二区久久 | 免费av观看视频| 大香蕉久久网| 久久久久久九九精品二区国产| 菩萨蛮人人尽说江南好唐韦庄 | 我的老师免费观看完整版| 天堂√8在线中文| 性色avwww在线观看| 一卡2卡三卡四卡精品乱码亚洲| 精品99又大又爽又粗少妇毛片| 免费无遮挡裸体视频| av在线观看视频网站免费| 国产精品一区二区三区四区久久| 91精品伊人久久大香线蕉| 婷婷色av中文字幕| 九草在线视频观看| 日韩精品青青久久久久久| 久久久久久伊人网av| 一个人免费在线观看电影| 99久久无色码亚洲精品果冻| 女人十人毛片免费观看3o分钟| 亚洲国产色片| 一卡2卡三卡四卡精品乱码亚洲| 啦啦啦韩国在线观看视频| 国产毛片a区久久久久| 一个人看视频在线观看www免费| 性插视频无遮挡在线免费观看| 亚洲四区av| 成人亚洲精品av一区二区| 精品久久久久久久人妻蜜臀av| 亚洲在线自拍视频| 亚洲成av人片在线播放无| 亚洲欧美日韩东京热| 日韩av在线免费看完整版不卡| 欧美bdsm另类| 精品午夜福利在线看| 国产精品三级大全| 成人特级av手机在线观看| 最近手机中文字幕大全| 国产单亲对白刺激| 99热精品在线国产| 青春草国产在线视频| 一本久久精品| 欧美性猛交╳xxx乱大交人| 国产高清国产精品国产三级 | 男女啪啪激烈高潮av片| 久久精品国产自在天天线| 精品人妻偷拍中文字幕| 午夜福利高清视频| 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | 麻豆一二三区av精品| 国产成人freesex在线| 成人毛片60女人毛片免费| 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | 亚洲精品自拍成人| 国产高清视频在线观看网站| 一二三四中文在线观看免费高清| 精品人妻熟女av久视频| 国产精品蜜桃在线观看| 精品欧美国产一区二区三| 色视频www国产| 久久久久久久亚洲中文字幕| 国产精品乱码一区二三区的特点| 国产av码专区亚洲av| 哪个播放器可以免费观看大片| 丰满人妻一区二区三区视频av| 日本wwww免费看| 男人舔女人下体高潮全视频| 人妻少妇偷人精品九色| 久久久国产成人免费| 国产亚洲av嫩草精品影院| 一级毛片电影观看 | 亚洲国产精品成人久久小说| 国产真实乱freesex| 啦啦啦啦在线视频资源| 能在线免费看毛片的网站| 最后的刺客免费高清国语| 国产成人91sexporn| 国产精品综合久久久久久久免费| 欧美一级a爱片免费观看看| 午夜视频国产福利| 少妇熟女aⅴ在线视频| 我的老师免费观看完整版| 中文精品一卡2卡3卡4更新| 精品久久久久久久末码| 精品欧美国产一区二区三| 在线观看66精品国产| av天堂中文字幕网| 日韩一区二区视频免费看| 99久久成人亚洲精品观看| 最近最新中文字幕大全电影3| 成人午夜精彩视频在线观看| 国产成人a区在线观看| 联通29元200g的流量卡| 伊人久久精品亚洲午夜| 99热精品在线国产| 午夜福利视频1000在线观看| 色哟哟·www| 男女视频在线观看网站免费| 最后的刺客免费高清国语| 免费观看人在逋| 嫩草影院入口| 97在线视频观看| av在线天堂中文字幕| 久久久久精品久久久久真实原创| 男人舔女人下体高潮全视频| 美女黄网站色视频| 国产精品一及| 99国产精品一区二区蜜桃av| 亚洲精品一区蜜桃| 久久草成人影院| 国产精品永久免费网站| 中文字幕av在线有码专区| 国产精品一区二区三区四区免费观看| 白带黄色成豆腐渣| 特级一级黄色大片| 亚洲欧美精品自产自拍| 国产久久久一区二区三区| 欧美潮喷喷水| 99久久成人亚洲精品观看| 又爽又黄无遮挡网站| 91狼人影院| 超碰97精品在线观看| 99久久人妻综合| 国产av一区在线观看免费| 久久久久九九精品影院| 性色avwww在线观看| 免费观看性生交大片5| 天天躁日日操中文字幕| 老司机影院成人| 国产乱来视频区| 国产真实乱freesex| 亚洲精品乱码久久久v下载方式| 免费看光身美女| 国产欧美日韩精品一区二区| 国产伦理片在线播放av一区| 欧美精品一区二区大全| av国产免费在线观看| 午夜a级毛片| 黄片wwwwww| 色综合站精品国产| 亚洲av男天堂| 99久久精品热视频| 国产精品福利在线免费观看| 亚洲精品乱久久久久久| 丝袜美腿在线中文| 人妻系列 视频| 久久久a久久爽久久v久久| 亚洲国产高清在线一区二区三| 麻豆国产97在线/欧美| 如何舔出高潮| 国产亚洲精品av在线| 黄色配什么色好看| 午夜福利在线观看免费完整高清在| 26uuu在线亚洲综合色| 一区二区三区四区激情视频| 一本久久精品| 午夜精品国产一区二区电影 | 中文字幕人妻熟人妻熟丝袜美| 天堂av国产一区二区熟女人妻| 又黄又爽又刺激的免费视频.| 日韩,欧美,国产一区二区三区 | 看非洲黑人一级黄片| 久久久午夜欧美精品| 久久99精品国语久久久| 久久鲁丝午夜福利片| 国产成人精品一,二区| 亚洲怡红院男人天堂| 女人被狂操c到高潮| 男人的好看免费观看在线视频| 一卡2卡三卡四卡精品乱码亚洲| 久久亚洲国产成人精品v| 男女啪啪激烈高潮av片| 欧美一区二区国产精品久久精品| 国产精品嫩草影院av在线观看| 久久人妻av系列| 亚洲中文字幕一区二区三区有码在线看| 国产成人精品婷婷| 一区二区三区乱码不卡18| 国产 一区 欧美 日韩| 国产成人精品久久久久久| 五月伊人婷婷丁香| 99久久中文字幕三级久久日本| 男插女下体视频免费在线播放| 精品久久久久久久久久久久久| 国产高清不卡午夜福利| 婷婷色麻豆天堂久久 | 精品久久久噜噜| 内射极品少妇av片p| 汤姆久久久久久久影院中文字幕 | 91精品一卡2卡3卡4卡| 欧美人与善性xxx| 日韩av在线免费看完整版不卡| 久久精品影院6| 一本一本综合久久| 水蜜桃什么品种好| 久久久a久久爽久久v久久| 亚洲人成网站高清观看| www.av在线官网国产| 日韩一本色道免费dvd| 有码 亚洲区| 嫩草影院入口| 精品久久久久久久久久久久久| 亚洲国产日韩欧美精品在线观看| 纵有疾风起免费观看全集完整版 | 九九热线精品视视频播放| 少妇被粗大猛烈的视频| 亚洲自偷自拍三级| 91精品伊人久久大香线蕉| 免费看日本二区| 国产午夜精品论理片| 国产不卡一卡二| 亚洲国产最新在线播放| 国产91av在线免费观看| 免费av不卡在线播放| 日韩制服骚丝袜av| 中国国产av一级| av女优亚洲男人天堂| 免费观看精品视频网站| 日本黄色视频三级网站网址| av在线观看视频网站免费| 中文字幕熟女人妻在线| 国产伦精品一区二区三区视频9| 一二三四中文在线观看免费高清| 如何舔出高潮| 久久鲁丝午夜福利片| 3wmmmm亚洲av在线观看| 国产免费视频播放在线视频 | 国语对白做爰xxxⅹ性视频网站| 国产91av在线免费观看| 免费看光身美女| 国产一区二区在线观看日韩| 欧美xxxx黑人xx丫x性爽| 日本一本二区三区精品| 日本免费在线观看一区| 舔av片在线| 三级毛片av免费| 两性午夜刺激爽爽歪歪视频在线观看| 亚洲国产高清在线一区二区三| 高清日韩中文字幕在线| 欧美成人午夜免费资源| 亚洲精品乱码久久久v下载方式| h日本视频在线播放| 久久婷婷人人爽人人干人人爱| 一级毛片我不卡| 在线播放国产精品三级| 国语自产精品视频在线第100页| www日本黄色视频网| 亚洲精品影视一区二区三区av| 99热这里只有是精品50| 永久免费av网站大全| 色噜噜av男人的天堂激情| 日日干狠狠操夜夜爽| 久久草成人影院| 国产黄片美女视频| 草草在线视频免费看| av卡一久久| 国产综合懂色| 国内精品一区二区在线观看| 亚洲精品乱久久久久久| 日韩亚洲欧美综合| 99久国产av精品| 黄色配什么色好看| 精华霜和精华液先用哪个| 欧美性猛交╳xxx乱大交人| 久久精品国产99精品国产亚洲性色| 成年版毛片免费区| 国产 一区精品| 天美传媒精品一区二区| 91在线精品国自产拍蜜月| 欧美丝袜亚洲另类| 99热精品在线国产| 亚洲精品乱久久久久久| 校园人妻丝袜中文字幕| 舔av片在线| a级一级毛片免费在线观看| 少妇的逼好多水| 黄色欧美视频在线观看| 亚洲一级一片aⅴ在线观看| 级片在线观看| 婷婷色综合大香蕉| av黄色大香蕉| 亚洲国产欧洲综合997久久,| 青春草视频在线免费观看| 国产视频首页在线观看| 麻豆一二三区av精品| 国产亚洲91精品色在线| 天堂网av新在线| 国产高清视频在线观看网站| 啦啦啦韩国在线观看视频| 丰满乱子伦码专区| 国产激情偷乱视频一区二区| 天堂√8在线中文| 国产色爽女视频免费观看| 黑人高潮一二区| 久久久久久久亚洲中文字幕| 精品久久久久久电影网 | 人妻夜夜爽99麻豆av| 午夜爱爱视频在线播放| 日本免费一区二区三区高清不卡| 欧美色视频一区免费| 国产精品.久久久| 久久韩国三级中文字幕| 亚洲在久久综合| 乱人视频在线观看| 波多野结衣巨乳人妻| 嫩草影院精品99| 国产探花极品一区二区| 两个人视频免费观看高清| 欧美区成人在线视频| 国产精品美女特级片免费视频播放器| 自拍偷自拍亚洲精品老妇| 久久久久久久国产电影| 国产高清有码在线观看视频| 99久久九九国产精品国产免费| 日本一二三区视频观看| 日本免费在线观看一区| 男插女下体视频免费在线播放| 人人妻人人澡人人爽人人夜夜 | 亚洲av免费在线观看| 国产成人a区在线观看| 亚洲精品乱久久久久久| 国产亚洲av片在线观看秒播厂 | 身体一侧抽搐| 99久久精品国产国产毛片| 午夜福利网站1000一区二区三区| 好男人在线观看高清免费视频| 在线观看av片永久免费下载| 精品人妻熟女av久视频| 午夜日本视频在线| 欧美xxxx性猛交bbbb| 日本五十路高清|