你大概知道自己的手機里裝了多少個APP,你也知道APP在收集你的個人隱私數據。但你或許不知道,除此之外,你的數據還可能同時被隱藏在APP里的第三方SDK收集。
SDK是SoftwareDevelopmentKit的縮寫,即“軟件開發工具包”。簡單來說,它是輔助開發某一類應用軟件的相關文檔、范例和工具的集合。對APP來說,可以將某項功能交給第三方來開發以縮短周期。
8月,中國一款嵌入到500多個APP中的廣告軟件SDK被曝未經允許盜取用戶數據,主要是呼叫日志,并將數據發送到公司服務器上。截至目前,這些APP在安卓生態系統中的下載量已經超過1億次。此前,蘋果商城也曾因為256個APP使用的SDK違規收集用戶信息,將這些APP全部下架。
南都記者了解到,幾乎所有APP都會使用SDK,而SDK收集用戶信息的行為非常普遍。這意味著,你授權APP收集的個人信息被第三方獲取了,而你很可能卻對此毫不知情。
APP實現
精準投放的“好幫手”
APP通常會使用第三方SD?K快速實現支付、驗證、統計等功能,相比自行開發耗費的資源,直接使用SDK性價比更高。此外,SDK還扮演著可信第三方的角色,把監測到的APP流量數據提供給投資人,作為考量APP價值的重要依據。
如此一來,SDK就不可避免地接觸到APP的用戶數據,這也催生了SDK提供商的一個重要服務內容:精準投放。
眾所周知,精準推送服務是APP獲取用戶和留住用戶的常用行為。據南都記者了解,APP本身收集的用戶數據有限,而SDK可以通過與多家APP開發公司合作獲取大量用戶數據,而這些數據不但可以實現用戶畫像,還能用來精準投放廣告,這正是一個APP夢寐以求的。此時,在APP開發公司和SDK提供商之間,又增加了一層合作關系。
SDK收集的用戶信息可以詳細到什么程度?北京網貸協會數據安全專家韓洪慧曾在采訪中提到,“SDK一旦嵌入,如果你注冊登錄了這個APP,并默認授權,所有的行為數據都能記錄,它會在不知不覺中爬取手機通訊詳單、聊天記錄、銀行賬號的密碼口令、短信、通訊錄、行動范圍、位置信息等。”
“SDK比爬蟲讀取的數據更全,不公開數據和公開數據都可用SDK收集,但造成的結果就是數據常常會被濫采或濫用。”韓洪慧說。
采集的信息
“無底線”、“侵犯隱私”
高級產品研發專家馬巍源曾在一篇名為《聊聊SDK采集數據的秘密》的文章里,揭露過移動互聯網行業SD?K采集用戶隱私亂象,并將它們按照危險級別分類。其中危險級別“高”及以上的包括采集設備上安裝的所有APP列表、采集正在運行或最近運行的APP信息、采集用戶的賬戶信息。
“這類用戶信息的采集可以說比較無底線”,文章指出,通過采集前兩類信息可以清楚了解用戶設備中安裝的各類APP信息、日啟動次數及時長等,由此得知設備用戶的喜好;若數據量龐大,還可推算出每款APP應用的市場占有率、各類競品APP的情況,在用戶不知情的情況下“侵犯了用戶隱私”。
而安全危險級別同樣“極高”的采集用戶移動設備賬戶信息,可以獲取用戶賬戶列表,將移動設備信息與用戶賬號關聯,對設備進行唯一標識。“采集如此數據帶來的風險也顯而易見,若用戶賬號被泄露、被克隆,那對于用戶產生的損失可能是利益上的、更甚是生命上的”,文章強調,“此類數據的采集對用戶隱私侵害極大。”
如果APP不想被第三方SDK“私貨”影響,文章提出了兩種解決方法:一是要求第三方修改SDK,二是換一家“干凈的”。
●法規約束
“模糊”的第三方APP不能推卸告知義務
對用戶來說,APP作為網絡產品提供者,是個人信息保護的直接責任方,應該遵守《中華人民共和國網絡安全法》(下稱“網安法”)里的對應條款。
網安法第二十二條規定,網絡產品、服務具有收集用戶信息功能的,其提供者應當向用戶明示并取得同意;第四十二條規定,未經被收集者同意,網絡運營者不得向他人提供個人信息,經過處理無法識別特定個人且不能復原的除外。也就是說,A?PP如果想要和第三方共享用戶的個人信息,必須事先取得用戶的明示同意。
顯然,SDK屬于這里所說的“第三方”。但事實是,用戶往往并不知道自己的個人信息在何時、以何種方式被共享給了SD?K。這是因為,“隱私政策”作為A?PP和用戶之間關于如何處理和保護用戶個人信息的載體,對與第三方共享用戶個人信息的表述極為模糊。
“隱私政策”的內容通常包括A?PP如何收集、使用、共享、保護用戶個人信息,用戶同意之后才能使用A?PP。在隱私政策關于共享的相關表述中,最常見的是“可能會將用戶的個人信息分享給第三方”。但是,幾乎沒有APP會在隱私政策中詳細列舉所謂的“第三方”究竟包括哪些。
這對用戶來說當然不公平,但從APP的角度來說,他們也有自己的顧慮。北京璽澤律師事務所高級合伙人劉新焱對南都記者表示,由于APP開發公司可能和多家SD?K提供商合作,而且未來和誰合作也不確定,所以才不把SDK提供商的名字寫入自己的隱私協議。不過他強調,即便如此,APP還是不能推卸對用戶的告知義務。
除了跟用戶簽署協議,有些APP和SDK之間也會簽署協議,約定用戶數據的采集范圍和使用方式。某新媒體公司工程師X?P告訴南都記者,協議里會寫明SDK可以獲取什么數據、數據的披露方式等,從而保障用戶信息安全。但多名技術專家對此表示,由于SDK代碼不開源,APP要監測它是否嚴格按約定收集數據有一定技術門檻,所以基本只能依靠協議約束。
●法律責任
SDK是APP的一部分,APP應承擔所有法律責任
能收集詳細的用戶隱私數據,又處于監管的灰色地帶,甚至使用它的APP也無法從技術上保證100%安全。SD?K對用戶來說,猶如一顆隱藏在暗處的“定時炸彈”,危險性不言而喻。
南都記者梳理發現,SDK提供商泄露和濫用用戶信息的事件很多,有的甚至成為了黑灰產的源頭。但對用戶來說,沒法直接了解SDK收集個人信息的方式,只能信任APP。
北京大學互聯網發展研究中心專家研究員洪延青認為,如果SDK只是純粹輔助APP分析用戶數據,所有法律責任應由APP承擔;如果SD?K把收集到的APP用戶信息用作其他用途,比如買賣、交換,APP和SDK就處于共同數據處理者的位置。由于SDK無法起到告知作用,APP必須詳細告知用戶這一行為,否則APP依然將承擔所有法律責任。
中國信息安全研究院副院長左曉棟也告訴南都記者,目前對SDK沒有監管,也缺乏監管依據,因為無論SDK的功能是什么,被使用后都會成為APP的一部分,“APP開發商要為其行為負責,不能以‘第三方’為理由搪塞”。“打個比方,對車主來說,如果發動機有問題,他不會關心發動機廠商是誰,只會找整車廠商,這是同一個道理”,左曉棟說。
因此,中國互聯網協會研究中心秘書長、北京師范大學法學院教授吳沈括建議,應用商店和APP應當積極履行主體責任,確保用戶安全利益。劉新焱則從法律義務的角度提出,APP應當自行與第三方簽訂協議和做些必要的技術檢測,如果SDK等第三方造成了數據泄露,APP也應當承擔相應的法律責任。
值得慶幸的是,南都記者發現,目前應用商店對APP的審核越來越嚴格,一旦發現不合規,會立即下架。這也促使APP選擇正規的SDK提供商,合規地獲取數據,在一定程度上也對SDK起到了規范效果。
名詞解釋
SDK是SoftwareDevelopmentKit的縮寫,即“軟件開發工具包”。簡單來說,它是輔助開發某一類應用軟件的相關文檔、范例和工具的集合。對APP來說,可以將某項功能交給第三方來開發以縮短周期。