iPhone 위치 데이터에 대한 저희의 조사와 활용 방법
“우리는 당신이 어디에 사는지 압니다!” 적어도 iPhone과 iPad용 최신 iOS 4에 휴대전화가 켜져 있는 동안 iPhone의 위치를 상세히 계속 기록하는 추적 장치가 있다는 사실이 밝혀진 뒤, Apple은 이렇게 주장할 수도 있게 되었습니다. 이 정보는 휴대전화 자체에 저장될 뿐 아니라, iTunes로 iPhone을 동기화할 때 만들어지는 백업에도 자동으로 포함됩니다.
디지털 포렌식 업계에서는 몇 달 전부터 알려져 있었지만, 이 소식은 보안 연구원 Pete Warden과 Alasdair Allan의 보고서를 계기로 일반에 알려졌고, 익명성이 조금 더 줄어들었다는 소식에 블로그 글과 트윗이 쏟아지며 인터넷이 떠들썩해졌습니다. 하지만 이 소식이 정말 그렇게 심각할까요? 평범한 iPhone 사용자는 얼마나 걱정해야 할까요?
iPhone이나 iPad는 어떤 위치 데이터를 추적하고 있나요?
저희는 이 문제를 조사했으며, iTunes 백업 파일에 노출된 위치 데이터는 특정 상황에서 우려를 일으키기에 충분하다는 결론을 내렸습니다. 약 1년 치 위치 데이터가 들어 있는 휴대전화를 분석했습니다. 대체로 이 데이터를 통해 휴대전화 사용자가 특정한 날 대략 어디에 있었는지 알 수 있습니다. 예를 들어 사용자가 올해 초 몰디브로 휴가를 갔을 때는 휴대전화의 위치 지점이 런던에서 몰디브로 건너뛰는 것을 볼 수 있습니다. 하지만 훨씬 구체적인 위치까지 자세히 파고들기는 그리 쉽지 않습니다.

Google Earth에서 본 iPhone 위치 추적 데이터
이 데이터는 이동통신 기지국(미국 사람들 표현으로는 “cell phone tower”)에서 얻은 것으로 보이기 때문에 위치 지점의 정확도는 크게 다릅니다. 도시(또는 이동통신 기지국이 많은 다른 지역) 안에서는 대체로 사용자를 수백 미터 이내로 추적할 수 있습니다. 시골에서는 사정이 다릅니다. 한 예로 사용자가 하루 동안 포츠머스에 있었는데, 위치 표시에는 그날 사용자가 포츠머스, 사우샘프턴, 와이트섬에 번갈아 있는 것으로 나타났습니다! 게다가 Apple은 어떤 이유에서인지 이 데이터를 실시간으로 저장하지 않기로 한 것으로 보입니다. 대신 위치 정보를 모아서 보통 하루에 한두 번 휴대전화에 기록합니다.
그래서 사용자가 동시에 여러 곳에 있는 것처럼 보일 수 있으며, 서너 곳의 서로 다른 위치가 기록되지만 날짜와 시간은 모두 같을 수도 있습니다. 그래도 사용자가 무엇을 하고 있었는지 대략적으로 보여 줄 만큼의 데이터가 있다는 점은 분명합니다. 경찰과 보안 기관은 더 정확한 위치 데이터를 얻기 위해 이동통신사에 소환장을 발부하는 막대한 비용을 들이지 않고도 이 데이터로 알리바이를 입증하거나 반증하는 데 큰 도움을 받을 수 있을 것입니다.

iPhone Backup Extractor의 무료 KML 내보내기 옵션
iPhone을 가지고 있고 휴대전화가 나에 대해 어떤 정보를 보여 주는지 궁금하다면, iPhone Backup Extractor를 업데이트하여 위치 데이터를 CSV 형식(Excel에서 보기에 적합) 또는 KML 형식(무료 Google Earth 소프트웨어로 지도에서 볼 수 있음)으로 추출할 수 있게 했습니다.
이 문제로 많은 분이 걱정하고 계시다는 점을 인지하고, 이 기능을 소프트웨어의 무료 버전에 제한 없이 넣기로 했습니다. 소프트웨어는 저희 사이트에서 다운로드할 수 있습니다.
consolidated.db: 위치 데이터 추적
iOS에서는 consolidated.db 파일에 휴대전화, GPS, Wi-Fi 위치 데이터가 저장됩니다. 기기에 무엇이 저장되어 있는지 사용자가 알 수 있게 하는 것은 나쁜 생각이 아니며 저희에게 중요한 원칙이기도 하므로, 이 사실이 알려진 것은 나쁜 일이 아닙니다.
Apple은 기기와 백업에 위도와 경도 좌표, 타임스탬프보다 조금 더 많은 정보를 저장합니다. 아래는 이 안의 각 테이블에 무엇이 들어 있는지 간단히 정리한 것입니다.
CellLocation(또는CdmaCellLocation): 타임스탬프(시간과 날짜), 위도, 경도, 수평 정확도, 고도(설정되지 않음), 수직 정확도(설정되지 않음), 속도(설정되지 않음)CellLocationHarvest: 통신사(Orange, T-Mobile, O2, Vodafone), 타임스탬프(시간과 날짜), 위도, 경도, 수평 정확도, 고도, 수직 정확도, 속도, 방향(진행 방향), 신뢰도(정확도 백분율)LocationHarvest: tripID, 타임스탬프(시간과 날짜), 위도, 경도, 수평 정확도, 고도, 수직 정확도, 속도, 방향(진행 방향), 신뢰도(정확도 백분율)WifiLocation: Wi-Fi의 MAC 주소, 시간/날짜, 위도, 경도, 수평 정확도, 고도, 수직 정확도, 속도(설정되지 않음), 방향(설정되지 않음), 신뢰도(정확도 백분율)
이 데이터베이스에는 저장된 휴대전화 위치 외에도 흥미로운 내용이 있습니다. 저장되는 데이터는 휴대전화와 신호에만 한정되지 않습니다. 3G와 Wi-Fi 위치가 많고, GPS를 사용할 때도 위치 데이터가 기록됩니다. 예를 들어 이동 중에 3G, BT OpenZone 또는 비슷한 Wi-Fi 소스를 사용하면, 켜져 있는 경우 앱의 GPS 사용이 활성화되어 위치가 저장됩니다. 연결했던 Wi-Fi 공유기에 대한 세부 정보도 consolidation.db 파일에 저장됩니다.
이 데이터의 정확도는 휴대전화 기지국과 GPS 소스에서 이루어지는 삼각 측량의 정확도에 달려 있습니다. 제 iPhone에 저장된 데이터를 보면 이동 중인 iPhone의 위치에 대한 삼각 측량은 그다지 정확하지 않지만, 그래도 실제 위치에서 1마일 안팎입니다. GPS 위치는 정확히 일치하지는 않더라도 몇 미터 이내인 것으로 보여서, 데이터의 차이를 해독하지 않으면 맞을 때도 있고 틀릴 때도 있습니다. 정확도는 위치가 얼마나 외진 곳이냐에 따라 항상 크게 달라집니다. 시가지일수록 기지국이 더 촘촘하게 있어서 이런 측정값이 더 정확합니다.
위치 데이터를 저장하는 consolidated.db 파일은 어디에 있고, 그 내용은 어떻게 볼 수 있나요?
iPhone Backup Extractor를 사용하면 consolidated.db을 쉽게 찾을 수 있습니다.

iPhone Backup Extractor로 consolidated.db 추출하기
consolidated.db 데이터베이스 파일은 백업과 iPhone 모두에서 /Library/Caches/locationd에 저장됩니다. Apple은 iTunes와 동기화한 뒤 백업 파일을 16진수로 인코딩된 SHA1 해시로 저장하기 때문에, 파일에 접근하는 가장 쉬운 방법은 “Expert mode”를 사용하는 것입니다. 다음과 같이 하면 됩니다.
- iPhone Backup Extractor를 엽니다
- “Expert mode” 버튼을 클릭합니다
- 다음 폴더로 이동합니다:
Library→Caches→locationd consolidation.db파일 옆의 확인란을 선택합니다- “Extract selected” 버튼을 클릭하고 파일을 저장할 위치를 선택합니다
- consolidation.db 파일은 이 위치의 다음 폴더에 저장됩니다:
\Library\Caches\locationd
데이터베이스 파일을 보려면 다음 애플리케이션 중 하나를 사용해야 합니다. 두 애플리케이션 모두 무료이며, 위에서 언급한 테이블을 살펴보면 기술 지식이 많지 않아도 위치 데이터를 볼 수 있을 것입니다.

SQLite Manager에서 본 iPhone의 consolidated.db
데이터베이스에서 위치 기준점을 찾았다면 Google Maps를 사용해 위치를 지도에 표시할 수 있습니다. “위도, 경도”로 검색하면 입력한 위치를 찾을 수 있습니다.





