ข้อผิดพลาดที่มีความรุนแรงสูงในซอฟต์แวร์ Bitcoin เปิดเผย 2 ปีหลังจากการแก้ไข

ข้อผิดพลาดที่มีความรุนแรง "สูง" ในซอฟต์แวร์ Bitcoin เปิดเผย 2 ปีหลังจากการแก้ไข - ข้อบกพร่องของ Bitcoin Coreข้อผิดพลาดที่สำคัญในซอฟต์แวร์ Bitcoin Core ไม่ต้องสับสน ระบบ Bitcoinอาจทำให้ผู้โจมตีสามารถขโมยเงินล่าช้าข้อตกลงหรือแยกเครือข่ายบล็อกเชนขนาดใหญ่ออกเป็นเวอร์ชันที่ขัดแย้งกันได้หากไม่ได้รับการแก้ไขอย่างลับๆเมื่อสองปีก่อน

ข้อบกพร่องในรหัส

บทความที่เผยแพร่เมื่อวันพุธโดย Braydon Fuller วิศวกรโปรโตคอลที่ Purse เว็บไซต์ช้อปปิ้ง crypto และ Javed Khan ผู้พัฒนาอาวุโสของโปรโตคอล Handshake กล่าวว่าพวกเขาตรวจพบช่องโหว่ในเดือนมิถุนายน 2018

ข้อบกพร่องได้รับการกำหนดระดับความรุนแรง 7,8 ในระดับ 1 ถึง 10 ซึ่งถือว่า "สูง" (9 ขึ้นไปถือว่า "วิกฤต") ปัญหาเกิดจาก "โหนดระยะไกล" ล้มเหลวในการล้างธุรกรรมที่ไม่ถูกต้องออกจากหน่วยความจำ Khan กล่าว

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

โซลูชันเลเยอร์ 2 (L2) เช่น Lightning Network ซึ่งเป็นระบบการชำระเงินทดลองที่สร้างขึ้นบน Bitcoin blockchain มีความเสี่ยงจากข้อบกพร่องนี้ ในทางกลับกันโหนดเต็มของ Bitcoin ไม่เสี่ยงต่อการสูญเสียเงินทุน

ไม่มีการเปิดเผยความพยายามที่จะใช้ประโยชน์จากปัญหา Khan และ Fuller เขียน ช่องโหว่ดังกล่าวไม่ได้รับการเปิดเผยต่อสาธารณะมานานกว่าสองปีเนื่องจากผู้ให้บริการโหนดใช้เวลาอัปเดตนานกว่าที่คาดไว้ฟุลเลอร์กล่าว

แม้ว่าข้อบกพร่องจะได้รับการแก้ไขแล้ว แต่การเปิดเผยข้อมูลจะเน้นย้ำถึงความยากลำบากในการสร้างมาตรฐานการเงินระดับโลกสำหรับภาษาโปรแกรมที่มนุษย์สร้างขึ้นโดยไม่ต้องพูดถึงอุปสรรคทางเทคนิคขั้นสูงในการพัฒนาสกุลเงินดิจิทัลที่ใหญ่ที่สุดในโลก

ปัญหาในรหัสถูกแทรกลงใน Bitcoin Core ในเดือนพฤศจิกายน 2017 ประมาณ 50% ของโหนด Bitcoin ในเวลานั้นอาจถูกโจมตีได้ตามเอกสาร Bitcoin Core เวอร์ชันก่อนหน้าไม่พบปัญหาประเภทนี้

ไม่ใช่แค่ Bitcoin Core

Khan กล่าวว่าช่องโหว่ดังกล่าวอาจทำให้ผู้โจมตีสามารถขโมยเงินจากโหนดที่เปิดช่องบน Lightning ได้ Bitcoin Core เวอร์ชัน 0.16.0 และ 0.16.1 ได้รับการวิเคราะห์และแก้ไขโดยผู้พัฒนา Matt Corallo หลังจากการเปิดเผยของ Fuller ต่อทีม Core ในเดือนกรกฎาคม 2018

Bitcoin Core คือการใช้งานอ้างอิงหรือเวอร์ชันมาตรฐานของซอฟต์แวร์เครือข่ายที่คนอื่น ๆ ได้รับมา ตามเอกสารข้อบกพร่องนี้อาจเกี่ยวข้องกับการใช้งาน Bitcoin และอนุพันธ์อื่น ๆ อีกหลายอย่าง:

  • นอต Bitcoin v0.16.0
  • Bcoin ทุกรุ่นเบต้าถึง v1.0.0-pre
  • Btcd ทุกรุ่นถึง v0.20.1-beta
  • Litecoin Core v0.16.0
  • เนมคอยน์คอร์ v0.16.1
  • Dcrd ทุกเวอร์ชันถึง v1.5.1

การใช้งานทั้งหมดนี้ได้รับการแก้ไขแล้ว