- แอป BM2 สำหรับตรวจสอบสถานะแบตเตอรี่รถยนต์ เก็บรวบรวมไม่เพียงพิกัด GPS แต่ยังรวมถึงข้อมูล Wi‑Fi รอบข้างและสถานีฐานเครือข่ายมือถือ แล้วส่งไปยังเซิร์ฟเวอร์ระยะไกล
- ข้อมูลถูกส่งไปยังเซิร์ฟเวอร์
bm2.quicklynks.comของ Leagend ผู้พัฒนาผลิตภัณฑ์/แอป และเซิร์ฟเวอร์ของ AMap ผู้พัฒนา SDK บริการตำแหน่ง โดยตรวจสอบได้ว่าโฮสต์อยู่บน Alibaba Cloud ฮ่องกงและปักกิ่งตามลำดับ - แม้เป็นแอปที่มียอดดาวน์โหลด 100K+ บน Google Play แต่ข้อความแสดงความเป็นส่วนตัวใน App Store ช่วงแรก เช่น “ไม่มีการแชร์ข้อมูล”, “ไม่มีการเก็บรวบรวมข้อมูล”, “เข้ารหัสระหว่างส่ง” ไม่ตรงกับพฤติกรรมจริง
- บน Android การสแกน Bluetooth ต้องใช้สิทธิ์ตำแหน่ง ทำให้ผู้ใช้แทบจำเป็นต้องอนุญาตสิทธิ์ตำแหน่งเพื่อใช้งานอุปกรณ์ ส่วนแอป iOS ยังใช้งานฟังก์ชันมอนิเตอร์แบตเตอรี่ได้แม้ปฏิเสธสิทธิ์ตำแหน่ง
- หลังอัปเดตวันที่ 25 กรกฎาคม 2023 AMap SDK ถูกถอดออกจากเวอร์ชันใน App Store ทั้งสองรายใหญ่แล้ว แต่ข้อมูลตำแหน่ง GPS ยังคงถูกส่งไปยังเซิร์ฟเวอร์ Alibaba Cloud ฮ่องกง และแอป iPhone ยังส่งที่อยู่ระดับถนนของผู้ใช้ด้วย
ข้อมูลตำแหน่งที่แอปมอนิเตอร์แบตเตอรี่ส่งออกไป
- ผลิตภัณฑ์เป้าหมายคือมอนิเตอร์แบตเตอรี่แบบ Bluetooth ที่ต่อเข้ากับขั้วแบตเตอรี่รถยนต์แล้วจับคู่กับสมาร์ตโฟน เพื่อแสดง แรงดัน/เปอร์เซ็นต์ และรันทดสอบการสตาร์ตเครื่องยนต์
- ผู้วิเคราะห์ซื้อผลิตภัณฑ์แบรนด์ PowerTech จากร้านค้าปลีกอุปกรณ์อิเล็กทรอนิกส์ Jaycar Electronics ในออสเตรเลียมาวิเคราะห์ และดูเหมือนเป็นผลิตภัณฑ์ที่รีแบรนด์มาจาก Bluetooth 4.0 Battery Monitor ของ Leagend
- ผลิตภัณฑ์ในตระกูลเดียวกันยังถูกระบุได้ในชื่อแบรนด์ Century ของ Repco,
ZX-1689, และLi Battery Monitor - แอป Android BM2 มียอด ดาวน์โหลด 100K+ และรีวิว 1.55K บน Google Play
- จากการตรวจสอบทราฟฟิกเครือข่าย แอป BM2 สำหรับ iPhone ก็ส่ง ข้อมูลตำแหน่ง ไปยังเซิร์ฟเวอร์ระยะไกลเช่นกัน
ปลายทางการส่งและขอบเขตการเก็บข้อมูล
- แอปเก็บรวบรวมไม่เพียงแรงดันแบตเตอรี่ แต่ยังรวมถึง พิกัด GPS, ข้อมูลสถานีฐานเครือข่ายมือถือรอบข้าง และข้อมูลจุดเชื่อมต่อ Wi‑Fi รอบข้าง
- ปลายทางที่พบในขณะนั้นสำหรับการส่งข้อมูลตำแหน่งแบ่งเป็นสองกลุ่ม
- เซิร์ฟเวอร์แอป Leagend/BM2:
bm2.quicklynks.com,47.244.125.231, Alibaba Cloud ฮ่องกง - เซิร์ฟเวอร์ AMap SDK:
dualstack-cgicol.amap.com,106.11.130.194, Alibaba Cloud ปักกิ่ง
- เซิร์ฟเวอร์แอป Leagend/BM2:
- AMap เป็นผู้ให้บริการแผนที่ดิจิทัลของจีนที่ Alibaba เข้าซื้อกิจการ และ SDK ของบริษัทไม่ได้ดึงเฉพาะ GPS แต่ยังดึงข้อมูลอื่น ๆ ที่เกี่ยวข้องกับตำแหน่งซึ่งโทรศัพท์สามารถรวบรวมได้ด้วย
- หลังอัปเดตวันที่ 25 กรกฎาคม 2023 AMap SDK ถูกถอดออกจากแอปใน App Store ทั้งสองรายใหญ่
- การเก็บข้อมูล GPS, Wi‑Fi และสถานีฐานที่เคยส่งไปยังเซิร์ฟเวอร์จีนแผ่นดินใหญ่ของ AMap หยุดลง
- ข้อมูลตำแหน่ง GPS ยังคงถูกส่งไปยังเซิร์ฟเวอร์ Alibaba Cloud ฮ่องกง
- แอป iPhone ยังตรวจสอบและส่ง ที่อยู่ระดับถนน ของผู้ใช้ด้วย
ข้อความความเป็นส่วนตัวใน App Store กับพฤติกรรมจริง
- ณ วันที่ 27 มิถุนายน 2023 ผู้พัฒนาแอป BM2 ได้อัปเดตข้อความความเป็นส่วนตัวใน Google Play และ Apple App Store เพื่อระบุชัดเจนว่ามีการเก็บรวบรวม ข้อมูลตำแหน่งที่แม่นยำ
- ก่อนหน้านั้น ข้อความบน Google Play ไม่ตรงกับพฤติกรรมจริงของแอป
- “ไม่มีการแชร์ข้อมูลกับบุคคลที่สาม”: สถิติแบตเตอรี่พร้อมละติจูด·ลองจิจูดถูกส่งไปยังเซิร์ฟเวอร์
quicklynks.com, ข้อมูลวิเคราะห์การแครชถูกส่งไปยังumeng.com, และข้อมูล Wi‑Fi·สถานีฐาน·พิกัด GPS ถูกส่งไปยัง AMap - “ไม่มีการเก็บรวบรวมข้อมูล”: มีการเก็บข้อมูลตำแหน่งและข้อมูลเกี่ยวกับแบตเตอรี่
- “เข้ารหัสระหว่างส่ง”: ข้อมูลที่ส่งไปยังเซิร์ฟเวอร์คลาวด์ BM2 ถูกส่งผ่าน HTTP ที่ไม่เข้ารหัส
- “ไม่มีการแชร์ข้อมูลกับบุคคลที่สาม”: สถิติแบตเตอรี่พร้อมละติจูด·ลองจิจูดถูกส่งไปยังเซิร์ฟเวอร์
- ในถ้อยคำรายละเอียดของนโยบายความเป็นส่วนตัวมีคำว่า “Hong Kong” และ “location information” รวมอยู่ด้วย
ปัญหาเชิงโครงสร้างที่เกิดจากสิทธิ์บน Android
- แอป Android ต้องขอสิทธิ์ตำแหน่งเพื่อทำงาน และหากไม่ให้สิทธิ์ก็ไม่สามารถใช้งานอุปกรณ์ฮาร์ดแวร์ได้
- ตั้งแต่ Android 6.0 เป็นต้นมา การเข้าถึงตัวระบุฮาร์ดแวร์ของอุปกรณ์ภายนอกรอบข้างผ่านการสแกน Bluetooth และ Wi‑Fi ต้องใช้สิทธิ์
ACCESS_FINE_LOCATIONหรือACCESS_COARSE_LOCATION - สิ่งที่แอป BM2 ต้องใช้จริงคือการสแกน BLE แต่สิทธิ์ตำแหน่งแบบกว้างทำให้เข้าถึงข้อมูล GPS·สถานีฐาน·Wi‑Fi ได้ด้วย จึงเปิดช่องให้ถูกนำไปใช้เกินจำเป็น
- บน Android 12 ขึ้นไป สามารถสแกน BLE ได้ด้วยสิทธิ์ BLUETOOTH_SCAN เพียงอย่างเดียว
- ตามเอกสารของ Google สามารถกำหนด
android:usesPermissionFlags="neverForLocation"ให้กับACCESS_FINE_LOCATIONได้ แต่ใช้ได้เฉพาะกรณีที่ไม่ได้นำผลการสแกน Bluetooth ไปใช้อนุมานตำแหน่งทางกายภาพ
สิ่งที่ตรวจพบจากทราฟฟิกเครือข่าย
- ใช้โหมด WireGuard ของ Mitmproxy เพื่อตรวจสอบทราฟฟิกของแอปมือถือ
- BM2 ไม่ใช้ HTTPS จึงตรวจสอบการ ส่งละติจูด·ลองจิจูด บน Android และ iOS ได้โดยไม่ต้องติดตั้งใบรับรอง
- หลังจากแอปเชื่อมต่อกับอุปกรณ์มอนิเตอร์แบตเตอรี่แล้ว แอปส่งคำขอ
POSTไปที่http://bm2.quicklynks.com:8080/api/bm2/userDevice/upload? - ในคำขอมีฟิลด์ละติจูด·ลองจิจูด พร้อมตัวอย่างแรงดันแบตเตอรี่, ที่อยู่ MAC ของฮาร์ดแวร์,
nickname, และserialNo - จากการตรวจสอบข้อมูล DNS และ IP ในขณะนั้น
bm2.quicklynks.comชี้ไปที่47.244.125.231และข้อมูล IP แสดงว่าเป็น AS ในเครือ Alibaba ที่ Sham Shui Po ฮ่องกง
สัญญาณตำแหน่งที่ AMap SDK จัดการ
- AMap SDK เก็บข้อมูล GPS, Wi‑Fi และสถานีฐานเครือข่ายมือถือ
- ข้อมูลเครือข่ายมือถือมี Cell Global Identity รวมอยู่ด้วย
MCC: Mobile Country CodeMNC: Mobile Network CodeMCC + MNC: PLMN ใช้ระบุผู้ให้บริการเครือข่ายมือถือLAC: กลุ่มสถานีฐานภายในพื้นที่CI: ตัวระบุเครื่องรับส่งสัญญาณของสถานีฐานภายในพื้นที่- ใน 4G จะใช้
TAC
- ข้อมูล Wi‑Fi มีที่อยู่ MAC แบบ
BSSIDและชื่อจุดเชื่อมต่อSSID - ข้อมูล AMap ถูกประมวลผลในรูป blob ไบนารีแบบ serialize ที่เข้ารหัสแล้ว ก่อนถูกเขียนลงดิสก์หรือส่งออกอินเทอร์เน็ต
- ข้อมูลตำแหน่งถูกเข้ารหัสด้วยคีย์ AES ชั่วคราว และคีย์ AES นั้นถูกเข้ารหัสซ้ำด้วยคีย์ RSA สาธารณะ
- วิธีนี้ไม่ได้พึ่งพา certificate pinning
- หากไม่มีการแก้ไขแอปหรือคีย์ส่วนตัว RSA ที่สอดคล้องกัน ก็ตรวจดูเนื้อหาผ่านการตรวจสอบเครือข่ายแบบคนกลางได้ยาก
ฮาร์ดแวร์และสภาพแวดล้อมการทดสอบ
- ภายในฮาร์ดแวร์มีโครงสร้างเรียบง่าย โดยมีตัวปรับแรงดันไฟฟ้าและ MCU Bluetooth Low Energy CC2541 ของ Texas Instruments เป็นแกนหลัก
- CPU ของ CC2541 ใช้สถาปัตยกรรม Intel 8051 แบบ 8 บิต ส่วนตระกูล CC รุ่นหลังใช้สถาปัตยกรรม ARM Cortex
- SoC ตระกูล CC รองรับอินเทอร์เฟซดีบักบนชิปเฉพาะ และไม่พบ JTAG หรือ SWD
- อุปกรณ์รองรับการอัปเดต OTA และ REST endpoint ที่ส่งคืน firmware ผ่าน HTTP มีเอกสารอยู่ใน part 3
- ไม่พบ shunt สำหรับตรวจจับกระแสหรือวงจรวัดกระแสอื่น ๆ ทำให้โครงสร้างฮาร์ดแวร์เรียบง่ายมาก
- การทดสอบใช้แบตเตอรี่ตะกั่วกรด 12V ขนาดเล็ก, มอนิเตอร์แบตเตอรี่ BM2 และอุปกรณ์ Android ที่รูทแล้ว
- ข้อมูลตำแหน่งของ AMap จะถูกบันทึกจากหน่วยความจำลงฐานข้อมูลเฉพาะเมื่อพบการเคลื่อนที่ทางกายภาพ จึงใช้ Frida และ Objection ทำ runtime instrumentation
ขั้นตอนการวิเคราะห์แบบไดนามิกและสแตติก
- สามารถใช้ Frida hook
android.location.Location.getLatitudeและgetLongitudeเพื่อเปลี่ยนพิกัด GPS เป็นค่าที่กำหนดเองได้ - ใช้ปลั๊กอิน Wallbreaker ของ Objection เพื่อตรวจสอบอินสแตนซ์ข้อมูล GPS, สถานีฐานผู้ให้บริการ และ Wi‑Fi ใน heap memory ของแอป
- ดึง APK โดยใช้
adb shell pm pathบนอุปกรณ์เพื่อหาพาธ แล้ว decompile ด้วย JADX - ใน
AndroidManifest.xmlพบสิทธิ์อย่างCAMERA,IMAGE_CAPTURE,ACTION_VIDEO_CAPTURE,MODIFY_AUDIO_SETTINGS,RECORD_AUDIOนอกเหนือจากFINE_LOCATIONแต่ต้องตรวจสอบเพิ่มเติมว่าฟังก์ชันเหล่านี้ถูกใช้งานหรือไม่ - จุดเข้าแอปคือ
com.stub.StubAppและมีการใช้ packer เชิงพาณิชย์qihoo.util - ใช้ frida-dexdump dump bytecode การทำงานของ Dalvik ดั้งเดิมจากหน่วยความจำขณะรัน แล้วแปลงเป็นโค้ด Java ที่อ่านได้ด้วย
dex2jarและ JADX - ตัวแอปหลัก BM2 ไม่มีการ obfuscate เพิ่มเติม แต่ SDK บริการตำแหน่ง
amapถูก obfuscate ไว้ และกู้ชื่อคลาสบางส่วนด้วยฟีเจอร์ deobfuscation ของ JADX
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
นี่เป็นผลจากการทำ reverse engineering กับมอนิเตอร์แบตเตอรี่รถยนต์แบบ BLE แอปนี้มียอดดาวน์โหลดบน Google Play อย่างเดียวเกิน 100,000 ครั้ง
ปรากฏว่ามันส่งข้อมูล GPS, cell ID ของสถานีฐานโทรศัพท์มือถือ และข้อมูลบีคอน Wi‑Fi ไปยังเซิร์ฟเวอร์ในฮ่องกงและจีนแผ่นดินใหญ่อย่างต่อเนื่อง หน้าแอปใน Google และ Apple App Store ระบุว่าไม่ได้เก็บข้อมูลส่วนบุคคลหรือส่งให้บุคคลที่สาม
หวังว่าจะเป็นทิปบางอย่างให้คนที่อยากวิเคราะห์แอปของอุปกรณ์ที่เชื่อมต่อได้
https://www.amazon.de/dp/B0BLG9Z462
ถ้ากดรูปที่สามจะเห็นตารางเปรียบเทียบ ที่น่าสนใจคือมันถูกนำเสนอเหมือนเป็นฟีเจอร์พิเศษเฉพาะของ BM6 แต่จริง ๆ แล้วเป็นเพียงฟังก์ชันของแอปเท่านั้น
QR code ของอุปกรณ์ [0] ชี้ไปที่แอปนี้: https://play.google.com/store/apps/details?id=com.dc.bm6
ดังนั้นจึงลองตรวจ URL อื่น ๆ อย่าง https://link.quicklynks.com/bm3.html และ https://link.quicklynks.com/bm4.html ด้วย โดยอันหลัง redirect ไปที่ https://www.leagend.com/ และพวกเขาดูแลช่อง YouTube นี้: https://www.youtube.com/channel/UCqkvyOFP5cXQ02f3h1Ns42Q
[0] http://link.quicklynks.com/bm6.html
แถมยังทำให้แบตมือถือหมดตลอดเวลา คุ้มไหมที่จะดูสิ่งที่แดชบอร์ดบอกอยู่แล้วบนหน้าจอโทรศัพท์ ถ้าเป็นแบตเตอรี่แบบติดตั้งอยู่กับที่ ใช้หน้าปัดโวลต์มิเตอร์อนาล็อกก็พอไม่ใช่หรือ
ทุกวันนี้หาอุปกรณ์แบบสแตนด์อโลนที่ทำงานได้โดยไม่ต้องใช้แอปยากเกินไป เช่น แม้แต่โคมไฟ LED ที่เลือกสีด้วยปุ่มบนตัวเครื่องโดยไม่ต้องใช้แอปก็ยังหาได้ยาก และถึงจะเจออยู่ตัวหนึ่ง แต่ก็ยังวนสีโดยไม่ใช้แอปไม่ได้
ถ้าผู้คนไม่ได้ชอบเรื่องไร้สาระแบบนี้ ก็คงกลับไปหาเครื่องใช้ไฟฟ้าปกติ ๆ ได้ง่ายกว่านี้
ไม่เข้าใจว่าทำไมบน Android ผู้ใช้ถึงกันไม่ให้แอป 1) ทำงานตอนเริ่มระบบ 2) ทำงานเบื้องหลัง ไม่ได้ อย่างน้อยก็ควรเป็นสิทธิ์ที่ต้องให้ผู้ใช้อนุมัติไม่ใช่หรือ
น่าจะกันแอปจำนวนมากที่ดูดข้อมูลแบบนี้ได้ และมองว่า Google ก็มีส่วนรู้เห็นด้วย
https://grapheneos.org/
รู้ว่าแอปสามารถขอให้เปิดข้อมูลตำแหน่งได้ แต่แปลกใจที่แอปเปิดเองฝ่ายเดียวได้ และก็หาวิธีบล็อกไม่เจอ
ด้วยเหตุผลแบบนี้เลยรู้สึกว่าโทรศัพท์เครื่องไหนก็ไว้ใจได้ยาก
เพราะกรณีแบบนี้ เราจึงต้องไม่หยุดต่อสู้เพื่อ ความเป็นส่วนตัวดิจิทัล และกฎหมายที่คุ้มครองมัน
มันไม่ใช่เรื่อง “ไม่มีอะไรต้องซ่อน” แต่เป็นเรื่องการไม่ให้บุคคลที่สามเฝ้าติดตามและขายข้อมูลส่วนบุคคลโดยที่เราไม่รับรู้อย่างชัดเจนและไม่ยินยอม
ตอนนี้เราอยู่ท่ามกลางสงครามข้อมูลเต็มรูปแบบ และต้องต้านกลับอย่างแข็งขัน
น่าหงุดหงิดที่เรื่องแบบนี้กลายเป็นเหมือนมาตรฐาน ทั้งที่ผู้กระทำที่ไม่หวังดีแทบไม่ต้องจ่ายต้นทุนอะไรเลย
พอเห็นบทความนี้แล้วรู้สึกดีที่ใช้ GrapheneOS อยู่ ใช้เป็นเครื่องหลักมาหลายเดือนแล้ว และทุกแอปตอนติดตั้งต้องถูกอนุญาตหรือปฏิเสธ สิทธิ์เครือข่าย อย่างชัดเจน
แอปโลคัลแบบนี้จะไม่มีทางให้สิทธิ์เครือข่ายเด็ดขาด และแอปคีย์บอร์ดที่รู้สึกไม่สบายใจมาตลอดก็ไม่ให้เช่นกัน
ไม่ใช่แค่ระดับน่าขำ แต่เป็นการเป็นปฏิปักษ์ต่อ ความเป็นส่วนตัวและความปลอดภัย ของผู้ใช้อย่างโจ่งแจ้ง
ระบบปฏิบัติการควรทำให้ การเข้าถึงอินเทอร์เน็ต เป็นสิทธิ์ที่ผู้ใช้อนุญาตหรือเพิกถอนได้ เหมือนว่า Android เคยมีอะไรแบบนั้นมาก่อน ส่วน iOS น่าจะมีแค่ข้อมูลมือถือเท่านั้น
ถ้าผมซื้ออุปกรณ์ที่อ้างว่าใช้ Bluetooth แต่จริง ๆ แล้วต้องการการเข้าถึงอินเทอร์เน็ต ผมจะคืนสินค้า
ถ้าไม่ยินยอมก็รับแอปไม่ได้ สิทธิ์บางอย่างยังเป็นแบบนั้นอยู่ และหลายสิทธิ์เปลี่ยนมาเป็นแบบอนุญาต/เพิกถอนแล้ว
การเข้าถึงอินเทอร์เน็ตยังคงเป็นสิทธิ์อยู่ แต่ Google Play ไม่ถามอีกต่อไปแล้ว แอปทุกตัวจึงมีได้ อย่างไรก็ตาม ถ้าไม่ได้ร้องขอไว้ใน manifest ก็จะไม่ทำงาน
https://netguard.me/
สำหรับผู้เริ่มต้น ให้แสดงโดเมน และถ้าเป็นโดเมนที่ Apple ใส่ไว้ใน allowlist ด้วยวิธีใดวิธีหนึ่ง ก็แสดงเป็นสีเขียวได้ ถ้าไม่อยู่ทั้งใน allowlist และ blocklist ก็แสดงเป็นสีเหลือง หรือถ้าสีทำให้สับสน ก็แค่แสดงชื่อก็พอ
แอปที่ส่งคำขอไปยัง blocklist ก็ให้ระงับจาก App Store จนกว่าจะมีการตรวจสอบเพิ่มเติม
สำหรับผู้ใช้ขั้นสูง ควรให้แตะเพื่อดูรายละเอียดอย่าง payload และ header ได้ ฟีเจอร์นี้จำเป็นจริง ๆ และดูเหมือนไม่ได้เพิ่มยากขนาดนั้น
[1]: https://developer.apple.com/documentation/bundleresources/en...
ผู้ให้บริการแอปสโตร์น่าจะควรตัดข้อความอย่าง “ไม่มีการเก็บข้อมูลส่วนบุคคลหรือส่งต่อให้บุคคลที่สาม” ออกไปเสีย
แล้วเตือนแทนว่า “แอปนี้มีสิทธิ์เกี่ยวกับเครือข่าย จึงสามารถส่งข้อมูลใด ๆ ไปที่ไหนก็ได้ตามต้องการ” หรือ “ผู้สร้างแอปอ้างว่าจะไม่ให้ข้อมูลแก่บุคคลที่สาม แต่เราไม่มีวิธีตรวจสอบเรื่องนี้เลย”
ในความเป็นจริง Apple หรือ Google ไม่มีทางรู้ได้ว่าอะไรคือ บุคคลที่สาม เซิร์ฟเวอร์ในจีนและฮ่องกงอาจเป็นฝ่ายหนึ่งเองก็ได้ ใครจะไปรู้ นอกจากผู้สร้างแอปแล้วก็ไม่มีใครรู้
พรรคคอมมิวนิสต์จีนอาจไม่ได้สนใจข้อมูลของบุคคลใดบุคคลหนึ่งมากนัก แต่สนใจข้อมูลรวมอย่างมาก อีกทั้งมันจะมีประโยชน์มากเมื่อเชื่อมโยงกับเป้าหมายเฉพาะ เช่น ข้อมูลของเจ้าหน้าที่รัฐบาลสหรัฐฯ หลายล้านคนที่รวบรวมมาหลายปี [0][1]
“การทดลองครั้งใหญ่” ที่หวังว่าการค้าเสรีและการแลกเปลี่ยนจะนำจีนไปสู่ประชาธิปไตยและเสรีภาพ ล้มเหลวโดยสิ้นเชิง ผลลัพธ์มีเพียงทำให้เผด็จการไร้ปรานีที่มุ่งขยายอิทธิพลไปทั่วโลกแข็งแกร่งขึ้นเท่านั้น ไม่ควรทำธุรกิจกับจีน
[0] https://en.wikipedia.org/wiki/Office_of_Personnel_Management...
[1] https://www.nbcnews.com/tech/security/china-spent-years-coll...
ต้องตระหนักว่าอุปกรณ์ที่ใช้เฝ้าดู สุดท้ายก็จะค่อย ๆ ใช้สิ่งที่มันเฝ้าดูอยู่จนหมดไปเอง ท้ายที่สุดก็กลายเป็นว่าต้องเฝ้าดูตัวมอนิเตอร์อย่างจริงจังอีกที
อุปกรณ์ BLE ตัวนี้จะค่อย ๆ แต่แน่นอน ระบายแบตเตอรี่รถยนต์ให้หมด วันหนึ่งมันส่งคำเตือนมา คุณก็ต้องชาร์จแบตเตอรี่ แต่ไม่นานแม้แต่คำเตือนก็จะหยุดส่ง
แถมยังดูดข้อมูลมือถือแล้วส่งไปจีน และยังใช้แบตเตอรี่มือถือด้วย นึกของขวัญวันหยุดที่แย่กว่านี้ได้ยาก และนี่เป็น ภัยต่อผู้บริโภคแบบ 3 ชั้น ที่หาได้ยาก
พูดจริง ๆ แล้ว การคายประจุเองสูงกว่ามอนิเตอร์นี้ประมาณหนึ่งหลัก
Android ควรมีฟีเจอร์ที่ให้ ข้อมูล GPS ปลอม บนอุปกรณ์จริงได้ น่าจะมีประโยชน์กับแอปที่ขอ GPS โดยไม่มีเหตุผล
ถ้าแอปไฟฉายต้องการ GPS เพื่อเปิดใช้งาน ก็ไม่มีปัญหา ตำแหน่งปัจจุบันคือภูเขาคิลิมันจาโร
นักพัฒนาแอปยังพยายามอธิบายกับผู้ใช้ผ่านป๊อปอัปทำนองว่า “ให้กดอนุญาตเพื่อให้ Bluetooth ทำงาน”
มาถึงจุดนี้ การสันนิษฐานว่าอุปกรณ์พวกนี้กำลังรวบรวมข้อมูลจำนวนมากแล้วส่งกลับสำนักงานใหญ่ก็ดูสมเหตุสมผล ถ้าเราเตอร์ TP-Link ส่งทุกอย่างไปจีนก็คงไม่น่าแปลกใจ
แต่เรื่องนี้ไม่ได้จำกัดอยู่แค่จีน และ iPhone ที่ใช้อยู่ตอนนี้ก็อาจกำลังส่งทุกการกดแป้นพิมพ์และข้อมูลตำแหน่งไปสหรัฐฯ อยู่ก็ได้
ถ้าสงสัยว่าเราเตอร์ TP-Link กำลังส่งทุกอย่างไปยังเซิร์ฟเวอร์ระยะไกล ก็แค่ มอนิเตอร์ทราฟฟิก
เวลาที่เพื่อน ๆ หัวเราะเยาะความหมกมุ่นเรื่องความเป็นส่วนตัวและการเก็บข้อมูล ก็เอากรณีแบบนี้ให้ดูได้เลย
ไม่มีเหตุผลให้เชื่อว่าพวกเขาทำเรื่องนี้ด้วยเจตนาร้าย แต่ในความเป็นจริงเราก็ไม่มีทางรู้ อาจเป็นแค่ความไม่รู้หรือความไร้ความสามารถก็ได้
ปริมาณข้อมูลตำแหน่งที่ผู้ผลิตอุปกรณ์เก็บรวบรวมนั้นมากพอสมควร ถ้ามีการนำไปสร้างรายได้จริง ก็สงสัยว่าแม้จะไม่ได้เปิดเผยต่อผู้ใช้ปลายทาง แบบนั้นจะถือว่าเป็นเจตนาร้ายได้หรือไม่
AMap SDK ที่แอปใช้นั้นเก็บข้อมูลตำแหน่งมากกว่านี้อีกมาก ในกรณีนี้รู้สึกว่าน่าจะมีวัตถุประสงค์เพื่อเพิ่มความแม่นยำของบริการระบุตำแหน่งและซอฟต์แวร์แผนที่ และไม่ได้มองว่าสิ่งนั้นเป็นเจตนาร้ายในตัวเอง
แต่ถ้าพฤติกรรมแบบนี้ไม่ได้เปิดเผยต่อผู้ใช้และนักพัฒนา เรื่องก็จะต่างออกไป เว็บไซต์เป็นภาษาจีน [1] และก็ไม่แน่ใจว่าจะมีใครอ่านข้อกำหนดโดยละเอียดเพื่อยืนยันหรือไม่
[1] https://lbs.amap.com/api/lightweight-android-sdk/download
ทำให้นึกถึงสมัยก่อนที่เคยคิดว่าปุ่ม Facebook “Like” บนทุกเว็บไซต์ไม่มีพิษภัย จนได้รู้ว่ามีการติดตามในวงกว้างแค่ไหนโดยไม่ได้รับความยินยอม
วิธีแบบจีนที่พบได้บ่อยคือจงใจรวบรวมข้อมูลด้วยวิธีที่ดูภายนอกเหมือนไม่มีพิษภัย หรือจงใจเปิดช่องโหว่ด้านความปลอดภัยทิ้งไว้กว้าง ๆ เพื่อให้เอาไปใช้ในทางที่ผิดได้ภายหลัง ถ้าถูกจับได้ก็พูดว่า “ขอโทษครับ/ค่ะ เราจะแก้ไขทันที”
ที่แย่กว่านั้นคือการกระทำแบบนี้ไม่มีผลตามมาเลย Google, EU หรือ FTC สักฝ่ายควรต้องสั่งปรับเป็นเงินค่าปรับ