Flash Loan Attack

เมื่อ “สกุลเงินดิจิทัล” ได้รับความนิยมมากขึ้น เทคโนโยลีต่างๆ ที่เกี่ยวข้องก็ได้รับความสนใจเพิ่มมากขึ้นเช่นกัน และหนึ่งสิ่งที่ถูกมองว่าจะกลายมาเป็นอนาคตของการเงินก็คือ Decentralized Finance (DeFi) หรือ “การเงินแบบกระจายอำนาจ” ที่เปิดโอกาสให้ผู้ใช้งานจำนวนมากสามารถสร้างรายได้จากสกุลเงินดิจิทัลที่พวกเขาถือครองไว้ได้

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

ก่อนที่เราจะมาเรียนรู้กันว่า Flash Loan Attack คืออะไร? เราไปดูกันก่อนดีกว่าว่า Flash Loan (แฟลชโลน) คืออะไร?

Flash Loan คืออะไร?

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

โดยปกติแล้ว การกู้ยืมเงินผ่าน Flash Loan จะมีจุดประสงค์เพื่อเก็งกำไรจากส่วนต่างของราคาของสกุลเงินดิจิทัลบนเว็บเทรดคริปโตที่แตกต่างกัน ตัวอย่างเช่น หากเหรียญ X บนเว็บเทรด A มีราคาอยู่ที่ 30 USDT ต่อ 1 เหรียญ ในขณะที่บนเว็บเทรด B มีราคาอยู่ที่ 35 USDT ต่อ 1 เหรียญ นักเก็งกำไรสามารถทำการกู้ยืมเงินผ่าน Flash Loan มาเพื่อส่งคำสั่งซื้อและขายแยกกันดังนี้

  • นักเก็งกำไรทำการกู้ยืมสินเชื่อ Flash Loan เป็นมูลค่า 3,000 USDT
  • ส่งคำสั่งซื้อเหรียญ X ทั้งหมด 100 เหรียญ มูลค่ารวม 3,000 USDT ไปที่เว็บเทรด A
  • ส่งคำสั่งขายเหรียญ X ทั้งหมด 100 เหรียญ มูลค่ารวม 3,500 USDT ไปที่เว็บเทรด B
  • นักเก็งกำไรทำการคืนเงินที่กู้ยืมมาจากสินเชื่อ Flash Loan เป็นมูลค่า 3,000 USDT
  • กระบวนการทั้งหมดข้างต้นนี้จะถูกดำเนินการด้วย Smart Contract ทำให้สามารถดำเนินการได้อย่างรวดเร็วภายในไม่กี่วินาทีเท่านั้น
  • เมื่อการดำเนินการทั้งหมดเสร็จสิ้น (ซึ่งทั้งหมดจะถูกดำเนินการภายในธุรกรรมเดียวกัน) นักเก็งกำไรก็จะทำกำไรได้เป็นมูลค่า 500 USDT

ดังนั้น เงื่อนไขของการทำธุรกรรม Flash Loan จะมีอยู่ 3 ขั้นตอน ก็คือ

  1. ผู้ใช้งานทำการกู้ยืมเงิน
  2. ผู้ใช้งานใช้เงินทุนในการดำเนินการบางอย่าง (ซื้อ/ขาย)
  3. ผู้ใช้งานชำระเงินกู้คืนเต็มจำนวน

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

ถ้าเช่นนั้น Flash Loan Attack ทำงานอย่างไร?

โดยส่วนใหญ่แล้ว Flash Loan Attack จะถูกดำเนินการในรูปแบบต่างๆ ซึ่งอยู่กับช่องโหว่หรือกลยุทธ์ที่ผู้โจมตีใช้งาน แต่ที่พบเห็นกันได้บ่อยๆ จะเป็นรูปแบบดังต่อไปนี้

  1. การปั่นราคา (Price Manipulation): ผู้โจมตีสามารถทำการใช้ประโยชน์จาก Flash Loan เพื่อปั่นราคาสกุลเงินดิจิทัลเป้าหมายได้ เช่น การกู้ยืมสินเชื่อ Flash Loan เพื่อทำการสร้างอุปสงค์ลวงด้วยการส่งคำสั่งซื้อเหรียญเป็นจำนวนมากภายในกรอบเวลาสั้นๆ ซึ่งอาจจะทำให้เหรียญดังกล่าวมีราคาที่สูงขึ้นเกินจริงได้ แล้วปล่อยขายออกไปเพื่อทำกำไรจากมูลค่าที่เพิ่มขึ้นจากอุปสงค์ลวงดังกล่าว
  2. การเก็งกำไร (Arbitrage): นักเก็งกำไรหรือผู้โจมตีสามารถใช้ Flash Loan เพื่อทำกำไรจากความคลาดเคลื่อนของราคาระหว่างเว็บเทรดแบบกระจายศูนย์ (Decentralized Exchanges) ที่แตกต่างกันได้ ด้วยการกู้ยืมสินเชื่อมาเพื่อซื้อเหรียญจากในเว็บเทรดหนึ่ง (ซึ่งมีราคาที่ต่ำกว่า) และขายมันไปบนอีกเว็บเทรดหนึ่ง (ซึ่งมีราคาที่สูงกว่า) ก่อนที่ความคลาดเคลื่อนของราคาจะกลับมาเป็นปกติ

การใช้ช่องโหว่ของสัญญาอัจฉริยะ (Smart Contract Exploit): ผู้โจมตีอาจจะใช้ประโยชน์จากช่องโหว่ที่มีอยู่ใน Smart Contract ของ DeFi เช่น การใช้ประโยชน์จากบั๊ก Reentrancy (การใช้ช่องโหว่ของระบบที่ไม่อัพเดตข้อมูลอย่างทันท่วงทีเพื่อส่งคำสั่งถอนเงินซ้ำๆ) หรือ Integer Overflow Errors (การเก็บค่าตัวแปรเกินกำหนด ทำให้ค่าตัวแปรเกิดการโอเวอร์โฟลว์ และส่งผงให้เกิดข้อผิดพลาดเกิดขึ้น) เพื่อสูบเงินออกจากโปรโตคอลหรือทำการโจมตีอื่นๆ เพิ่มเติมได้

สรุป

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