최근 페이스북이 안드로이드용 메신저 앱에 존재하는 버그를 패치했다. 해당 버그를 통해 원격 공격자는 사용자가 음성 통화를 받기 전에 예상치 못한 타깃에게 전화하고 들을 수 있다.
해커스뉴스에 따르면, 이 결함은 지난 10월 6일 구글 프로젝트 제로 버그 헌팅팀의 나탈리 실바노비치에 의해 페이스북에 보고되었다. 패치는 90일 기한이었고, 안드로이드용 페이스북 메신저 284.0.0.16.119버전 이하에 영향을 미친다.
예를 들어, 앱에 로그인한 공격자가 동시에 통화를 시작하고, 웹 브라우저와 같은 다른 메신저 클라이언트와 앱 모두에 로그인 한 대상에게 특수 제작된 메시지를 보내면 취약점 공격이 가능하다.
보안기술 문서에 따르면 해당 결함은 WebRTC의SDP(Session Description Protocol)에 존재한다. 이 프로토콜은 두 엔드포인트 간의 스트리밍 미디어 교환을 위한 표준 형식을 정의한다. 공격자는 이를 통해 ‘SdpUpdate’로 알려진 특수한 타입의 메시지를 보내 수신자 기기가 응답하기 전에 통화 연결이 가능하다.
WebRTC를 통한 음성 및 영상 통화는 일반적으로 수신자가 수락 버튼을 누를 때까지 오디오를 전송하지 않지만, 통화 연결 동안 SdpUpdate 메시지가 다른 단말 장치로 전송되면 즉시 음성이 전달되기 시작하고 수신자의 주변을 모니터링할 수 있게 된다.
어떤 면에서 이 취약점은 작년 애플의 페이스타임 채팅 기능에서 보고된 개인 정보 침해 결함과 유사하다. 해당 결함은 사용자가 페이스타임 화상 통화를 시작하고, 자신의 번호를 그룹챗에 제3자로 추가해 다른 대상이 통화 호출을 받기 전에 도청할 수 있는 취약점이었다. 이는 심각한 이슈가 되어 애플은 후속 iOS 업데이트에서 문제를 해결하기 전에 페이스타임 그룹 채팅 기능을 중지했었다.
그러나 페이스타임 버그와 달리 이번 이슈를 악용하는 것은 쉽지 않다. 발신자가 특정 사람에게 전화를 걸 수 있는 권한이 있어야 하기 때문이다. 즉, 발신자와 수신자가 페이스북 친구여야 해당 기능을 사용할 수 있다.
또한 악성 행위자가 Frida등 리버스 엔지니어링 도구를 사용해 메신저 응용 프로그램을 조작해 지정한 SdpUpdate 메시지를 강제로 보내도록 해야 한다.
보안연구원 실바노비치는 해당 문제를 보고하고 6천달러의 바운티를 받았으며, 이는 페이스북에서 현재까지 가장 높은 세가지 버그바운티 중 하나다. 구글 연구원은 그녀가 해당 보상금을 GiveWell이라는 비영리 단체에 기부한다고 말했다.
★정보보안 대표 미디어 데일리시큐!★