關鍵詞:動態分析;污點分析;深度學習;Android應用
中圖分類號:TP391 文獻標志碼:A 文章編號:1001-3695(2025)08-025-2437-09
doi:10.19734/j.issn.1001-3695.2024.10.0501
Automatic method to analyze deep-learning model leakage on mobile systems using taint analysis
Zhu Wentian,Lin Jingqiang? (SchoolofCyberScienceamp;Technology,UniversityofScienceamp;TechnologyofChina,Hefei230O27,China)
Abstract:Toanalyze dep-learning modelleakageonmobilesystems,existing methods require todynamicallyrun mobile applicationsand manually trigerdeep-learningfunctions,whichareunstableand needalotof manualparticipations,limiting the widespread useof such analysis methods.To automatically analyze more deep-learing models on mobile systems,this paper proposed an automatic method to analyze deep-learning modelleakage on mobiledevices using taint analysis.This method combined keyword matching and entropy evaluation to extract modelfiles inmobile applications,usedataint-analysis method basedonsimulated execution totrackthefunctionaddress of modeldecryption,andfinallcalledthedecryption functionto obtaintheplaintextmodel.Basedonthisdesign,thispaperimplementedanautomatedanalysis toolcaledModelDec.The analysis esults on mainstream APP stores show thatthe model leakage detectionrateand theanalysis speed are better than existing methods,which demonstrate the effectiveness of the proposed method.
Key words:dynamic analysis; taint analysis;deep learning model;Android applications
0 引言
隨著人工智能技術的飛速發展和廣泛應用,深度學習算法正逐漸被集成到智能手機等移動設備上。與云端部署深度學習服務相比,移動端部署展現出不同的優勢。首先,用戶的數據可以在移動設備上直接進行處理,不僅保護了用戶隱私,還降低了數據泄露的風險。其次,由于省去了數據通過網絡傳輸的步驟,服務的響應速度得到顯著提升,增強了應用的穩定性和可靠性。此外,移動端部署的深度學習服務支持離線使用,這極大地擴展了應用的使用場景,使得用戶即使在沒有網絡連接的極端情況下也能享受到人工智能服務。
然而,在移動端部署深度學習服務需要將深度學習模型存儲在用戶設備上,這也帶來了新的安全挑戰。深度學習模型通常是模型所有者自主知識產權的核心部分,若缺乏充分的保護措施,則可能被盜竊或濫用。事實上,移動端部署使得模型保護比云端部署更具挑戰性。因為模型存儲在用戶設備上,而這些設備對于模型所有者而言是不可信的,可能掌握在攻擊者手上,會將模型泄露出去。具體而言,模型泄露會導致模型所有者在人力、數據采集、計算資源等方面的投資損失;其次,競爭對手若獲取到這些專門訓練的深度學習模型,將削弱模型所有者的市場競爭力,包括但不限于產品優勢和定價策略;此外,泄露的模型可能遭受惡意對抗攻擊,例如生成對抗樣本[1~4]或在模型中植入后門[5-7],導致深度學習服務產生錯誤的輸出。這種攻擊行為可能觸發嚴重的安全故障[8,對系統可靠性和用戶信任造成不利影響。例如在金融行業,深度學習模型被用于身份驗證、欺詐檢測等場景,通過竊取和偽造身份驗證模型,攻擊者可以非法訪問用戶賬戶,導致資金損失甚至法律糾紛。在教育領域,用于知識評測的深度學習模型的泄露不僅會導致教育機構的知識產權受損,還可能影響考試公平性和教學質量。此外,社交媒體中的推薦算法模型一旦泄露,可能被惡意操控以傳播虛假信息,影響公共輿論環境。因此,研究一種高效、自動化分析移動端深度學習模型泄露的技術方法,對于保護行業利益和用戶隱私具有重要意義。
為了防止移動端深度學習模型泄露,模型供應商采取了一系列保護措施,包括模型加密、模型混淆和基于硬件TEE(可信執行環境,trustedexecutionenvironment)的保護。其中使用最為廣泛的是模型加密的保護方法[9,10],該方法應用各種加密算法對模型內容進行保護,將其以密文形式存儲于用戶設備上。在使用模型時,先解密再加載至深度學習推理引擎中執行。
針對模型加密保護方法的安全性,已有研究提出了相應的模型泄露分析方法:借助程序插樁技術,在運行時的應用程序內存中搜索解密后的模型明文。然而,此方法的實施要求測試者在移動設備上動態運行應用程序;更重要的是,需要手動點擊移動設備或借助工具生成模擬點擊行為,以引導應用程序解密模型。所以,此類方法存在著很大的不穩定性、成功率較低,并且難以實現自動化。
本文針對使用加密保護的移動端深度學習模型,提出了一種基于污點分析的模型泄露自動分析方法。該方法以安卓應用程序包(Androidapplicationpackage,APK)作為輸人,在對APK解包后,使用關鍵詞匹配和文件熵值判定篩選出APK中經過加密的深度學習模型;隨后,使用基于模擬執行的污點分析方法追蹤模型密文在程序運行時的數據流,得到模型解密函數的地址;最后對解密函數進行參數補全和運行時調用,從而解密模型的明文內容。相比較于現有研究,本方法的優勢在于不需要動態運行應用程序和通過人機交互觸發模型解密的行為,這不僅使得分析更加自動化,適合大規模分析應用,還降低了漏報率,為移動端深度學習模型提供了更為可靠的安全評估。
基于本文提出的自動分析方法,實現了自動化工具Mo-delDec,針對從不同應用商店下載的共57363個APK進行分析,提取出1119個APK和其中包含的3726個被識別為經過加密保護的深度學習模型,并成功定位了其中312( 27.9% )個應用程序中的模型解密函數,解密得到628個模型文件的明文內容。實驗結果表明,ModeIDec能夠有效分析加密保護的移動端深度學習模型,成功率高于已有相關研究工作。
本文的主要貢獻如下:
a)提出了一種基于污點分析的移動端深度學習模型泄露分析方法,設計了專用于追蹤模型數據流的污點傳播規則。b)實現了一個自動化分析工具ModelDec,用于移動端深度學習模型泄露的分析,并通過實驗展示了工具的有效性。c)通過對實驗結果的分析,給出了移動端應用市場采用加密手段保護深度學習模型的現狀,為保護移動端深度學習模型保護提供了參考。
1背景知識
1.1 深度學習的移動端應用
最初,在移動端使用深度學習功能主要由應用程序向云服務器發送請求,在云端執行深度學習推理,然后返回結果。這樣做的缺點是需要網絡連接和將用戶數據上傳到服務器。隨著移動設備上硬件加速器的不斷發展以及針對移動端應用程序定制的深度學習框架的出現,越來越多的深度學習功能被直接部署在移動端。然而,隨著深度學習模型從云端轉移到了移動端,模型所有者也面臨全新的安全挑戰:如何保護在不可信的用戶設備上存儲和使用的深度學習模型。
移動端深度學習模型通常需由應用開發者在具有大量計算資源的服務器上完成訓練。訓練好的模型可以隨應用程序安裝包一起提供給用戶,也可以在應用程序安裝后單獨下載。深度學習模型推理在用戶設備上執行,依賴于深度學習框架提供的推理引擎。目前有數十種流行的深度學習框架,例如Google的TensorFlow和TensorFlowLiteFacebook的PyTorch和Caffe2、Tencent的NCNN、Apple的CoreML等。不同的深度學習框架使用不同格式的模型文件,包括ProtoBuf(.pb、.pbtxt)、FlatBuffer(.tflite)、MessagePack(.model)、pickle(.pkl)、Thrift(.thrift)等。為節約開發成本和提升服務質量,應用開發者有時也會直接使用深度學習服務提供商出售的模型和相應的軟件開發套件(software developmentkit,SDK)。開發者將 SDK 和模型都集成在應用中,通過調用SDK的指定接口執行深度學習模型推理。
應用開發者和深度學習服務提供商為了保護存儲在用戶移動設備上的模型文件,一般會采取模型加密、模型混淆或基于硬件TEE的保護。TEE是一個硬件獨立隔離的硬件執行區域,用于存儲和處理敏感數據。然而,在TEE中存儲和使用深度學習模型面臨諸多限制:首先TEE內部的運行內存極為有限,難以加載移動端應用程序中的所有深度學習模型;其次,運行深度學習模型往往需要大量運算相關的代碼庫支持,但是可信計算基(trustedcomputingbase,TCB)的規模限制了在TEE中添加更多的額外代碼庫;此外,TEE內部難以借助GPU等硬件加速器提高深度學習模型的推理效率。盡管已有研究針對以上限制提出了眾多改進方案[11-17],但是這些方案在當前現網的移動端應用市場上并未得到廣泛采納。實際使用TEE保護移動端深度學習模型的案例有限,主要集中在移動設備制造商開發的少量特定功能,如基于人臉識別的身份驗證系統[18]
模型混淆旨在增加深度學習模型被攻擊者識別和解析的難度,即攻擊者必須掌握相應的混淆規則?;煜巹t主要分為文件混淆、圖混淆和算子混淆。文件混淆是指將機器學習模型轉換為其他格式的文件,例如二進制文件、數據庫文件等[19-21],使得模型文件無法被解析;圖混淆是指對模型文件解析得到的網絡圖結構的混淆,例如在圖結構中添加冗余邊、圖節點名稱改為隨機字串、權重參數添加擾動等;算子混淆是指對模型實際執行過程的混淆,例如算子接口變換、算子實現變換等。然而,模型混淆的保護方法需要開發者自行設計混淆規則并開發適用于該規則的深度學習功能庫,開發成本很高,而且這種保護措施在面對經驗豐富的攻擊者時較為脆弱。這些攻擊者可以運用逆向工程和程序切片等技術對混淆后的模型進行反混淆。
目前現網系統使用最多的是基于模型加密的保護方法,廣泛存在于各大移動設備制造商開發的系統和功能庫中,例如三星的KNOX和Apple的CoreML等,在開源社區中也能看到模型加密的快速實現。加密的模型文件會以密文形式存儲在用戶設備上,并不能被直接使用。根據這一特點,本文所討論的模型加密使用的加密函數被定義為不僅包含各種對稱密碼加密算法,還包括各種數據壓縮算法。因為經過這兩類算法處理的模型文件都無法直接作為深度學習推理引擎的輸入被執行,只有執行相應的解密函數(或解壓函數)、將其恢復成可識別的標準格式模型文件才能正常使用。并且,不同于通常密碼功能的加解密函數,在移動端深度學習模型保護中,解密函數和調用解密函數所需的密鑰參數都被包含在了原生庫內、無須從外界獲取,解密函數的執行條件和執行過程與解壓函數一致。
1.2 污點分析
污點分析技術是一種追蹤和分析污點信息在程序中流動的方法,廣泛應用于漏洞檢測和隱私泄露檢測。該技術可分為靜態和動態兩種分析方式。
靜態污點分析利用程序的抽象語法樹作為輸入,將污點傳播過程與類型分析相結合,在類型推斷和限定過程中完成污點數據的傳播,以識別程序中受用戶輸入影響的部分。其主要優勢在于能夠考慮程序的所有可能執行路徑,但受限于靜態分析無法獲取程序運行時的額外信息,存在分析結果準確性不足的問題。
動態污點分析則在程序運行時進行,基于指令流對目標程序的污點數據進行信息流跟蹤,監控系統的安全運行狀態。動態污點分析的本質是追蹤信息流的傳播,此技術具備語言無關性,不需要源代碼即可對二進制應用程序進行分析。動態污點分析系統通常采用模擬執行或二進制插樁的方式,記錄和跟蹤污點數據,由污點分析引擎根據檢測規則進行分析并生成輸出結果。
下面解釋污點分析在隱私泄露檢測中的常見概念。程序中產生隱私數據的位置稱為污點源(source),隱私數據泄露的位置稱為泄露點(sink),兩者通常都是預先規定的函數接口。程序中產生的隱私數據通過賦值和計算等方式在變量之間不斷傳播,這些變量稱作污點變量(taintedvariables)。圖1是一個污點分析示意圖,程序中onCreate函數調用污點源函數get-pwnam讀取了/etc/passwd中的內容,得到的隱私數據隨后通過污點變量pwd、bak ??x 和val的傳播到達了泄露點函數cout。整個污點傳播過程包含了指針取值、函數參數傳遞、獲取對象等多種操作,這些操作在實際的污點分析中都需要先抽象成一般性的污點傳播規則。

2 相關工作
移動端深度學習模型泄露分析的研究最早由 Xu 等人[22]引入,他們開發了DLSniffer工具,用于識別應用程序中可能泄露的模型文件。DLSniffer的工作流程包括下載和解包APK、通過文件名和內容關鍵詞匹配提取潛在的深度學習模型文件,并嘗試使用相應的深度學習框架加載這些文件。對于無法加載的模型文件,則人工分析其可能采用的保護措施。通過對谷歌應用商店中16500個應用程序進行檢測,DLSniffer成功提取了211個深度學習模型,其中有 39.2% 的模型被混淆,19.2% 被加密,而其余模型則直接以明文形式存儲在APK中。
繼 Xu 等人的研究工作之后, Sun 等人[23]開發了Model-Xray和ModelXtractor兩個工具。ModelXray使用與DLSniffer類似的方法,但是檢測了更大的應用程序集合,覆蓋了三個流行應用商店的應用程序。ModelXtractor則首次實現了一種針對加密保護的移動端模型泄露分析方法。該方法首先通過計算模型文件的熵值來判定該模型文件是否經過加密保護,并假設應用在運行過程中會將模型明文加載到內存中,進而利用插樁技術在程序運行時搜索內存中的深度學習模型。與Model-Xtractor類似,Deng等人[24]開發了AdvDroid,通過在各個深度學習推理引擎的關鍵函數處插樁來提取內存中的模型明文。
以上兩種針對加密保護的移動端模型泄露分析方法的共同問題是難以實現大規模自動化的分析,因為運行時內存搜索的前提是正確觸發應用程序解密并加載深度學習模型的行為。ModelXtractor對此并未提出自動化解決方案,AdvDroid則嘗試使用程序切片技術來搜索與模型推理功能相關的應用代碼,并構建相關的操作序列,通過自動化工具[25]模擬用戶操作以啟動深度學習推理過程。但是,對于許多需要身份驗證和用戶注冊才能正常使用的應用程序,實驗過程中仍然需要大量人工參與。
此外, Ren 等人[26]開發了DeMistify工具,一方面提出使用深度學習的方法來識別應用程序是否使用了移動端深度學習服務,這可以作為模型泄露分析方法的補充。DeMistify將移動應用在應用商店的產品描述和APK中的可識別字符串作為語料訓練了一個二分類模型,在識別移動端應用程序是否使用了深度學習服務的任務上,相比ModelXray,DeMistify的檢測率提高了大約 10% ,結果正確率提升了大約 15% 。另一方面,De-Mistify在原本的深度學習應用中調用與模型功能相關的代碼,實現了就地模型重用,所以不限制于特定的模型保護方法。但是該工作的局限性在于只能實現模型功能的重用,無法獲取模型的明文內容,難以用于對抗攻擊的相關研究。
在移動端深度學習模型泄露分析的研究基礎上,Huang等人首次研究了移動端模型在對抗攻擊下的魯棒性。他們假設用于移動端的機器學習模型文件是預訓練模型微調得到的,基于這個假設,該研究提取了移動端應用程序中明文存儲的模型文件,計算其與TensorFlowHub中公開的預訓練模型之間的相似度,使用相似度最高的預訓練模型作為對象生成對抗樣本,將對抗樣本作為移動端應用程序的輸人,觀察應用程序是否會產生錯誤的輸出。在實驗部分,該研究選取了10個安卓應用程序,使用上述方法成功攻擊了這些應用中的機器學習模型,這些模型主要用于識別植物種類、識別演員、判斷交通狀況等圖像分類任務。
此后,出現了許多類似的使用對抗攻擊方法攻擊移動端深度學習模型的研究。Hong等人[27]利用移動端泄露的模型文件提高攻擊原始預訓練模型的成功率。Huang等人[2]基于提取的模型和對應的預訓練模型,訓練得到與移動端模型高度相似的“影子”模型,并使用“影子”模型訓練生成對抗樣本攻擊移動端應用程序。Deng等人[24]使用程序插樁技術提取出經過一定安全保護的模型,測試了這些模型在對抗攻擊下的魯棒性,同時使用程序分析技術從應用程序中提取與模型輸入數據預處理、數據類型、模型功能相關的信息,從而更好地生成對抗攻擊樣本,提高攻擊成功率。Zhou等人[3]開發了一個逆向工程框架,用于將設備上的深度學習模型轉換為可以反向傳播的版本,從而直接在原有模型上實施對抗攻擊。 Wu 等人[28]則首次實現了移動端深度學習模型的自動化對抗攻擊腳本生成方法,包括面向反向傳播的模型轉換和模型I/O代碼的提取和構建。
這些以對抗攻擊為核心的研究都需要先收集大量的移動端深度學習模型作為測試數據,然而目前針對受保護移動端模型的自動化泄露分析研究進展有限,所以使用的測試數據大多是在應用程序中明文存儲的模型,無法全面覆蓋經過加密保護的模型測試樣例。所以,本研究工作一方面可以更好地分析加密保護的移動端深度學習模型的安全性,另一方面也可以使對抗攻擊的研究人員獲得更全面的模型數據。
3方法設計
3.1 方法概述
本文方法的整體工作流程如圖2所示,該流程由三個關鍵組件構成。第一個組件負責模型密文的提取,該組件首先對輸入的APK進行解包,隨后通過使用關鍵詞匹配技術結合文件熵值分析,識別并提取出APK中加密保護的深度學習模型和與模型解密相關的原生庫文件。第二個組件用于定位模型解密函數,以原生庫文件作為分析對象,運用基于污點分析的數據流追蹤技術,獲取模型解密函數在原生庫中的地址。最后,在模型解密組件中,通過結合代碼反向切片和逆向分析技術獲取解密函數的調用參數,并結合程序HOOK技術調用解密函數得到模型的明文內容。
圖2模型泄露分析流程Fig.2Overview of model leakageanalysispipeline
?
3.1.1 威脅模型
本文假定攻擊者可以使用包含了深度學習模型的應用程序(例如從各移動端應用市場下載),但是在使用過程中會有應用開發者設置的諸多限制,例如實名身份驗證和用戶注冊、模型輸入內容限制、API調用次數限制、計時付費等。因此,攻擊者旨在獲得設備上的明文深度學習模型,從而能夠無限制地使用。為了實現這一攻擊場景,本研究認為攻擊者能夠從移動應用市場獲取目標應用程序,同時也有解包APK使用的工具、實現污點分析系統借助的外部依賴庫、部署竊取的模型需要的深度學習框架等一系列工具和代碼開源可用。
3.1.2 適用范圍
本文工作完成的自動化工具面向安卓應用程序中加密保護的深度學習模型,該工具通過追蹤和使用安卓原生庫中的模型解密函數,實現了自動化的深度學習模型泄露分析。雖然該工具原型暫不能用于其他移動端平臺的應用程序,但是在設計方法原理上本文成果依舊適用。
3.2 模型密文提取
模型密文提取的方法設計旨在實現兩個核心目標,一是識別APK中是否包含加密保護的深度學習模型;二是篩選出包含模型解密功能的安卓原生庫。圖3展示了模型密文提取的工作流程。
圖3模型密文提取工作流程Fig.3Model ciphertext extraction pipeline
?
方法的第一步需要提取出APK中所有可能的模型文件。參考DLSniffer和ModelXray中使用的關鍵詞匹配方法,本方法通過將APK解包后得到的原生庫中的可識別字符串與各個深度學習框架中的關鍵詞進行匹配,判斷應用程序是否使用了深度學習功能。如果確定使用了深度學習功能,方法將進一步對APK資源文件夾下的文件進行文件名匹配,以提取可能的模型文件,包括對文件后綴和文件名稱的匹配。表1列出了部分主流深度學習框架使用的模型文件后綴和該框架對應的關鍵詞示例。
表1深度學習模型匹配關鍵詞
Tab.1Keywords of deep learning models
?
對于成功提取的模型文件,本方法通過計算文件熵值來判斷其是否經過加密保護。無論是使用密碼學算法還是數據壓縮算法,都會使文件具有非常高的熵值。在確認模型文件的加密狀態后,本方法將進一步提取模型文件的特征信息,包括文件名及其內容中的關鍵詞,從而篩選出包含這些特征信息的安卓原生庫。在接下來的解密函數定位組件中,本方法需要模型解密函數存在于包含特征信息的安卓原生庫或作為外部依賴被原生庫調用。最后,加密保護的模型文件和相應的安卓原生庫作為模型密文提取環節的輸出,被傳遞至下一個組件。
3.3 解密函數定位
圖4給出了解密函數定位的完整工作流程,在上一步獲取所有加密保護的模型文件及其關聯的安卓原生庫之后,本方法會將原生庫中存儲有模型文件特征信息的內存區域定義為污點源。從污點源出發,本方法會依次追蹤模型文件打開、模型文件讀取和模型文件數據操作三個階段的污點傳播過程。每個階段中污點標記都指示不同類型的數據內容,并且每個階段也有不同的泄露點,最后本方法會輸出成功定位的解密函數地址。

下面給出一個示例具體闡述該過程。
3.3.1污點分析方法
本方法將原生庫反匯編得到的匯編語句作為分析對象,追蹤程序運行時寄存器和內存數據中的污點傳播。如圖5所示,這里為了便于理解,圖中使用通過逆向工具反編譯出的 C++ 代碼展示污點分析方法流程,這些代碼來源于真實的分析樣例,代碼中的函數名、變量名和常量名都經過模糊變換處理。
在污點分析的第一階段,污點源是模型文件的特征信息,本例中是序號1處所指的模型文件的名稱“model.secret”,本方法會給該字符串常量所在的內存地址打上污點標記。當代碼運行到第六行時,污點字符串與文件路徑經過字符串操作后被賦值給了變量filename,使得filename成為了另一個污點變量。在深度學習模型的加載過程中,這種字符串拼接操作非常常見,因為在實際應用中,僅憑文件名無法定位到文件的具體位置,還需附加額外信息,如文件路徑、文件版本號等。因此,本方法需要在這一階段追蹤這類字符串操作函數中的污點傳播過程,直到帶有污點標記的字符串變量成為文件打開函數的調用參數。在本例中,污點變量filename經過圖中序號2和3的傳播后到達函數AAssetManager_open,這是一個用于打開文件的函數,所有與之功能相同的函數組成了第一階段污點傳播的泄露點。

此后,污點分析進入第二階段,這一階段的污點變量是文件打開函數的返回值——文件指針,泄露點則是所有用于讀取文件內容的函數。在本例中,污點變量stream通過圖中序號4的傳播到達泄露點函數AAsset_read,由此進入第三階段,并產生了新的污點變量buffer。
在上一個方法組件模型密文提取中,本方法同時使用了模型文件名和文件內容中的關鍵詞來匹配模型解密原生庫。對于使用后者匹配得到的原生庫,本方法可以直接獲得第三階段的污點變量,對應于圖4中的序號0。這里需要分成兩種情況解釋。第一種情況是原生庫中使用關鍵詞驗證讀取的模型密文的格式正確性,例如使用字符串比較函數檢驗模型密文頭部是否和特征字符串匹配,那么字符串比較函數的另一個參數就是存放模型密文的數組,即本方法污點分析過程中第三階段的污點變量。第二種情況是關鍵詞匹配的是原生庫中存放的模型密文。這是一個常見現象,因為當應用程序因為各種原因無法讀取資源文件夾下的模型文件時,為了能在沒有網絡連接的情況下正常使用移動端深度學習服務,應用開發者會在原生庫中嵌入備用的模型文件。因此在這種情況下,本方法也直接得到了第三階段的污點變量。
在第三階段,本方法將追蹤模型密文的數據流。污點傳播的泄露點是以污點變量作為調用參數的外部函數,并且函數名稱中帶有關鍵詞“aes”“decrypt”“compress”等,這一階段的泄露點還包括污點變量參與運算的循環代碼塊。比如圖5中經過序號6~8的污點傳播,污點變量buffer在循環中被逐字節遍歷。本方法據此假定,執行這一循環操作的函數即為實現模型解密功能的函數。做出假定的依據是對于使用密碼學算法進行模型加密的情況,加解密算法一般使用對稱密鑰算法,即明文和密文長度相等,加密和解密密鑰相同,解密時密文以密鑰長度分組,每一組與密鑰異或生成明文。對于使用數據壓縮算法的情況,大致的處理方式是對數據按字節遍歷,找出其中重復出現的部分,然后用更短的符號代替,解壓縮則是按照壓縮時的編碼方式依次對數據進行還原。因此,無論是上述兩種算法中的哪一個,都需要循環遍歷全部模型密文數組。
在本例中,本方法會返回函數sub_C的地址。這里的另外一種情況是應用程序通過在原生庫中調用外部依賴庫函數實現模型解密,這時需要根據第三階段污點分析中追蹤到的泄露點函數來確定實際的模型解密函數。
3.3.2污點傳播規則
1)污點內存集合
污點內存集合是指包含所有污點數據的內存地址的集合,記為 TMem. 。令表示一段內存數據,其中addr表示數據存儲的起始地址,length表示數據的字節數,則 TMem= {?addr0,length0? , ?addr1 . length1 gt;,…|。
令 SC=addrm lengthm gt;表示污點源,這是一段包含模型特征信息的內存數據,初始狀態下 TEem={SC} 。
2)污點值函數
污點值函數是用來指示污點傳播對象的函數,令 r 表示寄存器,函數 T(r) 表示寄存器 r 的污點值, T(r)=1 表示該寄存器被打上了污點標記, T(r)=0 表示沒有。
除此之外,令 [r] 表示寄存器的值, T(ρr] )表示寄存器的值所指向的內存地址的污點值。 T([r])=1 成立當且僅當:
?addri,lengthi∈TMem,[Δr]∈[addri,addri+lengthi)
特別地,對于一個立即數 
? ,令 T(c)=0 。
表2按照匯編指令類型給出了常規污點傳播規則,其中的指令示例采用ARM64指令集,其他架構的匯編指令可以類比得到。
表2污點傳播規則
Tab.2Taint propagation rules
?
除了上述污點傳播規則外,本方法還維護了一個封裝函數集合,該集合中的函數都是一些外部依賴庫函數,當在原生庫中跳轉執行這些函數時,本方法會直接執行對應的污點傳播規則。例如當原生庫中需要執行memcpy函數時,本方法會直接執行規則 T(dst)=T(src) ,而無須深入內部分析。這樣做可以在基于模擬執行的動態污點分析方法中避免引入外部依賴庫,提高污點分析方法的穩定性。
由于在前兩個階段的污點傳播中,當污點變量到達泄露點函數后,為了正常執行下一階段的污點傳播過程,需要將函數的返回值設為污點變量,所以本方法中還設計了針對泄露點函數的特殊傳播規則。表3給出了具體的泄露點函數和對應的污點傳播規則。
3.3.3算法實現
解密函數定位算法的實現過程如算法1所示。首先初始化各項污點分析參數,設置程序計數器pc的值為start,將污點源標記為污點內存,污點傳播階段stage的值為1。接著對待分析的安卓原生庫進行逐語句執行,分析語句是否涉及帶有污點標記的寄存器變量或內存地址。如果涉及,則檢查語句是否匹配污點傳播規則或泄露點函數規則。對于匹配污點傳播規則的語句,先判斷當前是否為第3階段的污點傳播且語句處于循環代碼塊中,如果是則輸出當前代碼塊的首地址作為解密函數地址并結束程序,否則根據匹配到的污點傳播規則傳播污點標記,然后繼續執行下一條語句。如果匹配的是泄露點函數規則,則根據規則設置新的污點源,清除之前所有的污點變量,將污點傳播階段stage增加。在循環最后,更新程序計數器,執行下一條語句。
Tab.3Sink function rules
?
算法1解密函數定位算法
輸出:解密函數地址func_addr。
初始化: pc=start ,taint_memory(addr,length),stage =1 whiletrue://程序逐語句執行if is_tainted(pc) 
? 判斷語句是否存在污點變量或內存if matches_taint_propagation_rule(pc)):if stage ==3 amp;amp;is_in_loop(pc)://發現循環代碼塊func_addr τ=τ get_block_start_address(pc)break//得到解密函數地址,退出循環else:propagate_taint(pc)//根據規則傳播污點標記elif matches_leakage_point_rule(pc)):set_new_taint_source(pc)clear_all_taintsstage += 1/ 污點傳播階段迭代if is_jump_instruction(pc) ://1 更新程序計數器pc Σ=Σ get_jump_address(pc)else:pc +=4// return func_addr
3.4模型解密
在得到模型解密函數后,為了能夠成功解密模型文件,本方法將會補全解密函數的所有調用參數。通常情況下,模型解密函數的調用參數為存放模型密文的數組,如果是基于密碼學算法的加密保護,調用參數還包括解密密鑰。模型密文數組可以通過創建數組變量得到,解密密鑰則可以通過結合代碼反向切片技術和簡單的逆向分析來確定。
本方法自動將包含模型解密函數的安卓原生庫加載到內存中,通過程序HOOK技術調用解密函數,結合補全的調用參數,最終解密使用被加密保護的深度學習模型。
4實驗評估
4.1 系統實現
本文方法開發了自動化工具ModelDec,用于提取、定位和解密經過加密保護的移動端深度學習模型。ModeIDec的模型密文提取模塊由大約1000行Python代碼實現,該模塊使用Apktool對收集到的APK進行解包,以獲取其中的資源文件和安卓原生庫。為了識別資源文件中加密保護的深度學習模型,模型密文提取模塊使用Linux命令行工具ent計算文件的熵值,該工具的返回結果是(0,8]內的小數,表示輸人文件平均每字節存儲多少比特的信息。數值越大說明文件壓縮程度越高或者越接近隨機生成,也就越有可能是經過加密保護的文件。結合對自身初期實驗結果的觀察和文獻[23]的實驗設置,ModelDec中加密文件熵值的閾值為 7.9 0
ModelDec的解密函數定位模塊由200行Python代碼實現,是利用 Triton[29] 構建了一個基于模擬執行的動態污點分析系統。Triton是一個二進制動態分析工具,提供了豐富且方便使用的PythonAPI接口,可以實現混合符號執行和污點分析等功能。
由于安卓原生庫的運行依賴于安卓系統庫,所以在模型解密環節,為了在內存中加載并執行原生庫文件,ModelDec的解密程序必須在安卓系統下運行。為此,本研究采用了谷歌發布的Android nativeactivity,這是安卓本地開發工具包(native de-velopmentkit,NDK)的一部分,允許在安卓應用層運行完全由C/C+Ω+ 編寫的應用程序,有效避免了 C/C+Ω+ 與Java混合編程的復雜性,確保了解密程序的高效執行。ModelDec的模型解密模塊由500行 C+β+β 代碼實現。
實驗評估在配置IntelXeonSilver4410Y處理器和128GB內存的服務器上進行,操作系統為Ubuntu20.04.1。
4.2模型密文提取
實驗評估使用的應用程序來自于 AndroZoo[30] ,本研究從該數據庫中下載了近三年國內外多個不同應用商店共57363個APK。ModelDec的模型密文提取模塊首先通過關鍵詞匹配的方法篩選出2335個存在深度學習功能的APK,占收集總數的 4.07% 。接著,根據應用程序中模型文件的熵值進一步篩選出1119個APK和其中包含的3726個被識別為經過加密保護的深度學習模型。
本研究從應用程序來源和類別兩個維度對收集的APK進行分類,表4是得到的統計數據,其中應用類別是綜合了來自于不同應用商店給出的應用分類。本研究收集的APK主要來自于三個不同的應用商店,一個是主要面向國外市場的谷歌應用商店,另外兩個則是服務于國內用戶的應用匯和安智。因為部分應用程序來源于多個應用商店,所以可能存在一個應用類別下的APK個數總和大于實際數量的情況,也就是在表4同一行中,各個應用市場的應用數量累加后大于最后一列總計的數量。
表4應用程序統計數據
Tab.4Statistics of Apps collected across markets
?
輸入:執行程序起始地址start,污點源地址addr、length。
由表4可以看出,使用移動端深度學習模型的應用程序廣泛分布在不同應用類別下,并且每一個應用類別下都存在使用加密算法保護模型文件的案例,這說明移動端深度學習技術得到了應用開發者的充分使用,同時開發者也已經開始關注移動端深度學習模型的泄露問題。
在不同的應用分類中,使用移動端深度學習技術最多的三個應用分類是攝影、教育和生活時尚。而在金融與商業的類別下,超過 90% 的應用程序使用加密算法保護其使用的深度學習模型,是所有應用類別中最高的。根據模型文件的文件名稱推測模型的實際功能可以發現,金融與商業相關的應用使用的模型文件主要用于人臉識別、活體檢測、各類證件上的文字識別等安全級別較高的場景。如果這些模型文件泄露給攻擊者,不僅會使模型開發者投資受損,喪失產品競爭優勢,還會使金融和商業這些與財產密切相關的行業面臨巨大的安全風險。而與之相對的是攝影相關的應用程序,這類應用程序主要是各種AI相機,例如美顏、圖像識別、物體檢測等。這些功能對模型的準確率要求并不高,已有的大量開源模型足以應對大多數應用程序開發場景,因此開發者大多選擇直接使用開源模型,或是在開源模型的基礎上進行低成本的微調。開發者實際在模型開發上的投資較小,缺乏保護模型的動力,此類應用中只有大約 20% 對模型文件進行了保護。
4.3模型解密與效果對比
對于提取的1119個使用加密算法保護深度學習模型的應用程序和其中3726個經過加密保護的模型文件,ModelDec首先篩選出637( 56.9% )個應用程序,這些應用程序中存在包含有加密模型特征信息的安卓原生庫文件,可以作為下一步污點分析方法的輸入。接著在篩選出的應用程序中,ModelDec成功定位了其中312 27.9% )個應用程序中的模型解密函數,并解密得到628個模型文件的明文內容。
為了更好地展示ModeIDec與目前最先進工具的對比結果,這里給出ModelDec相比這些工具的一些顯著優勢:
a)解密效率高。ModelDec通過靜態分析與模擬執行技術,能夠不依賴人工交互或動態觸發操作,高效地完成模型密文提取、解密函數定位和模型解密,整體分析時間大大縮短。
b)適用范圍廣。ModelDec不僅支持開源深度學習框架(如Caffe、NCNN),還能很好地解密私有格式的深度學習模型。
c)對加密算法的適應性強。ModelDec使用靈活的污點傳播規則,能夠針對多種復雜加密保護機制(如AES和自定義加密算法)進行高效分析。尤其是在面對定制化加密算法時,ModelDec無須預先了解具體加密規則,即可通過自動化分析過程實現解密功能,展現了強大的適應能力。
表5給出了具體的對比結果, Sun 等人[23]從866個使用加密算法保護移動端深度學習模型的應用程序中隨機選取了82個測試樣本,使用ModelXtractor提取并解密了18( 22.0% )個APK中加密保護的模型文件。Deng等人[24]共篩選出5573個包含深度學習功能的移動端應用程序,接著從中選擇了一部分進行測試,最后使用開發的AdvDroid在30個應用程序中解密得到深度學習模型的明文,由于文獻24并沒有公開具體的測試集合,本研究在效果對比中無法得到其準確的解密成功率。實驗結果表明,與目前最先進的工具相比,ModelDec在加密保護的移動端模型泄露分析方面能力更強。
表5方法效果對比
?
本研究還對工具的運行效率進行了評估。針對所有成功完成解密函數定位和模型解密的實驗輸人,ModelDec的解密函數定位模塊的平均運行時間為 0.38s ,即使在最復雜的情況下,運行時間也僅為 1.75s 。進一步地,模型解密模塊平均運行時間為0.27s,最慢情況也未超過0.66s。對于ModelXtrac-tor,其單個APK人工分析的時間開銷最快不超過 1h ,如果是包含注冊登錄行為的APK,甚至會需要數個小時[23],因此其設置了人工分析時間閾值為 2h ,超過該閾值后將視作分析失敗。雖然AdvDroid在ModelXtractor的基礎上使用了DroidBot等自動化工具來模擬人工觸發深度學習功能的行為,但是平均每個APK的分析時間也達到了75s[24]。由此可以看出,ModelDec在運行效率上相比之前的工作有了極大的提升。
由于ModelXtractor和AdvDroid使用了相同的分析方法:在應用程序運行時觸發深度學習功能,接著在內存搜索解密后的模型銘文。這里進一步討論ModelDec成功分析的測試樣本與它們的差異性。MoedlXtractor并沒有提供最終解密成功的APK包名和模型文件名,但是在ModelDec成功解密的APK樣本中,有83個APK并不在其給出的全部測試數據中,占ModelDec成功解密的 26.6% 。與AdvDroid進行比較時,ModelDec則與其沒有共同的成功解密樣本。
在對這些“新”解密的APK和加密保護的模型文件進行分析時發現,大部分APK都需要借助手機號注冊和登錄才能使用應用中的深度學習功能,有些金融類別的應用程序甚至還需要合法的銀行賬戶。然而,ModelXtractor和AdvDroid成功分析的前提就是可以正常使用應用程序,因此它們會因為缺少真實可用的手機號或銀行賬號導致分析失敗,另一方面也會因為額外的注冊登錄流程使得分析時間顯著延長甚至失敗。
表6給出了在ModelDec解密函數定位模塊成功定位的312個應用程序中的模型解密函數的算法分類。從表中不難看出,AES算法是最受歡迎的移動端深度學習模型加密保護的解決方案,有 56.7% 的APK使用AES作為模型加解密算法。其余的APK中,有50個采用zlib壓縮算法加密深度學習模型,還有85個使用了無法識別的算法來保護模型文件,這里將其歸類為自定義算法。
表6解密函數分類
Tab.6APK categories statistics
?
ModelDec最終成功解密了628個加密保護的模型文件,這些模型的格式統計如表7所示。這其中占絕大多數的是伯克利人工智能研究中心開發的Caffe。除此之外,ModelDec還得到了使用XML格式的OpenCV模型和三種私有模型格式。通過對私有模型文件頭部的關鍵詞進行網絡搜索,確認這些模型文件分別來自國內的Sensetime和兩家海外公司Ceva-ip和ZicerLab。
表7模型格式統計
Tab.7Model format statistics
?
4.4 加密算法分析
為了進一步了解當前移動端應用市場使用加密算法保護深度學習模型的現狀,本研究對成功還原的深度學習模型采用的加密算法進行了分析。
4.4.1 AES算法
使用AES算法對模型進行加密保護的APK,其實現方式大致可以分為兩種。第一種是由開發者自行實現,對于這種情況,可以觀察到在ModelDec定位的模型解密函數中,出現了與AES算法中使用的完全相同的替換盒(substitution-box,S-BOX)。例如實驗中部分APK使用深度學習服務提供商Sensetime出售的深度學習模型。Sensetime使用AES算法對這些模型進行加密,并在隨模型一起出售的SDK中實現了AES解密算法。
ModelDec成功定位到了Sensetime的模型解密函數并解密了其出售的深度學習模型,并因此發現這些模型同時使用Caffe格式和Sensetime自行開發的私有模型格式,且Sensetime會將模型文件和模型配置文件壓縮成一個文件后使用AES加密。有時,Sensetime還會將多個這樣加密的壓縮文件進一步壓縮成單個文件后再使用AES加密。在對Sensetime實現的AES解密算法進行人工逆向分析時還發現,可能出于對模型加解密效率的考慮,Sensetime并沒有按照算法標準實現AES,例如一個128位的AES解密算法需要經過十輪迭代,而Sensetime只調用了兩輪。
第二種AES加解密的實現方式是直接調用外部依賴庫中的AES算法實現,在這種情況下,ModelDec可以追蹤到函數名中含有“aes”\"decrypt\"等關鍵詞的泄露點函數。例如,在污點分析階段,ModeIDec在一些APK中發現模型密文作為調用參數進入了函數\"ziap_aes_decrypt”,由此可以確定這些模型文件使用AES算法進行加密。通過搜索發現,這個函數來自一家移動安全公司Zimperium發布的安全增強密碼算法庫[31]。這個算法庫對AES解密函數的參數進行了復雜的預處理工作,同時通過函數間接調用限制了代碼反向切片技術的使用,使ModelDec在模型解密環節難以構造出正確的調用參數,因此無法成功解密模型。
4.4.2zlib壓縮算法
通過ModelDec污點分析時記錄的泄露點函數“uncompress”確定了50個APK中使用的模型加密算法,“uncom-press\"函數是zlib壓縮庫中用于執行zlib解壓縮功能的函數。進一步調查發現這些經過zlib壓縮的模型文件來源于一家名為Microblink的公司,這是歐洲的一家深度學習服務提供商,主要提供光學字符識別(opticalcharacter recognition,OCR)相關功能在移動設備上快速部署的解決方案。他們提供的模型由一個固定格式的文件頭部和經過zlib壓縮的文件內容組成,經過解壓縮后發現包括多種不同格式的模型文件,例如使用XML格式的OpenCV模型和標記為“ZicerModel\"的私有模型格式。
4.4.3 自定義算法
ModelDec定位到的模型解密函數中還存在一部分難以識別的解密算法,這些算法具有對稱密鑰算法的特征,推測是在現有算法的基礎上進行了定制化修改,也可能是開發者獨立設計的新算法。鑒于這些算法無法被識別為已知的加解密算法,本研究將其歸類為自定義算法。
圖6給出的是一個自定義解密算法的實例,其中第4~20行的代碼實現了類似于密鑰擴展的功能,而第23~32行則實現了密文分組按位異或,可以發現這一流程與已知的對稱密鑰算法高度相似。本研究使用ModelDec對該自定義算法加密的模型文件進行了解密,解密得到的模型來自一家名為Ceva-ip的深度學習服務提供商。
這里的Ceva-ip與前文提到的Sensetime以及Microblink一樣,對于這些深度學習服務提供商而言,確保其模型文件在用戶設備上的安全性是至關重要的課題。在深度學習技術快速發展的背景下,保護算法和模型不被未授權訪問或泄露,對于維護企業的核心競爭力和用戶隱私安全具有不可估量的價值。這些企業實際上已經投人了相應的努力來加固對模型文件的保護。然而,ModelDec實驗結果揭示了一個不容忽視的事實:現有的移動端深度學習模型保護手段并未達到預期的防護效果。這一發現不僅驗證了本研究所提出的方法和工具的有效性,還凸顯了同步提出模型保護策略和模型泄露分析方法的重要性。

5結束語
本研究面向深度學習的移動端應用場景,針對加密保護的深度學習模型,提出了一種模型泄露的自動分析方法。首先,設計了一種從APK中提取加密保護的模型文件的方案;隨后,通過分析基于加密保護的移動端深度學習模型的開發和部署流程,識別其特征;本研究設計了專門的污點傳播規則,基于這些規則,完成了一種利用污點分析定位模型解密函數的方法。最后,展示了如何運用程序HOOK技術實現模型文件的解密。
本文實現了方法原型工具ModelDec,對眾多包含深度學習功能的APK進行了檢測,成功定位了許多模型解密函數,并解密得到模型文件的明文內容,從而驗證了方法的有效性。未來將持續優化ModelDec,增加對不同移動端系統和加解密環境的支持,以擴展其應用范圍。
參考文獻:
[1]Huang Yujin,Hu Han,Chen Chunyang.Robustness of on-device models:adversarial attack to deep learning models on Android apps [C]//Procof the 43rd IEEE/ACM International Conference on SoftwareEngineering:SoftwareEngineering inPractice.Piscataway,NJ: IEEEPress,2021:101-110.
[2]Huang Yujin,Chen Chunyang. Smart app attack:hacking deep learningmodelsin Android apps[J]. IEEETrans on Information ForensicsandSecurity,2022,17:1827-1840.
[3]Zhou Mingyi,Gao Xiang,Wu Jing,etal.Investigating white-box attacks foron-devicemodels[C]//Proc of the46th IEEE/ACM International Conferenceon Software Engineering.Piscataway,NJ:IEEE Press,2024:1876-1887.
[4]李佳琳,王雅哲,羅呂根,等.面向安卓惡意軟件檢測的對抗攻擊 技術綜述[J].信息安全學報,2021,6(4):28-43.(LiJialin, WangYazhe,Luo Lyugen,etal.A survey of adversarial attack techIques Ior Anuroiu maiware uetecuon [J」. Juumai Ul Cyvel oecurity,2021,6(4):28-43.)
[5]LiYuanchun,Hua Jiayi,Wang Haoyu,et al.DeepPayload:blackbox backdoor attack on deep learning models through neural payload injection [C]//Proc of the 43rd IEEE/ACM International Conference onSoftware Engineering. Piscataway,NJ:IEEE Press,2O21:263- 274.
[6]Mink J,Kaur H,Schmuiser J,et al.“Security is not my field,I’m a stats guy”:a qualitative root cause analysis of barriers to adversarial machine learning defenses in industry [C]// Proc of the 32nd USENIX Security Symposium. Berkeley,CA:USENIX Association, 2023:3763-3780.
[7]Yoshimura S,Nakamura K,Nitta N,et al. Model inversion attack against aface recognition system in a black-box setting[C]//Proc of Asia-Pacific Signal and Information Processing Association Annual Summit and Conference.Piscataway,NJ: IEEE Press,2021:1800- 1807.
[8]孫安臨,錢亞冠,顧釗鈺,等.自動駕駛場景下對交通路標對抗 攻擊的防御[J].浙江科技學院學報,2022,34(1):52-60. (Sun Anlin,Qian Yaguan,Gu Zhaoquan,et al.Defense against adversarial attack of trafc signs under autonomous driving[J]. Journal of Zhejiang University of Science and Technology,2022, 34(1):52-60.)
[9]MindSpore.MindArmour:model encryption protection [EB/OL]. [2024-09-29]. htps://www.mindspore.cn/mindarmour/docs/ en/r2.O/model_encrypt_protection. html.
[10]Hua Jiayi,Li Yuanchun,WangHaoyu.MMGuard:automatically protecting on-device deep learning models in Android apps [C]// Proc of IEEE Security and Privacy Workshops. Piscataway,NJ:IEEE Press,2021:71-77.
[11]Han S K,Jang J. MyTEE: own the trusted execution environment on embedded devices[C]//Proc of the 3Oth Annual Network and Distributed System Security Symposium.Reston,VA: Internet Society,2023.
[12]Mo Fan,Shamsabadi A,Katevas K,et al. DarkneTZ: towards model privacy at the edge using trusted execution environments[C]//Proc of the18th International Conference on Mobile Systems,Applications,and Services.New York:ACM Press,202O:161-174.
[13] Sun Zhichuang,Sun Ruimin,Liu Changming,et al. ShadowNet: a secure and efficient on-device model inference system for convolutional neural networks[C]// Proc of IEEE Symposium on Security and Privacy.Piscataway,NJ: IEEE Press,2023:1596-1612.
[14] Zhang Ziqi,Gong Chen,Cai Yifeng,et al.No privacy left outside: on the(in-) security of TEE-shielded DNN partition for on-device ML[C]//Proc of IEEE Symposium on Security and Privacy. Piscataway,NJ:IEEE Press,2024:3327-3345.
[15]Brasser F,Gens D,Jauernig P,et al.SANCTUARY:ARMing TrustZone with user-space enclaves [C]// Proc of the 26th Annual Network and Distributed System Security Symposium.Reston,VA: Internet Society,2019.
[16]Bayerl SP,Frasseto T,Jauernig P,et al.Offline model guard:secure and private ML on mobile devices[C]//Proc of Design,Automationamp; Test in Europe Conferenceamp; Exhibition.Piscataway,NJ: IEEE Press,2020:460-465. ments on GPUs[C]//Proc of the 13th USENIX Symposiumon Operating SystemsDesign and’Implementation.Berkeley,CA: USENIX Association,2018:681-696.
[18]Android. Face authentication HIDL[EB/OL]. [2024-09-29]. https://source.android. com/docs/security/features/biometric/faceauthentication.
[19]Mace. Mobile AI compute engine documentation [EB/OL].[2024- 09-29].https://mace.readthedocs.io.
[20]Github.BayesWitnesses/m2cgen [EB/OL].[2024-09-29].https://github.com/BayesWitnesses/m2cgen.
[21] Zhou Mingyi,Gao Xiang,Wu Jing,et al.ModelObfuscator:obfuscating model information to protect deployed ML-based systems[C]// Proc of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis. New York:ACM Press,2023:1005-1017.
[22]Xu Mengwei,Liu Jiawei,Liu Yuanqiang,et al.Afirst look at deep learning apps on smartphones [C]// Proc of World Wide Web Conference. New York:ACM Press,2019:2125-2136.
[23]Sun Zhichuang,Sun Ruimin,Lu Long,etal. Mind your weight (s):a large-scale study on insufcient machine learning model protection in mobile apps [C]// Proc of the 3Oth USENIX Security Symposium.Berkeley, CA: USENIX Association,2021: 1955-1972.
[24] Deng Zizhuang,Chen Kai,Meng Guozhu,et al. Understanding realworld threats to deep learning models in Android apps[C]//Proc of ACM SIGSAC Conference on Computer and Communications Security.New York:ACM Press,2022:785-799.
[25]Github.Honeynet/DroidBot[EB/OL].[2024-09-29].https:// github.com/hon eynet/droidbot.
[26]Ren Pengcheng,Zuo Chaoshun,Liu Xiaofeng,et al.DeMistify: identifying on-device machine learning models stealing and reuse vulnerabilities in mobile apps[C]//Proc of the 46th IEEE/ACM International Conference on Software Engineering.New York:ACM Press,2024:1-13.
[27]HongSY,Carlini N,KurakinA.Publishing efficient on-device modelsincreasesadversarialvulnerability[C]//ProcofIEEEConference on Secure and Trustworthy Machine Learning. Piscataway, NJ:IEEE Press,2023:271-290.
[28]Wu Hao,Gong Yuhang,Ke Xiaopeng,et al. TIM: enabling largescale white-box testing on in-app deep learning models [J]. IEEE Trans on Information Forensics and Security,2024,19:8188- 8203.
[29]Saudel F, Salwan J.Triton:a dynamic symbolic execution framework [C]//Proc of Information and Communications Technology Security Symposium. 2015:31-54.
[30]Allix K,Bissyandé TF,Klein J,etal.AndroZoo:collecting millions of Android apps for the research community[C]//Proc of the 13th IEEE/ACM Working Conference on Mining Software Repositories.Piscataway,NJ: IEEE Press,2016:468-471.
[31]Zimperium. Zimperium launches world's first mobile security solution powered byartificial inteligence[EB/OL].[2024-O9-29].https://www. zimperium. com/resources/press-releases/press-zimperium-launches-worlds-first-mobile-security-solution-powered-by-artificial-intelligence.