引言
安卓系統(tǒng)自誕生以來就以高度的開放性著稱,安卓系統(tǒng)的開放性也幫助安卓系統(tǒng)在短時間內獲得了巨大的市場份額。
安卓系統(tǒng)給予應用開發(fā)者比較寬松的系統(tǒng)權限獲取環(huán)境,有效拓展了應用開發(fā)的靈活度,打破了一些不必要的局限,但安卓系統(tǒng)在權限管理的開放性也帶來了一些安全問題。
一些惡意軟件利用安卓系統(tǒng)在權限管理上的開放性通過獲取大量非必要權限的方式收集用戶個人信息、惡意吸費甚至傳播病毒木馬。
安卓應用超越必要限度獲取系統(tǒng)權限將導致用戶個人信息泄露,根據(jù)騰訊與DCCI互聯(lián)網(wǎng)數(shù)據(jù)中心聯(lián)合發(fā)布的《2017年度網(wǎng)絡隱私安全及網(wǎng)絡欺詐行為分析報告》顯示,2017年下半年,安卓手機應用中有98.5%的應用都要獲取用戶隱私權限,其中越界獲權的情況占比在9%。
媒體對安卓應用惡意獲取系統(tǒng)權限多次報道,多地消費者保護委員會也嘗試通過約談等方式對任意獲取非必要權限的情況進行曝光監(jiān)督。
手機應用“越界獲權”已經(jīng)成為個人信息泄露的主要渠道之一,并由此衍生出規(guī)模龐大的網(wǎng)絡黑產。
1、安卓獲權獲取的技術原理
(一)以Manifest文件為基礎
安卓應用獲取系統(tǒng)權限必須先在應用的AndroidManifest.xml文件中進行聲明。Manifest文件位于應用軟件根目錄下,是安卓應用軟件的全局配置文件,描述了安裝包中的全局數(shù)據(jù)。
該文件提供了安卓系統(tǒng)所需要的關于該應用程序的必要信息。
比如:為應用軟件指定唯一的名字;描述應用軟件所包括的成分,如activities, services, broadcast receivers和content providers等內容;聲明應用軟件正常運行所需要的權限,如讀寫SD卡權限等;聲明應用程序的安卓API級別,低于該級別的系統(tǒng)不能運行該程序;聲明應用程序支持的分辨率等。
為獲得保證正常運行的權限,安卓應用軟件開發(fā)者需要在軟件中的AndroidManifest.xml文件中寫入確保正常運行和功能實現(xiàn)的所有權限,并向安卓系統(tǒng)進行權限聲明。
安卓系統(tǒng)讀取到安卓應用軟件的AndroidManifest.xml后會按照系統(tǒng)規(guī)則向該應用軟件開放所有其聲明的權限;未向安卓系統(tǒng)聲明的權限,安卓系統(tǒng)將不會向該應用軟件開放,應用軟件的相關功能將會受限。
例如當應用軟件需要執(zhí)行調整屏幕亮度的操作時,則需要在AndroidManifest.xml寫入獲得調整屏幕亮度的權限聲明,否則應用軟件中與調整屏幕亮度的代碼將不能被執(zhí)行。
(二)安卓系統(tǒng)權限授權管理的變化
▌1、安卓4.4之前,任意獲取模式
在安卓4.4版本之前,安卓系統(tǒng)對應用的授權模式可以概括為:只要在Manifest文件中聲明,開發(fā)者可以任意獲取權限,用戶無法對權限進行管理。
應用安裝前,安卓系統(tǒng)會根據(jù)權限聲明展示權限列表,用戶查看并同意該權限列表后完成安裝。安裝完成后,該應用軟件就可以成功獲得所聲明的全部權限。
安卓系統(tǒng)并不對權限進行分類,也不對應用軟件開發(fā)者、應用軟件獲取權限的必要性進行審查。用戶在安裝過程中只能選擇接受該應用聲明的全部權限,否則就不能繼續(xù)安裝。
▌2、安卓4.4版本,隱藏的權限管理模式
在安卓4.4版本中,谷歌依舊保持了應用軟件在安裝時可以任意獲取權限的做法。但是,在安卓系統(tǒng)中增加了權限管理的功能,只是該功能處于隱藏狀態(tài),需要用戶安裝App Permission才能進行管理。
國內的部分廠商在定制自己的安卓系統(tǒng)的過程中將該功能加入到系統(tǒng)設置中。用戶可以在用戶設置中對應用軟件進行權限管理,關閉不需要的應用權限。
▌3、安卓5.0版本,明確的管理模式
在安卓5.0版本中,安卓系統(tǒng)增加了在應用安裝過程中對應用軟件的權限進行選擇的功能。在應用安裝環(huán)節(jié),系統(tǒng)會彈出一個可勾選的權限設置項,用戶可以根據(jù)需要關閉應用默認獲取的權限。用戶選擇取消的權限,應用軟件將不會獲取。
▌4、安卓6.0版本,對權限進行分類管理的模式
由于安卓6.0之前的安卓系統(tǒng)存在“越界獲權”的問題,為了更好地保護用戶隱私,谷歌公司在安卓6.0版本中提出了新的權限管理機制,將權限分為兩大類:
安卓系統(tǒng)對危險權限進行了歸類,并分為不同的權限組(Permission Group)。如果應用軟件獲取了權限組中某一個權限,則整個權限組下的權限均被授權,應用軟件可以直接調用該權限組的權限并實施相應行為。安卓6.0版本中的危險權限分類如下:
▌5、安卓6.0之后,進一步強化權限的授權要求
在安卓6.0版本中,應用獲得權限組中某一個權限后可以獲得整組的權限,范圍仍較廣。
在安卓8.0版本中,安卓系統(tǒng)對此進行了調整,安卓系統(tǒng)將只向明確請求獲取的權限進行授權,但對同一權限組中且明確向系統(tǒng)聲明的權限都將被自動授權,不再額外提示;若沒有請求相應的權限,該權限對應的操作將會失效。
谷歌公司表示,在安卓9.0版本中會細化權限保護,針對設備傳感器權限、從Wi-Fi掃描中獲取位置信息以及獲取電話狀態(tài)等相關權限規(guī)則進行調整,以便更好地保障用戶隱私。
2、安卓權限獲取中的法律合規(guī)要求
(一)遵守權限獲取的原則
對于應用軟件開發(fā)者而言,正確獲取系統(tǒng)權限是運營合規(guī)的第一步,應用軟件開發(fā)者應當審慎處理獲取系統(tǒng)權限的問題。《網(wǎng)絡安全法》第41條規(guī)定:“網(wǎng)絡運營者收集、使用個人信息,應當遵循合法、正當、必要的原則,公開收集、使用規(guī)則,明示收集、使用信息的目的、方式和范圍,并經(jīng)被收集者同意”。
本條明確了網(wǎng)絡運營者收集、使用個人信息,應當遵循合法、正當、必要的原則。雖然獲取權限并不同于收集、使用用戶的個人信息,但是獲取權限潛在地會影響到用戶個人信息和隱私,因此,獲取權限也需要遵守合法、正當、必要的原則。
具體來說,(1)合法原則是指獲取權限的過程中,需要遵守法律的規(guī)定,對于法律明確規(guī)定的需要獲得用戶同意的權限,需要遵守法律的規(guī)定;不得通過欺騙、誘騙等方式獲取安卓系統(tǒng)權限。
(2)正當原則是指應用軟件獲取安卓系統(tǒng)相關權限需要具有正當目的,所獲取的權限只能用于實現(xiàn)產品功能;不能將獲取的權限使用在與產品功能無關的用途,如獲得錄音權限后,偷錄用戶的錄音。
(3)必要原則是指獲取的權限應當與實現(xiàn)產品功能有直接關聯(lián),若未獲取該權限,則產品功能無法實現(xiàn),不能超越范圍索取與自身產品功能無關的權限,如手電筒應用獲取讀取通訊錄的權限。
但是,一些應用開發(fā)者在開發(fā)過程中并不注意遵守權限獲取的合法、正當、必要原則,甚至通過惡意獲取大量非必要權限來收集用戶個人信息,向第三方出售,甚至走上了犯罪的道路,受到了法律的懲罰。
(二)保障用戶知情同意
▌1、對危險權限的告知和同意
對于獲取危險權限的情況,應當遵守法律的規(guī)定,履行告知義務并取得用戶同意。在安裝過程中,系統(tǒng)會提示應用獲取的權限列表,用戶可以在安裝環(huán)節(jié)對特定權限執(zhí)行開啟、提示、關閉操作。
對于不同意開啟的權限,用戶可以對該權限進行關閉,與該權限相關的功能將會受到影響。在使用過程中,應用軟件的功能需要使用到危險權限時,系統(tǒng)會彈出提示告知用戶。
此外,按照《移動互聯(lián)網(wǎng)應用程序信息服務管理規(guī)定》第七條的規(guī)定,應用軟件在獲取錄音、攝像頭、地理位置、通訊錄等權限也需要自己彈框告知用戶獲取權限的目的,并獲取用戶的用意。即此時需要應用軟件先彈窗告知用戶,再由安卓系統(tǒng)動態(tài)授權。
基于安卓系統(tǒng)擁有比應用軟件更高的權限,用戶的同意權保障更多的是通過安卓系統(tǒng)的提示和設置來實現(xiàn)的。系統(tǒng)彈出提示告知用戶后,用戶有權進行選擇是否同意應用軟件獲取該權限。
用戶確認同意后,應用軟件會獲得該權限;如果用戶事后需要管理權限的話,可以到系統(tǒng)設置中對應用獲取的權限進行管理,保障用戶的同意權。
▌2、對普通權限的告知
對于普通權限,安卓系統(tǒng)的權限管理機制要求應用軟件開發(fā)者在AndroidManifest.xml文件中向系統(tǒng)聲明,安卓系統(tǒng)即向應用軟件開放其聲明的權限,并且系統(tǒng)層不會明示向用戶進行提示。
普通權限不涉及用戶的個人信息,過多的彈窗和提示反而會增加用戶的時間成本,給用戶造成困擾,并且用戶在使用普通權限的功能時(如調整屏幕亮度)能夠明確知曉應用軟件獲取了安卓系統(tǒng)的該項權限。
因此,筆者認為對普通權限的獲取,應用軟件可以不單獨告知用戶。
(三)《服務協(xié)議》《隱私政策》的展示
基于告知用戶,保障用戶知情同意的合規(guī)性要求,需要在應用的相關文檔中展示有關權限的內容。這些內容可以體現(xiàn)在《服務協(xié)議》或《隱私政策》中,也可以通過單獨的方式告知。
用戶在首次打開應用軟件時,閃屏頁面會出現(xiàn)展示《服務協(xié)議》《隱私政策》的鏈接,用戶可以點擊瀏覽服務協(xié)議和隱私政策的全部內容。
《服務協(xié)議》《隱私政策》是應用軟件開發(fā)者與用戶之間訂立的格式合同。在來云鵬訴北京四通利方信息技術有限公司服務合同糾紛二審案中,法院認為,根據(jù)我國《合同法》規(guī)定,格式合同如果不存在法律規(guī)定的無效情形,應當自始有效。
安卓應用開發(fā)完成后,應當在應用軟件安裝和使用的過程中向用戶展示《服務協(xié)議》《隱私政策》或提供查看的鏈接。《服務協(xié)議》《隱私政策》中展示的內容應當清楚明白,避免使用模糊的表述。
除此以外,應用軟件中應當完整展示《服務協(xié)議》《隱私政策》的全部內容,注意超鏈接點擊進入后的內容是否與正式版本一致。
一些應用會在形式上設置《隱私政策》的超鏈接入口,但是無法跳轉或跳轉后的內容與隱私政策無關。
在展示的方式上,在安裝環(huán)節(jié),可以在首次啟動的閃屏也向用戶進行展示;使用過程中,可以在應用軟件的“設置-關于”界面中配置《服務協(xié)議》《隱私政策》的鏈接,供用戶點擊查看。從保障用戶知情的角度,也可以通過彈框的方式告知用戶。
(四)不得濫用獲取的權限
在獲取安卓系統(tǒng)授權的相關權限后,惡意應用會濫用獲取的權限,給用戶個人信息帶來巨大的安全隱患。
一些惡意應用會讀取設備中的聯(lián)系人信息、照片等,造成用戶個人信息泄露;惡意應用通過短信權限,來實施吸費、惡意扣費;收集到的聯(lián)系人信息可以用來實施網(wǎng)絡詐騙等。
還有的情況是,惡意應用在通過實時在線讀取可以滿足功能的前提下,強制將用戶設備中的信息上傳至自己的服務器;在信息傳輸?shù)倪^程中,不采取加密措施,或者加密級別應當是易被破解的級別,增加了數(shù)據(jù)被截獲而泄露的風險。
這些都是濫用獲取的安卓權限的表現(xiàn),從保護用戶權益的角度,安卓應用應當避免濫用獲取到的權限,做到有的放矢的獲取和使用。
3、對完善安卓應用獲取及使用系統(tǒng)權限的建議
-
Android
+關注
關注
12文章
3957瀏覽量
129072 -
谷歌
+關注
關注
27文章
6217瀏覽量
106968 -
互聯(lián)網(wǎng)
+關注
關注
54文章
11212瀏覽量
104890
原文標題:Android 系統(tǒng)的 100 多種權限,怎樣獲取才合理合法?
文章出處:【微信號:WW_CGQJS,微信公眾號:傳感器技術】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦

急聘C++ /OPENGL/ matlab/安卓兼職技術
安卓開發(fā)交流經(jīng)驗,從銷售到技術支持后轉行安卓開發(fā)
為何選擇智炫安卓胎壓監(jiān)測?
我的安卓平板電腦
***安卓版哪個好用
淺析安卓系統(tǒng)的三大Root方式
鴻蒙是否脫離安卓 鴻蒙跟安卓的關系
鴻蒙是基于安卓嗎 鴻蒙與安卓區(qū)別
調用安卓的方法獲取鼠標指針坐標

評論