iOS 괴문자 버그

 

1. 개요
2. iOS 6에서의 버그
2.1. 개요
2.2. 해결 방법
2.3. 참고
3. iOS 8에서의 버그
3.1. 개요
3.2. 영향을 받는 기기 목록
3.3. 문제의 악용 사례
3.4. 임시적인 해결 방법
3.4.1. Apple에서 공식적으로 제시한 해결 방법 #
3.4.2. 잠금 화면에서의 메시지
3.4.3. 카카오톡
3.4.4. 메시지 앱을 열 수 없는 경우
3.5. 해결 방법
3.5.1. iOS 8.4 설치
3.5.2. Cydia에서 해당 문제의 패치를 설치하는 방법
4. iOS 10에서의 버그
4.1. 이모지 조합 버그
5. iOS 11에서의 버그
5.1. 칸나다어 버그
5.1.1. 해결 방법
5.2. Black Dots 버그
5.2.1. 해결 방법
6. iOS 12에서의 버그
6.1. 개요
7. iOS 13에서의 버그
7.1. Sindhi Italian Flag 버그
8. 기타


1. 개요


'''여기에 나와있는 문자들은 모두 이미지로 되어 있으니 안심하자.'''
iOS 기기에서 버전에 따라 특정 문자열을 보면 앱이 튕기고, 심하면 '''하드리셋'''을 해야 하는 문제이다.
CoreText 렌더링에 문제가 있어서 발생하는 버그이다.

그러나 문제가 있는 만큼 악용사례들도 심심찮게 볼 수 있다.

2. iOS 6에서의 버그



2.1. 개요


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

[image]

※ 여기에 표시된 문자열은 이미지로 되어 있다. 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할 수는 있기 때문에 주의해야 한다. 그리고 네이버 웹툰에서도 차단되었다.

2.2. 해결 방법


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

2.3. 참고



3. iOS 8에서의 버그



3.1. 개요



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

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.


3.2. 영향을 받는 기기 목록


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

3.3. 문제의 악용 사례


[image]
2015년 5월 28일, 이 버그가 대한민국에 널리 퍼진 이후로 각종 테러가 이어지고 있다.
먼저 사파리 상에서 단순히 저 메시지가 적혀있는 게시물을 열람했을 때는 특별히 문제가 보고되지 않고 있다.
카카오톡 단체방이 2년 전보다 활성화된 측면과 대한민국에서의 iPhone 6의 흥행으로 iOS 8이 어느정도 보급이 되어있는 상태인데, 저 문자를 단톡방에서 보내고 엄청나게 욕을 먹는 사례가 이어지고 있다. 이유인 즉슨, iOS 8의 기기에서는 저 문자를 보기만 하면 크래쉬가 일어나게 때문.
아프리카TV와 같은 실시간 스트리밍 서비스 앱에서도 비슷한 팅김 현상이 나타나고 있으며, 역시 해당 메시지를 채팅방에서 도배를 하고 다니는 악성 유저가 존재하는 상황이다. 아이폰으로 방송 시청하다가 갑자기 튕겼을 때, 다시 돌아와서 접속하면 아랍어 문자에 대한 성토와 괴문자 사용자 에 대한 강퇴요구가 채팅방에 도배되어있는걸 볼 수 있다.
만약 피해를 주기 위한 목적으로 특정 다수에게 피해를 줄 경우 법적 문제로까지 비화될 수 있는 상황.

3.4. 임시적인 해결 방법



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


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

3.4.2. 잠금 화면에서의 메시지


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

3.4.3. 카카오톡


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

3.4.4. 메시지 앱을 열 수 없는 경우


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

3.5. 해결 방법



3.5.1. iOS 8.4 설치


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

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


탈옥한 사용자들만 이용 가능하다.
  1. https://cydia.akemi.ai에 들어가 Main Repo 옆 링크를 눌러 배포처 소스를 자신이 사용하는 패키지 관리자에 추가한다.
  2. IneffectivePower를 검색해 해당 트윅을 설치하고 기기를 재부팅한다.

4. iOS 10에서의 버그



4.1. 이모지 조합 버그


🏳-0-🌈
'''다른 문자 버그를 알아도 이 문자 버그는 별로 유명하지 않기 때문에 몰랐을 것이다.'''
하이픈(-)은 제외하고[7] 다음 문자[8]를 보내면 받는 기기가 멈춰버린다.
문자를 수신하는 순간 바로 먹통이 되어 버리므로 버그를 피할수 없다. 3~5분 후 재부팅되면서 원상태로 복구된다(!).

5. iOS 11에서의 버그



5.1. 칸나다어 버그


[image]
위의 칸나다어 문자가 포함된 메시지를 받으면 시스템에서 문자 시간과 시간을 다시 로드하려고 계속 시도하고 메시지 앱을 누를 때마다 리스프링이 되거나 메시지 앱이 실행이 되지 않는다.
이전 버전에도 적용되는지에 대해서는 알려지지 않았으나 iOS 11.3 Beta 2에서는 나타나지 않는 걸로 알려져있다.

5.1.1. 해결 방법


iOS 11.2.6 설치

5.2. Black Dots 버그



[image]
해당 이미지에 있는 이모지를 링크[9]를 통해 상대방에게 보내면 메시지 앱이 실행돼도 정상적으로 작동이 되지 않거나 앱이 튕겨버리는 버그이다.

5.2.1. 해결 방법


iOS 11.0 부터 iOS 11.4 최신 베타(5월 9일 2018년 기준)인 DB4, PB4까지 적용되는 버그임으로 업데이트로는 해결 불가능하고 메시지 앱을 멀티테스킹 창에서 지우고 재부팅 후 3D 터치로 새 메시지 작성을 누르면 정상적으로 메시지앱 실행 가능하다.

6. iOS 12에서의 버그



6.1. 개요



2019년 2월 13일 EverythingApplePro가 새롭게 발견한 버그이다. Siri의 받아쓰기 기능으로 '하이픈' 또는 '대시' [10]를 5번 이상 쓰게 되면, iPhone이나 iPad 등이 리스프링이 되는 버그이다. 2019년 3월 2일 기준 iOS 최신버젼인 iOS 12.2 베타, 개발자 버전에서도 적용이 되는 버그이다.
iOS 12.2 정식 버전에서 고쳐진 것으로 확인된다.


7. iOS 13에서의 버그



7.1. Sindhi Italian Flag 버그


댓글 및 멘션 주의. 혹여나 그 문자를 만나게 될 수 있다(...).
그러므로 '''영향이 있는 기기에서는 가급적 댓글을 보지 말자.'''

이탈리아 국기, 바이러스 등의 이모지를 신디어(sindhi) 문자로 보내면 ios가 그대로 멈춰버리는 심각한 버그이다.
iOS 13.4.5에서 수정될 것으로 예상되고 있다.
iOS 14에서는 해당 버그가 통하지 않는다.
'''해결 방법은 그냥 과감하게 하드리셋 하자.'''

8. 기타


관련 유튜브 영상을 보면 댓글이 난리다. 튕긴다는 문자 써 놓은 사람, 튕긴다는 사람 등이 있다.
참고로 이대로는 '''iOS 14도 안심할 수 없다. 버그가 또 발견될 수 있다.'''
Black dots 버그같은 경우에는 '''우연히''' 버그 문자를 보내게 될 수 있다.
[1] 아랍어로 알려져 있기도 하지만 아랍어 아니다. 정확히 하면 밑의 자음은 아랍어 알파벳이 맞으나, 윗쪽의 모음 부분은 벵골어 내지는 표기이다.[2] 현재는 트위터측에서 트윗 내용을 바꿔 둔 상태라 iOS 구버전 사용자도 들어가도 괜찮다.[3] 현지시각으로 26일[4] 하지만 iOS 사용자가 모르고 이전 메시지를 보려다가 크래쉬 될 수 있다.[5] 야, 왜 그랬어?!와 같은 메시지를 보내면 좋다.[6] 보낼만한 사진이 없다면 그냥 검은사진 찍자. [7] iOS 유저들이 튕긴다고 할까 봐 중간에 하이픈을 넣은 것이다.[8] 흰 깃발, 숫자 0(0️⃣ 아님), 무지개 순서로 이모지[9] 장난으로라도 링크대로 장난을 하지 마는 것을 추천한다.[10] - 영어로는 hyphen. 대시(Dash) 라고도 한다.

분류