TeleMessage ช่องโหว่ความปลอดภัยร้ายแรงที่ทำให้ข้อมูลลับรัฐบาลและบริษัทดังรั่วไหล

เหตุการณ์ความประมาทเพียงเล็กน้อยอาจนำไปสู่หายนะทางข้อมูลระดับชาติ เมื่อภาพถ่ายของ Mike Waltz อดีตที่ปรึกษาด้านความมั่นคงแห่งชาติของประธานาธิบดีโดนัลด์ ทรัมป์ เผยให้เห็นว่าเขากำลังแอบใช้แอปพลิเคชันส่งข้อความภายใต้โต๊ะระหว่างการประชุมคณะรัฐมนตรี แต่สิ่งที่น่าตกใจไม่ใช่การแอบเล่นโทรศัพท์ แต่เป็นตัวแอปที่เขาเลือกใช้

Waltz ไม่ได้ใช้ Signal ซึ่งเป็นแอปมาตรฐานด้านการเข้ารหัสที่ทั่วโลกยอมรับ แต่กลับใช้ TeleMessage Signal (TM SGNL) ซึ่งเป็นแอปเลียนแบบที่พัฒนาโดยบริษัท TeleMessage (ปัจจุบันถูกซื้อกิจการโดย Smarsh) แม้หน้าตาจะคล้ายกัน แต่ TM SGNL มีการเก็บสำเนาข้อความทั้งหมดไว้ในระบบ ซึ่งเป็นการทำลายหลักการความปลอดภัยขั้นพื้นฐานของการสื่อสารแบบลับ

การเจาะระบบที่ง่ายจนน่าตกใจ

เพียงสองวันหลังจากภาพดังกล่าวถูกเผยแพร่ แฮกเกอร์นิรนามรายหนึ่งเปิดเผยว่าสามารถเจาะระบบของ TeleMessage ได้สำเร็จโดยใช้เวลาเพียง 15 ถึง 20 นาทีเท่านั้น โดยอาศัยช่องโหว่พื้นฐานที่เกิดจากการตั้งค่าระบบที่ผิดพลาดอย่างรุนแรง

จุดเริ่มต้นของการโจมตีเริ่มจากแผงควบคุมผู้ดูแลระบบ (Admin Panel) ที่มีการใช้ Hashing หรือการแปลงรหัสผ่านให้เป็นชุดตัวอักษรที่ไม่สามารถอ่านได้ แต่กลับใช้มาตรฐาน MD5 ซึ่งล้าสมัยและไม่ปลอดภัย อีกทั้งยังทำในฝั่ง Client-side ทำให้ตัว Hash นั้นกลายเป็นเสมือนรหัสผ่านเสียเอง ส่งผลให้ข้อมูลส่วนตัว เช่น อีเมล ชื่อผู้ใช้ และเบอร์โทรศัพท์ ถูกเปิดเผยต่อสาธารณะ

เส้นทางสู่การเข้าถึงข้อมูลลับ

แฮกเกอร์ใช้เครื่องมือที่ชื่อว่า feroxbuster เพื่อค้นหาไฟล์ที่เปิดสาธารณะบนเว็บไซต์ และได้พบ URL ที่ลงท้ายด้วย /heapdump ซึ่งนำไปสู่การดาวน์โหลด Java heap dump หรือไฟล์บันทึกสถานะหน่วยความจำของเซิร์ฟเวอร์ขนาดประมาณ 150 MB

ภายในไฟล์ Heap Dump นี้เองที่บรรจุข้อมูลสำคัญไว้มากมาย เนื่องจากเซิร์ฟเวอร์เก็บข้อมูลการร้องขอ HTTP ซึ่งรวมถึงชื่อผู้ใช้และรหัสผ่านของลูกค้าที่ล็อกอินเข้าสู่ระบบ ทำให้แฮกเกอร์สามารถสุ่มนำรหัสเหล่านี้ไปเข้าใช้งานระบบได้ทันที

ผลกระทบและความเสียหายต่อองค์กรระดับโลก

จากการเจาะระบบในครั้งนี้ ข้อมูลที่รั่วไหลครอบคลุมถึงหน่วยงานสำคัญและบริษัทชั้นนำ ดังนี้:

  • หน่วยงานศุลกากรและป้องกันชายแดนสหรัฐฯ (CBP): แฮกเกอร์สามารถเข้าถึงบัญชีของผู้ใช้งานในหน่วยงานนี้ได้
  • Coinbase: พบประวัติการแชทภายในของหนึ่งในแพลตฟอร์มแลกเปลี่ยนคริปโตเคอร์เรนซีที่ใหญ่ที่สุดในโลก แม้ทางบริษัทจะระบุว่าไม่มีข้อมูลลูกค้าที่ละเอียดอ่อนรั่วไหลก็ตาม
สรุปช่องโหว่และการรั่วไหลของข้อมูล TeleMessage
จุดที่เกิดช่องโหว่ สาเหตุทางเทคนิค ข้อมูลที่รั่วไหล
Admin Panel ใช้ MD5 Hashing ที่ล้าสมัย อีเมล, ชื่อผู้ใช้, เบอร์โทรศัพท์
Archive Server เปิดเผย /heapdump endpoint สาธารณะ รหัสผ่าน, ข้อความแชท, กุญแจเข้ารหัส
การรับส่งข้อมูล ส่งข้อความแบบไม่เข้ารหัสไปยังเซิร์ฟเวอร์เก็บข้อมูล เนื้อหาการสนทนาทั้งหมด

เบื้องหลังความล้มเหลวทางเทคนิค

จากการวิเคราะห์ซอร์สโค้ด พบว่า TM SGNL ส่งข้อความที่ ไม่ได้เข้ารหัส ไปยังเซิร์ฟเวอร์เก็บข้อมูล (Archive Server) ก่อนจะส่งต่อไปยังปลายทาง ซึ่งขัดแย้งกับคำโฆษณาที่ระบุว่ามีการเข้ารหัสแบบ End-to-End (การเข้ารหัสจากต้นทางถึงปลายทางโดยไม่มีใครคั่นกลางได้)

เซิร์ฟเวอร์ดังกล่าวสร้างขึ้นด้วย Spring Boot ซึ่งมีฟีเจอร์ที่เรียกว่า Actuator สำหรับช่วยนักพัฒนาตรวจสอบระบบ แต่หนึ่งในฟีเจอร์นี้คือการสร้าง Heap Dump ซึ่งตามคู่มือระบุชัดเจนว่า ห้ามเปิดใช้งานในสภาพแวดล้อมจริง (Production) เพราะมีความเสี่ยงสูง

ความผิดพลาดนี้อาจเกิดจากสองกรณี คือ TeleMessage ใช้ Spring Boot เวอร์ชันเก่าแก่กว่า 8 ปีที่เปิดฟีเจอร์นี้เป็นค่าเริ่มต้น หรือมีนักพัฒนาตั้งค่าเปิดทิ้งไว้เพื่อทดสอบระบบแล้วลืมปิดก่อนใช้งานจริง

ข้อเท็จจริงสำคัญ

  • TM SGNL ไม่ใช่ Signal: เป็นแอปเลียนแบบที่เก็บสำเนาข้อความไว้บนเซิร์ฟเวอร์
  • ความปลอดภัยต่ำ: ใช้การเข้ารหัสรหัสผ่านแบบ MD5 ซึ่งไม่ปลอดภัยในปัจจุบัน
  • การตั้งค่าผิดพลาด: เปิดเผยไฟล์ Heap Dump ทำให้แฮกเกอร์เห็นข้อมูลในหน่วยความจำเซิร์ฟเวอร์ได้
  • คำโฆษณาเกินจริง: อ้างว่าเข้ารหัส End-to-End แต่ความจริงส่งข้อมูลแบบไม่เข้ารหัสไปยังเซิร์ฟเวอร์เก็บข้อมูล
  • ความเสี่ยงระดับสูง: ข้อมูลของเจ้าหน้าที่รัฐสหรัฐฯ และบริษัทการเงินระดับโลกถูกเข้าถึงได้ในเวลาไม่ถึง 20 นาที

คำถามที่พบบ่อย

TeleMessage Signal แตกต่างจาก Signal อย่างไร?

Signal ของจริงใช้การเข้ารหัสแบบ End-to-End ที่สมบูรณ์และไม่เก็บข้อมูลข้อความบนเซิร์ฟเวอร์ แต่ TeleMessage Signal ถูกออกแบบมาเพื่อเก็บสำเนาข้อความไว้ในคลังข้อมูล (Archive) ทำให้ข้อมูลไม่เป็นความลับอย่างแท้จริง

Java Heap Dump คืออะไรและทำไมถึงอันตราย?

คือไฟล์ที่บันทึกภาพจำลองของหน่วยความจำในเซิร์ฟเวอร์ ณ ขณะนั้น หากไฟล์นี้ถูกเปิดเผย แฮกเกอร์สามารถค้นหาข้อมูลที่ค้างอยู่ในหน่วยความจำ เช่น รหัสผ่านที่ยังไม่ได้เข้ารหัส หรือกุญแจลับของระบบได้

ทำไมการใช้ MD5 ถึงไม่ปลอดภัย?

MD5 เป็นอัลกอริทึมการแฮชที่เก่าและมีช่องโหว่มาก ในปัจจุบันสามารถถูกถอดรหัสหรือหาค่าที่ตรงกันได้ง่ายด้วยคอมพิวเตอร์ประสิทธิภาพสูง ทำให้ไม่เหมาะสำหรับการเก็บรหัสผ่าน

Spring Boot Actuator คืออะไร?

เป็นเครื่องมือสำหรับนักพัฒนาในการตรวจสอบสุขภาพและประสิทธิภาพของแอปพลิเคชัน Java แต่หากตั้งค่าไม่ถูกต้อง จะกลายเป็นช่องทางให้ผู้ไม่หวังดีเข้าถึงข้อมูลภายในระบบได้

เหตุการณ์นี้ส่งผลกระทบต่อผู้ใช้ Signal ทั่วไปหรือไม่?

ไม่ส่งผลกระทบ เนื่องจากเหตุการณ์นี้เกิดขึ้นเฉพาะกับแอป TeleMessage Signal (TM SGNL) ซึ่งเป็นคนละซอฟต์แวร์กับแอป Signal ที่คนทั่วไปใช้งาน