보안 제품정보


안드로이드의 치명적 취약점, 다른 OS에서도 통할 듯 2014.08.26

샌드박싱의 무력화 현상으로 등장한 취약점과 악성 앱

앱 개발 시 메모리 공유에 대한 고민이 있어야 할 듯


[보안뉴스 문가용] 캘리포니아 리버사이드 대학과 미시간 대학의 연구원들이 안드로이드에서 심각한 오류를 발견했다는 소식이다. 이 오류는 모바일 기기의 앱을 하이재킹하도록 길을 터주며, 무엇보다 iOS와 윈도우 폰에서도 같은 방식으로 공격이 가능한 것으로 보여 문제다.


이 오류의 근원은 앱들끼리 메모리를 공유한다는 특성에서부터 나온다. 물론 이 점을 해결하기 위해 샌드박싱이란 것이 개발되었다. 앱마다 각각의 영역에서 코드를 실행하도록 한 것이다. 하지만 그럼에도 메모리 공간을 공유하는 그래픽 인터페이스의 프레임워크에 대한 의존도가 높아지면서 샌드박싱이 유명무실해지고 있다. 그래픽 인터페이스 요소들은 사용자 모바일 기기 화면에 출력되는 것들이다.


이 오류를 공략하려면 먼저 모바일 기기에 악성 앱이 설치되고 백그라운드에서 실행되어야 한다. 물론 이 악성 앱은 사용자의 눈에 전혀 띄지 않도록 제작되었다. 배터리 사용량도 적고 승인 요청도 거의 없다. 이 앱의 주요 기능은 그래픽 인터페이스 프레임워크인 윈도우 매니저의 메모리 공간을 모니터링하고 어떤 앱들이 그 공간을 드나드는지 관찰하는 것이다.


이렇게 앱의 그래픽 요소 활용 패턴을 관찰함으로써 앱들이 어떤 식으로 작동하는지를 알게 되고 그에 맞춰 로그인 화면 등 가짜 인터페이스 요소들을 타이밍 좋게 집어넣을 수 있게 된다. 그래서 사용자가 이 가짜 인터페이스에 로그인 정보를 넣는 순간 그 정보는 공격자의 것이 되는 것이다. 이는 중간자 공격의 일종이라고 볼 수 있다.


연구원들은 안드로이드용 앱 7가지를 이번 실험에 대동했다. 아마존, 체이스, 지메일, H&R 블록, 호텔닷컴, 뉴에그, 웹MD가 바로 그것이었다. 그리고 가짜 화면을 82%에서 92%의 정확도로 삽입할 수 있었다. 단, 아마존 앱은 예외다. 지메일에서는 이 방식이 92% 정확도로 통했지만 아마존에서는 겨우 48%의 성공률만 이뤄낸 것이다. 이는 변화가 심하게 일어나는 아마존 인터페이스의 특성과 악성 앱이 데이터에 접근하지 못하도록 막는 캐시된 데이터를 폭넓게 활용한다는 특성 때문이라고 연구원들은 결론을 내렸다.


그렇다면 많은 비율을 차지하고 있는 게임 앱은 어떨까? 캘리포니아 리버사이드 대학의 자이윤 첸(Zhiyun Qian) 교수는 게임 앱에 대해서 크게 걱정하지 않는 눈치였다. “게임 앱은 대부분 무사하지 않을까 합니다. 게임이 버벅거리지 않고 잘 돌아가기 위해서 하위층의 그래픽 API를 사용하는 경우가 많기 때문입니다.”


이 공격 방식으로 민감한 이미지 데이터를 빼내는 것도 가능하다. 연구원들은 이를 ‘카메라 엿보기 공격’이라고 명명했다. 몇몇 앱들은 이미지 파일을 메모리에만 저장한다. 이미지에는 민감한 정보가 들어있기 때문이다. 이런 패턴 역시 악성 앱이 메모리를 관찰할 때 얻을 수 있는 정보 중 하나다. 그래서 메모리에 사진이 하나 저장되면 사용자가 눈치 채기 전에 재빨리 사진을 하나 더 찍거나 복사한다. 그래서 원본과 아주 흡사한 정보를 얻어낸다.


이 오류를 약화시키기 위해 연구원들은 몇 가지 방법을 고안해냈다. 몇몇 프로세스 파일에 대한 접근 권한을 강화시키거나 인터페이스 애니메이션 시스템을 더 빡빡하게 만들어 가짜를 생성하는 게 쉽지 않도록 하는 것이다. 또한 백그라운드 앱에게만 적용되는 기능을 강하게 제한해서 사진 같은 걸 비밀스럽게 찍지 못하도록 하는 것도 좋은 방법이 된다고 연구원들은 밝혔다.

ⓒDARKReading

[국제부 문가용 기자(globoan@boannews.com)]


<저작권자: 보안뉴스(http://www.boannews.com/) 무단전재-재배포금지>