보안정보

Android Cloak & Dagger 취약점

침해사고분석팀 2017.06.07

1.개요

 Georgia 공대의 연구원들이 안드로이드의 거의 모든 버전에 영향을 미치는 새로운 공격 벡터에 대한 보고서를 발표하였다. 해당 결함은 안드로이드에서 사용되는 두가지 권한의 조합으로 작동되는데 OS 자체의 결함이 아니며 설계상의 문제이기 떄문에 버그 수정에 상당한 시간이 소요되고 있다. 공격명대로 은밀하게 백그라운드에서 작동하기 때문에 희생자는 공격을 당하고 있는지 알아채기 힘들다.

 

2.확인 내역

해당 취약점이 작동하긴 위해서 아래 두 가지의 안드로이드 권한이 필요하다.

 


SYSTEM_ALERT_WINDOW ("draw on top")

하나의 앱이 다른 앱과 기기의 화면에서 겹칠 수 있는 오버레이 권한.


BIND_ACCESSIBILITY_SERVICE ("a11y")

장애가 있는 사용자들에게 음성 명령 및 화면 판독기 기능을 사용하여 콘텐츠를 들을 수 있게 하는 권한.


 

 위 두가지 권한은 안드로이등 5.x 이전의 경우에는 설치시에 권한 목록에 표시가 되지만 그 이후 버전(6.x)은 설치시에 사용자에게 권한 목록이 표시되지 않는다. 구글 측에서 해당 권한은 수억명이상이 사용하는 앱에 요청이 되는 기능이기 떄문에 자동적으로 권한이 부여되게 설정하였다.

 

희생자가 취약점이 트리거되는 앱을 설치하게 되면 아래와 같은 다양한 활동을 수행할 수 있다.


-클릭 재킹 공격

-키스트록 기록

-피싱 공격(사용자는 알기 어려움)

-God-mode app의 설치 (모든 권한이 활성화 된 상태, 사용자는 알기 어려움)

-은밀하게 폰 잠금을 해제하고 임의의 행동 수행(화면이 꺼진 상태에서)


*4.참고 부분에 시연영상 참조

3.대응 방안

3.1 Draw on Top 기능 설정(v 6.0.1 기준)

설정 -> 어플리케이션 관리 -> 우측 상단 설정 -> 다른 앱 위에 표시되는 앱

해당기능이 허용되는 앱 확인

 

3.2 a11y 기능 설정

설정 -> 접근성 -> 서비스 부분

해당 기능을 사용중인 앱 확인

 

 참고로 해당 취약점은 앞서 언급했다시피 설계와 관련된 문제이므로 수정하는데 더 많은 시간을 필요로 하고 UI관련문제이기 때문에 이전 버전과의 호환성 문제 또한 존재한다. 따라서 현재까지는 설정에 따른 대응방안 뿐이며 버그 중 일부는 "수정하지 않는 것"으로 표기되어 고쳐지지 않을 수도 있다.

 

4.참고

http://cloak-and-dagger.org/#Disclosure

 

*시연 영상

https://youtu.be/NceNhsu87iA
https://youtu.be/RYQ1i03OVpI
https://youtu.be/oGKYHavKZ24