在手機App的世界里,法規條文里所謂的“第三方應用或服務”是個看得見摸不著的存在。但事實上,不管是你每天收到的新聞推送,還是促銷活動廣告,甚至短信驗證碼,都有可能出自第三方之手。
這些集成在App里的第三方工具包被稱為SDK(Software Development Kit,軟件開發工具包)。它們可以幫助App高效率、低成本地實現地圖、支付、統計、社交、廣告等一系列功能,同時自身也具備獲取相當一部分設備信息和用戶個人信息的能力。
不過,由第三方SDK引入的安全問題也是顯而易見的。比如開發者的安全能力水平參差不齊,可能導致SDK的安全漏洞;還有開發者會故意預留“后門”,以便收集用戶信息或執行越權操作。
2015年10月,一款名為“有米”的第三方廣告SDK被發現收集了用戶的個人身份信息,包括Apple ID郵件地址、設備識別碼,以及安裝在手機上的App列表信息。最后,使用有米SDK的256款App被蘋果應用商店下架。
2017年8月,同樣是第三方廣告SDK的“個信”被發現內置后門,在未經用戶允許的情況下收集用戶隱私數據,獲取用戶設備中全部已經安裝App列表。嵌入該SDK的500多款App的總下載量超過1億次,最終全部被Google Play下架。
為了摸清SDK獲取用戶個人信息的合規現狀,近日,南都個人信息保護研究中心、中國金融認證中心(CFCA)對60款常用App以及主流SDK進行了測評,并聯合發布《常用第三方SDK收集使用個人信息測評報告》(下稱《報告》,文末可下載)。
《報告》顯示,訊飛、TalkingData等SDK收集的個人信息未在其嵌入App的隱私政策或彈窗中被提及;TalkingData、友盟SDK可能隱瞞了其要收集的個人信息;攜程、百度地圖等SDK則會向自己的服務器回傳未經加密的用戶個人信息甚至個人敏感信息。
平均每款App使用19.3個SDK,獲取IMEI號最多
《報告》選取了社交交友、休閑娛樂、生活服務、購物導購、旅游交通、移動金融六大行業的60款常用App,通過逆向分析、抓包、函數掛鉤等技術手段,分析這些App使用的SDK收集用戶個人信息的情況。
去除普遍對App加固而無法確切檢測的移動金融行業App,平均每款App使用的SDK數量為19.3個;
按照App集成的SDK類別劃分,消息推送類SDK最多,綜合類和輔助開發類其次。
值得注意的是,其中微信SDK、騰訊Open SDK、小米推送SDK、華為SDK、支付寶SDK、Facebook SDK和愛彼迎SDK均被超過半數的App嵌入,而這些SDK均來自頭部互聯網公司。
從SDK被普遍使用的情況來看,App對SDK有較強的依賴性,SDK安全儼然已經成為整個移動互聯網生態中極其關鍵的一環,它們收集哪些信息、如何使用和保護這些信息也就十分重要。
《報告》顯示,在檢測時間內,60款App使用的966個SDK中,有150個獲取了IMEI、IMSI等手機設備信息,在所有類別中最為頻繁;有35個以上SDK獲取了各類網絡信息,如IP地址、MAC地址、Wi-Fi熱點信息等。
據南都記者了解,這些信息通常被用于統計分析和定向推送的目的。此外,還有10個SDK獲取了用戶行為信息,比如鎖屏、安裝/升級/卸載App。
高級產品研發專家馬巍源曾撰文揭露過SDK收集用戶信息的亂象,并將這些信息按照危險程度分為極高、高、中、低四個級別。其中“獲取本地已安裝的App信息”屬于危險級別“極高”的隱私信息。
文章指出,通過收集這類信息,SDK可以清楚了解用戶的喜好——“例如一個設備用戶安裝了某類同性交友App,那就意味著這種極其隱私的信息將被泄露”。
中國銀行、宜人財富App使用的SDK獲取錄音、定位未告知用戶
《報告》還發現,用戶的電話號碼、地理位置、手機視頻和相冊等個人信息也被一些SDK獲取。有的是為了實現相應功能,但有的則是未經用戶允許獲取的。
比如,每日優鮮App嵌入的支付寶SDK獲取了用戶的手機號。作為一款支付類SDK,獲取手機號的行為與其支付功能并無直接關系,該行為的正當性存疑。
國家標準《信息安全技術 個人信息安全規范》修訂草案要求,當個人信息控制者在其產品或服務中接入具備收集個人信息功能的第三方產品或服務時,應通過合同等形式明確雙方的安全責任及應實施的個人信息安全措施,并要求第三方向個人信息主體征得收集個人信息的授權同意。
也就是說,SDK收集個人信息也需要經過用戶授權同意。由于SDK不直接與用戶交互,使用它的App有義務代為向用戶告知。然而,不少App并沒有做到——用戶的隱私很可能在不知情的情況下被SDK收集了。
中國銀行手機銀行App的訊飛SDK可以“對環境或通話錄音”,中國銀行手機銀行App卻沒有提供任何隱私政策,更別提告知用戶并獲取同意了;宜人財富App和宜人貸借款App使用的TalkingData SDK獲取了用戶的地理位置,但均未在隱私政策里告知用戶。
此外,《報告》還根據《網絡安全實踐指南—移動互聯網應用基本業務功能必要信息規范》, 列出了113個SDK超出規范界定收集的“其他信息”,即App基本業務功能之外的個人信息(獲取此類信息并不違規,但需要主動獲取用戶的同意)。
雖然國內對于第三方SDK超出必要范圍收集其他信息尚沒有法律法規條文的規定,但依照“知情同意”的原則,《報告》認為,即使這些信息并不是App本身需要,而是SDK需要收集的,App也應在收集上述個人信息時彈窗,獲取用戶同意,以保障用戶知情同意的權利。
TalkingData、友盟SDK或隱瞞收集用戶個人信息
SDK實現功能需要申請對應的系統權限,但它收集的個人信息是否僅限于權限涉及的范圍之內呢?
《報告》對15個較為主流的SDK進行深度分析發現,SDK需要申請的系統權限從5項到14項不等,極光數據分析SDK、百度地圖SDK申請得最多。
在官方文檔里提供了相關信息的10個SDK中,三成能夠通過代碼收集超出其聲明權限范圍的個人信息。也就是說,它們可能存在隱瞞收集用戶個人信息的情況。
比如TalkingData SDK僅聲明會獲取地理位置信息,但它的代碼還包括讀取第三方平臺賬戶信息、已綁定的NFC支付卡信息等內容;
Ping++、友盟SDK有獲取地理位置信息的代碼,但并未在官方文檔里聲明。
《報告》指出,還有少數SDK會向自己的服務器明文回傳未經加密的用戶個人信息甚至個人敏感信息。
值得注意的是,這里的未經加密可能存在兩種情況,一種是未對通信渠道加密(如http),另一種是未對傳輸內容加密(如使用https但未對數據本身加密)。
比如Ping++ SDK、TalkingData SDK、攜程SDK、百度地圖SDK會向服務器傳輸未經加密的地理位置信息。
這些個人信息在App開發者、單個或多個第三方之間流動,增加了個人信息泄露、濫用的風險。
南都記者梳理發現,近年來出臺的不少個人信息保護、數據安全相關法規和標準已經明確了管理SDK的必要性。
《數據安全管理辦法(征求意見稿)》第三十條規定,網絡運營者對接入其平臺的第三方應用,應明確數據安全要求和責任,督促監督第三方應用運營者加強數據安全管理。
《信息安全技術 個人信息安全規范》修訂草案則要求,涉及SDK等第三方嵌入或接入的自動化工具的個人信息控制者,宜開展技術檢測確保第三方的個人信息收集、使用行為符合約定要求;宜對其收集個人信息的行為進行審計,發現超出約定行為的及時切斷接入。
責任編輯:韓希宇
免責聲明:
中國電子銀行網發布的專欄、投稿以及征文相關文章,其文字、圖片、視頻均來源于作者投稿或轉載自相關作品方;如涉及未經許可使用作品的問題,請您優先聯系我們(聯系郵箱:cebnet@cfca.com.cn,電話:400-880-9888),我們會第一時間核實,謝謝配合。