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

    Android應(yīng)用隱私條例與敏感行為一致性檢測(cè)*

    2019-01-17 06:32:26王靖瑜徐明昆王浩宇徐國(guó)愛(ài)
    計(jì)算機(jī)與生活 2019年1期
    關(guān)鍵詞:連詞狀語(yǔ)文檔

    王靖瑜,徐明昆,王浩宇,徐國(guó)愛(ài)

    1.北京郵電大學(xué) 網(wǎng)絡(luò)技術(shù)研究院,北京 100876

    2.北京郵電大學(xué) 計(jì)算機(jī)學(xué)院,北京 100876

    3.北京郵電大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院,北京 100876

    1 引言

    在移動(dòng)智能終端和多樣的移動(dòng)應(yīng)用給用戶帶來(lái)便利的同時(shí),移動(dòng)平臺(tái)上各種新的安全和隱私問(wèn)題也日益凸顯。當(dāng)前的移動(dòng)平臺(tái)(尤其Android平臺(tái))上廣泛存在權(quán)限濫用的問(wèn)題。很多應(yīng)用經(jīng)常申請(qǐng)不必要的敏感權(quán)限,使用戶隱私面臨被泄露的風(fēng)險(xiǎn)。用戶很多時(shí)候不了解應(yīng)用是否需要使用權(quán)限以及為什么使用權(quán)限,很難對(duì)應(yīng)用的權(quán)限進(jìn)行管理。

    Google建議開(kāi)發(fā)者在上傳應(yīng)用時(shí)發(fā)布隱私條例文檔[1],即開(kāi)發(fā)者需要聲明用戶相關(guān)的隱私信息如何被使用、收集或分享,其目的是使用戶了解隱私信息如何被使用,從而更好地保護(hù)用戶隱私。盡管應(yīng)用開(kāi)發(fā)者為了向用戶說(shuō)明軟件潛在的隱私風(fēng)險(xiǎn)而發(fā)布相關(guān)的隱私條例,但是用戶很難直觀地判斷文檔的正確性,當(dāng)應(yīng)用收集或分享了隱私條例中聲明之外的信息時(shí),用戶對(duì)此并不知情。相關(guān)研究表明[2-4],很多應(yīng)用行為與其隱私條例的不一致性存在濫用權(quán)限和隱私泄露的風(fēng)險(xiǎn)。Android應(yīng)用中大量使用第三方庫(kù),因此隱私條例中應(yīng)該包含第三方庫(kù)隱私信息的行為。然而,相關(guān)研究工作表明很多應(yīng)用開(kāi)發(fā)者對(duì)第三方庫(kù)的行為并不了解[5]。一方面,第三方庫(kù)一般不會(huì)提供源代碼,并且數(shù)據(jù)的收集也非透明化。另一方面,很多第三方庫(kù)存在越權(quán)行為[6],僅通過(guò)第三方庫(kù)的文檔很難了解這些行為。此外,很多應(yīng)用(包括一些惡意應(yīng)用)會(huì)故意隱藏其敏感行為,通過(guò)編寫虛假的隱私條例使用戶相信該應(yīng)用的安全性。美國(guó)對(duì)隱私信息的收集要求很嚴(yán)格,不準(zhǔn)確的隱私條例會(huì)造成罰款,例如,F(xiàn)TC將會(huì)對(duì)未獲得父母同意收集孩子個(gè)人信息的應(yīng)用罰款$800 000[7]。因此,檢測(cè)移動(dòng)應(yīng)用的隱私條例是否與應(yīng)用行為相一致對(duì)于保護(hù)用戶隱私至關(guān)重要。

    近年來(lái),有不少相關(guān)研究關(guān)注于隱私條例分析,然而準(zhǔn)確進(jìn)行隱私條例與應(yīng)用行為的一致性分析還存在以下主要挑戰(zhàn):

    (1)隱私條例文檔中句子形式復(fù)雜多樣,因而使用非人工的手段分析和提取有用信息是很困難的。若要提取出關(guān)鍵成分,需要使用自然語(yǔ)言處理方法生成句子間詞語(yǔ)的依賴關(guān)系和層次關(guān)系,從中找出信息特征(主謂賓定狀補(bǔ))。同時(shí),還要解決句子中關(guān)聯(lián)詞組、連詞和狀語(yǔ)成分等的提取問(wèn)題,因?yàn)檫@些成分無(wú)法直接從句子的依賴關(guān)系和層次關(guān)系獲得,需要再次進(jìn)行分析。在之前的研究工作中[8],沒(méi)有對(duì)狀語(yǔ)、連詞和詞組進(jìn)行分析,會(huì)造成提取的信息不完整的現(xiàn)象。例如“we collect information about your device ID,phone number.”,若沒(méi)有分析狀語(yǔ)和詞組,“about”修飾的“device ID”和“phone number”將無(wú)法提取出來(lái),造成假陰性,使得實(shí)驗(yàn)結(jié)果中隱私條例不完整的比例增大。

    (2)隱私條例中包含第三方庫(kù)隱私信息的行為,之前研究工作通常使用白名單方法來(lái)檢測(cè)第三方庫(kù)。然而白名單方法覆蓋率不全,現(xiàn)有工作標(biāo)記的白名單遠(yuǎn)遠(yuǎn)少于可用的第三方庫(kù)數(shù)量,并且不能應(yīng)對(duì)代碼混淆問(wèn)題。研究表明,超過(guò)50%的第三方庫(kù)都存在不同程度的代碼混淆[9]。不能準(zhǔn)確檢測(cè)第三方庫(kù)會(huì)導(dǎo)致應(yīng)用行為分析得不準(zhǔn)確,從而導(dǎo)致一致性分析出現(xiàn)漏報(bào)的問(wèn)題。

    (3)現(xiàn)有的隱私條例一致性分析工作均使用靜態(tài)分析來(lái)檢測(cè)應(yīng)用的敏感行為,然而靜態(tài)分析在處理Java反射和動(dòng)態(tài)加載時(shí)存在局限性,導(dǎo)致應(yīng)用行為分析得不準(zhǔn)確[10]。

    為了解決這些挑戰(zhàn),本文首先使用一種改進(jìn)的自然語(yǔ)言處理的方法對(duì)應(yīng)用開(kāi)發(fā)者編寫的隱私條例文檔進(jìn)行分析,準(zhǔn)確提取開(kāi)發(fā)者聲明的應(yīng)用敏感行為。本文基于Standford Parser設(shè)計(jì)了提取特征的算法,并增加了連詞、修飾賓語(yǔ)的狀語(yǔ)和關(guān)聯(lián)詞組成分的分析,相對(duì)于之前研究工作,提取出的隱私信息更加完善,然后通過(guò)將提取出的信息進(jìn)行歸類,用于一致性分析。其次,使用靜態(tài)分析和動(dòng)態(tài)分析相結(jié)合的方法分析應(yīng)用實(shí)際的隱私行為,提高了應(yīng)用行為分析的準(zhǔn)確性。此外,區(qū)別于傳統(tǒng)的白名單對(duì)照方式,使用基于聚類的第三方庫(kù)的檢測(cè)方法提高了第三方庫(kù)檢測(cè)的準(zhǔn)確性。通過(guò)在455個(gè)應(yīng)用上進(jìn)行實(shí)驗(yàn)表明,工具在隱私條例中提取隱私信息的準(zhǔn)確率達(dá)到94.75%,并檢測(cè)出有49.7%的應(yīng)用存在隱私條例一致性的問(wèn)題。

    2 研究背景及相關(guān)工作

    2.1 隱私條例

    隱私條例包含的信息類型主要包括可體現(xiàn)用戶身份的信息、應(yīng)用程序運(yùn)行時(shí)可能會(huì)使用或分享的個(gè)人信息、信息使用的目的性等[11]。例如,圖1為應(yīng)用com.appsbar.JosephWeather的隱私條例示例,示例中展示了應(yīng)用中聲明使用信息的方式。

    Fig.1 Privacy policy of com.appsbar.JosephWeather圖1 com.appsbar.JosephWeather的隱私條例

    2.2 問(wèn)題定義

    本文的研究目標(biāo)為自動(dòng)識(shí)別應(yīng)用隱私條例與應(yīng)用行為的不一致性,主要存在3種問(wèn)題:

    Fig.2 Privacy policy and sensitive behavior of air.mwe.cookingcuteheartcupcake圖2 air.mwe.cookingcuteheartcupcake的隱私條例描述和應(yīng)用敏感行為

    (1)不完整的隱私條例:正確的隱私條例應(yīng)該包含應(yīng)用使用的所有的隱私數(shù)據(jù)及其使用方式,否則認(rèn)為該應(yīng)用侵犯用戶隱私。圖2為air.mwe.cooking-cuteheartcupcakes應(yīng)用的隱私條例聲明,在隱私條例中沒(méi)有聲明使用位置信息,但在實(shí)際行為中,在代碼中調(diào)用getLastKnownLocation()獲取位置信息。

    (2)不正確的隱私條例:不正確的隱私條例是指應(yīng)用在隱私條例中聲明不會(huì)收集、使用或分享某些隱私信息,但實(shí)際進(jìn)行了這種行為。例如,圖3中,應(yīng)用com.macropinch.hydra.android的隱私條例聲明不會(huì)使用位置信息“We will not collect personal information,including your geographic location information,names…”,然而卻在代碼中發(fā)現(xiàn)它調(diào)用了<android.location.LocationManager getLastKnownLocation()>獲取用戶的位置信息。

    Fig.3 Privacy policy and sensitive behavior of com.macropinch.hydra.android圖3 com.macropinch.hydra.android的隱私條例描述和應(yīng)用敏感行為

    (3)不一致的隱私條例:當(dāng)應(yīng)用聲明不會(huì)使用某些隱私信息,但在第三方庫(kù)中使用了這些隱私信息時(shí),就產(chǎn)生了不一致問(wèn)題。例如,圖4中,應(yīng)用com.bestringtonesapps.cuteringtones在隱私條例中聲明“We do not collect information such as your name,address,phone number…”,但其使用的第三方庫(kù)Fabric使用了READ_PHONE_STATE權(quán)限。

    Fig.4 Privacy policy and the third library used of com.bestringtonesapps.cuteringtones圖4 com.bestringtonesapps.cuteringtones的隱私條例描述及其使用的第三方庫(kù)

    2.3 相關(guān)工作

    Slavin等人[4]使用拓?fù)鋱D將隱私信息進(jìn)行層次關(guān)聯(lián),將聲明不確切的信息和沒(méi)有聲明的信息進(jìn)行違規(guī)的程度判定,但是,其靜態(tài)分析中沒(méi)有考慮內(nèi)容提供商使用的隱私信息和應(yīng)用運(yùn)行時(shí)加載和Java反射中的應(yīng)用行為,且沒(méi)有分析使用的第三方庫(kù)。

    Yu等人[5,8]研究了應(yīng)用隱私條例文檔及應(yīng)用行為的不一致性問(wèn)題。研究中使用Standford Parser獲取隱私條例聲明的信息,并使用靜態(tài)分析獲取應(yīng)用行為。然而,在隱私條例分析沒(méi)有進(jìn)行連詞和狀語(yǔ)分析,會(huì)導(dǎo)致部分文檔中聲明的隱私信息無(wú)法提取。此外,在分析應(yīng)用使用的第三方庫(kù)時(shí),使用了白名單的方式,無(wú)法解決代碼混淆問(wèn)題。此外,只使用靜態(tài)分析的方式可能無(wú)法應(yīng)對(duì)動(dòng)態(tài)加載及Java反射機(jī)制,造成應(yīng)用行為分析不準(zhǔn)確,影響檢測(cè)結(jié)果。

    Reyes等人[12]對(duì)Google Play中的針對(duì)于13歲以下的青少年或兒童的應(yīng)用進(jìn)行隱私權(quán)限的分析,使用監(jiān)控網(wǎng)絡(luò)流量和運(yùn)行時(shí)截圖的方式獲取其使用的敏感信息和交互行為,但卻使用人工的方式將其與隱私條例進(jìn)行匹配,過(guò)多的人工干預(yù),使得準(zhǔn)確率和效率都大幅下降。

    本文使用自然語(yǔ)言處理工具來(lái)分析隱私條例信息,在相關(guān)研究工作[8]的基礎(chǔ)上,增加了狀語(yǔ)、連詞和詞組成分的分析,使得提取出的隱私條例信息更完善。此外,除了使用靜態(tài)分析的方式檢測(cè)應(yīng)用行為,本文還使用動(dòng)態(tài)分析的方法獲取動(dòng)態(tài)加載和Java反射產(chǎn)生的應(yīng)用行為,同時(shí)使用基于聚類的第三方庫(kù)檢測(cè)工具檢測(cè)應(yīng)用中第三方庫(kù)使用的隱私行為獲取應(yīng)用行為信息,解決白名單方式第三方庫(kù)檢測(cè)不全和無(wú)法獲取第三方庫(kù)實(shí)際應(yīng)用行為的問(wèn)題。最后,使用顯示語(yǔ)義分析的方法將隱私條例信息和應(yīng)用行為進(jìn)行一致性判定。

    3 研究方法

    3.1 總體介紹

    系統(tǒng)總體流程圖如圖5所示。如圖5所示,對(duì)于每個(gè)應(yīng)用,首先提取應(yīng)用對(duì)應(yīng)的隱私條例中信息,包括信息的類型以及信息的使用行為,然后對(duì)應(yīng)用進(jìn)行靜態(tài)分析和動(dòng)態(tài)測(cè)試獲得應(yīng)用實(shí)際的敏感行為,最后將二者分析的結(jié)果進(jìn)行一致性檢測(cè),判斷隱私條例是否存在不完整、不正確或者不一致的現(xiàn)象。

    Fig.5 Flow chart of whole system圖5 系統(tǒng)總體流程圖

    3.2 隱私條例分析

    3.2.1 句子結(jié)構(gòu)

    一個(gè)常見(jiàn)的隱私條例的句子結(jié)構(gòu)如圖6所示。如圖6所示,隱私條例中的句子主要包含3個(gè)關(guān)鍵部分,包括執(zhí)行者、動(dòng)作和資源,其他的成分如條件(在什么條件下使用該信息)、目的(使用該信息的目的)、時(shí)間(什么時(shí)候使用)等是可選成分。

    Fig.6 Common structure of privacy policy圖6 一個(gè)常見(jiàn)的隱私條例的句子結(jié)構(gòu)

    執(zhí)行者:是收集、保存或分享隱私信息的實(shí)體,即應(yīng)用開(kāi)發(fā)者或第三方庫(kù)開(kāi)發(fā)者。執(zhí)行者是動(dòng)作的發(fā)出者,通常是主語(yǔ)。如圖6的“We”。

    動(dòng)作:執(zhí)行者的行為,例如:收集、保存或分享,如圖6的“collect”。

    資源:是動(dòng)作的執(zhí)行對(duì)象,即隱私信息的部分,在圖6中為“your device information”。

    3.2.2 動(dòng)詞分類

    本文隨機(jī)從谷歌應(yīng)用商店中挑選出50個(gè)隱私條例文檔,對(duì)其進(jìn)行動(dòng)詞(行為)特征提取,并根據(jù)文獻(xiàn)[13]中的結(jié)果,將隱私條例中常見(jiàn)的動(dòng)詞分為3類:

    (1)Collect動(dòng)詞:用于描述應(yīng)用使用過(guò)程中對(duì)信息的收集和使用的行為,例如:collect、use等。

    (2)Store動(dòng)詞:用于描述應(yīng)用使用過(guò)程中對(duì)隱私信息進(jìn)行保存的行為,例如:retain、store、save等。

    (3)Share動(dòng)詞:用于描述應(yīng)用使用過(guò)程中把隱私信息分享給第三方的行為,例如:share、disclose等。

    基于以上3種行為,將隱私條例中分析的結(jié)果分為AppCollect、AppStore、AppShare 3種,分別對(duì)應(yīng)代碼中收集、保存、分享的隱私信息。同時(shí),文檔中可能存在否定句的成分,因此相反的,否定句的結(jié)果分為 3 種:AppNotCollect、AppNotStore、AppNotShare。分別對(duì)應(yīng)代碼中不會(huì)收集、保存、分享的隱私信息。

    3.2.3 隱私條例分析方法

    隱私條例分析的目的是提取出隱私條例文檔中聲明的隱私信息及其行為,通過(guò)對(duì)隱私條例的主謂賓、狀語(yǔ)、連詞、詞組和否定特征等分析,篩選出信息進(jìn)行歸類。圖7為該隱私條例分析方法。

    Fig.7 Analysis of privacy policy圖7 隱私條例分析

    (1)預(yù)處理

    該工具需要從文本中提取出隱私條例內(nèi)容,然后將其切分為句子的形式。使用了Beautiful Soup[14]將文本轉(zhuǎn)化成html的格式,隱私條例文檔中存在著大量的特殊符號(hào),可能會(huì)在分析時(shí)產(chǎn)生錯(cuò)誤,因此將非ASCII符號(hào)進(jìn)行替換,使Standford Parser進(jìn)行分析時(shí)不會(huì)產(chǎn)生句子分割錯(cuò)誤的現(xiàn)象。同時(shí),將文本中的所有字符都轉(zhuǎn)換為小寫字母。

    (2)語(yǔ)義分析

    預(yù)處理后可以得到需要分析的隱私條例文檔的內(nèi)容。為了完成(4),本文使用Standford Parser[15]將文檔中的例句“we share your information with the third party to improve service”轉(zhuǎn)換成句子對(duì)應(yīng)的層次結(jié)構(gòu)和依賴關(guān)系結(jié)構(gòu)。

    層次結(jié)構(gòu):層次結(jié)構(gòu)中的句子被拆分成短語(yǔ),每一層代表一個(gè)短語(yǔ),每一個(gè)單詞和短語(yǔ)都分別有一個(gè)詞性標(biāo)簽,常見(jiàn)的標(biāo)簽有:名詞(NN)、動(dòng)詞(VB)、形容詞(ADJ)等。圖8為層次結(jié)構(gòu)圖,動(dòng)詞為“share”,名詞詞組是“your information”。

    Fig.8 Analysis of hierarchy structure圖8 層次結(jié)構(gòu)分析

    依賴關(guān)系:圖9為例句的依賴關(guān)系圖。依賴關(guān)系描述了句子中每個(gè)單詞間的相關(guān)關(guān)系,常見(jiàn)的關(guān)系有:sbj代表主語(yǔ),root代表依賴關(guān)系的根節(jié)點(diǎn),nsubjpass代表被動(dòng)語(yǔ)態(tài)中的主語(yǔ),cc或conj代表并列關(guān)系(and,or等)。圖9中句子的根節(jié)點(diǎn)“share”,主語(yǔ)是“we”,賓語(yǔ)是“information”[16]。

    Fig.9 Analysis of dependency structure圖9 依賴關(guān)系分析

    (3)特征提取

    由于隱私條例文檔中的內(nèi)容包含多種信息,如應(yīng)用介紹等與本文無(wú)關(guān)的信息,同時(shí)隱私條例沒(méi)有固定的格式,句子冗余信息過(guò)多。因此,需提取主要特征簡(jiǎn)化句子結(jié)構(gòu)。首先,利用依賴關(guān)系提取句子模式為“主語(yǔ)—謂語(yǔ)—賓語(yǔ)”的部分。本文對(duì)50個(gè)不同的隱私條例文檔進(jìn)行TF-IDF(term frequencyinverse document frequency)分析提取謂語(yǔ)特征,然后篩選出最常見(jiàn)的39個(gè)動(dòng)詞放入動(dòng)詞白名單中,用于篩選隱私條例中的動(dòng)作,例如:collect、share、disclose、keep等,進(jìn)而可以剔除一些不相關(guān)的隱私行為(make、have等)。其次,根據(jù)有效動(dòng)詞從依賴關(guān)系中提取其主語(yǔ)和賓語(yǔ)成分,構(gòu)成主謂賓最短的句子模式;若句子的結(jié)構(gòu)為主語(yǔ)—be allowed/accessed to+動(dòng)詞—賓語(yǔ)模式或者主語(yǔ)—be able to+動(dòng)詞—賓語(yǔ)模式,則根據(jù)依賴關(guān)系提取“xcomp”或“ccomp”成分作為實(shí)際的隱私信息行為,例如“we are allowed to collect your phone number”。為了過(guò)濾掉特征中的無(wú)意義詞語(yǔ),本文使用停用詞列表[17]去除特征中的無(wú)用詞,例如your、our等;對(duì)于賓語(yǔ)去掉于隱私信息分析無(wú)用的詞,例如service等。

    為了提高隱私信息提取的準(zhǔn)確性,本文還進(jìn)行狀語(yǔ)、連詞和詞組成分的提取。

    首先,部分隱私條例的隱私信息會(huì)出現(xiàn)在狀語(yǔ)中,忽略狀語(yǔ)的分析可能使得提取出的信息不完整。例如,facebook的隱私條例其中一句是“we collect information about the purchase or transaction.”,只提取主謂賓的成分后獲得的信息是“we collect information”,“information”是一個(gè)無(wú)意義的信息,真正修飾“information”的成分為about后的狀語(yǔ)內(nèi)容。為了解決這類問(wèn)題,提取出賓語(yǔ)子樹(shù)成分中含有“about”“of”“from”“including”“such as”等詞為子樹(shù)根節(jié)點(diǎn)的名詞短語(yǔ)部分,放入資源列表中。

    其次,相關(guān)研究工作[8]沒(méi)有考慮連詞成分的提取,導(dǎo)致信息提取不全。例如,應(yīng)用LeadBolt的隱私條例其中一句為“We may also collect and store information locally on your device using mechanisms such as local storage identifiers.”,只提取主謂賓成分后獲得的信息是“we collect information”,無(wú)法提取出其連詞成分store,而store也是本文關(guān)注的隱私行為,因此可能會(huì)在一致性檢測(cè)中造成不完整的問(wèn)題發(fā)生。此外,名詞并列情況如“And also you may choose to submit an e-mail address and password for account recover process(Log-in)and later communication.”,若不進(jìn)行連詞成分提取,將忽略信息“password”。因此,本文還根據(jù)句子依賴關(guān)系“cc”“conj_”,提取出謂語(yǔ)和賓語(yǔ)的連詞成分添加到資源列表和行為列表中。最后,有些隱私信息并不是單一詞形式,例如“device Id”“phone number”等,若只根據(jù)依賴關(guān)系,只能提取出一個(gè)詞“Id”“number”,會(huì)造成一致性檢測(cè)匹配失敗。例如,應(yīng)用“com.facebook.katana”中其中一條隱私條例為“you may choose to submit account information in order to…”,若不做詞組成分分析,那本句提取出的賓語(yǔ)是information,是停用詞列表中詞,那么本句將無(wú)隱私信息提出,造成假陰性;而使用詞組成分分析,可以提取出account information,不會(huì)造成假陰性。因此,本文根據(jù)句子依賴關(guān)系“nn”“compound”“amod”對(duì)賓語(yǔ)列表中的賓語(yǔ)進(jìn)行詞組拼接解決以上問(wèn)題。

    (4)句子選擇

    在隱私條例文檔中,6種模式的句子將被提取出來(lái),其余的將被過(guò)濾掉,不做進(jìn)一步分析。表1中為6種句子模式的語(yǔ)義模型和例句。

    S1和S2模式的匹配:從句子的依賴關(guān)系中提取出根節(jié)點(diǎn),判斷其是否存在于動(dòng)詞篩選列表中,若是,則繼續(xù)分析其相關(guān)的成分;否則,找到與根節(jié)點(diǎn)相關(guān)的連詞成分和主語(yǔ)后,過(guò)濾掉該動(dòng)詞。

    S3模式的匹配:從句子的依賴關(guān)系中提取出根節(jié)點(diǎn),判斷其是否是“allowed”或者“able”,若是,則找到其補(bǔ)語(yǔ)“xcomp”或者“ccomp”關(guān)系,判斷該動(dòng)詞是否存在于動(dòng)詞篩選列表中,若是,繼續(xù)分析相關(guān)成分;否則,過(guò)濾掉該動(dòng)詞。

    S4模式的匹配:從句子的依賴關(guān)系中提取出根節(jié)點(diǎn),然后找到其“xcomp”關(guān)系的引導(dǎo)詞,判斷兩個(gè)動(dòng)詞是否在動(dòng)詞篩選列表中,若是,則繼續(xù)分析相關(guān)成分;否則,過(guò)濾掉該動(dòng)詞。

    S5模式的匹配:該模式主要用于提取出的資源的子樹(shù)中的其他資源,當(dāng)獲取資源列表后,通過(guò)層次結(jié)構(gòu)關(guān)系,判斷其子樹(shù)的根節(jié)點(diǎn)中是否包含“about”等介詞,若有,則提取出子樹(shù)中的名詞和名詞短語(yǔ)部分,添加到資源列表中。

    S6模式的匹配:用于句子中包含多個(gè)并列行為和資源的情況,從句子的依賴關(guān)系中提取出根節(jié)點(diǎn),判斷其是否存在于動(dòng)詞篩選列表中,然后檢查是否有連詞關(guān)系“conj_”,若有則進(jìn)入篩選階段,然后將其加入行為列表或資源列表中。

    (5)否定分析

    本文從兩方面判斷句子是否具有否定含義:

    ①資源為nothing,例如“Nothing will be used”。

    ②句子中根節(jié)點(diǎn)被否定含義詞修飾,例如:“wewill not/hardly collect information”,使用了否定詞[17]列表來(lái)確定該句子是否具有否定含義。

    Table 1 Six sentence types表1 6種句子模式

    3.3 應(yīng)用行為分析

    本文首先使用靜態(tài)分析的方式獲取敏感行為,然后使用動(dòng)態(tài)分析的方式獲取應(yīng)用在使用動(dòng)態(tài)加載和Java反射技術(shù)應(yīng)用的敏感行為,最后使用第三方庫(kù)檢測(cè)工具分析第三方庫(kù)的行為。

    3.3.1 靜態(tài)分析

    (1)反編譯

    在進(jìn)行靜態(tài)分析之前,首先應(yīng)先獲得該應(yīng)用的代碼,但通常情況下,應(yīng)用的開(kāi)發(fā)者不會(huì)公開(kāi)其源代碼,因此本文使用apktool[18]將輸入apk文件反編譯,獲得應(yīng)用的smali代碼、AndroidManifest.xml文件和一些其他的文件。

    (2)權(quán)限提取

    應(yīng)用可以通過(guò)兩種方式獲取隱私權(quán)限。一種是調(diào)用敏感API,例如調(diào)用getCellLocation()來(lái)獲取設(shè)備的位置信息;另一種是通過(guò)內(nèi)容提供商獲取應(yīng)用使用的敏感信息,如調(diào)用android.content.ContentResolver.query(),參數(shù)為 content://com.android.calendar來(lái)獲取日歷信息。

    本文中,為了確定應(yīng)用中使用的隱私權(quán)限,從Pscout[19-20]選取89個(gè)包含隱私信息的敏感API,這些隱私信息為:device ID、subscriber ID、sim serial number、location、account、calendar、phone number、camera、audio、device version、message、log。這些隱私信息為隱私條例中的常見(jiàn)信息,也是用戶最關(guān)注的信息。然后,從smali代碼中與這些敏感API的特征(包名、方法名)進(jìn)行對(duì)比,如果smali代碼中存在一致的特征,則認(rèn)為調(diào)用了該敏感API,記錄下該API使用的權(quán)限。同時(shí),本文還從文獻(xiàn)[19]中挑選了12個(gè)涉及隱私信息的URI,若應(yīng)用調(diào)用了這些URI,根據(jù)該URI記錄下其使用的權(quán)限信息。提取敏感API和URI的權(quán)限的同時(shí),根據(jù)Google Java Style[21]的駝峰式函數(shù)命名方式,可以將實(shí)際使用的權(quán)限信息和隱私信息進(jìn)行映射,例如:getDeviceId()需要聲明READ_PHONE_STATE權(quán)限來(lái)獲取device ID信息,因此可以將READ_PHONE_STATE和device ID進(jìn)行關(guān)聯(lián),同理,Pscout將content://contacts映射為android.permision.READ_CONTACTS,因此可以將其與“contact”關(guān)聯(lián)。

    3.3.2 動(dòng)態(tài)分析

    Android應(yīng)用中動(dòng)態(tài)加載和Java反射機(jī)制使用得很普遍,惡意軟件可以使用Java反射機(jī)制獲取Android的隱藏API并獲取到系統(tǒng)內(nèi)部才能夠調(diào)用的API和權(quán)限[22],對(duì)用戶安全造成極大威脅。而只使用靜態(tài)分析的方式并不能檢測(cè)出動(dòng)態(tài)加載和Java反射過(guò)程中使用到的權(quán)限信息,因此,為了完整地獲取應(yīng)用使用的隱私權(quán)限,本文使用動(dòng)態(tài)分析和靜態(tài)分析的方式獲取權(quán)限。

    本文使用Xposed框架和Droidbot[23-24]對(duì)應(yīng)用進(jìn)行動(dòng)態(tài)測(cè)試。Droidbot是一種基于應(yīng)用UI界面的自動(dòng)化測(cè)試工具,可以觸發(fā)應(yīng)用運(yùn)行時(shí)的所有可能行為,包括apk在運(yùn)行時(shí)的截圖(用戶點(diǎn)擊行為、彈框等)、調(diào)用敏感API及其使用的權(quán)限、應(yīng)用請(qǐng)求方式以及請(qǐng)求的URL等。此外,本文在Droidbot中添加應(yīng)用運(yùn)行時(shí)的調(diào)用棧,判斷被調(diào)用的API的位置是第三方庫(kù)還是應(yīng)用本身。圖10為應(yīng)用astrology.jyothishadeepthi.tamil.demo.apk的部分調(diào)用棧。將動(dòng)態(tài)分析的結(jié)果和第三方庫(kù)分析出的包名和權(quán)限比對(duì),可篩選出程序中非第三方庫(kù)產(chǎn)生的敏感行為,進(jìn)一步與靜態(tài)分析的結(jié)果相結(jié)合,可以獲得應(yīng)用中所有使用的敏感行為信息。

    3.3.3 第三方庫(kù)分析

    Android應(yīng)用中經(jīng)常使用第三方庫(kù),包括廣告庫(kù)、社交網(wǎng)絡(luò)庫(kù)、開(kāi)發(fā)工具庫(kù)等。但實(shí)際上,開(kāi)發(fā)者對(duì)第三方庫(kù)所使用的權(quán)限信息甚至功能并沒(méi)有完整的了解。相關(guān)研究均使用白名單方法檢測(cè)第三方庫(kù),然而白名單方法存在覆蓋不完整和不能處理代碼混淆等缺點(diǎn)。本文使用Libradar[9]來(lái)替代白名單方式進(jìn)行第三方庫(kù)的分析。Libradar是一種基于聚類的第三方庫(kù)檢測(cè)方法,能夠快速準(zhǔn)確檢測(cè)應(yīng)用中使用的第三方庫(kù)、類別、包名及其使用的權(quán)限等信息。此外,本文使用Libradar檢測(cè)第三方庫(kù)的實(shí)際應(yīng)用行為而不使用第三方庫(kù)聲明的隱私條例的原因是:(1)第三方庫(kù)聲明的隱私條例也可能會(huì)出現(xiàn)與實(shí)際應(yīng)用使用的隱私信息不一致,直接進(jìn)行隱私條例的比較獲得的結(jié)果不準(zhǔn)確。(2)第三方庫(kù)沒(méi)有聲明隱私條例的,將無(wú)法進(jìn)行隱私條例不一致性的分析。

    Fig.10 Some callback of astrology.jyothishadeepthi.tamil.demo.apk圖10 astrology.jyothishadeepthi.tamil.demo.apk的部分調(diào)用棧

    3.4 一致性檢測(cè)

    一致性檢測(cè)目的是檢測(cè)應(yīng)用聲明的隱私條例文檔和應(yīng)用實(shí)際的敏感行為是否存在不完整、不正確和不一致的問(wèn)題。圖11為一致性檢測(cè)的流程,檢測(cè)分為三方面。

    Fig.11 Flow chart of consistency detection module圖11 一致性檢測(cè)模塊流程圖

    (1)不完整性檢測(cè):將應(yīng)用分析中應(yīng)用本身的行為與隱私條例分析的使用的信息進(jìn)行對(duì)比。

    (2)不正確性檢測(cè):將應(yīng)用分析中應(yīng)用本身的行為與隱私條例分析的不使用的信息進(jìn)行對(duì)比。

    (3)不一致性檢測(cè):將應(yīng)用分析中應(yīng)用使用的第三方庫(kù)與隱私條例分析的不使用的信息進(jìn)行對(duì)比。

    完成隱私條例分析和應(yīng)用行為分析后,進(jìn)而將從代碼中提取的信息(codeCollect、CodeThird)和隱私條例文檔中所聲明的信息(AppCollect/AppNotCollect、AppShare、AppStore)作為一致性檢測(cè)的對(duì)象。

    3.4.1 不完整隱私條例檢測(cè)

    如果代碼中檢測(cè)出的隱私權(quán)限對(duì)應(yīng)的隱私信息未在隱私條例文檔中聲明,則判定為不完整的隱私條例。確定應(yīng)用行為分析中使用的權(quán)限(CodeCollect)是否出現(xiàn)在隱私條例文檔的聲明中(AppCollect、AppShare、AppStore)。若沒(méi)有,則記錄下該權(quán)限和信息內(nèi)容。

    匹配代表代碼中的權(quán)限和隱私條例文檔中的信息指的是相同的信息。但是代碼分析中提取出的信息是根據(jù)使用的方法(getDeviceId())或權(quán)限映射(ACCESS_FINE_LOCATION對(duì)應(yīng)location)[25]。二者的表達(dá)方式通常存在著很大的差異,本文使用ESA(explicit semantic analysis)[26]來(lái)比較兩個(gè)文本間語(yǔ)義的相似程度,ESA通過(guò)比較與詞相關(guān)的維基文檔的權(quán)重向量來(lái)計(jì)算相似度,每個(gè)維基概念都是由出現(xiàn)在這個(gè)文章中的詞向量來(lái)表示,向量的矢量是通過(guò)TF-IDF模型得出的權(quán)值,這些權(quán)值表明了詞和概念之間聯(lián)系的緊密度。因此,當(dāng)兩個(gè)文本間的相似度值到達(dá)一個(gè)閾值時(shí),則認(rèn)為這兩個(gè)文本所指的是同一事物。本文中閾值設(shè)定為0.5,在該閾值下通過(guò)人工確認(rèn),可以將大多數(shù)描述不同的同類信息匹配成功。

    但是在進(jìn)行代碼中權(quán)限信息和隱私條例中信息匹配過(guò)程中,需要先確定隱私條例中聲明的信息具體對(duì)應(yīng)的權(quán)限,因此需要將該信息與權(quán)限映射的所有關(guān)鍵詞(例如:ACCESS_FINE_LOCATION映射關(guān)鍵詞之一為location)頻繁匹配,通過(guò)ESA計(jì)算找到隱私條例聲明信息的對(duì)應(yīng)權(quán)限,使得效率大幅降低。因此本文對(duì)匹配模型優(yōu)化,將進(jìn)行相似度計(jì)算的信息的結(jié)果存儲(chǔ)到權(quán)限對(duì)照表中,例如,格式為phone number:READ_PHONE_STATE。當(dāng)再次遇到該信息時(shí),首先查找權(quán)限對(duì)照表中是否存在該信息,若存在,直接提取出權(quán)限;若不存在,再使用ESA計(jì)算隱私信息之間文本間相似度,進(jìn)而確定使用的隱私權(quán)限。通過(guò)這種方法,可以將隱私條例中的信息與其對(duì)應(yīng)的權(quán)限一一匹配。然后,將代碼中的權(quán)限與隱私條例進(jìn)行比較,若代碼中的權(quán)限不存在于隱私條例中,則記錄下該權(quán)限,并判定為不完整;否則,則判定為一致,不存在不完整的問(wèn)題。

    3.4.2 不正確隱私條例檢測(cè)

    如果隱私條例中聲明不會(huì)使用某隱私信息,但是卻在代碼中檢測(cè)出來(lái),則判定為不正確的隱私條例。將隱私條例中聲明不會(huì)使用的信息通過(guò)ESA相似度計(jì)算或查找權(quán)限對(duì)照表的方式找到其對(duì)應(yīng)的權(quán)限,然后遍歷除第三方庫(kù)外代碼中使用的權(quán)限,若在代碼中的權(quán)限中找到了該權(quán)限,則判定為不正確;否則,則判定為一致,不存在不正確的問(wèn)題。

    3.4.3 不一致隱私條例檢測(cè)

    如果隱私條例中聲明不會(huì)使用某隱私信息,但是卻在第三方庫(kù)中檢測(cè)出來(lái),則判定為不一致的隱私條例。將3.4.2節(jié)中隱私條例文檔中的信息經(jīng)過(guò)ESA計(jì)算后獲取的權(quán)限的結(jié)果與代碼中第三方庫(kù)使用的信息進(jìn)行匹配,如果第三方庫(kù)使用了隱私條例中聲明的不會(huì)使用的權(quán)限,則判定為不一致;否則,則判定為一致,不存在不一致的問(wèn)題。

    4 實(shí)驗(yàn)結(jié)果

    實(shí)驗(yàn)對(duì)Google Play中所有類別的排名前60的應(yīng)用共2 940個(gè)進(jìn)行了隱私條例的鏈接的爬取,其中1 765(60%)個(gè)應(yīng)用存在隱私條例的鏈接,本文隨機(jī)從中選取455個(gè)有隱私條例聲明的應(yīng)用作為本次實(shí)驗(yàn)的數(shù)據(jù)集。

    4.1 隱私條例分析

    為了驗(yàn)證隱私條例分析的準(zhǔn)確率,從120個(gè)隱私條例文檔中隨機(jī)選取了400個(gè)句子進(jìn)行分析,其中肯定句300個(gè),否定句100個(gè),總詞數(shù)8 296個(gè)。然后獲取隱私條例分析的結(jié)果,進(jìn)行人工檢查,相關(guān)數(shù)據(jù)見(jiàn)表2。

    Table 2 Extraction result of 400 sentences表2 特征提取400個(gè)句子分析結(jié)果

    以上結(jié)果表明,隱私條例的模塊的句子分析平均準(zhǔn)確率為94.75%。

    (1)肯定句:有18個(gè)肯定句未能準(zhǔn)確提取信息,其原因是Standford Parser未分析出詞組形式的連詞,例如,在“We may use log information as specifically indicated in the Mobile App,as well as to assess...”例句中,連詞是“as well as”,但被分析為“multi-word expression”,不是連詞特征,無(wú)法提取出之后的行為及資源信息。

    (2)否定句:有3個(gè)否定句未能準(zhǔn)確提取信息,未提取出否定形式的隱私行為的原因是否定信息沒(méi)有出現(xiàn)在主語(yǔ)、謂語(yǔ)或者修飾謂語(yǔ)的副詞中,而使用了合成形容詞,“This non-personally-identifiable information may be shared with third-parties to provide more relevant services and advertisements to users.”例句中存在著否定含義的名詞(賓語(yǔ))“non-personallyidentifiable”,在分析中沒(méi)有將其歸類到否定句中。

    為了驗(yàn)證狀語(yǔ)、連詞和合并詞成分提取的有效性,人工選取了15個(gè)隱私條例文檔進(jìn)行:(1)提取狀語(yǔ)、連詞和詞組成分;(2)只提取狀語(yǔ)和詞組;(3)只提取連詞和詞組;(4)不提取狀語(yǔ)、連詞和詞組的對(duì)比分析。圖12為實(shí)驗(yàn)結(jié)果。

    數(shù)據(jù)表明15個(gè)隱私條例文檔聲明了40個(gè)隱私信息,缺失連詞分析時(shí)可以提取出36(90%)個(gè)信息,缺失狀語(yǔ)分析時(shí)可以提取出30個(gè)(75%)隱私信息,缺失狀語(yǔ)、連詞和合并詞分析只能提取出6個(gè)(15%)隱私信息。實(shí)驗(yàn)結(jié)果表明,在不分析狀語(yǔ)、連詞和詞組的情況下[10],只能提取出15%聲明的信息,缺失了大部分的信息,而使用狀語(yǔ)、連詞和詞組分析后使得準(zhǔn)確率大幅度提升。

    4.2 應(yīng)用行為分析

    Fig.12 Comparative experiment of modifier,conjunction and phrase圖12 狀語(yǔ)、連詞和詞組對(duì)比實(shí)驗(yàn)

    本文采用了動(dòng)態(tài)和靜態(tài)分析結(jié)合的方式對(duì)455個(gè)應(yīng)用行為進(jìn)行分析,如圖13所示,使用靜態(tài)分析共檢測(cè)出1 158個(gè)敏感信息,其中使用次數(shù)最多的兩種信息分別是location和deviceID。

    Fig.13 Static analysis of sensitive information圖13 靜態(tài)分析隱私信息

    在動(dòng)態(tài)分析中,使用Droidbot檢測(cè)應(yīng)用前40 s的動(dòng)態(tài)行為,實(shí)驗(yàn)中共檢測(cè)出70個(gè)動(dòng)態(tài)運(yùn)行時(shí)應(yīng)用的權(quán)限信息。圖14為動(dòng)態(tài)分析使用的隱私信息(包括應(yīng)用本身和第三方庫(kù)使用的)。

    Fig.14 Dynamic analysis of sensitive information圖14 動(dòng)態(tài)分析隱私信息

    4.3 第三方庫(kù)分析

    本文使用第三方庫(kù)檢測(cè)工具Libradar對(duì)455個(gè)應(yīng)用的apk文件中使用的隱私信息和權(quán)限進(jìn)行分析,同時(shí)對(duì)分析結(jié)果進(jìn)行統(tǒng)計(jì)。實(shí)驗(yàn)結(jié)果表明在455個(gè)應(yīng)用中,有430個(gè)應(yīng)用(94.5%)使用至少一種第三方庫(kù)。實(shí)驗(yàn)檢測(cè)出第三方庫(kù)的類型11種(其中一種沒(méi)有歸類,使用“Unknown”替代),455個(gè)應(yīng)用中每一類被使用的具體數(shù)量如圖15所示。如果使用白名單方式,只檢測(cè)最常見(jiàn)的3類(Development Aid、Advertisement、Social Network)第三方庫(kù),只能檢測(cè)出1 576個(gè)(59.1%)第三方庫(kù),無(wú)法分析其他類別及混淆的第三方庫(kù)。

    Fig.15 Type and number of the third library圖15 第三方庫(kù)類別和數(shù)量

    4.4 一致性檢測(cè)

    4.4.1 不完整隱私條例信息

    該工具對(duì)455個(gè)應(yīng)用進(jìn)行了不完整隱私條例的檢測(cè),共檢測(cè)出224個(gè)不完整的隱私條例,圖16中列出了不完整的隱私條例應(yīng)用個(gè)數(shù),通過(guò)人工方式對(duì)150個(gè)進(jìn)行準(zhǔn)確性判斷,發(fā)現(xiàn)了12例誤判現(xiàn)象。

    假陰性:實(shí)驗(yàn)中的第一種假陰性是由于Standford Parser中依賴結(jié)構(gòu)分析錯(cuò)誤導(dǎo)致,例如:“We use the email address you upload…”,錯(cuò)誤地將email定位為address的賓語(yǔ),將address定位為動(dòng)詞;第二種情況是因?yàn)閯?dòng)詞白名單中缺少該動(dòng)詞導(dǎo)致,如“we ask for your personal information such as…”,“ask for”未在白名單中,導(dǎo)致聲明的隱私信息未被提取出來(lái)。

    Fig.16 Uncompleted information圖16 不完整的信息

    假陽(yáng)性:實(shí)驗(yàn)中未發(fā)現(xiàn)該類型錯(cuò)誤。

    4.4.2 不正確隱私條例信息

    本文中共檢測(cè)出4個(gè)不正確的隱私條例,經(jīng)過(guò)人工的校驗(yàn),發(fā)現(xiàn)這些隱私條例都是不正確的隱私條例,沒(méi)有出現(xiàn)誤判的情況。表3中列舉了實(shí)驗(yàn)中不正確的隱私條例對(duì)應(yīng)的應(yīng)用及信息。

    Table 3 UncompletedApps and sensitive information表3 不正確應(yīng)用及隱私信息

    4.4.3 不一致隱私條例信息

    本文共檢測(cè)出兩個(gè)不一致的隱私條例,應(yīng)用為com.bestringtonesapps.cuteringtones和com.nimblebit.vegas,使用的權(quán)限為READ_PHONE_STATE,使用該權(quán)限的第三方庫(kù)分別是Fabric和Javax,這些不一致的應(yīng)用中,經(jīng)過(guò)人工的校驗(yàn),發(fā)現(xiàn)這些隱私條例都是不一致的隱私條例,沒(méi)有出現(xiàn)誤判的情況。

    4.4.4 結(jié)果分析

    本文從四方面論述Android應(yīng)用隱私條例與敏感行為一致性檢測(cè)方法的準(zhǔn)確性。首先,使用隱私條例分析檢驗(yàn)400個(gè)隱私條例達(dá)到94.75%的準(zhǔn)確率;其次,使用動(dòng)態(tài)分析的方式檢測(cè)出70個(gè)動(dòng)態(tài)加載或Java反射觸發(fā)的隱私行為;然后,對(duì)455個(gè)應(yīng)用中使用的第三方庫(kù)進(jìn)行分析,實(shí)驗(yàn)結(jié)果表明94.5%的應(yīng)用使用了第三方庫(kù);最后,通過(guò)對(duì)455個(gè)應(yīng)用的一致性檢測(cè)發(fā)現(xiàn)其中有224個(gè)不完整的隱私條例,4個(gè)不正確的隱私條例和2個(gè)不一致的隱私條例,經(jīng)人工抽樣檢測(cè),準(zhǔn)確率達(dá)到了92.3%。

    5 討論

    本文使用Standford Parser處理復(fù)雜的隱私條例文檔,提取主謂賓、狀語(yǔ)、連詞、詞組等特征篩選隱私信息及其行為,然后將其與應(yīng)用分析結(jié)果進(jìn)行比對(duì),分析隱私條例中是否存在不完整、不正確和不一致3種問(wèn)題。但是為了提高分析的準(zhǔn)確性,隱私條例分析方法可以從兩方面進(jìn)一步進(jìn)行優(yōu)化:

    (1)將隱私條例中復(fù)雜的條件狀語(yǔ)進(jìn)行分析:比如“if you don’t agree”,“without your permission”等,這些條件可能會(huì)影響句子的實(shí)際含義。

    (2)將隱私條例中的從句進(jìn)行分析:實(shí)驗(yàn)中,大量假陽(yáng)性和假陰性的例子是由于Standford Parser無(wú)法分析無(wú)引導(dǎo)詞的定語(yǔ)從句或賓語(yǔ)從句造成的,比如“Information gathered through cookies and Web server logs may include the date…”,分析時(shí)會(huì)將“gathered”當(dāng)成root節(jié)點(diǎn),導(dǎo)致依賴關(guān)系錯(cuò)誤,因此應(yīng)增加對(duì)從句中有效成分的分析。

    6 總結(jié)

    本文提出一種對(duì)Android應(yīng)用隱私條例敏感行為一致性的檢測(cè)方式,能夠檢測(cè)隱私條例中存在的3種問(wèn)題:不完整、不準(zhǔn)確和不一致性問(wèn)題。本文在隱私條例分析時(shí)增加了對(duì)狀語(yǔ)、連詞和詞組成分的分析,提高了隱私信息提取的準(zhǔn)確性。此外,在靜態(tài)分析的基礎(chǔ)上,使用動(dòng)態(tài)分析和第三方庫(kù)檢測(cè)工具分別獲得應(yīng)用使用的動(dòng)態(tài)行為和第三方庫(kù)使用的權(quán)限,使得提取出的應(yīng)用行為更完善。其中,隱私條例分析能達(dá)到94.75%的準(zhǔn)確率,代碼分析較傳統(tǒng)的方式進(jìn)行優(yōu)化并增加動(dòng)態(tài)分析,使得結(jié)果更加準(zhǔn)確和完整,共檢測(cè)出70個(gè)應(yīng)用使用的隱私信息使用動(dòng)態(tài)加載和Java反射。在第三方庫(kù)檢測(cè)中,檢測(cè)到94.5%應(yīng)用使用11種類型的第三方庫(kù)。針對(duì)455個(gè)流行應(yīng)用的分析表明,49.7%的應(yīng)用的隱私條例存在不一致問(wèn)題。

    猜你喜歡
    連詞狀語(yǔ)文檔
    你會(huì)用連詞嗎?
    有人一聲不吭向你扔了個(gè)文檔
    連詞that引導(dǎo)的賓語(yǔ)從句
    狀語(yǔ)從句熱點(diǎn)透視
    as引導(dǎo)狀語(yǔ)從句的倒裝語(yǔ)序
    在狀語(yǔ)從句中探“虛實(shí)”
    基于RI碼計(jì)算的Word復(fù)制文檔鑒別
    西夏語(yǔ)中的對(duì)比連詞 djij2
    西夏學(xué)(2016年1期)2016-02-12 02:24:02
    Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
    狀語(yǔ)從句
    静海县| 文水县| 裕民县| 台南县| 浮梁县| 瑞金市| 仪陇县| 邢台县| 瑞安市| 汶上县| 浏阳市| 北川| 新昌县| 长丰县| 商都县| 彰武县| 苗栗县| 日喀则市| 历史| 封开县| 余庆县| 梧州市| 新化县| 蒲城县| 田林县| 康定县| 安阳县| 瑞金市| 铜梁县| 宁都县| 乐业县| 镇远县| 泰兴市| 富平县| 西宁市| 通许县| 肥东县| 东阳市| 铜陵市| 百色市| 瑞安市|