ผู้เขียนต้นฉบับ: ผักโขม ผักโขม | .bocaibocai (X: @wzxznl )
ฉันเพิ่งเซ็นชื่อ ทำไมเงินของฉันถึงหายไป? - "ฟิชชิ่งลายเซ็น" กำลังกลายเป็นวิธีการฟิชชิ่งยอดนิยมของแฮ็กเกอร์ Web3 เมื่อเร็ว ๆ นี้ ฉันเห็นว่าหัวหน้า Cosine @evilcos และบริษัทกระเป๋าสตางค์และความปลอดภัยรายใหญ่ต่างส่งเสริมความรู้เกี่ยวกับลายเซ็นฟิชชิ่งยอดนิยมอยู่ตลอดเวลา แต่ผู้คนจำนวนมากยังคงถูกฟิชชิ่งทุกวัน .
Spinach เชื่อว่าสาเหตุหนึ่งก็คือคนส่วนใหญ่ไม่เข้าใจตรรกะพื้นฐานของการโต้ตอบกับกระเป๋าเงิน และเกณฑ์การเรียนรู้สูงเกินไปสำหรับผู้ที่ไม่เข้าใจเทคโนโลยี ดังนั้น Spinach จึงตัดสินใจสร้างเวอร์ชันที่มีภาพประกอบของตรรกะพื้นฐานของ popular logic ฟิชชิ่งลายเซ็นวิทยาศาสตร์และพยายามใช้ รูปแบบภาษาสูงสุดสามารถเข้าใจได้โดยผู้ที่ไม่เชี่ยวชาญด้านเทคนิค
ก่อนอื่น เราต้องรู้ว่ามีเพียงสองการดำเนินการในการใช้กระเป๋าเงิน: "การลงนาม" และ "การโต้ตอบ" ความเข้าใจที่ง่ายที่สุดและตรงที่สุดคือลายเซ็นเกิดขึ้นนอกบล็อคเชน (นอกเครือข่าย) และไม่ต้องใช้ค่าธรรมเนียมแก๊ส การโต้ตอบเกิดขึ้นเหนือบล็อคเชน (ออนเชน) และต้องเสียค่าธรรมเนียมแก๊ส

สถานการณ์การใช้งานทั่วไปของลายเซ็นคือการตรวจสอบว่าคุณเป็นเช่นการเข้าสู่ระบบกระเป๋าเงิน เช่นเดียวกับหากคุณต้องการไปที่ Uniswap เพื่อแลกเปลี่ยนโทเค็น คุณต้องเชื่อมโยงกระเป๋าเงินของคุณก่อน จากนั้นในเวลานี้คุณต้องลงนาม ชื่อที่จะบอกเว็บไซต์ว่า "ฉันคือ "เจ้าของกระเป๋าเงิน" จากนั้นคุณสามารถใช้ Uniswap ขั้นตอนนี้จะไม่ทำให้ข้อมูลหรือสถานะเปลี่ยนแปลงในบล็อคเชนดังนั้นจึงไม่จำเป็นต้องใช้เงิน ในแง่ของการโต้ตอบ เมื่อคุณต้องการแลกเปลี่ยน Token บน Uniswap คุณต้องใช้เงินจำนวนหนึ่งก่อนเพื่อบอกสัญญา USDT: "ฉันต้องการแลกเปลี่ยน 100 USDT เป็นเหรียญผักโขม และฉันยอมรับว่าคุณสามารถย้ายของฉันได้ 100 USDT" ขั้นตอนนี้เรียกว่าการอนุญาต จากนั้นคุณจะต้องใช้เงินอีกจำนวนหนึ่งเพื่อแจ้งสัญญาอันชาญฉลาดของ Uniswap: "ฉันต้องการใช้ 100 USDT เพื่อแลกเป็นเหรียญผักโขม และคุณสามารถดำเนินการได้ทันที" และ คุณก็เสร็จสิ้นการดำเนินการแลกเปลี่ยน 100 USDT เป็นเหรียญผักโขมหนึ่งเหรียญ

หลังจากทำความเข้าใจความแตกต่างระหว่างลายเซ็นและการโต้ตอบโดยย่อแล้ว เราจะแนะนำหลักการของฟิชชิ่ง Spinach จะแสดงรายการวิธีการที่แตกต่างกันสามวิธี: ฟิชชิ่งการอนุญาต ฟิชชิ่งลายเซ็นอนุญาต และ อนุญาต 2 ฟิชชิ่งลายเซ็น ทั้งสามวิธีนี้เป็นวิธีฟิชชิ่งที่พบบ่อยมาก
มาพูดถึงฟิชชิ่งการอนุญาตกันก่อน นี่เป็นหนึ่งในวิธีการฟิชชิ่งที่คลาสสิกที่สุดใน Web3 ดังที่ชื่อบอกไว้ มันใช้กลไกการอนุญาต (อนุมัติ) ตัวอย่างก่อนหน้านี้ของ Uniswap บอกเราว่าการอนุญาตคือการบอกความฉลาด สัญญา “ฉันอนุมัติให้คุณย้ายโทเค็น xxx ของฉัน” จากนั้นแฮกเกอร์สามารถสร้างเว็บไซต์ฟิชชิ่งปลอมที่มีส่วนหน้าที่สวยงามซึ่งปลอมตัวเป็นโครงการ NFT ตรงกลางของเว็บไซต์มีปุ่มขนาดใหญ่ที่สวยงาม “รับ airdrop ของคุณ” ในความเป็นจริงอินเทอร์เฟซที่ปรากฏขึ้นจากกระเป๋าเงินหลังจากที่คุณคลิกจริง ๆ แล้ว ด้านบนคือที่อยู่ที่ขอให้คุณอนุญาตโทเค็นของคุณแก่แฮ็กเกอร์ หากคุณคลิกยืนยันในเวลานี้ ขอแสดงความยินดีกับแฮ็กเกอร์ที่ทำ KPI สำเร็จ .
อย่างไรก็ตาม มีปัญหากับฟิชชิ่งที่ได้รับอนุญาต เนื่องจากต้องเสียค่าน้ำมัน หลายๆ คนจึงระมัดระวังการดำเนินการที่เกี่ยวข้องกับการใช้จ่ายเงิน หลังจากคลิกบนเว็บไซต์ที่ไม่คุ้นเคย คุณจะพบสิ่งผิดปกติหลังจากดูอย่างรวดเร็ว ดังนั้นจึงเป็นการดีกว่าที่จะป้องกัน มัน.
ตัวเอกของวันนี้คือ Permit และ Permit 2 ฟิชชิ่งลายเซ็น ซึ่งเป็นพื้นที่ที่ได้รับผลกระทบยากที่สุดในด้านความปลอดภัยของสินทรัพย์ Web3 เหตุใดจึงป้องกันได้ยาก เพราะทุกครั้งที่คุณต้องการใช้ DApp คุณต้องลงชื่อเข้าใช้กระเป๋าสตางค์ของคุณ หลายๆ คนอาจมีความคิดเฉื่อยในใจ: "การดำเนินการนี้ปลอดภัย" นอกจากนี้ ไม่จำเป็นต้องใช้เงินและคนส่วนใหญ่ ไม่รู้ว่าแต่ละลายเซ็นหมายถึงอะไร
มาดูกลไกการอนุญาตก่อน ใบอนุญาตเป็นฟังก์ชันเพิ่มเติมสำหรับการอนุญาตภายใต้มาตรฐาน ERC-20 เรารู้จักการอนุญาต (อนุมัติ) คือเมื่อคุณใช้เงินเพื่อบอกสัญญาอัจฉริยะ: "คุณสามารถย้ายโทเค็นจำนวน xxx ของฉันได้" จากนั้นใบอนุญาตคือเมื่อคุณลงนามใน "บันทึก" ให้กับบุคคลใดบุคคลหนึ่งเอกสารนี้ระบุว่า: "ฉันอนุญาต และเพื่อย้ายโทเค็นจำนวน xxx ของฉัน" จากนั้นบุคคลนี้จะนำ "บันทึก" นี้ไปที่สัญญาอัจฉริยะและใช้ค่าธรรมเนียมก๊าซเพื่อบอกสัญญาอัจฉริยะ: "เขาอนุญาตให้ฉันย้ายโทเค็นจำนวน xxx ของเขา" จากนั้น คุณเงินอาจถูกยักยอกโดยผู้อื่น ในกระบวนการนี้ คุณเพิ่งเซ็นชื่อ แต่เบื้องหลังหมายความว่าคุณอนุญาตให้ผู้อื่นเรียกการอนุญาต (อนุมัติ) และโอนโทเค็นของคุณ เพื่อเข้าสู่ระบบกระเป๋าเงินด้วยการอนุญาตฟิชชิ่ง จากนั้นคุณสามารถฟิชชิ่งทรัพย์สินของคุณได้อย่างง่ายดาย

ใบอนุญาต 2 คืออะไร? ใบอนุญาต 2 ไม่ใช่ฟังก์ชันของ ERC-20 แต่เป็นฟังก์ชันที่ Uniswap เปิดตัวเพื่อความสะดวกของผู้ใช้ ตัวอย่างก่อนหน้านี้กล่าวว่าหากคุณต้องการใช้ USDT เพื่อแลกเปลี่ยนเหรียญผักโขมบน Uniswap คุณต้องอนุญาต (อนุมัติ) หนึ่งครั้ง ก่อนที่จะดำเนินการต่อ การแลกเปลี่ยนซึ่งต้องเสียค่าธรรมเนียมก๊าซสองครั้ง ดังนั้น Uniswap จึงคิดวิธี: "คุณอนุญาตโควต้าทั้งหมดให้ฉันในคราวเดียว และคุณเซ็นชื่อของคุณทุกครั้งที่คุณแลกเปลี่ยน และฉันจะจัดการมันให้คุณ" ฟังก์ชั่นช่วยให้ผู้ใช้ Uniswap จะต้องชำระค่าธรรมเนียม Gas เพียงครั้งเดียวเมื่อใช้งาน และขั้นตอนนี้คือการลงนาม ดังนั้นค่าธรรมเนียม Gas จะไม่ถูกจ่ายโดยคุณจริง ๆ แต่ชำระโดยสัญญาใบอนุญาต 2 แต่จะถูกหักออกจากโทเค็นของคุณ ในที่สุดก็ไถ่ถอน
อย่างไรก็ตาม ข้อกำหนดเบื้องต้นสำหรับฟิชชิ่ง Permit 2 คือคุณต้องเคยใช้ Uniswap มาก่อน และคุณยังได้อนุญาตโควต้าไม่จำกัดให้กับสัญญาอัจฉริยะ Permit 2 ด้วย เนื่องจากการดำเนินการเริ่มต้นปัจจุบันของ Uniswap คือการอนุญาตโควต้าไม่จำกัด ซึ่งเป็นจำนวนผู้ใช้ที่ตรงตามเงื่อนไขนี้ จริงๆ แล้วค่อนข้างใหญ่ ในทำนองเดียวกันแฮกเกอร์สามารถโอนโทเค็นของคุณออกไปได้ตราบใดที่พวกเขาหลอกให้คุณเซ็นชื่อของคุณ (ได้รับอนุญาตเท่านั้น)
โดยสรุป สาระสำคัญของฟิชชิ่งที่ได้รับอนุญาตคือคุณใช้เงินจำนวนหนึ่งเพื่อบอกสัญญาอัจฉริยะ: "ฉันอนุมัติให้คุณยักยอกโทเค็นของฉันให้กับแฮกเกอร์" สาระสำคัญของฟิชชิ่งลายเซ็นคือการที่คุณลงนามใน "บันทึก" ที่อนุญาต ผู้อื่นเพื่อย้ายทรัพย์สินของคุณ เมื่อพูดถึงแฮกเกอร์ แฮกเกอร์ใช้เงินเพื่อบอกสัญญาอัจฉริยะ: "ฉันต้องการยักยอกโทเค็นของเขาและโอนมาให้ฉัน" ปัจจุบัน Permit และ Permit 2 เป็นพื้นที่ที่ได้รับความนิยมมากที่สุดสำหรับลายเซ็นฟิชชิ่ง Permit เป็นฟังก์ชันเสริมที่ได้รับอนุญาตของ ERC-20 และ Permit 2 เป็นฟีเจอร์ใหม่ที่เปิดตัวโดย Uniswap
แล้วเมื่อเข้าใจหลักแล้วป้องกันได้อย่างไร?
1. สิ่งแรกและสำคัญที่สุดคือการปลูกฝังความตระหนักรู้ด้านความปลอดภัย ทุกครั้งที่คุณใช้งานกระเป๋าเงิน คุณต้องตรวจสอบว่าคุณกำลังทำอะไรอยู่
2. เงินจำนวนมากจะถูกแยกออกจากกระเป๋าเงินบน WanChain ดังนั้นการสูญเสียจึงสามารถลดลงได้เมื่อถูกฟิชชิ่ง
3. เรียนรู้การระบุรูปแบบลายเซ็นของใบอนุญาตและใบอนุญาต 2 ตราบใดที่คุณเห็นรูปแบบลายเซ็นต่อไปนี้ คุณควรจะตื่นตัว:
แบบโต้ตอบ: URL แบบโต้ตอบ
เจ้าของ: ที่อยู่ของผู้มีอำนาจ
ผู้ใช้จ่าย: ที่อยู่ของผู้มีอำนาจ
ค่า: ปริมาณที่ได้รับอนุญาต
Nonce: ตัวเลขสุ่ม
วันกำหนดส่ง: เวลาหมดอายุ



