BTC
ETH
HTX
SOL
BNB
ดูตลาด
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt


ข่าวใหญ่การโจรกรรม 5.8 พันล้านดอลลาร์ของ Binance: สรุปกระบวนการทั้งหมด

Azuma
Odaily资深作者
@azuma_eth
บทความนี้มีประมาณ 3465 คำ การอ่านทั้งหมดใช้เวลาประมาณ 5 นาที
แฮกเกอร์ซุ่มตัวอย่างน้อย 37 ชั่วโมง และถึงขั้นซ้อมจริงก่อนลงมือ
สรุปโดย AI
ขยาย
  • ประเด็นหลัก: กระเป๋าเงินร้อนของ Binance ถูกโจรกรรมประมาณ 5.8 พันล้านดอลลาร์ ไม่ใช่ช่องโหว่ของสมาร์ทคอนแทรกต์ แต่เป็นเพราะโครงสร้างพื้นฐานการลงนามระดับล่าง HSM/MPC ถูกเจาะทะลวง แฮกเกอร์ได้รับความสามารถ "ลงนามตามต้องการ" และใช้กลไก EIP-7702 เพื่อกวาดเงินอย่างรวดเร็วภายในบล็อกเดียว
  • องค์ประกอบสำคัญ:
    1. ผู้โจมตีไม่ได้ล้วงเอากุญแจส่วนตัวแบบข้อความธรรมดา แต่เจาะระบบ策略เอนจินหรืออินเทอร์เฟซการลงนาม ทำให้ระบบลงนามสร้างลายเซ็นที่ถูกต้องตามต้องการ
    2. หลักฐานชิ้นที่หนึ่ง: การส่งลายเซ็น EIP-7702 จำนวน 50 Nonce ติดต่อกันในครั้งเดียวไปยัง Binance 14 ถือเป็นการดำเนินการแบบ "ยิงแบบไม่มอง" ซึ่งกรณีที่กุญแจส่วนตัวรั่วไหลไม่จำเป็นต้องทำเช่นนี้
    3. หลักฐานชิ้นที่สอง: กระเป๋าเงินร้อนบนหลายเชนที่ใช้ขั้นตอนการลงนามต่างกันถูกเจาะพร้อมกันภายใน 24 วินาที ซึ่งจะเกิดขึ้นได้ก็ต่อเมื่อเจาะทะลวงเอนจิน调度แบบรวมศูนย์ระดับบนสุดได้เท่านั้น
    4. ก่อนโจมตีมีการซุ่มตัว 37 ชั่วโมง: ถอน Gas จาก Tornado Cash และใช้สเตเบิลคอยน์ 7 ล้านดอลลาร์ทำ "การซ้อมจริง" ด้วยการมอบหมาย EIP-7702 เพื่อกวาดเงิน
    5. ลำดับการโจมตีหลัก: BTC ลงมือก่อน (18,270 เหรียญ) หลังการยิง Nonce ติดกัน 50 ครั้งบน Ethereum ประสบความสำเร็จ ก็ดูด 167,000 ETH และ 1.6 พันล้าน USDT รวมถึงอีก 62 โทเคนในธุรกรรมเดียว
    6. การมอบหมาย EIP-7702 มีผลถาวร Binance 34 ถูกกวาด emptied ไปด้วยเนื่องจาก Binance 14 เป็นผู้ดูแล เงินยังคงถูกกวาดอย่างต่อเนื่องจนกระทั่งเครื่องลงนามถูกตัดการเชื่อมต่อ

บทความต้นฉบับ | Odaily (@OdailyChina)

ผู้เขียน | Azuma (@azuma_eth)

ในช่วงเช้าตรู่ของวันนี้ กระเป๋าเงินร้อน (Hot Wallet) ของ Binance ได้เผชิญกับเหตุการณ์ด้านความปลอดภัยครั้งใหญ่ที่สุดในประวัติศาสตร์ของคริปโตเคอร์เรนซี ภายในเวลาไม่ถึงหนึ่งชั่วโมง กระเป๋าเงินร้อนของ Binance ที่ครอบคลุมหลายเครือข่ายทั้ง Ethereum, Bitcoin, Tron รวมถึง Arbitrum, Avalanche, Optimism, Base และอื่นๆ ถูกเจาะพร้อมกันทั้งหมด โดยมีเงินทุนไหลออกสะสมสูงถึงประมาณ 5.8 พันล้านดอลลาร์สหรัฐ (ตัวเลขอย่างไม่เป็นทางการ)

เกี่ยวกับเส้นทางของเงินที่ถูกขโมย การติดตามและสกัดกั้นของอุตสาหกรรม (โดยเฉพาะ Tether และ Circle) รวมถึงโปรโตคอลบนเชนที่เกี่ยวข้องทางอ้อม (เช่น Aave) ตลาดมีการติดตามแบบเรียลไทม์อย่างกว้างขวางแล้ว บทความนี้จะตัดทอนการสรุปเงินทุนที่ซับซ้อนออกไป และมุ่งเน้นไปที่คำถามหลักที่สุดโดยตรง: กระเป๋าเงินร้อนของ Binance ที่แน่นหนาราวกับป้อมปราการ ถูกเจาะได้อย่างไร?

จากการวิเคราะห์ย้อนกลับของหน่วยงานความปลอดภัย Blockaid และนักวิจัยด้านความปลอดภัยบนเชนหลายท่าน นี่ไม่ใช่ช่องโหว่ของสัญญาอัจฉริยะบนเชนเพียงอย่างเดียว แต่เป็นการเจาะระบบอย่างแม่นยำที่มุ่งเป้าไปยังโครงสร้างพื้นฐานการลงนามระดับล่างของ-exchange (HSM/MPC Signing Machine) ประกอบกับการใช้กลไก EIP-7702 ของ Ethereum เพื่อให้บรรลุ "การกวาดล้างความเร็วสูงในบล็อกเดียว" ซึ่งเป็นการโจมตีระดับตำราเรียน

สาเหตุหลัก: เครื่องลงนามระดับล่างถูกยึด แฮกเกอร์มีความสามารถ "ลงนามตามต้องการ"

หลังเกิดเหตุ เนื่องจากกระเป๋าเงินหลักที่ถูกขโมย Binance 14 ถูกดูดเงินออกในพริบตาโดยใช้กลไก EIP-7702 ที่นำเข้ามาผ่านการอัปเกรด Pectra ของ Ethereum ชุมชนจึงเคยมีความเข้าใจผิดว่า "EIP-7702 มีช่องโหว่"

แต่จากหลักการพื้นฐานของวิทยาการเข้ารหัสลับ EIP-7702 อนุญาตให้กระเป๋าเงินธรรมดา (EOA) ติดตั้งโค้ดสัญญาอัจฉริยะชั่วคราวได้ โดยมีเงื่อนไขว่าต้องมีการลงนามที่ถูกต้องโดยใช้กุญแจส่วนตัวของกระเป๋าเงินนั้นเอง ดังนั้น EIP-7702 เป็นเพียง "เครื่องมือก่ออาชญากรรม" ที่แฮกเกอร์ใช้เพื่อเร่งการถอนเงินเท่านั้น ไม่ใช่ช่องโหว่本身

ตามรอยเบาะแสหลักที่ว่า "ใครเป็นผู้ลงนาม" สาเหตุของเหตุการณ์ชี้ไปได้เพียงสองความเป็นไปได้เท่านั้น — กุญแจส่วนตัวดิบรั่วไหลโดยตรง หรือระบบลงนาม (โครงสร้างพื้นฐาน) ถูกบงการ

เมื่อพิจารณาจากลักษณะบนเชนในปัจจุบัน ความเป็นไปได้หลังที่ระบบลงนามถูกบงการถือเป็นคำอธิบายเดียวที่สมเหตุสมผล เหตุผลคือ สำหรับ-exchange ระดับเดียวกับ Binance กระเป๋าเงินร้อนเป็นไปไม่ได้เลยที่จะใช้ "กุญแจส่วนตัวดิบ" แบบข้อความธรรมดาแบบจุดเดียว โครงสร้างมาตรฐานระดับล่างจำเป็นต้องเป็น HSM (Hardware Security Module) + MPC (Multi-Party Computation) + Policy Engine — ชิ้นส่วนกุญแจส่วนตัวถูกล็อกไว้ในกล่องดำฮาร์ดแวร์ ไม่มีใคร (รวมถึงผู้ดูแลระบบภายใน) สามารถเข้าถึงข้อความธรรมดาที่สมบูรณ์ได้ มีเพียงระบบธุรกิจส่วนหน้าผ่านการตรวจสอบกฎความเสี่ยงโดย "Policy Engine" แล้วจึงขอให้เครื่องลงนามสร้างลายเซ็น

มีหลักฐานเหล็กสองประการบนเชนที่ชี้ตรงไปยัง "ระบบลงนามถูกบงการ":

  • หลักฐานเหล็กที่หนึ่ง (การยิง Nonce ติดกัน 50 ครั้งแบบตาบอด): เมื่อโจมตี Binance 14 ผู้โจมตีได้ส่งลายเซ็น EIP-7702 ที่ถูกต้องซึ่งครอบคลุม Nonce ติดต่อกัน 50 รายการในคราวเดียว หากผู้โจมตีขโมยกุญแจส่วนตัวแบบข้อความธรรมดาไปได้โดยตรง พวกเขาสามารถควบคุมธุรกรรมได้อย่างแม่นยำในเครื่องของตนเองโดยสิ้นเชิง ไม่จำเป็นต้องใช้วิธี "เดาสุ่ม" แบบนี้ในการเดา Nonce ซึ่งแสดงให้เห็นว่าผู้โจมตีไม่ได้เอากุญแจส่วนตัวไปเอง แต่เจาะ Policy Engine หรืออินเทอร์เฟซการลงนามได้ ทำให้มีความสามารถให้ระบบลงนามของ Binance "คายลายเซ็นที่ถูกต้องตามต้องการ (Sign on demand)"
  • หลักฐานเหล็กที่สอง (กระเป๋าเงินหลายเชนต่างชนิดถูกยึดพร้อมกัน): ภายในเวลาเพียง 24 วินาทีหลังจาก Binance 14 ถูกกวาดจนว่าง กระเป๋าเงินร้อนอิสระ Binance 16 ได้ลงนามส่ง ETH 28,000 เหรียญด้วยกุญแจของตัวเอง ในนาทีเดียวกัน กระเป๋าเงินร้อน Bitcoin (18,270.2 BTC) และ Tron (612 ล้าน USDT) ซึ่งใช้อัลกอริทึมการลงนามต่างกัน ได้เริ่มทำธุรกรรมโอนพร้อมกัน มีเพียงการเจาะระบบควบคุม/Policy Engine ระดับสูงสุดแบบรวมศูนย์เท่านั้น ที่จะสามารถสั่งการเครื่องลงนาม HSM/MPC ของหลายเชนให้ถอนเงินพร้อมกันได้

การย้อนรอยไทม์ไลน์บนเชน: การซุ่มซ่อนนาน 37 ชั่วโมงและการ "ซ้อมจริง" ด้วยเงิน 7 ล้านดอลลาร์

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

  • 28 ตุลาคม 07:39 (UTC) เตรียมกระสุน: ที่อยู่หลักของผู้โจมตี (0x7c86...5ca0) ได้ถอนเงิน Gas เริ่มต้นจากพูลผสม Tornado Cash ขนาด 0.1 ETH สามครั้ง (ครั้งแรกได้รับ 0.0983 ETH) ขณะนั้นเหลือเวลาอีก整整 37 ชั่วโมงก่อน "การโจมตีครั้งใหญ่"
  • 29 ตุลาคม 02:28 – 14:19 (UTC) ซ้อมก่อนหน้านี้: ผู้โจมตีได้ปรับใช้สัญญากวาดล้างรุ่นแรก Sweeper A (0x19bee2...) บน Ethereum ก่อน จากนั้นเวลา 13:51 ได้สร้างกระเป๋าเงินทดสอบ 2 ใบ ถึงขั้นทุ่มเงิน stablecoin 7 ล้านดอลลาร์เติมเข้าไปเพื่อฝึกซ้อมการมอบอำนาจ EIP-7702 และครึ่งชั่วโมงต่อมาก็ทดสอบกวาดล้างไปยังที่อยู่รับ (0x24a4ae...) ได้สำเร็จด้วยคลิกเดียว
  • 29 ตุลาคม 15:59 – 18:20 (UTC) รุ่นสุดท้ายเสร็จสมบูรณ์: ผู้โจมตีได้ปรับใช้สัญญากวาดล้างอันตรายรุ่นสุดท้าย Sweeper B (0x63e8...6fae) ตามด้วยการสร้างกระเป๋าเงินทดสอบใบที่ 3 เติม 1.01 ETH และเวลา 16:30 ก็เสร็จสิ้นการทดสอบกวาดล้าง 2.54 USDT; เวลา 18:20 เงินทดสอบทั้งหมดถูกรวบรวมกลับเข้าพูลเงิน การฝึกซ้อมก่อนศึกเสร็จสมบูรณ์ทั้งหมด

หมัดเด็ด: การยิง Nonce ติดกัน 50 ครั้งแบบ "ตาบอด" และการกวาดล้างด้วย EIP-7702 ในคลิกเดียว

เวลา 04:19 น. ตามเวลาปักกิ่งของเช้าวันนี้ (20:19 UTC) แฮกเกอร์ได้ส่งสัญญาณโจมตีครั้งใหญ่อย่างเป็นทางการ

  • 20:19:57 (UTC): ที่อยู่รับของแฮกเกอร์บน Tron ถูกสร้างเสร็จ;
  • 20:20:06 (UTC): กระเป๋าเงินร้อน Bitcoin (bc1qm34...) เคลื่อนไหวเป็นแห่งแรก 18,270.2 BTC ถูกโอนออกในธุรกรรมเดียว;
  • 20:20:59 (UTC): เมนเน็ต Ethereum ต้อนรับการดำเนินการทางเทคนิคที่สำคัญที่สุดของการโจมตีทั้งหมด — การยิง Nonce ติดกัน 50 ครั้งแบบตาบอด

ทำไมแฮกเกอร์จึงใช้ EIP-7702 บนเมนเน็ต Ethereum?

กระเป๋าเงินร้อนหลักอย่าง Binance 14 ภายในเก็บโทเค็น ERC-20 หลายสิบชนิดไว้ หากแฮกเกอร์ทำธุรกรรมโอนธรรมดาทีละรายการเหมือนที่ทำกับ Bitcoin ไม่เพียงแต่ต้องขอลายเซ็นจากระบบลงนามหลายสิบครั้งเท่านั้น แต่ยังจะกระตุ้นระบบตรวจสอบเส้นทางผิดปกติและการตัดวงจรอัตโนมัติของ-exchange ภายในไม่กี่วินาทีหลังการเคลื่อนไหวครั้งใหญ่ครั้งแรก

แต่ด้วยการอัปเกรด Binance 14 ให้เป็นสัญญาอันตราย Sweeper B (0x63e8...6fae) ในที่เดิมผ่าน EIP-7702 แฮกเกอร์เพียงเรียกใช้ฟังก์ชันที่ฝังไว้ในสัญญาหนึ่งครั้ง (ฮาร์ดโค้ดอนุญาตให้เรียกได้เฉพาะที่อยู่แฮกเกอร์ 0x7c86...5ca0) ก็สามารถรวบรวมโทเค็นทั้งหมดและ ETH ทั้งหมดในธุรกรรมเดียว ภายในบล็อกเดียวกัน ดูดออกจนเกลี้ยง (เหลือเพียง 1 ETH ไว้เป็น Gas สำหรับ后续) ลบช่วงเวลาตอบสนองของระบบควบคุมความเสี่ยงออกไปโดยสิ้นเชิง

ทำไมต้องยัดลายเซ็นติดต่อกัน 50 รายการ?

การอนุญาต EIP-7702 มีข้อจำกัดที่เข้มงวดมาก — Nonce ที่รวมอยู่ในลายเซ็นอนุญาต必须ตรงกับ Nonce แบบเรียลไทม์ของกระเป๋าเงินนั้นในขณะที่ธุรกรรมถูกบันทึกบนเชนอย่างสมบูรณ์

เนื่องจากแฮกเกอร์มีความเป็นไปได้สูงที่เพียงบงการอินเทอร์เฟซของระบบลงนามส่วนหลัง ในขณะนั้น Binance 14 ยังคงประมวลผลการถอนเงินปกติของผู้ใช้ทั่วโลกด้วยความถี่สูง Nonce เปลี่ยนแปลงทุกวินาที การที่แฮกเกอร์ได้ลายเซ็นจากเครื่องลงนามแล้วกระจายไปยังเชนเพื่อให้ถูกบรรจุ มีความล่าช้าของเครือข่ายและคิวหลายวินาทีในระหว่างนั้น ไม่สามารถคาดเดาได้เลยว่า Nonce จะหยุดที่ตัวเลขใดในขณะที่บันทึกบนเชน

เพื่อเอาชนะจุดบอดนี้ แฮกเกอร์ใช้ระบบลงนามที่ถูกเจาะ บังคับให้เครื่องลงนามสร้างลายเซ็นอนุญาต EIP-7702 ที่เพิ่มขึ้นติดต่อกัน 50 รายการ (Nonce ตั้งแต่ 18,914,775 ถึง 18,914,824) สำหรับช่วง Nonce ในขณะนั้นในคราวเดียว และยัดทั้งหมดลงในธุรกรรม Type-4 เดียวกันแล้วยิงขึ้นเชน

ระดับล่างของ Ethereum ในระหว่างการดำเนินการได้ทิ้งลายเซ็นที่ไม่ถูกต้อง 49 รายการโดยอัตโนมัติ เหลือเพียง 1 รายการที่ตรงกับหน้าต่างเรียลไทม์เท่านั้นที่กระทบเป้าหมายและมีผล

การกวาดล้างต่อเนื่องแบบถล่มทลายและการทะลุทะลวงสิทธิ์

  • 20:22:45 (UTC): กระเป๋าเงินร้อน Tron โอนออก 612.7 ล้าน USDT ในธุรกรรมเดียว;
  • 20:24:23 (UTC): แฮกเกอร์เรียกใช้ฟังก์ชัน sweep ของ Binance 14 ธุรกรรมเดียวดูด ETH 167,464.25 เหรียญ, USDT 1.615 พันล้านเหรียญ และโทเค็นอีก 62 ชนิดออกจนเกลี้ยงในพริบตา เข้าสู่ที่อยู่รับเงินของแฮกเกอร์ 0x5227…2f8c (Etherscan ติดป้ายว่า Exploiter 2);
  • 20:24:47 (UTC): หลังจาก Binance 14 ถูกขโมยเพียง 24 วินาที กระเป๋าเงินร้อนอิสระอีกใบของ Binance คือ Binance 16 โดยไม่ใช้ EIP-7702 ได้ลงนามธุรกรรมโอนธรรมดาด้วยกุญแจส่วนตัวของตัวเองโดยตรง โอน ETH 28,005.6 เหรียญเข้าที่อยู่รับเงินเดียวกันของแฮกเกอร์ (0x5227…2f8c) 15 นาทีต่อมา (20:39 UTC) แฮกเกอร์ได้รวม ETH ทั้งหมด 195,470 เหรียญที่ไหลออกจากสองกระเป๋าเงินนี้แล้วโอนออกไป;
  • 20:32 – 20:33 (UTC): กระเป๋าเงินร้อน 3 ใบบน Arbitrum (ครั้งแรก 3,478.4 ETH) และกระเป๋าเงินร้อน 4 ใบบน Avalanche (ครั้งแรก 432,846 AVAX) ถูกปล้นต่อเนื่องกัน;
  • 20:41 (UTC): กระเป๋าเงินสัญญาอัจฉริยะ Binance 34 อีกใบที่ถือ USDC 780 ล้านเหรียญถูกยึด (ต่อมาเวลา 20:59 มี USDC ไหลออกอีก 43 ล้านเหรียญ) เนื่องจาก Binance 14 เป็นผู้ดูแล (Owner) ของ Binance 34 พอดี หลังจากแฮกเกอร์ควบคุม Binance 14 ผ่าน EIP-7702 แบบปรสิตแล้ว ก็可以直接ในฐานะผู้ดูแลกวาดคลังที่เกี่ยวข้องจนเกลี้ยงได้เลย

ที่ร้ายแรงกว่านั้นคือ การมอบอำนาจของ EIP-7702 เมื่อมีผลแล้วจะคงอยู่ถาวร ก่อนที่ Binance จะตัดเครื่องลงนามอย่างสมบูรณ์และส่งการอนุญาตที่อยู่ศูนย์เพื่อเขียนทับก่อน เงินใดๆ ที่เติมเข้า Binance 14 ในภายหลังจะถูกดูดออกต่อไป (จนถึง 21:04 UTC ยังคงมียอดคงเหลือประปรายถูกกวาดล้างอย่างต่อเนื่อง)

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

กระเป๋าสตางค์
ความปลอดภัย
ETH
สัญญาที่ชาญฉลาด
บินานซ์
ยินดีต้อนรับเข้าร่วมชุมชนทางการของ Odaily
กลุ่มสมาชิก:
https://t.me/Odaily_News
กลุ่มสนทนา:
https://t.me/Odaily_GoldenApe
บัญชีทางการ:
https://twitter.com/OdailyChina
ค้นหา
สารบัญบทความ
ดาวน์โหลดแอพ Odaily พลาเน็ตเดลี่
ให้คนบางกลุ่มเข้าใจ Web3.0 ก่อน
IOS
Android