利用 FLAG_SECURE 及 REQUIRE_SECURE_ENV 安全標記保護應用程式免受濫用

對於確保應用程式和使用者安全,Google Play 開發人員的角色尤其重要。隨著社交工程濫用情況日漸頻繁,當中弱勢社群更成為重點目標,因此我們比以往更需要積極採取不同措施,以保護使用者和應用程式的完整性。

本文概述兩個實用的 Android 和 Play 安全標記,以助你加強應用程式保安:FLAG_SECUREREQUIRE_SECURE_ENV。你可以透過瞭解並有效運用這些標記,協助打擊這些有針對性的濫用行為,進一步保障應用程式的生態系統。

FLAG_SECURE

FLAG_SECURE 會向系統表明你的應用程式預期在更安全的環境執行,以減少潛在漏洞、監控和攻擊。這是應用程式程式碼中聲明的顯示標記,用於表明使用者介面包含敏感資料,且這些資料只限在使用應用程式時透過安全平台使用。同時,此標記亦向其他應用程式和服務表明有關資料不應在螢幕截圖中顯示或透過不安全的裝置查看。當應用程式內容不應在應用程式或使用者裝置以外廣播、查看或以其他方式傳輸,開發人員會聲明此標記。舉例而言,如果應用程式的畫面包含敏感資料,而會在第三方 (如遙距支援應用程式) 查看時出現安全風險,FLAG_SECURE 便可用於聲明資料的敏感度,以協助提供安全環境。基於安全和私隱理由,所有在 Google Play 發佈的應用程式均需要遵守 FLAG_SECURE,即不得助長或建立應變方法來繞過其他應用程式的標記設定。

REQUIRE_SECURE_ENV

由於年長和其他弱勢社群較容易受操縱和欺騙,因此針對這些社群的社交工程攻擊特別令人關注。這類攻擊通常誘騙使用者透露密碼或財務資料等敏感資料,或者下載惡意內容。

你可採用 FLAG_SECUREREQUIRE_SECURE_ENV 標記,減少應用程式內出現社交工程攻擊。你可分開或同時使用這些標記,以防範攻擊者通常利用的漏洞,阻止他們取得使用者個人和敏感資料或裝置存取權。

保護年長使用者和弱勢社群免受社交工程濫用行威脅

由於年長和其他弱勢社群較容易受操縱和欺騙,因此針對這些社群的社交工程攻擊特別令人關注。這類攻擊通常誘騙使用者透露密碼或財務資料等敏感資料,或者下載惡意內容。

你可採用 FLAG_SECUREREQUIRE_SECURE_ENV 標記,減少應用程式內出現社交工程攻擊。你可分開或同時使用這些標記,以防範攻擊者通常利用的漏洞,阻止他們取得使用者個人和敏感資料或裝置存取權。

其他保護措施

除了使用安全標記外,你亦可考慮採取以下額外措施以保護使用者免受社交工程濫用行為威脅:

  • 向使用者介紹社交工程手法:在應用程式中提供清晰簡潔的提醒,請使用者留意常見的社交工技巧,例如仿冒詐騙和虛假支援來電等。
  • 採取安全驗證機制:使用雙重認證等有效的驗證方法,以防範他人未經授權存取使用者帳戶。
  • 定期更新應用程式:為應用程式安裝最新安全性修補程式和修正錯誤,以堵截任何攻擊者可能會利用的潛在漏洞。

合作和持續教育

遏止濫用行為和保護使用者有賴開發人員、Google Play 和廣大安全社群持續攜手合作。你可參閱我們的「安全 (Safety & Security)」網誌,以掌握安全方面的最佳做法。

只要我們攜手合作,便可為所有使用者創造更安全可靠的 Android 生態系統。

常見問題

按一下以展開或收合以下問題。

使用這些標記會為我的應用程式帶來負面影響嗎?採用標記的程序需時多久?

這些標記專為加強安全保障和私隱而設,不會降低應用程式效能。然而,如果你的應用程式非常依賴分享螢幕截圖或螢幕錄影的功能,設定 FLAG_SECURE 標記可能會令使用者無法在特定頁面擷取影像內容,因此平衡安全需要和使用者體驗十分重要。此外,部分第三方應用程式的自訂功能或擴充程式可能依賴螢幕截圖方法,因此亦可能受這些標記影響。如果你的應用程式整合這類工具,建議先測試是否與標記兼容。

一般而言,採用標記程序快速直接,通常只需在想套用標記的相關頁面或活動加入幾行程式碼。有關程序實際所需時間因應用程式的複雜性和涉及的頁面數量而異。

FLAG_SECURE 和 REQUIRE_SECURE_ENV 標記有何分別?

FLAG_SECURE 是視窗級別的標記。設定此標記即表示系統會視有關視窗的內容為安全,防止有關內容在螢幕截圖中顯示或透過不安全的裝置查看。另一方面,REQUIRE_SECURE_ENV 會向其他應用程式表明你的應用程式必須在安全的環境中執行。FLAG_SECUREREQUIRE_SECURE_ENV 均為安全標記,可用於保護 Android 應用程式/使用者免受濫用和攻擊。

有什麼 FLAG_SECURE 正常運作的例子?

銀行應用程式在登入畫面使用 FLAG_SECURE 時,會建立特別的視窗保護使用者登入憑證等敏感資料。一般而言,這類保護措施可協助防止視窗內容在不安全的裝置顯示,或防止系統於螢幕截圖、錄影或遙距檢視時擷取有關內容。因此,你在不安全的裝置查看內容時,可能只會看到空白區域,而不會看到使用者的登入資料。

哪些類型的應用程式可以使用 FLAG_SECURE 和 REQUIRE_SECURE_ENV 標記?

可能會使用這些標記的應用程式例子包括:需要處理財務資料等使用者個人和敏感資料的應用程式。銀行應用程式是其中一些使用 FLAG_SECURE 標記的常見例子。目標對象為長者或弱勢社群的應用程式特別容易被濫用,因此亦應考慮使用 REQUIRE_SECURE_ENV 標記。

使用這些標記會為我的應用程式帶來負面影響嗎?採用標記的程序需時多久?

如要採用 FLAG_SECURE 標記,請在 AndroidManifest.xml 檔案加入以下程式碼:

XML

<activity android:name=".MyActivity"
          android:exported="true"
          android:windowSoftInputMode="adjustPan">
  <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
  </intent-filter>
</activity>

如要採用 REQUIRE_SECURE_ENV 標記,請在 AndroidManifest.xml 檔案加入以下程式碼:

XML

<manifest ...>
  <application ...>
        …

    <property android:name="REQUIRE_SECURE_ENV" android:value="1" />

    …


  •   </application>
    </manifest>

此內容對您有幫助嗎?

我們可以如何改善?

需要更多協助?

嘗試以下步驟:

搜尋
清除搜尋
閂搜尋模式
主選單
14205002706603059472
true
搜尋說明中心
true
true
true
true
true
92637
false
false