《電子技術(shù)應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 業(yè)界動態(tài) > 讓我們看看 你的App背著你都偷偷干了什么事

讓我們看看 你的App背著你都偷偷干了什么事

2020-05-14
來源:新浪科技綜合
關(guān)鍵詞: APP 小米MIUI MIUI12 隱私泄漏

    本文來自極客公園

    

kkkkkk1111.jpg

    近期,小米 MIUI 的一次更新,引起了軒然大波。

    小米手機最新版操作系統(tǒng)——MIUI12 中,有一個叫做‘照明彈’的功能。顧名思義,這個功能是要把一些之前在黑暗中的東西暴露在強光下,讓用戶一目了然。

    在‘照明彈’里,用戶可以看到某一應用‘自啟動’、被其他應用啟動以及讀取設備數(shù)據(jù)等具體行為,手機 App 原本不為人知的動作一覽無余。

    

kkkkkk2222.jpg

    MIUI12 照明彈功能部分截圖,左側(cè)為App自啟動情況,右側(cè)為App被喚醒情況 | MIUI

    個別應用在后臺‘反復橫跳’,頻繁啟動各種‘全家桶’應用,讀取用戶隱私信息,這些問題在社交網(wǎng)絡上引起了很多數(shù)碼圈和產(chǎn)品圈人士的討論。這些應用為什么要在后臺反復刷數(shù)據(jù)?對開發(fā)廠商來說,自啟動和讀數(shù)據(jù)會帶來哪些好處?普通用戶又該如何防范呢?

    刷用戶、收數(shù)據(jù),APP 啟動為了什么?

    App 自啟動其實不是什么新鮮事,安卓平臺也賦予開發(fā)者這種能力,只是很多時候在商業(yè)背景下,這一能力被濫用了。

    要想搞明白 App 的自啟動,首先要清楚安卓的核心。它是一個開放開源的平臺,追求的是被盡可能多的設備使用。因此對于安卓來說,它想要覆蓋的,并不僅僅是手機市場,像廣告機、自助購票機等很多場景化的設備也是安卓的獵物。

    想要收獲更多的應用場景,就要有足夠多的接口支持。對于廣告機等設備來說,開機自動進入應用程序、即插即用是剛需,因此安卓在設計之初就支持應用程序自啟動,有需求的 App 只需調(diào)用 API 接口即可實現(xiàn)。

    安卓的本意是好的,但卻被部分開發(fā)者用壞了。由于可以自啟動,一些 App 就開始利用這個 API 接口暗戳戳地自己啟動自己,一方面刷 DAU(日活用戶),另一方面在后臺收集數(shù)據(jù)。

    不要小看你手機里的數(shù)據(jù),它們在應用程序開發(fā)商那里可是寶貝。地理位置、錄音、通訊錄、剪貼板、相冊等等都是有料可挖的數(shù)據(jù)金礦。

    以打車應用為例。很多時候,為了讓用戶體驗更好,平臺會設置一項貼心功能,用戶在打開 App 的同時,系統(tǒng)自動猜出用戶想要去的目的地。比如用戶早上在家附近打開叫車 App,系統(tǒng)會自動推薦目的地是公司所在地。傍晚用戶在公司附近打開 App,系統(tǒng)猜測用戶是要接小孩放學,自動推薦孩子的學校地址。

    這一功能的實現(xiàn)主要基于用戶在平臺上的交易記錄,但如果用戶的交易數(shù)據(jù)不足夠多時,系統(tǒng)就需要更豐富的用戶地理位置數(shù)據(jù)來預測用戶的生活軌跡。這一問題有一個簡便可行的解決方案,那就是每隔一段時間在后臺喚醒 App,自動收集用戶的地理位置。

    又如,現(xiàn)在支付 App 都有免密支付的功能。用戶在經(jīng)?;顒拥奈恢眠M行小額交易,是不需要輸入密碼或者刷臉驗證的。這背后也需要 App 定期喚醒,獲得用戶的地理位置數(shù)據(jù),從而進行風險控制。

    從 App 自啟動中受益的不僅僅是打車、支付這兩個場景。事實上,對于大多數(shù) App 來說,擁有自啟動的能力都是一個零本萬利的事。甚至為了以防哪天萬一用得到,很多 App 在開發(fā)之初就預留了這一能力。

    一般而言,大公司的 App 受到更多的監(jiān)管,會相對規(guī)范,自啟動的目的更多是為了更好地服務用戶。相較之下,一些小公司的應用程序路子會更野一些。

    比如偷偷啟動麥克風監(jiān)聽或錄音,或者訪問相冊獲取隱私照片等等。這些用戶數(shù)據(jù)會被打包售賣,甚至有可能被賣給黑產(chǎn)。這樣一來,用戶不僅面臨著隱私泄漏的風險,更有可能遭受人身和財產(chǎn)安全的威脅。

    互相喚醒:卡頓、發(fā)熱的元兇

    安卓的開放帶來了非常多的‘玩法’,其中最為典型的要數(shù) App 的雙進程。簡單的理解是,當用戶啟動 App 時,同時啟動了這一 App 的兩個進程。當用戶關(guān)掉 App 時,一個進程被殺死,另一個仍在后臺運行。

    這一操作的目的其實和自啟動一樣:刷 DAU,拿用戶數(shù)據(jù)。二者對用戶帶來的困擾也是相同的:隱私泄漏。另外,由于這個‘殺不死’的進程一直在后臺運行,導致用戶手機很快就會發(fā)燙、卡頓,需要關(guān)機重啟,使用感受直線下降。

    事實上,‘進程保活’一直是 App 開發(fā)人員與安卓系統(tǒng)的對抗焦點。對于從草莽時期長出的很多 App 來說,如果后臺進程被殺死,那么其‘商業(yè)模型’將受到根本性的動搖。但是安卓希望對終端用戶友好,所以在每一個版本的升級中,都在更新阻礙開發(fā)者‘進程?;睢姆椒?。

    魔高一尺,道高一丈。在長期與安卓抗爭的過程中,App 開發(fā)人員開始抱團取暖。同一生態(tài)下的 App 互相合作,一個被殺死了,另一個再把它拉起來。在技術(shù)社區(qū)內(nèi),這一方法被稱為‘進程永生技術(shù)’。

    在開篇的‘照明彈’截圖中,你會發(fā)現(xiàn)有些 App 會在后臺喚起另一個 App,有很大可能是在互相保活。另外,一個 App 喚醒另一個 App,也可能是為了廣告刷量。

    比如 A 公司在 B 公司的 App 上投廣告,那么通過 B 向 A 導流的每一次點擊都會為 B 帶來營收。所以 B 在后臺假裝用戶點擊 A,那么在 A 看來就是一個‘真實用戶的點擊’。B 欺騙 A,從廣告效果來說,肯定會對 A 造成損失。

    除?;詈退⒘恐猓珹pp 之間互相喚醒還有交換數(shù)據(jù)的可能。舉例而言,社交 App 的數(shù)據(jù)對網(wǎng)購 App 來說很有用。通過關(guān)系鏈的拉取,能夠精準進行用戶畫像,識別購買需求。

    不過,這種數(shù)據(jù)交換的操作在巨頭們沒有形成生態(tài)之前,是通過 API 接口發(fā)生在用戶手機上的。在有了生態(tài),特別是各公司紛紛開始建立中臺之后,用戶數(shù)據(jù)的交換就慢慢地轉(zhuǎn)移到服務器層面了。

    ‘照明’之后,接下來怎么辦?

    玩法這么多,感覺防不勝防?事實上,最基本也是最有效的防范,是用戶對 App 權(quán)限的控制。如果 App 沒有訪問權(quán)限,那么它每天自啟動多少次都是徒勞。

    但并不是所有的人都有意識有能力關(guān)注手機的權(quán)限管理,對于上了年紀的人來說更似如此。因此,監(jiān)管方和平臺方需要共同負起責任。

    平臺方是否有動力負這個責任,其實是需要打個問號的。要想識別違規(guī) App 并督促其下架整改,需要成本投入。目前國內(nèi)很多應用商店的背后,是手機硬件廠商。如果手機廠商抱著‘賣一臺算一臺’的想法,后續(xù)服務就很難跟上。

    MIUI 是小米商業(yè)化的重要支點,因此從商業(yè)角度來說,小米有動力做這件事?!彰鲝棥δ芤泊_實給 MIUI 平臺上 App 的合規(guī)性帶來了提醒。誰自啟動了,誰啟動了誰,誰的啟動請求被系統(tǒng)拒絕了。。。。。。 這些原本就應該讓用戶知道的信息如今被清晰地展現(xiàn)出來。

    ‘照明彈’推出之后,小米獲得了不少好評,但也有人說是個噱頭,因為并沒有從根本上解決問題。即便是小米,可能也沒勇氣徹底讓違規(guī)的 App 整改后再上架。另外,大部分人或許根本沒有意識到這照明彈到底照亮了什么。所以,關(guān)于用戶數(shù)據(jù)保護和商業(yè)倫理的提升,靠企業(yè)的自我約束只是起點,這件事最終只有靠更多用戶的覺醒來完成。

    

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。