새로운 안드로이드 취약점이 보안 업계를 긴장시키고 있으며, 여러분의 안드로이드 폰을 극도로 위험한 상황에 빠뜨릴 수 있습니다. 문제는 미디어 재생에 사용되는 '스테이지프라이트(StageFright)'라는 평범해 보이는 안드로이드 모듈에 존재하는 6개의 버그에서 비롯됩니다.
스테이지프라이트 취약점을 이용하면 해커가 보낸 악성 MMS가 해당 모듈 내부에서 악성 코드를 실행할 수 있습니다. 그 후 코드는 기기를 장악하기 위한 다양한 경로를 활용할 수 있습니다. 현재 기준으로 약 9억 5천만 대의 기기가 이 공격에 노출되어 있습니다.
간단히 말해, 역사상 최악의 안드로이드 취약점입니다.
조용한 기기 장악
안드로이드 사용자들은 이미 이 보안 사건에 분노하고 있으며, 그럴 만한 이유가 충분합니다. 뉴스가 인터넷에 퍼지면서 트위터에는 격분한 사용자들이 속속 등장하고 있습니다.
이 공격이 무서운 이유 중 하나는 사용자가 스스로를 지킬 방법이 거의 없다는 점입니다. 아마도 공격이 이미 발생했는지조차 알아차리지 못할 것입니다.
일반적으로 안드로이드 기기를 공격하려면 사용자가 악성 앱을 설치하도록 유도해야 합니다. 하지만 이번 공격은 다릅니다. 공격자는 여러분의 전화번호만 알면 되고, 악성 멀티미디어 메시지(MMS) 한 통만 보내면 됩니다.
사용하는 메시지 앱에 따라서는 메시지가 도착했다는 사실 자체를 모를 수도 있습니다. 예를 들어 MMS가 구글 행아웃(Google Hangouts)을 통해 처리된다면, 시스템이 메시지 도착을 사용자에게 알리기도 전에 악성 메시지가 먼저 제어권을 가로채고 스스로를 숨겨버립니다. 다른 경우에는 메시지를 실제로 열어봐야 공격이 실행되지만, 대부분의 사용자는 이를 무해한 스팸 문자나 잘못 온 메시지 정도로 치부해버릴 것입니다.
시스템 내부에 들어간 코드는 스테이지프라이트 안에서 실행되기 때문에 카메라와 마이크, 블루투스 주변기기, SD 카드에 저장된 모든 데이터에 자동으로 접근할 수 있습니다. 이것만으로도 충분히 심각하지만, 불행하게도 이것은 시작에 불과합니다.
안드로이드 롤리팝(Lollipop)은 여러 보안 개선 사항을 도입했지만, 대부분의 안드로이드 기기는 여전히 구버전 OS를 실행 중이며 '권한 상승 공격(privilege escalation attack)'에 취약합니다. 원래 안드로이드 앱은 '샌드박스(sandbox)' 방식으로 격리되어 명시적으로 허용된 OS 기능에만 접근할 수 있습니다. 그러나 권한 상승 공격은 악성 코드가 안드로이드 운영체제를 속여 점점 더 많은 권한을 넘겨받도록 만듭니다.
악성 MMS가 스테이지프라이트를 장악한 뒤에는 이러한 공격 기법을 통해 구형·비보호 안드로이드 기기를 완전히 제어할 수 있습니다. 기기 보안 관점에서 이것은 악몽과 같은 시나리오입니다. 이 문제에서 완전히 자유로운 기기는 안드로이드 2.2(프로요)보다 오래된 OS를 실행하는 기기뿐인데, 아이러니하게도 프로요야말로 스테이지프라이트가 처음 도입된 버전입니다.
느린 대응
스테이지프라이트 취약점은 보안 연구 그룹 짐페리움 zLabs(Zimperium zLabs)가 지난 4월 처음 발견했습니다. 연구진은 구글에 이 문제를 보고했고, 구글은 신속하게 제조사들에게 패치를 배포했습니다. 하지만 실제로 자사 기기에 패치를 적용한 제조사는 극소수에 불과합니다. 버그를 발견한 연구원 조슈아 드레이크(Joshua Drake)는 유통 중인 약 10억 대의 안드로이드 기기 중 약 9억 5천만 대가 어떤 형태로든 이 공격에 취약하다고 보고 있습니다.
드레이크에 따르면 넥서스 6 같은 구글 자사 기기도 부분적으로만 패치되었으며, 일부 취약점은 여전히 남아 있습니다. 이와 관련해 구글은 포브스(FORBES)에 보낸 이메일에서 사용자들을 안심시키며 다음과 같이 말했습니다.
"대부분의 안드로이드 기기, 특히 최신 기기들은 공격 난이도를 높이기 위해 설계된 여러 보안 기술을 갖추고 있습니다. 또한 안드로이드 기기에는 사용자 데이터와 기기 내 다른 앱을 보호하기 위한 애플리케이션 샌드박스가 포함되어 있습니다."
그러나 이런 설명은 큰 위로가 되지 못합니다. 안드로이드 젤리빈(Jellybean) 이전까지 안드로이드의 샌드박싱은 상대적으로 허술했으며, 이를 우회할 수 있는 것으로 알려진 익스플로잇도 여럿 존재합니다. 따라서 제조사들이 이 문제에 대한 제대로 된 패치를 신속히 배포하는 것이 무엇보다 중요합니다.
우리가 할 수 있는 일은?
아쉽게도 하드웨어 제조사들은 이런 종류의 중요 보안 패치 배포에 매우 더딘 모습을 보이곤 합니다. 자신이 사용하는 기기 제조사의 고객 지원 부서에 연락해 패치 제공 예정 시점을 문의해볼 가치는 충분합니다. 대중의 압력이 상황을 앞당기는 데 도움이 될 가능성이 큽니다.
드레이크 본인은 8월 초 열리는 국제 보안 컨퍼런스 DEFCON에서 자신의 연구 결과 전체를 공개할 계획입니다. 이번 공격이 널리 알려진 만큼, 추가적인 홍보 효과가 기기 제조사들이 업데이트를 서둘러 배포하도록 자극하기를 바랄 뿐입니다.
더 큰 그림에서 보면, 이번 사례는 안드로이드 파편화(fragmentation)가 왜 보안의 악몽으로 작용하는지 잘 보여주는 예시입니다.
iOS처럼 폐쇄적으로 관리되는 생태계라면 이런 취약점의 패치가 몇 시간 안에 긴급 배포될 수 있습니다. 반면 안드로이드는 심각한 파편화 때문에 모든 기기에 패치가 적용되기까지 몇 달, 어쩌면 몇 년이 걸릴 수도 있습니다. 향후 구글이 어떤 방식으로 이런 보안 필수 업데이트를 제조사의 손에서 벗어나게 만들지 지켜볼 일입니다.
혹시 이 문제의 영향을 받는 안드로이드 사용자이신가요? 개인정보 보호가 걱정되시나요? 여러분의 생각을 댓글로 알려주세요!
이미지 출처: Backlit Keyboard by Wikimedia