O2 VoLTE ติดตามตำแหน่งลูกค้าทุกคนได้ด้วยการโทรเพียงครั้งเดียว
(mastdatabase.co.uk)- พบปัญหาในการใช้งาน 4G Calling/WiFi Calling ของ O2 UK ที่ทำให้ผู้โทรได้รับ IMS/SIP header ซึ่งสามารถใช้ประเมินตำแหน่งของผู้รับสายได้ และการเปิดเผยนี้ส่งผลกระทบต่อลูกค้า O2 ทุกคนเป็นเวลาหลายเดือน
- ข้อความสัญญาณ IMS มีข้อมูลเซิร์ฟเวอร์ IMS/SIP ของ O2 คือ Mavenir UAG, เวอร์ชัน, ข้อมูล debug, ข้อความแสดงข้อผิดพลาด รวมถึง IMSI·IMEI ของผู้โทรและผู้รับสาย และ
Cellular-Network-Infoของผู้รับสาย - เมื่อนำค่า
utran-cell-id-3gppในCellular-Network-Infoมาแยกเป็น PLMN, Location Area Code และ Cell ID แล้วเทียบกับข้อมูลสถานีฐานสาธารณะอย่าง Cellmapper จะสามารถหาระบุตำแหน่งโดยประมาณของผู้รับสายได้ - ในเมือง small cell ที่ติดตั้งตามเสาไฟถนน เป็นต้น ครอบคลุมพื้นที่แคบ ทำให้ความแม่นยำในการประเมินตำแหน่งสูงขึ้นมาก และยังสามารถระบุลูกค้า O2 ที่โรมมิงในต่างประเทศว่าอยู่ในใจกลางกรุงโคเปนเฮเกนได้ด้วย
- หากปิดทั้ง 4G Calling และ WiFi Calling จะป้องกันการเปิดเผยตำแหน่งได้ แต่ การเปิดเผย IMEI และ IMSI ยังคงอยู่โดยไม่ขึ้นกับสถานะการลงทะเบียน IMS ดังนั้น O2 ต้องนำ header ที่เกี่ยวข้องออกจากข้อความ IMS/SIP
เบาะแสตำแหน่งที่รั่วจากการโทรผ่าน IMS
- Voice over LTE(VoLTE) ใช้มาตรฐาน IP Multimedia Subsystem(IMS) เพื่อจัดการการโทรเสียงบนเครือข่ายมือถือด้วยโปรโตคอลบนอินเทอร์เน็ต
- การใช้งาน IMS มีความซับซ้อนและพึ่งพาอุปกรณ์สูง ในอดีตจึงมีอุปกรณ์บางรุ่นที่ต้องใช้เฟิร์มแวร์เฉพาะเพื่อใช้งาน VoLTE และ WiFi Calling
- เครือข่ายมือถือเป็นผู้เลือกว่าจะใช้งานบริการ IMS อย่างไรและใช้การตั้งค่าใด โดยโทรศัพท์มือถือจะสื่อสารกับเซิร์ฟเวอร์เหล่านั้นโดยตรง
- ในโครงสร้างนี้ เครือข่ายมือถือมีหน้าที่ดูแลให้เซิร์ฟเวอร์ทันสมัยอยู่เสมอ และจัดการไม่ให้การตั้งค่านำไปสู่การเปิดเผยข้อมูลที่ไม่จำเป็น
ขั้นตอนการตรวจสอบ O2 UK 4G Calling
- O2 UK เปิดตัวบริการ IMS แรกคือ 4G Calling เมื่อวันที่ 27 มีนาคม 2017
- เป็นบริการที่ปรับปรุงคุณภาพการโทร และปรับปรุงประสบการณ์การใช้งานข้อมูลโดยไม่ต้องลดลงไปใช้ 3G ระหว่างโทร
- ผู้ตรวจสอบย้ายมาใช้ O2 แล้วต้องการตรวจสอบว่า 4G/WiFi Calling รองรับ codec เสียงใดบ้าง
- ใช้ Network Signal Guru(NSG) บน Google Pixel 8 ที่รูทแล้ว โทรไปยังอุปกรณ์ของลูกค้า O2 รายอื่นที่รองรับ 4G VoLTE
- เนื่องจากมีบั๊กของ NSG บนโมเด็ม Samsung ใน Google Pixel รุ่นใหม่ ทำให้ส่วน VoLTE ไม่แสดง codec ปัจจุบันของสายโดยอัตโนมัติ จึงตรวจสอบข้อความสัญญาณ IMS แบบดิบระหว่างอุปกรณ์กับเครือข่ายแทน
Header อ่อนไหวที่อยู่ในข้อความ IMS/SIP
- การตอบกลับจากเครือข่ายละเอียดและยาวมาก ต่างจากที่เคยเห็นในเครือข่ายอื่น
- ข้อความมี Mavenir UAG ซึ่งเป็นเซิร์ฟเวอร์ IMS/SIP ที่ O2 ใช้งาน พร้อมหมายเลขเวอร์ชัน
- ยังมีข้อความแสดงข้อผิดพลาดเมื่อเกิดปัญหาในบริการ C++ ที่ประมวลผลข้อมูลการโทร และ ข้อมูล debug อื่น ๆ ถูกเปิดเผยไปด้วย
- โดยเฉพาะบริเวณท้ายข้อความมี header ประเภทต่อไปนี้
P-Mav-Extension-IMSI: IMSI 2 รายการP-Mav-Extension-IMEI: IMEI 2 รายการCellular-Network-Info: ข้อมูลเซลล์ของผู้รับสาย
- เมื่อนำ IMSI และ IMEI ไปเทียบกับข้อมูลอุปกรณ์ของผู้ตรวจสอบ พบว่าไม่ใช่แค่ของผู้โทร แต่ยังรวม IMSI และ IMEI ของ ผู้รับสาย ด้วย
วิธีคำนวณตำแหน่งจาก Cellular-Network-Info
- ส่วนต้นของค่า
Cellular-Network-Infoคือ3GPP-E-UTRAN-FDDบ่งชี้ว่าข้อมูลเซลล์เป็น 4G หรือชื่อทางการคือ E-UTRAN FDD - ค่า
utran-cell-id-3gppที่ตามมาถูกแบ่งเป็น 3 ส่วน- 5~6 หลักแรกคือ PLMN ของเครือข่ายผู้รับสาย
- 4 ตัวอักษรถัดมาคือ Location Area Code(LAC) ของผู้รับสาย และเป็นเลขฐานสิบหก
- 7 ตัวอักษรสุดท้ายคือ Cell ID ของผู้รับสาย และเป็นเลขฐานสิบหก
- ส่วนสุดท้ายแสดงอายุของข้อมูลเป็นหน่วยวินาที
- มีอยู่เมื่ออุปกรณ์ไม่ได้เชื่อมต่อกับเครือข่ายปัจจุบัน ไม่มีสัญญาณ หรือพึ่งพา WiFi Calling
- จากข้อความตัวอย่าง สามารถคำนวณได้ว่าผู้รับสายเชื่อมต่อกับเครือข่าย O2
234-10อยู่ที่ LAC0x1003, Cell ID0x7a60773และใช้ Google Pixel 9 กับ O2 SIM
การประเมินตำแหน่งโดยผสานกับข้อมูลสถานีฐานสาธารณะ
- สามารถนำ Cell ID ไปใส่ใน cell ID calculator ของ Cellmapper เพื่อคำนวณ site ID ที่เกี่ยวข้องได้
- จากนั้นค้นหาไซต์ดังกล่าวใน แผนที่ Cellmapper เพื่อดู macro cell ณ เวลาที่โทรได้
- macro cell มีพื้นที่ครอบคลุมค่อนข้างกว้าง แต่พื้นที่เมืองหนาแน่นใช้เซลล์ขนาดเล็กจำนวนมาก
- small cell บางกรณีติดตั้งโดยตรงบนเสาไฟถนน
- แต่ละไซต์อาจครอบคลุมพื้นที่เล็กเพียง 100㎡
- ทดสอบการโจมตีแบบเดียวกันกับลูกค้า O2 รายอื่นที่โรมมิงในต่างประเทศ และสามารถระบุได้ว่าอยู่ในใจกลางกรุงโคเปนเฮเกน ประเทศเดนมาร์ก
- อุปกรณ์ของผู้ตรวจสอบไม่ได้ทำงานพิเศษใด ๆ กับเครือข่าย เพียงแค่ทำให้มองเห็นข้อมูลที่ถูกส่งมายังอุปกรณ์เท่านั้น
- อุปกรณ์ O2 ที่โทรผ่าน IMS หรือก็คือ 4G Calling หรือ WiFi Calling จะได้รับข้อมูลที่สามารถใช้ประเมินตำแหน่งทางภูมิศาสตร์ของผู้รับสายได้
Header ที่ O2 ควรถอดออก และวิธีบรรเทาที่ผู้ใช้ทำได้
- O2 ควรถอด header ที่ถูกเน้นเหล่านี้ออกจาก ข้อความ IMS/SIP ทั้งหมด เพื่อปกป้องข้อมูลส่วนบุคคลและความปลอดภัยของลูกค้า
- การปิดใช้งาน debug header ก็สมเหตุสมผลเช่นกัน
- ไม่มีอุปกรณ์ใดนอก network core ที่มีเหตุผลต้องเห็น header เหล่านี้
- debug header อาจรั่วข้อมูลเพิ่มเติมโดยไม่ตั้งใจ
- คู่แข่งอย่าง EE มีช่องทาง BT responsible disclosure แต่ O2 ขาดเส้นทาง escalation ที่ชัดเจนสำหรับรายงานเวกเตอร์โจมตีที่เป็นไปได้นี้
- วันที่ 26 และ 27 มีนาคม 2025 ได้ส่งอีเมลถึง Lutz Schüler ซีอีโอของ O2 และ
securityincidents@virginmediao2.co.ukเพื่อแจ้งพฤติกรรมนี้และความเสี่ยงด้านข้อมูลส่วนบุคคล แต่ไม่มีการตอบกลับหรือการเปลี่ยนแปลงพฤติกรรม - หากปิดทั้ง 4G Calling และ WiFi Calling จะสามารถป้องกันส่วนการเปิดเผยตำแหน่งได้อย่างมีประสิทธิภาพ
- header
Cellular-Network-Infoจะถูกส่งเฉพาะเมื่ออุปกรณ์ผู้รับสายตอบรับเท่านั้น - การเปิดเผย IMEI และ IMSI ยังคงเกิดขึ้นต่อไปโดยไม่ขึ้นกับสถานะการลงทะเบียน IMS
- header
- ในการแก้ไขเมื่อวันที่ 27 พฤษภาคม 2025 เดิมระบุว่าไม่มีวิธีบรรเทาการเปิดเผยตำแหน่ง แต่หลังจากตรวจสอบสัญญาณ IMS และวิธีที่อุปกรณ์ส่ง header เพิ่มเติม จึงแก้ไขว่าเมื่อปิดทั้ง 4G Calling และ WiFi Calling จะบรรเทาส่วนการเปิดเผยตำแหน่งได้
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
การที่แจ้งพฤติกรรมนี้และ ความเสี่ยงด้านความเป็นส่วนตัว ไปยัง CEO ของ O2 และที่อยู่อีเมลสำหรับเหตุการณ์ด้านความปลอดภัยเมื่อวันที่ 26–27 มีนาคม 2025 แล้ว แต่ไม่มีทั้งคำตอบหรือการเปลี่ยนแปลงใด ๆ นั้นแย่มากจริง ๆ
ยังน่าสงสัยด้วยว่าทำไมที่อยู่ของ Virgin Media ถึงดูเหมือนเป็นช่องทางติดต่อที่ดีที่สุด และ https://www.o2.co.uk/.well-known/security.txt ควรคืนค่า 200 ไม่ใช่ 404
ในสถานการณ์แบบนี้ ผมมองว่าการเปิดเผยต่อสาธารณะไม่ใช่ปัญหา แต่คิดว่า NCSC อาจรับมือเรื่องแบบนี้ได้ภายใต้เงื่อนไขบางอย่าง และอาจสื่อสารกับองค์กรได้ดีกว่านี้
อีเมลที่ติดต่อไปไม่ใช่ @virginmedia.co.uk แต่เป็น @virginmediao2.co.uk และในบทความมีการพิมพ์ผิด
จะแก้ไขและอัปเดตให้ถูกต้อง
เช่น DPO@o2.com อาจมีใครสักคนคอยดูอยู่ก็ได้
https://www.o2.co.uk/termsandconditions/privacy-policy
O2 เคยมีที่อยู่อีเมลสำหรับ การเปิดเผยช่องโหว่อย่างรับผิดชอบ แต่เลิกใช้ไปเมื่อหลายปีก่อน
ตอนที่ผมเคยทำงานที่นั่นเมื่อนานมาแล้ว ทีมความปลอดภัยยอดเยี่ยมมาก แต่ตอนที่ผมส่งอีเมลไปเรื่องปัญหาบางอย่างเมื่อปีที่แล้ว คนเหล่านั้นหายไปหมดแล้ว
สิ่งที่น่าสนใจจริง ๆ ในเรื่องนี้คือ ในเขตอำนาจศาลส่วนใหญ่ มันอาจมีโอกาสสูงที่จะไม่ถูกจัดว่าเป็น การแฮ็ก ด้วยซ้ำ
ข้อมูลถูกส่งออกมาเองระหว่างการใช้งานตามปกติบนเครือข่าย
ไม่ได้หลอกระบบใด ๆ ให้เปิดเผยข้อมูลส่วนบุคคล และการกระทำแบบนั้นมักผิดกฎหมายแม้การแฮ็กจะเล็กน้อยก็ตาม
แค่เติมอะไรอย่าง
&reveal_privat_data=trueลงใน URL ก็อาจถูกมองว่าผิดกฎหมายได้ เพราะมีเจตนาชัดเจนที่จะเข้าถึงข้อมูลที่ไม่มีสิทธิ์ แต่กรณีนี้ไม่มีแม้กระทั่งแบบนั้นส่วนที่น่ากลัวคือ นี่ไม่ใช่บั๊กเชิงทฤษฎี
อย่างที่บทความบอก นี่เป็น ความมักง่ายในการติดตั้งใช้งาน ที่ผู้ให้บริการรายอื่นในสหราชอาณาจักรแก้ไปแล้ว และการรั่วของ ECI ก็ถูกชี้ให้เห็นมาตั้งแต่ตอนเริ่มนำ LTE มาใช้
มีงานวิจัยอย่าง https://arxiv.org/abs/2106.05007—and ด้วย และถ้ามีฐานข้อมูลสถานีฐานสาธารณะ การแมปตำแหน่งอัตโนมัติก็เป็นเรื่องเล็กน้อย
ผมสงสัยมากว่าผู้โทรสามารถเห็นข้อความควบคุมการโทร หรือก็คือ SIP ได้อย่างไร
ข้อความพวกนี้ไม่ได้อยู่ในอุโมงค์ GRE ที่เข้ารหัสระหว่างอุปกรณ์ สถานีฐาน และ MME หรอกหรือ? ถ้าถอดรหัสอุโมงค์ GRE ได้ก็คงเป็นช่องโหว่มหาศาล แต่ก็เป็นไปได้ว่าผู้เขียนต้นฉบับรันการวิเคราะห์จากอุปกรณ์ของตัวเอง
ถึงอย่างนั้น การที่เห็นเพย์โหลดก่อนเข้ารหัสก็ยังน่าประหลาดใจ
อุปกรณ์ Android จำนวนมากที่ใช้ชิป Qualcomm สามารถเปิดเผย พอร์ตวินิจฉัยโมเด็ม ผ่าน USB ได้ จึงไม่จำเป็นต้องเป็นเครื่องที่รูทแล้วด้วยซ้ำ
แต่การใช้ NSG ที่รูทบนอุปกรณ์นั้นง่ายกว่าการพกแล็ปท็อปเดินไปมามาก
หลังจากเปิดพอร์ตวินิจฉัยโมเด็มแล้ว ใช้ Scat(https://github.com/fgsect/scat) ก็ง่ายพอที่จะเห็นทราฟฟิกสัญญาณทั้งหมดที่รับส่งกับเครือข่าย
อย่างน้อยแอปเวอร์ชันฟรีก็ดูไม่เหมือนว่ากำลัง “ถอดรหัส” อะไร แต่เพราะมีสิทธิ์ root และสิทธิ์เข้าถึงโมเด็ม จึงอ่านล็อกพวกนี้ได้
ยังสามารถลองปิดย่านความถี่หรือบังคับให้อยู่กับสถานีฐานเฉพาะได้ด้วย จึงมีประโยชน์เมื่อใช้ดาต้ามือถือเป็นสายอินเทอร์เน็ตหลักเหมือนเราเตอร์ 4G/5G เฉพาะทาง
อุโมงค์ GTP อยู่ระหว่าง eNodeB กับเครือข่ายแกนกลาง และจะได้รับการป้องกันก็ต่อเมื่อทำงานอยู่ภายใน IPsec
ตอนนี้ O2 อ้างว่าแก้ปัญหาแล้ว: https://www.ispreview.co.uk/index.php/2025/05/o2-uk-fixes-vo...
มีเนื้อหาว่า “O2 ติดต่อมาทางอีเมลและยืนยันว่าปัญหานี้ได้รับการแก้ไขแล้ว เราตรวจสอบด้วยตนเองแล้ว และช่องโหว่ดูเหมือนจะได้รับการแก้ไขแล้ว”
ลองนึกภาพว่าฐานข้อมูลที่มีข้อมูลละเอียดอ่อนขนาดนี้ถูกปล่อยให้ไร้การป้องกันโดยเจตนาเป็นเวลานานขนาดนั้น แถมดูเหมือนจะไม่ได้แจ้งใครเลย
น่าสนใจว่า ICO จะจัดการเรื่องนี้อย่างไร
ดูเหมือนจะเป็นปัญหาที่ค่อนข้างร้ายแรง
การรูทมือถือแล้วติดตั้ง NSG เพื่อดูข้อมูลนี้ไม่ใช่เรื่องยาก
O2 ยังเป็นเครือข่ายมือถือรายใหญ่ที่สุดของสหราชอาณาจักร และมีสัญญากับรัฐบาลด้วย
น่าผิดหวังที่ไม่ตอบ แต่ก็ไม่น่าแปลกใจ
ดูเหมือนภายใน O2 จะยุ่งเหยิงมาก และเรื่องที่คนในร้านแก้ให้ทันทีไม่ได้ก็มักใช้เวลานานกว่าจะจัดการได้
เช่น ข้อผิดพลาดในการย้ายเบอร์ เป็นต้น
ระบบดูเก่า ผู้ใช้บางกลุ่มยังใช้ VoLTE ไม่ได้ และ 5G SA ใหม่ก็ไม่รองรับเสียง อีกทั้งดูเหมือนจะพึ่งพา n28 มากเกินไป จึงช้าในหลายกรณี
CTO เขียนบล็อกว่า “เลิกยึดติดกับตัวชี้วัดหลอกตา” ทั้งที่โดยทั่วไปแล้วเป็นเครือข่ายที่แย่ที่สุดด้านประสิทธิภาพข้อมูล
[0] https://news.virginmediao2.co.uk/leaving-the-vanity-metrics-...
ไม่รู้ว่า O2 ยังดำเนินธุรกิจต่อไปได้อย่างไร
เป็นเครือข่ายที่แย่ที่สุดแบบทิ้งห่าง และแม้แต่ Three ที่มีสภาพ backhaul ย่ำแย่ก็ยังดีกว่า
เหตุผลเดียวที่ผมมีซิม O2 ควบคู่กับซิม EE ก็เพราะตั๋ว Priority และสัญญาณภายในสถานที่จัดงานของ O2
แต่ต้องใช้ซิมใหม่และมือถือที่รองรับ และความแตกต่างที่รู้สึกได้นั้นคนละเรื่องเลย
giffgaff ซึ่งใช้เครือข่าย O2 อ้างว่าไม่ได้รับผลกระทบ เพราะใช้การติดตั้งบริการของตัวเองบนโครงข่ายกายภาพของ O2
อาจเป็นความจริงก็ได้ แต่ตอนนี้รู้แล้วว่าอยู่ภายใต้เจ้าของเดียวกัน จึงดูมีแนวโน้มสูงที่จะถูกรวมกัน เลยค่อนข้างน่าสงสัย
ถ้ามีใครลองทำซ้ำเรื่องนี้ด้วยซิม giffgaff อยากรู้ผลลัพธ์เหมือนกัน
เท่าที่จำได้ Telefónica ซื้อ O2 ในปี 2006 และเปิดตัว Giffgaff เป็นแบรนด์ใหม่ในปี 2009
ไม่รู้ว่าพวกเขาได้ข้อสรุปต่างออกไปได้อย่างไร
ถ้าปิด VoLTE จะช่วยบรรเทาได้ไหม? ผมเห็นเอกสารออนไลน์เกี่ยวกับการปิดบน iPhone 11 แต่บน iPhone 15 ของผมไม่มีตัวเลือกนั้น
ดังนั้นน่าจะไม่ได้ผล