IOS 괴문자 버그

  • 상위 항목 : iOS

1 iOS 6에서의 버그

1.1 개요

본격 애플 전용 天安門 天安门 法輪功 李洪志 Free Tibet 劉曉波
말 그대로 보면 죽는 문자 iOS의 BLIT 본격 현실화된 도시전설

Bug In Apple’s CoreText Allows Specific String Of Characters To Crash iOS 6, OS X 10.8 Apps 기사에서 언급된 괴문자와 관련된 버그를 이르는 말.

파일:Attachment/iOS괴문자.jpg


※ 여기에 표시된 문자열은 이미지로 되어 있다. iOS 유저라도 안심해도 된다.

일단 해당 문자열 자체에는 아무런 뜻이 담겨 있지 않지만,[1] 이게 기술적인 문제를 불러일으키는 것으로 유명하다.

이 아랍 문자를 iOS 6과 OS X 10.8에서 띄우면 프로그램이 뻗거나, 최악의 경우 OS가 탑재된 제품 자체에 치명적인 타격을 준다. iOS 7과 OS X 10.9(Marvericks)에서는 피해 보고가 아직 없다. 이는 iOS와 OS X에 탑재된 Cocoa 프레임워크의 일부분인 CoreText API의 유니코드 텍스트 렌더링 부분에 버그가 있어서 그렇다고. iOS 7과 OS X 10.8.5 업데이트에서 버그가 수정되었다.

이 문자열을 블로그 포스트에 쓰거나 트위터 등에서 이 문자열이 들어간 트윗을 RT할 경우, iOS 6이나 OS X 10.8을 쓰는 사람을 상당히 빡치게 만들 수 있다. 하지만 일부 무개념들이 아무 게시판 글이나 댓글에 문자열를 달고 있다. 그럴 때에는 신고해주자.

이 글에 따르면, 구체적으로는 다음과 같은 문제가 발생한다고 한다.

  • 해당 문자열이 포함된 웹 페이지에 들어갈 경우: 웹 브라우저가 죽는다.
  • 해당 문자열이 포함된 푸시 메시지를 수신할 경우: 단말기가 리붓된다. 리붓된 상태에서 푸시 로그를 확인하면 또다시 리붓된다.
  • 메신저로 해당 문자열을 수신할 경우: 메신저 푸시가 뜨면서 단말기가 리붓된다. 메신저로 들어가면서 수신한 메시지를 보려고 하면 메신저가 죽는다.
  • 누군가가 Wi-Fi의 SSID로 해당 문자열을 쓸 경우: 설정 앱에서 Wi-Fi SSID를 검색하는 순간 바로 설정 앱이 다운된다.

사실 엄밀히 말해서 텍스트 렌더링 오류를 내는 부분은 해당 문자열 전체가 아니라, 저 글에서 지적된 것과 같이 해당 문자열의 일부이다. 실제로 저 글에서 지적한 부분만 띄워도 위와 같은 증상이 확인된다.

페이스북은 이 문자열을 담벼락이나 타임라인에 올릴 수 없도록 차단했다. 트위터 또한 이 문자열을 트윗하지 못하도록 차단했지만, 이 문자열이 포함된 기존 트윗을 RT할 수는 있기 때문에 주의해야 한다.그리고 네이버 웹툰에서도 차단되었다. 그 외 차단된사이트는 추가바람.

1.2 해결 방법

OS X 사용자는 10.9(Marvericks) 버전 또는 10.8.5 버전으로 업데이트하면 해결된다.

iOS가 탑재된 기기를 사용하는 유저들은 기기를 iOS 7 버전으로 업데이트하거나, iOS 6 이전 버전의 기기를 탈옥한 유저는 Cydia의 기본 소스인 Cydia/Telesphoreo에서 GlyphPatch 패키지를 찾아서 설치하거나 보안 수정 코드를 참조해서 직접 수정하면된다

1.3 참고

2 iOS 8에서의 버그

2.1 개요

2015년 5월 27일[3] 나인투파이브맥(9to5Mac)에서 새롭게 발견된 버그. 원글 iOS 6때에도 문제를 일으켰던 CoreText 라이브러리의 버그 때문에 특정한 문자열이 포함되어 있는 메시지를 알림으로 받을 때 프로그램 매니저와 SpringBoard가 크래쉬되어 리스프링되거나 재부팅되는 버그이다. 관련기사
CVE 엔트리가 생겼다! CVE-2015-1157
해당 문자열의 유니코드 코드 포인트 덤프 크래쉬 로그

2015052820154231668_1.jpg
lulussbululssburran 이라고 써있다
h 주변의 문자는 아랍어가 아니라 인도언어중 하나인 마라티어 문자다.
한편, CoreText 라이브러리는 iOS와 Mac이 동시에 사용하기 때문에, Mac에서도 유사한 버그를 재현할 수 있다. Terminal.app을 실행시키고 다음 문장을 쳐 보자.

telnet galadriel.gentoo.moe

(2015-10-14 현재, 서버 가동을 하고 있지 않다. 더불어, 해당 텔넷 서버의 코드는 이 리포지토리에 있다.)

Apple 공식 페이지에 해당 이슈가 올라왔다.#

We are aware of an iMessage issue caused by a specific series of unicode characters and we will make a fix available in a software update.

2.2 영향을 받는 기기 목록

  • iOS 8.3 이하를 사용 중인 기기
  • OS X 10.10을 사용 중인 기기
  • Apple Watch

2.3 문제의 악용 사례

파일:K4Wwxik.jpg
와이파이를 켜면 함정카드 발동!! 그러나 아무 일도 일어나지 않았다

2015년 5월 28일, 이 버그가 대한민국에 널리 퍼진 이후로 각종 테러가 이어지고 있다.

먼저 사파리 상에서 단순히 저 메시지가 적혀있는 게시물을 열람했을 때는 특별히 문제가 보고되지 않고 있다.

카카오톡 단체방이 2년전 보다 활성화된 측면과 대한민국에서의 아이폰 6의 흥행으로 iOS 8이 어느정도 보급이 되어있는 상태인데, 저 문자를 단톡방에서 보내고 엄청나게 욕을 먹는 사례가 이어지고 있다. 이유인 즉슨, iOS 8의 기기에서는 저 문자를 보기만 하면 크래쉬가 일어나게 때문.

아프리카TV와 같은 실시간 스트리밍 서비스 앱에서도 비슷한 팅김 현상이 나타나고 있으며, 역시 해당 메시지를 채팅방에서 도배를 하고 다니는 악성 유저가 존재하는 상황이다. 아이폰으로 방송 시청하다가 갑자기 튕겼을 때, 다시 돌아와서 접속하면 아랍어 문자에 대한 성토와 괴문자 사용자테러범에 대한 강퇴요구가 채팅방에 도배되어있는걸 볼 수 있다.

모 커뮤니티 사이트에서 공개적으로 자신들의 테러 행위를 인증하는 게시물이 속속 올라오고 있다. 만약 피해를 주기 위한 목적으로 특정 다수에게 피해를 줄 경우 법적 문제로까지 비화될 수 있는 상황.

2.4 임시적인 해결 방법

2.4.1 Apple에서 공식적으로 제시한 해결 방법 #

  1. Siri에게 읽지 않은 메시지를 읽어달라고 요청한다.
  2. Siri를 이용해 해당하는 악의적 메시지에게 답한다. 답장 후에는, 메시지 앱을 다시 열 수 있을 것이다.
  3. 이 이슈가 계속되면, 해당 메시지를 길게 누르고 기타를 누른 후 쓰레드에서 해당 메시지를 삭제해라.

2.4.2 잠금 화면에서의 메시지

  1. 홈 화면의 설정 앱을 실행시킨다.
  2. 알림을 탭한다.
  3. 메시지를 탭한다.
  4. 잠금 화면에서 보기끄기로 변경한다.

2.4.3 카카오톡

이 버그는 문자가 렌더링될 때 발생하므로 해당 메시지를 보이지 않게 수십개의 메시지를 날려 문제가 되는 텍스트를 위로 밀어주면 일단 크래쉬되지는 않는다.

2.4.4 메시지 앱을 열 수 없는 경우

  • 메시지 목록을 볼 때에 문제가 발생하므로 Siri를 이용해서 온 사람에게 답장을 날려주면 메시지 앱을 다시 열 수 있다.
  • 사진 앱을 이용해 사진으로 답장을 보내면 메시지 앱을 다시 열 수 있다.

2.5 해결 방법

2.5.1 iOS 8.4 설치

한국시간 7월 1일 iOS 8.4가 릴리스 되었으며, 해당 버전에선 괴문자 버그가 해결되었다.

2.5.2 Cydia에서 해당 문제의 패치를 설치하는 방법

탈옥한 사용자들만 이용 가능하다.

  1. Cydia에서 개발자의 배포처 소스( http://cydia.angelxwind.net/ )를 추가한다.
  2. IneffectivePower를 검색해 해당 트윅을 설치하고 기기를 재부팅한다.
  1. 아랍어로 알려져 있기도 하지만 아랍어 아니다. 정확히 하면 밑의 자음은 아랍어 알파벳이 맞으나, 윗쪽의 모음 부분은 아랍어에 전혀 없는 표기이다. 아마 에러로 인해 모음 부분에 다른 언어가 들어간 듯?
  2. 현재는 트위터측에서 트윗 내용을 바꿔 둔 상태라 iOS 구버전 사용자도 들어가도 괜찮다.
  3. 현지시각으로 26일