효투의 세상 로딩중...
효투의 세상 로딩중...
반응형

 

백그라운드 화면 보호 취약점은 개인정보 페이지나 기타 중요정보가 보이는 페이지에서

앱을 백그라운드로 전환했을 때 앱의 화면이 보이나 안보이나를 판단한다.

앱이 백그라운드로 전환될 때 스냅샷이 촬영되는데 해당 스냅샷도 확인하면 더욱 좋다.

 

대응방안은 FLAG_SECURE를 사용하는 것이다

예시 코드는 아래와 같다

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
    }

    @Override
    protected void onPause() {
        super.onPause();

        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SECURE);
    }
}

 

앱이 포그라운드에서 실행중일 때 onCreate에서 getWindow().addFlags에서 FLAG_SECURE라는 플래그값을 설정한다

그리고  백그라운드로 전환될 때는 onPause가 호출되며  clearFlags로 FLAG_SECURE를 삭제한다.

플래그가 삭제되면 화면이 가려지게되고 설정되면 화면이 표시된다.

 

앱 분석 코드로 스말리코드를 보면 아래와 같다

setFlags(8192, 8192); 코드가 백그라운드 시 화면을 가려지게하는 플래그 값인데 FLAG_SECURE와 동일하다

 

그래서 실제로 앱을 백그라운드에서 보게되면 화면이 안보인다

 

FLAG값을 화면이 잠기지않도록 수정 하면 앱화면이 표시된다.

 

 

반응형
  • hyotwo7658@gmail.com

복사 완료 👍