ชื่อระดับแรก
การวิเคราะห์การโจมตี
ตามบันทึกการทำธุรกรรมสามารถติดตามการโจมตีได้ ผู้โจมตีใช้สองที่อยู่ ผู้โจมตี A (https://etherscan.io/address/0x092123663804f8801b9b086b03b98d706f77bd59) และผู้โจมตี B (https://etherscan.io/address/0x592340957ebc9e4afb0e9af221d06 fdddf789de9)
ข้อความค้นหาบันทึกธุรกรรม: https://etherscan.io/tx/0x65fa5b475f34a954a10f88f2c84f316a048a0e67d273c7abb098717b1a4a46a3
รหัสของข้อเสนอที่เป็นอันตรายถูกเก็บไว้ตามที่อยู่ต่อไปนี้: https://etherscan.io/address/0x c 503893 b 3 e 3 c 0 c 6 b 90922 2b 45 f 2 a 3 a 259 a 5275 2d#code
สัญญาที่ถูกโจมตีคือ TornadoVault (https://etherscan.io/address/0x 2 f 50508 a 8 a 3d 323 b 91336 fa 3 ea 6 ae 50 e 55 f 32185 #code)
ขั้นตอนการโจมตีเฉพาะมีดังนี้:
1. AttackerB สร้างข้อเสนอที่เป็นอันตราย 0x c 503893 b 3 e 3 c 0 c 6 b 90922 2b 45 f 2 a 3 a 259 a 5275 2d
2. ผู้โจมตี B ส่งข้อเสนอหลอกลวง #20
3. ผู้โจมตี A ดำเนินการหลายบัญชีเพื่อล็อค 0 โทเค็น TORN
4. ผู้ใช้ที่ปลอมแปลงลงคะแนนให้กับข้อเสนอ #20
5. หลังจากถึงจำนวนโหวต ผู้โจมตีจะทำการโจมตี
ทำลายข้อเสนอเก่า ผู้โจมตี B เรียกใช้ฟังก์ชัน EmergencyStop เพื่อทำลายข้อเสนอเก่าที่ที่อยู่ 0xC50389 https://etherscan.io/tx/0xd3a570af795405e141988c48527a595434665089117473bc0389e83091391adb
ปรับปรุงข้อเสนอสัญญา ผู้โจมตี B สร้างสัญญาใหม่ในที่อยู่เดิม 0x C 50389 การทำธุรกรรม: https://etherscan.io/tx/0xa7d20ccdbc2365578a106093e82cc9f6ec5d03043bb6a00114c0ad5d03620122
Prove of Concept
ไฟล์ทดสอบ: https://github.com/MetaTrustLabs/SmartContractAttackPoC/blob/main/test/TornadoCash
การทดสอบนี้จำลองขั้นตอนของผู้โจมตีที่สร้างสัญญาที่เป็นอันตราย ทำลายสัญญา และสร้างสัญญาใหม่พร้อมกันในที่อยู่เดียวกัน
6. การโอนโทเค็น
ผู้โจมตี B โอนโทเค็นไปยัง Tornado เงินสด: การเดิมพันการกำกับดูแล
ผู้โจมตี A โอนโทเค็นไปยังบัญชีที่ควบคุมโดยผู้โจมตี
ชื่อระดับแรก
การวิเคราะห์ความปลอดภัย
สาเหตุของการโจมตีด้านการกำกับดูแลนี้มีสาเหตุมาจากสองประการ: ข้อเสนอที่เป็นอันตรายถูกส่งผ่านไป และสัญญาข้อเสนอถูกทำลายโดยผู้โจมตีและสร้างใหม่ตามที่อยู่เดียวกัน
ประการแรก ผู้โจมตีหลอกล่อให้ผู้ลงคะแนนตัดสินสถานการณ์ผิดพลาดโดยสร้างข้อเสนอที่เป็นอันตราย ทำให้ผู้ลงคะแนนอนุมัติโดยไม่เข้าใจถึงความเสี่ยงที่อาจเกิดขึ้นอย่างถ่องแท้ การแสดงลักษณะที่ทำให้เข้าใจผิดนี้อาจซ่อนเจตนาที่แท้จริงของการโจมตี ทำให้ผู้ลงคะแนนเข้าใจผิดเชื่อว่าข้อเสนอนั้นมีประโยชน์หรือไม่เป็นอันตราย
ประการที่สอง ผู้โจมตีดำเนินการเพื่อทำลายสัญญาข้อเสนอเดิมและสร้างสัญญาข้อเสนอใหม่ตามที่อยู่เดิม เมื่อเรียกใช้ฟังก์ชัน EmergencyStop ผู้โจมตีสามารถทำลายตรรกะของข้อเสนอเดิมได้สำเร็จ ทำให้ผลการดำเนินการของข้อเสนอไม่เป็นไปตามความคาดหวังอีกต่อไป พฤติกรรมนี้เปิดโอกาสให้ผู้โจมตีเข้าควบคุมการกำกับดูแลและวางรากฐานสำหรับการโจมตีที่ตามมา
การรวมกันของสองปัจจัยนี้ทำให้ผู้โจมตีสามารถทำการโจมตีแบบกำกับดูแลได้สำเร็จและยึดการควบคุมของ Tornado Cash การส่งผ่านข้อเสนอที่เป็นอันตรายและการทำลายและการสร้างสัญญาข้อเสนอขึ้นใหม่เป็นการปูทางให้ผู้โจมตีใช้สิทธิ์การควบคุมดูแลสำหรับการดำเนินการต่อไป
เหตุการณ์นี้เน้นย้ำถึงความสำคัญของการรักษาความปลอดภัยและการจัดการความเสี่ยงในกระบวนการกำกับดูแลแบบกระจายอำนาจ นักพัฒนาซอฟต์แวร์และชุมชนควรเสริมความแข็งแกร่งในการตรวจสอบข้อเสนอเพื่อให้แน่ใจว่าคำอธิบายของข้อเสนอนั้นถูกต้องและโปร่งใส ขณะเดียวกัน ควรมีการตรวจสอบความปลอดภัยของสัญญาเพื่อป้องกันผู้โจมตีจากการใช้ประโยชน์จากช่องโหว่และการดำเนินการที่เป็นอันตราย นอกจากนี้ ผู้ใช้และผู้มีสิทธิเลือกตั้งยังต้องประเมินเนื้อหาของข้อเสนออย่างระมัดระวังและรอบคอบมากขึ้น และตรวจสอบให้แน่ใจว่าพวกเขาเข้าใจถึงความเสี่ยงและผลที่ตามมาที่อาจเกิดขึ้น
ชื่อระดับแรก
About Us
MetaTrust เป็นผู้ให้บริการชั้นนำของโลกด้านบริการความปลอดภัย Web3 AI และบริการตรวจสอบ เราให้บริการนักพัฒนาและฝ่ายโครงการด้วยเครื่องมือความปลอดภัย AI การตรวจสอบความปลอดภัยและแพลตฟอร์มมากมาย ช่วยให้นักพัฒนาสามารถปกป้องความปลอดภัยของโครงการและสัญญาได้อย่างมีประสิทธิภาพ สร้างได้รวดเร็ว ปลอดภัยอยู่เสมอ
