Google Adsense Side (160x600)



iOS개발 프로세스를 파고든 악성코드 XcodeGhost 썩은 사과

주 내용은 http://www.macrumors.com/2015/09/20/xcodeghost-chinese-malware-faq/ 를 참고했습니다.

iOS나 앱스토어 보안 과정을 정석적인 방법으로 뚫기에 어려운 점이 있다보니 중국쪽 해커들은 사고의 전환(?)을 했습니다.
앱이나 스토어가 아니라 아예 개발 도구를 해킹한 버전을 이용해서 선의의 개발자들을 노리는 것이지요.


XcodeGhost란?

이것은 새롭게 등장한 iOS의 악성코드로서, 애플의 개발도구인 Xcode를 해킹한 버전을 통해 퍼지고 있습니다.


어떻게 퍼지게 됩니까?

바이두 같은 중국 서버에 올려진 해킹된 버전의 Xcode를 받아서 개발한 '악의가 전혀 없는' 개발자들의 앱을 통해 퍼집니다. 해킹된 Xcode를 이용해서 개발을 하면 빌드나 배포시에 개발자 몰래 (정보를 다른 곳으로 전송할 수 있는) 악성 코드를 삽입하는 것이지요. 이런 앱들이 애플의 리뷰를 통과하게 되면 악성코드가 담긴 앱이 스토어에 올라오게 되는 것입니다.

애플 검수 과정은 일차적으로 기계적으로 서드파티에게 공개되지 않은 내부적인 API를 쓰는지 검사하고, 그 다음에 리뷰어에 의해 메뉴얼하게 진행될 것입니다. 그렇다보니 앱의 특성에 따라 일부 사용자 정보 전송이 필요한 앱이다 싶으면 통과할 수도 있는 것이지요.


어떤 디바이스들이 영향을 받습니까?

감염된 앱이 구동되는 모든 아이폰, 아이패드, 아이팟 터치입니다. 탈옥여부를 가리지 않습니다.


어떤 앱들이 감염되었나요?

링크로 대신합니다. 위챗이 가장 킬러앱인 것 같습니다.


얼마나 많은 숫자의 유저들이 영향을 받나요?

위 리스트와 가능한 디바이스를 따지면 사실상 5억(!) 정도의 iOS유저에게 영향을 줄 가능성이 있습니다. 특히 위챗때문에...


어떤 버전의 Xcode가 감염되었나요?

비공식적으로 배포되는 6.1 ~ 6.4 입니다. (현재 애플의 최신은 7.0, 7.1베타)


어떤 위험성이 있나요?

감염된 앱들은 아래와 같은 정보를 빼내서 암호화 해서 HTTP프로토콜을 이용해서 공격자의 Command and Control(C2) 서버로 업로드를 시도할 수 있습니다.
  • 현재 시간
  • 감염된 앱의 이름
  • 앱의 번들 ID
  • 현재 디바이스의 이름과 기종
  • 현재 디바이스 언어/지역 설정
  • 현재 디바이스의 UUID
  • 네트워크 타입

그 외에 팔로 알토 네트워크에 의하면 감염된 iOS 앱이 공격자의 C2서버에 의해 기기에서 다음과 같은 명령이 수행될 수도 있다고 합니다.

  • 가짜 경고 메시지를 띄워(로그인 창 따위) 정보 유출 시도(피싱)
  • 특정 URL을 열어서 iOS시스템이나 다른 앱의 취약점에 대한 공격 가능성
  • 클립보드에서 메시지 읽기-특히 사용자가 패스워드를 복사했다면...

URL에 따라 구동되는 앱이 지정되기 때문에 두번째가 가장 위험해 보이는데, 일단 iOS9에서는 URL을 통한 다른 앱 접근에 조금 더 제한이 가해졌다고 알고 있습니다. 전체적으로는 어차피 iOS가 샌드박스 체제로 돌아가므로 아직까지는 아주 치명적인 것들을 빼가지는 못하지만 위와같은 피싱이나 클립보드를 읽어내는 것은 잠재적으로 상당히 위험할 수 있습니다.


중국 밖의 유저들도 영향권에 들어갑니까?

들어갑니다. 감염된 앱을 배포하는 개발자가 감염된 앱을 판매하는 국가들은 영향권 안에 들어갑니다. 원문에서는 CamCard같은 앱이 위험하다고 언급합니다.


왜 일부 중국 개발자들은 바이두같은데서 Xcode를 받나요?

Xcode는 파일이 꽤 커서 중국에서는 다운로드 시간이 오래 걸릴 수 있다보니 일부 개발자들이 비공식적인 곳에서 다운로드를 받았습니다. 개인적으로 이점이 이번 공격의 포인트이며 가장 애플의 책임이 큰 부분이 아닐까 싶습니다.


애플과 중국 개발자들의 공식 대응은?

팔로 알토 네트워크는 애플과 협조하에 해당 문제를 조사중이며, 선의의 중국 개발자들은 자신들의 감염된 앱을 감염되지 않은 것으로 업데이트 중입니다.


"우리는 앱 스토어에서 가짜 소프트웨어로 개발된 것으로 확인된 앱들을 제거했습니다. 그리고 개발자들과 협력해서 적절한 버전의 Xcode를 이용해서 앱들을 다시 빌드하고 있습니다"


사용자들의 대처 방법은?

당연히 위 리스트에 언급된 앱들을 지우거나 업데이트 해야 합니다. 그리고 iCloud 암호를 바꾸거나 다른 입력된 암호들도 주의가 필요합니다(복사 붙이기 같은 것)

개발자들도 Xcode를 업데이트 합니다. 공식루트를 통해서...



해킹이라는 것은 이제 프로그램이나 OS 하나를 뚫는 것이 아니라 개발 과정이나 배포 과정 이런 것을 망라해서 헛점을 찾는 작업이 되었습니다(때로는 직원 매수? 잠입?).

원래 창과 방패의 싸움은 방패에게 한없이 불리한 일이지요. 방패의 경우 모든 곳을 다 막아야 하는데 막을 곳은 늘어만 가고...창의 경우 한군데만 뚫어도 치명상을 가할 수 있으니까요...

이에 대해 애플이 할 수 있는 최선의 대응은 어떤 것일까요?

이 방식은 전체적인 개발도구의 배포 과정을 이용한 시도이므로 개발도구의 배포를 포함한 개발/배포 프로세스 전체의 관리를 엄격하게 하게 될 것 같습니다.

근본적으로 할 수 있는(그리고 간단해 보이는) 대응은 중국쪽에 서버를 추가하거나 중국 전용의 Xcode등의 개발도구 배포 방식(DVD?)을 추가해서 바이두등을 통한 재배포 필요성을 줄이는 것이겠죠.

사용자 입장에서는 위에 나온 것과 같은 주의사항과 더불어 중국발 앱은 설치하기 전에 다시 한 번 고려해 보는 수 밖에 없겠네요. 이런식의 중국발 앱(또는 특정 국가/지역의 앱)에 의심이 심어지는 것 자체는 장기적으로 볼때 큰 문제가 될 수도 있을 것 같습니다.

--- (추가) ---

애플이 모든 개발자에게 다음과 같은 이메일을 보내왔습니다.







덧글

  • RuBisCO 2015/09/22 06:40 #

    사파리가 아니어도 구멍은 참 생각하지 못한곳에 또 있군요
  • 코딩kIT 2015/09/22 11:04 #

    앵그리버드2와 위챗 충격적이었네요 다행히 감염위챗은 구버전이라 다행입니다.
  • 함부르거 2015/09/22 19:18 #

    CamCard 애용했는데 충격이네요. 일단 폰에서 지웠습니다. -_-;;
※ 로그인 사용자만 덧글을 남길 수 있습니다.