2 คะแนน โดย GN⁺ 2025-05-18 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • พบว่าบริการ VoLTE (4G Calling) ของ O2 UK ส่ง ข้อมูลตำแหน่งของคู่สนทนา และตัวระบุอุปกรณ์ออกมาระหว่างการโทร
  • ในข้อความสัญญาณ IMS มี ข้อมูลอ่อนไหว เช่น IMSI, IMEI, Cell ID รวมอยู่ และสามารถรับจากภายนอกได้อย่างง่ายดาย
  • สามารถใช้ข้อมูลสาธารณะแบบคราวด์ซอร์ส เช่น cellmapper.net เพื่อ ระบุตำแหน่งได้อย่างแม่นยำ จากข้อมูลเหล่านี้
  • ช่องโหว่นี้ มีผลกับลูกค้า O2 ทุกคน ทำให้ใครก็ตามอาจตกเป็นเป้าหมายการโจมตีได้
  • ผู้ใช้หรือ ลูกค้าทั่วไป ไม่สามารถป้องกันการรั่วไหลของข้อมูลนี้ได้ด้วยตนเอง ด้วยวิธีพิเศษใด ๆ

บทนำ

  • Voice over LTE(VoLTE) เป็นเทคโนโลยีที่ทำให้สามารถโทรด้วยเสียงผ่านโปรโตคอลอินเทอร์เน็ตบนเครือข่ายมือถือได้
  • IP Multimedia Subsystem(IMS) ที่ใช้กับ VoLTE อาจก่อให้เกิดความเสี่ยงด้านความปลอดภัยจากความซับซ้อนและปัญหาการทำงานร่วมกันระหว่างอุปกรณ์
  • ผู้ให้บริการแต่ละรายสามารถเลือกการตั้งค่าเซิร์ฟเวอร์ IMS และวิธีการให้บริการได้เอง จึงมีความเสี่ยงที่ การตั้งค่าผิดพลาดจะทำให้ข้อมูลรั่วไหล
  • เอกสารนี้วิเคราะห์กรณีที่ O2 UK ก่อให้เกิดข้อกังวลด้านความปลอดภัยดังกล่าวขึ้นจริง

สถานะบริการ IMS/VoLTE ของ O2 UK

  • เมื่อวันที่ 27 มีนาคม 2017 O2 UK เปิดตัวบริการแรกที่ใช้ IMS ในชื่อ 4G Calling เพื่อมอบคุณภาพเสียงที่ดีขึ้นและการใช้งานดาต้าระหว่างการโทร
  • ผู้เขียนใช้แอป Network Signal Guru(NSG) บน Google Pixel 8 ที่รูตแล้วเพื่อวัดคุณภาพการโทร
  • เนื่องจากข้อจำกัดของแอป ผู้เขียนจึงวิเคราะห์ ข้อความสัญญาณ IMS แบบดิบ โดยตรง เพื่อตรวจสอบรายละเอียดที่มีการแลกเปลี่ยนระหว่างการโทร

ปัญหาในข้อความสัญญาณ

  • การตอบสนองของสัญญาณ IMS ของ O2 UK มี ข้อมูลที่ละเอียดและยาวมากผิดปกติ เมื่อเทียบกับผู้ให้บริการรายอื่น
  • นอกจากข้อมูลเซิร์ฟเวอร์ IMS/SIP เวอร์ชัน ข้อผิดพลาด และบันทึกดีบักแล้ว ยังมีเฮดเดอร์อ่อนไหวดังต่อไปนี้รวมอยู่ด้วย
    • IMSI สองคู่, IMEI สองคู่
    • Cellular-Network-Info: เครือข่ายของผู้รับ รหัสพื้นที่ตำแหน่ง เซลล์ไอดี เป็นต้น
  • จากการเปรียบเทียบ IMSI, IMEI และ Cell ID ภายในข้อความ พบว่ามี ข้อมูลของคู่สนทนา (ผู้รับสาย) รวมอยู่ด้วย

การติดตามตำแหน่งผ่าน Cell ID

  • เมื่อถอดรหัสเฮดเดอร์ Cellular-Network-Info จะเห็น ผู้ให้บริการของผู้รับ รหัสพื้นที่ตำแหน่ง (LAC) และ Cell ID
  • สามารถนำ Cell ID ดังกล่าวไปใส่ในบริการอย่าง cellmapper.net เพื่อระบุตำแหน่งสถานีฐานได้อย่างแม่นยำ
  • ในพื้นที่ หนาแน่น เช่น เขตเมือง พื้นที่ครอบคลุมของสถานีฐานอาจแคบลงเหลือไม่ถึง 100m² ทำให้ ระบุตำแหน่งได้ละเอียดมาก
  • ในการทดสอบจริง วิธีนี้ยังใช้ได้แม้ลูกค้า O2 จะอยู่ระหว่างโรมมิงในต่างประเทศ และสามารถ ระบุตำแหน่งได้ถึงใจกลางเมือง
  • ข้อมูลเหล่านี้รั่วไหลจากอุปกรณ์ O2 ทุกเครื่องที่รองรับการโทรผ่าน IMS โดยไม่ต้องใช้อุปกรณ์พิเศษหรือขั้นตอนซับซ้อนใด ๆ

ข้อเสนอแนะในการแก้ไข

  • O2 ควรลบ เฮดเดอร์อ่อนไหว (ข้อมูลตำแหน่งและข้อมูลอุปกรณ์) ออกจากข้อความ IMS/SIP เพื่อปกป้องความเป็นส่วนตัวและความปลอดภัยของลูกค้า
  • เฮดเดอร์สำหรับดีบักก็ควรถูกปิดใช้งาน เพราะอาจนำไปสู่ การรั่วไหลของข้อมูลที่ไม่จำเป็น
  • การที่เฮดเดอร์ลักษณะนี้มองเห็นได้จากอุปกรณ์ปลายทางภายนอก network core ถือว่า ไม่สมเหตุสมผล
  • การไม่มีช่องทางรายงานปัญหาความปลอดภัยภายในของ O2 เป็น ปัญหาร้ายแรง เมื่อเทียบกับผู้ให้บริการรายอื่น เช่น EE

บทสรุป

  • ลูกค้า O2 ทุกคนมีความเสี่ยงถูกติดตามตำแหน่งอย่างละเอียด ได้ หากผู้โจมตีมีเพียงความรู้พื้นฐานด้านเครือข่ายมือถือ
  • แม้ผู้ใช้จะ ปิด 4G Calling ก็ยังไม่สามารถหยุดการรั่วไหลของข้อมูลอ่อนไหวนี้ได้ จึงป้องกันด้วยตนเองไม่ได้
  • แม้อุปกรณ์จะไม่ได้เชื่อมต่อกับเครือข่าย ข้อมูล เซลล์ล่าสุดที่เชื่อมต่อและเวลาที่เชื่อมต่อ ก็ยังคงอยู่ในข้อความ IMS
  • ระหว่างวันที่ 26–27 มีนาคม 2025 ผู้เขียนได้แจ้งข้อเท็จจริงและความเสี่ยงนี้หลายครั้งทางอีเมลถึงผู้รับผิดชอบด้านความปลอดภัยและ CEO ของ O2 แต่ ยังไม่มีการตอบสนองหรือการปรับปรุงที่ชัดเจน

อ้างอิง

ประวัติการแก้ไข

  • ณ วันที่ 18 พฤษภาคม 2025 เวลา 23:40 ได้แก้ไขบทความต้นฉบับให้ถูกต้อง หลังพบว่าที่อยู่อีเมลสำหรับรายงานด้านความปลอดภัยของ O2 ในบทความแรกระบุผิด (virginmedia.co.ukvirginmediao2.co.uk)

1 ความคิดเห็น

 
GN⁺ 2025-05-18
ความคิดเห็นจาก Hacker News
  • ได้ส่งอีเมลแจ้ง O2 เกี่ยวกับพฤติกรรมนี้และความเสี่ยงด้านความเป็นส่วนตัวไปเมื่อวันที่ 26 และ 27 มีนาคม 2025 แต่จนถึงตอนนี้ก็ยังไม่มีทั้งคำตอบหรือการเปลี่ยนแปลงใด ๆ เป็นการรับมือที่น่าผิดหวังมาก อีกทั้งยังน่าสงสัยด้วยว่าทำไมที่อยู่ของ Virgin Media ถึงเป็นช่องทางติดต่อที่ใกล้เคียงที่สุด และการที่ https://www.o2.co.uk/.well-known/security.txt ควรตอบกลับด้วย 200 แต่กลับเป็น 404 ก็เป็นปัญหา ในสถานการณ์แบบนี้ก็พอเข้าใจได้ว่าทำไมถึงเลือกเปิดเผยต่อสาธารณะ แต่ก็อดสงสัยไม่ได้ว่าหน่วยงานอย่าง NCSC จะสามารถสื่อสารประเด็นนี้ได้ดีกว่าหรือไม่
    • ที่จริงกรอกอีเมลผิดเอง ควรใช้ @virginmediao2.co.uk ของ Virgin Media O2 แต่ดันพิมพ์เป็น @virginmedia.co.uk ผิดไป จะมีการแก้ไขส่วนนี้ในบทความ
    • ในนโยบายความเป็นส่วนตัวมีอีเมลหลายรายการอยู่แล้ว (เป็นข้อกำหนดของ GDPR) เช่น DPO@o2.com เป็นต้น เป็นไปได้ว่าฝั่งนั้นอาจมีคนตรวจสอบอยู่ ดูได้ที่ https://www.o2.co.uk/termsandconditions/privacy-policy
  • เมื่อก่อน O2 เคยมีอีเมลสำหรับการเปิดเผยข้อมูลอย่างรับผิดชอบ แต่เอาออกไปเมื่อหลายปีก่อน สมัยก่อนทีมความปลอดภัยของที่นั่นเก่งมาก แต่ตอนส่งเมลเรื่องประเด็นหนึ่งไปเมื่อปีก่อนกลับพบว่าหายไปหมดแล้ว
    • เป็นไปได้ว่าทีมภายใน O2 ที่เกี่ยวข้องจริง ๆ ได้รับการแจ้งแล้ว แต่ไม่ได้ดำเนินการใด ๆ หรือดำเนินการไม่เพียงพอ
  • บั๊กครั้งนี้ไม่ใช่แค่บั๊กเชิงทฤษฎี แต่เป็นปัญหาที่เกิดจากความมักง่ายในทางปฏิบัติ ผู้ให้บริการเครือข่ายรายอื่นในสหราชอาณาจักรแก้ปัญหานี้กันไปแล้ว ตั้งแต่ช่วงแรกที่เริ่มใช้ LTE ก็มีการพูดถึงปัญหาการรั่วไหลของ ECI อยู่แล้ว และด้วยฐานข้อมูลเสา Open Mast DB การแมปตำแหน่งแบบอัตโนมัติก็ทำได้ง่ายมาก ดูงานวิจัยที่เกี่ยวข้องได้ที่ https://arxiv.org/abs/2106.05007
  • สิ่งที่น่าสนใจมากคือ ในมุมมองทางกฎหมายส่วนใหญ่แล้ว เรื่องนี้ไม่ถูกจัดเป็นการแฮ็ก เพราะข้อมูลนี้ถูกส่งออกมาจากเครือข่ายเองตามปกติ ไม่ได้มีการหลอกระบบเพื่อให้ได้ข้อมูลมาอย่างผิดกฎหมาย เช่น การเติม "&reveal_privat_data=true" ลงใน URL นั้นเห็นเจตนาชัดว่าไม่ชอบด้วยกฎหมาย แต่กรณีนี้ไม่ใช่แบบนั้น
    • แต่ถึงอย่างนั้นนี่ก็ยังนับเป็นการรั่วไหลของข้อมูลอยู่ดี และในประเทศอย่างสหราชอาณาจักรที่มีกฎระเบียบรองรับ ก็อาจกลายเป็นเหตุที่ต้องรายงานต่อหน่วยงานกำกับดูแลทันทีหรือถูกปรับได้
    • เมื่อพิจารณาว่าขอบเขตของ Computer Misuse Act กว้างมาก เรื่องนี้ก็อาจไม่ใช่สิ่งที่จะมองข้ามได้ง่ายอย่างที่คิด
  • อยากรู้มากว่าผู้เริ่มโทรเห็นข้อความควบคุมการเรียก เช่น SIP ได้อย่างไร เพราะเคยคิดว่าข้อความพวกนี้อยู่ใน GRE tunnel ที่เข้ารหัสระหว่างเครื่องโทรศัพท์กับสถานีฐาน (MME) ถ้ามีใครถอดการเข้ารหัสของ GRE tunnel ได้จริง นั่นคือช่องโหว่ความปลอดภัยขนาดใหญ่ อาจเป็นไปได้ว่า OP กำลังวิเคราะห์จากอุปกรณ์ของตัวเองจึงทำได้ แต่ถึงอย่างนั้นการมองเห็น payload ก่อนเข้ารหัสก็ยังน่าประหลาดใจอยู่ดี
    • เป็นบรรณาธิการของบทความ อุปกรณ์ Android ที่ใช้ชิป Qualcomm ส่วนใหญ่มีตัวเลือกให้เปิดพอร์ตวินิจฉัยโมเด็มผ่าน USB ได้ จึงไม่ต้องรูทด้วยซ้ำ ผมชอบใช้ NSG บนเครื่องที่รูทแล้วมากกว่าเพราะสะดวกกว่าการต้องพกโน้ตบุ๊กไปมา และถ้าใช้ Scat(https://github.com/fgsect/scat) ร่วมกับการเปิดพอร์ตวินิจฉัยโมเด็ม ก็จะเห็นทราฟฟิกสัญญาณทั้งหมดได้
    • กำลังใช้โทรศัพท์ Android ที่รูทแล้วกับแอป Network Signal Guru(https://play.google.com/store/apps/details?id=com.qtrun.QuickTest) เวอร์ชันฟรีไม่ได้ "ถอดรหัส" จริง ๆ แต่ด้วยสิทธิ์ root และการเข้าถึงโมเด็ม ก็สามารถอ่านล็อกแบบนี้ได้ สามารถปิดบางแบนด์หรือบังคับให้เชื่อมต่อเฉพาะบางเสาสัญญาณได้ จึงสะดวกเวลาใช้เป็นเครื่องสำหรับดาต้าอย่างเดียว
    • ผู้ให้บริการหลายรายตั้งค่า SIP signaling สำหรับ VoLTE ให้เป็นการรับส่งผ่าน IPsec ที่ไปสิ้นสุดที่ P-CSCF แต่ส่วนใหญ่ (หรืออาจทั้งหมด) ตั้งค่า IPsec ให้รับประกันเพียงความถูกต้องสมบูรณ์ของข้อมูลเท่านั้น
    • แก้ไข: ไม่ใช่ GRE แต่เป็น GTP
    • น่าจะหมายถึง GTP tunnel ซึ่งทำงานระหว่าง enodeb กับ core network และจะปลอดภัยก็ต่อเมื่ออยู่ภายใน IPSEC เท่านั้น
  • น่าแปลกที่ O2 ยังทำธุรกิจต่อได้ เพราะแย่กว่าเครือข่ายอื่นมาก แย่ยิ่งกว่า Three ที่มีปัญหา backhaul หนักเสียอีก เหตุผลเดียวที่ผมยังมีซิม O2 คือเอาไว้ใช้ Priority ticket กับสัญญาณในสถานที่จัดงานของพวกเขา
    • ถ้าเข้าใช้งานเครือข่าย 5G Standalone ได้ ประสบการณ์จะดีขึ้นมาก แต่ต้องมีซิมใหม่และโทรศัพท์ที่รองรับ ความแตกต่างรู้สึกได้ชัดเจน
  • คิดว่าเป็นปัญหาที่ค่อนข้างร้ายแรง การรูทโทรศัพท์และติดตั้ง NSG เพื่อดูข้อมูลแบบนี้ไม่ใช่เรื่องยากเลย O2 ยังเป็นผู้ให้บริการมือถือรายใหญ่ที่สุดของสหราชอาณาจักร และมีสัญญากับภาครัฐด้วย การไม่ตอบกลับน่าผิดหวัง แต่ก็เป็นเรื่องที่พอคาดได้ O2 ภายในดูสับสนวุ่นวายมาก เรื่องไหนที่ร้านช่วยแก้ไม่ได้จะใช้เวลานานมากกว่าจะได้รับการแก้ไข (เช่น ปัญหาการย้ายเบอร์) ระบบก็เก่า ลูกค้าบางส่วนยังใช้ VoLTE ไม่ได้ 5G SA ก็ยังไม่รองรับการโทรด้วยเสียง และพึ่งพา n28 มากเกินไปจนมักช้า CTO เขียนบล็อกในทำนองว่า "เลิกสนใจ vanity metrics แล้วโฟกัสสิ่งที่สำคัญกันเถอะ" แต่คุณภาพดาต้าก็ยังรั้งท้ายตลอด ดูบล็อกที่เกี่ยวข้องได้ที่ https://news.virginmediao2.co.uk/leaving-the-vanity-metrics-behind-and-focusing-on-what-matters-customer-experience/
    • เริ่มสงสัยแล้วว่าที่ไม่เก็บค่าโรมมิ่ง EU เป็นเพราะไม่มีระบบคิดค่าบริการรองรับหรือเปล่า
  • สงสัยว่าปิด VoLTE จะช่วยป้องกันปัญหานี้ได้ไหม iPhone 11 ยังหาเมนูปิดได้ แต่ใน iPhone 15 ไม่มีตัวเลือกนี้แล้ว
    • แม้จะปิด 4G Calling (VoLTE) แล้ว header แบบนี้ก็ยังถูกเปิดเผยอยู่ และแม้ปิดเครื่องไปแล้ว ตำแหน่งของเซลล์ล่าสุดที่เชื่อมต่อพร้อมเวลาก็ยังถูกเปิดเผยอยู่ดี ดังนั้นจึงไม่ช่วยอะไร
    • O2 UK ไม่รองรับ VoLTE สำหรับลูกค้าเติมเงินแบบเดิม (PAYG) รองรับเฉพาะลูกค้าแพ็กเกจรายเดือน ตอนนี้กลับรู้สึกว่าเป็นเรื่องดีไปเสียอย่างนั้น
  • ไม่ค่อยรู้อะไรเกี่ยวกับ IMS แต่สงสัยว่าต้องคุยสายอยู่นานพอสมควรไหมกว่าจะมีการส่ง debug header แบบนี้ คล้ายฉากติดตามการโทรในหนังสายลับ ถ้าเป็นอย่างนั้นก็คงเลี่ยงได้ด้วยการไม่รับสายจากเบอร์ที่ไม่รู้จัก แต่แน่นอนว่าถ้าคนรู้จักโทรมาที่เบอร์ ก็ยังเปิดเผยข้อมูลได้เหมือนกัน
    • ข้อมูลแบบนี้เป็นสิ่งที่เครือข่ายรู้อยู่แล้วตั้งแต่ก่อนจะเชื่อมต่อสายเสียอีก น่าจะเป็น header สำหรับดีบัก จึงต้องมีไว้แม้ในกรณีที่ต่อสายไม่สำเร็จเพื่อใช้แก้ปัญหา ถ้าเข้าใจไม่ผิด นั่นหมายความว่าแม้เครื่องปิดอยู่ก็ยังให้ข้อมูลเกี่ยวกับเซลล์ล่าสุดที่ใช้งานได้
    • IMS ก็คือ SIP core + เกตเวย์หลายตัว + โครงสร้างพื้นฐาน LTE พื้นฐาน (เช่น eNodeB, PCRF ฯลฯ) ดังนั้นข้อความ signaling ในที่นี้ก็คือข้อความ SIP ธรรมดา ถ้า header พวกนี้อยู่ใน SIP 180 Ringing ด้วย ก็อาจทำให้ข้อมูลรั่วได้แม้จะไม่รับสายเลย คำอธิบายนี้มาจากประสบการณ์ที่เคยทำระบบ IMS ของผู้ให้บริการจริง
  • สงสัยว่า O2 NZ ก็มีปัญหานี้ด้วยหรือไม่ เพิ่งย้ายมาใช้เมื่อสัปดาห์ก่อนเพราะต้องการโรมมิ่งไม่จำกัดและโทร VoLTE ในออสเตรเลีย
    • เป็นไปได้ค่อนข้างมากว่าปัญหานี้จะเกิดเฉพาะกับ O2 UK เท่านั้น