- การขอสิทธิ์เข้าถึงตำแหน่งของเบราว์เซอร์ ไม่ได้เป็นเพียงการประมาณตำแหน่งจาก IP เท่านั้น แต่ยังทำ การระบุตำแหน่งอย่างแม่นยำโดยใช้ข้อมูลของจุดเชื่อมต่อ Wi‑Fi โดยรอบ
- ในกระบวนการนี้ เบราว์เซอร์จะเก็บข้อมูลอย่าง SSID, BSSID และความแรงสัญญาณ (RSSI) แล้วนำไปเทียบกับฐานข้อมูลของผู้ให้บริการอย่าง Google
- ฐานข้อมูลเหล่านี้ถูกสร้างขึ้นจาก wardriving ในอดีต และการส่งข้อมูลอย่างต่อเนื่องจากอุปกรณ์ของผู้ใช้
- ในอดีตเคยมีข้อถกเถียงเรื่องการละเมิดความเป็นส่วนตัวหลายครั้ง เช่น กรณี การเก็บข้อมูลที่ไม่ได้เข้ารหัส ของรถ Google Street View
- ปัจจุบันอุปกรณ์ส่วนใหญ่ใช้ระบบนี้เป็นค่าเริ่มต้น และสามารถ ลงทะเบียน BSSID หรือเพิ่ม ‘_nomap’ ใน SSID เพื่อขอไม่เข้าร่วม (opt-out) ได้
ระบบเช็กชื่อเข้าเรียนและการยืนยันตำแหน่ง
- แพลตฟอร์ม TopHat ที่ใช้ในวิชาอัลกอริทึมของมหาวิทยาลัย Wisconsin ตรวจสอบตำแหน่งจริงของนักศึกษาเพื่อยืนยันการเข้าเรียน
- นอกจากการกรอกรหัสเช็กชื่อแบบทั่วไปแล้ว ฟีเจอร์ “Secure Attendance” ยังใช้ ข้อมูลตำแหน่งของอุปกรณ์ เพื่อตัดสินว่านักศึกษาอยู่ใกล้ห้องเรียนหรือไม่
- เนื่องจากการระบุตำแหน่งจาก IP มีความคลาดเคลื่อนสูง TopHat จึงใช้ Geolocation API ของเบราว์เซอร์
- API นี้จะขอสิทธิ์จากผู้ใช้อย่างชัดเจน และสามารถระบุตำแหน่งได้ด้วย ความแม่นยำระดับไม่กี่เมตร
วิธีทำงานของ Geolocation API
- Geolocation API ใช้แหล่งข้อมูลหลายแบบ เช่น GPS, IP และ Wi‑Fi แต่สำหรับ อุปกรณ์ที่ไม่มี GPS อย่างโน้ตบุ๊ก มักใช้ Wi‑Fi Positioning System (WPS) เป็นหลัก
- เมื่อเบราว์เซอร์เรียก
getCurrentPosition() จะมีการเก็บ SSID, BSSID และความแรงสัญญาณของ AP Wi‑Fi โดยรอบ
- BSSID เป็นตัวระบุเฉพาะที่อิงจาก MAC address ทำให้แยกหลายเครือข่ายที่ใช้ SSID เดียวกันได้
- ข้อมูลที่เก็บได้จะถูกส่งไปยังผู้ให้บริการระบุตำแหน่งอย่าง Google เพื่อ คำนวณตำแหน่งที่แม่นยำโดยเปรียบเทียบกับข้อมูลที่สะสมไว้แล้ว
ประวัติของการระบุตำแหน่งด้วย Wi‑Fi และการเก็บข้อมูล
- จุดเริ่มต้นมาจากเทคนิค wardriving ที่ Skyhook Wireless นำมาให้บริการเชิงพาณิชย์ในช่วงต้นทศวรรษ 2000
- โดยติดตั้งตัวรับ GPS บนรถยนต์ แล้วบันทึกตำแหน่งและความแรงสัญญาณของเครือข่าย Wi‑Fi รอบข้างระหว่างการเดินทาง
- ต่อมา Google ใช้ รถ Street View ในการเก็บข้อมูล Wi‑Fi ขณะที่ Apple และ Microsoft ก็เปลี่ยนไปใช้วิธี เก็บข้อมูลอัตโนมัติจากอุปกรณ์ของผู้ใช้
- ปัจจุบันสมาร์ตโฟนและโน้ตบุ๊กส่วนใหญ่จะ ส่งข้อมูล Wi‑Fi โดยรอบไปยังเซิร์ฟเวอร์ของผู้ผลิตเมื่อเปิดใช้บริการตำแหน่ง และข้อมูลเหล่านี้ก็ถูกนำไปใช้ประเมินตำแหน่งของอุปกรณ์อื่น
ประเด็นความเป็นส่วนตัวและความปลอดภัย
- ในปี 2010 มีการเปิดเผยว่า Google เก็บ ข้อมูล HTTP ที่ไม่ได้เข้ารหัสราว 600GB ผ่านรถ Street View จนเกิดข้อถกเถียงขึ้น
- ยังมีรายงานกรณีบั๊กใน API ระบุตำแหน่งของ Microsoft ที่ สามารถย้อนรอยเส้นทางการเคลื่อนที่ของผู้ใช้ได้
- งานวิจัยของมหาวิทยาลัย Maryland ในปี 2024 ที่เผยแพร่ใน งานวิจัยมหาวิทยาลัย Maryland ปี 2024 แสดงให้เห็นว่าสามารถอาศัยช่องโหว่ของบริการระบุตำแหน่งของ Apple เพื่อ ดึงตำแหน่ง BSSID ได้ราว 2 พันล้านรายการ
- ข้อมูลเหล่านี้อาจถูกนำไปใช้ในทางที่ผิด เช่น การติดตามบุคคลหรือการสอดส่องการเคลื่อนย้ายของประชากร
- หลังจากนั้น บริษัทใหญ่หลายแห่งได้เพิ่มความปลอดภัยของ API และเปิดให้ เพิ่ม ‘_nomap’ ใน SSID หรือลงทะเบียน BSSID เพื่อขอให้นำออกจากฐานข้อมูล
บทสรุปและฐานข้อมูลสาธารณะ
- เทคโนโลยีนี้เรียกว่า Wi‑Fi Positioning System (WPS) และยังถูกใช้งานอย่างแพร่หลายในปัจจุบัน
- wigle.net เป็น ฐานข้อมูลสาธารณะแบบ crowdsourcing ที่สะสมเครือข่ายราว 2 พันล้านรายการตลอด 25 ปี ทำให้ผู้ใช้สามารถตรวจสอบได้ว่าเครือข่ายของตนถูกบันทึกไว้หรือไม่
- beacondb.net เป็นฐานข้อมูลตำแหน่งไร้สายที่อยู่บน public domain และให้ชุดข้อมูลอิสระที่ต่างจากบริการเชิงพาณิชย์
- เหตุผลที่โน้ตบุ๊กสามารถระบุตำแหน่งได้อย่างแม่นยำ ก็เพราะ ข้อมูล Wi‑Fi ที่ผู้ใช้จำนวนมหาศาลส่งมอบให้อย่างไม่รู้ตัว
- แม้แต่ระบบเช็กชื่อเข้าเรียนก็ยังทำงานอยู่บน ผลลัพธ์ของการสะสมข้อมูลร่วมกันในลักษณะนี้
1 ความคิดเห็น
ความเห็นจาก Hacker News
ฉันตั้งค่า ตรึงตำแหน่ง ไว้ที่จุดหนึ่งใกล้บ้านใน Firefox
user_pref("geo.provider.network.url", 'data:application/json,{"location": {"lat": 45.0, "lng": -122.0}, "accuracy": 128.0}');แบบนี้ฉันเชื่อว่าข้อมูล Wi-Fi จะไม่รั่วออกไปภายนอก
ตัวอย่างเช่น ต้องตั้ง
geo.provider.use_corelocation,geo.provider.use_geoclue,geo.enabledเป็นfalseและอาจต้องตั้ง
geo.provider.testingเป็นtrueด้วยลิงก์อ้างอิงที่เกี่ยวข้อง: ประเด็นใน Bugzilla, StackOverflow, Security StackExchange
เวอร์ชัน Chrome, เวอร์ชัน Firefox
ตอนที่เคยทำงานที่บริษัทคู่แข่งของ Zoom เมื่อก่อน เราเคยทดลองฟีเจอร์สำหรับ ตรวจจับว่าผู้เข้าร่วมอยู่ในห้องเดียวกันหรือไม่
โดยให้โน้ตบุ๊กแต่ละเครื่องส่งเสียงความถี่สูงเฉพาะตัว แล้วฟังสัญญาณของกันและกัน
ในห้องแล็บมันใช้ได้ดี แต่พอเจอโลกจริงกลับล้มเหลว ถึงอย่างนั้นก็เป็นความพยายามที่น่าสนใจ
เสียงพื้นหลัง เสียงฟีดแบ็ก เสียงลำโพง ทำให้การประชุมพังหมด
บทความที่เกี่ยวข้อง: Science.org
ไม่นานมานี้ฉันลองทำ CLI เล็ก ๆ ชื่อ where-am-i
ลิงก์ GitHub
เพราะ GPS ในอาคารแย่มาก ฉันเลยรู้สึกว่า เทคโนโลยี geolocation แบบนี้มีประโยชน์จริง ๆ
/usr/libexec/geoclue-2.0/demos/where-am-iด้วยทุกวันนี้นักศึกษาคอมพิวเตอร์ที่หัวไวคงกำลังรัน แอปพร็อกซีที่รีเลย์สภาพแวดล้อม Wi-Fi บนมือถือ Android กันอยู่
แล้วให้เพื่อนใช้ปลั๊กอินเบราว์เซอร์หรือแฮ็ก Linux เพื่อรับข้อมูลนั้นไปหลอกตำแหน่ง
แค่รู้พิกัดของห้องเรียนก็พอ
PC ของฉันไม่มีการเชื่อมต่อไร้สาย ดังนั้น Geolocation API เลยล้มเหลวตลอด
คงไม่ผ่านระบบเช็กชื่อเข้าเรียนในชั้นเรียนแน่ ๆ
ดูเหมือนว่าน่าจะแฮ็กเบราว์เซอร์ให้ คืนค่าตำแหน่งปลอม ได้เหมือนกัน
มารู้ทีหลังว่าแก้ได้ด้วยการตั้งค่า Firefox ก็รู้สึกเฟลนิดหน่อย
ถ้ามีสิทธิ์ผู้ดูแลระบบ ฉันสงสัยว่าจะ สปูฟตำแหน่ง ได้ไหม
เช่น อยากลองคัดลอกรายการ SSID/BSSID ของห้องเรียนที่เพื่อนอยู่ เพื่อหลอกว่าฉันอยู่ตรงนั้น
กว่าจะปรับถูกก็ผ่านไปราว 30 วินาที
นี่เหมือน ระบบคลิกเกอร์ (clicker) สมัยมหาวิทยาลัยในเวอร์ชันยุคใหม่
กลยุทธ์ที่ "แก้ไม่ได้" อย่างฝากเพื่อนไปเช็กชื่อแทนก็ยังใช้ได้เหมือนเดิม
ฉันใช้ Symbian อยู่นานมาก เพิ่งมารู้ไม่นานนี้เองว่ามี ธรรมเนียมการสแกน Wi-Fi แบบนี้อยู่
รถ Google Street View สแกนเราเตอร์ของฉันยังพอรับได้ แต่ที่มือถือฉันแอบติดตามฉันนี่ชวนไม่สบายใจ
หวังว่า Android fork อย่าง GrapheneOS จะช่วยป้องกันเรื่องนี้ได้
ตอนเรียนที่ออสเตรีย มหาวิทยาลัยแทบจะ ปล่อยให้นักศึกษาจัดการตัวเอง
ฉันไม่ค่อยเข้าใจการบังคับเช็กชื่อ แค่สอบผ่านก็น่าจะพอไม่ใช่หรือ
วิชาแล็บเป็นข้อยกเว้น แต่ถ้าไม่เข้าร่วมก็เห็นชัดอยู่แล้ว
สุดท้ายแล้วก็ขึ้นอยู่กับ ระดับของสถาบันและความเป็นอิสระของนักศึกษา
แต่โปรเจกต์แล็บทำเป็นทีม ถ้าไม่เข้าร่วมก็จะไม่ได้ผลลัพธ์
เพราะต้องใช้ข้อมูลเรื่องทุนการศึกษา กราฟความสัมพันธ์ระหว่างการเข้าเรียนกับผลการเรียน ฯลฯ
แต่โดยพื้นฐานแล้วนักศึกษาเป็นผู้ใหญ่ ดังนั้นฉันคิดว่าการเรียนเป็นความรับผิดชอบของตัวเอง
เทคโนโลยีนี้ถูก ใช้อย่างแพร่หลายมานานกว่า 20 ปีแล้ว
GPS แม่นยำก็จริงแต่ช้า และไม่เสถียรในอาคารหรือสภาพแวดล้อมในเมือง
ในทางกลับกัน ข้อมูล Wi-Fi มีอยู่มากและให้ ตำแหน่งที่แม่นยำได้ภายในไม่ถึง 1 วินาที