1 移動應(yīng)用隱私合規(guī)檢測背景簡介
移動應(yīng)用的隱私合規(guī)檢測,從技術(shù)形態(tài)上可以分為靜態(tài)檢測方案與動態(tài)檢測方案。以下分別作簡要介紹。
1.1 靜態(tài)檢測
靜態(tài)檢測方案通過對移動應(yīng)用的安裝包進行反編譯,進而通過靜態(tài)數(shù)據(jù)流、控制流分析等技術(shù),檢測移動應(yīng)用中可能存在的隱私泄露問題。在該領(lǐng)域中,常用到以下工具:
? Apktool [1]: 反編譯安卓Apk,可以反編譯資源,并在進行修改之后重新打包Apk
? dex2jar [2]: 將Apk反編譯成Java源碼(classes.dex轉(zhuǎn)化成jar文件)
? Soot [3]:Soot最初是Java優(yōu)化框架,發(fā)展至今已廣泛應(yīng)用于分析優(yōu)化和可視化Java和Android應(yīng)用程序。
? Flowdroid [4]: 基于IFDS算法實現(xiàn)的針對Android的靜態(tài)污點分析框架
利用上述工具,開發(fā)者可以制定相應(yīng)的規(guī)范檢測項,從而檢測到應(yīng)用中存在的隱私泄露隱患。
1.2 動態(tài)檢測
動態(tài)檢測方案通過運行待檢測應(yīng)用于真實手機或者模擬器沙箱,通過監(jiān)控移動應(yīng)用對系統(tǒng)內(nèi)敏感資源的訪問,結(jié)合移動應(yīng)用的隱私政策聲明分析,檢測移動應(yīng)用是否包含隱私違規(guī)行為。應(yīng)用運行則可以由人工進行或者UI自動化。
1.2.1 敏感行為監(jiān)測
運行時敏感行監(jiān)測實時監(jiān)控應(yīng)用對用戶隱私敏感數(shù)據(jù)的訪問。在實現(xiàn)上分為兩種:一種是直接在源碼中添加監(jiān)控代碼。如在AOSP代碼中的getLastLocation中直接添加代碼,記錄API訪問行為。另一種則是通過hook方案,不直接修改源碼,而是在系統(tǒng)運行APP時添加邏輯鉤子,在APP調(diào)用特定敏感API時,先跳轉(zhuǎn)至hook函數(shù),最后再返回調(diào)用原敏感API。其中,hook函數(shù)負(fù)責(zé)記錄應(yīng)用的API訪問行為。
1.2.2 UI自動化
移動應(yīng)用自動化即通過程序控制移動應(yīng)用UI交互。該領(lǐng)域典型的工具有: monkey [5],進行UI界面隨機點擊以及系統(tǒng)級事件。第三方UI自動化工具:uiautomator2 [6]和AndroidViewClient [7], 基于系統(tǒng)工具uiautomator實現(xiàn),能夠?qū)崿F(xiàn)基本的自動化UI測試功能編程。
2 目標(biāo)檢測技術(shù)在隱私合規(guī)檢測領(lǐng)域的應(yīng)用
深度學(xué)習(xí)中的目標(biāo)檢測,主要用于在視圖中檢測出物體的類別和位置,如下圖所示。目前業(yè)界主要有YOLO [7],SSD [8]和RCNN [9]三類深度學(xué)習(xí)算法。
以Faster RCNN為例,該算法是RCNN算法的演進。在結(jié)構(gòu)上,F(xiàn)aster RCNN將特征抽取(feature extraction),proposal提取,bounding box regression(rect refine),classification都整合在了一個網(wǎng)絡(luò)中,使得綜合性能有較大提高,在檢測速度方面尤為明顯。Faster RCNN主要分為4個主要內(nèi)容:
- Conv layers。作為一種CNN網(wǎng)絡(luò)目標(biāo)檢測方法,F(xiàn)aster RCNN首先使用一組基礎(chǔ)的conv+relu+pooling層提取image的feature maps。該feature maps被共享用于后續(xù)RPN層和全連接層。
- Region Proposal Networks。RPN網(wǎng)絡(luò)用于生成region proposals。該層通過softmax判斷anchors屬于positive或者negative,再利用bounding box regression修正anchors獲得精確的proposals。
- Roi Pooling。該層收集輸入的feature maps和proposals,綜合這些信息后提取proposal feature maps,送入后續(xù)全連接層判定目標(biāo)類別。
- Classification。利用proposal feature maps計算proposal的類別,同時再次bounding box regression獲得檢測框最終的精確位置。
2.1 應(yīng)用點
在UI自動化中,常常存在基于uiautomator的工具無法識別的UI布局。主要有兩種原因?qū)е逻@種情況:1、UI內(nèi)容由整張圖片渲染而成;2、UI控件原因,某些用戶編寫的UI控件沒有支持無障礙服務(wù),導(dǎo)致uiautomator無法獲取UI布局。此時,使用UI圖片目標(biāo)識別,可以判斷可點擊的有效區(qū)域。
.jpg)
如上圖所示,在Sechunter的UI自動化中,我們需要獲取應(yīng)用的隱私聲明文件鏈接,以及相應(yīng)的“同意”、“不同意”的位置。在uiautomator無法獲得UI布局的情況下,可以進行目標(biāo)識別,通過圖像獲得可點擊位置,從而推進UI自動化測試的繼續(xù)執(zhí)行。
2.2 目標(biāo)檢測技術(shù)的應(yīng)用
在模型訓(xùn)練中,主要困難在于數(shù)據(jù)集收集。Sechunter的解決方案是,先通過傳統(tǒng)的圖片處理方案獲取初步的數(shù)據(jù)集,這里我們使用了圖片處理領(lǐng)域的顯著區(qū)域識別。這個過程的關(guān)鍵是要有一個驗證模塊,對隱私聲明鏈接而言,即驗證該區(qū)域點擊跳轉(zhuǎn)后內(nèi)容的確是隱私聲明。我們使用了LDA主題模型來判斷文本內(nèi)容是否是隱私政策。通過驗證的樣本都收納到數(shù)據(jù)集中,然后用這些標(biāo)注數(shù)據(jù)進行第一版的目標(biāo)識別模型訓(xùn)練。
訓(xùn)練出來的模型只是利用傳統(tǒng)圖像處理能夠識別成功的圖片進行學(xué)習(xí)。對于不成功的圖片,我們進一步使用OCR。OCR能夠識別出圖像中的文字內(nèi)容及其位置。結(jié)合第一階段的目標(biāo)識別模型進行結(jié)果融合,可以得到更為精確的可點擊區(qū)域結(jié)果,并且這個時候的融合方案已經(jīng)初步可以使用了。隨著數(shù)據(jù)集的積累,目標(biāo)檢測模型的檢測結(jié)果也變得更精確。最終能夠只使用目標(biāo)識別方案。
3 小結(jié)
移動應(yīng)用隱私合規(guī)檢測對保護個人信息安全有著重要作用。但目前市場上的工具自動化檢測能力普遍都還比較有限。Sechunter在自動化隱私合規(guī)檢測領(lǐng)域做了一些積極探索,進行了眾多跨領(lǐng)域技術(shù)調(diào)研,本文介紹的目標(biāo)識別技術(shù)能夠幫助自動化工具更快更準(zhǔn)地識別UI可點擊區(qū)域。
審核編輯:湯梓紅
-
移動應(yīng)用
+關(guān)注
關(guān)注
0文章
65瀏覽量
15705 -
目標(biāo)檢測
+關(guān)注
關(guān)注
0文章
222瀏覽量
15886
發(fā)布評論請先 登錄
EMC電磁兼容性摸底檢測測試整改:如何助產(chǎn)品合規(guī)上市
軒轅智駕紅外目標(biāo)檢測算法在汽車領(lǐng)域的應(yīng)用
安全檢測 高效合規(guī) | 經(jīng)緯恒潤重磅推出PeneTrix滲透測試平臺

亞馬遜移動電源UL2056檢測認(rèn)證辦理?
引線鍵合檢測的基礎(chǔ)知識

AI模型部署邊緣設(shè)備的奇妙之旅:目標(biāo)檢測模型
測長機能檢測螺紋環(huán)規(guī)嗎?
康謀分享 | 數(shù)據(jù)隱私和匿名化:PIPL與GDPR下,如何確保數(shù)據(jù)合規(guī)?(一)

圖像分割與目標(biāo)檢測的區(qū)別是什么
目標(biāo)檢測與識別技術(shù)有哪些
目標(biāo)檢測與識別技術(shù)的關(guān)系是什么
目標(biāo)檢測識別主要應(yīng)用于哪些方面
慧視小目標(biāo)識別算法 解決目標(biāo)檢測中的老大難問題

評論