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

การวิเคราะห์ความปลอดภัยของ CertiK: การวิเคราะห์และสรุปการโจมตีที่เกี่ยวข้องกับสกุลเงินดิจิ

CertiK
特邀专栏作者
2020-09-19 02:58
บทความนี้มีประมาณ 2954 คำ การอ่านทั้งหมดใช้เวลาประมาณ 5 นาที
ในเดือนสิงหาคมความนิยมของการขุดสภาพคล่องพุ่งสูงขึ้นและการโจมตีในช่อง DeFi เกิดขึ้นบ่อยคร
สรุปโดย AI
ขยาย
ในเดือนสิงหาคมความนิยมของการขุดสภาพคล่องพุ่งสูงขึ้นและการโจมตีในช่อง DeFi เกิดขึ้นบ่อยคร

"หนึ่งวันในวงเงินตรา หนึ่งปีในโลก", "หนึ่งวันใน DeFi หนึ่งปีในวงเงินตรา"

ในแวดวงบล็อกเชนและสกุลเงินเมื่อเร็วๆ นี้ ความนิยมเกือบทั้งหมดถูก DeFi ขโมยไป

ด้วยการเกิดขึ้นอย่างต่อเนื่องของโครงการและการหลั่งไหลของผู้ใช้จำนวนมาก ตำแหน่งล็อกทั้งหมดของโปรโตคอล DeFi จึงสูงถึง 10.38 พันล้านดอลลาร์สหรัฐ

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

จากโครงการขุดสภาพคล่องทดลอง Yam ไปจนถึง SushiSwap ซึ่งยังคงเป็นหัวข้อที่ได้รับความสนใจอย่างมาก ชุมชนบล็อกเชนทั้งหมดยังคงพูดคุยเกี่ยวกับผลกำไรมหาศาลและความเสี่ยงด้านความปลอดภัยที่ซ่อนอยู่

ในช่วงเดือนนี้ มีโครงการขุดใหม่จำนวนมากปรากฏขึ้น ซึ่งส่วนใหญ่คัดลอกรหัสของโครงการที่คล้ายกันอื่น ๆ โดยตรง และออนไลน์อย่างรวดเร็วโดยไม่มีการตรวจสอบความปลอดภัย ด้วยเหตุนี้ ช่องโหว่ด้านความปลอดภัยของสัญญาอัจฉริยะที่ค้นพบจึงมีจำนวนมากและมีลักษณะคล้ายคลึงกัน ปัจจุบัน เงื่อนไขแรกที่จะตัดสินว่าโครงการสามารถลงทุนได้หรือไม่ควรตรวจสอบว่าโครงการและสัญญาได้รับการตรวจสอบอย่างมืออาชีพโดยทีมรักษาความปลอดภัยที่มีชื่อเสียงและได้รับการจัดอันดับความปลอดภัยสูงหรือไม่

ตามสถิติของทีมเทคโนโลยีความปลอดภัยของ CertiK รายการของเหตุการณ์ด้านความปลอดภัยที่เกี่ยวข้องกับ blockchain ในเดือนสิงหาคมมีดังนี้:

  • เมื่อวันที่ 11 สิงหาคม โครงการโทเค็นบน Ethereum NUGS มีปัญหาด้านความปลอดภัย มีช่องโหว่ด้านความปลอดภัยในสัญญาอัจฉริยะ ซึ่งทำให้เกิดอัตราเงินเฟ้อสูงในระบบโทเค็น เนื่องจากช่องโหว่ด้านความปลอดภัยในสัญญาอัจฉริยะไม่สามารถแก้ไขได้ โครงการ NUGS จึงประกาศอย่างเป็นทางการว่าได้ตัดสินใจละทิ้งโครงการ และโทเค็นที่ฝากไว้จะไม่สามารถถอนออกได้

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

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

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

  • เมื่อวันที่ 31 สิงหาคม 1,400 bitcoins ถูกขโมยเนื่องจากผู้ใช้ใช้แอปพลิเคชัน electrum wallet เวอร์ชันเก่าที่มีช่องโหว่

  • ในวันที่ 31 สิงหาคมและ 1 กันยายน สัญญาอัจฉริยะของดิสก์เลียนแบบ Sushiswap Yuno และ Kimchi ทั้งคู่พบว่ามีช่องโหว่ด้านความปลอดภัย เงินเฟ้อ

ชื่อเรื่องรอง

รายละเอียดกิจกรรม

ต่อไปนี้คือการวิเคราะห์เฉพาะของเหตุการณ์ด้านความปลอดภัยทั่วไปในเดือนสิงหาคม:

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

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

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

เหตุการณ์ที่ 2 เกิดขึ้นในโครงการขุดสภาพคล่องของ Yam และยังเป็นช่องโหว่ด้านความปลอดภัยที่เกิดจากความผิดพลาดในการใช้ลอจิก

มีฟังก์ชัน rebase ในสัญญาอัจฉริยะของ Yam ซึ่งมีจุดประสงค์เพื่อให้แน่ใจว่าโทเค็นมีเสถียรภาพด้านราคา อย่างไรก็ตาม เนื่องจากความประมาทเลินเล่อที่ระดับรหัส เมื่อดำเนินการ rebase แต่ละครั้ง มูลค่าของอุปทานทั้งหมดของโทเค็นจะถูกคำนวณ ไม่ถูกต้อง จำนวน TotalSupply สามารถเพิ่มขึ้นได้เรื่อย ๆ ซึ่งนำไปสู่อัตราเงินเฟ้อในที่สุด

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

เหตุการณ์ที่ 3 เกิดขึ้นในโครงการขุดสภาพคล่องตาม เมื่อใช้งานสัญญาอัจฉริยะนั้น Base ได้ประกาศเจ้าของอย่างเป็นทางการด้วยการเรียกฟังก์ชัน renounceOwnership ในสัญญาอัจฉริยะเท่านั้น แต่ไม่ได้เริ่มต้นสัญญาอัจฉริยะ และผู้โจมตีจากภายนอกเรียกว่าฟังก์ชัน initialize เพื่อเริ่มต้นสัญญาอัจฉริยะก่อนที่จะใช้อย่างเป็นทางการ

สิ่งนี้ทำให้เจ้าของสัญญาอัจฉริยะไม่สอดคล้องกับผู้ดำเนินการเริ่มต้น และในที่สุด การจำนำใดๆ ก็ไม่สามารถทำให้เสร็จสมบูรณ์ได้

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

เหตุการณ์หมายเลข 4 และหมายเลข 6 เหมือนกัน: มีช่องโหว่ของสัญญาอัจฉริยะหลายช่องโหว่และไม่มีการตรวจสอบความปลอดภัยก่อนเปิดตัว ไม่มีกลไกการกำกับดูแลชุมชนที่สอดคล้องกันสำหรับปัญหาสิทธิ์ที่มากเกินไปของเจ้าของโครงการ

โปรเจ็กต์ที่ชูโรงของทั้งสองงานคือ SushiSwap (งานลำดับที่ 4) และงานเลียนแบบ Yuno และ Kimchi (งานลำดับที่ 6) ในสัญญาอัจฉริยะของโครงการ SushiSwap เจ้าของสัญญาอัจฉริยะมีสิทธิ์ใช้ฟังก์ชัน setMigrator เพื่อแก้ไขค่าของตัวย้ายข้อมูลโดยพลการโดยไม่มีการควบคุม จากนั้นเรียกรหัสภายนอกใดๆ ของสัญญาอัจฉริยะโดยเรียก migrator.migrate รหัสภายนอกนี้ไม่เป็นที่รู้จักสำหรับสัญญาอัจฉริยะ ดังนั้นเจ้าของสัญญาอัจฉริยะจึงสามารถเรียกใช้รหัสที่เป็นอันตรายผ่านการดำเนินการนี้

ช่องโหว่ที่คล้ายกันยังมีอยู่ในโครงการ Yuno และ Kimchi: เจ้าของสัญญาอัจฉริยะมีสิทธิ์ดำเนินการผลิตเหรียญกษาปณ์ได้ไม่จำกัดจำนวนผ่านฟังก์ชันโรงกษาปณ์

ในขั้นต้น วิธีแก้ไขช่องโหว่ประเภทนี้คือการใช้ timelock smart contract เพื่อเพิ่มการล็อกการหน่วงเวลาให้กับการดำเนินการใด ๆ จากเจ้าของสัญญาอัจฉริยะ SushiSwap, Yuno และ Kimchi ต่างก็เพิ่มการหน่วงเวลาการทำงาน 48 ชั่วโมงให้ตัวเองด้วยวิธีนี้ ความตั้งใจเดิมคือการให้กรอบเวลา 48 ชั่วโมงแก่นักลงทุนสำหรับการทำธุรกรรมที่น่าสงสัยใดๆ จากเจ้าของสัญญาอัจฉริยะ และมีเวลาเพียงพอสำหรับการถอนเงินและการดำเนินการอื่นๆ แม้ว่า Chef Nomi ในโครงการ SushiSwap จะประสบความสำเร็จในการโอนโทเค็นจำนวนมากและส่งคืนให้ในภายหลัง แต่ท้ายที่สุดแล้ว โครงการ SushiSwap ได้นำกระเป๋าเงินแบบหลายลายเซ็นมาใช้เพื่อให้แน่ใจว่ามีการกระจายอำนาจของโครงการ อาจกล่าวได้ว่าการล็อคการหน่วงเวลานั้นไม่มีทางแก้ไขช่องโหว่ในสัญญาอัจฉริยะได้

เหตุการณ์ที่ 5 เกิดจากการที่เหยื่อใช้กระเป๋าเงิน Electrum เวอร์ชันเก่า และผู้โจมตีใช้ช่องโหว่ของซอฟต์แวร์ในเวอร์ชันเก่าเพื่อทำการโจมตีแบบฟิชชิ่ง

ช่องโหว่ของซอฟต์แวร์นี้แสดงผล HTML ของข้อความแสดงข้อผิดพลาดในการทำธุรกรรมที่ส่งคืนโดยเซิร์ฟเวอร์โหนด Electrum ผู้โจมตีสามารถสร้างโหนดที่เป็นอันตรายได้ เมื่อโหนดได้รับคำขอการทำธุรกรรมจากผู้ใช้ หน้าต่างที่มีข้อมูลฟิชชิ่งจะปรากฏขึ้นในกระเป๋าเงินของผู้ใช้ ทำให้ผู้ใช้สามารถดาวน์โหลดสิ่งที่เรียกว่า "การอัปเดตกระเป๋าเงิน"

คำแนะนำด้านความปลอดภัย

คำแนะนำด้านความปลอดภัย

โดยสรุป เหตุการณ์ด้านความปลอดภัยเกิดขึ้นบ่อยครั้งในเดือนสิงหาคม และทีมรักษาความปลอดภัยของ CertiK ได้ให้คำแนะนำดังต่อไปนี้:

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

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

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

ความนิยมของ DeFi เพิ่มขึ้นอย่างต่อเนื่อง Blockchain ซึ่งเป็นเทคโนโลยีหลักแห่งยุคที่ก่อกวนได้ถูกนำมาใช้กันอย่างแพร่หลายในด้านต่าง ๆ ไม่ควรละเลยความเสี่ยงด้านความปลอดภัยที่ซ่อนอยู่ภายใต้ประโยชน์และผลประโยชน์

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

安全
投资
ยินดีต้อนรับเข้าร่วมชุมชนทางการของ Odaily
กลุ่มสมาชิก
https://t.me/Odaily_News
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
บัญชีทางการ
https://twitter.com/OdailyChina
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
ค้นหา
สารบัญบทความ
อันดับบทความร้อน
Daily
Weekly
ดาวน์โหลดแอพ Odaily พลาเน็ตเดลี่
ให้คนบางกลุ่มเข้าใจ Web3.0 ก่อน
IOS
Android