国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Cordova應用中跨域訪問行為的識別與風險評估

2020-03-11 12:50莫芊芊
計算機應用與軟件 2020年2期
關(guān)鍵詞:跨域插件開發(fā)者

莫芊芊 張 源

(復旦大學軟件學院 上海 201203)

0 引 言

混合模式移動應用(Hybrid App,以下簡稱為混合移動應用)憑借著跨平臺開發(fā)和優(yōu)秀的交互體驗吸引了大批開發(fā)人員。與此同時,市面上出現(xiàn)了數(shù)十種混合移動開發(fā)框架,這些框架幫助開發(fā)者快速簡便地創(chuàng)建和部署混合移動應用。在這些混合移動應用框架中,Cordova[1]是目前市場上占有率最高的混合移動應用開發(fā)框架。通過提供一組JavaScript API,Cordova框架可以支持Web代碼訪問移動設(shè)備的底層資源。

本文發(fā)現(xiàn)Cordova應用中存在跨域訪問的安全隱患,該問題源于Cordova框架提供的一個插件InAppBrowser。該插件用于加載和渲染網(wǎng)頁,并且支持開發(fā)者的定制擴展。本文發(fā)現(xiàn)該插件提供了一組API,使得Cordova應用可以操縱任意已加載的Web資源,例如,應用可以調(diào)用executeScript向已加載的網(wǎng)頁注入任意JavaScript代碼并得到返回值。然而,Cordova框架并未提供相應的保護策略,因此Cordova應用可以利用這些API操縱任意的Web資源,即使這些資源不歸應用所有。例如,一個惡意應用利用InAppBrowser加載了URL為“www.facebook.com”的網(wǎng)頁,并調(diào)用executeScript方法向網(wǎng)頁注入惡意代碼,不僅可以竊取Facebook所有用戶的隱私數(shù)據(jù),而且難以被Facebook和用戶所察覺??偠灾?,由Cordova框架提供的具有訪問Web資源能力的API將對用戶的隱私數(shù)據(jù)帶來嚴重的安全風險。此外,由于Cordova框架是其他眾多混合應用開發(fā)框架的核心組件,包括PhoneGap、Ionic和AppBuilder等,所以影響范圍將進一步擴大。

針對這一問題,本文系統(tǒng)性研究如何大規(guī)模地分析和識別Cordova應用中存在的跨域訪問行為。雖然跨域訪問的安全問題由前人總結(jié)提出,但是尚未有研究工作面向Cordova應用展開。而且由于Cordova應用和原生移動應用存在本質(zhì)上的區(qū)別,所以前人提出的跨域訪問行為檢測方法無法適用于分析大規(guī)模的Cordova應用。本文的工作面臨以下三個挑戰(zhàn):定義Cordova應用中的域特征;判斷一個訪問行為是否是跨域行為;自動化地評估跨域行為的風險性。為了解決這些挑戰(zhàn),本文設(shè)計并實現(xiàn)了一個自動化檢測工具COCAScanner。該工具可以批量檢測Cordova應用中的跨域訪問行為,并對這些行為進行風險評估,以減少人工分析的工作量。不僅僅是Cordova應用,本文提出的分析方法同樣適用于其他混合移動應用開發(fā)框架中的跨域訪問行為檢測。本文使用COCAScanner分析了Google Play中的7 791個Cordova應用,發(fā)現(xiàn)10.5%的Cordova應用中存在跨域訪問行為,并且其中13.1%的Cordova應用具有高風險。通過人工分析,本文發(fā)現(xiàn)了一個惡意應用和多個高風險應用。在整個實驗過程中,COCAScanner的跨域行為判斷的準確率為83%和86.9%,判斷無風險行為的準確率和召回率分別為91.4%和87%。

1 背景與相關(guān)工作

1.1 混合移動應用中的安全問題

許多研究者發(fā)現(xiàn)在混合移動應用中的安全漏洞會危及所在設(shè)備的私有資源。文獻[3-4]發(fā)現(xiàn)了在混合移動應用框架中Web端和App端之間的通信渠道存在漏洞,使得在惡意網(wǎng)頁可以利用通信渠道訪問移動設(shè)備的私有資源。他們調(diào)研了大規(guī)模的PhoneGap應用,證實該漏洞存在并有效。文獻[5]提出了一個框架,使得開發(fā)人員可以限制第三方插件的權(quán)限,阻止惡意插件得到過高的權(quán)限?;旌弦苿討弥泻诵慕M件WebView的安全問題一直是近幾年來的研究熱點。一方面,文獻[6-9]指出開發(fā)者在WebView中增加的Java接口可被惡意網(wǎng)頁利用來竊取移動應用的私有文件或進行越權(quán)操作。文獻[10]發(fā)現(xiàn)惡意網(wǎng)頁可以利用HTML5 API通過WebView獲得地理位置等隱私信息。為了減少這類安全隱患,文獻[11-12]提出了細粒度的訪問控制策略,用于保護應用和設(shè)備的資源。另一方面,文獻[13-14]發(fā)現(xiàn)惡意的移動應用可以利用WebView向它所加載的Web網(wǎng)頁注入JavaScript代碼,以此來監(jiān)聽和攔截網(wǎng)頁跳轉(zhuǎn),甚至竊取網(wǎng)頁資源。而文獻[15]把前人提出的由移動應用端攻擊Web網(wǎng)頁端的安全問題歸類為WebView的跨域訪問問題,設(shè)計并實現(xiàn)了一個自動化檢測工具XPMChecker。通過分析80 694個安卓應用,他們發(fā)現(xiàn)接近半數(shù)的Web資源訪問行為是跨域訪問行為,并且找到了數(shù)十個惡意應用跨域攻擊知名網(wǎng)站的資源。

1.2 Cordova框架及原理

Cordova框架用于開發(fā)混合移動應用,目前主流的移動應用開發(fā)模式可以分為三種:原生移動應用(Native Apps)、Web移動應用(Web-Based Apps)和混合移動應用。原生移動應用能夠最大程度地利用平臺的優(yōu)勢為用戶提供全面的功能,然而它的開發(fā)成本很高,而且App版本更新時需要重新下載安裝包手動更新。而Web移動應用的本質(zhì)是一個運行在移動瀏覽器上的Web應用,因此開發(fā)成本較低。然而它無法使用設(shè)備的硬件接口和原生組件,很多功能無法實現(xiàn)。而混合移動應用兼?zhèn)淞饲皟深悜玫膬?yōu)勢,其本質(zhì)和Web移動應用類似,但是它提供了一套Web語言和原生語言的通信機制,使得訪問移動平臺的原生組件和設(shè)備資源變得可能。所以它可以為用戶提供更加豐富的功能,同時又可以大幅度地降低開發(fā)成本。

如圖1所示,Cordova框架包涵3個主要模塊:Web App模塊,WebView模塊和插件模塊。Web App是應用程序的邏輯代碼所在部分,由HTML、JavaScript和CSS語言編寫。Cordova WebView與移動系統(tǒng)提供的原生組件WebView[2]不同,除了具備基礎(chǔ)的渲染網(wǎng)頁的功能外,還提供一組標準的JavaScript API(圖1中的Native API)讓開發(fā)者使用Cordova插件。Cordova插件為移動平臺的原生組件提供了通信接口,并且綁定了對應組件的API調(diào)用,使得開發(fā)者可以使用JavaScript調(diào)用原生方法。Cordova官方提供了一套移動系統(tǒng)核心功能的插件,包括相機、內(nèi)置瀏覽器等,也允許開發(fā)者擴展自定義的插件。

圖1 Cordova的總體架構(gòu)

2 Cordova應用中的跨域訪問行為

2.1 跨域行為的安全問題

移動應用的跨域訪問行為由文獻[15]首次提出,用于描述移動應用訪問Web資源的行為。為了清楚地描述這個行為,本文需要對一些重要的定義進行特別說明:

定義1移動應用訪問Web資源的行為叫作訪問行為。

定義2訪問Web資源的代碼所屬的主體叫作App域。

定義3被訪問的Web資源所屬的主體叫作Web域。

定義4當App域和Web域不同時叫作跨域。

需要特別強調(diào)的是,這里的“域”和瀏覽器中同源策略的“域”不同,同源策略的“域”是指URL的協(xié)議、域名和端口號,這里的“域”是訪問行為涉及到的兩個平臺的主體。

圖2 Cordova應用中的跨域訪問行為

本文用一個例子來說明跨域訪問問題的安全風險。如圖2所示,一個Cordova應用創(chuàng)建了一個InAppBrowser[16]對象,并以此來加載不屬于該應用的Web網(wǎng)頁。InAppBrowser是Cordova官方提供的一個插件,不僅提供類似于內(nèi)置瀏覽器的功能,而且支持開發(fā)者的定制。在這個例子中,App域是指Cordova應用本身,Web域是指Web網(wǎng)頁的主體。當跨域訪問行為發(fā)生時,攻擊者可以通過定制InAppBrowser向Web網(wǎng)頁注入惡意代碼并竊取Web資源??缬蛟L問問題發(fā)生在應用和Web網(wǎng)頁的開發(fā)者不同時,應用可以將Web網(wǎng)頁加載到InAppBrowser中,從而完全控制網(wǎng)頁中的所有資源。不僅是Cordova框架開發(fā)的混合移動應用都有可能存在跨域訪問問題,集成了Cordova框架的其他框架也受到影響,如PhoneGap、Ionic等。

2.2 難點與挑戰(zhàn)

雖然前人提出的XPMChecker[15]工具可以檢測原生移動應用中的跨域訪問行為,但是由于混合移動應用和原生移動應用存在差異,使得之前的方法已不再適用。本文的工作面臨以下幾個挑戰(zhàn):

1) 定義混合移動應用中的App域。由于在混合移動應用中,應用程序的實體是Web App。不同于傳統(tǒng)移動應用擁有豐富的代碼結(jié)構(gòu),比如類名、方法簽名等,Web App的簡單結(jié)構(gòu)反而無法直接提取有意義的標識特征作為App域。另外,由于混合移動應用中的Web App大多數(shù)以本地文件存在,所以無法使用遠程URL與Web資源的URL進行直接判斷是否跨域。

2) 判斷混合移動應用中的跨域訪問行為。由于跨域訪問行為涉及到兩個完全不同的平臺,無論是網(wǎng)頁,還是移動應用,開發(fā)者都可能使用不同的命名規(guī)則來聲明自己的資源。這使得區(qū)分不同的資源主體變得困難,為了解決這個問題,XPMChecker利用了搜索引擎結(jié)果的相關(guān)性來判斷資源宿主是否屬于同一主體,雖然這個方法較為通用有效,但是需要依賴第三方的搜索結(jié)果,無法直接根據(jù)原信息判斷。因此,本文需要尋找一個不依賴其他方信息且直接有效的判斷方法。

3) 自動化地評估跨域行為的風險性。在現(xiàn)代移動應用中,跨域行為非常常見。在工具識別出跨域行為之后,如果所有的結(jié)果都交給人工判斷,不僅工作量繁重而且在缺失上下文的環(huán)境下容易發(fā)生誤判。所以,自動化工具需要對大量的跨域行為作出預判,排除無風險或風險較低的行為,為最后階段的人為確認減輕工作量。

3 COCAScanner的設(shè)計與實現(xiàn)

3.1 整體架構(gòu)

根據(jù)上文中的目標和挑戰(zhàn),本文設(shè)計并實現(xiàn)了一個能夠識別并判斷混合移動應用中跨域訪問行為的工具COCAScanner。其整體架構(gòu)如圖3所示。主要由4個關(guān)鍵模塊構(gòu)成:

(1) 靜態(tài)分析模塊。該模塊的主要功能是從混合移動應用中提取與Web資源訪問相關(guān)的行為信息。

(2) 域特征提取模塊。該模塊將提取App端和Web端的域特征。

(3) 跨域判斷模塊。該模塊將基于域特征判斷輸入的Web資源訪問行為是否屬于跨域訪問行為。

(4) 風險評估模塊。該模塊將自動化地對跨域訪問行為進行風險評分。

圖3 COCAScanner總體架構(gòu)

3.2 靜態(tài)分析模塊

本文基于特征文件將Cordova應用從所有應用中提取出來,并作為工具的輸入。根據(jù)Cordova官方文檔,本文總結(jié)出了4個可以訪問Web資源的InAppBrowser API,如表1所示。

表1 能夠訪問Web資源的API

COCAScanner具體的做法是,首先定位InAppBrowser對象的初始化,InAppBrowser對象的初始化聲明了將要加載的URL信息,是分析Web資源訪問行為的起點。如圖4所示。

圖4 InAppBrowser對象創(chuàng)建示例

調(diào)用cordova.InAppBrowser.open方法可以創(chuàng)建一個InAppBrowser對象,本文可以提取該方法的第一個參數(shù)加載到這個InAppBrowser對象中的URL。接著本文跟蹤這個InAppBrowser對象(圖4中的loginWindow),并記錄該對象調(diào)用的方法及其參數(shù)。這樣,本文就可以提取該App中所有Web資源訪問行為。例如在圖4中,我們可以知道該App利用InAppBrowser加載了“https://www.facebook.com”的資源,然后對“l(fā)oadstart”事件進行監(jiān)聽以及將“jscode”注入到網(wǎng)頁中。

3.3 域特征提取模塊

3.3.1定義App域特征

由于混合移動應用的主體是Web App,所以本文將App的域特征定義為Web App中首頁的關(guān)鍵詞。在Cordova應用中,默認情況下MainActivity會加載asset/www/目錄下的靜態(tài)文件index.html作為該App的入口。本文從index.html文件中提取特征詞作為域特征,其余的文件將加入語料庫用于后續(xù)分析。

3.3.2定義Web域特征

本文將動態(tài)訪問URL之后得到的HTML文檔作為域特征的來源,并在該HTML文檔上使用和App端一樣的方法提取出特征詞來作為Web端的域特征。這樣既能夠處理特殊的URL,又可以解決URL命名多樣化的問題,并且當Web端和App端的信息源一致時,有利于本文采用相同的方法對它們進行建模和差異化分析,避免使用不同方法而可能引入的偏差。

3.3.3域特征提取算法

在上兩個小節(jié)中,本文已經(jīng)確定了從App端和Web端的HTML文檔中提取關(guān)鍵詞作為各自的域特征。接下來本文將使用文本分析中常用的TF-IDF算法提取關(guān)鍵詞。TF-IDF的核心思想是當一個詞在某一個文檔中的出現(xiàn)頻率很高,并且在其他文檔中很少出現(xiàn),則這個詞對該文檔很重要。

COCAScanner的具體做法是,首先提取HTML文件中的所有文字信息,然后進行分詞、去除停用詞的預處理。再計算剩下的每個詞的詞頻TF,忽略大小寫。語料庫來源于App的除首頁之外的其他HTML文件,本文將統(tǒng)計每個文件出現(xiàn)的詞語。根據(jù)下式計算詞語的逆文檔率IDF:

(1)

式中:N表示語料庫中所有文檔的總數(shù),D表示包含某詞語的文檔數(shù)。

最后,利用式(2)可以得到每個詞語的權(quán)值。對于詞語較多的文檔,本文只取權(quán)值靠前的10個詞語作為域特征。

tfidfi=tfi×idfi

(2)

3.4 跨域判斷模塊

在得到兩組由關(guān)鍵詞-權(quán)值表示的域特征之后,本文用權(quán)值作為特征值將它們向量化。由此得到兩個1×N(N≤10)的向量:[A1,A2,A3,…,AN]和[W1,W2,W3,…,WN]。它們分別代表App端和Web端各自的域特征。使用下式可以計算兩個向量的夾角θ的余弦值。

(3)

已知cosθ的取值范圍為[-1, 1],而且cosθ的值越接近1,則表示兩個向量越相似。本文首先選定了5組閾值t,分別為0.5、0.6、0.7、0.8、0.9,通過對比實驗找出最優(yōu)值。實驗結(jié)果發(fā)現(xiàn)當閾值t=0.7時,判定結(jié)果的真陽率(True Positive Rate)最高。所以本文設(shè)定閾值t= 0.7,當cosθ≥0.7表示該行為屬于同域,反之則判斷該行為跨域,將進行下一步的風險評估。

3.5 風險評估模塊

COCAScanner將對executeScript API進行預評估,因為對比表1中的其他API,它能訪問更加敏感的資源,而且它的風險程度取決于它注入的JavaScript代碼,這需要本文對這些注入的代碼進一步分析。

JavaScript能夠訪問修改HTML頁面的DOM元素以及本地存儲的資源,本文發(fā)現(xiàn)這些行為都是通過調(diào)用瀏覽器提供的API實現(xiàn)的。為了得到JavaScript代碼調(diào)用瀏覽器API的情況,本文將JavaScript置于可控的執(zhí)行環(huán)境中運行,記錄下JavaScript的運行結(jié)果和行為特征,并根據(jù)其訪問Web資源的情況作出風險評分。本文對開源的JavaScript引擎Rhino進行擴展,對document和window對象進行建模和初始化,并監(jiān)聽它們屬性的狀態(tài),腳本運行完之后與初始狀態(tài)比較,以此得到注入的JavaScript腳本對網(wǎng)頁對象的操作情況。另外,本文增加了瀏覽器中的常用接口DOM和BOM 的實現(xiàn),使得調(diào)用這些接口的腳本可以正常運行。本文通過對瀏覽器API的分析,篩選出來一些高風險的API,有g(shù)etElementById、getElementsByClassName、getElementsByName、getElementsByTagName、localStorage.getItem等,這些API可以直接獲取Web網(wǎng)頁的資源。本文對這些API進行重寫和設(shè)定風險分值,這樣當它們被調(diào)用時,會及時更新風險總值。最終本文會根據(jù)風險值和操作網(wǎng)頁對象的情況判斷該JavaScript腳本的危險程度。

4 實驗與分析

本文的實驗環(huán)境是一臺具有64個CPU內(nèi)核(2 GHz)和188 GB內(nèi)存的CentOS 7.4 64位服務器。該服務器運行的Java版本是1.8.0_171的64位虛擬機。

4.1 數(shù)據(jù)集

本文在2018年4月到10月之間使用網(wǎng)絡爬蟲從Google Play上爬取了大量安卓移動應用,去掉重復應用之后,本文成功下載了175 543個安卓移動應用。這些應用是隨機爬取的,不區(qū)分類別和下載量,所以能夠代表Google Play應用商場的整體情況。從這些應用中,使用上文給出的方法識別使用Cordova框架開發(fā)的混合移動應用,最終得到8 804個Cordova應用作為本文實驗的總數(shù)據(jù)集,占應用總數(shù)的5.01%。

4.2 跨域訪問行為的檢測結(jié)果

本文在服務器上啟動了9個進程來并行地運行分析程序,并為每個Cordova應用的分析時間設(shè)置上限為30分鐘,一旦超過30分鐘,該進程將被殺死,分析程序終止。對于數(shù)據(jù)庫中8 804個應用,COCAScanner花費了大約52個小時完成所有應用的分析,每個應用的平均解析時間為20秒。

COCAScanner成功分析了7 791個應用,占所有應用的88.5%。本文把只調(diào)用了表1中的任意API的操作歸為Web資源訪問行為,如果只加載一個URL但并沒有后續(xù)的操作,則認為并沒有訪問該URL的資源。在成功解析的Cordova應用中,COCAScanner發(fā)現(xiàn)有2 479個App中出現(xiàn)Web資源訪問行為,一共有14 284個Web資源訪問行為。接著對這些Web資源訪問行為進行跨域判斷,得到4 808個跨域行為,這些行為分布在819個App中。對于所有的跨域行為,COCAScanner將對所有發(fā)生跨域訪問行為的App進行預評估,結(jié)果表示有107個有風險的Cordova應用。詳細的數(shù)據(jù)可見表2,表中括號內(nèi)的數(shù)字表示行為個數(shù),括號外的是App的個數(shù)。

表2 實驗總體結(jié)果

4.3 跨域訪問行為檢測的效果

本文在14 284個Web資源訪問行為中,隨機選擇了100個行為進行人工判定,結(jié)果標記了84個跨域行為。COCAScanner成功判斷了73個訪問行為的跨域情況,有11個錯誤判斷的原因主要是由于TF-IDF對于HTML文檔結(jié)構(gòu)不敏感,導致提取的關(guān)鍵詞無效。

綜合結(jié)果,本文得到COCAScanner的跨域行為判斷的準確率和召回率分別為83%和86.9%,由于判斷方法非常依賴于App中的文件,所以如果出現(xiàn)開發(fā)者更多的使用網(wǎng)絡文件的情況,會導致App端的域特征提取錯誤。而對于關(guān)鍵詞無效帶來的錯誤率,本文可以通過改進關(guān)鍵詞提取算法來減少。

4.4 風險評估模塊效果

COCAScanner對Cordova應用中的4 808個跨域行為進行預評估。最終得到4 772個風險評分,分值最低分是0分,最高分為124分。本文發(fā)現(xiàn)有36個行為沒有成功評分,人工分析發(fā)現(xiàn)它們大部分都使用了一些JavaScript第三方庫,例如jQuery,導致一些特殊的符號沒有辦法被本文的JavaScript執(zhí)行引擎識別,還有一些代碼出現(xiàn)語法錯誤的情況,這可能是開發(fā)者編程錯誤造成的。COCAScanner判定4 808個行為中有4 470個行為是沒有風險的,分布在712個App中,另外的401個行為是有風險的,分布在107個App中。

本文隨機挑選了具有跨域訪問行為的100個App進行人工分析,共計188個行為。人工判斷其中的123個行為無風險。COCAScanner的判定結(jié)果是107個行為無風險,其中有16個無風險的行為被判斷成了有風險的行為,原因是這些行為雖然調(diào)用了有風險的瀏覽器API,但是為了提供正常功能。

總而言之,風險評估模塊判斷風險的準確率為91.4%,召回率為87%。

4.5 案例分析

本文從無風險和有風險的App中各隨機抽取了50個App進行人工的行為分析,總計100個App,幫助本文理解跨域訪問行為的目的。最終,本文將這些跨域訪問行為分為以下三類:

1) 實現(xiàn)正常功能的跨域訪問行為。功能行為指為了輔助App的正常運行而進行跨域訪問的行為。本文發(fā)現(xiàn)App通過跨域訪問來擴展功能可能出于以下4種目的:

(1) 注入代碼更改網(wǎng)頁布局設(shè)置,使得頁面對移動設(shè)備更加友好。

(2) 補充原生WebView不支持的操作,比如彈出消息框。

(3) 網(wǎng)頁重定向,跳轉(zhuǎn)到其他頁面或者后退;例如,本文發(fā)現(xiàn)一些App會監(jiān)聽第三方賬號授權(quán)頁面的結(jié)果,如果發(fā)現(xiàn)授權(quán)失敗,則執(zhí)行一段被注入JavaScript腳本,將頁面重定向到授權(quán)頁面,等待用戶重新進行授權(quán)操作。

(4) 向App端傳遞頁面加載結(jié)果。例如,本文發(fā)現(xiàn)一些App會監(jiān)聽一些登錄流程的URL,當?shù)搅鞒痰淖詈笠徊綍r,會注入JavaScript腳本獲取和登錄狀態(tài)有關(guān)的頁面屬性,并根據(jù)具體狀態(tài)進行不同操作。

2) 具有惡意目的的跨域訪問行為。惡意行為指通過跨域訪問行為達到自己的不良意圖,本文發(fā)現(xiàn)有以下2種惡意目的:

(1) 竊取Web網(wǎng)頁的敏感數(shù)據(jù),如用戶名、密碼等。例如一個名字是Profile Visitors的App,該App的包名為com.profile.visitors,當用戶在App上登錄了自己的Facebook賬號之后,App將為用戶顯示有哪些賬號在“偷偷關(guān)注”自己。實際上,該App注入了一段惡意的JavaScript代碼到Facebook賬號的登錄網(wǎng)頁,這段代碼將從當前頁面提取用戶輸入的email地址和密碼發(fā)送,接著將用戶的email地址和密碼發(fā)送到App的服務器。

(2) 注入廣告來推廣自己的產(chǎn)品。例如一個名字是FinoZen的App,包名是com.ionicframework.helloandroid962651.apk。這是印度金融投資平臺FinoZen的App,在Google Play上顯示它的安裝量在100 000以上。本文發(fā)現(xiàn)它會向印度的一家基金公司Reliance Mutual Fund注入一個JavaScript文件和一個CSS文件,與App并不屬于同一個公司。本文發(fā)現(xiàn)注入的內(nèi)容是向用戶展示他們使用了FinoZen之后可以在一周中的哪個時間獲得收益。當用戶使用Reliance Mutual Fund的服務在線支付的時候,會看到FineZen的廣告。FinoZen利用跨域訪問幫自己打廣告的行為損壞了其他公司的利益,屬于非法獲利的行為。

3) 意圖不明行為的跨域訪問行為。除了以上兩種行為之外,本文還發(fā)現(xiàn)有些行為意圖不明朗,比如有些跨域行為會篡改頁面DOM元素、隱藏或刪除一些元素,本文分析了這些被篡改的網(wǎng)頁和元素,發(fā)現(xiàn)并不會對網(wǎng)頁的整體功能產(chǎn)生影響。

綜上所述,本文認為在大部分Cordova應用中,跨域行為是出于正常的目的,比如為了擴展功能、使界面更加友好等,然而本文也發(fā)現(xiàn)了一些高風險的惡意行為,說明了一些惡意開發(fā)者意識到可以利用Web資源訪問API進行非法操作,實現(xiàn)他們的不良目的,所以混合移動應用中的跨域行為問題依然值得重視。

5 結(jié) 語

為了調(diào)研跨域訪問行為在Cordova應用中的影響,本文設(shè)計并實現(xiàn)了一個自動化工具COCAScanner。該工具從HTML文檔中提取關(guān)鍵詞作為域特征,并通過余弦相似算法計算兩個端域特征的相似度,以此來辨別跨域訪問行為和正常行為。對于跨域訪問行為,COCAScanner擴展了一般的JavaScript引擎,實現(xiàn)了風險評分功能。通過分析Google Play商城中7 791個Cordova應用,本文發(fā)現(xiàn)10.5%的Cordova應用中存在跨域訪問行為,并且其中13.1%的Cordova應用具有風險。雖然大多數(shù)行為都是出于擴展應用功能的目的,但是本文也發(fā)現(xiàn)了一個惡意應用和多個高風險應用。證明了跨域訪問問題存在于混合移動應用中,并影響著用戶的信息安全。

猜你喜歡
跨域插件開發(fā)者
基于多標簽協(xié)同學習的跨域行人重識別
為群眾辦實事,嶗山區(qū)打出“跨域通辦”組合拳
G-SRv6 Policy在跨域端到端組網(wǎng)中的應用
用好插件瀏覽器標簽頁管理更輕松
請個瀏覽器插件全能管家
基于jQUerY的自定義插件開發(fā)
“85后”高學歷男性成為APP開發(fā)新生主力軍
16%游戲開發(fā)者看好VR
“新都市電影”中的男性明星——身體、階層與跨域想象
美國社交網(wǎng)站的周末大戰(zhàn)
米林县| 招远市| 肃南| 台湾省| 梁河县| 霍山县| 吴忠市| 铜山县| 隆昌县| 托克逊县| 嵊泗县| 长顺县| 科技| 依安县| 天门市| 镇康县| 绥德县| 玉林市| 南昌县| 鸡西市| 清河县| 新和县| 玛多县| 岳池县| 东源县| 睢宁县| 卓尼县| 牙克石市| 平乐县| 久治县| 缙云县| 崇信县| 龙川县| 额济纳旗| 株洲市| 巨鹿县| 滕州市| 德庆县| 保康县| 拜泉县| 库尔勒市|