สรุปสั้น

บริษัท Railway ผู้ให้บริการแพลตฟอร์มคลาวด์สำหรับดีพลอยแอปพลิเคชัน เปิดเผยเหตุความปลอดภัยที่บุคคลที่สามซึ่งไม่ได้รับอนุญาตอาจเข้าถึงตัวแปรสภาพแวดล้อม (environment variables) ของลูกค้า รวมถึงค่าที่ถูกถอดรหัสแล้วบางส่วน ข้อมูลที่อาจหลุดได้แก่คีย์ API รหัสผ่านฐานข้อมูล และข้อมูลรับรองของ registry ส่วนตัว Railway ตรวจพบกิจกรรมผิดปกติในระบบที่เก็บตัวแปรเหล่านี้ และเผยแพร่ประกาศเมื่อวันที่ 21 ตุลาคม 2569 ผลการสอบสวนเบื้องต้นชี้ว่าได้รับผลกระทบเพียงผู้ใช้บางส่วน แต่บริษัทยังไม่เปิดเผยจำนวนบัญชี ตัวผู้โจมตี หรือวิธีเข้าถึง

ที่น่าสนใจคือ Railway เชื่อว่าเหตุนี้เป็นส่วนหนึ่งของการโจมตีต่อเนื่องที่เล็งบริษัทแพลตฟอร์มหลายราย เพื่อยึดการเข้าถึงผู้ให้บริการ AI inference และได้แจ้งผู้ให้บริการต้นทางให้เพิกถอนคีย์ล่วงหน้าแล้ว แต่ไม่ระบุชื่อผู้ให้บริการ ระหว่างสอบสวน Railway หยุดการดีพลอยชั่วคราวและหมุนเวียนข้อมูลรับรองของ storage bucket ทั้งหมด พร้อมแนะนำให้ลูกค้าทุกรายเปลี่ยน secret ที่เก็บเป็นตัวแปรสภาพแวดล้อมทันทีโดยไม่ต้องรอการยืนยันว่าบัญชีตนได้รับผลกระทบ

รายละเอียดข่าว

เว็บไซต์ Cybersecurity News รายงานเมื่อวันที่ 22 ตุลาคม 2569 ว่า Railway เปิดเผยเหตุความปลอดภัยที่บุคคลที่สามอาจเข้าถึงตัวแปรสภาพแวดล้อมของลูกค้า รวมถึงค่าที่ถอดรหัสแล้วบางส่วน และเรียกร้องให้ลูกค้าทุกรายเปลี่ยน secret ที่เก็บไว้

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

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

หน้าแสดงสถานะของ Railway ยืนยันว่าการบิลด์ยังใช้งานไม่ได้ ณ เวลา 02:19 UTC ของวันที่ 22 ตุลาคม 2569 Railway ระบุว่าจะส่งอีเมลถึงลูกค้าโดยตรงเมื่อยืนยันบัญชีที่ได้รับผลกระทบ การสอบสวนยังดำเนินอยู่และยังไม่รู้ขอบเขตทั้งหมด

อัปเดต 23 ต.ค. 2569: กระเป๋าคริปโตถูกดูดก่อนประกาศ และการกู้คืนของ Railway

เว็บไซต์ The Hacker News รายงานเพิ่มเติมเมื่อวันที่ 22 ตุลาคม 2569 ว่านางสาว Taylor Monahan นักวิจัยความปลอดภัย (@tayvano_) ชี้ว่าผู้โจมตีใช้เหตุนี้ดูดเงินออกจากกระเป๋าคริปโตที่เจ้าของเก็บ private key ไว้ใน Railway ด้วย ธุรกรรมขโมยคริปโตครั้งแรกที่รู้เกิดขึ้นเวลา 19:36 น. (ต้นฉบับไม่ระบุเขตเวลา) ซึ่งเร็วกว่าการประกาศเหตุอย่างเป็นทางการอย่างน้อย 2 ชั่วโมง กระเป๋าของผู้โจมตีที่ถูกระบุคือ 0xd9773325282874d18cb83f1fe50f14c39750b2ee บนเครือข่าย Ethereum ข้อมูลนี้ยืนยันว่า secret ที่หลุดถูกนำไปใช้จริงแล้วอย่างน้อยในกรณีคีย์กระเป๋าคริปโต แม้ Railway เองยังไม่ได้ระบุว่าคีย์ API ของผู้ให้บริการ AI ถูกนำไปใช้ในทางที่ผิดหรือไม่

ด้านการตอบสนอง Railway หมุนเวียนข้อมูลรับรองของ bucket ทั้งหมดและยกเลิกโทเคน API ของ Railway ทุกตัวแล้ว และเปิดการบิลด์คืนให้ workspace ระดับ Pro และ Enterprise เพื่อให้ลูกค้าดีพลอยด้วยข้อมูลรับรองชุดใหม่ได้ ส่วนแผน Hobby, Free และ Trial จะทยอยเปิดตามลำดับ บริษัทยอมรับว่ายังมีการบิลด์ล้มเหลวบ่อยกว่าปกติและการดีพลอยจำนวนมากยังค้างคิวนานกว่าปกติ ลูกค้าที่ใช้โทเคน API ของ Railway ในสคริปต์หรือ CI/CD จึงต้องออกโทเคนใหม่ด้วย

ในประเด็นความเชื่อมโยงกับ LLMjacking นาย Dick O’Brien นักวิเคราะห์ข่าวกรองหลักของ Symantec Threat Hunter Team ระบุว่ายังไม่มีหลักฐานว่าเหตุของ Railway เชื่อมกับปฏิบัติการ AI agent “Skynet mode” ที่ Symantec ตรวจพบใน honeypot ซึ่งสแกนอินเทอร์เน็ต เจาะเฟรมเวิร์กเว็บ ขโมย secret และขุดคริปโตด้วยโมเดลที่ขโมยมา แต่ทั้งสองเรื่องมีจุดร่วมคือคีย์ API ของโมเดล AI มีมูลค่าสูง เพราะใครถือคีย์ก็รัน inference ได้โดยให้เจ้าของจ่ายเงิน และ honeypot ของ Symantec บันทึกการนำคีย์ที่ขโมยมาไปพ่นทดลองกับ endpoint ของโมเดลจำนวนมาก ขณะที่ Wiz เพิ่งรายงานเคสผู้โจมตียึดข้อมูลรับรอง GCP ผ่านโฆษณาค้นหาของ Google ที่พาไปหน้าล็อกอินปลอม แล้วผูกโปรเจกต์ของผู้โจมตีเข้าบัญชีเรียกเก็บเงินของเหยื่อเพื่อรันโมเดล AI

วิธีการโจมตี

Railway ยังไม่เปิดเผยช่องทางที่ผู้โจมตีใช้ แต่ระบุว่าเหตุนี้น่าจะเป็นส่วนหนึ่งของการโจมตีต่อเนื่องที่เล็งบริษัทแพลตฟอร์ม เพื่อยึดการเข้าถึงผู้ให้บริการ AI inference ซึ่งรันโมเดล AI ตามคำขอของผู้ใช้ เป้าหมายที่สอดคล้องกันคือคีย์ API ของผู้ให้บริการโมเดลที่นักพัฒนาเก็บไว้ในตัวแปรสภาพแวดล้อม ซึ่งนำไปขายต่อหรือใช้รันโมเดลแบบเสียเงินโดยให้เหยื่อจ่ายค่าใช้จ่าย หรือที่เรียกว่า LLMjacking อย่างไรก็ตาม Railway ยังไม่ยืนยันว่ามีการใช้คีย์ในทางที่ผิดเกิดขึ้นในเหตุนี้

การหยุดดีพลอยยังสร้างปัญหาต่อการกู้คืน เพราะการเปลี่ยนข้อมูลรับรองบางประเภทต้องดีพลอยบริการใหม่ก่อนแอปจึงจะใช้ค่าใหม่ได้ Railway เริ่มหมุนเวียนข้อมูลรับรองของ storage bucket ทั้งหมดเป็นมาตรการป้องกัน และค่าใหม่จะปรากฏในแดชบอร์ดของลูกค้าอัตโนมัติ แต่แอปจะดีพลอยใหม่เพื่อใช้ค่าเหล่านั้นไม่ได้จนกว่าการบิลด์จะกลับมา

ผลกระทบ

แพลตฟอร์มแบบ PaaS อย่าง Railway ถูกใช้มากในสตาร์ตอัปและนักพัฒนาที่ต้องการดีพลอยเร็ว ซึ่งมักเก็บ secret ทุกประเภทไว้ในตัวแปรสภาพแวดล้อมที่เดียว ทั้งรหัสผ่านฐานข้อมูล คีย์คลาวด์ โทเคน GitHub และคีย์ API ของผู้ให้บริการ AI การหลุดของระบบนี้จึงเท่ากับการหลุดของกุญแจทุกดอกของแอปพลิเคชัน และผลกระทบลามไปถึงระบบภายนอกที่เชื่อมต่ออยู่ การที่ Railway ยังไม่รู้ช่องทางเจาะและยังไม่ระบุจำนวนบัญชี ทำให้ลูกค้าต้องถือว่าตัวเองได้รับผลกระทบไว้ก่อน

เหตุนี้ยังสอดคล้องกับแนวโน้มที่ผู้โจมตีหันมาเล็งคีย์ของผู้ให้บริการ AI โดยตรง ทั้งผ่านซัพพลายเชนอย่างกรณี LiteLLM (โพสต์ 10/221) และผ่านผู้ให้บริการแพลตฟอร์มที่รวมคีย์ของลูกค้าจำนวนมากไว้ในที่เดียว

คำแนะนำ

  • ลูกค้า Railway เปลี่ยน secret ทุกตัวที่เก็บเป็นตัวแปรสภาพแวดล้อมทันที ทั้งคีย์ API รหัสผ่านฐานข้อมูล ข้อมูลรับรอง registry ส่วนตัว คีย์คลาวด์ และโทเคน GitHub โดยไม่ต้องรออีเมลยืนยัน
  • เพิกถอนคีย์ที่ผู้ให้บริการ AI ฝั่งต้นทาง แล้วตรวจยอดการใช้งานและค่าใช้จ่ายย้อนหลังเพื่อหาการใช้งานที่ผิดปกติ
  • ตรวจล็อกของบริการที่เชื่อมต่อ เช่น ฐานข้อมูล ผู้ให้บริการคลาวด์ และ GitHub หาการล็อกอินหรือการเรียกใช้งานจาก IP ที่ไม่รู้จักตั้งแต่ก่อนวันที่ 21 ตุลาคม
  • อัปเดต 23 ต.ค. 2569: ถ้าเก็บ private key หรือ seed ของกระเป๋าคริปโตไว้ในตัวแปรสภาพแวดล้อมของ Railway ให้ย้ายเงินไปกระเป๋าใหม่ที่สร้างกุญแจใหม่ทันที เพราะมีการดูดเงินจริงแล้ว และออกโทเคน API ของ Railway ใหม่ให้สคริปต์และ CI/CD เนื่องจากโทเคนเดิมถูกยกเลิกทั้งหมด
  • เตรียมดีพลอยใหม่ทันทีเมื่อการบิลด์กลับมา เพื่อให้แอปใช้ข้อมูลรับรอง storage bucket และ secret ชุดใหม่
  • ในระยะยาว ใช้ secret manager ที่ออกข้อมูลรับรองอายุสั้นแทนการเก็บ secret ถาวรในตัวแปรสภาพแวดล้อม และจำกัดสิทธิ์และวงเงินของคีย์ API ของผู้ให้บริการ AI

แหล่งอ้างอิง