AccordHK · Blog

AccordHK · 實踐筆記

您的智能手機安全嗎?

為何手機充滿電後,閒置時仍會迅速耗盡電量?本文從程式設計及用家的角度,探討應用程式的背景運作、不必要的權限及個人資料風險。

歷史文章:文中的產品說法、平台資料及時效建議尚未按現況核實。

Hands holding a blank-screen phone and pen beside a laptop
Photo: Pexels

重點摘要

下載應用程式前,應先了解其要求的權限,並衡量個人資料遭竊取的風險。這篇 2015 年文章說明背景執行緒如何耗電、不必要的權限為何令人質疑,以及 Google 與 Apple 審批方式的差異。

每次開機,您首先會使用哪個應用程式?Facebook?Whatsapp?還是查看電郵?一般而言,我們都會到 App Store 或 Google Play 下載心儀的應用程式,以完成自己想做的事情。時間久了,便會發現即使手機已充滿電,閒置時電量也會很快耗盡。此外,也有不少關於手機遭監聽或感染病毒的新聞,網上亦有不少教學建議機主將手機格式化及備份資料。有見及此,希望從程式設計及用家的角度分享一些心得。

1. 關機不一定代表完全停止運作,您永遠不知道應用程式在背景執行甚麼程式

在電腦世界中,於背景運行的程式稱為執行緒(Thread)。執行緒與主程式分開,獨立執行背景程式。只要在背景編寫回呼方法(callback method),便可以定期更新主頁。在 Android / iOS 中,有三種類型的執行緒:執行單一任務、重複執行某項任務,甚至持續使用某個後端類別(Backend Class)。

上述所有執行緒,若用家沒有透過設定停止其運作,或開啟應用程式堆疊(App Stack)將其滑走,手機便會很快耗盡電量。即使按照正常步驟離開應用程式,執行緒也未必會停止運作。

如果您有開發Android 應用程式的經驗,便會明白所有開機及關機程序,最初都是透過擷取按鈕事件來觸發。即使已離開某個應用程式,若開發者設計了執行緒,仍須由用家進入設定才能停止其運作。

黑客可以在關機流程中擷取按下及放開按鈕所觸發的事件,並執行執行緒以進行任何操作。如果您的手機已取得 root 權限,或 iPhone 已越獄,應用程式更可以竊取所有用戶資料,以及聯絡人名單中的電郵地址和電話號碼。

2. 要求過多不必要權限的應用程式,其安全性令人質疑

不少應用程式開發者,尤其專注於Android 開發的開發者,都會額外啟用數項權限,以便改良應用程式。這種情況在拍攝及手電筒應用程式中尤其嚴重:

只要稍加留意,便會知道開啟閃光燈與開啟 Wi-Fi、擷取用戶資料毫不相關。然而,用家心急時,往往沒有留意應用程式會要求手機上的哪些權限。此外,Google 與 Apple 在審批應用程式上架方面,處理方式亦大有不同。Google 只會掃描 APK 一次,檢查是否有明顯的木馬程式,以及內容是否符合要求,最快兩小時後便可成功上架;Apple 則需要數星期。提交截圖及文字描述後,整個審批過程均由人手進行。如果應用程式需要與其他電子設備通訊或配合使用,Apple 應用程式審核員更會要求開發者提交示範影片,讓其他人了解如何使用該應用程式。因此,一般人較容易相信iOS 應用程式比Android 應用程式安全。

由此可見,使用應用程式雖然方便,卻暗藏風險。下載應用程式前,請先停下來想一想:自己是否確實清楚了解其使用的權限,並已衡量個人資料遭竊取的風險。至於將資料存放於雲端是否安全,則留待日後有機會再談。

常見問題

為何手機閒置時仍會迅速耗盡電量?

文章指出,應用程式的執行緒可能持續在背景運作並消耗電量。即使按照正常步驟離開應用程式,這些執行緒也未必會停止。

為何不必要的應用程式權限令人關注?

與應用程式功能無關的權限要求,會令人質疑其安全性。文章以手電筒應用程式要求 Wi-Fi 或用戶資料存取權限為例。

文章指出取得 root 權限或將 iPhone 越獄有甚麼風險?

文章指出,手機取得 root 權限或 iPhone 越獄後,應用程式可以竊取用戶資料,包括聯絡人名單中的電郵地址及電話號碼。

文章如何描述 Google 與 Apple 的應用程式審批流程?

按文章的 2015 年背景,Google 只掃描 APK 一次,最快兩小時便可上架,而 Apple 的人手審批則需數星期。對於需要與其他電子設備通訊或配合使用的應用程式,Apple 審核員亦會要求提交示範影片。

下載應用程式前應考慮甚麼?

用家應清楚了解應用程式使用的權限,並衡量個人資料遭竊取的風險。

更多 AccordHK 文章。

AccordHK

把下一步化為實際行動。

與 AccordHK 探討軟件交付、人工智能工作流程或專題培訓。

✆