iT邦幫忙

2025 iThome 鐵人賽

DAY 5
0

今天我們來介紹 Android 的Security Features。
Android SDK 會將原始碼、資源(Resources)以及 Assets 打包成 APK 檔案。
這個 APK 包含應用程式安裝所需的所有元件,包括:

Manifest Metadata
Native Library
Bytecode(.dex 檔案)
Resources

https://ithelp.ithome.com.tw/upload/images/20250915/201494599GgtQ3Koqz.png

APP 沙箱

Android 強制每個應用程式在執行時運行於一個隔離的沙箱環境,這是基於 Linux 架構的安全機制。
每個 Android 應用程式會被分配一個唯一的 UID(Unique Linux User ID),用於檔案權限控制。
,每個應用程式運行在獨立的 Process 中,並由各自的 ART(Android Runtime)實例執行,來實現記憶體隔離。

https://ithelp.ithome.com.tw/upload/images/20250915/20149459pBFbiB4Wyk.png

APP 簽名

無論是安裝應用程式還是將APP上傳至 Google Play 商店,都需進行簽名。
簽名可確保應用程式未被竄改,避免攻擊者可能在 .dex 檔案注入惡意程式碼。

數位簽章的基本原理
https://ithelp.ithome.com.tw/upload/images/20250915/20149459swGkumMHB1.png

在 Android 簽名機制中,系統會檢查應用程式的簽名區塊是否包含有效簽名,並驗證應用程式的 Hash 值是否與簽名一致。
簽名驗證的簡單流程如下:
https://ithelp.ithome.com.tw/upload/images/20250915/20149459YgZpCH4t3f.png

建議使用較新的 V2 或 V3 簽名方案,因為舊版 V1 簽名存在 CVE 漏洞,允許攻擊者在不影響簽名的情況下注入惡意程式碼 明天我們將介紹如何自行修改應用程式並進行自我簽名


上一篇
DAY 4 Android Operating Systems 下
下一篇
DAY 6 Android Security Features 下
系列文
我是不可能一直學Android 絕對不會8
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言