5P by GN⁺ 7시간전 | ★ favorite | 댓글 1개
  • 브라우저의 위치 권한 요청은 단순한 IP 기반 위치 추정이 아니라, 주변 Wi-Fi 액세스 포인트 정보를 이용한 정밀 위치 측정을 수행
  • 이 과정에서 브라우저는 SSID, BSSID, 신호 세기(RSSI) 등의 데이터를 수집해 Google 등 서비스 제공자의 데이터베이스와 대조
  • 이러한 데이터베이스는 과거 워드라이빙(wardriving) 및 사용자 기기의 지속적 데이터 전송을 통해 구축되어 있음
  • 과거 Google Street View 차량의 비암호화 데이터 수집 사건 등, 개인정보 침해 논란이 여러 차례 발생
  • 오늘날 대부분의 기기가 기본적으로 이 시스템을 사용하며, BSSID를 등록하거나 SSID에 ‘_nomap’을 추가해 제외(opt-out) 가능

출석 시스템과 위치 확인

  • Wisconsin대의 알고리듬 수업에서 사용된 TopHat 플랫폼은 출석 확인을 위해 학생의 실제 위치를 검증
    • 단순한 출석 코드 입력 외에, “Secure Attendance” 기능이 기기 위치 정보를 이용해 학생이 강의실 근처에 있는지 판단
  • IP 기반 위치 추정은 오차가 크기 때문에, TopHat은 브라우저의 Geolocation API를 사용
    • 이 API는 사용자에게 명시적 권한을 요청하며, 수 미터 단위의 정확도로 위치를 파악

Geolocation API의 작동 방식

  • Geolocation API는 GPS, IP, Wi-Fi 등 다양한 소스를 활용하지만, 노트북 등 비-GPS 기기에서는 Wi-Fi Positioning System(WPS) 이 주로 사용
  • 브라우저는 getCurrentPosition() 호출 시 주변 Wi-Fi AP의 SSID, BSSID, 신호 세기를 수집
    • BSSID는 MAC 주소 기반의 고유 식별자이며, 이를 통해 동일한 SSID를 가진 여러 네트워크를 구분 가능
  • 수집된 정보는 Google 등 위치 서비스 제공자에게 전송되어, 이미 축적된 데이터와 비교해 정확한 위치를 계산

Wi-Fi 위치 결정의 역사와 데이터 수집

  • 2000년대 초 Skyhook Wireless가 상용화한 워드라이빙(wardriving) 기법에서 시작
    • 차량에 GPS 수신기를 장착해 이동 중 주변 Wi-Fi 네트워크의 위치와 신호 세기를 기록
  • 이후 Google은 Street View 차량을 이용해 Wi-Fi 정보를 수집했고, Apple·Microsoft 등도 사용자 기기에서 자동 수집하는 방식으로 전환
  • 오늘날 대부분의 스마트폰과 노트북은 위치 서비스 활성화 시 주변 Wi-Fi 정보를 제조사 서버로 전송, 이를 통해 다른 기기의 위치 추정에 활용

개인정보 및 보안 논란

  • Google이 2010년 Street View 차량으로 비암호화 HTTP 데이터 약 600GB를 수집한 사실이 공개되어 논란 발생
  • Microsoft의 위치 API 버그로 사용자의 이동 경로를 복원할 수 있었던 사례 도 보고됨
  • 2024년 Maryland대 연구에서는 Apple 위치 서비스의 취약점을 이용해 약 20억 개의 BSSID 위치를 추출할 수 있었음
    • 이 정보는 개인 추적이나 인구 이동 감시 등 악용 가능성이 있음
  • 주요 기업들은 이후 API 보안을 강화하고, SSID에 ‘_nomap’을 추가하거나 BSSID를 등록해 데이터베이스에서 제외할 수 있는 기능을 제공

결론 및 공개 데이터베이스

  • 이 기술은 Wi-Fi Positioning System(WPS) 으로 불리며, 현재도 활발히 사용 중
  • wigle.net 은 25년간 약 20억 개 네트워크를 수집한 크라우드소싱 기반 공개 데이터베이스로, 사용자는 자신의 네트워크가 등록되었는지 확인 가능
  • beacondb.net 은 공개 도메인 기반의 무선 위치 데이터베이스로, 상용 서비스와는 다른 독립적 데이터셋을 제공
  • 노트북이 위치를 정확히 파악할 수 있는 이유는, 수많은 사용자가 무의식적으로 제공한 Wi-Fi 데이터 덕분
  • 강의 출석 확인조차 이러한 집단적 데이터 축적의 결과물 위에서 작동하고 있음
Hacker News 의견
  • 나는 Firefox 설정에서 집 근처의 특정 위치로 위치를 고정해둠
    user_pref("geo.provider.network.url", 'data:application/json,{"location": {"lat": 45.0, "lng": -122.0}, "accuracy": 128.0}');
    이렇게 하면 Wi-Fi 데이터가 외부로 새지 않는다고 믿고 있음

    • MacOS, Linux, 전체 기능 비활성화를 위한 여러 옵션이 있음
      예를 들어 geo.provider.use_corelocation, geo.provider.use_geoclue, geo.enabled 등을 false로 설정해야 함
      또한 geo.provider.testingtrue로 해야 할 수도 있음
      관련 참고 링크: Bugzilla 이슈, StackOverflow, Security StackExchange
    • 사이트별로 위치 정확도를 조절할 수 있는 LocationGuard 플러그인이 있음
      Chrome 버전, Firefox 버전
  • 예전에 Zoom 경쟁사에서 일할 때, 참가자들이 같은 방에 있는지 감지하는 기능을 실험했음
    각 노트북이 고유한 고주파음을 내고 서로의 신호를 듣는 방식이었음
    실험실에서는 잘 됐지만 현실에서는 실패했음. 그래도 재미있는 시도였음

    • 사람들은 기본적인 예절을 배워야 함. 헤드폰 없이 화상회의를 하는 건 미친 짓임
      배경음, 피드백, 스피커 소리 등으로 회의가 엉망이 됨
    • Microsoft Teams도 초음파 기반 하울링 감지를 지원함
    • Google Meet도 비슷한 기능을 제공함
    • 고주파를 방출하는 건 귀에 해로울 수 있음
      관련 기사: Science.org
    • Cisco Teams/Webex도 초음파로 회의실 내 참석자를 감지하는 기능이 있었음
  • 나는 최근에 where-am-i라는 작은 CLI를 만들어봤음
    GitHub 링크
    실내 GPS가 형편없기 때문에 이런 지오로케이션 기술이 정말 유용하다고 느낌

    • 실내에서 GPS가 왜 필요한지 궁금함. 대부분의 경우 위치를 알고 있지 않음?
    • Linux에는 /usr/libexec/geoclue-2.0/demos/where-am-i라는 데모도 있음
    • 하지만 대형 쇼핑몰, 기차역, 공항 같은 곳에서는 방향 감각을 잃기 쉬움
  • 요즘 똑똑한 컴공 학생들은 아마도 Wi-Fi 환경을 중계하는 프록시 앱을 안드로이드 폰에 돌리고 있을 것 같음
    친구들이 브라우저 플러그인이나 Linux 해킹으로 그 데이터를 받아 위치를 속이는 식으로

    • 실제로 브라우저의 지오로케이션 API는 단순히 좌표를 반환하므로, 위치 속이기가 꽤 쉬움
      교실의 좌표만 알면 됨
  • 내 PC에는 무선 연결이 없어서 Geolocation API가 항상 실패함
    아마 수업 출석 확인에서 탈락했을 듯함
    브라우저를 해킹해서 가짜 위치를 반환하도록 만들 수도 있을 것 같음
    나중에 Firefox 설정으로 해결할 수 있다는 걸 알고 허탈했음

  • 관리자 권한이 있다면 위치 스푸핑이 가능한지 궁금함
    예를 들어 친구가 있는 교실의 SSID/BSSID 목록을 복제해서 내가 그곳에 있는 것처럼 속이는 실험을 해보고 싶음

    • Skylift는 OS 대신 ESP8266/ESP32 하드웨어로 필요한 비콘을 송출함
    • 나도 이걸 우연히 경험했음. Wi-Fi 공유기를 새 집으로 옮긴 직후, 폰이 여전히 예전 집 위치로 인식했음
      30초쯤 지나서야 제대로 수정되었음
  • 이건 예전 대학 시절의 클리커(clicker) 시스템의 현대판 같음
    친구에게 맡겨 출석을 대신 찍게 하는 ‘패치 불가능한 전략’이 여전히 통함

  • 나는 Symbian을 오래 썼는데, 이런 Wi-Fi 스캐닝 관행이 있다는 걸 최근에야 알게 됨
    Google Street View 차량이 내 라우터를 스캔하는 건 괜찮지만, 내 폰이 몰래 나를 추적하는 건 불쾌함
    GrapheneOS 같은 Android 포크는 이런 걸 막아줄 거라 기대함

    • 적어도 사용자가 검증 가능한 제어권을 가질 수 있음
  • 오스트리아에서 공부했을 때는 대학이 학생을 거의 자율에 맡겼음
    출석 강제는 이해가 안 됨. 시험만 통과하면 되는 거 아닌가 생각함
    실험실 수업은 예외지만, 참여 안 하면 바로 드러남

    • 우리 대학도 출석을 안 챙겼지만, 어떤 학교들은 이유가 있음
      1. 학생들이 자기 통제력이 부족해서 출석이 동기부여가 됨
      2. 토론 중심 수업에서는 참여가 필수임
      3. 외국인 학생 비자 요건 때문에 출석 기록이 필요함
      4. 불만 제기 시 공정한 판단을 위해 출석 데이터가 필요함
        결국 학교의 수준과 학생 자율성에 따라 다름
    • 영국에서 물리학을 공부했을 때도 출석은 자유로웠음
      대신 실험 프로젝트는 팀 단위로 진행돼서, 참여 안 하면 결과를 얻을 수 없었음
    • 나는 대학에서 여전히 수동 출석 체크를 함
      장학금, 출석-성적 상관 그래프 등 데이터가 필요하기 때문임
      하지만 기본적으로 학생은 성인이므로, 학습은 본인 책임이라 생각함
    • 2004년에 미국에서 졸업했는데, 그때도 강의 출석은 의무가 아니었음
    • 요즘 미국 대학생들은 성숙이 늦어져서, 대학이 보호자 역할을 해야 하는 상황임
  • 이 기술은 이미 20년 넘게 널리 사용되고 있음
    GPS는 정확하지만 느리고, 실내나 도시 환경에서는 불안정함
    반면 Wi-Fi 데이터는 풍부하고, 1초 이내에 정확한 위치를 얻을 수 있음