Bảo vệ ứng dụng của bạn và chống lại hành vi sai trái bằng cờ bảo mật FLAG_SECURE và REQUIRE_SECURE_ENV

Là một nhà phát triển trên Google Play, bạn đóng vai trò quan trọng trong việc đảm bảo an toàn và bảo mật cho ứng dụng của bạn cũng như người dùng ứng dụng đó. Với sự gia tăng của các chiến dịch tấn công phi kỹ thuật, đặc biệt là nhắm đến những nhóm dễ bị tấn công, bạn cần phải chủ động thực hiện các biện pháp để bảo vệ người dùng và tính toàn vẹn của ứng dụng.

Bài viết này cung cấp thông tin tổng quan về hai cờ bảo mật hữu ích của Android và Play có thể giúp tăng cường bảo mật cho ứng dụng của bạn: FLAG_SECUREREQUIRE_SECURE_ENV. Bằng cách hiểu rõ và sử dụng hiệu quả những cờ này, bạn có thể góp phần chống lại hành vi bất chính có chủ đích và bảo vệ cho hệ sinh thái của ứng dụng của mình vững chắc hơn nữa.

FLAG_SECURE

FLAG_SECURE báo hiệu rằng ứng dụng của bạn cần được chạy trong một môi trường an toàn hơn, giảm thiểu các hoạt động theo dõi, lỗ hổng bảo mật và các cuộc tấn công tiềm ẩn. Đây là một cờ hiển thị được khai báo trong mã nguồn của ứng dụng để cho biết rằng giao diện người dùng của ứng dụng có chứa dữ liệu nhạy cảm và dữ liệu nhạy cảm này sẽ bị giới hạn ở một vùng bảo mật trong khi dùng ứng dụng. Cờ này báo hiệu cho các ứng dụng và dịch vụ khác rằng dữ liệu này không được xuất hiện trong ảnh chụp màn hình hoặc xem trên vùng hiển thị không bảo mật. Các nhà phát triển khai báo cờ này khi nội dung của ứng dụng là nội dung không được phát, xem hoặc truyền ra bên ngoài ứng dụng hoặc thiết bị của người dùng. Ví dụ: nếu một màn hình trong ứng dụng của bạn có chứa dữ liệu nhạy cảm có thể gây rủi ro bảo mật nếu bên thứ ba có thể xem được (chẳng hạn như ứng dụng hỗ trợ từ xa), thì FLAG_SECURE là một cách khai báo mức độ nhạy cảm đó và giúp mang lại một môi trường bảo mật.  Vì mục đích bảo mật và quyền riêng tư, tất cả ứng dụng phân phối trên Google Play đều phải tôn trọng FLAG_SECURE – tức là không được tạo điều kiện hoặc tìm cách bỏ qua chế độ cài đặt cờ này trong các ứng dụng khác.

REQUIRE_SECURE_ENV

Các cuộc tấn công phi kỹ thuật đặc biệt đáng lo ngại đối với người cao tuổi và các nhóm dễ bị tấn công khác, những người có khả năng dễ bị thao túng và lừa dối hơn. Các cuộc tấn công này thường đánh lừa người dùng khiến họ tiết lộ thông tin nhạy cảm (chẳng hạn như mật khẩu hoặc thông tin tài chính), hoặc tải nội dung độc hại.

Bằng cách triển khai cờ FLAG_SECUREREQUIRE_SECURE_ENV, bạn có thể góp phần giảm thiểu các cuộc tấn công phi kỹ thuật trong ứng dụng của mình. Những cờ này, cho dù được sử dụng riêng lẻ hay đồng thời, đều có thể giúp bảo vệ khỏi những lỗ hổng mà các kẻ tấn công thường khai thác để truy cập vào thiết bị hoặc dữ liệu riêng tư và nhạy cảm của người dùng.

Bảo vệ người dùng lớn tuổi và nhóm người dễ bị tấn công khỏi hành vi tấn công phi kỹ thuật

Các cuộc tấn công phi kỹ thuật đặc biệt đáng lo ngại đối với người cao tuổi và các nhóm dễ bị tấn công khác, những người có khả năng dễ bị thao túng và lừa dối hơn. Các cuộc tấn công này thường đánh lừa người dùng khiến họ tiết lộ thông tin nhạy cảm (chẳng hạn như mật khẩu hoặc thông tin tài chính), hoặc tải nội dung độc hại.

Bằng cách triển khai cờ FLAG_SECUREREQUIRE_SECURE_ENV, bạn có thể góp phần giảm thiểu các cuộc tấn công phi kỹ thuật trong ứng dụng của mình. Những cờ này, cho dù được sử dụng riêng lẻ hay đồng thời, đều có thể giúp bảo vệ khỏi những lỗ hổng mà các kẻ tấn công thường khai thác để truy cập vào thiết bị hoặc dữ liệu riêng tư và nhạy cảm của người dùng.

Những biện pháp bảo vệ khác

Ngoài việc sử dụng cờ bảo mật, hãy cân nhắc kết hợp các biện pháp bổ sung sau đây để giúp bảo vệ người dùng khỏi hành vi tấn công phi kỹ thuật:

  • Giải thích cho người dùng về chiến thuật tấn công phi kỹ thuật: Đưa ra những cảnh báo rõ ràng và súc tích trong ứng dụng của bạn về các kỹ thuật tấn công phi kỹ thuật phổ biến, chẳng hạn như các thủ đoạn lừa đảo và cuộc gọi hỗ trợ giả mạo.
  • Triển khai cơ chế xác thực bảo mật: Sử dụng những phương thức xác thực mạnh mẽ (chẳng hạn như xác thực hai yếu tố), để ngăn chặn hành vi truy cập trái phép vào tài khoản người dùng.
  • Thường xuyên cập nhật ứng dụng: Cập nhật ứng dụng của bạn bằng các bản vá bảo mật và bản sửa lỗi mới nhất để xử lý mọi lỗ hổng bảo mật có thể bị kẻ tấn công khai thác.

Duy trì việc hợp tác và hướng dẫn người dùng

Việc chống lại hành vi sai trái và bảo vệ người dùng là một quá trình liên tục, đòi hỏi sự hợp tác giữa các nhà phát triển, Google Play và toàn thể cộng đồng bảo mật. Nắm bắt các phương pháp hay nhất về bảo mật bằng cách đọc blog về An toàn và bảo mật của chúng tôi.

Bằng cách cùng nhau hợp tác, chúng ta có thể tạo ra một hệ sinh thái Android an toàn và đáng tin cậy hơn cho tất cả người dùng.

Câu hỏi thường gặp

Nhấp vào từng câu hỏi dưới đây để mở rộng hoặc thu gọn nội dung tương ứng.

Việc sử dụng những cờ này có làm thay đổi ứng dụng của tôi theo hướng tiêu cực không? Quá trình triển khai sẽ cần bao lâu?

Những cờ này được thiết kế để tăng cường tính bảo mật và quyền riêng tư chứ không cản trở hiệu suất. Tuy nhiên, nếu tính năng trong ứng dụng của bạn chủ yếu phụ thuộc vào việc chia sẻ ảnh chụp màn hình hoặc bản ghi màn hình, thì việc thiết lập FLAG_SECURE có thể ngăn người dùng chụp/ghi hình ảnh trên những trang cụ thể đó. Trong trường hợp như vậy, bạn cần cân bằng giữa nhu cầu bảo mật và trải nghiệm người dùng. Ngoài ra, một số tiện ích hoặc chế độ tuỳ chỉnh của bên thứ ba cần sử dụng phương thức chụp ảnh màn hình có thể bị ảnh hưởng bởi những cờ này. Nếu ứng dụng của bạn có tích hợp những công cụ như vậy, bạn nên kiểm thử khả năng tương thích.

Quá trình triển khai thường diễn ra nhanh chóng và đơn giản. Bạn chỉ cần thêm một vài dòng mã vào những trang hoặc hoạt động có liên quan nơi bạn muốn áp dụng những cờ này. Thời gian chính xác phụ thuộc vào độ phức tạp của ứng dụng và số lượng trang có liên quan.

Có gì khác biệt giữa cờ FLAG_SECURE và cờ REQUIRE_SECURE_ENV?

FLAG_SECURE là một cờ ở cấp cửa sổ. Khi được đặt, cờ này cho biết rằng nội dung trong cửa sổ được bảo mật, ngăn nội dung đó xuất hiện trong ảnh chụp màn hình hoặc được xem trên màn hình không bảo mật. Còn REQUIRE_SECURE_ENV thì báo hiệu cho các ứng dụng khác rằng ứng dụng của bạn phải chạy trong một môi trường bảo mật. Cả FLAG_SECUREREQUIRE_SECURE_ENV đều là cờ bảo mật có thể dùng để bảo vệ ứng dụng/người dùng Android khỏi hành vi bất chính và các cuộc tấn công.

Ví dụ về cách thiết lập để FLAG_SECURE hoạt động như mong muốn?

Khi một ứng dụng ngân hàng sử dụng FLAG_SECURE trên màn hình đăng nhập, ứng dụng đó sẽ tạo một cửa sổ đặc biệt để bảo vệ thông tin nhạy cảm như thông tin đăng nhập của người dùng. Theo nguyên tắc chung, biện pháp bảo vệ này giúp ngăn nội dung trong cửa sổ đó xuất hiện trên màn hình không bảo mật cũng như ngăn bị chụp ảnh màn hình, ghi lại hoặc xem từ xa. Vì vậy, thay vì thấy thông tin đăng nhập của người dùng, có thể bạn chỉ thấy một vùng trống trên các loại màn hình đó.

Những loại ứng dụng nào có thể sử dụng cờ FLAG_SECURE và REQUIRE_SECURE_ENV?

Ứng dụng xử lý dữ liệu cá nhân và nhạy cảm của người dùng (chẳng hạn như thông tin tài chính) là loại ứng dụng có thể sử dụng những cờ này. Ứng dụng ngân hàng là loại ứng dụng thường sử dụng FLAG_SECURE. Ứng dụng đặc biệt dễ bị lợi dụng (chẳng hạn như ứng dụng nhắm đến người lớn tuổi hoặc nhóm người dễ bị tấn công) cũng nên cân nhắc việc sử dụng cờ REQUIRE_SECURE_ENV.

Việc sử dụng những cờ này có làm thay đổi ứng dụng của tôi theo hướng tiêu cực không? Quá trình triển khai sẽ cần bao lâu?

Để triển khai cờ FLAG_SECURE, hãy thêm dòng sau vào tệp AndroidManifest.xml của bạn:

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>

Để triển khai cờ REQUIRE_SECURE_ENV, hãy thêm dòng sau vào tệp AndroidManifest.xml của bạn:

XML

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

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

    …


  •   </application>
    </manifest>

Thông tin này có hữu ích không?

Chúng tôi có thể cải thiện trang này bằng cách nào?

Bạn cần trợ giúp thêm?

Hãy thử các bước tiếp theo sau:

Tìm kiếm
Xóa nội dung tìm kiếm
Đóng tìm kiếm
Trình đơn chính
17007250212177744715
true
Tìm kiếm trong Trung tâm trợ giúp
true
true
true
true
true
92637
false
false