天天看點

淺談Android應用保護(零):出發點和背景

近幾年來,無線平台特别是android平台的安全逐漸成為各廠商關注的重點。各種新的思路和玩法層出不窮。是以,筆者基于前一段時間的學習和整理,寫了這系列關于android應用安全和保護的文章。

這5篇文章主要關注用戶端代碼和資料的保護,介紹了幾種針對android應用的逆向分析、攻擊和防護的方法。内容比較淺顯,适合沒有android安全研究背景的同學入門和科普閱讀。

淺談Android應用保護(零):出發點和背景

根本上來說,手機用戶端是完全控制在使用者手上的,是不可信的,不應該依靠用戶端來實作任何安全、邏輯、業務相關的控制。用戶端應該是極“瘦”的,不做任何安全相關的邏輯上的操作和判斷,不存儲敏感資訊,甚至像浏覽器一樣簡單,所有邏輯都由服務端處理然後下發結果。

1.為了使用者體驗,本地必須儲存登陸者的認證資訊,避免每次打開都需要輸入密碼登入

2.為了使用者體驗和減少伺服器負載,展示給使用者的頁面大多需要本地繪制

3.有一部分安全邏輯必須由本地控制,如本地手勢密碼的設定和驗證

是以必須要賦予本地用戶端部分安全相關和邏輯控制相關的功能。而這些功能和邏輯一旦在本地用戶端實作,就一定會面臨着請求僞造、邏輯篡改、代碼洩露等的風險。(可以類比于b/s架構中的以js為代表的本地腳本:js在本地運作,可能會被修改、注入、繞過,js代碼會被攻擊者直接看到)。

不過好在安全本身就不是絕對的,是和場景和價值結合起來讨論的。如果能通過一些方法,讓應用分析者分析應用的難度提升到一個非常高的水準,或者說讓應用分析者分析的過程消耗的資源大于其成功之後獲得的回報,再或者說是讓應用逆向分析、攻擊者獲得的成果對使用者的資金和安全感的造成的影響很小到可以忽略的話,我們也可以認為是安全的。

無線用戶端分析和保護的出發點就是基于上述背景。實作邏輯的控制和繞過,敏感資料的加密和竊取等。在應用攻防中,雙方各有優劣。無線應用因為自身所能做的事情有限,在防禦中是處于劣勢地位。

攻擊者可以使用root權限,可以使用特殊構造的作業系統(taintdroid等),可以擷取并修改應用的動态代碼(xposed,cydia substrate)、系統的環境(xposed),可以修改重打包應用的靜态代碼(smali/baksmali/dex2jar)。

而在在防禦中,開發者為了保護自己的應用,也相應采取了各種方法,把自己應用的安全性寄托在了各種地方。

1.寄托于破壞攻擊者的工具。

2.寄托在java層代碼逆向、調試、閱讀的難度和java自身的機制上。

3.寄托在native層(c/c++)代碼逆向、調試、閱讀的難度上。

這就分别對應了無線用戶端攻防的三個次元。

一般而言,對于無線用戶端的安全攻防上,企業或開發者由于精力有限可能無法滿足應用的安全需求,如鲠在喉般的遏制着應用的健康發展。

阿裡聚安全開放平台,擁有移動安全、資料風控、内容安全、實人認證等産品解決方案,其中移動安全方案中的應用加強及安全元件功能,可以讓您的應用擁有金融級的安全防護。

<a href="http://jaq.alibaba.com/community/category?catid=4">技術研究</a>

<a href="http://jaq.alibaba.com/community/category?catid=17">安全資訊</a>

<a href="http://jaq.alibaba.com/community/category?catid=5">安全報告</a>

<a href="http://jaq.alibaba.com/community/category?catid=2">安全漏洞</a>

<a href="http://jaq.alibaba.com/community/category?catid=3">病毒分析</a>

<a href="http://jaq.alibaba.com/community/category?catid=18">活動沙龍</a>

技術研究

安全資訊

安全報告

安全漏洞

短信 

積分兌換 

仿冒應用

漏洞分析 

漏洞預警 

年度報告

安全報告 

病毒分析

阿裡聚安全

<a href="http://www.alibabagroup.com/cn/global/home" target="_blank">阿裡巴巴集團</a>

<a href="http://www.aliyun.com/" target="_blank">阿裡雲計算</a>

<a href="http://www.taobao.com/" target="_blank">淘寶網</a>

<a href="http://www.tmall.com/" target="_blank">天貓</a>

<a href="https://www.alipay.com/" target="_blank">支付寶</a>

<a href="http://qd.alibaba.com/" target="_blank">錢盾</a>

<a href="http://www.easyaq.com/" target="_blank">e安全</a>

繼續閱讀