ES 파일 탐색기 앱에 백도어
CVE-2019-6447
구글 플레이 스토어에서 1억 건 이상의 설치 횟수와 높은 평점을 받고 있던 파일 관리 앱 ES File Explorer에서 항상 열려 있는 포트가 발견됐다. 이를 통해 아무 파일이나 읽을 수 있으며 앱을 시작할 수 있다. 현재 최신 버전인 4.1.9.7.4까지 취약점이 있으며, 개발사에서 패치를 곧 내놓을 예정이다.취약점은 local http 포트 59777이 항상 열려 있어서, 같은 네트워크 상에 있는 즉 동일한 와이파이에 접속해 있는 다른 사람이 별다른 인증 없이 접속할 수 있다는 것이다. 해당 포트는 앱을 실행하면 즉시 열리며, 앱을 종료해도 닫히지 않는다. 관련 백그라운드 프로세스를 모두 종료해야만 닫힌다.
이 포트를 통해 해커는 장치에 대한 세부 정보를 보고, 아무 파일이나 읽거나 가져갈 수 있으며, 앱을 구동할 수도 있다. 더 큰 문제는 사용자가 이 앱에 아무런 권한을 허용하지 않아도 이런 일이 가능하다고 한다.
이와는 별개로 중간자 공격(MItM, Man-In-the-Middle attack)이 가능한 취약점도 발견됐다. 이 앱이 사용하는 http 트래픽을 해커가 중간에서 엿보거나 변조할 수 있다.
이 2개의 취약점은 회사나 공공 와이파이 같은, 여러 사람이 같이 사용하는 네트워크에서 쉽게 악용될 수 있다.
많은 권한 요구하는 다기능 앱 주의
위 그림은 Google Play의 앱 설명에서 캡쳐한 것이다. 거의 모든 것을 할 수 있는 기능을 지원하는데, 이런 앱이 작동하려면 당연히 광범위하고 강력한 권한이 필요하다. 실제로 권한 요청 사항을 확인해 보면 무수한 권한을 요청하고 있다.
open port 취약점은 '원격 파일 관리자' 기능을 구현하는 과정에서 생겼을 것으로 생각된다. 그리고 개별적으로 권한을 부여하지 않아도 파일에 접근할 수 있는 것은 '루트 탐색기' 기능 때문에 가능하다고 생각된다.
일반적으로 루트 탐색기 기능은 루팅된 기기에서만 작동하는데, 시스템 파일을 포함한 모든 파일에 접근할 수 있기 때문에, 잘못 사용하면 기기에 문제를 일으킬 수 있다.
의도적인 악성코드?
참고한 기사에서는 앱에 어떠한 권한도 허용하지 않아도 취약점이 작동한다고 했는데, 이 부분은 표현의 오류라고 생각된다. 이런 다기능 앱은 설치시 관련 권한에 동의하지 않으면 제대로 작동할 수가 없다. 만약 사실이라면 안드로이드의 권한 상승 취약점을 이용하는, 다른 exploit code가 포함돼 있다는 뜻이다. 이것은 버그가 아니라 의도적인 해킹 툴임을 의미한다.이렇게 많은 권한을 요구하는 앱은, 의도적이든 실수든 보안상 큰 문제를 일으킬 수 있으므로 주의해야 한다.
참고 자료
댓글
댓글 쓰기