HashEx Security Alert – ลายเซ็นเดียวอาจทำให้กระเป๋าของคุณหมด - The Daily Hodl

โพสต์แขกรับเชิญ HodlX ส่งโพสต์ของคุณ

ศูนย์วันโดยไม่มีเหตุการณ์ในพื้นที่ DeFi คราวนี้ช่องโหว่ถูกค้นพบใน 'ห้องสมุดวงรี' ที่ใช้กันอย่างแพร่หลาย

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

ทั้งหมดผ่านข้อความหลอกลวงที่ง่ายซึ่งลงนามโดยผู้ใช้ นี่คือปัญหาที่สำคัญหรือไม่?

สิ่งแรกที่ต้องพิจารณาคือข้อเท็จจริงที่ว่าห้องสมุดเช่น elliptic มีโค้ดคอมโพเนนต์สำเร็จรูปให้กับนักพัฒนา

หมายความว่า แทนที่จะเขียนโค้ดจากศูนย์และตรวจสอบมันไปเรื่อยๆ นักพัฒนาก็เพียงแค่ยืมองค์ประกอบที่พวกเขาต้องการ

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

ห้องสมุด Elliptic ถูกใช้กันอย่างแพร่หลายในระบบนิเวศของ JavaScript มันขับเคลื่อนฟังก์ชันการเข้ารหัสในหลายโครงการบล็อกเชนที่มีชื่อเสียง แอปพลิเคชันเว็บ และระบบรักษาความปลอดภัย

ตามสถิติ NPM แพคเกจที่มีข้อผิดพลาดจะถูกดาวน์โหลดประมาณ 12-13 ล้านครั้งต่อสัปดาห์โดยมีโครงการมากกว่า 3,000 โครงการที่แสดงรายการโดยตรงว่าเป็นการพึ่งพา

การใช้งานที่กว้างขวางนี้บ่งชี้ว่าช่องโหว่มีศักยภาพที่จะส่งผลกระทบต่อแอปพลิเคชันจำนวนมาก – โดยเฉพาะกระเป๋าเงินดิจิทัล, โหนดบล็อกเชน และระบบลายเซ็นอิเล็กทรอนิกส์ – รวมถึงบริการใด ๆ ที่พึ่งพาลายเซ็น ECDSA ผ่านเอลิปติก โดยเฉพาะเมื่อจัดการกับข้อมูลที่จัดเตรียมจากภายนอก.

ช่องโหว่นี้อนุญาตให้ผู้โจมตีระยะไกลสามารถเข้าถึงข้อมูลที่ละเอียดอ่อนได้อย่างเต็มที่โดยไม่มีการอนุญาตที่เหมาะสม.

นั่นคือเหตุผลที่ปัญหานั้นได้รับการจัดอันดับความรุนแรงสูงมาก - ประมาณเก้าจาก 10 บนมาตราส่วน CVSS.

สิ่งสำคัญคือต้องชี้ให้เห็นว่าการใช้ประโยชน์จากช่องโหว่นี้ต้องการลำดับของการกระทำที่เฉพาะเจาะจงมากและเหยื่อต้องลงนามในข้อมูลที่โจรกรรมจัดเตรียมให้

นั่นหมายความว่าโปรเจกต์บางอย่างอาจยังคงปลอดภัย เช่น ถ้าการใช้งานเซ็นข้อความภายในที่กำหนดไว้ล่วงหน้าเท่านั้น

อย่างไรก็ตาม ผู้ใช้หลายคนไม่ได้ใส่ใจมากนักเมื่อเซ็นข้อความผ่านกระเป๋าเงินคริปโตเหมือนกับเมื่อเซ็นธุรกรรม

เมื่อใดก็ตามที่เว็บไซต์ Web 3.0 ขอให้ผู้ใช้ลงนามในข้อกำหนดการให้บริการ ผู้ใช้มักจะละเลยที่จะอ่านมัน

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

รายละเอียดทางเทคนิค

ปัญหาเกิดจากการไม่จัดการกับข้อผิดพลาดอย่างเหมาะสมในระหว่างการสร้างลายเซ็น ECDSA (Elliptic Curve Digital Signature Algorithm).

ECDSA มักถูกใช้เพื่อยืนยันว่าข้อความ เช่น ธุรกรรมในบล็อกเชน เป็นของแท้

ในการสร้างลายเซ็น คุณต้องมีรหัสลับ – ซึ่งเจ้าของเท่านั้นที่รู้ – และหมายเลขสุ่มเฉพาะที่เรียกว่า ‘nonce’.

ถ้าหมายเลข nonce เดียวกันถูกใช้มากกว่าหนึ่งครั้งสำหรับข้อความที่แตกต่างกัน อาจมีคนสามารถค้นพบกุญแจลับได้โดยใช้คณิตศาสตร์.

โดยปกติแล้ว ผู้โจมตีไม่สามารถหาคีย์ส่วนตัวจากลายเซ็นหนึ่งหรือสองลายเซ็นได้ เพราะแต่ละลายเซ็นจะใช้หมายเลขสุ่มเฉพาะ (nonce).

แต่ห้องสมุดเอลลิปติกมีข้อบกพร่อง - หากมันได้รับข้อมูลประเภทแปลก ( เช่น สตริงพิเศษแทนที่จะเป็นรูปแบบที่คาดหวัง ) มันอาจสร้างลายเซ็นสองลายที่มี nonce เดียวกันสำหรับข้อความที่แตกต่างกัน.

ข้อผิดพลาดนี้อาจเปิดเผยกุญแจส่วนตัว ซึ่งไม่ควรเกิดขึ้นในการใช้งาน ECDSA ที่ถูกต้อง

ในการใช้ประโยชน์จากช่องโหว่นี้ ผู้โจมตีจำเป็นต้องมีสองสิ่ง

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

ด้วยลายเซ็นทั้งสองนี้ ผู้โจมตีสามารถคำนวณกุญแจส่วนตัวของผู้ใช้ได้ ทำให้สามารถเข้าถึงเงินทุนและการดำเนินการที่เกี่ยวข้องได้อย่างเต็มที่ ข้อมูลรายละเอียดสามารถดูได้ใน GitHub Security Advisory.

สถานการณ์การใช้ประโยชน์

ผู้โจมตีอาจใช้ประโยชน์จากช่องโหว่นี้ด้วยวิธีการต่างๆ รวมถึงวิธีต่อไปนี้

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

สิ่งที่น่ากังวลเป็นพิเศษคือทัศนคติที่ค่อนข้างผ่อนคลายของผู้ใช้ต่อการลงนามข้อความเมื่อเปรียบเทียบกับธุรกรรม.

โครงการคริปโตมักขอให้ผู้ใช้เซ็นข้อตกลงการให้บริการหรือข้อความการเข้าร่วม airdrop ซึ่งอาจทำให้การใช้ประโยชน์ง่ายขึ้น

ดังนั้น คิดเกี่ยวกับมัน – คุณจะลงนามในข้อความเพื่อขอรับโทเค็นฟรีหรือไม่? จะเกิดอะไรขึ้นถ้าลายเซ็นนั้นอาจทำให้คุณสูญเสียยอดเงินคริปโตทั้งหมดของคุณ?

คำแนะนำ

ผู้ใช้ต้องอัปเดตแอปพลิเคชันและกระเป๋าเงินทั้งหมดที่ใช้ไลบรารี elliptic สำหรับลายเซ็นให้เป็นเวอร์ชันที่ปลอดภัยล่าสุดอย่างรวดเร็ว

โปรดระมัดระวังเมื่อเซ็นชื่อข้อความ โดยเฉพาะจากแหล่งที่ไม่คุ้นเคยหรือมีพิรุธ

นักพัฒนากระเป๋าเงินและแอปพลิเคชันควรตรวจสอบเวอร์ชันของไลบรารีเอลิปติกของพวกเขา.

หากผู้ใช้คนใดอาจได้รับผลกระทบจากเวอร์ช vulnerable นักพัฒนาต้องแจ้งให้พวกเขาทราบถึงความจำเป็นเร่งด่วนในการอัปเดต.


Gleb Zykov เป็นผู้ร่วมก่อตั้งและ CTO ของ HashEx Blockchain Security เขามีประสบการณ์มากกว่า 14 ปีในอุตสาหกรรม IT และมากกว่าหกปีในด้านความปลอดภัยทางอินเทอร์เน็ต รวมถึงพื้นฐานทางเทคนิคที่แข็งแกร่งในเทคโนโลยีบล็อกเชน (Bitcoin, Ethereum และบล็อกเชนที่ใช้ EVM ).

ดูต้นฉบับ
เนื้อหานี้มีสำหรับการอ้างอิงเท่านั้น ไม่ใช่การชักชวนหรือข้อเสนอ ไม่มีคำแนะนำด้านการลงทุน ภาษี หรือกฎหมาย ดูข้อจำกัดความรับผิดชอบสำหรับการเปิดเผยความเสี่ยงเพิ่มเติม
  • รางวัล
  • แสดงความคิดเห็น
  • แชร์
แสดงความคิดเห็น
0/400
ไม่มีความคิดเห็น
  • ปักหมุด