아이폰과 아이패드를 작동 불능 상태로 만드는 심각한 취약점이 발견돼 애플의 대응에 눈길이 쏠리고 있습니다. 미 IT매체 나인투파이브맥은 11일(현지시각) 사용자가 임의로 iOS의 시스템 날짜를 변경할 경우, 아무 기능이 작동하지 않는 소위 ‘벽돌폰’이 될 수 있다고 보도했습니다.
시스템 날짜를 뒤로 돌려 1970년 1월 1일로 설정하면 내부 버그에 의한 시스템 재부팅 등의 현상이 발생하고 기기가 작동 불능 상태에 빠진다는 것입니다. 더 큰 문제는 iOS 장치가 한번 작동 불능 상태에 빠지면 사실상 사용자가 손 쓸 방법이 없다는 것입니다. 버그로 인해 iOS 기기가 작동 불능 상태로 들어간 이후 DFU 모드 진입을 통한 공장초기화나 아이튠즈 복구 기능으로도 해결이 불가능한 것으로 알려졌습니다.
이 버그는 ‘vista980622’라는 닉네임을 사용하는 유저가 인터넷 커뮤니티 레딧에 글을 올리면서 빠르게 확산됐습니다. 중국 사이트에서 관련 정보를 보고 자신의 아이폰과 아이패드에 실험했는데, 아니나 다를까 기기가 작동 불능상태에 빠졌다는데요. 이후 그의 글을 보고 따라한 다수의 게시판 사용자도 동일한 문제를 경험하고 있다는 글을 올리고 있습니다.
설마 따라 할 사람은 없겠지만, 또 따라해서도 안 되지만, 버그를 재현하는 방법은 이렇습니다. iOS 설정 > 일반 > 날짜와 시간에 들어가서 ‘자동으로 설정’ 스위치를 ‘끔’으로 바꿔줍니다. 화면 중간에 있는 아래 있는 날짜를 위로 끝까지 스크롤 하여 연도를 2000년 즈음으로 설정합니다. 그리고 다시 날짜를 스크롤 하여 시스템 날짜를 1970년 1월 1일로 맞춰줍니다. (이렇게 몇 번에 걸쳐서 날짜를 바꾸는 이유는 시스템 날짜를 단번에 1970년으로 설정할 수 없기 때문입니다.)
이 같은 방법으로 시스템 날짜를 1970년 1월 1일로 설정하고 기기를 종료하면, 다음 부팅 때 화면에 애플 로고만 나타나며 사용 불가능 상태가 된다고 합니다. 마치 해가 바뀌면 시스템 날짜 구조가 뒤엉켜 컴퓨터가 망가진다던 Y2K 버그가 떠오릅니다.
아직 애플 측의 공식입장이 나오지 않아 왜 이런 버그가 발생하는지 정확한 이유는 확인되지 않았습니다. 다만 여러 외신들은 iOS의 뿌리인 유닉스가 날짜를 처리하는 방식과 관련이 있는 것으로 추측하고 있습니다.
유닉스 운영체제는 1970년 1월 1일 0시를 기준 시간으로 설정해 1초 단위로 시스템 날짜를 계산합니다. 예컨대 역시 유닉스 기반인 OS X에서 ‘date +%s’ 터미널 명령어를 입력하면 이날부터 정확히 몇 초의 시간이 흘렀는지를 보여줍니다. 그런데 날짜 설정을 1970년 1월 1일로 돌리는 경우 현지의 표준시간대에 따라 실제 시스템 날짜가 음수로 바뀔 수 있습니다. 즉, 운영체제가 날짜를 제대로 인식할 수 없게 되면서 이러한 버그가 발생한다는 겁니다.
그나마 다행인 점은 64bit 프로세서(A7~A9X)가 탑재된 비교적 최신 iOS 기기만 버그의 영향권 아래 있다는 점입니다. 32bit 프로세서가 탑재된 아이폰 5라든가 구형 아이패드에서는 버그가 재현되지 않는다고 합니다. *아래는 64bit 프로세서가 탑재된 iOS 기기 목록입니다.
∙ iPhone 5s
∙ iPhone 6 및 6 Plus
∙ iPhone 6s 및 6s Plus
∙ iPod Touch 6세대
∙ iPad Air
∙ iPad Air 2
∙ iPad Pro
어떤 이유로든 이번 버그로 인해 기기를 사용할 수 없게 되면, 앞서 적은 것처럼 일반적인 방법으로는 복구가 불가능하며, 반드시 애플 공인 AS센터를 방문해 기기를 교체하거나 케이스를 열어 메인보드와 배터리를 분리해야 한다고 합니다.
참조
• 9to5mac – This iOS date trick will reportedly brick any device [Video]
• Reddit – Changing Time & Date settings to Jan 1, 1970 will permanently brick 64-bit iOS devices
관련 글
• 아이폰, 맥용 사파리 강제 충돌시키는 링크 확산… 사용자 주의 요구
• 텍스트 한줄로 iOS와 OS X 앱을 강제로 충돌시킬 수 있는 취약점 발견