国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于安全容器的券商APP用戶隱私威脅行為管控技術(shù)研究

2022-10-09 04:07宋士明
信息安全研究 2022年10期
關(guān)鍵詞:白名單券商個人信息

宋士明

(南京證券股份有限公司 南京 210019)

(smsong1120@126.com)

隨著《中華人民共和國個人信息保護法》的頒布實施,個人信息及隱私保護已成為國家監(jiān)管的重中之重.隨著智能移動終端的發(fā)展普及,其已成為儲存和產(chǎn)生大量個人信息的載體,移動APP在智能移動終端上的個人信息收集使用,已成為個人信息保護專項整治的主要戰(zhàn)場.國家監(jiān)管4部委已聯(lián)合開展“APP違法違規(guī)收集使用個人信息專項治理”行動,針對移動APP違法違規(guī)收集使用個人信息和侵犯個人隱私的行為開展了持續(xù)性的監(jiān)測、通報、整改和處罰[1].對券商而言,確保所運營的移動APP中個人隱私信息的安全與合規(guī),是亟需解決的問題.

券商APP集成一定數(shù)量第三方SDK已成普遍現(xiàn)象,一旦所集成的第三方SDK發(fā)生用戶隱私侵犯行為,券商同樣需要承擔個人信息保護不合規(guī)的責任.券商需要對APP及其所集成的第三方SDK進行統(tǒng)籌考慮,不僅應根據(jù)業(yè)務開展的最小需要,在移動APP上合法合規(guī)地收集和使用個人信息還應做好用戶隱私保護,因此研究APP用戶隱私威脅行為管控的安全技術(shù)勢在必行[2].當前,券商在APP個人信息保護實踐中,普遍采用靜態(tài)或受限動態(tài)分析的隱私合規(guī)檢測方案[3],此類方案通常是在APP版本開發(fā)或發(fā)布前,或在APP運營階段中定期進行,以此判斷APP是否符合國家和行業(yè)的個人信息保護的監(jiān)管要求,并根據(jù)檢測發(fā)現(xiàn)的違規(guī)問題進行整改[4].然而,傳統(tǒng)基于靜態(tài)或受限動態(tài)分析的APP隱私合規(guī)檢測技術(shù)存在明顯的局限性[3],并不能完全保證券商APP滿足個人隱私信息保護的合規(guī)要求,其中很大一部分原因是由APP所集成的第三方SDK存在不受控的隱私威脅行為所導致的[5-6].本文旨在研究Android安全沙箱技術(shù),針對券商APP所集成的第三方SDK在APP運行態(tài)下可能發(fā)生的、違反業(yè)務必需原則的用戶隱私威脅行為,實現(xiàn)對其持續(xù)全面地監(jiān)測與管控.

1 安全沙箱技術(shù)架構(gòu)設計

本文在Android移動終端為券商APP設計并構(gòu)造一種輕量、穩(wěn)定的安全沙箱,形成安全容器,并針對在其內(nèi)部運行的券商APP提供全面的API攔截能力,實現(xiàn)對APP中所集成的第三方SDK隱私威脅行為進行持續(xù)監(jiān)測和管控.使用安全沙箱技術(shù)實現(xiàn)隱私威脅行為管控的移動端組件,簡稱為PTC(privacy threat control).為實現(xiàn)PTC沙箱的預期能力,需要設計并構(gòu)造出能夠在APP與Android系統(tǒng)之間實現(xiàn)穩(wěn)定、全面API攔截能力的沙箱技術(shù).當前移動終端上所有沙箱技術(shù)方案都建立在API攔截技術(shù)基礎上,API攔截的穩(wěn)定性和覆蓋面會直接影響在沙箱中運行APP的穩(wěn)定性.當前,基于系統(tǒng)分層框架,Android原生的API攔截技術(shù)主要有2類,分別是基于Java層API攔截的宿主沙箱技術(shù)和基于C層API攔截的底層沙箱技術(shù),其技術(shù)架構(gòu)如圖1所示:

圖1 宿主沙箱和底層沙箱的技術(shù)架構(gòu)

宿主沙箱在應用層構(gòu)建一個沙箱宿主應用,然后將其他受控APP應用運行在宿主沙箱中,與宿主沙箱使用相同UID并具有相同權(quán)限,宿主沙箱作為應用與Android系統(tǒng)之間的中間代理層,需要構(gòu)建全部的系統(tǒng)服務,然后在應用與Android系統(tǒng)的交互過程中實現(xiàn)API攔截和對應的策略管控.該宿主沙箱存在安全性低、穩(wěn)定性和使用體驗差、不具備持續(xù)可擴展性等特點.底層沙箱工作在Android原生的應用隔離機制基礎上,針對每個受控APP應用構(gòu)建沙箱虛擬環(huán)境,在Framework框架層構(gòu)建API攔截能力,并向上層進行擴展,以實現(xiàn)針對應用行為的全面監(jiān)測和管控.底層沙箱技術(shù)在與Android系統(tǒng)保持一致的安全性,API攔截體系的輕量性、穩(wěn)定性和持續(xù)有效性,以及對APP應用的兼容適配性等方面,相比宿主沙箱技術(shù)都具有較為明顯的優(yōu)勢.綜上,本文提出的PTC沙箱是基于底層沙箱技術(shù).

2 APP用戶隱私威脅行為管控

PTC沙箱采用容器化的方式實現(xiàn)與所保護APP集成,在APP運行態(tài)下,實現(xiàn)對APP中第三方SDK可能發(fā)生的、違反業(yè)務必需原則的用戶隱私威脅行為的持續(xù)監(jiān)測與管控.

2.1 PTC沙箱的技術(shù)原理

PTC沙箱使用的API攔截技術(shù)在Framework層構(gòu)建,主要在Binder通信[7]的最底層,即Binder與內(nèi)核通信的接口處實施API攔截,該接口具備唯一性,應用對Android系統(tǒng)所有服務的訪問都會經(jīng)由此處,在底層API攔截技術(shù)基礎上,PTC沙箱還基于對Android Linker、ELF以及底層庫內(nèi)部結(jié)構(gòu)實現(xiàn)自動尋址技術(shù),用于準確定位底層庫內(nèi)部隱藏API實現(xiàn)的函數(shù),提升和優(yōu)化實施攔截的效果,從而保證完整的API攔截不遺漏[8-9].PTC沙箱具備API攔截能力之后,用于特定APP隱私威脅的監(jiān)測和管控時,需先將APP進行容器化處理,可通過自動容器化或SDK集成方式完成.容器化過程為原始APP應用增加Loader引導器,該過程不改動應用原包,從而完成APP應用靜態(tài)虛擬化.容器化APP應用的運行流程如圖2所示:

圖2 PTC容器化APP應用運行流程

容器化APP在安裝啟動后,首先進入Loader,開始初始化PTC沙箱虛擬環(huán)境,然后根據(jù)啟用的功能加載對應的配置策略.環(huán)境準備完成后將原始APP應用引導進入PTC沙箱中運行,完全將運行空間交給APP應用.PTC沙箱只是在APP應用與系統(tǒng)交互時,依據(jù)功能對API訪問行為進行監(jiān)測和攔截,整個API流程與系統(tǒng)調(diào)用API流程保持一致,達到透明監(jiān)測的效果.

2.2 APP用戶隱私威脅行為分析

2.2.1 Android應用權(quán)限類型

目前,有學者開始對Android應用的隱私權(quán)限進行了專門的安全研究[10].Android從6.0版本以后,為保護APP用戶隱私,針對應用訪問受限數(shù)據(jù)和執(zhí)行受限操作定義了越來越嚴格的權(quán)限控制.Android將所有定義的應用權(quán)限劃分為以下3類[11]:

1) 安裝時權(quán)限.通常指普通權(quán)限,涵蓋應用訪問其沙盒外部數(shù)據(jù)或資源所需權(quán)限,對用戶隱私或其他應用風險很小.這些權(quán)限在應用安裝時被授予,運行時不再詢問用戶.例如:網(wǎng)絡訪問、WiFi狀態(tài)、音量設置等.

2) 運行時權(quán)限.也稱危險權(quán)限,涵蓋應用需要訪問涉及用戶隱私的數(shù)據(jù)或資源,或可能對用戶存儲的數(shù)據(jù)或其他應用的操作產(chǎn)生影響所需權(quán)限.例如:讀取通信錄、讀寫存儲器數(shù)據(jù)、獲取位置信息等.如果應用聲明需要這些危險權(quán)限,則必須在運行時明確告知用戶,讓用戶手動確認授予.

3) 特殊權(quán)限.該權(quán)限與特定的應用操作相對應.只有平臺和原始設備制造商(OEM)可以定義使用特殊權(quán)限.

2.2.2 隱私威脅行為類型

在券商APP的使用場景中,第三方SDK可能發(fā)生的隱私威脅行為主要包括以下3類,如表1所示:

表1 隱私威脅行為類型

以上3類隱私威脅行為對券商APP用戶隱私具有很大的威脅.對非法的移動終端個人信息收集者而言,只有將個人信息外發(fā)才能產(chǎn)生價值,而熱更新行為能夠?qū)崿F(xiàn)更加隱蔽的個人信息違規(guī)收集.另外超出券商APP隱私政策聲明范圍的個人信息違規(guī)采集行為也應當被監(jiān)測和管控.

2.2.3 隱私威脅行為攔截

針對上述個人信息的違規(guī)采集和外發(fā),以及熱更新等隱私威脅行為,PTC沙箱通過構(gòu)建對應的API攔截能力實現(xiàn)威脅行為的監(jiān)測和管控,以下舉例簡述PTC沙箱對3類隱私威脅行為的攔截原理.

1) 讀取通信錄.

在訪問通信錄之前需要先檢查是否存在此權(quán)限,而無論采用哪種形式來查詢權(quán)限,其最終都會調(diào)用PermissionManager.checkPermission(),通過代理sPermissionCache即可截獲所有的查詢動作.若想攔截獲取通信錄的動作,則直接讓checkPermission返回PERMISSION_DENIED即可.通過記錄調(diào)用checkPermission的堆棧,可知哪個SDK想使用讀取通信錄權(quán)限.對于大多數(shù)SDK,采用上述攔截方式即可.可能存在少數(shù)SDK,不查詢權(quán)限直接使用,即便可能導致APP應用崩潰,針對這類SDK,需要通過binder hook直接攔截通信錄的query操作.

2) 通信外發(fā).

網(wǎng)絡通信接口的上層封裝很多,但其根源主要包括以下3類:①H5應用會調(diào)用WebView的loadUrl方法;②Java層網(wǎng)絡通信最終會調(diào)用Socket類的方法;③C/C++層會調(diào)用connect,read,write等.H5應用直接在Java層鉤住(hook)WebView的方法,Java層網(wǎng)絡通信在Java層hook Socket類即可.這2類攔截可根據(jù)堆棧中的Java包名,溯源第三方SDK來源.由于所有的網(wǎng)絡通信(包括Java層)最終會調(diào)到C/C++層,且C/C++層通常會丟失Java堆棧信息,為避免無法區(qū)分觸發(fā)網(wǎng)絡通信的SDK的來源,還需要鉤住connect.

3) 組件熱更新[12].

當前Android廣泛使用的組件熱更新方法是動態(tài)加載so動態(tài)庫,其原理為so庫的shared object.可用于在已運行的APP程序中,動態(tài)加載一段代碼.惡意SDK會在運行之后,去下載一段代碼(其外在表現(xiàn)通常為so庫)來執(zhí)行.因此攔截惡意SDK的熱更新必須要阻止其load so庫的能力.具體而言,對Java層通過System.load或loadLibrary來加載so庫,可鉤住Runtime.nativeLoad(),并根據(jù)堆棧中的Java包名來溯源第三方SDK.對C/C++層通過dlopen來加載so庫,直接鉤住dlopen即可.由于所有l(wèi)oad so都會調(diào)到C/C++層dlopen,但與網(wǎng)絡通信類似,C/C++層通常會丟失Java堆棧信息,為避免無法區(qū)分觸發(fā)熱更新的SDK的來源,還需要鉤住dlopen.

2.3 PTC沙箱的管控策略

PTC沙箱基于沙箱本地策略對隱私威脅行為進行監(jiān)測和管控.券商PTC策略可根據(jù)自身的APP隱私政策確定通過服務端策略管控平臺向PTC沙箱下發(fā).PTC策略包括檢測策略和響應策略2類.檢測策略主要包括個人信息違規(guī)采集、異常通信外發(fā)以及組件熱更新3類,券商APP根據(jù)隱私政策定義隱私采集行為和通信外發(fā)行為2類白名單規(guī)則,基于白名單構(gòu)建檢測策略,具體而言,隱私采集行為白名單形式是業(yè)務必需的權(quán)限聲明列表,通信外發(fā)行為白名單形式為業(yè)務必需的對外通信對端URL列表.PTC沙箱通過API攔截技術(shù)識別出券商APP應用發(fā)起的隱私采集行為和通信外發(fā)行為,并與PTC策略進行比對,符合PTC策略則透傳API調(diào)用至Android系統(tǒng),超出PTC策略白名單的行為則被認定為隱私威脅行為.此外,所有的組件熱更新行為都被PTC沙箱認定為隱私威脅行為.響應策略是指控制PTC沙箱監(jiān)測到隱私威脅行為之后作出何種響應處理動作的策略,具體包括2類:1)審計記錄,即PTC沙箱不主動阻斷APP隱私威脅行為,而只是對監(jiān)測到的行為進行審計記錄,并發(fā)送到策略管控平臺,讓券商清晰了解APP用戶隱私威脅行為的發(fā)生態(tài)勢;2)攔截阻斷,即PTC沙箱主動對監(jiān)測到的APP隱私威脅行為進行攔截阻斷,可對用戶隱私起到實質(zhì)性保護作用,但也可能觸發(fā)行為中斷后的異常,進而影響用戶體驗.

3 PTC沙箱實現(xiàn)與能力驗證

為驗證PTC沙箱的核心能力,本文設計開發(fā)了DemoAPP原型,并在可能的隱私威脅行為類型中選擇5項典型的隱私威脅行為對PTC沙箱能力進行驗證,這5項能力對應5種風險較高的隱私威脅行為,分別是:1)讀取應用安裝列表;2)讀取通信錄;3)讀取短信內(nèi)容;4)通信外發(fā);5)組件熱更新.

3.1 DemoAPP設計實現(xiàn)

為簡化實現(xiàn)過程,本文針對Android設計實現(xiàn)了2個DemoAPP:一個是策略管控APP,用于模擬策略管控平臺向PTC沙箱下發(fā)指定的PTC策略;另一個是模擬業(yè)務APP,是一個以安全容器化方式集成了PTC沙箱的模擬券商業(yè)務的APP,用于呈現(xiàn)PTC沙箱的隱私威脅行為監(jiān)測和管控能力.DemoAPP設計如圖3所示:

圖3 DemoAPP設計

策略管控APP實現(xiàn)以下PTC策略設置:1)可勾選定義PTC沙箱管控的隱私威脅行為類型;2)可配置白名單外聯(lián)地址和非白名單外聯(lián)地址;3)可配置PTC沙箱是否監(jiān)測對應隱私威脅行為和監(jiān)測后的響應策略.模擬業(yè)務APP通過手動觸發(fā)隱私威脅行為,可呈現(xiàn)PTC沙箱對隱私威脅行為的監(jiān)測和阻斷效果.

3.2 PTC沙箱能力驗證

將控制策略APP和模擬業(yè)務APP安裝運行在同一個移動終端上,本文測試終端為小米9手機,運行Android 10系統(tǒng).當策略管控APP將上述5種隱私威脅行為都界定為違規(guī)行為(即假設此5種行為都是隱私政策范圍之外的行為,同時配置外聯(lián)通信地址白名單和非白名單),并分別開啟監(jiān)控和阻斷的響應策略時,其策略配置分別如圖4所示.

圖4 策略管控APP的策略配置

通過手動在模擬業(yè)務APP界面上觸發(fā)隱私威脅行為,由于模擬業(yè)務APP已PTC容器化,且PTC沙箱接收了策略管控APP下發(fā)的PTC策略,上述5種隱私威脅行為均會被PTC沙箱監(jiān)測到或強制阻斷.為便于展示,以模擬業(yè)務APP上獲取通信錄為例,PTC沙箱的監(jiān)控與阻斷效果如圖5所示:

圖5 PTC沙箱的監(jiān)控與阻斷效果

DemoAPP的驗證結(jié)果表明,PTC沙箱能夠接收并執(zhí)行針對典型的APP隱私威脅行為的監(jiān)控和阻斷策略,其關(guān)鍵能力得到了有效驗證.

4 PTC沙箱與券商APP集成

本文通過自動容器化方式將PTC沙箱與南京證券的金羅盤APP(如圖6所示)進行集成,驗證券商APP使用場景下PTC沙箱技術(shù)的兼容性和穩(wěn)定性,以及對第三方SDK潛在隱私威脅行為進行監(jiān)測和管控的有效性.

圖6 金羅盤APP

為方便測試,將安全容器化后的某版本金羅盤APP安裝運行在測試終端設備上,并且將PTC沙箱策略固化.根據(jù)金羅盤APP的隱私政策,梳理出所集成的第三方SDK功能與用途清單,并基于隱私合規(guī)要求,確定外聯(lián)通信白名單和監(jiān)測審計策略,重點監(jiān)測第三方SDK的非白名單外聯(lián)通信和組件熱更新這2類高風險隱私威脅行為.實驗測試表明,安全容器化后的某版本金羅盤APP在運行態(tài)下,僅檢測到存在超出隱私政策范圍的權(quán)限違規(guī)使用情況,違規(guī)使用的權(quán)限及其來源第三方SDK如表2所示:

表2 違規(guī)權(quán)限使用

5 結(jié)束語

本文通過技術(shù)研究和測試證實了Android平臺PTC沙箱技術(shù)的可行性,能夠?qū)崿F(xiàn)針對券商APP運行態(tài)下可能發(fā)生的第三方SDK侵犯用戶隱私的威脅行為的全面監(jiān)測和管控能力,主要包括個人信息違規(guī)采集、違規(guī)外聯(lián)通信以及組件熱更新3類威脅行為,達到預期目標.基于APP隱私威脅行為的全面監(jiān)測和管控能力可有效增強券商的個人信息保護能力,有效降低由第三方SDK隱私威脅行為導致的軟件供應鏈風險,同時也對券商APP隱私合規(guī)檢測能力進行了有效的擴展和增強.在技術(shù)實踐上,PTC沙箱能切實提高證券經(jīng)營機構(gòu)的個人信息保護水平和隱私合規(guī)能力.

猜你喜歡
白名單券商個人信息
個人信息保護進入“法時代”
敏感個人信息保護:我國《個人信息保護法》的重要內(nèi)容
UAC提示太煩 教你做個白名單
主題語境九:個人信息(1)
民法典應進一步完善侵害個人信息責任規(guī)定
2019年“移動互聯(lián)網(wǎng)應用自律白名單”出爐
移動互聯(lián)網(wǎng)白名單認證向中小企業(yè)開放
船企“白名單”, 銀行怎么看
券商集合理財產(chǎn)品最新凈值排名
券商集合理財產(chǎn)品最新凈值排名