상세 컨텐츠

본문 제목

[해외보안동향] MMS가 Stagefright의 유일한 공격 벡터가 아니었다

국내외 보안동향

by 알약(Alyac) 2015. 8. 3. 19:20

본문

MMS가 Stagefright의 유일한 공격 벡터가 아니었다

MMS Not the Only Attack Vector for “Stagefright"


얼마 전 조작된 MMS로 Stagefight에 존재하는 취약점을 이용하여 공격대상인 안드로이드 기기를 감염시키는 취약점이 발견되었습니다. (▶ 자세히보기 하지만, MMS를 이용한 방법 뿐만 아니라 다양한 방법으로도 Stagefright 취약점을 공격할 수 있는 것으로 확인되었습니다.


libStagefright는 mediaserver에 의해 사용되는데, 이는 즉 조작된 동영상 파일이 mediaserver로 처리된다면, Stagefright 취약점을 이용하여 안드로이드 기기를 공격할 수 있게 되는 것입니다. 이 취약점의 근본 원인은 MP4 파일을 파싱할 때 정수 오버플로우가 발생하여 나타나는 것으로, 악의적으로 조작된 동영상 파일이 mediaserver에 의해 처리되면 , 힙 오버플로우가 발생하며 힙에 있는 데이터를 덮어 씌우며 공격자가 의도한 코드가 실행되는 것입니다. 해당 코드는 frameworks/av/media/libstagefright/MPEG4Extractor.cpp에서 찾아볼 수 있습니다.



PoC


해당 취약점을 공격할 수 있는 방법은 여러가지가 있으며, 몇 가지 시나리오를 소개하려고 합니다. 


시나리오 1 : 변조된 앱을 통한 공격

먼저, 해당 취약점이 앱에서 어떻게 악용될 수 있는지를 시험해 보기 위하여, 특별히 조작된 MP4 파일을 사용하여 mediaserver와의 충돌을 발생시켰습니다. 테스트에서는 충돌만 하지만, 만약 공격자가 특정 데이터 블록을 생성하여 힙에 채워 넣는다면 root권한을 얻을 수 있게 됩니다. 


시나리오 2 : 변조된 파일이 포함된 URL을 통한 공격

시나리오 1에서 사용된 동일한 .mp4 파일을 HTML 파일에 삽입해 넣은 후 웹서버에 업로드 하였습니다. 그 후 안드로이드 5.1.1의 기본 탑재되어 있는 WebView를 사용하여 해당 웹사이트에 접속하자 시나리오 1에서와 같은 충돌이 발생하였습니다. 또한 모바일 크롬 브라우저에서 <video> 태그를 이용하여 삽입된 비디오의 미리보기 및 자동 재생을 비활성화 하더라도, 알 수 없는 이유로 이 제한이 우회되어 힙 오버플로우가 발생하였습니다.  


시나리오 3 : MMS메세지 공격

변조된 MP4 파일을 첨부한 MMS를 안드로이드 기기에 전송하자, MMS를 받은 기기는 mediaserver 프로세스 충돌이 두번이나 발생하였습니다. 이는 유저가 아무것도 하지 않았다는 점에서 특히 위험한 것을 확인할 수 있었습니다. 




참고 : 



관련글 더보기

댓글 영역