ฟิชชิ่ง web3 คืออะไร
Web3 Phishing เป็นรูปแบบหนึ่งของการหลอกลวงออนไลน์ที่กำหนดเป้าหมายผู้ใช้สกุลเงินดิจิทัลโดยการสร้างเว็บไซต์ปลอมที่ปลอมแปลงเป็นเว็บไซต์อย่างเป็นทางการเพื่อขโมยการอนุญาต ลายเซ็น และทรัพย์สินสกุลเงินดิจิทัลของผู้ใช้ ด้วยการพัฒนาเทคโนโลยี Web3.0 การหลอกลวงฟิชชิ่ง Web3 ใหม่เกิดขึ้นอย่างต่อเนื่อง ด้านล่างนี้ เราจะแนะนำวิธีการโจมตีแบบฟิชชิ่ง web3 ใหม่: การอนุมัติฟิชชิ่ง, Uniswap อนุญาต 2 ฟิชชิ่ง, การอ้างสิทธิ์ฟิชชิ่ง และโมเดลฟิชชิ่ง และจัดเตรียมมาตรการที่มีประสิทธิภาพเพื่อช่วยให้ผู้ใช้ระบุและป้องกันการโจมตีเหล่านี้: มาตรการป้องกันฟิชชิ่งการอนุมัติ ระบุลายเซ็นในใบอนุญาต 2 ป้องกันการโจมตีแบบฟิชชิ่งอ้างสิทธิ์ และป้องกันการโจมตีแบบฟิชชิ่งแบบโมดอล
1. อนุมัติการโจมตีทางโทรศัพท์
การโจมตีแบบฟิชชิ่งของ web3 ส่วนใหญ่เกี่ยวข้องกับการอนุมัติ เพิ่มการดำเนินการอนุญาตที่เกี่ยวข้อง. ผู้โจมตีหลอกลวงผู้ใช้ให้ดำเนินการอนุมัติผ่านอีเมลหรือข้อความปลอม เว็บไซต์หรือแอปพลิเคชันปลอม วิศวกรรมสังคม และโฆษณาหรือป๊อปอัปที่เป็นอันตราย ดังนั้นผู้ใช้จำเป็นต้องเพิกถอนการอนุญาตที่ไม่จำเป็น การเพิกถอนการอนุญาตอาจถูกนำไปใช้โดยฟิชชิ่ง
การโจมตีแบบฟิชชิ่งแบบยกเลิกการอนุญาตเกิดขึ้นได้อย่างไร
- ผู้โจมตีใช้ของปลอมสัญญาโทเค็น ERC-20, แก้ไขฟังก์ชั่นการอนุมัติ; 
- ผู้โจมตีปลอมแปลงการอนุญาตที่อยู่ออนไลน์จำนวนมากด้วยตนเองและเตือนผู้ใช้ให้ยกเลิกการอนุญาต; 
- เมื่อผู้ใช้ได้รับการแจ้งเตือนและคลิกเพื่อยกเลิกการอนุญาต ธุรกรรมจะถูกส่งไป ธุรกรรมนี้จะทำให้โทเค็นถูกสร้างลงในกระเป๋าเงินของผู้ปรับใช้สัญญา 
เพิ่มลิงก์ธุรกรรมฟิชชิ่งที่ได้รับอนุญาต
https://arbiscan.io/tx/0xd598336fac79123952319c9cd9cc62aa275162ce5f39d08ccac0c5e6ef0538e5
ลิงก์ธุรกรรมฟิชชิ่ง เพิกถอนการอนุญาตhttps://etherscan.io/tx/0xd4d606caddebf185dc6902ffcec78f3cc915826e1c0e37319d407d01681980ab
2. Uniswap อนุญาตให้มีการโจมตีแบบฟิชชิ่ง 2 ครั้ง
Uniswap permit 2 อนุญาตให้แชร์และจัดการการอนุญาตโทเค็นในแอปพลิเคชันต่างๆ ผู้ใช้เพียงแค่ต้องดำเนินการอนุญาตและทำธุรกรรมให้เสร็จสิ้นในธุรกรรมเดียว ซึ่งช่วยลดค่าธรรมเนียมการทำธุรกรรมและทำให้ขั้นตอนการดำเนินการธุรกรรมง่ายขึ้น อย่างไรก็ตาม ใบอนุญาต 2 จะเปลี่ยนการดำเนินการของผู้ใช้ให้เป็นลายเซ็นนอกเครือข่ายสำหรับผู้ใช้ ลายเซ็นนอกเครือข่ายเป็นขั้นตอนที่ง่ายที่สุดในการลดความระมัดระวัง และคนส่วนใหญ่ไม่ตรวจสอบเนื้อหาของลายเซ็นอย่างรอบคอบหรือเข้าใจเนื้อหาของลายเซ็น
Uniswap อนุญาตให้มีการโจมตีแบบฟิชชิ่ง 2 ครั้งเกิดขึ้นได้อย่างไร
- ผู้ใช้ให้สิทธิ์การอนุญาตของโทเค็นที่เขาถืออยู่ในสัญญา Permit 2 ซึ่งเป็นข้อกำหนดเบื้องต้นที่สำคัญซึ่งหมายความว่าลายเซ็นของคุณเมื่อให้สิทธิ์เสี่ยงต่อการถูกหลอกลวงแบบฟิชชิ่ง 
- แฮกเกอร์ได้รับลายเซ็นของผู้ใช้ ตามลายเซ็นนี้ แฮกเกอร์ได้ดำเนินการอนุญาตและถ่ายโอนจากการดำเนินการในสัญญาอนุญาต 2 เพื่อถ่ายโอนทรัพย์สินของผู้ใช้ 
- แฮกเกอร์เรียกฟังก์ชันอนุญาต ซึ่งฟังก์ชันตรวจสอบและฟังก์ชัน _updateApproval ส่วนใหญ่จะเรียกว่า ฟังก์ชันตรวจสอบใช้เพื่อตรวจสอบลายเซ็นของผู้ใช้ ดำเนินการฟังก์ชัน _updateApproval หลังจากผ่านการตรวจสอบแล้ว ฟังก์ชัน _updateApproval ใช้เพื่ออัปเดตค่าการอนุญาต 
- ฝ่ายที่ได้รับอนุญาตสามารถเรียกใช้ฟังก์ชัน TransferFrom เพื่อโอนโทเค็นไปยังที่อยู่ที่ระบุภายในขีดจำกัดการอนุญาต 
อนุญาต 2 ลิงก์ธุรกรรมฟิชชิ่ง
https://etherscan.io/tx/0x1d8fa25f8f16d52cd4c5716e0cefd9b1cdbbbc060901cea223bab9de79b17ea3
3. รับการโจมตีแบบฟิชชิ่ง
การอ้างสิทธิ์การโจมตีแบบฟิชชิ่งหลอกให้ผู้ใช้ให้ข้อมูลส่วนบุคคล ข้อมูลรับรองการเข้าสู่ระบบ หรือสิทธิ์ในการเข้าถึงโดยการปลอมแปลงคำขอจากหน่วยงานที่เชื่อถือได้ สัญญาฟิชชิ่งเรียกร้องเหล่านี้มักจะปลอมตัวเป็นที่อยู่ศูนย์เพื่อหลอกลวงความไว้วางใจของผู้ใช้และเรียกค้นทรัพย์สินที่เข้ารหัสของผู้ใช้
การเรียกร้องการโจมตีแบบฟิชชิ่งเกิดขึ้นได้อย่างไร?
- นักฟิชชิ่งใช้สัญญาหลอกลวงและสัญญาฮับ และสร้าง EOA เพื่อรับเงินของผู้ใช้ที่ถูกขโมย สัญญาหลอกลวงมีความสามารถในการขโมยโทเค็น ETH, ERC 20 และ NFT ของผู้ใช้ สัญญาหลอกลวงไม่ใช่โอเพ่นซอร์ส แต่เมื่อพิจารณาจากข้อมูลธุรกรรมออนไลน์ สัญญาประกอบด้วยสองฟังก์ชันหลักๆ คือ Cliam และ Multicall 
เมื่อเรียกใช้ฟังก์ชันการอ้างสิทธิ์ โทเค็นที่เหยื่อถืออยู่จะถูกโอนไปยังสัญญาฮับในธุรกรรมภายใน
ฟังก์ชัน Multicall ใช้เพื่อถ่ายโอนโทเค็นที่ได้รับการอนุมัติจากเหยื่อ
- สัญญาศูนย์กลางทำหน้าที่เป็นจุดรวบรวมเงินที่ถูกขโมยจากสัญญาหลอกลวงต่างๆ EOA ที่สร้างขึ้นโดยฟิชเชอร์สามารถเรียกใช้ฟังก์ชันการถอนในสัญญาฮับเพื่อถอนเงิน 
อ้างสิทธิ์ลิงก์ธุรกรรมฟิชชิ่ง
https://etherscan.io/tx/0xfe70f1b0a92e719bff0d291b7a79987e6e93ed129d52be8e8918c2b9acb1f3b0
4. การโจมตีแบบฟิชชิ่ง
องค์ประกอบอินเทอร์เฟซผู้ใช้ (UI) บางอย่างของกระเป๋าเงินดิจิทัล Web 3.0 สามารถควบคุมได้โดยผู้โจมตีเพื่อทำการโจมตีแบบฟิชชิ่ง การโจมตีที่เรียกว่า Modal Phishing การออกแบบโมดอลทั่วไปในกระเป๋าเงินสกุลเงิน Web3.0 มักจะให้ข้อมูลที่จำเป็นสำหรับผู้ใช้ในการตรวจสอบคำขอ เช่น ลายเซ็น ตลอดจนปุ่มเพื่ออนุมัติหรือปฏิเสธคำขอ
ลองใช้กระเป๋าเงิน Metamask เป็นตัวอย่างเพื่อแนะนำว่าการโจมตีแบบฟิชชิ่งแบบกิริยาเกิดขึ้นได้อย่างไร
- ฟิชเชอร์ปรับใช้สัญญาอัจฉริยะฟิชชิ่ง ซึ่งมีฟังก์ชัน SecurityUpdate พร้อมฟังก์ชันการชำระเงิน และอนุญาตให้เหยื่อโอนเงินไปยังสัญญาอัจฉริยะ 
- ฟิชเชอร์ยังใช้ SignatureReg เพื่อลงทะเบียนลายเซ็นฟังก์ชัน SecurityUpdate เป็นสตริง SecurityUpdate ที่มนุษย์สามารถอ่านได้ 
- เหยื่อเชื่อมต่อกับสัญญาอัจฉริยะฟิชชิ่งข้างต้นบนกระเป๋าเงิน Metamask 
- Metamask แยกวิเคราะห์สัญญาอัจฉริยะฟิชชิ่งนี้ และใช้ไบต์ลายเซ็นของฟังก์ชันเพื่อสืบค้นวิธีฟังก์ชันที่เกี่ยวข้อง ซึ่งก็คือ SecurityUpdate 
- SecurityUpdate แสดงผลใน Metamask Model เพื่อขอการยืนยันจากผู้ใช้ ผู้ใช้คลิกปุ่ม SecurityUpdate และฟิชชิ่งสำเร็จ ในเวลานี้ สัญญาอัจฉริยะฟิชชิ่งที่เขียนโดยฟิชเชอร์ได้รับการดำเนินการ และเงินของเหยื่อจะถูกโอนไปยังสัญญาอัจฉริยะ 
วิธีหลีกเลี่ยงการโจมตีแบบฟิชชิ่ง Web3
1. มาตรการป้องกันการฟิชชิ่งการอนุมัติ
หากเราเข้าใจเนื้อหาเฉพาะของการดำเนินการให้สิทธิ์ และสอบถามข้อมูลการอนุญาตของเราและยกเลิกการอนุญาตจากช่องทางที่ถูกต้อง เราจะหลีกเลี่ยงการหลอกลวงแบบฟิชชิ่ง เช่น การอนุมัติ เพิ่มการอนุญาต และการเพิกถอนการอนุญาตได้อย่างมีประสิทธิภาพ
เนื้อหาต่อไปนี้สามารถช่วยให้ผู้ใช้เข้าใจเนื้อหาเฉพาะของการดำเนินการอนุญาต:
เมื่ออนุมัติ ผู้ใช้จะต้องพิจารณาจำนวนเงินในการอนุญาต สกุลเงินของการอนุญาต และที่อยู่ของการอนุญาต ด้วยการระบุจำนวนเงินที่อนุญาตและสกุลเงิน ผู้ใช้สามารถจำกัดจำนวนสินทรัพย์ที่บุคคลที่ได้รับอนุญาตสามารถโอนจากบัญชีของตนได้ เพื่อป้องกันการอนุญาตของสกุลเงินที่ไม่เกี่ยวข้องกับการโต้ตอบนี้ ผู้ใช้ยังต้องตรวจสอบที่อยู่ที่ได้รับอนุญาตอย่างรอบคอบและยืนยันที่อยู่ผ่านหลายช่องทางเพื่อให้แน่ใจว่ามีการให้การอนุญาตไปยังที่อยู่ที่ถูกต้อง
- ก่อนการอนุญาตอย่างเป็นทางการ ผู้ใช้สามารถจำลองธุรกรรมการอนุญาตในสัญญาโทเค็นที่เกี่ยวข้องเพื่อรับข้อมูลการอนุญาต 
- ค้นหาฟังก์ชันที่เกี่ยวข้องกับการอนุญาต เช่น การอนุมัติหรือการเพิ่มขึ้นAllowance, LowerAllowance ฯลฯ และกรอกข้อมูลต่อไปนี้เพื่อจำลองธุรกรรมการอนุญาต 
- หลังจากจำลองการอนุญาตแล้ว คุณสามารถดูข้อมูลเฉพาะของธุรกรรมจำลองบน Phalcon ได้ จากข้อมูลอินพุต คุณสามารถดูที่อยู่การอนุญาตและจำนวนการอนุญาตได้ 
หากผลลัพธ์ข้างต้นเป็นไปตามที่ผู้ใช้คาดหวัง คุณสามารถดำเนินการอนุญาตอย่างเป็นทางการได้
ต่อไปนี้เป็นขั้นตอนเฉพาะสำหรับการติดตามข้อมูลการอนุญาตในห่วงโซ่และการเพิกถอนข้อมูลการอนุญาต:
หลังจากเสร็จสิ้นการอนุญาต ผู้ใช้สามารถติดตามสถานะการอนุมัติโทเค็นเป็นประจำ และยังสามารถเพิกถอนการอนุญาตที่เกี่ยวข้องได้อีกด้วยEtherscan, BscScan and Polygonscanมีฟังก์ชั่นตรวจสอบการอนุมัติโทเค็นใน blockchain explorer
- ป้อนที่อยู่เพื่อดูธุรกรรมการอนุญาตในอดีตของที่อยู่ ปุ่มเพิกถอนทางด้านขวาของแต่ละธุรกรรมสามารถเพิกถอนการอนุญาตนี้ได้ 
- ในธุรกรรมการอนุญาตที่ดึงข้อมูล คุณสามารถดูสกุลเงินการอนุญาต ที่อยู่การอนุญาต และจำนวนเงินการอนุญาต 
2. ระบุลายเซ็นในใบอนุญาต 2
อนุญาตให้หลีกเลี่ยงการหลอกลวงแบบฟิชชิ่ง 2 ครั้งได้อย่างมีประสิทธิภาพหากเราสามารถเข้าใจ ระบุ และตรวจสอบเนื้อหาเฉพาะของลายเซ็นอีกครั้ง
รูปแบบลายเซ็นมักจะประกอบด้วยช่องคีย์ของเจ้าของ, ผู้ใช้จ่าย, มูลค่า, nonce และกำหนดเวลา ซึ่งอ้างอิงถึง:
เจ้าของ: หมายถึงที่อยู่ของผู้ถือโทเค็น ใช้เพื่อระบุที่อยู่ที่คุณต้องการอนุญาตผ่านลายเซ็น
ผู้ใช้จ่าย: หมายถึงที่อยู่ที่ได้รับอนุญาตให้ใช้โทเค็น ซึ่งใช้เพื่อระบุที่อยู่ที่คุณต้องการอนุญาต
ค่า: หมายถึงจำนวนโทเค็นที่คุณต้องการอนุญาต คุณสามารถระบุจำนวนโทเค็นเฉพาะเพื่ออนุญาตให้กับผู้ใช้ต่อได้
nonce: ตัวนับธุรกรรมที่เป็นตัวแทนของผู้ถือโทเค็น ใช้เพื่อให้แน่ใจว่าธุรกรรมที่ได้รับอนุญาตแต่ละรายการมีตัวระบุที่ไม่ซ้ำกัน
กำหนดเวลา: แสดงถึงกำหนดเวลาที่มีผลใช้ได้ของลายเซ็น ซึ่งใช้เพื่อจำกัดระยะเวลาที่มีผลใช้ได้ของลายเซ็น หลังจากหมดอายุ ลายเซ็นจะไม่ถูกต้อง
เราขอแนะนำให้ผู้ใช้ตั้งค่าเฉพาะและกำหนดเวลาตามความต้องการของตนเอง แทนที่จะเลือกค่าเริ่มต้นสูงสุด
ก่อนที่จะเรียกสัญญาใบอนุญาต Uniswap 2 ผู้ใช้สามารถจำลองฟังก์ชันการอนุญาตที่เกี่ยวข้องเพื่อทำความเข้าใจรายละเอียดการอนุญาต คลิกปุ่มจำลอง
เลือกฟังก์ชันอนุมัติ กรอกพารามิเตอร์ต่อไปนี้ และจำลองผู้ใช้ที่อนุญาตสัญญาใบอนุญาต 2
3. ป้องกันการโจมตีแบบฟิชชิ่ง
เพื่อหลีกเลี่ยงไม่ให้ตกหลุมพรางการอ้างสิทธิ์ฟิชชิ่ง เราจำเป็นต้องระบุที่อยู่สัญญาฟิชชิ่ง ซึ่งมักจะปลอมตัวเป็นที่อยู่ศูนย์เพื่อลดความระมัดระวังของผู้ใช้ รายการด้านล่างนี้คือสัญญาหลอกลวงบางส่วนที่ใช้สำหรับการอ้างสิทธิ์การหลอกลวงแบบฟิชชิ่ง เมื่อเราซื้อขายควรสังเกตว่าที่อยู่นำหน้าและตามด้วย 0000。
https://etherscan.io/address/0x0000b514c923f55180fc12428e05695666620000
https://etherscan.io/address/0x0000438e0f00fc35dff19d0062608057a1d20000
https://etherscan.io/address/0x0000a4998724e52f0886edff693aca33f9900000
https://etherscan.io/address/0x000062accd1a9d62ef428ec86ca3dd4f45120000
https://etherscan.io/address/0x000038f1e0c4417a3650c3f9a9a920b2e52e0000
https://etherscan.io/address/0x000056c346441ef8065e56b0cddd43fdec100000
สาระสำคัญของการโจมตีแบบฟิชชิ่งแบบอ้างสิทธิ์คือการขอรับการอนุญาตโทเค็นของผู้ใช้ ดังนั้นเราจึงยังคงต้องให้ความสนใจกับสถานการณ์การอนุญาตตลอดเวลา
4. ป้องกันการโจมตีแบบฟิชชิ่งแบบกิริยา
สาเหตุที่แท้จริงของการโจมตีแบบฟิชชิ่งคือแอปพลิเคชันกระเป๋าสตางค์ไม่ได้ตรวจสอบความถูกต้องขององค์ประกอบ UI ที่นำเสนออย่างละเอียดเพื่อหลีกเลี่ยงการโจมตีแบบฟิชชิ่งประเภทนี้ นักพัฒนาแอปพลิเคชันกระเป๋าเงินควรถือว่าข้อมูลที่เข้ามาจากภายนอกไม่น่าเชื่อถือเสมอผู้ใช้ยังสามารถตรวจสอบข้อมูลลายเซ็นและข้อมูลการอนุญาตตามที่อธิบายไว้ข้างต้น
สรุป
โดยสรุป เราได้แนะนำวิธีการโจมตีฟิชชิ่ง Web3 ใหม่สี่วิธีโดยละเอียด และจัดให้มีมาตรการระบุและป้องกันที่สอดคล้องกัน นอกเหนือจากการเพิ่มความระมัดระวังของผู้ใช้แล้ว เรายังแนะนำให้ผู้ใช้มีความเข้าใจเชิงลึกเกี่ยวกับการอนุญาตและเนื้อหาที่เกี่ยวข้องกับลายเซ็น ตรวจสอบสถานะการอนุญาตเป็นประจำ และเพิกถอนการอนุญาตที่ไม่จำเป็นในเวลาที่เหมาะสม นอกจากนี้ เรายังเน้นย้ำถึงความสำคัญของการไม่ลงนามโดยไม่ได้ตั้งใจ เพื่อป้องกันไม่ให้ผู้โจมตีได้รับลายเซ็นของเราและนำไปใช้ในทางที่ผิด หากคุณมีคำถามอื่นๆ เกี่ยวกับการรักษาความปลอดภัย Web3 หรือการตรวจสอบสัญญาอัจฉริยะ โปรดติดต่อเราเชื่อมต่อ. เรายินดีที่จะช่วยเหลือคุณ


