##### โพสต์แขกรับเชิญ 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 ).
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.
สถานการณ์การใช้ประโยชน์
ผู้โจมตีอาจใช้ประโยชน์จากช่องโหว่นี้ด้วยวิธีการต่างๆ รวมถึงวิธีต่อไปนี้
สิ่งที่น่ากังวลเป็นพิเศษคือทัศนคติที่ค่อนข้างผ่อนคลายของผู้ใช้ต่อการลงนามข้อความเมื่อเปรียบเทียบกับธุรกรรม.
โครงการคริปโตมักขอให้ผู้ใช้เซ็นข้อตกลงการให้บริการหรือข้อความการเข้าร่วม airdrop ซึ่งอาจทำให้การใช้ประโยชน์ง่ายขึ้น
ดังนั้น คิดเกี่ยวกับมัน – คุณจะลงนามในข้อความเพื่อขอรับโทเค็นฟรีหรือไม่? จะเกิดอะไรขึ้นถ้าลายเซ็นนั้นอาจทำให้คุณสูญเสียยอดเงินคริปโตทั้งหมดของคุณ?
คำแนะนำ
ผู้ใช้ต้องอัปเดตแอปพลิเคชันและกระเป๋าเงินทั้งหมดที่ใช้ไลบรารี elliptic สำหรับลายเซ็นให้เป็นเวอร์ชันที่ปลอดภัยล่าสุดอย่างรวดเร็ว
โปรดระมัดระวังเมื่อเซ็นชื่อข้อความ โดยเฉพาะจากแหล่งที่ไม่คุ้นเคยหรือมีพิรุธ
นักพัฒนากระเป๋าเงินและแอปพลิเคชันควรตรวจสอบเวอร์ชันของไลบรารีเอลิปติกของพวกเขา.
หากผู้ใช้คนใดอาจได้รับผลกระทบจากเวอร์ช vulnerable นักพัฒนาต้องแจ้งให้พวกเขาทราบถึงความจำเป็นเร่งด่วนในการอัปเดต.
Gleb Zykov เป็นผู้ร่วมก่อตั้งและ CTO ของ HashEx Blockchain Security เขามีประสบการณ์มากกว่า 14 ปีในอุตสาหกรรม IT และมากกว่าหกปีในด้านความปลอดภัยทางอินเทอร์เน็ต รวมถึงพื้นฐานทางเทคนิคที่แข็งแกร่งในเทคโนโลยีบล็อกเชน (Bitcoin, Ethereum และบล็อกเชนที่ใช้ EVM ).