กู้คืน Bitcoin มูลค่า 3 ล้านดอลลาร์ จากช่องโหว่โปรแกรมสร้างรหัสผ่าน RoboForm

ลองจินตนาการว่าคุณมีทรัพย์สินมูลค่ามหาศาลถูกล็อกไว้ในตู้เซฟดิจิทัล แต่คุณกลับทำกุญแจหายและไม่มีใครในโลกที่สามารถเปิดมันได้ นี่คือสถานการณ์ที่ Michael (นามสมมติ) เจ้าของสกุลเงินดิจิทัลชาวยุโรปต้องเผชิญ เมื่อเขาไม่สามารถเข้าถึง Bitcoin จำนวน 43.6 BTC ที่เก็บไว้ในวอลเล็ตซอฟต์แวร์ได้ เนื่องจากไฟล์ที่เก็บรหัสผ่าน 20 หลักถูกทำลายจนเสียหาย

ความหวังเดียวของเขาคือ Joe Grand หรือที่รู้จักในชื่อแฮ็กเกอร์ "Kingpin" วิศวกรไฟฟ้าผู้เชี่ยวชาญด้านการเจาะระบบฮาร์ดแวร์ ซึ่งเคยสร้างชื่อจากการกู้คืนเงินใน Trezor wallet (วอลเล็ตแบบฮาร์ดแวร์) มาแล้ว แต่กรณีของ Michael นั้นต่างออกไป เพราะเป็นการสูญเสียรหัสผ่านในระดับซอฟต์แวร์ ซึ่งไม่สามารถใช้ทักษะการแฮ็กอุปกรณ์ทางกายภาพมาช่วยได้

จุดพลิกผันจากความเชื่อที่ว่า "ไม่มีทางเป็นไปได้"

ในตอนแรก Grand ปฏิเสธคำขอของ Michael เพราะการใช้วิธี Brute-forcing หรือการเขียนสคริปต์เพื่อสุ่มเดารหัสผ่านนับล้านรูปแบบนั้นแทบจะเป็นไปไม่ได้ในทางปฏิบัติ และผู้เชี่ยวชาญด้านการถอดรหัสหลายรายต่างยืนยันว่าเงินจำนวนนี้สูญหายไปตลอดกาลแล้ว

อย่างไรก็ตาม Grand และเพื่อนร่วมงานชื่อ Bruno จากเยอรมนี ได้ลองวิเคราะห์การทำงานของ RoboForm ซึ่งเป็นโปรแกรมจัดการรหัสผ่าน (Password Manager) ที่ Michael ใช้สร้างรหัสผ่านในปี 2013 พวกเขาทำการ Reverse Engineering หรือการวิเคราะห์ย้อนกลับเพื่อดูการทำงานภายในของโปรแกรมเวอร์ชันเก่า และค้นพบช่องโหว่ร้ายแรงในระบบ Pseudo-random number generator (ตัวสร้างตัวเลขสุ่มเทียม) ซึ่งเป็นอัลกอริทึมที่ใช้สร้างรหัสผ่านแบบสุ่ม

ความลับของรหัสผ่านที่ "ไม่สุ่มจริง"

สิ่งที่น่าตกใจคือ RoboForm ในเวอร์ชันก่อนปี 2015 ไม่ได้สร้างรหัสผ่านแบบสุ่มอย่างแท้จริง แต่กลับนำ วันและเวลาของเครื่องคอมพิวเตอร์ มาเป็นปัจจัยหลักในการคำนวณรหัสผ่าน หมายความว่าหากแฮ็กเกอร์ทราบวันที่ เวลา และเงื่อนไขในการตั้งค่า (เช่น ความยาวรหัส หรือการใช้ตัวอักษรพิเศษ) พวกเขาจะสามารถคำนวณรหัสผ่านที่ถูกสร้างขึ้นในเวลานั้นๆ ได้อย่างแม่นยำ

Grand และ Bruno พยายามจำลองเวลาถอยหลังกลับไปในปี 2013 โดยเริ่มจากช่วงเดือนมีนาคมถึงเมษายน แต่ไม่สำเร็จ เนื่องจาก Michael จำวันที่แน่นอนที่สร้างรหัสผ่านไม่ได้ จนกระทั่งพวกเขาปรับเปลี่ยนเงื่อนไขโดย ตัดตัวอักษรพิเศษออก ตามรหัสผ่านอื่นๆ ที่ Michael เคยสร้างไว้ในตอนนั้น ในที่สุดพวกเขาก็พบรหัสที่ถูกต้อง ซึ่งถูกสร้างขึ้นเมื่อวันที่ 15 พฤษภาคม 2013 เวลา 16:10:40 น. GMT

สรุปรายละเอียดการกู้คืน Bitcoin ของ Michael
หัวข้อ รายละเอียด
จำนวน Bitcoin ที่กู้คืนได้ 43.6 BTC (คงเหลือ 30 BTC หลังหักค่าจ้าง)
เครื่องมือที่ใช้สร้างรหัสผ่าน RoboForm (เวอร์ชันก่อนปี 2015)
ช่องโหว่ที่พบ การใช้เวลาเครื่องคอมพิวเตอร์สร้างรหัสสุ่ม (Predictable Randomness)
วันที่สร้างรหัสผ่านจริง 15 พฤษภาคม 2013
มูลค่าปัจจุบันโดยประมาณ 3 ล้านดอลลาร์สหรัฐ

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

  • ช่องโหว่ของ RoboForm: โปรแกรมเวอร์ชันเก่าผูกการสร้างรหัสผ่านไว้กับวันเวลาของระบบ ทำให้รหัสผ่านสามารถถูกคำนวณย้อนหลังได้
  • การแก้ไขจากผู้ผลิต: Siber Systems ยืนยันว่าได้แก้ไขปัญหานี้ในเวอร์ชัน 7.9.14 เมื่อวันที่ 10 มิถุนายน 2015
  • ความเสี่ยงที่ยังคงอยู่: ผู้ใช้ที่สร้างรหัสผ่านก่อนปี 2015 และยังคงใช้รหัสเดิมอยู่ อาจตกเป็นเป้าหมายของการโจมตีได้
  • คำเตือนจากผู้เชี่ยวชาญ: Joe Grand ระบุว่าไม่แน่ใจว่าเวอร์ชันปัจจุบันปลอดภัยจริงหรือไม่ เนื่องจากบริษัทไม่ได้เปิดเผยรายละเอียดวิธีการแก้ไข

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

ทำไมการกู้คืนครั้งนี้ถึงทำได้ ทั้งที่ผู้เชี่ยวชาญคนอื่นบอกว่าไม่มีทาง?

เพราะผู้เชี่ยวชาญคนอื่นอาจพยายามใช้วิธีสุ่มเดารหัสผ่าน (Brute-force) ซึ่งใช้เวลานานมหาศาล แต่ Joe Grand ใช้วิธีค้นหาช่องโหว่ในอัลกอริทึมการสร้างรหัสผ่านของซอฟต์แวร์ ทำให้ขอบเขตการเดารหัสแคบลงจนสามารถหาคำตอบได้

หากฉันเคยใช้ RoboForm ก่อนปี 2015 ฉันควรทำอย่างไร?

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

Pseudo-random number generator คืออะไร?

คือระบบที่สร้างชุดตัวเลขที่ดูเหมือนจะสุ่ม แต่จริงๆ แล้วถูกคำนวณมาจากสูตรทางคณิตศาสตร์ หากตัวเริ่มต้น (Seed) เช่น วันเวลาของเครื่องถูกนำมาใช้และเป็นที่ทราบกัน รหัสที่ได้จะไม่ใช่การสุ่มที่แท้จริงและสามารถคาดเดาได้

การกู้คืนครั้งนี้ใช้เวลานานแค่ไหน?

กระบวนการนี้ใช้เวลาหลายเดือนในการทำ Reverse Engineering และทดลองสุ่มช่วงเวลาและเงื่อนไขต่างๆ จนกว่าจะพบรหัสที่ถูกต้อง

ทำไม Michael ถึงบอกว่าการลืมรหัสผ่านเป็นเรื่องดีทางการเงิน?

เพราะหากเขาไม่ลืมรหัสผ่าน เขาอาจจะขาย Bitcoin ไปตั้งแต่มูลค่าอยู่ที่ 40,000 ดอลลาร์ต่อเหรียญ แต่การที่เข้าถึงไม่ได้ทำให้เขาถือครองไว้จนมูลค่าพุ่งสูงขึ้นเป็น 62,000 ดอลลาร์ และปัจจุบันมีมูลค่ารวมถึง 3 ล้านดอลลาร์