序
隨著互聯(lián)網(wǎng)的發(fā)展,越來越多的App來到大眾的視野中,生活越來越便捷的同時又會帶來哪些新的問題呢?值得大家一起思考。
作為用戶,我提交到平臺個人信息會不會泄露?是不是安全的?
作為企業(yè),數(shù)據(jù)就是資產(chǎn)。那企業(yè)拿到這些資產(chǎn)(個人信息)是將商業(yè)價值最大化還是秉承著用戶第一的原則,時刻保護用戶個人信息?
作為安全從業(yè)者,傳統(tǒng)的安全建設能否完全解決上述的問題?
當然,上述的問題相信大家也都有各自的答案,后續(xù)我也會陸陸續(xù)續(xù)更新相關(guān)的文章,所以今天我們只聊App隱私合規(guī)。
只想看怎么做,可直接翻到這部分 - 》》》0X03 App隱私合規(guī)怎么做?
0X01 背景
有人說,2017年可以稱之為中國網(wǎng)絡安全的元年;也有人說,2021年是中國網(wǎng)絡安全的元年;是不是元年我覺得并不重要,重要的是國家越來越重視網(wǎng)絡安全。
2017年6月1日,《中華人民共和國網(wǎng)絡安全法》開始施行。
2021年6月10日,第十三屆全國人民代表大會常務委員會第二十九次會議通過《中華人民共和國數(shù)據(jù)安全法》,自2021年9月1日起施行。
2021年4月9日,《中華人民共和國個人信息保護法(草案)》對外發(fā)布并公開征求意見。
從這些法律的出臺,我們可以看到我國網(wǎng)絡安全相關(guān)的法律體系在逐漸完善,從傳統(tǒng)安全到數(shù)據(jù)安全,再到個人信息保護。
為什么是個人信息保護?前段時間在一個關(guān)于個人信息保護的會上演講老師是這么說的:
傳統(tǒng)安全是為了維護網(wǎng)絡空間主權(quán)和國家安全、社會公共利益,保護公民、法人和其他組織的合法權(quán)益。
對于涉及國家安全&社會公共利益的數(shù)據(jù)大家都很容易理解這里不多說;對于涉及企業(yè)利益的數(shù)據(jù)企業(yè)肯定是重中之重;但對于個人&用戶的數(shù)據(jù)誰來保障?誰來負責?
今年的315晚會曝光中,多個事件涉及個人信息保護,通過對比也很容易看出對于個人信息保護的監(jiān)管力度越來越大,曝光名單見下表:
| 2020年曝光名單 | 2021年曝光名單 |
|---|---|
| 養(yǎng)海參整箱放敵敵畏,南方海參冒充北方海參 | 科衛(wèi)浴、寶4S店、MaxM*ra被爆:違規(guī)竊取人臉數(shù)據(jù) |
| 漢*王用過期面包做漢堡,雞腿排保質(zhì)期隨意改 | 智招聘、前無憂、*聘:簡歷流向黑市 |
| 毛巾生產(chǎn)線的暗黑面:舊襪子舊內(nèi)衣竟是毛巾生產(chǎn)原料 | 手機清理軟件:誘騙老年人 |
| *駿560高速上突然失去動力 故障沒完沒了投訴無處可去 | U瀏覽器、搜索:推送虛假廣告 |
| ...... | ...... |
今年7月份,國家網(wǎng)信辦發(fā)布了關(guān)于該出行App下架的通知,發(fā)布消息稱”根據(jù)舉報,經(jīng)檢測核實,“滴滴出行”App存在嚴重違法違規(guī)收集使用個人信息問題?!?/p>

此事件也讓“個人信息保護”再次成為大眾關(guān)注的焦點。那么,關(guān)于“個人信息保護”有哪些法律法規(guī)和相關(guān)規(guī)范呢?
0X02 法律&規(guī)范
一、《消費者權(quán)益保護法》
第二十九條
經(jīng)營者收集、使用消費者個人信息,應當遵循合法、正當、必要的原則,明示收集、使用信息的目的、方式和范圍,并經(jīng)消費者同意。經(jīng)營者收集、使用消費者個人信息,應當公開其收集、使用規(guī)則,不得違反法律、法規(guī)的規(guī)定和雙方的約定收集、使用信息。
經(jīng)營者及其工作人員對收集的消費者個人信息必須嚴格保密,不得泄露、出售或者非法向他人提供。經(jīng)營者應當采取技術(shù)措施和其他必要措施,確保信息安全,防止消費者個人信息泄露、丟失。在發(fā)生或者可能發(fā)生信息泄露、丟失的情況時,應當立即采取補救措施。
經(jīng)營者未經(jīng)消費者同意或者請求,或者消費者明確表示拒絕的,不得向其發(fā)送商業(yè)性信息。
二、《中華人民共和國網(wǎng)絡安全法》
第二十二條第三款
網(wǎng)絡產(chǎn)品、服務具有收集用戶信息功能的,其提供者應當向用戶明示并取得同意;涉及用戶個人信息的,還應當遵守本法和有關(guān)法律、行政法規(guī)關(guān)于個人信息保護的規(guī)定。
第三十七條
關(guān)鍵信息基礎設施的運營者在中華人民共和國境內(nèi)運營中收集和產(chǎn)生的個人信息和重要數(shù)據(jù)應當在境內(nèi)存儲。因業(yè)務需要,確需向境外提供的,應當按照國家網(wǎng)信部門會同國務院有關(guān)部門制定的辦法進行安全評估;法律、行政法規(guī)另有規(guī)定的,依照其規(guī)定。
第四十一條
網(wǎng)絡運營者收集、使用個人信息,應當遵循合法、正當、必要的原則,公開收集、使用規(guī)則,明示收集、使用信息的目的、方式和范圍,并經(jīng)被收集者同意。
網(wǎng)絡運營者不得收集與其提供的服務無關(guān)的個人信息,不得違反法律、行政法規(guī)的規(guī)定和雙方的約定收集、使用個人信息,并應當依照法律、行政法規(guī)的規(guī)定和與用戶的約定,處理其保存的個人信息。
第四十二條
網(wǎng)絡運營者不得泄露、篡改、毀損其收集的個人信息;未經(jīng)被收集者同意,不得向他人提供個人信息。但是,經(jīng)過處理無法識別特定個人且不能復原的除外。
網(wǎng)絡運營者應當采取技術(shù)措施和其他必要措施,確保其收集的個人信息安全,防止信息泄露、毀損、丟失。在發(fā)生或者可能發(fā)生個人信息泄露、毀損、丟失的情況時,應當立即采取補救措施,按照規(guī)定及時告知用戶并向有關(guān)主管部門報告。
第四十三條
個人發(fā)現(xiàn)網(wǎng)絡運營者違反法律、行政法規(guī)的規(guī)定或者雙方的約定收集、使用其個人信息的,有權(quán)要求網(wǎng)絡運營者刪除其個人信息;發(fā)現(xiàn)網(wǎng)絡運營者收集、存儲的其個人信息有錯誤的,有權(quán)要求網(wǎng)絡運營者予以更正。網(wǎng)絡運營者應當采取措施予以刪除或者更正。
PS:相關(guān)法律實在太多,我不一一列舉,大家可以自己去搜上文中提到的一些法律。
三、《GB/T-2020-35273 信息安全技術(shù)-個人信息安全規(guī)范》
此規(guī)范其實有幫大家列舉一些個人信息參考清單、隱私政策模板等,這里不做過多介紹,大家可以關(guān)注公眾號獲取相關(guān)文檔。
四、《App違法違規(guī)收集使用個人信息行為認定方法》
未公開收集使用規(guī)則
未明示收集使用個人信息的目的、方式和范圍
未經(jīng)用戶同意收集使用個人信息
違反必要原則,收集與其提供的服務無關(guān)的個人信息
未經(jīng)同意向他人提供個人信息
未按法律規(guī)定提供刪除或更正個人信息功能”或“未公布投訴、舉報方式等信息
相關(guān)的法律法規(guī)及安全規(guī)范,相信大家也有所了解,那具體怎么做呢?
0X03 App隱私合規(guī)怎么做?
個人信息保護是個長期的事情,也有一些相關(guān)的標準、指南出臺供大家參考,如:
《App違法違規(guī)收集使用個人信息自評估指南》
《移動互聯(lián)網(wǎng)應用程序(App)收集使用個人信息自評估指南》
《移動互聯(lián)網(wǎng)應用程序(App)個人信息安全測評規(guī)范》
前兩個指南比較簡單照著做就行,下邊說下第三個規(guī)范中提到的具體操作流程及技術(shù)檢測原理&方法。
概述:
主要針對App、App服務端和相關(guān)文檔資料開展測評。
實施過程:
主要包括準備、實施、結(jié)果判斷、報告編寫四個階段,如圖所示。

測評方法:
綜合采用,文件審查、服務端核查、功能驗證、技術(shù)檢測、人員訪談等方式。
其實,文件審查、服務端檢查、功能驗證、人員訪談都比較容易理解,后續(xù)也可以自己去查看相關(guān)文檔。
==下面重點說下技術(shù)檢測(標準里沒有的哦)==
檢測原理:
以靜態(tài)檢測&動態(tài)檢測的方法進行檢查,如:在用戶同意《隱私政策》之前,App是否已在程序后端獲取敏感數(shù)據(jù)。
檢測方法:
在講方法之前我們先擬定一個場景:
在用戶同意《隱私政策》之前,App是否已在程序后端獲取了敏感數(shù)據(jù)。
-
==靜態(tài)檢測(代碼)==
優(yōu)點:檢測速度快、通用性強、技術(shù)簡單
缺點:無法確定是否合規(guī)、加固后無法檢測
操作方式:
通過逆向Apk,反編譯出Apk代碼文件,再通過關(guān)鍵詞(API)檢索源代碼的方式來進行合規(guī)判定。
場景解讀:
這里我們可以搜索《隱私政策》去確定代碼位置,再查找在此之前的代碼是否存在收集敏感數(shù)據(jù)行為,或搜索如下敏感函數(shù)。
android.telephony.TelephonyManager.getNetworkOperator() # 獲取運營商信息 android.telephony.TelephonyManager.getDeviceId() # 獲取設備信息 android.telephony.TelephonyManager.getPhoneType() # 獲取手機信息 android.telephony.TelephonyManager.getSubscriberId() # 獲取設備信息 android.telephony.TelephonyManager.getLine1Number() # 獲取手機號 android.telephony.TelephonyManager.getCellLocation() # 獲取位置信息 android.telephony.TelephonyManager.listen() # 電話監(jiān)聽 android.telephony.TelephonyManager.getSimOperator() # 獲取SIM卡信息 android.app.ActivityManager.getRunningAppProcesses() # 獲取運行APP android.app.ActivityManager.getRunningTasks() # 獲取正運行的task android.content.pm.PackageManager.getInstalledPackages() # 獲取安裝APP ...Ps:App逆向操作流程及工具使用可以翻我之前寫的文章。
==動態(tài)檢測(行為)==
優(yōu)點:檢測確認性高100%能檢測(不會受加固影響)
缺點:技術(shù)復雜、通用性差
操作方式:
通過抓包&Hook沙箱或操作系統(tǒng)沙箱技術(shù),在App運行的過程中,針對特定API進行埋點(可參考上文敏感函數(shù)),查看App是否執(zhí)行了埋點的API,從而判斷是否合規(guī)。
場景解讀:
1.通過抓包的方式,在同意《隱私政策》之前查看流量中是否出現(xiàn)敏感數(shù)據(jù)。
2.通過Hook技術(shù),對敏感函數(shù)進行埋點,在同意《隱私政策》之前查看埋點的函數(shù)是否執(zhí)行。
工具推薦:
1.抓包工具,burpsuite/charles/fiddler 等
2.Hook框架,frida/Xposed框架等
**場景解讀:**
1.通過抓包的方式,在同意《隱私政策》之前查看流量中是否出現(xiàn)敏感數(shù)據(jù)。
2.通過Hook技術(shù),對敏感函數(shù)進行埋點,在同意《隱私政策》之前查看埋點的函數(shù)是否執(zhí)行。
工具推薦:
1.抓包工具,burpsuite/charles/fiddler 等
2.Hook框架,frida/Xposed框架等
以上,就是本人對App隱私合規(guī)粗略的理解,有很多不足也有很多需要大家一起去實踐驗證,有感興趣的朋友歡迎一起交流。
Ps:關(guān)注公眾號回復“35273”可獲取文中提到的相關(guān)文檔。
附錄-取自《GB/T-2020-35273 信息安全技術(shù)-個人信息安全規(guī)范》
個人信息列舉:

個人敏感信息列舉:
