[보안뉴스 문가용 기자] 구글 클라우드 플랫폼(GCP)에서 보안 취약점이 하나 발견됐다. 이 취약점을 익스플로잇 할 경우 공격자들은 악성 애플리케이션을 피해자의 구글 계정에 심을 수 있게 된다. 이러한 악성 애플리케이션은 삭제가 되지도 않는다. 따라서 피해자의 구글 계정은 영원히 감염에서 벗어날 수 없게 된다.

[이미지 = utoimage]
문제의 취약점에는 고스트토큰(GhostToken)이라는 이름이 붙었다. 보안 업체 아스트릭스시큐리티(Astrix Security)가 처음 발견했다. “이 취약점을 통해 공격자는 피해자의 지메일 계정과 구글 드라이브, 구글 포토의 파일들에 접근할 수 있습니다. 또한 구글 캘린더에도 접근하여 피해자의 일상을 관찰하거나, 구글 맵스를 통해 사용자의 위치를 추적할 수 있습니다. 그리고 거기서부터 더 많은 추가 악성 행위를 실시할 수도 있습니다.”
피해자의 눈에는 보이지 않는 망령
GCP는 최종 사용자들을 위한 각종 앱들을 호스팅 할 수 있는 환경이다. GCP의 공식 앱 스토어도 존재하며, 사용자들은 여기서 쉽게 필요한 앱을 찾아 설치한다. 당연하지만 비공식 서드파티 앱 스토어들도 존재한다. 사용자가 이런 곳들로부터 앱을 다운로드 받아 설치하면, 해당 앱은 토큰을 부여 받고, 이 토큰을 통해 사용자의 구글 계정에도 접근할 수 있게 된다.
고스트토큰 취약점을 악용할 경우 사이버 공격자들은 악성 애플리케이션을 만들어 앱 스토어 중 하나에 심어둘 수 있게 된다. 당연하지만 정상적인 앱이나 서비스로 보이게끔 되어 있다. 여기에 속아 피해자가 공격자의 앱을 다운로드 받을 경우 공격자는 이 멀웨어를 통해 구글 계정들에 접근할 수 있게 된다. 게다가 구글 계정 애플리케이션 관리 페이지에는 공격자의 앱이 표시되지 않기 때문에 탐지하는 것도 어렵다. 일반 사용자들이 보기에는 존재하지 않는 앱이라고도 할 수 있다.
“일반 구글 사용자들이 자신들의 장비에 설치된 모든 앱들을 확인하는 유일한 곳이 바로 애플리케이션 관리 페이지입니다. 하지만 공격자들은 이 페이지를 통해 노출되는 정보를 감출 수 있지요. 그럼으로써 일반적인 방법으로 앱이 삭제되지 않게 할 수 있습니다. 거기에 분명히 존재하지만 보이지 않는, 일종의 유령처럼 활동할 수 있는 것이죠.” 아스트릭스 측의 설명이다.
아스트릭스의 연구원 이단 구어(Idan Gour)는 “GCP 환경에 공격자가 만든 임의의 앱을 퍼트릴 수 있게 해 주는 고스트토큰 취약점은 생각보다 큰 파장을 일으킬 수 있다”고 말한다. “GCP 환경에서 사용자들은 쉽게 앱을 설치했다가 지울 수 있습니다. 그러니 앱을 설치하고 사용할 때 회사의 허락을 일일이 받지 않는 사람이 많습니다. 이른 바 은둔의 IT(Shadow IT)이죠. 은둔의 IT가 보안에 있어 큰 문제가 될 수 있다는 지적은 진작부터 있어 왔습니다. 이 문제를 제대로 해결하지 않은 채 GCP를 도입했다면 고스트토큰 취약점은 마치 시한폭탄과 같은 존재가 될 겁니다.”
유령의 뒤를 쫓아
현재까지 고스트토큰에 대해 공개된 내용은 아직까지 그리 많지 않다. 다만 일부 공격 시나리오로 추정되는 행위들은 다음과 같다.
1) 피해자가 정상적으로 보이는 오오스(OAuth) 기반 애플리케이션을 승인하도록 속인다. 그러면 피해자의 구글 계정 토큰이 공격자에게 전달된다. 이 과정은 배경에서 이뤄지기 때문에 피해자는 수상한 점을 파악하기 힘들다.
2) 공격자들이 인증된 오오스 기반 애플리케이션들과 관련된 프로젝트를 삭제한다. 그러면 ‘삭제 중’ 상태로 돌입한다. 삭제가 된 것도 아니고 안 된 것도 아니기 때문에 해당 애플리케이션은 피해자의 ‘앱 목록’에 나타나지 않는다. 보이지 않는 앱이 된다.
3) 나중에 해당 애플리케이션의 프로젝트를 복구하면 새로운 토큰이 생성되고, 이를 통해 피해자의 정보에 접근할 수 있게 된다.
4) 일을 마친 공격자가 다시 프로젝트를 삭제하면 애플리케이션은 다시 ‘삭제 중’ 상태가 되고, 피해자의 눈에 보이지 않는 앱, 즉 유령이 된다.
대책 마련과 피해 줄이기
구글은 이번 달 초 이 취약점과 관련된 패치를 발행했다. ‘삭제 중’ 상태가 오랜 시간 지속되더라도 해당 앱이 앱 목록에 나타나도록 한 것이다. 하지만 아스트릭스 측은 “이번 패치는 고스트토큰의 미래 공격에 대한 방비책이지 과거 감염까지 해결해주지는 않는다”고 강조한다. “물론 패치를 적용하면 이미 설치된 멀웨어가 예전처럼 신출귀몰하게 작동하지는 못할 겁니다. 다만 그 멀웨어 자체가 삭제되는 건 아니죠. GCP를 사용하는 관리자들은 사용자들의 엔드포인트에서 계속해서 멀웨어를 찾아내 삭제해야 합니다.”
그 방법에 대하여 아스트릭스는 다음 두 가지 방법을 권장한다.
1) 클라이언트 ID가 displayText 필드와 같은 값을 가지고 있는 애플리케이션을 찾는다. 그런 애플리케이션이 있다면 악성 여부를 분석하고, 접근 권한을 차단한다.
2) 오오스 로그 이벤트를 점검한다. 특히 Audit and Investigation 기능을 중심으로 토큰 관련 활동을 점검하는 게 핵심이다.
3줄 요약
1. 구글 클라우드 플랫폼에서 발견된 고스트토큰 취약점.
2. 공격자가 만든 앱을 피해자가 열람할 수 없게 만듦.
3. 구글이 패치를 배포했지만 그 전에 설치된 멀웨어를 알아서 지워주지는 않음.
[국제부 문가용 기자(globoan@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>