999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

移動應用代碼保護現狀與技術研究

2016-09-26 07:20:39朱洪軍華保健
計算機應用與軟件 2016年3期
關鍵詞:用戶

朱洪軍 陳 灝 華保健 劉 業 郭 宇

1(中國科學技術大學軟件學院 安徽 合肥 230051)2(中國科學技術大學蘇州研究院 江蘇 蘇州 215123)

?

移動應用代碼保護現狀與技術研究

朱洪軍1,2陳灝1華保健2劉業2郭宇2

1(中國科學技術大學軟件學院安徽 合肥 230051)2(中國科學技術大學蘇州研究院江蘇 蘇州 215123)

基于安卓平臺應用極易被病毒或惡意軟件攻擊,除了其平臺開源開放等原因外,移動應用自身代碼保護強度較弱也是主要因素。針對該問題,以安卓平臺應用為研究對象,分析移動應用安全威脅模型及代碼安全需求,研究代碼混淆、代碼隱藏、代碼加密及代碼簽名等代碼保護技術機制及優缺點;設計并實現了安卓應用代碼保護技術分析引擎,對實驗數據進行分析和總結。結果表明,不同規模和類型的樣本都存在一定比例應用,其代碼保護強度較弱;特別地,應用規模越小,代碼保護強度越弱,致使該類應用極其容易被惡意攻擊。

代碼保護移動應用安卓逆向工程

0 引 言

隨著移動網絡及智能終端的發展,移動應用近幾年呈現高速爆發式增長;谷歌應用商店應用數量在2013年7月已超過100萬款[1],蘋果應用商店應用數量也超過90萬款[2]。移動應用數量增長帶來大量商業營收同時,使得惡意軟件及版權侵犯也快速增長。據某平臺發布的《2013中國移動安全數據報告》中描述[3]:2013全年共檢測安卓應用軟件39.2億次,其中檢測到惡意軟件1122萬次;2013年中國安卓手機惡意軟件個數約為6.9萬,這個數字是2012年的5倍多,其中盜版軟件占比為3.7%。惡意軟件行為主要有:隱私竊取、資費消耗、誘騙欺詐、系統破壞、遠程控制等;給用戶及軟件開發者帶來巨大損失;同時,也對軟件保護,特別是代碼保護提出很大挑戰。

由于安卓平臺開源、開放特點,用戶設備權限輕易被病毒或惡意軟件獲取(特別是用戶開放操作系統較高權限的情況下),病毒或惡意軟件利用獲取的權限進行惡意插件下載,分析或截獲目標軟件關鍵數據,篡改目標軟件執行流程,向目標軟件植入后門程序,冒充正版軟件等;病毒或惡意軟件還可能非法訪問移動用戶隱私信息,如聯系人、短信、地理位置、移動設備國際身份碼IMEI號等;軟件保護在安卓平臺上顯得尤為突出。

本文以安卓平臺應用為研究對象,闡述移動應用代碼面臨的安全威脅與安全需求;對常用代碼保護技術進行分類分析,對比不同保護技術優缺點及實現成本;設計并實現安卓應用代碼保護技術分析模型,采集安卓應用市場樣本并分類,分析當前移動應用代碼保護現狀;最后進行總結。

1 移動應用代碼安全

1.1移動應用安全威脅模型

應用安全可分為數據安全、網絡安全和軟件安全。軟件安全是指保護軟件(包含代碼和數據)為目的,對抗非法訪問、篡改、靜態或動態分析等攻擊威脅。軟件安全面臨的攻擊威脅有網絡威脅、內部威脅和惡意主機威脅。網絡威脅來自于外部網絡,主要攻擊方式有緩沖區溢出、協議攻擊等;內部威脅來自于內部網絡或本地主機,主要攻擊方式有提取系統權限、訪問用戶隱私數據等;惡意主機威脅運行在本地主機上,主要攻擊方式有破壞主機系統、竊聽或截獲軟件敏感數據等[4]。

非法復制、逆向工程和篡改是移動應用面臨的主要攻擊威脅[5]。

非法復制指攻擊者在獲取目標應用后,在保持原有應用代碼或功能相似或相同的基礎上,進行代碼修改和第三方簽名并傳播。因此,它具有兩個明顯特征[6]:(1)代碼或功能與目標應用相似或相同;(2)簽名與目標應用不同。非法復制攻擊具體形式有如下幾種[7]:(1)高層代碼修改:修改包、類、方法、變量等名稱,刪除或增加類、方法,新建、刪除或修改常量;(2)方法重構:移動方法到不同類中,合并方法,分解方法;(3)控制流重定向:替換分支執行流執行條件布爾值,通過中斷(break)指令改變循環執行流循環周期,通過重定向(goto)指令重寫循環,對分支執行流進行分支路徑替換或重排序;(4)增加或刪除代碼塊:在不改變程序執行結果的條件下,增加新代碼塊或刪除原有代碼塊;(5)代碼塊位置變更:對數據與控制流相對獨立的代碼塊進行位置變更。

逆向工程指攻擊者在獲取到目標應用二進制安裝包文件后,借助針對該類應用的逆向工程工具,進行反編譯獲取二進制級或指令級代碼,對目標應用指令級代碼進行靜態分析或動態分析,以達到攻擊目標。逆向工程通常是攻擊者進行目標應用攻擊的第一步。通過逆向工程,攻擊者可以輕易做到程序靜態分析、動態分析、惡意代碼注入及繞過許可檢查等[8]。圖1所示為攻擊者對安卓應用進行逆向工程攻擊的工作流程,其中灰色背景所示流程為可選流程。

圖1 安卓應用逆向工程攻擊流程

篡改指有時也稱代碼完整性攻擊,通常表現為惡意代碼注入和功能植入等[9]。針對安卓平臺應用進行代碼注入攻擊的技術有:內核級、進程級和虛擬機級鉤子或代碼注入。圖2所示為代碼注入示例,注入進程P1向目標進程P2注入程序實現對P2的攻擊。圖2示例的整個攻擊過程對用戶透明,目標進程雖然遭受攻擊,但仍向用戶交付正常服務,只是交付服務時間略有延遲;如果攻擊代碼沒有復雜耗時邏輯,目標進程的服務延遲只是毫秒級的,用戶根本感知不到這種延遲。

圖2 代碼注入攻擊示例

1.2移動應用代碼安全需求

軟件攻擊者主要是對軟件代碼(源代碼或可執行代碼)安全缺陷加以利用,從而達到攻擊目的。代碼安全是移動應用保護核心,代碼保護需要解決以下問題[10]:

1) 身份認證。驗證用戶可信度。

2) 訪問控制??刂圃L問用戶只可以訪問授權范圍內資源,而不能越權訪問。

3) 日志安全。確保日志中不含敏感信息,及不被無權用戶或程序訪問。

4) 信息加密。對代碼中的敏感信息加密,及恰當地使用加密方法。

5) 數據泄漏。保證應用數據不被暴露或被其他程序通過統一資源定位符URL、文件、進程間調用IPC等訪問。

6) 數據驗證。防止輸入驗證攻擊,如結構化查詢語言SQL注入等。

7) 錯誤報告。當應用程序拋出異常或運行出錯后,錯誤報告中不包含敏感數據及程序運行軌跡。

8) 會話管理。恰當管理包括會話周期、會話標識、令牌使用等。

9)資源預測。防止存在較易推測的令牌或標識生成方法。

2 移動應用代碼保護技術研究

2.1移動應用代碼特征

移動應用相較于桌面應用或傳統網絡應用,有其自身特點:

1) 硬件資源有限和多樣性

移動應用運行在移動智能設備如手機、平板電腦等上,而這些設備本身內存、中央處理器CPU等核心硬件資源受限。早期消費類移動設備內存空間只有千字節KB[11],同期個人電腦已經達到百兆字節MB或吉字節GB。2007年消費類移動智能設備出現后,其硬件資源性能得到較大提升,但相較于個人電腦設備仍然較小。硬件資源有限造成運行在其之上的程序無法完成復雜功能及業務處理,而必須依賴遠程服務器進行協作,這又使得移動應用面臨著網絡安全威脅。

個人消費類電子設備加入了多種不同的傳感設備如加速度計、磁感應計等為用戶提供個性化服務。這些傳感設備主要用于采集用戶個人狀態數據,這類數據雖然能夠用于為用戶提供更好的服務,但也使得用戶隱私數據變得易于采集和傳輸,一旦用戶遭受攻擊,其損失就會更大。

2) 軟件規模小

導致移動應用軟件規模小的原因有兩個:首先是有限的硬件資源,其次是應用服務邏輯單一。移動應用服務邏輯通常比較單一,沒有復雜的業務處理或算法實現,如天氣查看、快遞查詢等都不像桌面應用有著復雜的業務邏輯和龐大的功能聚合。一般安卓應用可執行包規模在幾兆字節,遠小于多數桌面應用幾百兆字節或吉字節。軟件規模較小,使得針對可執行包的逆向工程及指令級的靜態或動態分析變得容易,攻擊者所花費的攻擊成本較?。灰虼?,移動應用更加容易成為攻擊目標。

3) 隱私數據多、安全威脅大

移動設備特別是消費類移動智能設備通常服務于個人用戶,設備中存儲和管理用戶大量的隱私數據,如電話簿、私人相冊等。無論是桌面應用、網絡應用還是移動應用,攻擊者的攻擊目標主要是獲取用戶隱私數據。因為,用戶隱私數據是攻擊者挖掘攻擊價值的主要途徑,如用戶金融帳號或密碼、涉密文件或數據等。此外,不同類型傳感器對用戶狀態數據的采集,可能給用戶財產或生命安全帶來巨大威脅。如,利用全球定位系統GPS傳感器采集移動設備位置數據,就能相對精確地對設備使用者進行定位。2013年中國安卓應用市場前1400位應用中,66.9%移動應用有隱私獲取權限,手機隱私泄露嚴重[12]。

對于安卓應用,由于其平臺開源特性,攻擊者更容易對系統缺陷進行研究和利用,采用不同攻擊手段對其進行攻擊。

2.2保護技術

安卓應用中常使用代碼混淆、代碼隱藏等技術對抗攻擊者靜態分析,使用代碼完整性檢測、加密等技術對抗篡改,使用調試器檢測等技術對抗動態分析[8]。

(1) 代碼混淆

代碼混淆是指將正常的程序代碼、數據或控制流通過變換達到難以逆向分析的目的[13]。根據混淆目標不同,代碼混淆技術可分為[14]:樣式混淆,控制混淆,數據混淆,預防變換。表1分別對不同混淆技術的作用、混淆實現方式及混淆效果強度等作對比分析,結果表明樣式混淆的強度最低,只能用于對抗靜態分析。

表1 各種混淆技術對比

基于安卓平臺的移動應用開發,多采用代碼混淆器為ProGuard[15]。圖3所示為ProGuard輸入-處理-輸出IPO(InputProcessOutput)模型,其混淆過程分為:代碼壓縮,代碼優化,代碼混淆及預驗證四個步驟。ProGuard在代碼混淆步驟主要進行包、類及類成員重命名、類分割等[16]。

圖3 代碼混淆器ProGuard輸入-處理-輸出模型

(2) 代碼隱藏

代碼隱藏是指將程序可執行代碼或源代碼與公開發布代碼包進行存儲位置或文件格式分離,達到隱藏和保護代碼目的。代碼隱藏方式可以是本地隱藏和遠程隱藏。本地隱藏是將受保護代碼隨可執行軟件包一起發布,但受保護代碼文件格式不同于正常的發布代碼格式,如在安卓應用中將代碼隱藏在以.png、.mp3格式的資源文件中。遠程隱藏則是將受保護代碼的存儲和執行過程放在遠端機器完成,通過網絡與本地代碼進行交互,如公共對象請求代理體系結構CORBA、遠程過程調用RPC等。

基于安卓平臺的應用代碼隱藏可以采用本地和遠程隱藏兩種方式。實現本地隱藏主要通過類加載器動態加載字節碼(.class或.dex字節碼)文件,或通過Java本地接口JNI靜態加載機器碼(.so)文件。Java語言提供遠程方法調用RMI作為遠程過程調用實現機制[17]。圖4所示為JavaRMI工作模型,客戶端通過RMI協議向服務器發送任務請求,服務器接受請求,執行相應任務,并返回任務執行結果。因此,需要保護的代碼僅在服務端存儲和執行,通過RMI和客戶端協作。本地隱藏或遠程隱藏都能很好地保護代碼,使攻擊者無法輕易獲得目標代碼。代碼隱藏需要花費一定時間進行代碼加載,直接影響代碼運行效率;此外,遠程代碼隱藏還以網絡連通為必要工作條件。

圖4 Java RMI工作模型

(3) 代碼加密

加密是指利用數學算法將數據轉換成難以理解的形式,數據的轉換和恢復依賴于算法和密鑰[18],加密前的數據稱為明文,加密后的數據稱為密文;加密對象可以是代碼或數據。加密算法主要有四種類型:對稱加密、非對稱加密、數據完整性保護和數字簽名認證。對稱加密使用同一密鑰進行加密和解密,常用的有數據加密標準DES、高級加密標準AES等;而非對稱加密則在加密時使用公共密鑰和解密時使用私有密鑰,兩個密鑰是不同的,常用的有RSA、D-H等。數據完整性保護是使用被加密數據的哈希函數值作為該數據的信息摘要信息,常用的有安全哈希算法SHA、信息摘要五MD5等,也常用來作為數字簽名認證算法。

安卓平臺繼承了Java語言安全和密碼技術開發接口規范[19]。Java語言實現并提供RSA、DES、MD5等加密/解密技術開發者接口[20]。基于安卓平臺應用對數據和代碼使用加密技術,例如使用加密殼對需要保護的代碼進行加固等,可以使代碼安全得到很好的保護。圖5和圖6所示為安卓應用使用本地代碼(NativeCode)方式進行加殼與解殼的工作模型。

使用加密技術保護代碼安全性很高,只要攻擊者無法獲取密鑰或解密算法,就不能輕易破解。加密和解密提高了代碼復雜度,同時需要花費時間完成加密或解密過程,這又影響了代碼執行效率。

圖5 安卓應用加殼工作模型

圖6 安卓應用解殼工作模型

(4) 代碼簽名

數字簽名是一種授權認證機制,通過獲取目標信息哈希值和使用作者私鑰對目標信息加密實現簽名[18]。數字簽名信息可以用來:1)認證作者身份;2)檢測目標信息是否被篡改;3)防止抵賴。數字簽名通常分簽名和認證兩個階段[21]。圖7所示簽名階段中,原始代碼通過哈希運算抽取特征值,隨后使用簽名證書和作者私鑰對哈希特征值加密生成簽名信息,再將簽名信息和簽名證書與原始代碼進行關聯打包發布簽名后代碼。圖8所示認證階段中,從簽名后代碼中分離原始代碼與加密的簽名信息,之后對原始代碼做哈希運算獲取特征值,同時通過公鑰解密簽名信息抽出被加密哈希特征值,最后對兩個哈希值做對比認證。

安卓平臺要求所有應用在安裝之前,必須由持有私鑰的開發者進行簽名發布;其特殊之處在于簽名證書不需要簽名認證機構CA頒發,采用自簽證書方式[22]。安卓應用簽名除了具有認證作者身份、防止抵賴和檢測篡改作用外,還可用于不同應用之間開放權限進行數據共享和進程通信(簽名相同的安卓應用之間具有基于簽名的接口訪問權限)[23]。

圖7 簽名階段

圖8 認證階段

代碼簽名能夠很好地實現身份認證、防止抵賴和代碼篡改,但重打包和影子簽名等攻擊方式很容易破解該保護方法,因此需要配合其他代碼保護技術一起對目標代碼進行保護。

2.3技術對比

不同代碼保護技術保護程度、實現成本、對抗攻擊目標等各有不同,如表2所示。代碼混淆主要用來對抗逆向工程和靜態分析,保護程度最弱,但開發者有現成的工具可以使用,因此實現成本可以忽略;代碼加密主要用來對抗逆向工程、靜態分析、動態分析和篡改,保護強度強,但實現時以犧牲代碼運行效率和增大代碼復雜度為代價;代碼隱藏同樣用來對抗逆向工程、靜態分析、動態分析和篡改,也有很好的保護強度,實現成本主要是降低代碼運行效率;代碼簽名防護目標是篡改和非法復制,但對抗威脅能力較弱,可以很容易被攻擊者破解。

表2 代碼保護技術對比

3 安卓應用代碼保護現狀

3.1樣本數據與分析模型

樣本數據按應用市場分類下載排名從高到低收集,分別來自4個不同的安卓官方或第三方應用市場,應用樣本總數為1000例。樣本數據采集完畢后,根據樣本應用類型,我們對金融支付、社交通信、系統工具、瀏覽器和游戲等注重代碼安全保護的應用進行單獨分類,將剩余應用類型劃分為其他。各類應用在目標中所占比重如圖9所示。

圖9 樣本應用分類占比

樣本數據收集整理完成之后,使用安卓應用反編譯工具對目標樣本進行逆向工程。如果反編譯成功,進入代碼保護特征分析引擎;否則,認定該應用采用了預防變換代碼混淆策略對抗逆向工程,將其統計為代碼混淆保護技術。代碼保護特征分析引擎加載代碼保護特征庫,對樣本反編譯后代碼進行特征匹配,匹配結果分類統計為代碼混淆、代碼隱藏、代碼加密和代碼簽名。如果代碼特征匹配輸出無保護,則進行人工復核方式,重新將其統計到對應類別。

3.2樣本分析

作者分別對不同類型和規模的樣本應用進行分析,統計使用一種、兩種及以上代碼保護技術和無任何代碼保護技術的樣本比例。如表3所示為不同類型應用代碼保護現狀,可以得出:(1)采用代碼保護技術的應用比例都超過樣本數量的90%以上;(2)社交通信類和瀏覽器類應用代碼保護比例最高,系統工具類應用代碼保護比例最低;(3)金融支付類應用中只使用一種代碼保護技術和無代碼保護技術的比例很高。

表3 不同類型應用代碼保護現狀

需要特別注意的是,金融支付類應用雖然有高達98.21%樣本采用代碼保護技術,但仍然有11.31%和1.79%的樣本屬于弱保護和無保護狀態,這類應用明顯違反了支付類行業數據安全標準[24]:開發和維護安全的系統或應用。沒有任何代碼保護或弱保護的應用更加容易被攻擊者攻擊,造成用戶損失。因此,對于金融支付類、系統工具類、游戲類及其他等應用,仍然需要加強代碼保護,進行主動防御,保護用戶利益。

表4所示為不同規模應用代碼保護現狀。表中分別對1MB以下(不含1MB)、1至5MB(不含5MB)、5至10MB(不含10MB)和10MB以上規模應用分類統計,得出:(1)5至10MB樣本應用代碼保護比例最高,1MB(不含1MB)以下樣本應用代碼保護最低;(2)1MB(含1MB)以上樣本應用代碼保護比例都超過95%以上;(3)不同規模的樣本應用中,都存在無任何代碼保護技術的樣本;(4)10MB及以上樣本應用采用兩種及以上代碼保護技術比例最高。

表4 不同規模應用代碼保護現狀

不同規模應用代碼保護趨勢如圖10所示。當應用規模越大時,代碼保護比例越高,而采用一種或以下代碼保護技術的應用比例越低;對于規模較小的應用,開發者采用較少或不采用代碼保護技術進行應用保護。但對于攻擊者,規模較小應用更加容易進行逆向工程和靜態分析;因此,規模較小應用被攻擊者攻破的可能性更大,也更容易給用戶帶來安全損失。綜上,所有應用開發者,無論是開發大規模應用還是小規模應用,都需要為用戶安全使用其軟件提供保證,對軟件代碼進行保護。

圖10 不同規模應用代碼保護趨勢

隨著Android系統的不斷更新,軟件保護的強度也在增加,多種保護技術互補使用頻率增大。圖11所示為AndroidAPI版本軟件保護趨勢。圖中對采用兩種及以上保護措施的移動應用進行了統計分析;特別地,以金融類應用和其他類型應用進行對比分析。分析結果表明,AndroidAPI1~4版本(不含4)的金融類和其他類型應用采用兩種保護措施的應用比例僅有10%;隨著AndroidAPI版本的上升,保護強度不斷上升,在AndroidAPI13版本之后,這一比例已經達到88%。

圖11 不同API版本的軟件保護趨勢

同時,圖11軟件保護趨勢線中有兩個明顯拐點:1)AndroidAPI8拐點;2)AndroidAPI13拐點。通過分析得出:1)AndroidAPI4之前Android系統特征處于不穩定發布狀態,多數Android應用開發以功能實現為主,代碼保護強度較弱;之后,代碼保護強度增強;2)自AndroidAPI11開始,Android平臺發布平板開發新特性,已有Android應用針對這一變化,進行了工程重構或重新發布,重新轉向功能開發為主,特別是金融類應用表現特別突出;致使趨勢線AndroidAPI13拐點的出現。作者對采集樣本中多款金融類和非金融類移動應用進行了人工逆向分析,并證實了以上結論。如,樣本中某款金融類應用在AndroidAPI17版本中采用了代碼簽名保護技術,而在之后卻沒有使用該代碼保護技術。

4 結 語

隨著移動應用技術快速發展,移動應用市場規模越來越大,移動應用對人們的生活、生產方式產生越來越重要影響。對移動應用用戶及應用開發者利益進行保障,對抗和防止攻擊者進行非法復制、篡改、用戶隱私數據盜取等安全攻擊,是移動應用開發者必須承擔的職責。采用什么樣的軟件代碼保護技術,需要根據產品安全需求、技術不同保護作用以及實現成本進行選擇和實現。移動支付將成為移動互聯網發展的一個新亮點,這類移動應用直接關系到用戶財產或金融安全,對軟件安全需求更高。實驗結果表明,規模較小類應用缺少代碼保護;特別地,應用市場上仍然存在沒有任何代碼保護技術的金融支付類軟件,這類應用極易被攻擊者利用,進行惡意攻擊。

在進行大量調研、文獻閱讀及實驗樣本分析的基礎上,文章對移動應用代碼保護技術及當前應用市場中移動應用代碼保護現狀進行研究與分析,主要貢獻有:(1)總結并對比分析不同代碼保護技術特點及保護機制;(2)調研分析當前市場中移動應用代碼保護現狀;(3)結合實驗結果分析指出開發者,特別是金融支付類等對軟件用戶切身利益影響較大的應用開發者,應當加強該類應用代碼保護。由于實驗樣本分類及規模沒有完全覆蓋應用市場,以及樣本分析模型采用靜態代碼特征匹配的局限性;因此,實驗結果只反映出當前應用代碼保護基本現狀;樣本分析模型還需完善和優化。

[1]Wiki.GooglePlay[EB/OL]. [2014-04-16].http://en.wikipedia.org/wiki/Google_Play.

[2]Wiki.AppStore(iOS)[EB/OL]. [2014-04-21].http://en.wikipedia.org/wiki/App_Store_(iOS).

[3] 艾瑞. 2013年中國移動安全數據報告[R/OL]. [2014-01-16].http://report.iresearch.cn/2103.html.

[4]MainA,VanOorschotPC.SoftwareProtectionandApplicationSecurity:UnderstandingtheBattleground[C].Springer-VerlagLNCS,2003.

[5]SasirekhaN,HemalathaM.ASurveyonSoftwareProtectionTechniquesagainstVariousAttacks[J].GlobalJournalofComputerScienceandTechnology,2012,12(1):53-58.

[6]ZhouWu,ZhouYajin,JiangXuxian,etal.DroidMOSS:DetectingRepackagedSmartphoneApplicationsinThird-PartyAndroidMarketplaces[C].CODASPY, 2012.

[7]JonathanCrussell,ClintGibler,HaoChen.AttackoftheClones:DetectingClonedApplicationsonAndroidMarkets[C].ESORICS,2012.

[8]PatrickSchulz,FelixMatenaar.AndroidReverseEngineering&Defenses[R/OL]. [2013].http://www.bluebox.com.

[9]MikhailJAtallah,EricDBryant,MartinRStytz.ASurveyofAnti-TamperTechnologies[J].CROSSTALK:TheJournalofDefenseSoftwareEngineering,2004,17(11):12-16.

[10]AbhishekDubey,AnmolMisra.AndroidSecurity:AttacksandDefenses[M].BocaRaton:CRCPress,2013:112-114.

[11]JamesKeogh.J2ME:TheCompleteReference[M].California:McGraw-Hill, 2003:12-15.

[12]DCCI互聯網數據中心. 2013移動應用隱私安全測評報告[R/OL]. [2013].http://www.dcci.com.cn.

[13]CappaertJ.CodeObfuscationTechniquesforSoftwareProtection[D].Leuven:KatholiekeUniversiteitLeuven-FacultyofEngineering, 2012.

[14]CollbergCS,ThomborsonC.Watermarking,tamper-proofing,andobfuscation-toolsforsoftwareprotection[J].IEEETransactionsonSoftwareEngineering,2002,28(8):735-746.

[15]Google.ToolsHelp[EB/OL].[2014].http://developer.android.com.

[16]MIT.ProGuardManual[EB/OL]. [2014].http://stuff.mit.edu/afs/sipb/project/android/sdk/android-sdk-linux/tools/proguard/docs/index.html.

[17]Oracle.JavaRemoteMethodInvocation-DistributedComputingforJava[EB/OL]. [2014].http://www.oracle.com/technetwork/java/javase/tech/index-jsp-138781.html.

[18]WilliamStallings.CryptographyandNetworkSecurity:PrinciplesandPractice[M].5thed.NewJersey:PrenticeHall,2010: 8-25,396-407.

[19]AndroidAPIs[EB/OL]. [2014].http://developer.android.com.

[20]JonathanBKnudsen.JavaCryptography[M].California:O’ReillyMedia,1998:89-187.

[21]Digcert.CodeSigningCertificates[EB/OL]. [2014].http://www.digicert.com/ppc/code-signing-certificate.htm.

[22]Google.SigningYourApplications[EB/OL]. [2014].http://developer.android.com/tools/publishing/app-signing.html.

[23]IBMCEnriqueOrtiz.UnderstandingSecurityonAndroid[EB/OL].[2010].http://www.ibm.com/developerworks/library/x-androidsecurity/.

[24]Wiki.PaymentCardIndustryDataSecurityStandard[EB/OL].[2014].http://en.wikipedia.org/wiki/Payment_Card_Industry_Data_Security_Standard.

STUDYONMOBILEAPPLICATIONSCODEPROTECTIONSTATUSANDTECHNIQUES

ZhuHongjun1,2ChenHao1HuaBaojian2LiuYe2GuoYu2

1(School of Software Engineering, University of Science and Technology of China, Hefei 230051, Anhui, China)2(Suzhou Institute for Advanced Study, University of Science and Technology of China, Suzhou 215123, Jiangsu, China)

Androidplatform-basedapplicationsareeasilytobeattackedbyvirusesormalware.Apartfromthecausesoftheplatformsbeingopensourceandopeningandsoon,theweakerprotectionabilityofthemobileapplicationscodeitselfisalsoamainfactor.Forthisproblem,inthepaperwetakeAndroidplatformapplicationsastheresearchobjects,analysethesecuritythreatsmodelandthecodessecuritydemandsofthemobileapplications,studythemechanismsofcodeprotectiontechniques,suchascodeobfuscation,code-behind,codeencryptionandcodesignature,anddescribetheiradvantagesanddisadvantages;Then,wedesignandimplementanAndroidapplicationcodeprotectiontechnologyanalysisengine,andanalyseandsummarisetheexperimentaldata.ResultshowsthatallthesamplesindifferentsizesandtypeshavetheAndroidapplicationstocertainproportion,theircodeprotectionstrengthsarenotstrong;inparticular,thesmallerthescaleoftheapplications,theweakerthecodeprotectionstrength,andthisresultsinsuchclassofapplicationsbeingmaliciouslyattackedmucheasier.

CodeprotectionMobileapplicationAndroidReverseengineering

2014-07-24。中國計算機學會-騰訊科研基金項目(CCF-TencentAGR20130105);蘇州市科技計劃應用基礎研究項目(SYG201406)。朱洪軍,講師,主研領域:軟件測試,移動安全。陳灝,碩士生。華保健,講師。劉業,講師。郭宇,副教授。

TP3

ADOI:10.3969/j.issn.1000-386x.2016.03.074

猜你喜歡
用戶
雅閣國內用戶交付突破300萬輛
車主之友(2022年4期)2022-08-27 00:58:26
您撥打的用戶已戀愛,請稍后再哭
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年5期)2016-11-28 09:55:15
兩新黨建新媒體用戶與全網新媒體用戶之間有何差別
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
挖掘用戶需求尖端科技應用
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
100萬用戶
創業家(2015年10期)2015-02-27 07:54:39
主站蜘蛛池模板: 亚洲人成网站观看在线观看| 超碰色了色| 亚洲综合精品香蕉久久网| 国产一区二区三区精品欧美日韩| 亚洲最大福利网站| 中文国产成人久久精品小说| 欧美国产日本高清不卡| 亚洲中文字幕国产av| 午夜激情婷婷| 少妇露出福利视频| 亚洲欧洲免费视频| 少妇露出福利视频| 午夜日b视频| 久久鸭综合久久国产| 日韩国产一区二区三区无码| 国产丝袜啪啪| 色悠久久综合| 91蝌蚪视频在线观看| 欧美日本在线播放| 中文字幕日韩欧美| 亚洲乱伦视频| 国产高清不卡视频| 国产精品亚洲天堂| 欧美日韩在线观看一区二区三区| 亚洲视频免费播放| 特级aaaaaaaaa毛片免费视频| 久久青草热| 国产男人天堂| 五月婷婷精品| a级高清毛片| 在线欧美一区| 国产第一福利影院| 国产打屁股免费区网站| 国产精品福利一区二区久久| 国产成人永久免费视频| 国产理论最新国产精品视频| 亚洲男人的天堂在线| 国产成人精品一区二区不卡| 在线精品亚洲一区二区古装| 久久a级片| 国产成人高清精品免费5388| 国产91在线|日本| 麻豆精品在线| 亚洲欧美不卡中文字幕| 青青网在线国产| 亚洲一区二区精品无码久久久| 91九色国产在线| 欧美国产日韩在线| 欧美午夜在线观看| 欧美影院久久| 亚洲黄色激情网站| 精品人妻系列无码专区久久| 国产免费高清无需播放器 | 国产成人精品18| 日本国产精品| 国产免费一级精品视频| 亚洲一道AV无码午夜福利| 久久久久88色偷偷| 91精品国产自产91精品资源| 亚洲性日韩精品一区二区| 色欲不卡无码一区二区| 一级做a爰片久久毛片毛片| 中文精品久久久久国产网址| 国产精品乱偷免费视频| 国产精品微拍| 自拍偷拍欧美日韩| 国产在线第二页| 午夜a级毛片| 久久亚洲天堂| 亚洲欧美另类中文字幕| 欧美国产日韩另类| 妇女自拍偷自拍亚洲精品| 久久国产免费观看| 98超碰在线观看| 亚洲日本韩在线观看| 亚洲中文字幕日产无码2021| 亚洲人成网7777777国产| 成人在线不卡视频| 99re精彩视频| 9cao视频精品| 久久a级片| 人妻一本久道久久综合久久鬼色|