이 문서에서는 사용자 로그인 및 온라인 구매와 같은 민감한 활동을 모니터링하는 방법을 자세히 설명합니다.
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
을 추가하세요.
권장사항
다른 권한과 마찬가지로 오버레이 앱은 기기의 다른 앱만큼 신뢰해야 합니다. 즉, 다른 앱이 신뢰할 수 있는지 알지 못하는 한 다른 앱이 앱 위에 오버레이를 그릴 수 있도록 허용해서는 안 됩니다. 앱이 다른 앱 위에 그릴 수 있도록 허용하면 비밀번호를 도용하거나 메시지를 읽을 수 있으므로 위험할 수 있습니다.