摘 要:目前針對中文隱私條例的自動化解析研究較少,提取的信息不全面,無法滿足管理部門對Android App隱私條例的自動化審查需求。為實現(xiàn)中文隱私條例自動化解析,提出了一種基于依存句法的中文隱私條例解析算法PPExtractor?;趧釉~和介詞兩類種子模式,PPExtractor使用自舉模式方法生成隱私事件模式集;通過模式匹配,PPExtractor能有效提取隱私條例中開發(fā)者和第三方收集和使用的隱私信息,以及App需要用戶輸入的隱私信息,為管理部門監(jiān)管 Android App 與隱私信息相關的違法行為提供依據(jù)。該方法能更全面地提取中文隱私條例中收集的隱私信息。實驗結(jié)果表明,PPExtractor能有效識別隱私條例中與隱私相關的句子,并提取句子中與用戶隱私相關的信息。
關鍵詞:Android App; 隱私條例; 依存句法
中圖分類號:TP391 文獻標志碼:A
文章編號:1001-3695(2022)07-006-1961-05
doi:10.19734/j.issn.1001-3695.2022.01.0002
基金項目:國家自然科學基金資助項目(U19A2081,61802270,61802271);教育部—中國移動科研基金資助項目(CM20200409);四川大學工科特色團隊項目(2020SCUNG129)
作者簡介:王浩漪(1994-),男,四川南充人,碩士研究生,主要研究方向為移動安全;阮樹驊(1966-),女(通信作者),浙江紹興人,副教授,碩導,碩士,主要研究方向為云計算與大數(shù)據(jù)安全、區(qū)塊鏈安全(ruanshuhua@scu.edu.cn);陳興蜀(1968-),女,貴州六枝人,教授,博導,博士,主要研究方向為可信計算、云計算與大數(shù)據(jù)安全;鄭濤(1994-),男,四川達州人,博士研究生,主要研究方向為移動安全、軟件安全分析等.
Android App privacy policy analysis algorithm based on dependency syntax
Wang Haoyia,b, Ruan Shuhuaa,b?, Chen Xingshua,b, Zheng Taoa,b
(a.School of Cyber Science amp; Engineering, b.Cyber Science Research Institute, Sichuan University, Chengdu 610065, China)
Abstract:There are few studies on automated parsing of Chinese privacy policies, and the extracted information is not comprehensive enough which cannot meet the demand of management for automated review of Android App privacy policies. In order to realize the automated parsing of Chinese privacy policies, this paper proposed a Chinese privacy policy parsing algorithm based on dependent syntax, called PPExtractor. Based on two types of seed patterns, verb and preposition, PPExtractor used the bootstrap pattern method to generate the set of privacy event patterns. Through pattern matching, PPExtractor could effectively extract the privacy information collected and used by developers and third parties in privacy regulations, as well as the privacy information that Apps required users to input, providing a basis for management to regulate Android Apps’ Illegal acts related to privacy information. This method could more comprehensively extract the privacy information collected in the Chinese privacy regulations. The experimental results show that PPExtractor can effectively identify privacy-related sentences in privacy policies and extract information related to user privacy in the sentences.
Key words:Android App; privacy policy; dependency syntax
0 引言
近年來,智能手機逐漸成為日常生活中不可或缺的一部分。智能手機使用了多種傳感器,這些傳感器會頻繁收集用戶個人隱私信息,例如通信信息、精確定位信息以及身體健康信息[1]。App會將這些數(shù)據(jù)發(fā)送給開發(fā)者或者服務提供商,因而引起了用戶對個人隱私信息泄露的擔憂。2020年,國內(nèi)發(fā)布了《信息安全技術(shù)—個人信息安全規(guī)范GB/T 35273—2020》[2],該標準對App開發(fā)者收集和使用個人信息進行了規(guī)范,并提供了App隱私條例編寫模板,為App開發(fā)者編輯隱私條例提供了必要依據(jù)。隱私條例用于告知用戶App收集、共享和使用隱私信息的類型、原因、方式、目的等,它是App開發(fā)者與用戶之間具有約束力的法律協(xié)議[3]。用戶根據(jù)隱私條例的描述,選擇是否使用該App及相應的服務;管理部門根據(jù)隱私條例的描述內(nèi)容,對App進行審查。然而隱私條例存在冗長、復雜、難以閱讀等問題[4,5],對管理部門而言,人工閱讀隱私條例耗時過長且容易出錯,對App難以完成有效的大規(guī)模審查,因此對隱私條例的自動分析研究成為了研究熱點之一。
隱私條例通常由多段自然語言組成,由自然語言編寫的文檔主要采用NLP(natural language processing)結(jié)合機器學習[6~9]與NLP結(jié)合模式匹配[10~13]兩種技術(shù)進行分析。模式匹配使用句子語義語法信息構(gòu)建樣本模式,基于樣本模式對未知句子進行識別和分析,能夠準確提取句子中的相關信息,因而被應用于文檔的信息提取。模式匹配主要分為預定義模式和自舉模式兩類。預定義模式通過預先定義的樣本模式,使用模式匹配識別文檔句子,提取目標信息。Xiao等人[10]提出text2policy,通過預定義的四種訪問控制模式識別ACP(access control policies)句子,提取句子的主語、謂語和賓語,準確率為88.7%。王靖瑜等人[11]通過預定義的六種模式及相關動詞識別隱私相關句式,從依賴關系中提取其主語與賓語成分。然而預定義的模式對目標句子的召回率不高,Slankas等人[12]為了提高模式匹配的召回率提出自舉模式,即通過少量常見的ACR(access control rules)模式進行擴展,以自動尋找到其他與之相關的模式,并基于自舉模式提出ACRE(access control rule extraction)技術(shù),最終識別ACP句子的精確率達到81%、召回率為65%,對訪問控制策略內(nèi)容信息的提取精確率為76%、召回率為49%。為使結(jié)果更加精確,Yu等人[13]在文獻[12]的基礎上添加了三個黑名單,用于處理發(fā)現(xiàn)的新模式的語義漂移,使其更為準確,最終手動驗證了隱私條例80個句子的識別結(jié)果,其精確率為89.1%、召回率為91.7%、F1值為90.4%。已有研究對象大多為英文隱私條例,其研究方法無法直接適用于中文隱私條例的解析。針對中文隱私條例,朱璋穎等人[14]使用基于機器學習算法的層次多標簽分類模型,檢測隱私政策的虛假性和完整性。趙波等人[15]利用層次分析法,提出了Android 應用程序個人信息安全量化評估模型。然而對于中文隱私條例的研究解析粒度大多為句子級別,并沒有對句中信息進行準確的識別和提取。
目前國內(nèi)App市場規(guī)模龐大,監(jiān)管困難。人工閱讀隱私條例耗時過長且容易出錯。為解決上述問題,本文首次提出了一種基于依存句法的中文隱私條例解析算法PPExtractor,并實現(xiàn)了原型系統(tǒng)。PPExtractor能自動識別中文隱私條例中與隱私信息相關的句子,進而提取句子中包含的隱私信息,幫助管理部門完成對App的審查??偟膩碚f,本文的主要貢獻包括:
a)據(jù)調(diào)研所知,本文是首次針對中文隱私條例中隱私信息識別和提取的研究;針對中文隱私條例的特點,提出了隱私條例解析算法PPExtractor。算法使用動詞模式和介詞模式兩類種子模式對隱私條例中隱私信息進行更全面的提取,并使用依賴關系樹簡化算法優(yōu)化了自舉模式生成步驟。
b)現(xiàn)有研究大多關心Android隱私條例中App開發(fā)者和第三方收集使用隱私信息的行為[10~13],或僅關注用戶輸入隱私信息的行為[16,17],本文對這兩種行為同時進行了完整的識別和提取。
c)本文實現(xiàn)了隱私條例分析系統(tǒng),并使用真實的隱私條例對系統(tǒng)進行了性能分析和有效性驗證。
1 隱私條例
1.1 隱私條例相關概念
隨著信息技術(shù)的快速發(fā)展,App在給人們生活帶來便利的同時,也引發(fā)了個人信息非法收集的問題。App的隱私條例描述了個人信息控制者在收集、存儲、使用、共享、轉(zhuǎn)讓、公開披露等信息處理環(huán)節(jié)中的相關行為,是App服務提供商與用戶之間具有法律約束的協(xié)議。根據(jù)《信息安全技術(shù)—個人信息安全規(guī)范GB/T 35273—2020》[2]提出的模板,隱私條例主要包括以下幾個板塊:收集您的個人信息;如何使用您的個人信息;如何委托處理、共享、轉(zhuǎn)讓、公開披露個人信息;如何保護您的個人信息;您的權(quán)利;如何處理兒童的個人信息;您的個人信息如何在全球范圍轉(zhuǎn)移;本政策如何更新;如何取得聯(lián)系。隱私條例中的個人隱私信息包含基本資料、身份信息、生物識別信息、網(wǎng)絡身份標識信息、健康生理信息、教育工作信息、財產(chǎn)信息、通信信息、聯(lián)系人信息、上網(wǎng)記錄、常用設備信息以及其他信息[2]。在隱私條例的內(nèi)容審查中,審查人員需要識別其中與隱私信息相關的句子以及具體隱私信息,判明App是否違規(guī)或過度收集和使用用戶隱私信息。
1.2 隱私事件的解析
隱私條例聲明了開發(fā)者、第三方和用戶與隱私信息相關的行為,這些隱私事件類型可以分為以下四種:a)first party event,App開發(fā)者或運營者收集或共享隱私信息的隱私事件;b)third party event,第三方收集或共享隱私信息的隱私事件;c)user provide event,用戶提交隱私信息的隱私事件;d)mixed party event,包含上文提到的任意兩種及以上情形的隱私事件。
隱私事件一般由動作執(zhí)行者、動作以及數(shù)據(jù)對象三個關鍵元素構(gòu)成。動作執(zhí)行者通常是句子的主語,即執(zhí)行收集、保存、共享或披露隱私信息動作的實體;動作一般是句子的謂語,即動作執(zhí)行者的行為;數(shù)據(jù)對象通常是句子的賓語,即動作的執(zhí)行對象。除此之外,介詞相關的句子也與收集個人隱私信息相關,如圖1所示,句子雖然沒有收集、保存、共享或披露隱私信息的動作,但其仍然表示執(zhí)行者獲取到了隱私信息。此外也存在介詞與動詞的混合模式,如圖1所示,因而對于介詞及相關賓語的分析也是十分必要的。
1.3 隱私條例語料庫
目前隱私條例語料庫大多為英文[3,7],為了完成中文隱私條例解析,本文創(chuàng)建了中文隱私條例語料庫,并基于四種隱私事件類型和動詞、介詞兩類基本模式完成標注任務。
1)隱私條例的選擇 不同App隱私條例的長度、描述范圍、復雜性等各有不同,因此為了更好地涵蓋各個行業(yè)、領域的隱私條例,本文基于文件《常見類型移動互聯(lián)網(wǎng)應用程序(App)必要個人信息范圍(征求意見稿)》[18],下載其中38類App的隱私條例,最終形成了包含114個隱私條例的語料庫。
2)隱私條例的標注 隱私條例的標注工具為BRAT[19]。本文標注的隱私事件類型為1.2節(jié)中聲明的first party event、third party event、user provide event以及mixed party event四種。本文隱私事件類型中有四種可選的基本元素:subject、verb、object以及preposition,分別對應動作執(zhí)行者、動作、數(shù)據(jù)對象和介詞。
本文選取接近數(shù)據(jù)對象的動詞作為“動作”進行標注。例如句子“我們需要您提供姓名”,“提供”為數(shù)據(jù)對象“姓名”的直接動詞,因此將其作為“動作”,其動作執(zhí)行者為“您”;句子“您須知我們會收集您的設備信息”中,“我們”“收集”“設備信息”分別標注為動作執(zhí)行者、動作、數(shù)據(jù)對象。
隱私條例被處理為純文本后,注釋者根據(jù)四種隱私事件類型對句子進行分類,使用BRAT工具對句子進行類型標注,再標注隱私事件中的四種基本元素,由此完成標注。
2 算法的設計
本文基于自舉模式,使用動詞和介詞兩類種子模式,對與開發(fā)者、用戶以及第三方行為相關的隱私信息進行分析提取,完善了分析維度;使用依賴關系樹的簡化算法,優(yōu)化了隱私事件模式生成步驟,最終形成隱私條例解析算法PPExtractor(privacy policies extractor)。
2.1 PPExtractor算法
本文提出的隱私條例解析算法PPExtractor流程如圖2所示。第一個階段為隱私事件模式集生成,基于依存句法分析隱私條例語料庫中與隱私信息收集相關的句式,得到其依賴關系樹,之后簡化依賴關系樹,使用兩類種子模式,通過自舉模式得到生成隱私事件模式,最后得到隱私事件模式集;第二階段為隱私條例分析,對輸入的隱私條例句子預處理后,生成其簡化依賴關系樹,與隱私事件模式集相匹配,進而完成句子的識別和隱私信息的提取。
2.2 隱私事件模式集生成
隱私條例語料庫為隱私條例文檔中與隱私信息相關的句子,本文基于隱私條例語料庫,通過自舉機制生成隱私事件模式集,從而實現(xiàn)對輸入句子的模式匹配與信息提取,具體實現(xiàn)關鍵技術(shù)如下。
1)基于依存句法分析的依賴關系樹生成 隱私條例為自然語言編寫而成,自然語言處理工具通常可以實現(xiàn)句子切分、詞性標注、命名實體識別、依存句法分析、語義角色標注、事件識別等。其中依存句法分析用于確定句子中詞匯之間的依存關系,常見的依存關系為:核心關系(head,HED)、介賓關系(preposition-object,POB)、主謂關系(subject-verb,SBV)、動賓關系(verb-object,VOB)、狀中結(jié)構(gòu)(adverbial,ADV)、并列關系(coordinate,COO)、定中關系(attribute,ATT)、動補結(jié)構(gòu)(complement,CMP)等。
本文使用自然語言處理工具解析隱私條例句子,對句子進行分詞、詞性標注和依存句法分析,構(gòu)造依賴關系樹。其中節(jié)點“ROOT”指向句子的核心單詞,樹的節(jié)點代表句子中的單詞以及該詞的詞性標簽,樹的邊為兩單詞之間的依存句法關系。例如,對句子“我們會收集您的個人信息,包括位置信息和手機號碼?!毙纬傻囊蕾囮P系樹,如圖3所示。從圖中可以得到,其主語為“我們”,動詞為“收集”,賓語為“信息”。
2)依賴關系樹的簡化原則 依賴關系樹的結(jié)構(gòu)較為復雜,如圖3所示,其直接賓語為“信息”,并不能有效提取到“位置信息”“手機號碼”,因此需要對依賴關系樹進行化簡。從點“ROOT”開始,對樹進行層次遍歷,并記錄已經(jīng)訪問的點,避免重復訪問。
通過對依賴關系樹的觀察和總結(jié),本文歸納出了三個主要的簡化原則,如下所示。
a)對ATT的簡化原則。ATT為定中關系,定語用于修飾主語和賓語。如果邊的依賴關系為ATT,父節(jié)點的詞性為名詞,則對子節(jié)點進行遍歷,獲取到其所有修飾詞,之后將其與父節(jié)點進行重組并刪除多余的子節(jié)點,從而將被分詞后的短語重新組合。當ATT子節(jié)點中存在COO關系時,則將定語從此處進行拆分,分別與父節(jié)點組合為多個短語。
b)對COO的簡化原則。COO為并列關系,指同一屬概念之中存在同層次的種概念。如果邊的依賴關系為COO,父節(jié)點的詞性為名詞時,對其子節(jié)點進行遍歷,獲得與其并列的短語,之后將其更新到父節(jié)點并刪除多余的子節(jié)點,從而將并列關系的多個名詞短語進行組合。當子節(jié)點中存在ATT依賴關系時,按照對ATT的簡化原則,獲取完整的短語后進行合并。
c)對CMP的簡化原則。CMP為動補結(jié)構(gòu),隱私條例常出現(xiàn)“包括、例如、如”等對收集信息的補充說明。如果邊的依賴關系為CMP,父節(jié)點的詞性為名詞,子節(jié)點為“包括、例如、如”等詞時,對子節(jié)點進行遍歷獲取信息更新到父節(jié)點,并刪除多余的子節(jié)點。此關系的簡化可以將“包括、例如、如”等詞后的信息提取到“信息”的節(jié)點,進行信息整合,從而簡化句子依賴樹,方便信息提取。在CMP關系后的子節(jié)點一般都存在ATT與COO的結(jié)構(gòu)關系,此時按照對應的簡化關系進行簡化。
通過依賴關系樹的簡化,減少了樹的節(jié)點與分支,整合了分散的信息,更便于對依賴關系樹的分析和模式匹配。簡化后依賴關系樹節(jié)點中的具體信息需要進一步做如下處理后,在下一步隱私事件模式生成中使用。
a)對含有修飾詞“的”的隱私信息的處理。本文將該信息分為兩類處理。一種為不必要的修飾,例如信息描述“綁定的手機號碼”“您留下的聯(lián)系方式信息”等,其中“的”前面的修飾詞不影響隱私信息類型,因而對其進行刪除,留下“手機號碼”“聯(lián)系方式信息”;另一種為必要的修飾,例如“設備的信息”“軟件的版本”等詞匯,如果刪除了“的”前面的修飾詞后只剩下“信息”“版本”變得毫無意義,因而本文添加了白名單維護此類詞匯。
b)對修飾詞多變的詞匯的處理。諸如“百度地圖SDK”“支付寶SDK”等詞匯常作為第三方收集信息句子的動作執(zhí)行者,核心詞匯相同,都為“SDK”,但其修飾詞不同。此類詞匯去除ATT修飾可以一定程度上增強自舉模式生成算法,本文將這類單詞的ATT修飾詞進行臨時存儲,使用核心詞匯(如SDK)進行迭代,避免其在隱私事件模式生成中因頻數(shù)過低而被剔除,最后將單詞完整還原,進行提取。
c)對多個主、謂、介、賓組合的處理。由于一個句子中可能存在多個主、謂、介、賓的組合,所以在簡化依賴關系樹后,對樹中單詞與單詞的關系進行了提取,從而確定動詞、介詞與主語和賓語之間的聯(lián)系,對其分組,確保模式生成結(jié)果的正確性。
通過上述方法對圖3進行簡化形成圖4,從圖4可以得到句子主語為“我們”,動詞為“收集”,賓語為“個人信息(位置信息-手機號碼)”,賓語短語之間使用“-()”等符號隔開。
3)隱私事件模式生成 本文通過兩類種子模式來自動從隱私條例數(shù)據(jù)集中發(fā)現(xiàn)更多相關的模式,用于句子識別以及對開發(fā)者、第三方收集和用戶提供的隱私數(shù)據(jù)的提取。本文設置種子模式為動詞模式“subject-verb-object”和介詞模式 “subject-preposition_verb-preposition-object”,如圖5所示。
本文分析語料庫后得到了開發(fā)者/第三方隱私信息相關的44個動詞組成的列表Verbl,用戶與隱私信息相關的20個動詞組成的列表VerbUserl以及11個常用介詞組成的列表prepl,每個介詞x有列表Pxverbl,存儲其相關的動詞,初始為空;用戶的動作執(zhí)行者列表SubUserl為“您,用戶”。已知模式列表Patternl包含兩類種子模式?;谝陨闲畔l(fā)現(xiàn)新模式的算法如下:
a)根據(jù)已知模式和動介詞發(fā)現(xiàn)新的主語與賓語。將已知模式與句子生成的依賴關系樹進行對比,若種子模式為依賴關系樹的子樹,則認為兩者初步匹配。若種子模式為動詞模式,則判斷verb對應的位置節(jié)點的動詞是否位于Verbl或VerbUserl中,若存在則匹配成功,否則匹配失?。蝗舴N子模式為介詞模式,則判斷preposition對應的位置節(jié)點的介詞是否位于prepl中,且preposition_Verb對應動詞是否位于Pxverbl中,若都存在則匹配成功,否則匹配失敗。匹配成功后,將種子模式的subject和object對應的單詞分別插入到開發(fā)者/第三方主語列表Subl和隱私信息列表Objl中。由于發(fā)現(xiàn)的主語和賓語列表中可能存在錯誤,根據(jù)已有研究成果[12,13],本文使用所有單詞頻數(shù)中位數(shù)作為閾值,當單詞頻數(shù)超過閾值時,認為其為合格的主語或者賓語。如圖6所示,通過“subject-verb-object”模式,發(fā)現(xiàn)主語“我們”以及賓語“個人信息、位置信息、手機號碼”。
b)根據(jù)主語、謂語、介詞和賓語發(fā)現(xiàn)新的模式。本文利用獲得的新的主語列表Subl和賓語列表Objl,與每個句子的依賴關系樹對比。如果依賴樹中存在主語和賓語分別位于Subl/SubUserl和Objl,此時若賓語與動詞相接,且動詞位于Verbl或VerbUserl,則認為可能存在新模式;若賓語與介詞相接,且介詞位于prepl,則將此時preposition_Verb對應的動詞插入到該介詞的Pxverbl中,并認為可能存在新模式。當可能存在新模式時,本文對該主語和賓語之間的最短路徑進行提取,判斷其是否存在于Patternl中。如果不存在,則將其作為新發(fā)現(xiàn)的模式加入Patternl,進行下一次迭代。如圖6所示,通過主語“我們”,謂語“收集”以及賓語“手機號碼”發(fā)現(xiàn)新的模式“subject-要求-verb-object”。
c)迭代停止條件。當沒有新的模式、介詞對應動詞、主語以及賓語發(fā)現(xiàn)時,算法停止迭代。
由于隱私條例中對隱私信息的描述存在不規(guī)范的情況,為了整合此類詞匯,本文使用Python的Synonyms[20]以及Levenshtein庫計算隱私信息語義相似度和字符串編輯距離,當大于閾值時,認為兩個詞匯相似,將其整合進行迭代。本文閾值設置為0.85。除此之外,為了盡可能地避免新找到的模式與種子模式偏差較大,本文維護了黑名單objectBlack,其中包括" “產(chǎn)品”“廣告”“服務”等,用于移除與個人信息無關的短語。
4)隱私事件模式集 將上一步迭代生成的隱私事件模式列表Patternl、開發(fā)者/第三方主語列表Subl、用戶主語SubUserl、開發(fā)者/第三方隱私信息動詞列表Verbl、用戶隱私信息動詞列表VerbUserl、介詞prepl及對應動詞列表Pxverbl、隱私信息列表Objl進行存儲,用于對新隱私條例句子的識別以及信息提取。
2.3 隱私條例解析
對輸入的隱私條例處理的步驟如圖2所示。
1)預處理 隱私條例一般為HTML格式,其中包含許多冗余信息,需要對HTML進行預處理。本文使用Beautiful Soup對HTML文檔元素進行提取,刪除不相干的元素,例如英文注釋、不可見元素,之后使用html2text將HTML轉(zhuǎn)換為MarkDown格式,輸出純文本文檔,并使用自然語言處理工具將段落切分為句子。
2)模式匹配 對隱私條例文檔句子進行詞性標注以及依存句法分析,構(gòu)建依賴關系樹。對依賴關系樹進行簡化后,與隱私事件模式集進行匹配,如果模式匹配成功,則提取模式中的“subject”“verb”“preposition”“object”位置對應單詞查看其是否位于主語列表、動詞列表、介詞列表和賓語列表,從而判斷句子是否為隱私事件相關句式。
3)否定句式分析 本文從以下幾個方面分析否定含義:句子中賓語的相關動詞被否定含義詞修飾,例如“我們不收集您的位置信息”,則認為其為否定含義;若賓語相關動詞的前一個動詞被否定含義詞修飾,例如“我們不要求收集您的位置信息”,則認為其為否定含義;若賓語相關動詞的并列動詞被否定含義詞修飾,例如“我們不收集和共享您的位置信息”,則認為其也為否定含義;如果動詞為否定含義,那么認為并未收集或使用其對應的賓語信息。
4)隱私信息提取 對于每個模式匹配成功的句子,本文提取執(zhí)行者、動詞、介詞、數(shù)據(jù)對象四大基本要素。模式中,“subject”位置對應的單詞提取為動作執(zhí)行者,“verb”位置對應的單詞為動作,“preposition”位置對應的單詞為介詞,“object”對應的單詞提取為數(shù)據(jù)對象。
3 實驗與結(jié)果分析
3.1 語料庫分析
為了保證樣本的普適性,本文根據(jù)文件《常見類型移動互聯(lián)網(wǎng)應用程序(App)必要個人信息范圍(征求意見稿)》[18]中聲明的38種App的類別,從華為和豌豆莢應用市場收集114個App隱私條例,覆蓋了38種類別,作為語料庫的數(shù)據(jù)來源。
本文語料庫中含有2 046個與收集隱私信息相關的句子,對句子長度和包含的隱私類別進行統(tǒng)計分析,有助于更直觀認識到隱私條例的現(xiàn)狀。
a)句子長度。本文獲取句子長度頻數(shù)統(tǒng)計信息如圖7所示。從圖中看出,句子長度在10~50字的占26.7%,句子長度在50~100字的占51.2%,句子長度在100~150字的占16.5%,句子長度在150~200字的占3.8%,句子長度在200~400字的占1.9%。由此得到句子長度超過100字的比例約為22.2%。長難句的使用,使隱私條例部分內(nèi)容晦澀難懂,增加了管理部門審查隱私條例的障礙,同時也降低了自然語言處理工具解析隱私條例的準確性。
b)隱私信息。對隱私條例中收集的信息進行統(tǒng)計,獲取統(tǒng)計信息,如圖8所示。從圖中可以看出,手機號碼為App收集的第一大信息,原因可能為大多數(shù)App要求將手機號碼作為注冊賬號;姓名是App進行實名認證時收集的信息之一;設備信息則是信息的一個大類,其中包含MAC地址、device ID、Android ID等;位置信息中的精準定位信息是個人敏感信息[2],對此類信息的處理應該更為慎重。
3.2 PPExtractor算法有效性驗證
本文實驗環(huán)境為Windows 10 64 位操作系統(tǒng),內(nèi)存大小為16 GB,處理器為Intel Core i7-8700 3.2 GHz CPU。編程語言為Python 3.7,集成開發(fā)環(huán)境為PyCharm。
語料庫中含有2 046個隱私事件句子,本文使用自然語言處理工具LTP[21]對隱私事件句子進行處理,每次選擇90%的句子作為訓練集,生成隱私事件模式數(shù)據(jù)集,對余下10%的句子及200個非隱私事件句子進行模式匹配測試。本文進行了五次隨機抽樣,使用精確率、召回率以及F1值的平均值來驗證隱私條例解析算法PPExtractor,隱私事件句子識別和隱私信息提取的效果。由于目前沒有提取中文隱私信息的實驗研究,所以本文選取英文隱私條例分析算法ACRE[12]和PPChecker[13]進行有效性分析對比實驗,結(jié)果如表1所示。其中句子識別的準確率、召回率和F1值分別為95.20%、87.43%、91.15%,其中F1值略優(yōu)于PPChecker;然而PPChecker并未對信息提取效果進行實驗說明,因此使用ACRE進行對比實驗,信息提取的準確率、召回率和F1值分別為86.05%、82.15%和84.05%,優(yōu)于ACRE。可以看出,PPExtractor能有效地識別隱私事件句子,并提取其中的隱私信息。
綜上所述,本文中文隱私條例分析算法可以有效地對隱私條例相關句式進行自動化識別,提取隱私信息,幫助管理部門審查App是否違規(guī)、過度收集個人隱私,提高管理部門的審查效率。
3.3 隱私條例分析系統(tǒng)效率與準確率驗證
為了檢驗隱私條例分析系統(tǒng)的實際可用性,本文另選了100篇真實隱私條例(共40 604個句子)作為系統(tǒng)的輸入,記錄各個模塊花費的時間,驗證系統(tǒng)的性能,最終結(jié)果如表2所示。
從表2可以看出,隱私事件模式集生成花費了1 114.80 s;預處理(將HTML文件處理為純文本)總共耗時72.39 s,每個隱私條例的預處理平均耗時0.73 s;最后利用生成的隱私事件模式集對預處理后的純文本進行解析,從而識別其中的隱私信息相關句式、提取隱私信息,總共耗時7 551.94 s,平均耗時75.52 s。因此,本文中文隱私條例解析系統(tǒng)具有較好的效率。
為進一步驗證系統(tǒng)的準確性,本文從這100篇隱私條例中選取了6篇進行人工驗證,選取的6篇隱私條例共包含231個與隱私信息相關的句子以及464個隱私信息,句子識別和信息提取結(jié)果如表3所示。
影響分析系統(tǒng)精確率和召回率的因素主要為
a)自然語言處理工具解析出錯。當句子長度過長或成分過于復雜時,自然語言處理工具LTP對句子分詞、依存句法等解析可能出錯,從而影響到系統(tǒng)解析的結(jié)果。
b)語料庫中并未包含該句子模式。例如 “我們收集的信息包括手機號碼和設備信息”,句子主干為“信息包括手機號碼和設備信息”,與本文定義的兩類種子模式不匹配;“我們收集您的設備信息。這些設備信息包括Android ID、IMSI、IMEI、OAID和Mac地址”,此類句式需要結(jié)合上下文進行推斷。如圖9所示,部分隱私條例使用圖片或表格描述信息收集和使用情況,本文并未對此類情況進行解析。
綜上所述,本文算法可以有效地對隱私條例相關句式進行自動化識別,提取隱私信息,幫助管理部門審查App是否違規(guī)、過度收集個人隱私,提高管理部門的審查效率。
4 結(jié)束語
隨著安全意識的提高,用戶對移動App的個人隱私信息泄露的擔憂加劇。相關法律法規(guī)的完善要求App開發(fā)者必須提供隱私條例,并在其中聲明App與隱私信息相關的行為,然而審查人員審查復雜冗長的隱私條例是否違規(guī),往往會耗費大量的時間。本文通過對隱私條例句子進行分析,根據(jù)其依存句法特征構(gòu)造依賴關系樹,基于自舉機制,從動詞和介詞兩類種子模式出發(fā),生成隱私事件模式集,進行模式匹配,完成對開發(fā)者、用戶以及第三方隱私事件相關句子的識別和隱私信息的提取。實驗結(jié)果表明,隱私條例解析算法PPExtractor可以有效地識別隱私事件句子并完成信息提取。下一步的工作將在本文提取隱私信息的基礎上,增加對App實際行為的動靜態(tài)分析,從而將隱私條例聲明內(nèi)容與App的實際行為進行對比分析,檢驗App行為與其隱私條例內(nèi)容的一致性。
參考文獻:
[1]Andow B, Mahmud S Y, Wang Wenyu, et al. Policylint: investigating internal privacy policy contradictions on Google play[C]//Proc of the 28th USENIX Conference on Security Symposium.Santa Clara:USENIX Press,2019:585-602.
[2]國家市場監(jiān)督管理總局.GB/T 35273—2020,信息安全技術(shù)個人信息安全規(guī)范[S].北京:國家標準化管理委員會,2020.(State Administration for Market Regulation. GB/T 35273—2020, Information security technology—personal information security specification[S].Beijing:Standardization Administration,2020.)
[3]Wilson S, Schaub F, Dara A A, et al. The creation and analysis of a website privacy policy corpus[C]//Proc of the 54th Annual Meeting of the Association for Computational Linguistics.2016:1330-1340.
[4]Zimmeck S, Wang Ziqi, Zou Lieyong, et al. Automated analysis of privacy requirements for mobile Apps[EB/OL].(2017-03-01).http://dx.doi.org/10.14722/ndss.2017.23034.
[5]艾媒前沿科技產(chǎn)業(yè)研究中心.2020中國手機App隱私權(quán)限測評報告[EB/OL].(2020-02-25)[2021-09-16].https://www.iimedia.cn/c400/69301.html.(iiMedia Frontier Technology Industry Research Center.2020 China mobile App evaluation report on privacy rights[EB/OL].(2020-02-25)[2021-09-16].https://www.iimedia.cn/c400/69301.html.)
[6]Harkous H, Fawaz K, Lebret R, et al. Polisis: automated analysis and presentation of privacy policies using deep learning[C]//Proc of the 27th USENIX Conference on Security Symposium.Baltimore:USENIX Press,2018:531-548.
[7]Zimmeck S, Story P, Smullen D, et al. Maps: scaling privacy compliance analysis to a million Apps[J].Privacy Enhancing Techno-logies,2019,2019(3):66-86.
[8]Fan Ming, Yu Le, Chen Sen, et al. An empirical evaluation of GDPR compliance violations in Android mHealth Apps[C]//Proc of the 31st International Symposium on Software Reliability Engineering.Piscataway,NJ:IEEE Press,2020:253-264.
[9]Narouei M, Takabi H, Nielsen R. Automatic extraction of access control policies from natural language documents[J].IEEE Trans on Dependable and Secure Computing,2020,17(3):506-517.
[10]Xiao Xusheng, Paradkar A, Thummalapenta S, et al. Automated extraction of security policies from natural-language software documents[C]//Proc of the 20th ACM SIGSOFT International Symposium on the Foundations of Software Engineering.New York:ACM Press,2012:1-11.
[11]王靖瑜,徐明昆,王浩宇,等.Android應用隱私條例與敏感行為一致性檢測[J].計算機科學與探索,2019,13(1):56-69.(Wang Jingyu, Xu Mingkun, Wang Haoyu, et al. Automated detection of consistence between App behavior and privacy policy of Android Apps[J].Journal of Frontiers of Computer Science amp; Technology,2019,13(1):56-69.)
[12]Slankas J, Xiao Xusheng, Williams L, et al. Relation extraction for inferring access control rules from natural language artifacts[C]//Proc of the 30th Annual Computer Security Applications Conference.New York:ACM Press,2014:366-375.
[13]Yu Le, Luo Xiapu, Liu Xule, et al. Can we trust the privacy policies of Android Apps?[C]//Proc of the 46th Annual IEEE/IFIP International Conference on Dependable Systems and Networks.Piscataway,NJ:IEEE Press,2016:538-549.
[14]朱璋穎,陸亦恬,唐祝壽,等.基于隱私政策條款和機器學習的應用分類[J].通信技術(shù),2020,53(11):2749-2757.(Zhu Zhangying, Lu Yitian, Tang Zhushou, et al. Application classification based on privacy policy terms and machine learning[J].Communications Technology,2020,53(11):2749-2757.)
[15]趙波,劉賢剛,劉行,等.Android應用程序個人信息安全量化評估模型研究[J].通信技術(shù),2020,53(8):2019-2026.(Zhao Bo, Liu Xiangang, Liu Xing, et al. Quantitative evaluation model of personal information security for Android applications[J].Communications Technology,2020,53(8):2019-2026.)
[16]Wang Xiaoyin, Qin Xue, Hosseini M B, et al. GUILeak: tracing privacy policy claims on user input data for Android applications[C]//Proc of the 40th International Conference on Software Engineering.Piscataway,NJ:IEEE Press,2018:37-47.
[17]Andow B, Acharya A, Li Dengfeng, et al. UiRef: analysis of sensitive user inputs in Android applications[C]//Proc of the 10th ACM Conference on Security and Privacy in Wireless and Mobile Networks.New York:ACM Press,2017:23-34.
[18]中國網(wǎng)信網(wǎng).常見類型移動互聯(lián)網(wǎng)應用程序(App)必要個人信息范圍(征求意見稿)[EB/OL].(2020-12-01)[2021-09-18].http://www.cac.gov.cn/2020-12/01/c_1608389002456595.htm.(Cyberspace Administration of China. Scope of necessary personal information for common types of mobile Internet applications(App) (exposure draft)[EB/OL].(2020-12-01)[2021-09-18].http://www.cac.gov.cn/2020-12/01/c_1608389002456595.htm.)
[19]Stenetorp P, Pyysalo S, Topic' G, et al. BRAT: a Web-based tool for NLP-assisted text annotation[C]//Proc of the 13th Conference of the European Chapter of the Association for Computational Linguistics. Stroudsburg,PA:Association for Computational Linguistics,2012:102-107.
[20]Wang Hailiang, Xi Huying. Chinese Synonyms for natural language processing and understanding[EB/OL].(2022).https://github.com/chatopera/Synonyms.
[21]Che Wanxiang, Li Zhenghua, Liu Ting. LTP:a Chinese language technology platform[C]//Proc of the 23rd International Conference on Computational Linguistics:Demonstrations.Stroudsburg,PA:Association for Computational Linguistics,2010:13-16.