애플 아이폰과 아이패드를 원격지에서 멎게 하고, 배터리를 망가뜨리고, 기기를 고장내는 방법이 발표되었다. iOS 9.3.1 이전 버전이 탑재된 iOS기기가 이 취약점의 영향을 받는다.
이 방법은 지난 2월 발표된 “1970.1.1일 버그”를 응용한 것이다. 2월 11일 보안 연구원 Zach Straley는 아이폰이나 아이패드 날짜를 1970년 1월 1일로 변경하면 기기가 멎는다는 것을 발견하고 유튜브에 시연 동영상을 공개한 바 있다. 동영상은 이내 수백만 조회수를 기록하는 등 큰 관심을 받았다.
동영상을 보던 보안 연구원 패트릭 켈리(Critical Assets)와 매트 해리건(PacketSled)의 머리 속에 한 가지 생각이 떠올랐다. 이 취약점을 자동화 하면 원격지에서 아이폰을 먹통으로 만들 수 있지 않을까?
알다시피 에플 제품의 와이파이 인증 과정은 상대적으로 취약한 편이다. 카페에서 와이파이에 연결했는데 와이파이 이름이 “stfswifi” 라고 가정해 보자. 애플 기기는 이 와이파이를 기억해 두었다가 다음에 카페에 가면 “stfswifi”에 자동으로 연결한다.
공격자 입장에서 이건 좋은 기회다. “stfswifi”라는 이름의 가짜 핫스팟을 만들고 와이파이 신호를 증폭시켜 “stfswifi”를 카페 와이파이로 착각하도록 해서 접속하게 만들면 폰에 저장된 데이터를 읽고, 변조하고, 네트워크 트래픽을 다른 데로 보내는 등 많은 것들이 가능하기 때문이다.
애플 NTP 서버로 위장한 가짜 와이파이 AP를 만든다면 어떨까? NTP(Network Time Protocol)는 네트워크에 연결된 기기들끼리 시간을 동기화시키는 데 사용되는 프로토롤로, 애플은 time.apple.com을 사용한다. 이 NTP를 스푸핑하면 연결된 애플 기기의 날짜를 임의로 변경할 수 있을까? 연구원들은 120달러를 들여 장비를 마련해 애플 NTP 스푸핑 테스트를 시작했다.
![애플 NTP 스푸핑 테스트에 사용된 라스배리파이](/wp-content/plugins/lazy-load/images/1x1.trans.gif)
그 결과 연구원들은 접속된 아이패드 시간을 1970.1.1일로 바꾸는 데 성공할 수 있었다. 연구원들은 다음과 같이 시연 동영상을 발표했다.
![dnsmasq 설정 화면](/wp-content/plugins/lazy-load/images/1x1.trans.gif)
![스크린샷](/wp-content/plugins/lazy-load/images/1x1.trans.gif)
아이패드는 앱이 실행되지 않고, 화면이 멎고, 잠금화면 패스워드를 인식하지 못하는 등 서서히 먹통이 되어 가고, 재부팅하면 화면에 애플 로고만 표시된다. USB로 컴퓨터에 연결하고 아이튠즈를 실행시켜도 아이패드가 인식되지 않는다. 그러는 동안에 배터리가 급격히 소모되고 아이패드는 점점 뜨거워진다.
![애플 무한사과](/wp-content/plugins/lazy-load/images/1x1.trans.gif)
연구원들은 이 공격을 이용하면 iOS 9.3.1 이전 버전의 아이패드를 원격지에서 벽돌 상태로 만들 수 있다며 속히 업데이트 할 것을 권했다. 이 취약점은 2주 전 iOS 9.3.1 업데이트를 통해 패치되었다.
연구원들은 또한 공공장소나 신뢰하지 않는 와이파이를 함부로 사용하지 말고, 평상시 되도록이면 와이파이 자동 연결을 끌 것을 권했다(설정 – Wi-Fi – “네트워크 연결 요청” 끄기). 또한 iOS 기기가 이유없이 갑자기 뜨거워 진다면 불이 붙지 않도록 안전한 장소로 옮길 것을 강조했다. 이 테스트는 애플 보안팀의 협조 하에 진행되었다고 한다.