每天有數百人搜索App破解,開發者該怎麼保護自己的手機應用呢?

百度上搜索“App破解”,會出現1210萬條結果。從App破解的入門知識到逆向工具下載,從破解技術視頻到全圖文教程。
隨着黑客技術的普及化平民化,App——智能手機的應用軟件,這個承載我們移動數字工作和生活的重要工具,不僅是黑客眼中的肥肉,也獲得更多網友另類關注。

undefined
百度搜索“App破解”找到1210萬條結果
一旦App被破解,不僅使用者的照片、身份證、手機號、聯繫住址、郵箱和支付密碼等敏感信息會泄露,還可能感染手機的操作系統,進而導致手機被入侵篡改,乃至成爲攻擊者操控的“僵屍網絡”中的一部分。
對於廣大移動開發者來說,如何保障自己App的安全、保護App使用者的安全呢?在12月26日今日頭條的一個技術沙龍上,頂象技術移動安全負責人梁家輝詳細闡述了App存在風險漏洞、App安全技術及新一代App安全防護方案。

undefined
頂象技術移動安全負責人梁家輝在今日頭條的技術沙龍上講解App安全保護

App爲什麼會被破解入侵呢?

安卓App的開發除了部分功能採用C/C++編碼外,其餘主要都是採用Java進行編碼開發功能。Java源碼最終編譯成smali字符碼,以classes.dex保存在App的APK中。
Java是一種解釋性語言,功能強大,易用性強。初學者能輕鬆地學習Java,並編寫簡單的應用程序。而且Java的基本類庫(JDK)是開源的,這就使很多Java開發的應用被逆向破解的門檻很低。目前市面上有大量的逆向破解工具,例如:Dex2Jar、JEB、JD-GUI等等。(打個廣告:Dex2Jar作者泮曉波目前供職於頂象技術移動安全團隊;因爲“未知攻焉知放防”,只有瞭解怎麼如何逆向破解才清楚如何有效防禦)。只要懂代碼編程,利用這些工具就可以破解市面上那些防禦薄弱、存在大量安全漏洞的App。這就很好理解爲什麼會有如此多人去搜索“App破解”了。
之前曾有媒體報道,有網絡黑產專門從各種渠道找到App的apk,然後將apk文件逆向破解,再植入廣告、病毒代碼,最後重新打包投入公開市場,當不明真相的網友將帶病毒廣告的App下載後,會帶來巨大經濟損失。

App的安全保護技術

爲App做安全加固無疑是最便捷、有效的一種防護方式了,通過加固可以對App進行安全性強化,一定程度上達到防破解和防止被二次打包的效果。
App加固主要對源碼的保護,混淆、常量字符串加密、指令虛機轉換;對彙編插花(防IDA F5)、控制流扁平化等;抹除二進制ELF信息、ELF殼、自定義Linker等;對安卓的可執行文件加殼,抽取可執行文件指定等。此外,還可以對js、html、圖片、自定義資源進行保護,對anti-debug等環境進行檢查等。
App安全防護技術已經歷了動態加載、不落地加載、指令抽離、指令轉換/VMP、虛機源碼保護等五個階段。每一階段的安全技術都是一次升級。這五代技術有什麼特點呢?詳細參見下表 。

undefined
五代App安全保護技術比較(點擊圖片查看詳情)

新一代App安全技術:虛機源碼保護

作爲下一代App安全加固和保護技術—頂象虛機源碼保護,是用虛機技術保護所有的代碼,包括Java,Kotlin,C/C++,Objective-C,Swift等多種代碼,具備極高的兼容性,能夠給與App更高安全級別的保護。
頂象虛機源碼保護首先把待保護的核心代碼編譯成二進制文件,然後生成獨特的執行環境和只能在該環境下執行的運行程序。生成的虛機源碼保護擁有獨特的可變指令集,極大的提高了指令跟蹤、逆向分析的難度,並提供了反調試能力和監控能力。
同時,虛機源碼保護可以通過自身的探針感知到環境的變化,實時探測到外界對本環境的調試、注入等非正常執行流程變化,將調試動作引入程序陷阱,併發出警報,進而進行實時更新,進一步提高安全強度。
由於虛機源碼保護在App內部隔離出獨立的執行環境,因此被保護的核心代碼的運行程序在此獨立的執行環境裏運行。即便App本身被破解,這部分核心代碼仍然不可見。
虛機源碼保護不僅適用於安卓和iOS,Linux、RTOS、STM32等嵌入式系統也支持,因此不僅可以防護App,服務器、物聯網固件等均能防護。
* 更多網絡安全技術乾貨及案例分享,請關注頂象官方博客:https://www.dingxiang-inc.com/blog
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章