成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Android應用加固的那點事

移動開發
從開發的角度來講則是App源代碼安全問題,基于代碼審計層次的;從軟件保護角度來講app安全則是對源代碼的代碼混淆,資源加密,邏輯加固;從用戶的角度來講就是App本身的安全性,是否會對個人隱私財產造成損失。

Labs 導讀

隨著人們對智能手機依賴的程度越來越高,因智能手機軟件安全導致用戶信息泄露、財產損失事件頻發,人們開始越來越關注App安全這個領域。從開發的角度來講則是App源代碼安全問題,基于代碼審計層次的;從軟件保護角度來講app安全則是對源代碼的代碼混淆,資源加密,邏輯加固;從用戶的角度來講就是App本身的安全性,是否會對個人隱私財產造成損失。

Part 01、 為什么要進行加固? 

Android操作系統全部開源,可以對Android應用程序Apk進行解包,對DEX文件進行逆向工程,就可以獲取到原始的源代碼和應用程序邏輯。通過逆向工程可以竊取應用程序的核心代碼、攻破程序邏輯限制、篡改應用程序或注入惡意代碼、嗅探應用服務器API接口。

通過應用加固可以增加軟件的逆向成本,保護軟件的利益不受損壞,保護軟件版權,防止應用被破解,保護應用程序的關鍵信息不被竊取。

Part 02、  Apk加固的原理 

應用程序Apk的關鍵信息都保存在DEX文件中,加固重點是保護DEX文件不被逆向。常用思路就是打包時使用私有算法改變DEX文件結構,無法使用常規手段讀取DEX文件內容;由于DEX文件結構發生了變化,宿主機也無法讀取識別DEX文件,就需要應用程序提供自定義的加載程序,完成DEX文件的解密與加載。

圖片

Apk加固后主DEX文件已經是看不到原碼,這樣就達到了加固的效果,但是這樣做會導致主App的Application已經是沒有效了,可以通過自定義Application生命周期里的創建函數attachBaseContext和onCreate函數,在attachBaseContext中將解密出來的DEX交給系統處理,onCreate的時候要將主App的Application創建出來,并替換系統中的Application引用,這樣就可以保證Activity順利加載執行。

Part 03、 加固發展過程 

Apk加固技術,前后經歷了四代技術變更,保護級別在每一代都有所提升。

圖片

3.1 第一代加固:動態加載

原理? 第一代加固技術用于保護應用的邏輯不被逆向與分析,主要基于Java虛擬機提供的動態加載技術。開發階段中將程序切分成加載(Loader)與關鍵邏輯(Payload)兩部分,并分別打包;運行時加載部分(Loader)會先運行,釋放出關鍵邏輯(Payload),然后使用Java的動態加載技術進行加載,并轉交控制權。

圖片

缺陷:第一代加固技術的缺陷是動態加載機制要求其關鍵邏輯(Payload)部分必須解壓,并且釋放到文件系統,這就給了攻擊者機會去獲取對應的文件。攻擊者可以通過自定義虛擬機,攔截動態加載機制所使用的關鍵函數,在這個函數內部,復制文件系統中的關鍵邏輯(Payload)文件。

3.2 第二代加固:不落地加載

原理? 第二代加固技術主要為了解決解密后的Payload需要寫入文件系統被竊取的問題,由代碼接管Application對象的創建,主要流程:

1)Loader被系統加載。

2)系統初始化Loader內的StubApplication。

3)StubApplication解密并且加載原始的DEX文件(Payload)。

4)StubApplication從原始的DEX文件(Payload)中找到原始的Application對象,創建并初始化。

5)借助Java反射機制,將系統內所有對StubApplication對象的引用使用替換成原始Application。

6)由Android系統進行其他組件的正常生命周期管理。

圖片

缺陷:第二代加固技術不會將解密后的DEX存儲到文件系統,但是在應用啟動時要處理大量的加解密加載操作,會造成應用長時間假死(黑屏),用戶體驗差。相對于第一代技術沒有本質區別,雖然能防止第一代加固技術文件必須落地被復制的缺陷,但是逆向工作者也可以從內存中找到DEX文件,通過GDB等調試工具,相對于第一代加固提高了DEX獲取的成本。

3.3 第三代加固:指令抽離

原理? 由于前兩代加固技術均是對文件級別進行加密,DEX文件在內存中的Payload是連續的,可以被攻擊者輕易獲取。第三代加固技術保護級別深入到了函數級別。發布階段將原始DEX內的函數內容(Code Item)清除,單獨寫入到一個文件中,App啟動后,在運行階段將函數內容重新恢復到對應的函數體。

圖片

缺陷:指令抽離技術使用了大量的虛擬內部結構與未被文檔公開的特性,再加上Android復雜的廠商定制,給DEX文件竊取帶來了很大的難度。但是指令抽離技術的某些方案與虛擬機的JIT性能優化沖突,無法達到最佳的運行性能。攻擊者可以通過自定義Android虛擬機,在解釋器的代碼上記錄每一個函數的內容(CodeItem),通過遍歷觸發所有函數,從而獲取到全部的函數內容,最終重新組裝成一個完整的DEX文件。目前已經有自動化工具可以指令抽離技術中脫殼。

3.4 第四代加固:指令轉換

原理? 第四代加固技術提供了函數級別的級別的保護,但是攻擊者借助Android虛擬機內的解釋器執行代碼,依然可以獲取到DEX文件,第四代加固技術使用自定義的的解釋器來替代標準解釋器,由于自定義的解釋器無法對Android系統內的其他函數進行直接調用,必須使用JAVA的JNI接口進行調用。

圖片

缺陷:指令轉換技術必須通過虛擬機提供的JNI接口與虛擬機進行交互,攻擊者可以直接將指令轉換/VMP加固方案當作黑盒,通過自定義的JNI接口對象,對黑盒內部進行探測、記錄和分析,進而得到完整DEX程序。

3.5 下一代加固:虛擬機源碼保護

原理? 虛機源碼保護加固是用虛機技術保護所有的代碼,包括Java,Kotlin,C/C++,Objective-C,Swift等多種代碼,具備極高的兼容性;使App得到更高安全級別的保護,運行更加穩定。虛機源碼保護在App內部隔離出獨立的執行環境,該核心代碼的運行程序在此獨立的執行環境里運行。即便App本身被破解,這部分核心代碼仍然不可見。

圖片

虛機源碼保護擁有獨特的可變指令集,極大的提高了指令跟蹤、逆向分析的難度。同時,虛機源碼保護還提供了反調試能力和監控能力。虛機源碼保護可以通過自身的探針感知到環境的變化,實時探測到外界對本環境的調試、注入等非正常執行流程變化,將調試動作引入程序陷阱,并發出警報,進而進行實時更新,提高安全強度。虛機源碼保護加固作為當前領先的加固技術,在未來很長一段時間,能夠為App提供足夠強度的保護。

Part 04、 結束語 

Apk加固是一把雙刃劍,一方面可以保護App的核心代碼算法,提高破解/盜版/二次打包的難度,緩解通過代碼注入/動態調試/內存注入等形式攻擊;另一方面加固是改變標準執行流程,增加了許多防護機制,會影響兼容性,影響程序運行效率,增加App維護難度,部分應用市場會拒絕加殼后的應用上架。因此我們需要選擇一個平衡點,不要追求一味的安全,也不要過于開放,要保護好自身的數據與知識產權。

責任編輯:龐桂玉 來源: 移動Labs
相關推薦

2019-07-01 14:55:44

應用安全web安全滲透測試

2011-04-14 14:23:06

軟件測試測試

2018-03-15 15:12:00

潤乾報表集成

2012-02-22 09:32:58

云計算微軟Azure

2013-10-12 13:26:08

設計加載

2015-09-01 15:12:45

JavaHashMap那點事

2018-04-02 15:10:17

ToastSnackbarAndroid

2011-05-25 19:37:47

2021-07-30 07:28:15

Kafka消息引擎

2011-08-31 10:15:48

桌面管理軟件

2010-08-10 15:08:17

UPS電源評測

2009-07-03 14:16:30

JSP Servlet

2012-06-11 15:02:53

ASP.NET

2013-04-28 09:50:02

PHPMySQL

2013-04-09 10:03:29

iOS6.0旋轉兼容

2011-02-22 09:47:58

WatchStor 征

2018-10-22 13:34:24

SD-WAN運維網絡

2015-11-05 18:03:15

虛擬化云計算資源池

2010-07-22 10:07:01

SharePoint

2010-05-31 10:11:02

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品影视 | 在线观看中文字幕 | 亚洲网视频 | 久草网站 | 91亚洲国产 | 黄免费在线| 久久午夜国产精品www忘忧草 | 天堂在线网 | 最新高清无码专区 | 一区二区亚洲 | 国产欧美日韩精品一区 | 免费在线观看av网址 | 精品亚洲一区二区三区 | 91av视频在线免费观看 | 国产精品久久久久久久久久久久久 | 国产在线拍偷自揄拍视频 | 综合久久99 | 人操人免费视频 | 久草久| 欧美激情国产精品 | 超碰97人人人人人蜜桃 | 午夜电影日韩 | 成年精品 | 日日夜夜狠狠操 | 免费同性女女aaa免费网站 | 午夜看电影在线观看 | 亚洲人va欧美va人人爽 | 亚洲精品一区二区在线 | 国产情品 | 欧美精三区欧美精三区 | 日本午夜网站 | 久久亚洲国产精品日日av夜夜 | 亚洲免费观看视频网站 | 欧美日韩精品久久久免费观看 | av电影一区二区 | 狠狠操狠狠干 | 伊人激情网 | 欧美日韩18 | 黑人粗黑大躁护士 | 欧美精品中文字幕久久二区 | 亚洲国产视频一区 |