[연구 문서] iPhone 악성 코드 특징

스마트폰 2011. 4. 6. 21:21 Posted by TEAMCR@K
본 문서는 iPhone iOS 에서 발생되었던 악성코드(웜.바이러스 등) 대하여 작성하였습니다. 해당 내용은 아래와 같이 2개의 주제로 나눠 연재하겠습니다.
 

1. 'iOS 웜/바이러스/악성코드 특징'
2. 'SpyPhone 분석 및 응용'



iOS 웜/바이러스/악성코드 특징

1. exploit
가. Libtiff
2007년 7월, Tavis Ormandy에 의해 libtiff 에서의 여러 가지 buffer overflow를 이용한 최초의 Exploit이 발견되었습니다. 취약한 libtiff 버전은 Apple의 ImageIO framework에서 사용되는 것이었습니다. 악의적인 TIFF image를 간단히 열어봄으로써 악성코드가 실행되는 취약점 이었으며 Rik Farrow가 발표하였습니다. Apple 은 해당 취약점을 iPhone OS 1.1.2 에서 패치를 실시 하였습니다.

나. SMS fuzzing
2009년 7월, Black Hat USA 2009 에서 Charlie Miller와 Collin Mulliner 에 의해서 SMS fuzzing Exploit 발표되었습니다. 그들은 hacker가 악의적인 SMS message를 통하여 iphone의 통제권을 강탈하는 것을 발표하였습니다. 해당 취약점은 iPhone OS 3.0.1 에서 패치 되었습니다.

                                [그림 1] SMS Injector Model

 

                              [그림 2] iPhone lost its network connectivity and starts searching.


다. Directory traversal

2010년 말, 여러 hacker들에 의해 file server 기능을 가진 application 에서 사용자입력 값 검증 부족을 이용한 directory traversal이 가능한 Exploit들이 발견되었습니다. 해당 취약점을 이용하여 device 내의 전화번호부와 같은 database 정보를 획득 할 수 있었습니다.
 

                                            [그림 3] 취약점이 존재하는 application
 
                                                                 [그림 4] 전화번호부 열람


2. 개인정보 수집
가. Aurora Feint
2008년 7월, 인기 있었던 iPhone 게임인 Aurora Feint가 사생활 침해로 인하여 App Store에서 최초로 퇴출되었습니다. 해당 게임은 저장된 모든 접속 정보를 개발자의 서버로 업로드 하였습니다.

나. MogoRoad
2009년 8월, 많은 회사들로부터 스팸성 전화를 받은 사용자들의 항의로 인하여, 스위스 도로 정보 안내 application(전화번호 수집)이 AppStore에서 퇴출되었습니다.

다. Storm8 complaint
2009년 11월. 캘리포니아의 연방정부가 다운로드 회수가 2,000만 건을 초과한 게임 application 제작사인 Strom8을 대상으로 소송을 제기 하였습니다. 해당 게임은 사용자의 휴대전화 번호를 암호화를 거치지 않고 수집하였습니다. 그 후로 storm8의 게임들은 휴대전화 번호를 수집하지 않았습니다.

라. Pinch Media
Pinch Media는 많은 개발자로부터 사용되었던 무료 통계 프레임워크 입니다. 이것은 휴대전화에서 사용 데이터를 수집하였습니다.  2009년 7월, 몇 블로거들이 Pinch Media에 대해 관심을 가지기 시작하였고, 알림과 선택의 기회 없이 application   자체적으로 사용자들의 정보가 수집 된다는 것을 주장하였습니다. Pinch Media에 의하면 수집되는 정보는 다음과 같았습니다.

● 기기 고유 번호
● iPhone 과 iOS의 모델 정보
● application의 이름과 버전 정보
● jailbroken iphone임을 확인할 수 있는 결과 데이터
● application이 도둑 맞은 것인지 확인 할 수 있는 데이터
● application이 작동된 시간
● 사용자 동의 시, 사용자의 위치정보
● Application이 Facebook에 접근 시, 사용자의 성과 나이 정보


3. Worm on jailbroken device
2009년 11월부터, jailbroken iPhone들을 목표로 한 웜의 물결을 관찰 할 수 있었습니다. jailbroken iPhone의 경우, ssh서비스 실행 시 기본 계정(root, mobile)을 목표로 한 bot 의 침투로 기기의 ssh 서비스 차단 공격 및 공격자의 경유지가 될 수 있는 가능성이 존재합니다.

application을 다운로드 할 경우에도, AppStore를 통한 정식적인 서비스가 아니기 때문에 application의 무결성을 보장 할 수 없습니다.

가. Ikee
Ikee 는 최초의 iPhone 웜 이었습니다. jailbroken iPone에서 사용자가 ssh 기본 계정의 비밀번호(root/alpine)를 변경하지 않는 것을 이용하여 ssh접근 후 iPhone의 배경화면을 ‘Ikee is never gonna give you up’ 이라는 문구가 적힌 1980년대 가수인 Rick Astley의 사진으로 바꾸었습니다. 해당 웜은 호주의 21세의 청년에 의해 작성되었고, 청년은 그 후에 호주의 iPhone 개발 회사인 mogeneration에 입사했다고 전해집니다.

                                                                            [그림 5] Ikee


나. Dutch  5 €  ransom

‘Your iPhone`s been hacked because it`s really insecure! Please visit doiop.com/iHacked and secure ypur iPhone right now!’ 라는 사라지지 않는 경고 메시지를 사용자가 배포자의PayPal 계좌로 ransom 5€(8$)를 지불 할 때까지 유지 하도록 하는 웜이 배포되었습니다.

                                                                     [그림 6] ransom


다. Ikee.B / Dutch

Ikee.B 웜은 매우 유해하였습니다. 전통적인 봇넷처럼 리투니아의 C&C서버에 접속하였습니다. 기본 root 비밀번호를  ‘oshit’으로 변경 후, 개인정보를 탈취와 타 호스트를 감염시키기 위한 시도를 하였습니다. 또한 해당 웜은 ING Direct 은행의 SMS를 이용한 두 가지 인증요소에 대해 exploit을 시도 하였습니다. 그리고 추후 POC-BBot과 같은 변종 bot의 형태로, 현재에도 jailbroken iPhone을 대상으로 공격을 시도 하고 있습니다.

                                                                [그림 7] Ikee.B structure


참고 자료
 [1] iPhone Privacy, Nicolas seior