보안 플래그 FLAG_SECURE 및 REQUIRE_SECURE_ENV로 앱을 보호하고 악용 방지하기

Google Play 개발자는 앱과 사용자의 안전 및 보안을 보장하는 데 중요한 역할을 합니다. 특히 취약한 사용자를 타겟팅하는 소셜 엔지니어링 악용 캠페인이 증가함에 따라 사용자와 앱의 무결성을 보호하기 위한 사전 조치를 취하는 것이 그 어느 때보다 중요합니다.

이 도움말에서는 앱의 보안을 강화할 수 있는 두 가지 유용한 Android 및 Play 보안 플래그(FLAG_SECUREREQUIRE_SECURE_ENV)에 대해 간략히 설명합니다. 이러한 플래그를 이해하고 효과적으로 활용하면 타겟팅 악용을 방지하고 앱 생태계를 더욱 안전하게 보호할 수 있습니다.

FLAG_SECURE

FLAG_SECURE는 앱이 더 안전한 환경에서 실행되어 잠재적인 취약점, 모니터링, 공격을 완화한다는 것을 나타냅니다. 앱의 코드에 선언된 디스플레이 플래그로, 앱을 사용하는 동안 안전한 경로에서만 제한적으로 표시하고자 하는 민감한 정보가 UI에 포함되어 있음을 나타냅니다. 데이터가 스크린샷 또는 보안되지 않은 디스플레이에 표시되어서는 안 된다는 신호를 다른 앱 및 서비스에 보냅니다. 앱 콘텐츠를 앱 또는 사용자 기기 외부로 브로드캐스트 또는 다른 방식으로 전송하거나 외부에서 이를 확인해서는 안 되는 경우 개발자는 이 플래그를 선언합니다. 예를 들어 앱의 화면에 원격 지원 앱과 같이 서드 파티가 보게 되면 보안 위험이 발생할 수 있는 민감한 정보가 포함되어 있는 경우 FLAG_SECURE를 사용하여 민감도를 선언하고 안전한 환경을 제공할 수 있습니다. 보안 및 개인 정보 보호를 위해 Google Play에서 배포되는 모든 앱은 FLAG_SECURE를 존중해야 합니다. 즉, 다른 앱의 플래그 설정을 우회하기 위한 방법을 지원하거나 만들지 않아야 합니다.

REQUIRE_SECURE_ENV

소셜 엔지니어링 공격은 특히 조작과 속임수에 더 취약한 노인 인구 및 기타 취약 계층에 대한 우려를 낳고 있습니다. 이러한 공격은 일반적으로 사용자를 속여 비밀번호나 금융 세부정보와 같은 민감한 정보를 유출하게 하거나 악성 콘텐츠를 다운로드하도록 유도하는 방식으로 이루어집니다.

FLAG_SECUREREQUIRE_SECURE_ENV 플래그를 구현하여 앱 내에서 소셜 엔지니어링 공격을 완화할 수 있습니다. 이러한 플래그를 독립적으로 또는 동시에 사용하면 공격자가 개인 정보 및 민감한 사용자 데이터 또는 기기에 액세스하기 위해 자주 악용하는 취약점으로부터 보호할 수 있습니다.

소셜 엔지니어링 악용으로부터 노년층 사용자 및 취약 계층 보호

소셜 엔지니어링 공격은 특히 조작과 속임수에 더 취약한 노인 인구 및 기타 취약 계층에 대한 우려를 낳고 있습니다. 이러한 공격은 일반적으로 사용자를 속여 비밀번호나 금융 세부정보와 같은 민감한 정보를 유출하게 하거나 악성 콘텐츠를 다운로드하도록 유도하는 방식으로 이루어집니다.

FLAG_SECUREREQUIRE_SECURE_ENV 플래그를 구현하여 앱 내에서 소셜 엔지니어링 공격을 완화할 수 있습니다. 이러한 플래그를 독립적으로 또는 동시에 사용하면 공격자가 개인 정보 및 민감한 사용자 데이터 또는 기기에 액세스하기 위해 자주 악용하는 취약점으로부터 보호할 수 있습니다.

추가 보호 조치

보안 플래그를 활용하는 것 외에도 소셜 엔지니어링 악용으로부터 사용자를 보호하기 위해 다음과 같은 추가 조치를 고려해 보세요.

  • 사용자에게 소셜 엔지니어링 전략 안내: 피싱 사기 및 가짜 지원 전화와 같은 일반적인 소셜 엔지니어링 기술에 관한 명확하고 간결한 경고를 앱 내에 제공합니다.
  • 안전한 인증 메커니즘 구현: 2단계 인증과 같은 강력한 인증 방법을 사용하여 사용자 계정에 대한 무단 액세스를 방지합니다.
  • 앱 정기 업데이트: 최신 보안 패치 및 버그 수정을 통해 앱을 최신 상태로 유지하여 공격자가 악용할 수 있는 잠재적 취약점을 해결합니다.

공동작업 및 지속적인 교육

악용 사례를 근절하고 사용자를 보호하는 것은 개발자, Google Play, 광범위한 보안 커뮤니티 간의 협력이 필요한 지속적인 과정입니다. Google의 안전 및 보안 블로그에서 보안 권장사항에 대한 최신 정보를 확인하세요.

협력을 통해 모든 사용자를 위해 더 안전하고 신뢰할 수 있는 Android 생태계를 만들 수 있습니다.

자주 묻는 질문(FAQ)

아래 섹션을 클릭하여 펼치거나 접을 수 있습니다.

이러한 플래그를 사용하면 앱에 부정적인 영향을 미치나요? 구현하는 데 시간이 얼마나 걸리나요?

이러한 앱은 성능을 저해하지 않고 보안과 개인 정보 보호를 강화하도록 설계되었습니다. 하지만 앱 기능이 스크린샷이나 화면 녹화 공유에 크게 의존하는 경우 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>

도움이 되었나요?

어떻게 하면 개선할 수 있을까요?

도움이 더 필요하신가요?

다음 단계를 시도해 보세요.

검색
검색어 지우기
검색 닫기
기본 메뉴
15261786821741404253
true
도움말 센터 검색
true
true
true
true
true
92637
false
false