2024-04-25 16:05 (목)
[인터뷰] 아이폰 충전기 해킹 시연...블랙햇 달군 한국 해커 장영진!
상태바
[인터뷰] 아이폰 충전기 해킹 시연...블랙햇 달군 한국 해커 장영진!
  • 길민권
  • 승인 2013.08.05 15:47
이 기사를 공유합니다

조지아공대 연구진, 블랙햇서 충전기로 애플기기에 악성앱 심는 기술 공개
장영진 “악성앱이 자동 잠금해제 해 전화거는 장면서 많은 박수 받아”
지난 7월 27일부터 8월 1일까지 미국 라스베가스에서 열린 ‘블랙햇(Black Hat) 2013’에서 주목을 많이 받은 발표 중 하나는 아이폰·아이패드 등 iOS를 기반으로 한 애플 기기 해킹 시연이었다.
 
시연을 성공적으로 선보인 해커들은 바로 조지아공대 컴퓨터공학과 대학원생인 장영진(Yeongjin Jang), 빌리 라우(Billy Lau), 첸유송(Chengyu Song)이다. 세 명의 대학원생은 iOS를 기반으로 한 애플 기기에 사용자 몰래 악성 소프트웨어를 심을 수 있는 충전기 ‘맥탄(Mactans)’을 개발했으며, 이를 통해 애플 제품에 악성 소프트웨어를 심는 기술을 블랙햇 2013에서 공개했다.
 
이 중 장영진씨는 한국인으로, 국내에서 KAIST 보안 동아리 GoN에서 활동하며 국내외 크고 작은 해킹대회에서 좋은 성적을 거둔 바 있다. 그는 현재 조지아 공대 박사과정 3년차로 운영체제 보안을 연구 중에 있다.

이번 블랙햇 발표로 전세계의 관심을 받게 된 그에게서 해당 기술을 연구하게 된 계기 등 이번 발표내용에 대해 자세히 들어 봤다.(사진 장영진)
 
-이번 블랙햇에서 발표한 해킹 기술을 연구하게 된 계기는 무엇이었나요?
GTISC(Georgia Tech Information Security Center) 연구실에서 박사후 연구원(Post-Doc)으로 재직 중인 티엘레이 왕(Tielei Wang)이 애플 앱스토어의 앱 리뷰 프로세스를 우회해 악성 앱을 앱 스토어에 등록하는 논문을 USENIX Security Symposium에 제출했어요.

논문 내용이 상당히 훌륭해 그와 비슷하게 다른 방식으로 악성 앱을 iOS를 사용하는 기기에 설치할 수 있는 방법이 없나 모색하던 중 동료인 빌리 라우가 Xcode나 iTunes에서 개발자 전용 앱을 설치하듯 USB cable을 사용해 설치하는 방식을 제안했고, 이에 연구를 시작하게 됐습니다. 저는 초기부터 연구에 참여하진 않았고요. 제가 iOS에서 앱 개발 경험이 있어 연구에서 개발자 앱 배포 과정과 페이로드(Payload) 앱 제작 등의 부분을 맡게 됐습니다.
 
-문제점은 무엇이며, 해킹 공격은 어떻게 이뤄지나요?
맥탄의 공격방식은 보통 OS나 프로그램에 이뤄지는 해킹과는 달리 코드의 취약점을 공격하지 않아요. 탈옥한 환경의 경우 iOS의 커널 취약점이나 루트(root) 권한이 있는 서비스를 공격하는 반면 맥탄은 애플의 앱 배포 정책, iOS 기기에서 USB 연결의 용도와 권한, iOS 앱 샌드박스의 불완전성, 편의성을 위해 iOS에서 사용자 허가를 받지 않는 점 등의 보안과 편의성 사이에 있는 문제점에 기반해 공격이 이뤄집니다.
 
실제로 맥탄이 앱 설치를 위해 동작하는 방식은 일반 개발자가 자기가 작성한 앱을 개발용 기기에 설치하는 것과 완전히 동일한데요. 그 과정에서 기기 사용자의 허가를 하나도 묻지 않는다는 점이 기본이 되는 문제점입니다.
 
공격은 처음으로 기기 일련번호 중 하나인 UDID를 가져오는 것부터 시작합니다. 이 UDID는 개발자가 자신이 작성한 앱을 테스트 할 기기를 애플에 등록하는데 쓰이는데요. 애플은 이 UDID를 USB 시리얼 넘버로 사용해 USB 케이블을 컴퓨터에 꽂자마자 이 정보가 자동으로 iOS기기에서 USB 호스트(host)로 넘어 갑니다. 즉, UDID에 대한 보호가 하나도 돼 있지 않는 것이죠.
 
그 다음으로는 인터넷에 접속해 프로비저닝 프로파일(Provisioning Profile)이라는 것을 만드는데요. 이는 UDID를 애플에 등록해 해당 기기에 개발자가 앱을 설치할 수 있게 만드는 과정입니다. 프로비저닝 프로파일은 개발자 ID/비밀번호와 UDID가 있으면 애플 iOS 개발자 센터에서 20초 정도만에 생성이 가능하고, 쉽게 자동화가 가능합니다.

 
그리고 USB케이블이 연결된 직후 위 두 과정과는 별개로 페어링(Pairing)을 시도합니다. 이 페어링이라는 건 iOS기기와 USB 호스트가 암호 통신을 하기 위한 비밀 키를 교환하는 과정이며, 이 키 교환을 하는 데는 수 밀리세컨드(millisecond) 밖에 걸리지 않아 순간적으로 이뤄집니다.
 
또한 한번 키 교환이 되면 반영구적으로 연결이 유효하기 때문에 다시 잠금 상태가 되더라도 이미 페어링이 된 연결을 사용할 수 있어요. 즉 맥탄과 연결된 기기가 단 한 순간이라도 잠금해제가 되는 때에 자동으로 페어링이 돼 공격을 시작할 수 있습니다.
 
그러나 비밀번호를 설정하고 충전 중 잠금해제를 하지 않으면 페어링이 되지 않아 맥탄 공격이 이뤄질 수 없지만 편의성을 위해 채택된 것으로 보이는 기능(비밀번호 해제 즉시 키 교환, 한번 연결이 되면 반영구적)들이 높은 확률로 공격을 성공시킵니다. 예를 들자면, 비밀번호 설정이 된 기기라도 충전 중에 문자 메시지 답장을 하거나 혹은 앱 푸시 알림을 열어 보거나 잠금해제를 해 웹 서핑을 한 적이 있다면 맥탄이 악성 앱을 설치할 수 있어요. 아마 대부분의 사용자들이 충전 중에 아이폰을 사용한 적이 있을거에요.
 
이렇게 페어링이 완료되면 맥탄은 프로비저닝 프로파일과 개발자 인증서로 서명된 앱을 기기에 설치할 수 있게 됩니다. 이 설치 과정에서 사용자 허가를 묻지 않을 뿐더러 기기에는 충전 중이라고만 표시가 돼 사용자가 설치 중이라는 것을 알 수 없어요. 또한 설치된 앱을 애플이 지원하는 기능을 사용해 숨길 수 있어 설치가 되더라도 특별한 확인을 할 수 없는(설치된 프로비저닝 프로파일 점검, 실행 중인 프로세스를 sysctl 정보로 확인) 보통 사용자의 경우 악성 앱 설치를 알 수 없습니다.
 
다만, 맥탄 공격의 한계점은 탈옥 공격이 아니라서 설치된 앱이 루트 권한이 아니며 앱 샌드박스 안에서 동작한다는 것인데요. 앱 스토어의 앱과는 달리 개발자들 사이에서 Private API라고 불리는 코드를 동작시킬 수 있어서 샌드박스 안에서도 의미있는 공격이 가능합니다.
 
곧 새로 나올 iOS 7에서는 이 문제에 대해 USB 케이블을 연결한 호스트가 페어링을 시도하면 사용자에게 연결을 허용할 것인지 묻는 팝업이 떠서 맥탄 공격을 막습니다. 페어링에 관련된 문제는 2~3년 전부터 문제가 돼 왔었는데요. 애플이 여태까지 별다른 수정이 없다가 맥탄 공격과 함께 문제점을 해결한 것이 이 연구가 기여한 점이 아닐까 싶습니다.
 
-블랙햇에서 발표하게 된 소감과 그 곳 현지에서의 반응은 어땠나요?
처음엔 큰 관심을 받게 될 거란 생각을 전혀 하지 않았었는데요. 블랙햇 리스트에 등록이 되자마자 많은 기사가 등록되고, 또 기자들이 뽑은 리스트에 선정돼 큰 발표장에 자리가 꽉 찰 정도로 많은 사람들의 관심을 받았습니다.  
 
발표는 제가 미국에 온지 3년이 됐어도 영어로 해야 한다는 게 참 많은 부담이 됐어요. 그래도 3명이 나눠가며 발표를 해서 그나마 나았던 것 같습니다. 제가 맡은 부분은 기술적인 내용으로 발표 마지막의 공격 시연 영상이었는데요. 영상을 준비하면서 반응이 아무도 없으면 어쩌나 하고 걱정했는데 악성 앱이 자동으로 잠금해제를 해 전화를 거는 장면에서 청중들이 많은 박수를 보내줘 다행이었습니다.
 
사실, 메인 발표보다 더 떨렸던 건 발표 전에 했던 기자 회견(Press Conference) 시간이었어요. 수십명의 기자분들이 제가 하는 말을 조목조목 적고 녹음하는 데다 눈앞에 카메라를 보니 무척 긴장됐습니다. 특히, 여기선 발표처럼 비디오가 아니라 실제 공격 시연을 했는데요. 공격은 제대로 됐으나 수십대의 카메라가 녹화를 하는 도중 제 아이폰이 다운 되는 바람에 식은땀을 흘려가며 겨우 마쳤습니다.
 
현지 반응에 대해 말씀드리자면, 발표 직후에 많은 분들이 자세한 내용에 대해 질문을 하셔서 30분 동안 발표장에서 나갈 수가 없었고, 학회장 복도를 지나다닐 때 마다 발표에 오셨던 분들이 알아 봐 주시고, 개인적 질문도 많이 하셔서 쉴 틈이 없었어요. 많은 분들이 관심을 가져 주시니 고맙기도 하고 기쁘더라고요. 이 정도면 반응이 괜찮은 편 아니었나 싶습니다.
 
-블랙햇에서의 발표를 꿈꾸는 이들에게 한마디 전한다면?
이번 발표 경험을 토대로 느낀 점을 말씀드리자면, 한국에 있을 때는 해킹 컨퍼런스로는 최고로 알려진 블랙햇과 데프콘에 발표를 하는 것이 무척 어렵게 느껴졌는데요. 실제로 해 보니 꼭 그렇지 만은 않더라는 거에요. 국내에도 학교, 회사는 물론이고 개인적으로도 재미있고 훌륭한 해킹 연구를 하시는 분들이 많은데요. 블랙햇을 한번이라도 생각해 보셨다면 어려워하지 마시고 꼭 논문 제출(Call for Paper)에 도전해 보시기를 바랍니다.
 
끝으로 저의 경우, 컴퓨터를 좋아하다가 우연히 해킹/보안 동아리에 들어오게 됐고, 또 KISA에서 주최하는 해킹방어대회에 참여해 입상하게 된 것이 보안 공부를 계속 하게 된 동기가 됐습니다. 아마 저처럼 보안을 시작한 분들이 많을 거라 생각합니다. 그런 면에서 KAIST의 동아리 GoN과 좋은 대회를 열어 준 KISA 등의 정부기관 및 사설단체, 한국의 해커 분들에게 항상 감사드립니다.
 
데일리시큐 호애진 기자 ajho@dailysecu.com
■ 보안 사건사고 제보 하기

▷ 이메일 : mkgil@dailysecu.com

▷ 제보 내용 : 보안 관련 어떤 내용이든 제보를 기다립니다!

▷ 광고문의 : jywoo@dailysecu.com

★정보보안 대표 미디어 데일리시큐 / Dailysecu, Korea's leading security media!★