昨晚姍姍來遲的“315晚會”,再一次把SDK推向風口浪尖,2019年11月,上海市消費者權益保護委員會委託第三方公司對一些手機軟體中的SDK外掛進行了專門的測試,卻發現一些SDK暗藏玄機。
技術人員檢測了50多款手機軟體,這些軟體中分別含有上海氪信資訊科技有限公司和北京招彩旺旺資訊科技有限公司兩家公司的SDK外掛,這兩個外掛,都存在在使用者不知情的情況下,偷偷竊取使用者隱私的嫌疑,涉及國美易卡、遙控器、最強手電、全能遙控器、91極速購、天天回收、閃到、蘿蔔商城、紫金普惠等50多款手機軟體。這些SDK,會未經使用者同意,收集使用者的聯絡人、簡訊、位置、裝置資訊等等。尤其簡訊,甚至簡訊內容會被全部傳走。更惡劣的是,這些APP裡的SDK還會將偷偷收集的個人資訊,傳送到指定的伺服器儲存起來。
一、什麼是SDK?
個人資訊洩露背後,各種亂象浮出水面,但最普遍、最難纏莫過於SDK(本文所指為第三方SDK,以下省略第三方),因為凡使用智慧手機,幾乎都離不開SDK。這也給國內的友商們敲響了警鐘,如果App對SDK使用、管理不慎,或者被潛伏於手機、別有用心的SDK,"暗度陳倉",那麼除了民事賠償、行政處罰,刑事風險也悄悄臨近。
SDK(Software Development Kit)中文名為"軟體開發工具包",它是輔助開發App的相關文件、範例和工具的集合。為了縮短開發週期、提高開發效率、降低開發成本等考慮,開發一款App,不需要開發者事必親躬,如果某些功能有第三方開發成熟的話,就可以將此外包,第三方將特定功能封裝為工具包(SDK)後,供App開發者直接使用。如果說App是一個"大箱子",其中有些標準化的"小箱子"也就是SDK,是直接從第三方搬過來的,這是雙贏的選擇。
開發SDK的第三方像超市,各個消費者(APP開發方)可以自由選購需要的產品(SDK),拿回家直接使用。所以,手機App上的語音識別、新聞推送、廣告推薦、地圖導航、支付等特定功能,都有可能出自SDK之手。
SDK一般分為登入分享類(微信登入分享SDK、QQ登入分享SDK、微博登入分享SDK等)、支付類(微信支付SDK、銀聯SDK、支付寶SDK等)、地圖導航類、推送類、廣告類和資料統計分析類。
看著圖中熟悉的名字,也就能知道SDK與APP的緊密聯絡。SDK是高效、快捷地實現APP某些功能的常用手段,如果合理使用、合法採集,SDK方、App方、使用者三方皆大歡喜;但是,成也蕭何敗蕭何,有的SDK的"野心"不止於服務App、造福使用者,"幽靈"SDK、"病毒"SDK也就不足為怪了。
二、App的"寄生者"
App與SDK並不相同,也不能等而視之。使用者對App收集個人資訊的授權同意,不能等同是對SDK的授權。使用者下載、使用的App合法收集、使用個人資訊,無可厚非,但隱藏在App背後的SDK收集、使用個人資訊,如未明示,使用者是毫不知情的。有些軟體的隱私政策,對SDK的存在及收集使用個人資訊情況,祕而不宣;有些軟體的隱私政策"通過可能會將使用者的個人資訊分享給第三方"的籠統表述將SDK一筆帶過。這些看似聰明的策略,實則加重了自己的違法風險。
如果App對SDK祕而不宣,SDK又是App的一部分,App應對SDK的行為承擔法律責任。對使用者來說,SDK是隱身的,使用者首先是信任App,其次才可能通過App的隱私政策知情這些第三方。如果SDK作為App的受託方,只按照約定分析使用者資料,並不獨立收集、儲存和另做他用,那麼資料的風險與SDK無關。如果SDK把收集到的App個人資訊獨立儲存,且用作其他用途,如出售、交換等,App開發方和SDK就處於共同資訊控制者的角色;但SDK一般是"寄生"在App中,個人資訊也是通過授權給App才被獲取,SDK一般無法有效告知使用者其收集情況,所以,SDK對資訊的獲取和使用情況只能通過App開發方告知,同時還應履行監督職責,否則App依然應承擔法律責任。
App方非法採集、使用公民個人資訊只是各種亂象的冰山一角,在個人資訊形成的冰山之下,SDK似龐然大物。道理十分簡單,一個App能夠收集的個人資訊是有限、分散的;而SDK可供不同App重複使用、嵌入,也就意味著它具有資訊融合功能。凡是使用同一SDK的不同App,在分別收集個人資訊供App使用之外,每一個App上輸送的個人資訊極有可能變成SDK "資訊水池"的供水管道,蓄水於一池,其"靜水流深"可見一斑。
理論上,一個成功的SDK可以讓無數個App同時使用,為其"供水",正因如此,SDK一般也都是免費的。但是,天下沒有免費的午餐,個人資訊可能就是對價。相比App從單一渠道收集的有限資料,SDK可以收集不同類別App收集的個人資訊,匯聚融合,可能拼出完整清晰的使用者畫像。這是一般App可望不可及的,精確的使用者畫像在商業領域意味著什麼,不言自明。
三、SDK亂象叢生
除了獲取App對應功能收集的資訊外,SDK還可以一般性地收集五類資訊:1.使用者手機上已安裝的 App 資訊列表和正在執行的App列表、App解除安裝資訊、App啟動次數、使用時長、鎖屏資訊等;2.使用者不同賬號資訊;3.使用者網路相關如GPS 、NFC、藍芽資訊、IP、MAC地址、Wi-Fi熱點資訊等;4.手機裝置資訊,如IMEI、IMSI等裝置標識資訊、SIM標識資訊、手機號碼等;5.感測器資訊、行動軌跡資訊等。
2019年7月,南都個人資訊保護研究中心、中國金融認證中心(CFCA)聯合釋出《常用第三方SDK收集使用個人資訊測評報告》(取樣時間截止於2019年4月)顯示:
"60款常用App共使用了至少966個SDK,平均每款App使用19.3個SDK,微信SDK共被47款App使用;騰訊Open和小米推送SDK,分別有41款App和40款App使用。華為SDK、支付寶SDK、Facebook SDK和愛彼迎SDK被超過半數APP使用……"引發Zoom危機的也正是其中的明星翹楚Facebook SDK。
圖片源於:"南都"《常用第三方SDK收集使用個人資訊測評報告》第5頁
該報告指出:"中國銀行手機銀行App使用訊飛SDK可以"對環境或通話錄音",但App卻沒有提供任何隱私政策;宜人財富App、宜人貸借款App使用TalkingData SDK獲取了使用者的地理位置,但未在隱私政策中告知使用者。每日優鮮App嵌入的支付寶SDK獲取使用者手機號,但作為一款支付類SDK,獲取手機號的行為與其支付功能並無直接關係。"
"南都"又一次揭開SDK亂象的蓋子,SDK存在問題主要有三個方面:
1、未經同意、隱瞞收集使用者個人資訊
除Zoom事件、"南都測評報告"中的SDK亂象外,早在2015年,"有米"廣告SDK就被發現收集使用者Apple ID、郵件地址、裝置識別碼,以及手機App列表資訊等;導致安裝"有米"SDK的256款App被蘋果App Store下架。又在2017年,廣告SDK "個信"被發現內建後門,在未經使用者允許的情況下收集使用者隱私資料,獲取使用者裝置中全部已安裝App列表資訊,該SDK嵌入的500多款App總下載量超過1億次,最終全部被Google Play下架;2019年上半年,中國杭州某科技企業被曝光利用SDK隱瞞收集使用者聯絡人資訊、QQ登入資訊、位置資訊等。
中國資訊通訊研究院安全所一篇研究報告指出:"嵌入APP的某些第三方SDK能夠收集個人資訊標識、行動軌跡、個人偏好、網路裝置資訊等,並上傳至遠端伺服器,甚至是境外伺服器。同時,卡巴斯基實驗室研究人員也曾公開表示,目前使用廣告推送SDK的應用程式總數已達幾十億,其中大多數會以明文方式向伺服器傳輸個人資訊(包括姓名、年齡、性別、電話號碼、郵箱地址、位置資訊、唯一裝置標識碼等)。"
2、藉助App "掩護",惡意操作
2015年,浙江平湖歐某等人研發廣告SDK,同時向多家手機方案商、中間商、廠商推介廣告SDK業務:裝有廣告SDK的手機在使用者首次開機聯網時,廣告SDK在使用者不知情的情況下,向後臺伺服器上傳IMEI、IMSI等使用者裝置資訊,並自動更新廣告SDK版本,還能根據與手機商達成的運營方案向用戶推送商業性電子資訊。
2018年,騰訊安全反詐騙實驗室TRP-AI反病毒引擎捕獲到多款知名應用在使用者裝置上私自提權,靜默植入應用等惡意操作。經過溯源分析,惡意推送資訊的SDK"寄生推"被確定,其通過預留的"後門"雲控開啟惡意功能,私自Root使用者裝置並植入惡意模組,進行惡意廣告行為和應用推廣,300多款APP近2000萬用戶受影響。其中不乏多款知名APP。
以上情形,實際上是在未經使用者許可的情況下,通過SDK獲取使用者資訊,根據配置情況決定彈送廣告方式、頻率、靜默下載其他軟體等行為,屬於非法控制行為,涉嫌非法控制計算機資訊系統罪。
3、自身面臨巨大安全風險
SDK處於監管的灰色地帶,目前對APP的治理還在攻堅階段,SDK一般潛伏在APP之後,問題還未全部浮出水面。甚至使用SDK的APP開發方也無法從技術上保證其安全。同時,絕大部分SDK缺乏安全稽核環節,開發者因為疏忽或者故意都可能造成程式碼安全漏洞。相關研究也表明,SDK普遍存在著SSL / TLS 配置錯誤、過多索取敏感許可權、HTTP 非必要呼叫、使用者日誌洩漏等危害使用者隱私資料的問題。
四、宣戰SDK
SDK的問題雖形形色色,但仍能拉出兩條主線:一是,使用SDK的APP不作為或者不想作為;二是,SDK不作為或者惡意作為。
合理合法使用個人資訊,是APP和SDK的權利和義務,也是使用者享受便捷網路生活的必由之路。但是,如果APP和SDK雙方合力,越過使用者知情同意的柵欄,共同"巧取豪奪"個人資訊這塊大乳酪,謀取黑色、灰色利益,就是"強盜"行徑。
如何抓"強盜"?法律的規定不僅有,而且還很豐富。《中華人民共和國民法典》即將誕生,其中有個人資訊保護一節。《中華人民共和國網安法》指導下法規、規章、國標等正在緊密制定並推行,其中《資料安全管理辦法(徵求意見稿)》、《個人資訊保安規範》、《移動網際網路應用程式(App)收集使用個人資訊自評估指南》都明確指出了APP應如何處理與SDK的關係,同時也對SDK提出了規範措施(詳細規定見下表)。尤其是刑法還規定了侵入計算機資訊系統犯罪與侵犯公民個人資訊罪等。與個人資訊巨大潛在利益同在的,是各種法律風險。
讓我們回到本文開頭,Zoom的問題是科技媒體《Motherboard》首先發現的;目光轉向瑞幸咖啡,它的財務造假是一家專業的市場做空機構"渾水"披露的,可見市場的力量。值得一提的是本文援引報告的釋出方:南方都市報(南都個人資訊保護研究中心),專注於個人隱私保護,"隱私護衛隊"的旗幟鮮明,值得點贊。但是,權利終究是我們每一個人的,如果你我漠視權利被侵犯,習慣了被欺騙,懷疑是否能改變,那麼權利不會從天而降。如果我們每個人從認真讀一讀APP的隱私政策開始,進一寸有一寸的歡喜,改變就已經發生。
參考資料:
1.南方都市報(蔣琳):《會議軟體Zoom偷偷向臉書傳送使用者資料被告 相關SDK已移除》。
2.南都個人資訊保護研究中心,中國金融認證中心(CFCA):《常用第三方SDK收集使用個人資訊測評報告》(2019年7月)。
3.馬傑:《Android系統外部SDK安全漏洞檢測研究》,《資訊科技與網路安全》2019年第8期,第6頁。
4.王然,陳湉,秦博陽:《App嵌入第三方SDK安全隱患分析與對策建議》,《保密科學技術》2019年第10期,第22頁。
6.新華社:《監測發現:300餘款知名應用感染"寄生推"病毒》2018年4月19日。
7.國家網際網路資訊辦公室:《資料安全管理辦法(徵求意見稿)》(2019年5月)。
8.國家市場監督管理總局,國家標準化管理委員會:《資訊保安技術 個人資訊保安規範》(GB 35273-2020)。
9.全國資訊保安標準化技術委員會祕書處:《移動網際網路應用程式(App)收集使用個人資訊自評估指南》(2020年3月)。