จัดทำขึ้นเพื่อการศึกษาเท่านั้น ไม่ใช่คำแนะนำการลงทุน การลงทุนอาจทำให้สูญเสียเงินลงทุนได้
คำตอบโดยตรง
การวางยาพิษที่อยู่เป็นการฉ้อโกงด้วยการสับเปลี่ยนผู้รับ ผู้โจมตีสร้างที่อยู่อีกแห่งซึ่งมีอักขระต้นและท้ายที่มองเห็นคล้ายผู้รับที่เชื่อถือได้ แล้วนำไปวางในประวัติธุรกรรมหรือหน้าจออื่นที่ดูน่าเชื่อถือ โดยหวังว่าผู้ส่งจะคัดลอกที่อยู่คล้ายกันนั้นในภายหลังและลงนามชำระเงินจริงไปยังผู้โจมตี การโจมตีนี้ไม่ได้เปลี่ยนที่อยู่ที่ถูกต้อง ไม่ได้เจาะกุญแจส่วนตัว และไม่ได้ทำให้ฉันทามติส่งธุรกรรมผิดปลายทาง
รายการที่แทรกอาจเกิดจากธุรกรรมสินทรัพย์ประจำเครือข่ายจริง การโอนโทเคนมูลค่าศูนย์ที่เป็นไปตามมาตรฐาน หรือล็อกที่ปล่อยจากสัญญาโทเคนอื่น หน้ากิจกรรมของกระเป๋าเงินดิจิทัลและโปรแกรมสำรวจบล็อกเป็นมุมมองที่ประมวลผลขึ้นมา แถวที่ระบุว่า “ส่งแล้ว” อาจได้จากฟิลด์เหตุการณ์ ไม่ใช่ธุรกรรมภายนอกที่ลงนามโดยที่อยู่ from ที่แสดงอยู่ จึงต้องตรวจแยกกันทั้งผู้ส่งและปลายทางของธุรกรรมภายนอก สัญญาที่ถูกเรียก สัญญาที่ปล่อยเหตุการณ์ ฟิลด์ที่ทำดัชนี และการเปลี่ยนแปลงยอดคงเหลือจริง
เช็กซัม ERC-55 ช่วยตรวจจับการพิมพ์ผิดโดยไม่ตั้งใจบางประเภท แต่ที่อยู่อื่นของผู้โจมตีก็อาจถูกต้องตามรูปแบบและมีเช็กซัมถูกต้องได้เช่นกัน ที่อยู่ EVM ขนาด 20 ไบต์ทั่วไปยังไม่ระบุเชน สินทรัพย์ บทบาทผู้รับ บันทึกกำกับการฝาก หรือการเรียกสัญญาที่ตั้งใจใช้ คำสั่งชำระเงินที่ปลอดภัยต้องผูกข้อเท็จจริงทั้งหมดนี้เข้ากับปลายทางแบบเต็ม
การเสร็จสิ้นการตรวจสอบนี้ไม่ได้พิสูจน์ว่าสินทรัพย์ ธุรกรรม หรือระบบมีความปลอดภัย
กลไกการทำงาน
ผู้โจมตีสังเกตรูปแบบการจ่ายเงินสาธารณะ แล้วค้นหาที่อยู่แบบ vanity ที่ตรงกับอักขระซึ่งกระเป๋าเงินดิจิทัลย่อไว้บนหน้าจอ การตรงกันของอักขระเลขฐานสิบหกที่เลือกไว้ไม่ได้คัดลอกบัญชี เพราะไบต์ที่มองไม่เห็นยังต่างกันและผู้โจมตีควบคุมกุญแจใหม่ การโอนจำนวนเล็กน้อยสามารถนำที่อยู่จริงนั้นเข้าไปในประวัติได้ นอกจากนี้ ERC-20 กำหนดให้การโอนมูลค่าศูนย์ได้รับการประมวลผลเหมือนการโอนปกติและปล่อยเหตุการณ์ Transfer ดังนั้นรายการมูลค่าศูนย์เพียงอย่างเดียวจึงไม่พิสูจน์การปลอมแปลง การรั่วไหล การอนุญาต หรือความเสียหายทางเศรษฐกิจ
สัญญาโทเคนที่เป็นอันตรายยังปล่อยล็อก Transfer(victim, lookalike, 0) ของตนเองได้ ล็อกนี้เป็นข้อมูลใบรับธุรกรรมจริงซึ่งมีแหล่งที่มาจากสัญญาผู้ปล่อย แต่ไม่ใช่เหตุการณ์จากสัญญาสินทรัพย์หลักและไม่พิสูจน์ว่าเหยื่อลงนามธุรกรรมภายนอก อย่างไรก็ดี ตัวทำดัชนีที่จำแนกกิจกรรมจากหัวข้อเหตุการณ์โดยไม่มีบริบทของสัญญาและการเรียกอย่างเพียงพออาจแสดงแถวโอนออกที่ทำให้เข้าใจผิด
การควบคุมที่ชี้ขาดคือเจตนาชำระเงินขั้นสุดท้าย ซึ่งต้องผูกเชนและเครือข่าย สินทรัพย์ประจำเครือข่ายหรือสัญญาโทเคนที่แน่นอน ที่อยู่เต็มและประเภทผู้รับ จำนวนและหน่วยดิบ ตลอดจน calldata บันทึกกำกับ แท็กปลายทาง หรือช่วงเวลาที่ใช้ได้ ที่อยู่ฝากของศูนย์ซื้อขาย บริดจ์ พร็อกซี และเส้นทางใช้ครั้งเดียวอาจล้าสมัยหรือต้องใช้ข้อมูลมากกว่าที่อยู่อย่างเดียว มัลแวร์คลิปบอร์ดและรหัส QR ที่ถูกแทรกแซงเป็นการโจมตีต่างประเภทกัน แต่การตรวจปลายทางแบบเต็มเช่นเดียวกันจะพบการสับเปลี่ยนก่อนลงนาม
ชื่อและการจ่ายทดสอบเป็นมาตรการเสริม ไม่ใช่หลักฐานยืนยันตัวตน ให้ resolve ชื่อ ENS สำหรับเชนและระเบียนที่ตั้งใจใช้ ณ เวลาลงนาม หากแสดงชื่อแบบ reverse ต้อง resolve แบบ forward กลับไปยังที่อยู่เดียวกัน การทดสอบจำนวนเล็กน้อยช่วยได้เฉพาะเมื่อผู้รับยืนยันอย่างเป็นอิสระและการจ่ายหลักใช้ปลายทางที่ตรึงไว้เดิม การคัดลอกจากประวัติอีกครั้งทำให้การป้องกันนี้หมดผล
ใช้ขั้นตอนดังต่อไปนี้:
- ตรึงเชน เครือข่าย สินทรัพย์และสัญญาโทเคนที่แน่นอน ประเภทผู้รับ รูปแบบที่อยู่ จำนวน และบันทึกกำกับ แท็ก calldata รุ่น หรือวันหมดอายุ จากแหล่งอิสระที่ผ่านการยืนยัน
- resolve ชื่อหรือ QR เพียงครั้งเดียว ตรวจรูปแบบและเช็กซัม แล้วผูกไบต์ปลายทางทั้งหมดกับเชนที่ตั้งใจใช้ ยืนยันชื่อแบบ reverse ด้วยการ resolve แบบ forward แทนการถือว่าป้ายชื่อคือหลักฐานตัวตน
- เปรียบเทียบปลายทางกับ allowlist ที่ควบคุมได้ สมุดที่อยู่ หรือใบแจ้งหนี้ที่ลงนามไว้ ห้ามใช้ประวัติธุรกรรม และกำหนดให้ผู้รับใหม่หรือผู้รับที่เปลี่ยนสาระสำคัญต้องผ่านการอนุมัติอิสระหรือสองชั้น
- ถอดรหัสธุรกรรมที่ยังไม่ลงนามอย่างครบถ้วน แยกฟิลด์ native
toออกจากสัญญาโทเคนหรือบริดจ์ แล้วตรวจผู้รับ โทเคน จำนวนดิบ การอนุมัติ เส้นตาย และความหมายของปลายทางใน calldata - เมื่อเหมาะสม ให้ส่งจำนวนเล็กน้อยไปยังปลายทางที่ตรึงไว้และขอให้ผู้รับยืนยันอย่างเป็นอิสระ ห้ามคัดลอกที่อยู่จากประวัติอีกครั้งสำหรับการจ่ายหลัก
- ลงนามการโอนหลักจากระเบียนที่ตรวจแล้วเท่านั้น เปรียบเทียบปลายทางเต็มและจำนวนบนจอที่เชื่อถือได้ จากนั้นตรวจใบรับ สัญญาผู้ปล่อย ล็อก และส่วนต่างยอดคงเหลือบนเชนที่ถูกต้อง
- หากสงสัยว่าถูกวางยาพิษหรือส่งผิด ให้หยุดการจ่ายครั้งต่อไป เก็บแฮชและหลักฐาน และรีบติดต่อบริการผู้รับ ผู้ออกสินทรัพย์ หรือหน่วยงานบังคับใช้กฎหมายตามความเหมาะสม โดยถือว่าการอายัด การคืน และการกู้คืนเป็นเพียงความเป็นไปได้ตามเงื่อนไข ไม่ใช่สิ่งรับประกัน
ตัวอย่าง
- การย่อซ่อนความแตกต่าง ที่อยู่จริง
0x12ab1111111111111111111111111111111189efและที่อยู่ผู้โจมตี0x12ab9999999999999999999999999999999989efแสดงผลเหมือนกันเป็น0x12ab...89efทั้งคู่มีอักขระเลขฐานสิบหกที่แสดงตรงกัน4 + 4 = 8ตัว แต่แตกต่างกันในอักขระตรงกลางทั้ง32ตัว การเปรียบเทียบเฉพาะส่วนต้นและท้ายที่แสดงจึงให้ผลตรงกันผิด ส่วนการเปรียบเทียบทุกไบต์ไม่เป็นเช่นนั้น - ภาระงานค้นหา vanity การจับคู่ตัวอักษรฐานสิบหกที่เลือก
k = 8ตัว มีงานคาดหมาย16^8 = 4,294,967,296ตัวเลือก เมื่อสมมติอัตรา50,000,000 candidates/sเวลาคาดหมายคือ4,294,967,296 / 50,000,000 = 85.89934592 sนี่เป็นเพียงภาพของพื้นที่ค้นหา ไม่ใช่เวลาทำงานที่รับประกันหรือเกณฑ์เตือนของกระเป๋าเงินดิจิทัล - ล็อกเทียบกับ state สัญญาโทเคนปล่อย
Transfer(victim, lookalike, 0)ยอดคงเหลือของเหยื่อเปลี่ยนจาก250,000.000000เป็น250,000.000000ดังนั้นส่วนต่างคือ0.000000แต่ตัวทำดัชนีกิจกรรมอาจยังแสดงแถวการโอน ตรวจสัญญาผู้ปล่อยและการอนุญาตการเรียก เพราะแถวเพียงอย่างเดียวไม่ได้พิสูจน์ทั้งการเคลื่อนย้ายมูลค่าหรือลายมือชื่อของเหยื่อ - การทดสอบต้องตรึงปลายทาง คลังวางแผนส่ง
50,000 USDCส่ง1 USDCไปยังที่อยู่ที่ตรวจแล้ว ได้รับคำยืนยันอิสระ แล้วส่ง49,999 USDCจากระเบียนที่ตรึงไว้เดิม:1 + 49,999 = 50,000 USDCหากเจ้าหน้าที่คัดลอกที่อยู่คล้ายกันจากประวัติอีกครั้งสำหรับส่วนที่สอง การทดสอบจะไม่ปกป้องการจ่าย49,999 USDC
ความเสี่ยง
- ผู้ส่งคัดลอกที่อยู่คล้ายกันจากประวัติธุรกรรมที่ถูกวางยาพิษ
- หน้าจอที่ย่อที่อยู่ซ่อนอักขระตรงกลางที่แตกต่าง
- ผู้ใช้เข้าใจว่า vanity prefix หรือ suffix คืออัตลักษณ์ของผู้รับ
- การโอน ERC-20 มูลค่าศูนย์สร้างแถวประวัติที่ทำให้เข้าใจผิด
- โทเคนปลอมหรือล็อกของโทเคนถูกเข้าใจว่าเป็นกิจกรรมของสินทรัพย์หลัก
- ตัวทำดัชนีจำแนกฟิลด์เหตุการณ์ผิดหรือแก้ไขช้าเกินไป
- ชื่อ สัญลักษณ์ หรือไอคอนของโทเคนสแปมปลอมเป็นสินทรัพย์ที่เชื่อถือได้
- มัลแวร์คลิปบอร์ดแทนที่ที่อยู่ที่ตรวจแล้วก่อนลงนาม
- สมุดที่อยู่ในเครื่องหรือที่ซิงค์ถูกวางยาพิษหรือล้าสมัย
- allowlist ผูกเชน สินทรัพย์ บทบาท หรือรุ่นที่อยู่ผิด
- ผู้ใช้เพิกเฉยต่อคำเตือนเช็กซัมที่ไม่ถูกต้องหรือไม่มีเช็กซัม
- ผู้ใช้เข้าใจว่าเช็กซัมที่ถูกต้องเป็นหลักฐานยืนยันตัวตนผู้รับ
- การ resolve ENS เปลี่ยนไป ใช้ชนิดเหรียญผิด หรือล้าสมัย
- มีการแสดงชื่อ reverse โดยไม่ยืนยันแบบ forward
- หลังจ่ายทดสอบมีการคัดลอกใหม่จากแหล่งที่ไม่น่าเชื่อถือ
- ที่อยู่ฝากของศูนย์ซื้อขาย เครือข่าย บันทึกกำกับ หรือแท็กผิดหรือหมดอายุ
- ผู้ใช้เข้าใจปลายทางบริดจ์ พร็อกซี หรือสัญญาและ calldata ที่จำเป็นผิด
- ผู้ลงนามตรวจเฉพาะข้อความที่ย่อ แม้บนอุปกรณ์ฮาร์ดแวร์
- การโอนไปยังผู้รับผิดกลายเป็นข้อมูลหลักของเชนก่อนเข้าแทรกแซง
- เหยื่อพึ่งพาการอายัดตามดุลยพินิจของผู้ออกหรือถูกหลอกซ้ำด้วยการกู้คืน
ความเข้าใจผิดที่พบบ่อย
- การวางยาพิษที่อยู่หมายถึงกระเป๋าเงินดิจิทัล กุญแจ หรือบล็อกเชนถูกเจาะ การโจมตีทั่วไปอาศัยการเลือกผู้รับ ขณะที่วิทยาการเข้ารหัสและฉันทามติที่ถูกต้องดำเนินเจตนาที่ลงนามแต่ผิดปลายทาง
- แถวมูลค่าศูนย์ต้องเป็นธุรกรรมบนเชนปลอม การโอนตามมาตรฐานและล็อกจริงมีมูลค่าศูนย์ได้ ต้องตรวจแหล่งที่มาและผลต่อ state
- ส่วนต้นท้ายที่ตรงกันพร้อมเช็กซัมพิสูจน์ผู้รับ ที่อยู่อื่นที่ถูกต้องอาจมีอักขระที่มองเห็นตรงกันและมีเช็กซัมที่ถูกต้องของตนเอง
- การทดสอบสำเร็จหนึ่งครั้งปกป้องการโอนครั้งถัดไปโดยอัตโนมัติ การป้องกันหมดไปหากการโอนหลักไม่ใช้ปลายทางที่ตรึงและยืนยันไว้เดิม
- กระเป๋าเงินดิจิทัล ผู้ตรวจสอบ หรือผู้ออกโทเคนย้อนการจ่ายได้เสมอ อำนาจกู้คืนและความร่วมมือขึ้นอยู่กับสินทรัพย์ บริการ เขตอำนาจ หลักฐาน และเวลา
หัวข้อที่เกี่ยวข้อง
แหล่งข้อมูล
- Address poisoning scams - MetaMask Help Center (เข้าถึงเมื่อ: 2026-08-13)
- Anatomy of an Address Poisoning Scam - Chainalysis (เข้าถึงเมื่อ: 2026-08-13)
- ERC-20: Token Standard - Ethereum Improvement Proposals (เข้าถึงเมื่อ: 2026-08-13)
- ERC-55: Mixed-case checksum address encoding - Ethereum Improvement Proposals (เข้าถึงเมื่อ: 2026-08-13)
- Transactions - ethereum.org (เข้าถึงเมื่อ: 2026-08-13)
- Resolution - ENS Documentation (เข้าถึงเมื่อ: 2026-08-13)
- Frequently asked questions - ethereum.org (เข้าถึงเมื่อ: 2026-08-13)
- USDC Terms - Circle (เข้าถึงเมื่อ: 2026-08-13)