2018年移動應用安全,有幾維安全就夠了!

網路病毒是指人為編寫的特製程序,具有自我複製能力、很強的感染性,一定的潛伏性,特定的觸發性和很大的破壞性。

網路安全是指網路系統的硬體、軟體及其系統中的數據受到保護,不因偶然的或者惡意的原因而遭受到破壞、更改、泄露,系統連續可靠正常地運行,網路服務不中斷。

看似對立的兩種行為卻又是相互依存相互提高的。正因為黑客們不斷的改寫代碼入侵網路,所以網路安全家們才能開發出效率更高安全性更強的安全防護工具。

幾維安全作為一家移動應用安全服務商,一直以來致力於為用戶及企業打造更安全的移動互聯網。針對IOS和Android兩大平台,實現國內首個免費的移動應用攻擊防禦平台,並且在新年伊始推出了全新的安全加密產品KiwiVM虛擬機

傳統的加密方式

SO加殼—黑盒方式

功能:對SO進行二進位加殼,破壞ELF文件信息,導致靜態反編譯工具解析失敗,靜態加密的方式,是通過干預系統對SO的載入過程進行動態解密。

缺陷:1.恢復簡單,通過內存dump或者二進位修復即可

2.平台依賴嚴重,由於Android版本眾多,各家廠商對系統進行了不同程度的定製,所以針對不同的系統庫載入器均需要進行適配;

3.容易被脫殼,由於Android環境為開源環境,導致修改系統非常容易,脫殼手段層出不窮。

SO源代碼混淆—白盒方式

功能:基於OLLVM開源項目改造的代碼混淆加密,包括指令平展化,邏輯混淆和字元串加密。

缺陷:基於代碼基本塊混淆粒度太大,只增加了假基本塊來迷惑分析者,仔細分析的情況下,真實塊很明顯。

KiwiVM代碼虛擬化技術

KiwiVM虛擬化防護

LLVM體系架構下編譯器具有獨特的中間語言IR指令模式,IR可以說是集中體現了這款編譯器的特徵,想要完全掌握某種編譯器的工作和運行原理,分析這款編譯器的中間語言無疑是重要手段。因此在如今常用編譯器所彙編的文件已被各種工具反彙編的情況下,設計滿足跨平台通用的虛擬化方案,必須脫離彙編指令上升到非架構依賴層,恰好LLVM體系獨具優勢,通過從IR指令集進行虛擬化操作,既能完全實現和X86平台同樣強度的虛擬化的加密,並且解決了虛擬化技術無法跨平台的問題。

實現原理

幾維安全KiwiVM虛擬化編譯器基於LLVM編譯器中間層實現,通過設計獨有保密的虛擬CPU解釋器以及完備虛擬IR指令,將原始CPU指令進行加密轉換處理為只能由KiwiVM虛擬解釋器解釋執行的虛擬指令,能夠完全隱藏函數代碼邏輯,以及函數及變數之間的依賴關係。

圖1-5:實現原理

KiwiVM虛擬化優勢

KiwiVM虛擬機虛擬化基於LLVM編譯器中間層實現,加密代碼與業務代碼緊密結合,有效阻擋逆向分析;由於是從編譯器內部生成平台依賴代碼前實現無平台依賴代碼虛擬化過程,不依賴於特定系統環境,無兼容性問題,天然兼容所有CPU架構,包括IOS,Android、armv7,arm64),Windows,Liunx(x86,X64),Other(Mips)等。

核心安全防護:自定義虛擬CPU,代碼一旦加密,很難解密,其不可逆的特性能有效避免攻擊者通過DUMP內存,還原原始代碼。

函數級虛擬化:以C、C++源文件函數為單位進行虛擬化,具有粒度細、可控性高、隱蔽性強的特性,虛擬化之後函數完全隱藏。

全平台全架構:支持iOS與安卓雙平台的Native代碼虛擬化,包括armv7、arm64、armv7a、x86、x86_64等架構。

完美兼容:在C、C++代碼編譯時直接虛擬化,其兼容性與原始應用一樣。

虛擬機安全核心

虛擬化的安全性核心意義是隱藏,主要是隱藏代碼的真實邏輯和其中處理的相關數據,是目前計算機軟體層防護的核心方案,在移動端被用於遊戲反外掛核心模塊保護,商業授權,機密軟體系統保護等競爭激烈領域;由於是指令級的虛擬化,所以不會像軟體加殼方案一樣在內存中存在真實的軟體代碼(而只要存在真實代碼就有被動態分析的可能),再加上源碼混淆,無論從靜態分析還是動態分析都能保證核心文件的安全性,並且源碼混淆和KiwiVM虛擬保護方式都不會產生兼容性問題。

虛擬化效果展示

圖1-6:虛擬化前

圖1-6:虛擬化後

更高效的APP加密方式,更深層的加密手段,更廣泛的加密安全性。使得幾維安全KiwiVM虛擬機成為2018年安全行業最耀眼的一顆新星。

在未來的日子裡,幾維安全將以更專業的安全加密態度,更完善的安全APP加密方式,更優越的安全加密體驗,更貼心的安全加密服務,為大家帶來更多更好的安全加密產品。網路安全不容忽視,幾維安全願與你攜手在這條安全之路上披荊斬棘,一往無前。


推薦閱讀:

幾維安全APP加固產品率先兼容Android 8.0系統
APP加固方式全面升級,幾維安全多種APP加密方式任你選!
你造嗎?全新勒索病毒再次爆發!中招後無藥可救

TAG:移動應用 | 移動安全 |