2022年軟件開發(fā)包(SDK)安全研究報(bào)告_第1頁
2022年軟件開發(fā)包(SDK)安全研究報(bào)告_第2頁
2022年軟件開發(fā)包(SDK)安全研究報(bào)告_第3頁
2022年軟件開發(fā)包(SDK)安全研究報(bào)告_第4頁
2022年軟件開發(fā)包(SDK)安全研究報(bào)告_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

軟件開發(fā)包(SDK)安全研究報(bào)告(2022年)202112前言(Application,種類和數(shù)量呈爆發(fā)式增長,(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收集使用個人信息的合規(guī)風(fēng)險(xiǎn)分析 10(二)SDK個人信息安全合規(guī)要求的總結(jié) 12三、SDK的安全風(fēng)險(xiǎn) 15(一)SDK的安全漏洞問題不容忽視 15(二)SDK的惡意行為帶來隱藏風(fēng)險(xiǎn) 18四、面向開發(fā)者的安全措施建議 22(一)面向SDK開發(fā)者 22(二)面向App開發(fā)者 23附錄一SDK安全實(shí)踐 25(一)信通院發(fā)起SDK安全專項(xiàng)行動 25(二)騰訊探索App及SDK合規(guī)解決方案 27附錄二SDK安全關(guān)鍵技術(shù) 32(一)SDK研發(fā)環(huán)境 32(二)SDK安全防護(hù)技術(shù) 32(三)SDK安全檢測技術(shù) 33附錄三常見SDK安全風(fēng)險(xiǎn) 34圖目錄圖1 各類App平均集成SDK數(shù)量 6圖2 集成次數(shù)較多的第三方SDK類型分布 7圖3 第三方SDK各類敏感行為統(tǒng)計(jì) 7圖4 SDK安全漏洞類型占比 16圖5 惡意SDK動態(tài)更新后隱蔽執(zhí)行惡意行為 21圖6 新型物聯(lián)網(wǎng)SDK黑產(chǎn) 21圖7 SDK安全專項(xiàng)行動評測范圍 25圖8 評測流程 26圖9 騰訊云移動合規(guī)檢測平臺 28圖10 平臺檢測示例1 28圖平臺檢測示例2 29表目錄表1 常見SDK類型及典型供應(yīng)商 2表2 部分SDK合規(guī)相關(guān)要求 13表3 典型SDK惡意行為 19軟件開發(fā)包(SDK)安全研究報(bào)告(2022年)軟件開發(fā)包(SDK)安全研究報(bào)告(2022年)PAGEPAGE10(App)逐漸202120216App302其中,本土第三方應(yīng)用商店App166)App136萬款1。在數(shù)量迅速增長的同時,App也進(jìn)入了精細(xì)化開發(fā)階段,軟件開發(fā)工具包(SoftwareDevelopmentKit,SDK)2幫AppApp開發(fā)周期提供一、SDK行業(yè)發(fā)展現(xiàn)狀SDK為日益豐富的移動應(yīng)用功能、服務(wù)提供了技術(shù)上的解決方案,App正在成為自研、商用SDK的組合。一方面,部分App開發(fā)者通過自研SDK提高App開發(fā)、更新、維護(hù)的便利性與靈活性;另一方面,各類第三方功能、服務(wù)、接口通過SDK技術(shù)被廣泛應(yīng)用于App產(chǎn)品。(一)SDK應(yīng)用廣泛,行業(yè)發(fā)展持續(xù)活躍SDK種類繁多,場景豐富SDK通過專業(yè)化分工服務(wù),幫助移動App快速實(shí)現(xiàn)業(yè)務(wù)功能、和價(jià)值空間,與移動互聯(lián)產(chǎn)業(yè)高度共生。按照SDK功能劃分,目前比較成熟的SDK有廣告類、推送類、數(shù)據(jù)統(tǒng)計(jì)分析類、地圖類等,1

表1常見SDK類型及典型供應(yīng)商序號SDK分類功能描述典型供應(yīng)商廣告類提供廣告展示和廣告相關(guān)數(shù)據(jù)分SDK,AppApp中展示廣戶的點(diǎn)擊賺取收益廣點(diǎn)通、力美、友盟、TalkingData、有米、多盟等1.2.推送類向用戶推送各類消息、通知等極光推送,個推推送,Mobpush3.數(shù)據(jù)統(tǒng)計(jì)分析類App之間的交互行為的功能。根據(jù)用戶使用App地改進(jìn)AppAppsee、Mixpanel、GoogleAnalytics等4.地圖類提供定位、優(yōu)化路線、軌跡糾偏、圖層繪制、AR、全景等功能SDKSDKSDK、googlemapSDK等5.第三方登錄類提供通過其他賬號體系(如微博、QQ)的功能QQ互聯(lián)、微信開放平臺、微博開放平臺6.社交類提供社交功能,如消息、分享、排行等功能QQ互聯(lián)、微信開放平臺、微博開放平臺7.支付類提供付款、財(cái)務(wù)管理、分銷等功能BmobSDK、SDKPing++SDK、Beecloud支付等8.Crash類監(jiān)控提供App崩潰、App無響應(yīng)、卡頓的數(shù)據(jù)收集與分析BuglyUmengfirebase等9.人工智能應(yīng)用類人臉識別、人體識別、人像處理、文字識別、視頻技術(shù)、AR與VR技術(shù)、語音或拍照翻譯等等海量的功能AI開放平臺SDK、Face++旗下多款SDK開放平臺旗下多款SDK產(chǎn)品等來源:公開資料整理廣告類SDK廣告類SDK可以為App通過在開發(fā)的AppSDK,App可以通過插屏廣告、浮SDK包括廣點(diǎn)通、力美、友盟、、有推送類SDK推送類SDK可以實(shí)現(xiàn)服務(wù)器對AppSDK實(shí)現(xiàn)推送功能,推送方式靈活多樣送類SDK目前主流的推送類SDK供應(yīng)商包括極光推送,個推推送,Mobpush,友盟推送,百度推送,云巴推送等。數(shù)據(jù)統(tǒng)計(jì)分析類SDK數(shù)據(jù)統(tǒng)計(jì)分析類SDK植入App后,通過埋點(diǎn),可以追蹤到AppSDK被AppApp用戶對此類SDK的存在幾乎難以察覺。常見的數(shù)據(jù)分析類SDKAppseeMixpanelGoogleAnalytics等。地圖類SDK部分App在用戶使用時需要調(diào)用地圖功能,例如某網(wǎng)約車App使用某電子地圖廠商的地圖類SDK,即可調(diào)用相關(guān)地圖信息及服務(wù)。地圖類SDK主要圍繞地圖功能,可以提供定位、優(yōu)化路線、軌跡糾偏、圖層繪制、AR、全景以及調(diào)用其他各種地圖數(shù)據(jù)等服務(wù)。常見的地圖類SDK包括騰訊地圖SDK、百度地圖SDK、凱立德SDK、googlemapSDK等。第三方登錄類SDK第三方登錄類SDK可提供其他服務(wù)的賬號登錄功能,如App或QQSDKQQ賬號登錄App目前常見的第三方登錄類SDK包括QQ登錄、微信登錄以及微博登錄等。支付類SDKApp時,用戶經(jīng)常需要在購買會員或服務(wù)等支付場景使SDKApp品的付款功能。此類場景下常用的支付類SDK有支付寶、微信、百ApplePay等。此外,許多公司在上述SDK的基礎(chǔ)上開發(fā)比如聚合支付平臺等SDK產(chǎn)品,以實(shí)現(xiàn)財(cái)務(wù)管理、多級分銷、多門店分銷等功能,SDKBmobSDKSDK、Ping++SDK、BeecloudSDK等。Crash監(jiān)控類SDKCrashSDKApp開發(fā)者提供專業(yè)的異常上報(bào)目前常見的Crash監(jiān)控類SDK包括bugly、Umeng、firebase等。人工智能應(yīng)用類SDK人工智能應(yīng)用類SDKAR與VR技術(shù)、語音或拍照翻譯等功能。人臉識別方向的SDK可以進(jìn)一步應(yīng)用于智慧安防、智慧零售等場景;SDK可以幫助判斷身份證照片是否清晰可使用、是常見的人工智能應(yīng)用類SDK包括騰訊AI開放平臺SDKFace++旗下多款SDK產(chǎn)品、百度AI開放平臺旗下多款SDK產(chǎn)品等。App集成多款SDK,形成共生關(guān)系SDK已經(jīng)成為移動應(yīng)用生態(tài)中的重要一環(huán),開發(fā)者、運(yùn)營者出App開發(fā)設(shè)計(jì)過程中普遍使用自研或第三方SDKApp通常集成多款SDK,互相之間形成共生關(guān)系。各類App平均集成SDK據(jù)信通院及騰訊數(shù)據(jù)統(tǒng)計(jì),目前國內(nèi)一款A(yù)pp20SDKApp平均使用第三方SDK30.630.528.6。來源:中國信息通信研究院整理圖1各類App平均集成SDK數(shù)量App集成第三方SDK第三方SDK100款以上App集成的第三方SDK300003000款SDKSDK2來源:中國信息通信研究院整理圖2集成次數(shù)較多的第三方SDK類型分布第三方SDKSDK為了實(shí)現(xiàn)相關(guān)的功能,有可能會收集使用用戶個人信息和設(shè)備信息,下圖統(tǒng)計(jì)了各類敏感行為在第三方SDK中出現(xiàn)的ID獲取、動態(tài)dex加載等行為出現(xiàn)的頻來源:中國信息通信研究院整理圖3第三方SDK各類敏感行為統(tǒng)計(jì)(二)政策標(biāo)準(zhǔn)逐步明晰,為SDK安全落地提供導(dǎo)向SDKAppSDKAppApp的安全治理工作形成阻礙。目前國內(nèi)關(guān)于SDK安全的要求主要分散在App的合規(guī)問題與安全風(fēng)險(xiǎn)已經(jīng)進(jìn)入各方視野,相關(guān)工作在持監(jiān)管層面2020年7場監(jiān)管總局四部門啟動2020年App違法違規(guī)收集使用個人信息SDK2021312App集成的SDK20214月,在國家互聯(lián)網(wǎng)信息辦公室的統(tǒng)籌指導(dǎo)下,工業(yè)和APP第三方服標(biāo)準(zhǔn)層面2020年11月全國信息安全標(biāo)準(zhǔn)化委員會發(fā)布了《網(wǎng)絡(luò)安全標(biāo)準(zhǔn)(SDK)安全指引》(以下簡稱SDK安全指引),同期每日互動正在起草國家標(biāo)準(zhǔn)《信息安全技術(shù)移動互聯(lián)網(wǎng)應(yīng)用程序(App)軟件開發(fā)工具包(SDK)安全要求》(SDK安全國標(biāo))。騰訊正在牽頭以下簡稱SDK。SDK安全指引由中國電子技術(shù)標(biāo)準(zhǔn)化研究院、騰訊等十余家企App使用SDK過程中可能面臨的SDKApp使用SDK少因SDK造成的AppSDK安全國標(biāo)3由每日互動、中國信息通信研究院、騰訊等多家SDKSDK和App之SDK安全行標(biāo)由騰訊、中國信息通信研究院、等多家企事業(yè)單位參與,從SDK應(yīng)用安全角度出發(fā),明確移動應(yīng)用軟件使用第三方SDKSDK惡意SDK除上述一般標(biāo)準(zhǔn)或規(guī)范之外,金融行業(yè)也針對SDK制定了《個等具有行業(yè)特色的標(biāo)準(zhǔn),內(nèi)容主要包括:授權(quán)同意:使用SDK收集處理個人金融信息時,應(yīng)確保SDK經(jīng)過信息主體授權(quán)。安全評估:通過SDK實(shí)現(xiàn)個人金融信息的共享轉(zhuǎn)讓,應(yīng)定期檢查或評估SDK的安全性和可靠性,并留存檢查評估記錄;若委托第三方SDKSDK開展SDKSDK信息及引用該SDK二、SDK的合規(guī)風(fēng)險(xiǎn)SDK能夠幫助App開發(fā)者在無需了解技術(shù)細(xì)節(jié)的情況下快速實(shí)現(xiàn)特定功能,但也導(dǎo)致其開發(fā)、運(yùn)營具有一定封閉性,用戶和App開發(fā)者難以完全掌握第三方SDK收集使用個人信息的范圍、方式、用途等。如果SDK收集使用個人信息方面存在合規(guī)風(fēng)險(xiǎn),App集成SDK并應(yīng)用時將對用戶個人信息構(gòu)成威脅。(一)SDK收集使用個人信息的合規(guī)風(fēng)險(xiǎn)分析SDK未經(jīng)用戶同意收集個人信息SDK通常無法獨(dú)立展示前臺頁面,其告知行為往往需要借助宿主AppSDK未向App所收集的個人信息,或者SDKApp明示等原因,使得用戶對SDK收集個人信息行為毫無感知。還有部分SDK未經(jīng)用戶同意,私自調(diào)用權(quán)限隱蔽收集個人信息,私自通過自啟動、關(guān)聯(lián)啟動等方式收集個人信息。SDK未經(jīng)用戶同意收集個App制定收集使SDK超范圍收集個人信息SDK實(shí)際收集的用戶個人信息超出公開文檔所聲明的系統(tǒng)權(quán)限SDKSDKSDK未經(jīng)用戶授權(quán)使用個人信息SDK幫助App開發(fā)者實(shí)現(xiàn)登錄、支付、推送、數(shù)據(jù)統(tǒng)計(jì)分析等K收集的個人信息可能涉及個人身份、財(cái)產(chǎn)等敏感信息,還可以通過AppSDK可能AppApp用戶個人信息,一較單個AppSDK違規(guī)傳輸個人信息SDKMAC地App或本地惡意程序截獲,導(dǎo)致用戶個人信息泄露。另一方面,在未經(jīng)用戶同意的情況下,SDK有可能采取加密等方式私自傳輸收集的個人信息,如果SDK收集使用個人信息行AppApp帶來額外的合App對嵌入SDK的安全管理監(jiān)督不足目前許多App與SDK定,同時App針對SDK度,使得App對嵌入的SDK集成第三方SDK時容易引入個人信息合規(guī)風(fēng)險(xiǎn)。服務(wù)提供方應(yīng)如何合法、合規(guī)地收集、保存、使用個人信息,AppSDK的個人信息、雙方權(quán)利義務(wù)及第三方SDK收集使用個人信息情況等(二)SDK個人信息安全合規(guī)要求的總結(jié)App本身收集使用個人信息的合規(guī)問題受到監(jiān)督,“隱藏”在App中的SDK的合規(guī)問題也引起各方重視。對于存在收集使用個人信息行為的SDK,SDK服務(wù)提供者作為個人信息處理者應(yīng)遵守個人義務(wù)。目前國內(nèi)關(guān)于SDK的合規(guī)要求分散在App相關(guān)的法律法規(guī)和政策標(biāo)準(zhǔn)中,下表梳理了部分重要文件和標(biāo)準(zhǔn)中明確對SDK提出合規(guī)要求的相關(guān)內(nèi)容。表2部分SDK合規(guī)相關(guān)要求合規(guī)風(fēng)險(xiǎn)合規(guī)要求依據(jù)SDK同意收集個人信息APP、SDK未告知用戶收集個人信息的目《工業(yè)和信息化部關(guān)于開展縱深推進(jìn)APP侵害用戶權(quán)益專項(xiàng)整治行動的通知》以下行為可被認(rèn)定為未明示收集使收集使《App違法違規(guī)收集使用個人信息行為認(rèn)定方法》用個人信息的目的、方式、范圍等APP第三方服務(wù)提供者應(yīng)當(dāng)履行以《移動互聯(lián)網(wǎng)應(yīng)用程序下個人信息保護(hù)義務(wù):個人信息保護(hù)管理暫行(一)制定并公開個人信息處理規(guī)規(guī)定(征求意見稿》則;(二)以明確、易懂、合理的方式向APP開發(fā)運(yùn)營者公開其個人信息處理目的、處理方式、處理類型、保存期限等內(nèi)容,其個人信息處理活動應(yīng)當(dāng)與公開的個人信息處理規(guī)則保持一致;SDK收集個人信息時,應(yīng)向《App違法違規(guī)收集使用個人信息自評估指南》型。2.1是否逐一列出App收集使用個《網(wǎng)絡(luò)安全標(biāo)準(zhǔn)實(shí)踐指人信息的目的、方式、范圍等c)如嵌入的第三方代碼、插件(如南—移動互聯(lián)網(wǎng)應(yīng)用程序(App)收集使用個人信息自評估指南》信息的目的、類型、方式。SDK超范圍收超范圍收集個人信息。重點(diǎn)整治《工業(yè)和信息化部關(guān)于集個人信息APPSDK非服務(wù)所必需或無合理應(yīng)開展縱深推進(jìn)APP侵害用場景,特別是在靜默狀態(tài)下或在后用戶權(quán)益專項(xiàng)整治行動的通知》臺運(yùn)行時,超范圍收集個人信息的行為。APP第三方服務(wù)提供者應(yīng)當(dāng)履行以下個人信息保護(hù)義務(wù):(三未經(jīng)用戶同意或者在無合理業(yè)《移動互聯(lián)網(wǎng)應(yīng)用程序個人信息保護(hù)管理暫行規(guī)定(征求意見稿》更新等行為;SDK未經(jīng)用戶授權(quán)使用個人信息APP、SDK《工業(yè)和信息化部關(guān)于開展縱深推進(jìn)APP侵害用戶權(quán)益專項(xiàng)整治行動用于其提供服務(wù)之外的目的,特別是的通知》私自向其他應(yīng)用或服務(wù)器發(fā)送、共享用戶個人信息的行為。APP第三方服務(wù)提供者應(yīng)當(dāng)履行以《移動互聯(lián)網(wǎng)應(yīng)用程序下個人信息保護(hù)義務(wù):個人信息保護(hù)管理暫行(四采取足夠的管理措施和技術(shù)手規(guī)定(征求意見稿》段保護(hù)個人信息,發(fā)現(xiàn)安全風(fēng)險(xiǎn)或者個人信息處理規(guī)則變更時應(yīng)當(dāng)及時進(jìn)行更新并告知APP開發(fā)運(yùn)營者;SDK收集個人信《App違法違規(guī)收集使用個人信息自評估指南》的目的、類型。強(qiáng)制用戶使用定向推送功能。重點(diǎn)整《工業(yè)和信息化部關(guān)于治APP、SDK未以顯著方式標(biāo)示且未經(jīng)用戶同意,將收集到的用戶搜開展縱深推進(jìn)APP侵害用戶權(quán)益專項(xiàng)整治行動的通知》用于定向推送或廣告精準(zhǔn)營銷,且未提供關(guān)閉該功能選項(xiàng)的行為。SDK違規(guī)傳輸APP第三方服務(wù)提供者應(yīng)當(dāng)履行以《移動互聯(lián)網(wǎng)應(yīng)用程序共享個人信息下個人信息保護(hù)義務(wù):個人信息保護(hù)管理暫行(五)未經(jīng)用戶同意,不得將收集到規(guī)定(征求意見稿》的用戶個人信息共享轉(zhuǎn)讓;AppSDK理監(jiān)督不足9.7第三方接入管理當(dāng)個人信息控制者在其產(chǎn)品或服務(wù)中接入具備收集個人信息功能的第《信息安全技術(shù)個人信(35273—2020)三方產(chǎn)品或服務(wù)且不適用9.1和9.6時,對個人信息控制者的要求包括:建立第三方產(chǎn)品或服務(wù)接入管理評估等機(jī)制設(shè)置接入條件;應(yīng)與第三方產(chǎn)品或服務(wù)提供者通過合同等形式明確雙方的安全責(zé)任及應(yīng)實(shí)施的個人信息安全措施;應(yīng)向個人信息主體明確標(biāo)識產(chǎn)品或服務(wù)由第三方提供;應(yīng)妥善留存平臺第三方接入有關(guān)閱;應(yīng)要求第三方根據(jù)本標(biāo)準(zhǔn)相關(guān)要求向個人信息主體征得收集個人信方式;應(yīng)要求第三方產(chǎn)品或服務(wù)建立響應(yīng)個人信息主體請求和投訴等的機(jī)制,以供個人信息主體查詢、使用。三、SDK的安全風(fēng)險(xiǎn)

來源:公開資料整理在App開發(fā)逐漸模塊化、去中心化的趨勢下,App業(yè)務(wù)功能的實(shí)現(xiàn)愈發(fā)依賴SDK,而SDK可能向App屏蔽特定功能的實(shí)現(xiàn)細(xì)節(jié),其行為具有隱蔽性。一旦SDK出現(xiàn)安全問題,還會影響宿主App及其用戶。SDK可能存在的安全漏洞、惡意行為,以及隱蔽在App背后不透明地收集使用個人信息等問題逐漸成為各方關(guān)注的焦點(diǎn)問題。(一)SDK的安全漏洞問題不容忽視SDK??梢詫DK安全漏洞劃分為五類:代碼源文件安全類、內(nèi)部數(shù)據(jù)類等,圖4展示了這幾種類型的漏洞出現(xiàn)的占比情況。來源:中國信息通信研究院整理圖4SDK安全漏洞類型占比代碼源文件安全SDKiOSiOSSDK未經(jīng)加在開發(fā)環(huán)境下,SDKjar代碼包的形式提供給AppApp開發(fā)者將SDKJava可能導(dǎo)致SDK業(yè)務(wù)執(zhí)行邏輯、敏感配置、關(guān)鍵字段、傳輸通道、加解密協(xié)議等信息泄露。攻擊者可以通過逆向分析和破解SDK核心邏輯,進(jìn)一步破壞SDK安全機(jī)制或者惡意篡改代碼,甚至嵌入后門代碼,嚴(yán)重威脅SDK、宿主App以及用戶的數(shù)據(jù)安全。內(nèi)部數(shù)據(jù)交互安全在內(nèi)部數(shù)據(jù)交互安全方面,SDK也面臨多重安全風(fēng)險(xiǎn)。從技術(shù)業(yè)務(wù)邏輯上看,SDK產(chǎn)品作為某類業(yè)務(wù)功能的底層實(shí)現(xiàn)手段,為宿App實(shí)現(xiàn)業(yè)務(wù)功能或提供推送、統(tǒng)計(jì)、分析等輕量附加功能,與宿主App的可能性。調(diào)用系統(tǒng)本地瀏覽器組件過程中存在的安全配置問題是SDKSDKApp進(jìn)行攻擊,可能導(dǎo)致AppSDKSDKAPP的任意組件的惡意調(diào)用、任意虛假消息的通知、遠(yuǎn)程代碼執(zhí)本地?cái)?shù)據(jù)存儲安全SDK在用戶終端設(shè)備上創(chuàng)建本地?cái)?shù)據(jù)庫文件,用于存儲運(yùn)SDKSDK在本地?cái)?shù)據(jù)庫中存通信數(shù)據(jù)傳輸安全在數(shù)據(jù)傳輸?shù)陌踩珯C(jī)制方面,部分SDK存在使用不安全的傳輸過程中可能被截獲、竊取,其中HTTP傳輸協(xié)議明文數(shù)據(jù)傳輸、HTTPSHTTPS雙向認(rèn)證防御檢測件進(jìn)行加密、合法性和完整性校驗(yàn),防止被惡意利用漏洞。以ZipperDownAppZipZip文件的過程中沒有對Zip內(nèi)文件名做校驗(yàn)導(dǎo)致,如果文件名中含有“../”則可App內(nèi)任意目錄的跳轉(zhuǎn)和文件(二)SDK的惡意行為帶來隱藏風(fēng)險(xiǎn)SDK惡意行為會影響到AppSDK為了App的初期不會表現(xiàn)出惡意行為,后續(xù)SDK惡意行為包括流量劫持、資費(fèi)消耗、3。表3典型SDK惡意行為序號行為名稱惡意行為1流量劫持SDK信息拉取、上報(bào)和展示目標(biāo)與App提供者設(shè)定的目標(biāo)不同,惡意劫持App流量,可能對App造成損害。2資費(fèi)消耗SDK通過消耗用戶網(wǎng)絡(luò)套餐資費(fèi)、惡意發(fā)送收費(fèi)短信,訂閱收費(fèi)服務(wù)等行為,造成用戶的資金損失。3隱私竊取SDK在用戶不知情或誤導(dǎo)用戶的情況下,隱蔽竊取用戶的通訊錄、短信息等個人敏感信息,隱蔽進(jìn)行拍照、錄音等敏感行為,并發(fā)送給惡意開發(fā)者。4靜默下載安裝SDK在后臺靜默下載、安裝其它惡意軟件或病毒木馬。5廣告刷量SDK在用戶不知情的情況下,在后臺模擬人工點(diǎn)擊廣告鏈接的行為來牟利。6惡意廣告SDK向用戶推送包含欺詐內(nèi)容、病毒木馬的廣告鏈接。推送過量廣告,進(jìn)而長期占用系統(tǒng)通知欄、屏幕界面,干擾用戶正常使用App。7勒索SDK惡意加密用戶手機(jī)中的文件,干擾用戶對手機(jī)的正常使用,并以恢復(fù)正常使用為由向用戶勒索錢財(cái)。8挖礦SDK在用戶不知情的情況下利用其手機(jī)的計(jì)算能力來為攻擊者獲取電子加密貨幣,對用戶設(shè)備硬件造成性能損耗。9遠(yuǎn)程控制SDK在手機(jī)端啟動本地后臺服務(wù)器,接收遠(yuǎn)程控制端發(fā)來的控制指令,隱蔽進(jìn)行上述其他惡意行為。10剪切板劫持SDK欺騙用戶,或者影響其他應(yīng)用正常使用。SDK非法獲取用戶隱私

來源:公開資料整理一些惡意開發(fā)者開始從開發(fā)惡意App向開發(fā)惡意SDK轉(zhuǎn)移,利用SDK能夠嵌入多個AppSDKApp簽合同或者免費(fèi)下載的方式集成到App(實(shí)際案例中被感染的App中,在App不知情的情況下接觸到用戶。惡意SDK意開發(fā)者通過使用代碼分離和動態(tài)代碼加載技術(shù),從云端對包含該SDK的用戶設(shè)備進(jìn)行非法控制,具有很強(qiáng)的隱蔽性和對抗殺毒軟件根據(jù)廣告商的需求,在用戶無感的情況下,通過惡意子包進(jìn)行App拉活、廣告刷量等行為。來源:騰訊圖5惡意SDK動態(tài)更新后隱蔽執(zhí)行惡意行為SDK黑產(chǎn)SDK,后通過云端控制入侵IP池(IP),IP產(chǎn)品出售給賭博、網(wǎng)絡(luò)水6SDK

來源:騰訊四、面向開發(fā)者的安全措施建議SDK的安全涉及到設(shè)計(jì)、開發(fā)、分發(fā)、集成等關(guān)鍵環(huán)節(jié),SDK開發(fā)者和AppSDK(一)面向SDK開發(fā)者處理個人信息應(yīng)滿足相關(guān)法律法規(guī)要求SDKSDKSDKSDKApp開發(fā)者提供合規(guī)與安全開發(fā)指南作為被集成方,SDK開發(fā)者可通過主動向App開發(fā)者提供合規(guī)指南的方式,引導(dǎo)App開發(fā)者在集成并使用SDK時,采取必要的措施保護(hù)用戶個人信息安全。SDK開發(fā)者應(yīng)主動向App告知SDK的相關(guān)信息,告知的信息應(yīng)完整、準(zhǔn)確、及時,不存在故意隱瞞、欺騙等行為。App開發(fā)者約定雙方在個人信息保護(hù)方面的責(zé)權(quán)SDK(二)面向App開發(fā)者遵循合法、正當(dāng)、必要的原則選擇SDKSDK安全規(guī)范App開發(fā)者應(yīng)遵循合法、正當(dāng)、必要的原則,使用提供者基本信息明確、溝通反饋渠道有效的第三方SDK。針對SDK的引入、使用、運(yùn)維到退出全生命周期中可能面臨的安全風(fēng)險(xiǎn)進(jìn)行全面分析,制定SDK安全規(guī)范,降低因引入SDK帶來的安全風(fēng)險(xiǎn)。依法依規(guī)處理與SDK相關(guān)的個人信息SDK的SDKSDKAppSDKSDKApp促第三方SDK提供者按照合作協(xié)議約束,刪除從本App共享或收集的個人信息或做匿名化處理。SDK安全性SDK方面分別應(yīng)采取的措施、承擔(dān)的責(zé)任和義務(wù)等。對集成后的第三方SDKKK附錄一SDK安全實(shí)踐(一)信通院發(fā)起SDK安全專項(xiàng)行動20216月,中國信息通信研究院安全研究所大數(shù)據(jù)應(yīng)用與安“SDK技術(shù)能力和實(shí)踐積累,積極開展前瞻研究和實(shí)踐探索,形成完整的SDKSDK安全評測范圍評測對象為安卓(Android)App集成的SDK產(chǎn)品,包括企業(yè)自研自用的SDK以及第三方SDKSDK來源:中國信息通信研究院圖7SDK安全專項(xiàng)行動評測范圍專項(xiàng)行動進(jìn)展13款SDK114。圖8評測流程

來源:中國信息通信研究院下一步行動計(jì)劃實(shí)驗(yàn)室“SDK安全專項(xiàng)行動”將定期開放SDK安全評測,幫助SDK開發(fā)者、使用者預(yù)先發(fā)現(xiàn)SDK自身存在的安全問題,提早部署防范措施。有意向參與SDK安全專項(xiàng)行動的企業(yè),可通過信通院官網(wǎng)及大數(shù)據(jù)應(yīng)用與安全創(chuàng)新實(shí)驗(yàn)室微信公眾號跟蹤動向?;腟DKSDKSDK安全評測工作準(zhǔn)確性、高效性、權(quán)威性,推(二)騰訊探索App及SDK合規(guī)解決方案騰訊云移動合規(guī)檢測平臺騰訊云App隱私合規(guī)檢測產(chǎn)品支持App及其集成的第三方SDK相APKAPK是否化部337號令》、《工信部信管函〔2020〕164號》、《App違法違規(guī)收集使用個人信息行為認(rèn)定方法》和《個人信息安全規(guī)范》,對APK圖9騰訊云移動合規(guī)檢測平臺

來源:騰訊圖10平臺檢測示例1

來源:騰訊來源:騰訊圖11平臺檢測示例2目前,可以自動化進(jìn)行識別檢測點(diǎn)主要包括:App、SDK未告知用戶收集個人信息的目的、方式、范圍且未經(jīng)用戶同意,私自收集用戶個人信息的行為。App、SDK非服務(wù)所必需或無合理應(yīng)用場景,特別是在靜默狀態(tài)下或在后臺運(yùn)行時,超范圍或超頻次收集個人信息的行為。SDKApp未向用戶告知且未經(jīng)用戶同意,或無合理的使用場景,頻繁自啟動或關(guān)聯(lián)啟動第三方App的行為。App未向用戶提供賬號注銷服務(wù),或?yàn)樽N服務(wù)設(shè)置不合理的障礙。騰訊靈犀隱私保護(hù)平臺級SDK對SDKApp的SDK包名、及SDK靈犀搭建專門的SDK配置庫及合規(guī)庫,為AppSDKSDKSDK驗(yàn)證采集個人信息的SDK的合規(guī)版本通過宿主列表一鍵推送給App附錄二SDK安全關(guān)鍵技術(shù)(一)SDK研發(fā)環(huán)境SDK的研發(fā)環(huán)境和底層依賴與App開發(fā)基本一致,區(qū)別在于SDK開發(fā)的是實(shí)現(xiàn)某特定功能的模塊,可以被其他App集成并使用。SDK的分發(fā)可以采用編譯好的Jar包、ARR包或源代碼分發(fā)等多種方式。一般商用的SDK都會采用編譯好的Jar包、ARR包的分發(fā)方式,從而盡可能地保證SDK源代碼不被泄露和篡改。(二)SDK安全防護(hù)技術(shù)SDK的安全防護(hù)主要目的保護(hù)自身功能的核心邏輯不被惡意破解和篡改,因此針對SDK自身的防護(hù)技術(shù)主要包括:代碼混淆、代碼加密、SO加固等。代碼混淆是指將程序的代碼轉(zhuǎn)換成一種功能上等價(jià)、但是難以閱讀和理解的行為,主要包括:將代碼中的各種元素,如變量、函數(shù)、類的名字改寫成無意義的名字;重寫代碼中的部分邏輯,如將for循環(huán)改寫成while循環(huán),將循環(huán)改寫成遞歸,精簡中間變量等。SO加固是指將部分核心的算法邏輯放到native層實(shí)現(xiàn),然后使用SOVMP(三)SDK安全檢測技術(shù)SDK安全檢測可以從來源安全性、代碼安全性以及行為安全性等方面開展??赏ㄟ^檢查SDKSDK提供者的溝通反饋渠道、SDK隱私政策鏈接地址、SDK提供者的安全能SDKSDKSDK存在已知的安全漏洞;是否申請敏感權(quán)限;是否嵌入了其他第三方SDK等。IPSDK是否會共享個附錄三常見SDK安全風(fēng)險(xiǎn)安全風(fēng)險(xiǎn)名稱安全風(fēng)險(xiǎn)描述Web組件遠(yuǎn)程代碼執(zhí)行漏洞AppAndroid對象訪問url,在同時滿足以下條件均可導(dǎo)出遠(yuǎn)程代碼執(zhí)行漏洞:setJavaScriptEnabled(true);addJavascriptInterfaceAPIjs交互(Android4.2);3 )未移除系統(tǒng)默認(rèn)注冊導(dǎo)出的對象(searchBoxJavaBridge_/accessibility/accessibilityTraversal)ContentProvider 件數(shù)據(jù)泄露漏洞AndriodProviderURI查詢關(guān)聯(lián)的應(yīng)用數(shù)據(jù)。Provideruri參數(shù)未做嚴(yán)格校驗(yàn),導(dǎo)致當(dāng)惡意用戶傳入../../../../的所有隱私文件Activity隱私泄露漏洞Android應(yīng)用的內(nèi)置瀏覽器(url,并在應(yīng)用內(nèi)打開)file偽協(xié)議,html文件。典型場景是接收文件后在聊天窗口中打開文件。filejsActivityurlfilehtml未對所加載文件的路徑或文件屬性等做校驗(yàn)js腳本Manifest不安全屬性配置風(fēng)險(xiǎn)允許通過adb命令對應(yīng)用目錄進(jìn)行拷貝;源碼泄漏漏洞Proguard成源碼泄漏。隨機(jī)數(shù)加密破解漏洞Android4.4之前版本的Java加密架構(gòu)(JCA)ApacheHarmony6.0M3SecureRandom文件的engineNextBytes函導(dǎo)致偽隨機(jī)數(shù)生成器(PRNG)生成隨機(jī)序列的過程可被預(yù)測https敏感數(shù)據(jù)劫持漏洞應(yīng)用使用Android系統(tǒng)提供的httpsAPI時,存在以下三種未正確實(shí)現(xiàn)https網(wǎng)絡(luò)安全傳輸?shù)那闆r。1)X509TrustManager:自定義X509TrustManager類,但未實(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證書校驗(yàn)出錯時繼續(xù)加載系統(tǒng)組件本地拒絕服務(wù)漏洞檢測AndroidappIntent常邊界值或類型做校驗(yàn),導(dǎo)致出現(xiàn)空對象引用或類型不匹配的強(qiáng)制類型轉(zhuǎn)換,引發(fā)應(yīng)用崩潰。典型利用舉例如下:adbshellamstart-n包名/組件類名adbshellambroadcast-n包名/組件類名adbshellam[-n包名/組件類名-aactionStringadbshellamstartservice-n包名/組件類名致classNotFoundException等異常,使得應(yīng)用崩潰強(qiáng)制類型轉(zhuǎn)換本地拒絕服務(wù)漏洞AndroidappIntentIntent中的參數(shù)進(jìn)app構(gòu)造包含特殊參數(shù)的Intent,crash,屬于本地拒絕服務(wù)漏洞IntentSchemeURLs漏洞IntentSchemeURLs攻擊方式利用了瀏覽器保護(hù)措施的不足,通過瀏覽器作Intent-BasedIntent-BasedWebPage中,傳統(tǒng)的特征匹配完全不(無論是公開還是私有cookie.簡而言之,該攻擊能夠以瀏覽器的權(quán)限發(fā)送intent,屬于權(quán)限泄漏問題Activity組件暴露風(fēng)險(xiǎn)IntentActivity組件,導(dǎo)致信息泄漏、crashActivity組件:actionIntent消息adbshellamstart-n包名/組件類名action值的消息adbshellam[-n包名/組件類名]-aactionString發(fā)送帶具體參數(shù)值的消息adbshellamstart-n包名/組件類名(或-aactionString)--eskey1"value1"--eskey2"value2"Service組件暴露風(fēng)險(xiǎn)IntentService組件,導(dǎo)致信息泄漏、crashActivity組件:actionIntent消息adbshellamstartservice-n包名/組件類名action值的消息adbshellam[-n包名/組件類名]-aactionString發(fā)送帶具體參數(shù)值的消息adbshellamstartservice-n包名/組件類名(或-aactionString)--eskey1"value1"--eskey2"value2"BroadcastReceiver組件暴露風(fēng)險(xiǎn)IntentBroadcastcrash、Broadcast組件:A.發(fā)送空action的Intent消息adbshellambroadcast-n包名/組件類名B.發(fā)送帶action值的消息adbshellam[-n包名/組件類名]-aactionStringC.發(fā)送帶具體參數(shù)值的消息adbshellambroadcast-n包名/組件類名(或-aactionString)--eskey1"value1"--eskey2"value2"另:通過動

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論