




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件開(kāi)發(fā)包(SDK)安全研究報(bào)告(2022年)202112前言(Application,種類(lèi)和數(shù)量呈爆發(fā)式增長(zhǎng),(SoftwareDevelopmentKit,SDK)應(yīng)用,為日益豐富的AppSDKSDK威脅到集成SDK的AppSDK的安SDK為,以及隱藏在App目錄一、SDK行業(yè)發(fā)展現(xiàn)狀 1(一)SDK應(yīng)用廣泛,行業(yè)發(fā)展持續(xù)活躍 1(二)政策標(biāo)準(zhǔn)逐步明晰,為SDK安全落地提供導(dǎo)向 8二、SDK的合規(guī)風(fēng)險(xiǎn) 10(一)SDK收集使用個(gè)人信息的合規(guī)風(fēng)險(xiǎn)分析 10(二)SDK個(gè)人信息安全合規(guī)要求的總結(jié) 12三、SDK的安全風(fēng)險(xiǎn) 15(一)SDK的安全漏洞問(wèn)題不容忽視 15(二)SDK的惡意行為帶來(lái)隱藏風(fēng)險(xiǎn) 18四、面向開(kāi)發(fā)者的安全措施建議 22(一)面向SDK開(kāi)發(fā)者 22(二)面向App開(kāi)發(fā)者 23附錄一SDK安全實(shí)踐 25(一)信通院發(fā)起SDK安全專(zhuān)項(xiàng)行動(dòng) 25(二)騰訊探索App及SDK合規(guī)解決方案 27附錄二SDK安全關(guān)鍵技術(shù) 32(一)SDK研發(fā)環(huán)境 32(二)SDK安全防護(hù)技術(shù) 32(三)SDK安全檢測(cè)技術(shù) 33附錄三常見(jiàn)SDK安全風(fēng)險(xiǎn) 34圖目錄圖1 各類(lèi)App平均集成SDK數(shù)量 6圖2 集成次數(shù)較多的第三方SDK類(lèi)型分布 7圖3 第三方SDK各類(lèi)敏感行為統(tǒng)計(jì) 7圖4 SDK安全漏洞類(lèi)型占比 16圖5 惡意SDK動(dòng)態(tài)更新后隱蔽執(zhí)行惡意行為 21圖6 新型物聯(lián)網(wǎng)SDK黑產(chǎn) 21圖7 SDK安全專(zhuān)項(xiàng)行動(dòng)評(píng)測(cè)范圍 25圖8 評(píng)測(cè)流程 26圖9 騰訊云移動(dòng)合規(guī)檢測(cè)平臺(tái) 28圖10 平臺(tái)檢測(cè)示例1 28圖平臺(tái)檢測(cè)示例2 29表目錄表1 常見(jiàn)SDK類(lèi)型及典型供應(yīng)商 2表2 部分SDK合規(guī)相關(guān)要求 13表3 典型SDK惡意行為 19軟件開(kāi)發(fā)包(SDK)安全研究報(bào)告(2022年)軟件開(kāi)發(fā)包(SDK)安全研究報(bào)告(2022年)PAGEPAGE10(App)逐漸202120216App302其中,本土第三方應(yīng)用商店App166)App136萬(wàn)款1。在數(shù)量迅速增長(zhǎng)的同時(shí),App也進(jìn)入了精細(xì)化開(kāi)發(fā)階段,軟件開(kāi)發(fā)工具包(SoftwareDevelopmentKit,SDK)2幫AppApp開(kāi)發(fā)周期提供一、SDK行業(yè)發(fā)展現(xiàn)狀SDK為日益豐富的移動(dòng)應(yīng)用功能、服務(wù)提供了技術(shù)上的解決方案,App正在成為自研、商用SDK的組合。一方面,部分App開(kāi)發(fā)者通過(guò)自研SDK提高App開(kāi)發(fā)、更新、維護(hù)的便利性與靈活性;另一方面,各類(lèi)第三方功能、服務(wù)、接口通過(guò)SDK技術(shù)被廣泛應(yīng)用于App產(chǎn)品。(一)SDK應(yīng)用廣泛,行業(yè)發(fā)展持續(xù)活躍SDK種類(lèi)繁多,場(chǎng)景豐富SDK通過(guò)專(zhuān)業(yè)化分工服務(wù),幫助移動(dòng)App快速實(shí)現(xiàn)業(yè)務(wù)功能、和價(jià)值空間,與移動(dòng)互聯(lián)產(chǎn)業(yè)高度共生。按照SDK功能劃分,目前比較成熟的SDK有廣告類(lèi)、推送類(lèi)、數(shù)據(jù)統(tǒng)計(jì)分析類(lèi)、地圖類(lèi)等,1
表1常見(jiàn)SDK類(lèi)型及典型供應(yīng)商序號(hào)SDK分類(lèi)功能描述典型供應(yīng)商廣告類(lèi)提供廣告展示和廣告相關(guān)數(shù)據(jù)分SDK,AppApp中展示廣戶(hù)的點(diǎn)擊賺取收益廣點(diǎn)通、力美、友盟、TalkingData、有米、多盟等1.2.推送類(lèi)向用戶(hù)推送各類(lèi)消息、通知等極光推送,個(gè)推推送,Mobpush3.數(shù)據(jù)統(tǒng)計(jì)分析類(lèi)App之間的交互行為的功能。根據(jù)用戶(hù)使用App地改進(jìn)AppAppsee、Mixpanel、GoogleAnalytics等4.地圖類(lèi)提供定位、優(yōu)化路線(xiàn)、軌跡糾偏、圖層繪制、AR、全景等功能SDKSDKSDK、googlemapSDK等5.第三方登錄類(lèi)提供通過(guò)其他賬號(hào)體系(如微博、QQ)的功能QQ互聯(lián)、微信開(kāi)放平臺(tái)、微博開(kāi)放平臺(tái)6.社交類(lèi)提供社交功能,如消息、分享、排行等功能QQ互聯(lián)、微信開(kāi)放平臺(tái)、微博開(kāi)放平臺(tái)7.支付類(lèi)提供付款、財(cái)務(wù)管理、分銷(xiāo)等功能BmobSDK、SDKPing++SDK、Beecloud支付等8.Crash類(lèi)監(jiān)控提供App崩潰、App無(wú)響應(yīng)、卡頓的數(shù)據(jù)收集與分析BuglyUmengfirebase等9.人工智能應(yīng)用類(lèi)人臉識(shí)別、人體識(shí)別、人像處理、文字識(shí)別、視頻技術(shù)、AR與VR技術(shù)、語(yǔ)音或拍照翻譯等等海量的功能AI開(kāi)放平臺(tái)SDK、Face++旗下多款SDK開(kāi)放平臺(tái)旗下多款SDK產(chǎn)品等來(lái)源:公開(kāi)資料整理廣告類(lèi)SDK廣告類(lèi)SDK可以為App通過(guò)在開(kāi)發(fā)的AppSDK,App可以通過(guò)插屏廣告、浮SDK包括廣點(diǎn)通、力美、友盟、、有推送類(lèi)SDK推送類(lèi)SDK可以實(shí)現(xiàn)服務(wù)器對(duì)AppSDK實(shí)現(xiàn)推送功能,推送方式靈活多樣送類(lèi)SDK目前主流的推送類(lèi)SDK供應(yīng)商包括極光推送,個(gè)推推送,Mobpush,友盟推送,百度推送,云巴推送等。數(shù)據(jù)統(tǒng)計(jì)分析類(lèi)SDK數(shù)據(jù)統(tǒng)計(jì)分析類(lèi)SDK植入App后,通過(guò)埋點(diǎn),可以追蹤到AppSDK被AppApp用戶(hù)對(duì)此類(lèi)SDK的存在幾乎難以察覺(jué)。常見(jiàn)的數(shù)據(jù)分析類(lèi)SDKAppseeMixpanelGoogleAnalytics等。地圖類(lèi)SDK部分App在用戶(hù)使用時(shí)需要調(diào)用地圖功能,例如某網(wǎng)約車(chē)App使用某電子地圖廠商的地圖類(lèi)SDK,即可調(diào)用相關(guān)地圖信息及服務(wù)。地圖類(lèi)SDK主要圍繞地圖功能,可以提供定位、優(yōu)化路線(xiàn)、軌跡糾偏、圖層繪制、AR、全景以及調(diào)用其他各種地圖數(shù)據(jù)等服務(wù)。常見(jiàn)的地圖類(lèi)SDK包括騰訊地圖SDK、百度地圖SDK、凱立德SDK、googlemapSDK等。第三方登錄類(lèi)SDK第三方登錄類(lèi)SDK可提供其他服務(wù)的賬號(hào)登錄功能,如App或QQSDKQQ賬號(hào)登錄App目前常見(jiàn)的第三方登錄類(lèi)SDK包括QQ登錄、微信登錄以及微博登錄等。支付類(lèi)SDKApp時(shí),用戶(hù)經(jīng)常需要在購(gòu)買(mǎi)會(huì)員或服務(wù)等支付場(chǎng)景使SDKApp品的付款功能。此類(lèi)場(chǎng)景下常用的支付類(lèi)SDK有支付寶、微信、百ApplePay等。此外,許多公司在上述SDK的基礎(chǔ)上開(kāi)發(fā)比如聚合支付平臺(tái)等SDK產(chǎn)品,以實(shí)現(xiàn)財(cái)務(wù)管理、多級(jí)分銷(xiāo)、多門(mén)店分銷(xiāo)等功能,SDKBmobSDKSDK、Ping++SDK、BeecloudSDK等。Crash監(jiān)控類(lèi)SDKCrashSDKApp開(kāi)發(fā)者提供專(zhuān)業(yè)的異常上報(bào)目前常見(jiàn)的Crash監(jiān)控類(lèi)SDK包括bugly、Umeng、firebase等。人工智能應(yīng)用類(lèi)SDK人工智能應(yīng)用類(lèi)SDKAR與VR技術(shù)、語(yǔ)音或拍照翻譯等功能。人臉識(shí)別方向的SDK可以進(jìn)一步應(yīng)用于智慧安防、智慧零售等場(chǎng)景;SDK可以幫助判斷身份證照片是否清晰可使用、是常見(jiàn)的人工智能應(yīng)用類(lèi)SDK包括騰訊AI開(kāi)放平臺(tái)SDKFace++旗下多款SDK產(chǎn)品、百度AI開(kāi)放平臺(tái)旗下多款SDK產(chǎn)品等。App集成多款SDK,形成共生關(guān)系SDK已經(jīng)成為移動(dòng)應(yīng)用生態(tài)中的重要一環(huán),開(kāi)發(fā)者、運(yùn)營(yíng)者出App開(kāi)發(fā)設(shè)計(jì)過(guò)程中普遍使用自研或第三方SDKApp通常集成多款SDK,互相之間形成共生關(guān)系。各類(lèi)App平均集成SDK據(jù)信通院及騰訊數(shù)據(jù)統(tǒng)計(jì),目前國(guó)內(nèi)一款A(yù)pp20SDKApp平均使用第三方SDK30.630.528.6。來(lái)源:中國(guó)信息通信研究院整理圖1各類(lèi)App平均集成SDK數(shù)量App集成第三方SDK第三方SDK100款以上App集成的第三方SDK300003000款SDKSDK2來(lái)源:中國(guó)信息通信研究院整理圖2集成次數(shù)較多的第三方SDK類(lèi)型分布第三方SDKSDK為了實(shí)現(xiàn)相關(guān)的功能,有可能會(huì)收集使用用戶(hù)個(gè)人信息和設(shè)備信息,下圖統(tǒng)計(jì)了各類(lèi)敏感行為在第三方SDK中出現(xiàn)的ID獲取、動(dòng)態(tài)dex加載等行為出現(xiàn)的頻來(lái)源:中國(guó)信息通信研究院整理圖3第三方SDK各類(lèi)敏感行為統(tǒng)計(jì)(二)政策標(biāo)準(zhǔn)逐步明晰,為SDK安全落地提供導(dǎo)向SDKAppSDKAppApp的安全治理工作形成阻礙。目前國(guó)內(nèi)關(guān)于SDK安全的要求主要分散在App的合規(guī)問(wèn)題與安全風(fēng)險(xiǎn)已經(jīng)進(jìn)入各方視野,相關(guān)工作在持監(jiān)管層面2020年7場(chǎng)監(jiān)管總局四部門(mén)啟動(dòng)2020年App違法違規(guī)收集使用個(gè)人信息SDK2021312App集成的SDK20214月,在國(guó)家互聯(lián)網(wǎng)信息辦公室的統(tǒng)籌指導(dǎo)下,工業(yè)和APP第三方服標(biāo)準(zhǔn)層面2020年11月全國(guó)信息安全標(biāo)準(zhǔn)化委員會(huì)發(fā)布了《網(wǎng)絡(luò)安全標(biāo)準(zhǔn)(SDK)安全指引》(以下簡(jiǎn)稱(chēng)SDK安全指引),同期每日互動(dòng)正在起草國(guó)家標(biāo)準(zhǔn)《信息安全技術(shù)移動(dòng)互聯(lián)網(wǎng)應(yīng)用程序(App)軟件開(kāi)發(fā)工具包(SDK)安全要求》(SDK安全國(guó)標(biāo))。騰訊正在牽頭以下簡(jiǎn)稱(chēng)SDK。SDK安全指引由中國(guó)電子技術(shù)標(biāo)準(zhǔn)化研究院、騰訊等十余家企App使用SDK過(guò)程中可能面臨的SDKApp使用SDK少因SDK造成的AppSDK安全國(guó)標(biāo)3由每日互動(dòng)、中國(guó)信息通信研究院、騰訊等多家SDKSDK和App之SDK安全行標(biāo)由騰訊、中國(guó)信息通信研究院、等多家企事業(yè)單位參與,從SDK應(yīng)用安全角度出發(fā),明確移動(dòng)應(yīng)用軟件使用第三方SDKSDK惡意SDK除上述一般標(biāo)準(zhǔn)或規(guī)范之外,金融行業(yè)也針對(duì)SDK制定了《個(gè)等具有行業(yè)特色的標(biāo)準(zhǔn),內(nèi)容主要包括:授權(quán)同意:使用SDK收集處理個(gè)人金融信息時(shí),應(yīng)確保SDK經(jīng)過(guò)信息主體授權(quán)。安全評(píng)估:通過(guò)SDK實(shí)現(xiàn)個(gè)人金融信息的共享轉(zhuǎn)讓?zhuān)瑧?yīng)定期檢查或評(píng)估SDK的安全性和可靠性,并留存檢查評(píng)估記錄;若委托第三方SDKSDK開(kāi)展SDKSDK信息及引用該SDK二、SDK的合規(guī)風(fēng)險(xiǎn)SDK能夠幫助App開(kāi)發(fā)者在無(wú)需了解技術(shù)細(xì)節(jié)的情況下快速實(shí)現(xiàn)特定功能,但也導(dǎo)致其開(kāi)發(fā)、運(yùn)營(yíng)具有一定封閉性,用戶(hù)和App開(kāi)發(fā)者難以完全掌握第三方SDK收集使用個(gè)人信息的范圍、方式、用途等。如果SDK收集使用個(gè)人信息方面存在合規(guī)風(fēng)險(xiǎn),App集成SDK并應(yīng)用時(shí)將對(duì)用戶(hù)個(gè)人信息構(gòu)成威脅。(一)SDK收集使用個(gè)人信息的合規(guī)風(fēng)險(xiǎn)分析SDK未經(jīng)用戶(hù)同意收集個(gè)人信息SDK通常無(wú)法獨(dú)立展示前臺(tái)頁(yè)面,其告知行為往往需要借助宿主AppSDK未向App所收集的個(gè)人信息,或者SDKApp明示等原因,使得用戶(hù)對(duì)SDK收集個(gè)人信息行為毫無(wú)感知。還有部分SDK未經(jīng)用戶(hù)同意,私自調(diào)用權(quán)限隱蔽收集個(gè)人信息,私自通過(guò)自啟動(dòng)、關(guān)聯(lián)啟動(dòng)等方式收集個(gè)人信息。SDK未經(jīng)用戶(hù)同意收集個(gè)App制定收集使SDK超范圍收集個(gè)人信息SDK實(shí)際收集的用戶(hù)個(gè)人信息超出公開(kāi)文檔所聲明的系統(tǒng)權(quán)限SDKSDKSDK未經(jīng)用戶(hù)授權(quán)使用個(gè)人信息SDK幫助App開(kāi)發(fā)者實(shí)現(xiàn)登錄、支付、推送、數(shù)據(jù)統(tǒng)計(jì)分析等K收集的個(gè)人信息可能涉及個(gè)人身份、財(cái)產(chǎn)等敏感信息,還可以通過(guò)AppSDK可能AppApp用戶(hù)個(gè)人信息,一較單個(gè)AppSDK違規(guī)傳輸個(gè)人信息SDKMAC地App或本地惡意程序截獲,導(dǎo)致用戶(hù)個(gè)人信息泄露。另一方面,在未經(jīng)用戶(hù)同意的情況下,SDK有可能采取加密等方式私自傳輸收集的個(gè)人信息,如果SDK收集使用個(gè)人信息行AppApp帶來(lái)額外的合App對(duì)嵌入SDK的安全管理監(jiān)督不足目前許多App與SDK定,同時(shí)App針對(duì)SDK度,使得App對(duì)嵌入的SDK集成第三方SDK時(shí)容易引入個(gè)人信息合規(guī)風(fēng)險(xiǎn)。服務(wù)提供方應(yīng)如何合法、合規(guī)地收集、保存、使用個(gè)人信息,AppSDK的個(gè)人信息、雙方權(quán)利義務(wù)及第三方SDK收集使用個(gè)人信息情況等(二)SDK個(gè)人信息安全合規(guī)要求的總結(jié)App本身收集使用個(gè)人信息的合規(guī)問(wèn)題受到監(jiān)督,“隱藏”在App中的SDK的合規(guī)問(wèn)題也引起各方重視。對(duì)于存在收集使用個(gè)人信息行為的SDK,SDK服務(wù)提供者作為個(gè)人信息處理者應(yīng)遵守個(gè)人義務(wù)。目前國(guó)內(nèi)關(guān)于SDK的合規(guī)要求分散在App相關(guān)的法律法規(guī)和政策標(biāo)準(zhǔn)中,下表梳理了部分重要文件和標(biāo)準(zhǔn)中明確對(duì)SDK提出合規(guī)要求的相關(guān)內(nèi)容。表2部分SDK合規(guī)相關(guān)要求合規(guī)風(fēng)險(xiǎn)合規(guī)要求依據(jù)SDK同意收集個(gè)人信息APP、SDK未告知用戶(hù)收集個(gè)人信息的目《工業(yè)和信息化部關(guān)于開(kāi)展縱深推進(jìn)APP侵害用戶(hù)權(quán)益專(zhuān)項(xiàng)整治行動(dòng)的通知》以下行為可被認(rèn)定為未明示收集使收集使《App違法違規(guī)收集使用個(gè)人信息行為認(rèn)定方法》用個(gè)人信息的目的、方式、范圍等APP第三方服務(wù)提供者應(yīng)當(dāng)履行以《移動(dòng)互聯(lián)網(wǎng)應(yīng)用程序下個(gè)人信息保護(hù)義務(wù):個(gè)人信息保護(hù)管理暫行(一)制定并公開(kāi)個(gè)人信息處理規(guī)規(guī)定(征求意見(jiàn)稿》則;(二)以明確、易懂、合理的方式向APP開(kāi)發(fā)運(yùn)營(yíng)者公開(kāi)其個(gè)人信息處理目的、處理方式、處理類(lèi)型、保存期限等內(nèi)容,其個(gè)人信息處理活動(dòng)應(yīng)當(dāng)與公開(kāi)的個(gè)人信息處理規(guī)則保持一致;SDK收集個(gè)人信息時(shí),應(yīng)向《App違法違規(guī)收集使用個(gè)人信息自評(píng)估指南》型。2.1是否逐一列出App收集使用個(gè)《網(wǎng)絡(luò)安全標(biāo)準(zhǔn)實(shí)踐指人信息的目的、方式、范圍等c)如嵌入的第三方代碼、插件(如南—移動(dòng)互聯(lián)網(wǎng)應(yīng)用程序(App)收集使用個(gè)人信息自評(píng)估指南》信息的目的、類(lèi)型、方式。SDK超范圍收超范圍收集個(gè)人信息。重點(diǎn)整治《工業(yè)和信息化部關(guān)于集個(gè)人信息APPSDK非服務(wù)所必需或無(wú)合理應(yīng)開(kāi)展縱深推進(jìn)APP侵害用場(chǎng)景,特別是在靜默狀態(tài)下或在后用戶(hù)權(quán)益專(zhuān)項(xiàng)整治行動(dòng)的通知》臺(tái)運(yùn)行時(shí),超范圍收集個(gè)人信息的行為。APP第三方服務(wù)提供者應(yīng)當(dāng)履行以下個(gè)人信息保護(hù)義務(wù):(三未經(jīng)用戶(hù)同意或者在無(wú)合理業(yè)《移動(dòng)互聯(lián)網(wǎng)應(yīng)用程序個(gè)人信息保護(hù)管理暫行規(guī)定(征求意見(jiàn)稿》更新等行為;SDK未經(jīng)用戶(hù)授權(quán)使用個(gè)人信息APP、SDK《工業(yè)和信息化部關(guān)于開(kāi)展縱深推進(jìn)APP侵害用戶(hù)權(quán)益專(zhuān)項(xiàng)整治行動(dòng)用于其提供服務(wù)之外的目的,特別是的通知》私自向其他應(yīng)用或服務(wù)器發(fā)送、共享用戶(hù)個(gè)人信息的行為。APP第三方服務(wù)提供者應(yīng)當(dāng)履行以《移動(dòng)互聯(lián)網(wǎng)應(yīng)用程序下個(gè)人信息保護(hù)義務(wù):個(gè)人信息保護(hù)管理暫行(四采取足夠的管理措施和技術(shù)手規(guī)定(征求意見(jiàn)稿》段保護(hù)個(gè)人信息,發(fā)現(xiàn)安全風(fēng)險(xiǎn)或者個(gè)人信息處理規(guī)則變更時(shí)應(yīng)當(dāng)及時(shí)進(jìn)行更新并告知APP開(kāi)發(fā)運(yùn)營(yíng)者;SDK收集個(gè)人信《App違法違規(guī)收集使用個(gè)人信息自評(píng)估指南》的目的、類(lèi)型。強(qiáng)制用戶(hù)使用定向推送功能。重點(diǎn)整《工業(yè)和信息化部關(guān)于治APP、SDK未以顯著方式標(biāo)示且未經(jīng)用戶(hù)同意,將收集到的用戶(hù)搜開(kāi)展縱深推進(jìn)APP侵害用戶(hù)權(quán)益專(zhuān)項(xiàng)整治行動(dòng)的通知》用于定向推送或廣告精準(zhǔn)營(yíng)銷(xiāo),且未提供關(guān)閉該功能選項(xiàng)的行為。SDK違規(guī)傳輸APP第三方服務(wù)提供者應(yīng)當(dāng)履行以《移動(dòng)互聯(lián)網(wǎng)應(yīng)用程序共享個(gè)人信息下個(gè)人信息保護(hù)義務(wù):個(gè)人信息保護(hù)管理暫行(五)未經(jīng)用戶(hù)同意,不得將收集到規(guī)定(征求意見(jiàn)稿》的用戶(hù)個(gè)人信息共享轉(zhuǎn)讓?zhuān)籄ppSDK理監(jiān)督不足9.7第三方接入管理當(dāng)個(gè)人信息控制者在其產(chǎn)品或服務(wù)中接入具備收集個(gè)人信息功能的第《信息安全技術(shù)個(gè)人信(35273—2020)三方產(chǎn)品或服務(wù)且不適用9.1和9.6時(shí),對(duì)個(gè)人信息控制者的要求包括:建立第三方產(chǎn)品或服務(wù)接入管理評(píng)估等機(jī)制設(shè)置接入條件;應(yīng)與第三方產(chǎn)品或服務(wù)提供者通過(guò)合同等形式明確雙方的安全責(zé)任及應(yīng)實(shí)施的個(gè)人信息安全措施;應(yīng)向個(gè)人信息主體明確標(biāo)識(shí)產(chǎn)品或服務(wù)由第三方提供;應(yīng)妥善留存平臺(tái)第三方接入有關(guān)閱;應(yīng)要求第三方根據(jù)本標(biāo)準(zhǔn)相關(guān)要求向個(gè)人信息主體征得收集個(gè)人信方式;應(yīng)要求第三方產(chǎn)品或服務(wù)建立響應(yīng)個(gè)人信息主體請(qǐng)求和投訴等的機(jī)制,以供個(gè)人信息主體查詢(xún)、使用。三、SDK的安全風(fēng)險(xiǎn)
來(lái)源:公開(kāi)資料整理在App開(kāi)發(fā)逐漸模塊化、去中心化的趨勢(shì)下,App業(yè)務(wù)功能的實(shí)現(xiàn)愈發(fā)依賴(lài)SDK,而SDK可能向App屏蔽特定功能的實(shí)現(xiàn)細(xì)節(jié),其行為具有隱蔽性。一旦SDK出現(xiàn)安全問(wèn)題,還會(huì)影響宿主App及其用戶(hù)。SDK可能存在的安全漏洞、惡意行為,以及隱蔽在App背后不透明地收集使用個(gè)人信息等問(wèn)題逐漸成為各方關(guān)注的焦點(diǎn)問(wèn)題。(一)SDK的安全漏洞問(wèn)題不容忽視SDK??梢詫DK安全漏洞劃分為五類(lèi):代碼源文件安全類(lèi)、內(nèi)部數(shù)據(jù)類(lèi)等,圖4展示了這幾種類(lèi)型的漏洞出現(xiàn)的占比情況。來(lái)源:中國(guó)信息通信研究院整理圖4SDK安全漏洞類(lèi)型占比代碼源文件安全SDKiOSiOSSDK未經(jīng)加在開(kāi)發(fā)環(huán)境下,SDKjar代碼包的形式提供給AppApp開(kāi)發(fā)者將SDKJava可能導(dǎo)致SDK業(yè)務(wù)執(zhí)行邏輯、敏感配置、關(guān)鍵字段、傳輸通道、加解密協(xié)議等信息泄露。攻擊者可以通過(guò)逆向分析和破解SDK核心邏輯,進(jìn)一步破壞SDK安全機(jī)制或者惡意篡改代碼,甚至嵌入后門(mén)代碼,嚴(yán)重威脅SDK、宿主App以及用戶(hù)的數(shù)據(jù)安全。內(nèi)部數(shù)據(jù)交互安全在內(nèi)部數(shù)據(jù)交互安全方面,SDK也面臨多重安全風(fēng)險(xiǎn)。從技術(shù)業(yè)務(wù)邏輯上看,SDK產(chǎn)品作為某類(lèi)業(yè)務(wù)功能的底層實(shí)現(xiàn)手段,為宿App實(shí)現(xiàn)業(yè)務(wù)功能或提供推送、統(tǒng)計(jì)、分析等輕量附加功能,與宿主App的可能性。調(diào)用系統(tǒng)本地瀏覽器組件過(guò)程中存在的安全配置問(wèn)題是SDKSDKApp進(jìn)行攻擊,可能導(dǎo)致AppSDKSDKAPP的任意組件的惡意調(diào)用、任意虛假消息的通知、遠(yuǎn)程代碼執(zhí)本地?cái)?shù)據(jù)存儲(chǔ)安全SDK在用戶(hù)終端設(shè)備上創(chuàng)建本地?cái)?shù)據(jù)庫(kù)文件,用于存儲(chǔ)運(yùn)SDKSDK在本地?cái)?shù)據(jù)庫(kù)中存通信數(shù)據(jù)傳輸安全在數(shù)據(jù)傳輸?shù)陌踩珯C(jī)制方面,部分SDK存在使用不安全的傳輸過(guò)程中可能被截獲、竊取,其中HTTP傳輸協(xié)議明文數(shù)據(jù)傳輸、HTTPSHTTPS雙向認(rèn)證防御檢測(cè)件進(jìn)行加密、合法性和完整性校驗(yàn),防止被惡意利用漏洞。以ZipperDownAppZipZip文件的過(guò)程中沒(méi)有對(duì)Zip內(nèi)文件名做校驗(yàn)導(dǎo)致,如果文件名中含有“../”則可App內(nèi)任意目錄的跳轉(zhuǎn)和文件(二)SDK的惡意行為帶來(lái)隱藏風(fēng)險(xiǎn)SDK惡意行為會(huì)影響到AppSDK為了App的初期不會(huì)表現(xiàn)出惡意行為,后續(xù)SDK惡意行為包括流量劫持、資費(fèi)消耗、3。表3典型SDK惡意行為序號(hào)行為名稱(chēng)惡意行為1流量劫持SDK信息拉取、上報(bào)和展示目標(biāo)與App提供者設(shè)定的目標(biāo)不同,惡意劫持App流量,可能對(duì)App造成損害。2資費(fèi)消耗SDK通過(guò)消耗用戶(hù)網(wǎng)絡(luò)套餐資費(fèi)、惡意發(fā)送收費(fèi)短信,訂閱收費(fèi)服務(wù)等行為,造成用戶(hù)的資金損失。3隱私竊取SDK在用戶(hù)不知情或誤導(dǎo)用戶(hù)的情況下,隱蔽竊取用戶(hù)的通訊錄、短信息等個(gè)人敏感信息,隱蔽進(jìn)行拍照、錄音等敏感行為,并發(fā)送給惡意開(kāi)發(fā)者。4靜默下載安裝SDK在后臺(tái)靜默下載、安裝其它惡意軟件或病毒木馬。5廣告刷量SDK在用戶(hù)不知情的情況下,在后臺(tái)模擬人工點(diǎn)擊廣告鏈接的行為來(lái)牟利。6惡意廣告SDK向用戶(hù)推送包含欺詐內(nèi)容、病毒木馬的廣告鏈接。推送過(guò)量廣告,進(jìn)而長(zhǎng)期占用系統(tǒng)通知欄、屏幕界面,干擾用戶(hù)正常使用App。7勒索SDK惡意加密用戶(hù)手機(jī)中的文件,干擾用戶(hù)對(duì)手機(jī)的正常使用,并以恢復(fù)正常使用為由向用戶(hù)勒索錢(qián)財(cái)。8挖礦SDK在用戶(hù)不知情的情況下利用其手機(jī)的計(jì)算能力來(lái)為攻擊者獲取電子加密貨幣,對(duì)用戶(hù)設(shè)備硬件造成性能損耗。9遠(yuǎn)程控制SDK在手機(jī)端啟動(dòng)本地后臺(tái)服務(wù)器,接收遠(yuǎn)程控制端發(fā)來(lái)的控制指令,隱蔽進(jìn)行上述其他惡意行為。10剪切板劫持SDK欺騙用戶(hù),或者影響其他應(yīng)用正常使用。SDK非法獲取用戶(hù)隱私
來(lái)源:公開(kāi)資料整理一些惡意開(kāi)發(fā)者開(kāi)始從開(kāi)發(fā)惡意App向開(kāi)發(fā)惡意SDK轉(zhuǎn)移,利用SDK能夠嵌入多個(gè)AppSDKApp簽合同或者免費(fèi)下載的方式集成到App(實(shí)際案例中被感染的App中,在App不知情的情況下接觸到用戶(hù)。惡意SDK意開(kāi)發(fā)者通過(guò)使用代碼分離和動(dòng)態(tài)代碼加載技術(shù),從云端對(duì)包含該SDK的用戶(hù)設(shè)備進(jìn)行非法控制,具有很強(qiáng)的隱蔽性和對(duì)抗殺毒軟件根據(jù)廣告商的需求,在用戶(hù)無(wú)感的情況下,通過(guò)惡意子包進(jìn)行App拉活、廣告刷量等行為。來(lái)源:騰訊圖5惡意SDK動(dòng)態(tài)更新后隱蔽執(zhí)行惡意行為SDK黑產(chǎn)SDK,后通過(guò)云端控制入侵IP池(IP),IP產(chǎn)品出售給賭博、網(wǎng)絡(luò)水6SDK
來(lái)源:騰訊四、面向開(kāi)發(fā)者的安全措施建議SDK的安全涉及到設(shè)計(jì)、開(kāi)發(fā)、分發(fā)、集成等關(guān)鍵環(huán)節(jié),SDK開(kāi)發(fā)者和AppSDK(一)面向SDK開(kāi)發(fā)者處理個(gè)人信息應(yīng)滿(mǎn)足相關(guān)法律法規(guī)要求SDKSDKSDKSDKApp開(kāi)發(fā)者提供合規(guī)與安全開(kāi)發(fā)指南作為被集成方,SDK開(kāi)發(fā)者可通過(guò)主動(dòng)向App開(kāi)發(fā)者提供合規(guī)指南的方式,引導(dǎo)App開(kāi)發(fā)者在集成并使用SDK時(shí),采取必要的措施保護(hù)用戶(hù)個(gè)人信息安全。SDK開(kāi)發(fā)者應(yīng)主動(dòng)向App告知SDK的相關(guān)信息,告知的信息應(yīng)完整、準(zhǔn)確、及時(shí),不存在故意隱瞞、欺騙等行為。App開(kāi)發(fā)者約定雙方在個(gè)人信息保護(hù)方面的責(zé)權(quán)SDK(二)面向App開(kāi)發(fā)者遵循合法、正當(dāng)、必要的原則選擇SDKSDK安全規(guī)范App開(kāi)發(fā)者應(yīng)遵循合法、正當(dāng)、必要的原則,使用提供者基本信息明確、溝通反饋渠道有效的第三方SDK。針對(duì)SDK的引入、使用、運(yùn)維到退出全生命周期中可能面臨的安全風(fēng)險(xiǎn)進(jìn)行全面分析,制定SDK安全規(guī)范,降低因引入SDK帶來(lái)的安全風(fēng)險(xiǎn)。依法依規(guī)處理與SDK相關(guān)的個(gè)人信息SDK的SDKSDKAppSDKSDKApp促第三方SDK提供者按照合作協(xié)議約束,刪除從本App共享或收集的個(gè)人信息或做匿名化處理。SDK安全性SDK方面分別應(yīng)采取的措施、承擔(dān)的責(zé)任和義務(wù)等。對(duì)集成后的第三方SDKKK附錄一SDK安全實(shí)踐(一)信通院發(fā)起SDK安全專(zhuān)項(xiàng)行動(dòng)20216月,中國(guó)信息通信研究院安全研究所大數(shù)據(jù)應(yīng)用與安“SDK技術(shù)能力和實(shí)踐積累,積極開(kāi)展前瞻研究和實(shí)踐探索,形成完整的SDKSDK安全評(píng)測(cè)范圍評(píng)測(cè)對(duì)象為安卓(Android)App集成的SDK產(chǎn)品,包括企業(yè)自研自用的SDK以及第三方SDKSDK來(lái)源:中國(guó)信息通信研究院圖7SDK安全專(zhuān)項(xiàng)行動(dòng)評(píng)測(cè)范圍專(zhuān)項(xiàng)行動(dòng)進(jìn)展13款SDK114。圖8評(píng)測(cè)流程
來(lái)源:中國(guó)信息通信研究院下一步行動(dòng)計(jì)劃實(shí)驗(yàn)室“SDK安全專(zhuān)項(xiàng)行動(dòng)”將定期開(kāi)放SDK安全評(píng)測(cè),幫助SDK開(kāi)發(fā)者、使用者預(yù)先發(fā)現(xiàn)SDK自身存在的安全問(wèn)題,提早部署防范措施。有意向參與SDK安全專(zhuān)項(xiàng)行動(dòng)的企業(yè),可通過(guò)信通院官網(wǎng)及大數(shù)據(jù)應(yīng)用與安全創(chuàng)新實(shí)驗(yàn)室微信公眾號(hào)跟蹤動(dòng)向?;腟DKSDKSDK安全評(píng)測(cè)工作準(zhǔn)確性、高效性、權(quán)威性,推(二)騰訊探索App及SDK合規(guī)解決方案騰訊云移動(dòng)合規(guī)檢測(cè)平臺(tái)騰訊云App隱私合規(guī)檢測(cè)產(chǎn)品支持App及其集成的第三方SDK相APKAPK是否化部337號(hào)令》、《工信部信管函〔2020〕164號(hào)》、《App違法違規(guī)收集使用個(gè)人信息行為認(rèn)定方法》和《個(gè)人信息安全規(guī)范》,對(duì)APK圖9騰訊云移動(dòng)合規(guī)檢測(cè)平臺(tái)
來(lái)源:騰訊圖10平臺(tái)檢測(cè)示例1
來(lái)源:騰訊來(lái)源:騰訊圖11平臺(tái)檢測(cè)示例2目前,可以自動(dòng)化進(jìn)行識(shí)別檢測(cè)點(diǎn)主要包括:App、SDK未告知用戶(hù)收集個(gè)人信息的目的、方式、范圍且未經(jīng)用戶(hù)同意,私自收集用戶(hù)個(gè)人信息的行為。App、SDK非服務(wù)所必需或無(wú)合理應(yīng)用場(chǎng)景,特別是在靜默狀態(tài)下或在后臺(tái)運(yùn)行時(shí),超范圍或超頻次收集個(gè)人信息的行為。SDKApp未向用戶(hù)告知且未經(jīng)用戶(hù)同意,或無(wú)合理的使用場(chǎng)景,頻繁自啟動(dòng)或關(guān)聯(lián)啟動(dòng)第三方App的行為。App未向用戶(hù)提供賬號(hào)注銷(xiāo)服務(wù),或?yàn)樽N(xiāo)服務(wù)設(shè)置不合理的障礙。騰訊靈犀隱私保護(hù)平臺(tái)級(jí)SDK對(duì)SDKApp的SDK包名、及SDK靈犀搭建專(zhuān)門(mén)的SDK配置庫(kù)及合規(guī)庫(kù),為AppSDKSDKSDK驗(yàn)證采集個(gè)人信息的SDK的合規(guī)版本通過(guò)宿主列表一鍵推送給App附錄二SDK安全關(guān)鍵技術(shù)(一)SDK研發(fā)環(huán)境SDK的研發(fā)環(huán)境和底層依賴(lài)與App開(kāi)發(fā)基本一致,區(qū)別在于SDK開(kāi)發(fā)的是實(shí)現(xiàn)某特定功能的模塊,可以被其他App集成并使用。SDK的分發(fā)可以采用編譯好的Jar包、ARR包或源代碼分發(fā)等多種方式。一般商用的SDK都會(huì)采用編譯好的Jar包、ARR包的分發(fā)方式,從而盡可能地保證SDK源代碼不被泄露和篡改。(二)SDK安全防護(hù)技術(shù)SDK的安全防護(hù)主要目的保護(hù)自身功能的核心邏輯不被惡意破解和篡改,因此針對(duì)SDK自身的防護(hù)技術(shù)主要包括:代碼混淆、代碼加密、SO加固等。代碼混淆是指將程序的代碼轉(zhuǎn)換成一種功能上等價(jià)、但是難以閱讀和理解的行為,主要包括:將代碼中的各種元素,如變量、函數(shù)、類(lèi)的名字改寫(xiě)成無(wú)意義的名字;重寫(xiě)代碼中的部分邏輯,如將for循環(huán)改寫(xiě)成while循環(huán),將循環(huán)改寫(xiě)成遞歸,精簡(jiǎn)中間變量等。SO加固是指將部分核心的算法邏輯放到native層實(shí)現(xiàn),然后使用SOVMP(三)SDK安全檢測(cè)技術(shù)SDK安全檢測(cè)可以從來(lái)源安全性、代碼安全性以及行為安全性等方面開(kāi)展??赏ㄟ^(guò)檢查SDKSDK提供者的溝通反饋渠道、SDK隱私政策鏈接地址、SDK提供者的安全能SDKSDKSDK存在已知的安全漏洞;是否申請(qǐng)敏感權(quán)限;是否嵌入了其他第三方SDK等。IPSDK是否會(huì)共享個(gè)附錄三常見(jiàn)SDK安全風(fēng)險(xiǎn)安全風(fēng)險(xiǎn)名稱(chēng)安全風(fēng)險(xiǎn)描述Web組件遠(yuǎn)程代碼執(zhí)行漏洞AppAndroid對(duì)象訪問(wèn)url,在同時(shí)滿(mǎn)足以下條件均可導(dǎo)出遠(yuǎn)程代碼執(zhí)行漏洞:setJavaScriptEnabled(true);addJavascriptInterfaceAPIjs交互(Android4.2);3 )未移除系統(tǒng)默認(rèn)注冊(cè)導(dǎo)出的對(duì)象(searchBoxJavaBridge_/accessibility/accessibilityTraversal)ContentProvider 件數(shù)據(jù)泄露漏洞AndriodProviderURI查詢(xún)關(guān)聯(lián)的應(yīng)用數(shù)據(jù)。Provideruri參數(shù)未做嚴(yán)格校驗(yàn),導(dǎo)致當(dāng)惡意用戶(hù)傳入../../../../的所有隱私文件Activity隱私泄露漏洞Android應(yīng)用的內(nèi)置瀏覽器(url,并在應(yīng)用內(nèi)打開(kāi))file偽協(xié)議,html文件。典型場(chǎng)景是接收文件后在聊天窗口中打開(kāi)文件。filejsActivityurlfilehtml未對(duì)所加載文件的路徑或文件屬性等做校驗(yàn)js腳本Manifest不安全屬性配置風(fēng)險(xiǎn)允許通過(guò)adb命令對(duì)應(yīng)用目錄進(jìn)行拷貝;源碼泄漏漏洞Proguard成源碼泄漏。隨機(jī)數(shù)加密破解漏洞Android4.4之前版本的Java加密架構(gòu)(JCA)ApacheHarmony6.0M3SecureRandom文件的engineNextBytes函導(dǎo)致偽隨機(jī)數(shù)生成器(PRNG)生成隨機(jī)序列的過(guò)程可被預(yù)測(cè)https敏感數(shù)據(jù)劫持漏洞應(yīng)用使用Android系統(tǒng)提供的httpsAPI時(shí),存在以下三種未正確實(shí)現(xiàn)https網(wǎng)絡(luò)安全傳輸?shù)那闆r。1)X509TrustManager:自定義X509TrustManager類(lèi),但未實(shí)現(xiàn)嚴(yán)格校驗(yàn)(checkClientTrusted和checkServerTrusted未實(shí)現(xiàn))2)setHostnameVerifier:使用ALLOW_ALL_HOSTNAME_VERIFIER選項(xiàng)或者newHostnameVerifier返回true3)bewent的oneceedslrror(及slrrorHander的proced:onReceivedSslErrorproceed()https證書(shū)校驗(yàn)出錯(cuò)時(shí)繼續(xù)加載系統(tǒng)組件本地拒絕服務(wù)漏洞檢測(cè)AndroidappIntent常邊界值或類(lèi)型做校驗(yàn),導(dǎo)致出現(xiàn)空對(duì)象引用或類(lèi)型不匹配的強(qiáng)制類(lèi)型轉(zhuǎn)換,引發(fā)應(yīng)用崩潰。典型利用舉例如下:adbshellamstart-n包名/組件類(lèi)名adbshellambroadcast-n包名/組件類(lèi)名adbshellam[-n包名/組件類(lèi)名-aactionStringadbshellamstartservice-n包名/組件類(lèi)名致classNotFoundException等異常,使得應(yīng)用崩潰強(qiáng)制類(lèi)型轉(zhuǎn)換本地拒絕服務(wù)漏洞AndroidappIntentIntent中的參數(shù)進(jìn)app構(gòu)造包含特殊參數(shù)的Intent,crash,屬于本地拒絕服務(wù)漏洞IntentSchemeURLs漏洞IntentSchemeURLs攻擊方式利用了瀏覽器保護(hù)措施的不足,通過(guò)瀏覽器作Intent-BasedIntent-BasedWebPage中,傳統(tǒng)的特征匹配完全不(無(wú)論是公開(kāi)還是私有cookie.簡(jiǎn)而言之,該攻擊能夠以瀏覽器的權(quán)限發(fā)送intent,屬于權(quán)限泄漏問(wèn)題Activity組件暴露風(fēng)險(xiǎn)IntentActivity組件,導(dǎo)致信息泄漏、crashActivity組件:actionIntent消息adbshellamstart-n包名/組件類(lèi)名action值的消息adbshellam[-n包名/組件類(lèi)名]-aactionString發(fā)送帶具體參數(shù)值的消息adbshellamstart-n包名/組件類(lèi)名(或-aactionString)--eskey1"value1"--eskey2"value2"Service組件暴露風(fēng)險(xiǎn)IntentService組件,導(dǎo)致信息泄漏、crashActivity組件:actionIntent消息adbshellamstartservice-n包名/組件類(lèi)名action值的消息adbshellam[-n包名/組件類(lèi)名]-aactionString發(fā)送帶具體參數(shù)值的消息adbshellamstartservice-n包名/組件類(lèi)名(或-aactionString)--eskey1"value1"--eskey2"value2"BroadcastReceiver組件暴露風(fēng)險(xiǎn)IntentBroadcastcrash、Broadcast組件:A.發(fā)送空action的Intent消息adbshellambroadcast-n包名/組件類(lèi)名B.發(fā)送帶action值的消息adbshellam[-n包名/組件類(lèi)名]-aactionStringC.發(fā)送帶具體參數(shù)值的消息adbshellambroadcast-n包名/組件類(lèi)名(或-aactionString)--eskey1"value1"--eskey2"value2"另:通過(guò)動(dòng)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 清潔服務(wù)外包協(xié)議
- 建筑行業(yè)臨時(shí)用工勞動(dòng)合同
- 國(guó)際油氣貿(mào)易合同文檔
- 環(huán)保產(chǎn)業(yè)投資協(xié)議書(shū)
- 出借咨詢(xún)與服務(wù)協(xié)議
- 在線(xiàn)醫(yī)療咨詢(xún)平臺(tái)推廣合作協(xié)議
- 銷(xiāo)售承包的合同
- 太陽(yáng)能光伏發(fā)電投資合同
- 汽車(chē)租賃行業(yè)車(chē)輛保險(xiǎn)責(zé)任免責(zé)協(xié)議書(shū)
- 2025年激光隧道斷面測(cè)量系統(tǒng)項(xiàng)目合作計(jì)劃書(shū)
- (詳盡多應(yīng)用版)鋼結(jié)構(gòu)工程合同范本(完整版)
- 設(shè)備維保的維修流程與服務(wù)流程
- 隔膜計(jì)量泵維護(hù)檢修規(guī)程培訓(xùn)
- 桌游店創(chuàng)業(yè)計(jì)劃書(shū)
- 《生物制品技術(shù)》課程標(biāo)準(zhǔn)
- 心血管內(nèi)科高血壓一病一品
- 頸動(dòng)脈斑塊預(yù)防課件
- 七年級(jí)歷史上冊(cè)-2024年中考?xì)v史復(fù)習(xí)教材必考知識(shí)點(diǎn)教案(人教部編版統(tǒng)編版)
- JB T 7946.1-2017鑄造鋁合金金相
- 【上市公司財(cái)務(wù)造假驅(qū)動(dòng)因素探究文獻(xiàn)綜述3100字】
- 20cr球化退火工藝
評(píng)論
0/150
提交評(píng)論