分享:Android 應用有哪些常見,淺談常被利用的安全性漏洞?

來源:互聯網
上載者:User

標籤:

首先,題主詢問“Android 應用”的安全性漏洞,說到 Android 應用的安全性漏洞,如果拋開系統設計問題,其主要原因是開發過程當中疏漏引起的。但其實也並不能把這些責任都怪在程式猿頭上。所以本答案也將會對 Android 系統設計以及生態環境做一些闡述。(如果想瞭解 Android 惡意軟體的情況,那就需要另開題目了。)

1. 應用反編譯
漏洞:APK 包非常容易被反編譯成可讀檔案,稍加修改就能重新打包成新的 APK。
利用:軟體破解,內購破解,軟體邏輯修改,插入惡意代碼,替換廣告商 ID。
建議:使用 ProGuard 等工具混淆代碼,重要邏輯用 NDK 實現。
例子:反編譯重打包 FlappyBird,把廣告商 ID 換了,遊戲改加插一段惡意代碼等等。

2. 資料的儲存與傳輸
漏洞:外部儲存(SD 記憶卡)上的檔案沒有許可權管理,所有應用都可讀可寫。開發人員把敏感資訊明文存在 SD 記憶卡上,或者動態載入的 payload 放在 SD 記憶卡上。
利用:竊取敏感資訊,篡改設定檔,修改 payload 邏輯並重打包。
建議:不要把敏感資訊放在外部儲存上面;在動態載入外部資源的時候驗證檔案完整性。

漏洞:使用全域可讀寫(MODE_WORLD_READABLE,MODE_WORLD_WRITEABLE)的內部儲存方式,或明文儲存敏感資訊(使用者帳號密碼等)。
利用:全域讀寫敏感資訊,或 root 後讀取明文資訊。
建議:不適用全域可讀寫的內部儲存方式,不明文儲存使用者帳號密碼。

3. 密碼泄露
漏洞:密碼明文儲存,傳輸。
利用

  • root 後可讀寫內部儲存。
  • SD 記憶卡全域可讀寫。
  • 公用 WiFi 抓包擷取帳號密碼。

建議:實用成熟的加密方案。不要把密碼明文儲存在 SD 記憶卡上。

4. 組件暴露 (Activity, Service, Broadcast Receiver, Content Provider)
漏洞

  • 組件在被調用時未做驗證。
  • 在調用其他組件時未做驗證。

利用

  • 調用暴露的組件,達到某種效果,擷取某些資訊,構造某些資料。(比如:調用暴露的組件發簡訊、微博等)。
  • 監聽暴露組件,讀取資料。

建議:驗證輸入資訊、驗證組件調用等。android:exported 設定為 false。使用 android:protectionLevel="signature" 驗證調用來源。

5. WebView
漏洞

  • 惡意 App 可以注入 JavaScript 代碼進入 WebView 中的網頁,網頁未作驗證。
  • 惡意網頁可以執行 JavaScript 反過來調用 App 中註冊過的方法,或者使用資源。

利用

  • 惡意程式嵌入 Web App,然後竊取使用者資訊。
  • 惡意網頁遠程調用 App 代碼。更有甚者,通過 Java Reflection 調用 Runtime 執行任意代碼。

建議:不使用 WebView 中的 setJavaScriptEnabled(true),或者使用時對輸入進行驗證。

6. 其他漏洞

  • ROOT 後的手機可以修改 App 的內購,或者安裝外掛 App 等。
  • Logcat 泄露使用者敏感資訊。
  • 惡意的廣告包。
  • 利用 next Intent。

7. 總結
Android 應用的漏洞大部分都是因為開發人員沒有對輸入資訊做驗證造成的,另外因為 Intent 這種特殊的機制,需要過濾外部的各種惡意行為。再加上 Android 應用市場混亂,開發人員水平參差不齊。所以現在 Android 應用的漏洞,惡意軟體,釣魚等還在不斷增多。

再加上 root 對於 App 沙箱的破壞,Android 升級的限制。國內的 Android 環境一片混亂,慘不忍睹。所以,如果想要保證你的應用沒有安全性漏洞,就要記住:永遠不要相信外面的世界。

最後推薦:愛加密漏洞檢測(http://safe.ijiami.cn/) 服務可以一鍵找出APP潛在的漏洞和惡意軟體存在的病毒;針對應用被劫持,愛加密提供多種加密項目和加密方式,解決進程和資料轉送過程中可能存在的劫持風險。

分享:Android 應用有哪些常見,淺談常被利用的安全性漏洞?

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.