애플 위치 데이터로 무선 신호 출처 추적
원제 WaveDigger: Dig into wireless signals to discover their physical locations
104 포인트댓글 20
Key Point
WaveDigger는 애플의 비공개 위치 서비스 API를 역엔지니어링해 Wi-Fi와 기지국 위치를 조회하는 도구로, 오픈소스로 공개되어 무선 네트워크 보안과 프라이버시 문제를 다시 제기한다.
핵심 요약
- WaveDigger는 Wi-Fi 액세스 포인트의 BSSID(MAC 주소)와 LTE·5G NR 기지국의 네트워크 파라미터를 입력해 물리적 위치를 찾아주는 웹 도구다.
- Next.js, TypeScript, deck.gl로 구축되었으며 호스팅 버전은 wavedigger.networksurvey.app에서 사용 가능하다.
- BSSID 검색 시 자동 포맷팅과 유효성 검사를 지원하며, 기지국 검색은 LTE(MCC, MNC, TAC, Cell ID) 또는 5G NR(MCC, MNC, TAC, NCI) 파라미터를 받는다.
- 5G NR 검색은 목표 셀 외에 같은 클러스터 내 주변 NR 셀도 함께 반환한다.
- deck.gl 기반 인터랙티브 맵에서 결과를 시각화하며, 검색 이력 추적과 반응형 디자인을 제공한다.
- 애플의 위치 서비스 API 역엔지니어링을 수행한 apple-corelocation-experiments 팀의 연구 결과를 기반으로 구현되었다.
- 프로토버프 정의, API 엔드포인트 문서, 좌표 인코딩 방식 등 해당 팀의 역분석 결과를 활용한다.
- Node.js 24+ 필요하며, npm install로 의존성 설치 후 npm run dev로 로컬에서 실행할 수 있다.
- 선택사항으로 Mapbox 토큰을 추가하면 향상된 지도 타일을 사용할 수 있다.
- 애플의 실제 WLOC API를 쿼리하며, gs-loc.apple.com/clls/wloc로 프로토버프 통신을 수행하고 중국 지역 엔드포인트도 지원한다.
- 좌표 변환은 애플이 사용하는 int64 8자리 소수 형식을 처리한다.
- 모든 BSSID가 애플 데이터베이스에 있는 것은 아니며, 신규 배포 또는 비공개 액세스 포인트는 위치 데이터가 없을 수 있다.
- 향후 JSON/CSV 내보내기와 TAC 클러스터 뷰 기능 추가를 계획 중이며, GNU Affero General Public License v3.0으로 배포된다.