민감한 활동 보호

이 문서에서는 사용자 로그인 및 온라인 구매와 같은 민감한 활동을 모니터링하는 방법을 자세히 설명합니다.

FLAG_SECURE

FLAG_SECURE는 Android에 스크린샷을 허용하지 않거나 보안되지 않은 디스플레이 (예: 화면 전송)에 창 뷰를 표시하지 않도록 지시하는 창 플래그입니다. 이는 뱅킹 앱이나 비밀번호 관리자와 같이 민감한 정보를 보호해야 하는 애플리케이션에 유용합니다. 창에 FLAG_SECURE 플래그가 지정되면 Android는 스크린샷을 찍지 못하도록 하고 창이 TV나 프로젝터와 같은 보안되지 않은 디스플레이에 표시되지 않도록 합니다. 이를 통해 창에 표시되는 정보가 권한이 없는 사용자에게 액세스되지 않도록 보호할 수 있습니다.

사기 완화에 도움이 되는 방법

악성 앱 또는 악성 주체가 백그라운드 스크린샷을 가져올 수 있습니다. 앱의 상태가 백그라운드로 변경되면 FLAG_SECURE를 사용할 수 있습니다. 스크린샷을 찍으면 결과 이미지가 비어 있습니다.

FLAG_SECURE는 원격 화면 공유 사용 사례에도 도움이 됩니다. 스크린샷을 가져오는 앱이 항상 악성 앱인 것은 아닙니다. 합법적인 화면 공유 앱도 사기 상황에서 흔히 사용됩니다.

구현

보호하려는 정보가 포함된 뷰의 경우 다음을 추가합니다.

Kotlin

window?.setFlags(
    WindowManager.LayoutParams.FLAG_SECURE,
    WindowManager.LayoutParams.FLAG_SECURE
)

Java

window.setFlags(
  WindowManager.LayoutParams.FLAG_SECURE,
  WindowManager.LayoutParams.FLAG_SECURE
);

권장사항

이 방법은 오버레이 공격을 방지하는 데 신뢰할 수 없습니다. 화면 녹화가 활성 상태인지 올바르게 예측하지 못하는 경우도 있지만 대부분의 사용 사례를 지원합니다. 오버레이 공격을 완화하려면 HIDE_OVERLAY_WINDOWS 권한에 관한 다음 섹션을 참고하세요.

HIDE_OVERLAY_WINDOWS

HIDE_OVERLAY_WINDOWS는 Android 12에 추가된 권한으로, 앱이 애플리케이션 오버레이가 앱 위에 그려지지 않도록 선택할 수 있습니다. Android 12에서는 SYSTEM_ALERT_WINDOW 권한을 획득하기가 더 어려워져 앱이 서드 파티 앱의 오버레이를 차단할 수 있습니다.

사기 완화에 도움이 되는 방법

HIDE_OVERLAY_WINDOWS 권한을 사용 설정하면 앱 위에 애플리케이션 오버레이가 그려지지 않습니다. 이 권한은 은폐 및 단검 공격에 대한 보호 메커니즘을 제공합니다.

구현

이 권한을 사용 설정하려면 프로젝트의 매니페스트에 HIDE_OVERLAY_WINDOWS을 추가하세요.

권장사항

다른 권한과 마찬가지로 오버레이 앱은 기기의 다른 앱만큼 신뢰해야 합니다. 즉, 다른 앱이 신뢰할 수 있는지 알지 못하는 한 다른 앱이 앱 위에 오버레이를 그릴 수 있도록 허용해서는 안 됩니다. 앱이 다른 앱 위에 그릴 수 있도록 허용하면 비밀번호를 도용하거나 메시지를 읽을 수 있으므로 위험할 수 있습니다.