TTAF 162-2023 移動應(yīng)用安全平行切面技術(shù)指南_第1頁
TTAF 162-2023 移動應(yīng)用安全平行切面技術(shù)指南_第2頁
TTAF 162-2023 移動應(yīng)用安全平行切面技術(shù)指南_第3頁
TTAF 162-2023 移動應(yīng)用安全平行切面技術(shù)指南_第4頁
TTAF 162-2023 移動應(yīng)用安全平行切面技術(shù)指南_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

ICS33.050

CCSM30

團(tuán)體標(biāo)準(zhǔn)

T/TAF162—2023

移動應(yīng)用安全平行切面技術(shù)指南

Technicalguidelinesforaspect-orientedsecurityofmobileapplications

2023-04-26發(fā)布2023-04-26實施

電信終端產(chǎn)業(yè)協(xié)會發(fā)布

T/TAF162—2023

移動應(yīng)用安全平行切面技術(shù)指南

1范圍

本文件規(guī)定了移動應(yīng)用安全平行切面架構(gòu),并從性能、穩(wěn)定性、安全性等方面給出移動應(yīng)用安全平

行切面的部署指南。

本文件適用于移動應(yīng)用開發(fā)者設(shè)計、開發(fā)、測試移動應(yīng)用時做參考,也適用于第三方評估機(jī)構(gòu)對移

動應(yīng)用安全測評時做參考。

2規(guī)范性引用文件

下列文件中的內(nèi)容通過文中的規(guī)范性引用而構(gòu)成本文件必不可少的條款。其中,注日期的引用文件,

僅該日期對應(yīng)的版本適用于本文件;不注日期的引用文件,其最新版本(包括所有的修改單)適用于本

文件。

GB/T25069信息安全技術(shù)術(shù)語

3術(shù)語和定義

GB/T25069界定的以及下列術(shù)語和定義適用于本文件。

3.1

安全平行切面aspect-orientedsecurity

通過在關(guān)鍵API函數(shù)和業(yè)務(wù)邏輯層間插入安全管控函數(shù),在運行時對目標(biāo)函數(shù)進(jìn)行監(jiān)測和管控,進(jìn)

而實現(xiàn)安全風(fēng)險感知和阻斷的技術(shù)體系。

4縮略語

下列縮略語適用于本文件。

AOP:面向切面編程(aspectorientedprogramming)

AOS:安全平行切面(aspect-orientedsecurity)

API:應(yīng)用程序接口(applicationprogramminginterface)

App:移動互聯(lián)網(wǎng)應(yīng)用程序(mobileinternetapplication)

IAST:交互式應(yīng)用安全測試(interactiveapplicationsecuritytesting)

RASP:運行時應(yīng)用自防護(hù)(runtimeapplicationself-protection)

SDK:軟件開發(fā)工具包(softwaredevelopmentkit)

5概述

1

T/TAF162—2023

移動應(yīng)用特別是平臺型App,存在大量第三方SDK、小程序等第三方代碼。由于缺少運行時監(jiān)測技術(shù),

無法對實際調(diào)用行為進(jìn)行觀測,存在盜取個人信息、推送惡意廣告等風(fēng)險,嚴(yán)重影響App的安全性。

傳統(tǒng)方式下,App安全風(fēng)險分析主要針對缺少安全管控或者管控存在疏漏的輸入與輸出,但是存在

一些困難:

a)難以枚舉應(yīng)用的輸入與輸出。靜態(tài)分析可以枚舉出一部分,但是覆蓋率有限且存在一定程度誤

報;

b)復(fù)現(xiàn)困難。App的某些行為,僅在特殊場景下才會觸發(fā),安全分析人員難以了解每個業(yè)務(wù)的細(xì)

節(jié),這些僅在特殊場景下觸發(fā)的行為難以發(fā)現(xiàn)和評估。

安全平行切面(AOS)將面向切面編程(AOP)思想應(yīng)用到安全體系建設(shè)中,通過端—管—云各層次

切面使安全管控與業(yè)務(wù)邏輯相互融合且解耦,并通過標(biāo)準(zhǔn)化接口為業(yè)務(wù)提供運行時監(jiān)測與風(fēng)險干預(yù)能

力。

注:AOP技術(shù)簡介參見附錄A。

面向App的AOS可以提供App運行時數(shù)據(jù)監(jiān)測、行為刻畫和干預(yù)能力,實現(xiàn)針對運行時的威脅發(fā)現(xiàn)和

惡意收集個人信息行為的監(jiān)測和防護(hù)。其關(guān)鍵技術(shù)點如下:

a)切點植入:選取業(yè)務(wù)關(guān)鍵邏輯點植入安全防護(hù)切點,切點植入支持多種方式,如流量層接入、

動態(tài)接入和靜態(tài)框架接入等。

b)App運行時數(shù)據(jù)監(jiān)測:安全平行切面深入App內(nèi)部,不需要經(jīng)過序列化或反序列化等轉(zhuǎn)換過程即

可直接獲取到App運行時的數(shù)據(jù)(App內(nèi)部函數(shù)的調(diào)用鏈路、關(guān)鍵API的調(diào)用參數(shù)等),提升安

全治理效果。

c)風(fēng)險干預(yù):能夠?qū)崿F(xiàn)對異常行為和安全風(fēng)險的實時感知,通過切面對函數(shù)調(diào)用進(jìn)行攔截管控,

從而對有風(fēng)險的隱私泄露或漏洞攻擊鏈路進(jìn)行管控。

6移動應(yīng)用安全平行切面架構(gòu)

6.1概述

移動應(yīng)用安全平行切面主要由移動端切面組件和云端切面管控平臺等組成,如圖1所示。移動應(yīng)用

安全平行切面所提供的App運行時數(shù)據(jù)監(jiān)測和風(fēng)險干預(yù)能力,可以實現(xiàn)不同的安全業(yè)務(wù)能力,比如隱私

權(quán)限管控、RASP和IAST等。

圖1移動應(yīng)用安全平行切面架構(gòu)

2

T/TAF162—2023

6.2切面組件

切面組件分為切面底座和切面管控兩部分。其中切面底座主要負(fù)責(zé)配置讀取、切點植入、數(shù)據(jù)上報

和模塊加載等功能,切面管控負(fù)責(zé)具體的切點處理邏輯。不同的切面管控模型負(fù)責(zé)不同的安全業(yè)務(wù)場景。

在App運行期間,切面管控模塊通過調(diào)用棧、函數(shù)參數(shù)、返回值和上下文等信息可以獲取到每一條調(diào)研

鏈路的詳情,針對不同的安全業(yè)務(wù)場景比如隱私權(quán)限API調(diào)用、數(shù)據(jù)和網(wǎng)絡(luò)請求等做出對應(yīng)的分析判斷,

并通過切面底座完成數(shù)據(jù)上報。

切面底座功能包括但不限于:

a)配置讀?。鹤x取云端切面管控平臺下發(fā)的切面配置信息;

b)切點植入:通過預(yù)編譯、運行時動態(tài)代理等方式植入切點;

c)數(shù)據(jù)上報:將切面管控模塊讀取到的數(shù)據(jù)上報云端切面管控平臺;

d)模塊加載:加載切面管控中的相應(yīng)模塊。

切面管控功能包括但不限于:

a)穩(wěn)定性模塊:通過在業(yè)務(wù)組件中設(shè)置安全平行切面,監(jiān)測線程相關(guān)的API,阻止對業(yè)務(wù)組件穩(wěn)

定性造成影響的線程的運行;

b)應(yīng)用安全模塊:將業(yè)務(wù)組件(如小程序)的關(guān)鍵API函數(shù)(如文件訪問等)中植入安全管控函

數(shù),加入安全監(jiān)測和攔截的功能,從而實現(xiàn)移動端運行時自防護(hù);

c)隱私權(quán)限模塊:通過在涉及到用戶隱私數(shù)據(jù)訪問的業(yè)務(wù)組件中設(shè)置安全平行切面,對隱私權(quán)

限相關(guān)API調(diào)用進(jìn)行監(jiān)測和管控;

d)數(shù)據(jù)安全模塊:通過在不同業(yè)務(wù)組件(如App中的小程序)中設(shè)置安全平行切面,返回不同模

塊調(diào)用云端API的信息給云端,幫助云端實現(xiàn)對不同業(yè)務(wù)組件的數(shù)據(jù)訪問控制。

6.3切面管控平臺

切面管控平臺在獲取到上報的數(shù)據(jù)后,通過大數(shù)據(jù)分析和算法模型刻畫出業(yè)務(wù)的行為特征并篩選出

異常行為,必要時可下發(fā)對應(yīng)的配置到移動端切面組件,對有風(fēng)險的隱私泄露或漏洞攻擊等風(fēng)險進(jìn)行阻

斷。功能包括但不限于:

a)配置:針對移動端的異常行為,生成相應(yīng)的移動端切面配置信息并下發(fā)到移動端;

b)切點管控:根據(jù)移動端異常行為或安全漏洞信息,生成切點列表并下發(fā)到移動端;

c)質(zhì)量監(jiān)測:通過對加載了切面的業(yè)務(wù)組件的相關(guān)信息的統(tǒng)計和分析(比如時延、運行異常等

信息),對切面的運行進(jìn)行監(jiān)測,避免切面的運行影響到業(yè)務(wù)的正常運行。

6.4切面業(yè)務(wù)模塊

切面業(yè)務(wù)即基于安全平行切面實現(xiàn)的App安全業(yè)務(wù)能力,不同的切面業(yè)務(wù)之間相互獨立,互不干擾。

功能包括但不限于:

a)隱私權(quán)限管控:對隱私相關(guān)的API函數(shù)的信息進(jìn)行規(guī)則匹配和管控,下發(fā)隱私權(quán)限管控指令;

b)RASP:對漏洞相關(guān)的API函數(shù)的信息進(jìn)行規(guī)則匹配和管控,下發(fā)安全防護(hù)指令;

c)IAST:交互式應(yīng)用安全測試,主要應(yīng)用于測試環(huán)境,下發(fā)測試數(shù)據(jù),用于發(fā)現(xiàn)可能導(dǎo)致App崩

潰的漏洞。

7部署指南

7.1性能保障措施

在安全平行切面實踐中,主要從以下方面控制和優(yōu)化性能開銷:

3

T/TAF162—2023

a)宜避免引入超高頻次調(diào)用的切點,通過關(guān)注和實測切點被調(diào)用的頻次,來選擇合適粒度的切點;

b)宜建立安全平行切面組件分級分類管理,區(qū)分不同切面組件的能力邊界,防止切面組件被濫用;

c)宜優(yōu)先使用經(jīng)過實踐驗證過的輕量級切點植入機(jī)制或框架,將植入動作所帶來的開銷降到最

低;

d)宜權(quán)衡和控制切點出植入代碼的復(fù)雜度和收益,不過度追求內(nèi)視和安全能力最大化,避免引入

非常復(fù)雜的安全邏輯。

7.2穩(wěn)定性保障措施

在安全平行切面實踐中,主要從以下方面保障切面和系統(tǒng)的運行穩(wěn)定:

a)宜在研發(fā)階段加強(qiáng)質(zhì)量管理,建立研發(fā)標(biāo)準(zhǔn)規(guī)范,收斂研發(fā)過程中出現(xiàn)的穩(wěn)定性風(fēng)險;

b)安全平行切面進(jìn)行發(fā)布變更或策略變更時,宜引入相關(guān)方交叉評審,確保充分評估風(fēng)險,控

制影響范圍;

c)宜具備完善的變更防御機(jī)制、監(jiān)控告警和保障機(jī)制,建立運營保障規(guī)范,安全策略和變更過

程要符合可監(jiān)控、可回滾的穩(wěn)定性要求;

d)宜進(jìn)行切面使用資源的限制與隔離,避免過度使用控制資源,避免切點隱蔽死鎖問題,避免

設(shè)計過度復(fù)雜的安全邏輯等;

e)宜通過鏈路壓測、故障演練、預(yù)案演練等手段模擬真實流量壓力和故障,在模擬故障產(chǎn)生后,

全面評估各項告警的可靠性、應(yīng)急處置動作的及時性、故障預(yù)案執(zhí)行的有效性,從而檢驗安全

平行切面的穩(wěn)定性和有效性;

f)在運行時,宜通過監(jiān)控切面指標(biāo)(如切面注入點耗時、切面拋出異常數(shù)、切面攔截量等)和

業(yè)務(wù)進(jìn)程自身的系統(tǒng)指標(biāo)(CPU占用、內(nèi)存消耗、服務(wù)耗時等),進(jìn)行多層次的綜合判定安全

平行切面運行穩(wěn)定性;

g)宜建立統(tǒng)一的故障處置應(yīng)急機(jī)制,對安全平行切面故障進(jìn)行快速處置,保障業(yè)務(wù)可用性和穩(wěn)

定性。比如根據(jù)業(yè)務(wù)運行告警和異常情況,關(guān)閉切點處的安全邏輯,保障業(yè)務(wù)運行的穩(wěn)定性。

a)宜考慮碎片化場景需求,適配不同版本的基礎(chǔ)環(huán)境,為上層業(yè)務(wù)提供相對統(tǒng)一的安全平行切

面機(jī)制,為業(yè)務(wù)系統(tǒng)的快速迭代提供高效穩(wěn)定的安全保障。

7.3安全保障措施

在安全平行切面實踐中,主要從以下方面進(jìn)行安全保障

a)宜對切面組件和安全策略進(jìn)行簽名驗證,防止被篡改和濫用;

b)宜對切面組件的安裝升級和安全策略下發(fā)等操作進(jìn)行身份鑒別和權(quán)限管控,落實到人,降低

被攻擊者冒用的風(fēng)險;

c)宜對切面獲取到的隱私API調(diào)用相關(guān)信息的傳輸和存儲進(jìn)行加密保護(hù),防止敏感數(shù)據(jù)泄露;

d)宜對移動終端和云端之間的切面數(shù)據(jù)上報和指令下發(fā)等進(jìn)行傳輸加密;

e)宜防止切面管控被攻擊者繞過;

f)宜采用代碼混淆等技術(shù),加大攻擊者的攻擊難度,實現(xiàn)對切面組件的保護(hù);

g)宜對切面管控平臺及其所有操作進(jìn)行嚴(yán)格的身份鑒別和權(quán)限管控,權(quán)限檢查內(nèi)置與安全平行

切面中,并可實現(xiàn)針對切面業(yè)務(wù)模塊的細(xì)化權(quán)限;

h)宜對所有云端和移動端的配置變更、狀態(tài)變更進(jìn)行日志審計。

4

T/TAF162—2023

附錄A

(資料性)

AOP技術(shù)簡介

AOP是一種編程范式,主要基于OOP(面向?qū)ο缶幊蹋┻M(jìn)行延續(xù)。OOP從縱向上區(qū)分出一個個的類,

讓開發(fā)者實現(xiàn)縱向的業(yè)務(wù)邏輯處理,但是OOP并不適合用于定義橫向業(yè)務(wù)邏輯的關(guān)系,特別是實現(xiàn)涉及

大量類的橫切(crosscutting)功能邏輯時,會導(dǎo)致程序中出現(xiàn)大量重復(fù)代碼,復(fù)用性極差,如最常

用的日志、安全以及事務(wù)功能等,它們都可能是橫向的分布在不通的業(yè)務(wù)層級中,但是又和具體的核心

業(yè)務(wù)無直接關(guān)系,諸如這樣類型的代碼,在程序中被稱作橫切。

AOP就是將此類與核心業(yè)務(wù)無關(guān)的,但又影響著多個類的公共行為抽取、封裝到一個可重用公共模

塊中,通過預(yù)編譯、運行時動態(tài)代理、注入等方式,在不修改源代碼的情況下給程序的正常業(yè)務(wù)邏輯中

動態(tài)添加公共模塊中定義的功能。從而實現(xiàn)代碼復(fù)用和解耦的目的。

在AOP中,切面是通知(advice)和切點(pointcut)的集合?!巴ㄖ泵枋隽饲忻嬉獙崿F(xiàn)的功能和

執(zhí)行此功能的時機(jī),比如在函數(shù)執(zhí)行完成之后調(diào)用日志功能,即“通知”定義了“什么”和“何時”。

“切點”主要定義“何處”,即在何處調(diào)用橫切功能,比如名字前面是select開頭的函數(shù)才調(diào)用日志功

能。

5

T/TAF162—2023

參考文獻(xiàn)

[1]安全平行切面白皮書,/aspect_oriented_security_white_pape

r.pdf

BT/TAFWGDGFECAXXX*—XXXX

溫馨提示

  • 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

提交評論