ข้ามไปยังเนื้อหา

การโจมตีแบบ Dust

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

อัปเดต

เพื่อการศึกษาเท่านั้น ไม่ใช่คำแนะนำด้านการลงทุน สินทรัพย์ที่ไม่ได้ร้องขออาจสร้างความเสี่ยงด้านความเป็นส่วนตัว ฟิชชิง และธุรกรรม และการดำเนินการบนเชนอาจย้อนกลับไม่ได้

คำตอบโดยตรง

การโจมตีแบบ Dust ส่งเอาต์พุตหรือสินทรัพย์มูลค่าต่ำที่ผู้รับไม่ได้ร้องขอไปยังที่อยู่เป้าหมาย บนเชนแบบ UTXO ผู้โจมตีอาจเฝ้าดูว่ากระเป๋าเงินนำเอาต์พุตเหล่านั้นไปใช้ร่วมกับเหรียญอื่นในภายหลังหรือไม่ แล้วใช้หลักฐานดังกล่าวจัดกลุ่มที่อยู่ บนเชนแบบบัญชี โทเค็นหรือ NFT ที่ไม่คุ้นเคยมักเป็นสแปมหรือเหยื่อล่อให้เข้าเว็บไซต์ อนุมัติสัญญา หรือคัดลอกที่อยู่หลอกลวง

การได้รับ Dust เพียงอย่างเดียวไม่เปิดเผย Seed Phrase คีย์ส่วนตัว หรืออำนาจในการลงนาม ความเสี่ยงเกิดจากสิ่งที่ทำต่อไป กล่าวคือ การเลือกเหรียญอัตโนมัติอาจสร้างความเชื่อมโยงสาธารณะระหว่าง UTXO ส่วนการคลิก ลงนาม อนุมัติ แลกเปลี่ยน หรือส่งคืนสินทรัพย์ที่ไม่คุ้นเคยอาจก่อให้เกิดผลกระทบด้านความปลอดภัยหรือความเป็นส่วนตัว

คำว่า “Dust” มีความหมายเชิงนโยบายที่แคบกว่าใน Bitcoin Core โดย GetDustThreshold ประเมินว่าค่าใช้จ่ายในการใช้เอาต์พุตที่ dustRelayFee จะสูงกว่ามูลค่าของเอาต์พุตหรือไม่ ผลลัพธ์ขึ้นอยู่กับสคริปต์เอาต์พุตและอินพุตที่คาดว่าจะใช้จ่าย จึงไม่มีจำนวนเหรียญสากลที่กำหนด Dust สำหรับทุกเชนหรือเอาต์พุตทุกประเภท

นโยบายการถ่ายทอดและกฎฉันทามติเป็นคนละชั้นกัน โหนดมาตรฐานอาจปฏิเสธการถ่ายทอดเอาต์พุต Dust ตามนโยบายภายใน แม้เอาต์พุตที่อยู่ในบล็อกที่ถูกต้องแล้วจะยังเป็นส่วนหนึ่งของชุด UTXO และใช้จ่ายได้หากธุรกรรมภายหลังจ่ายค่าธรรมเนียมที่ยอมรับได้

วิธีการทำงาน

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

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

เชนแบบบัญชีไม่ได้รวม UTXO ด้วยวิธีนี้ แต่ทุกคนยังสามารถส่งสกุลเงิน Native โอนโทเค็น สร้าง NFT หรือทำให้สัญญาปล่อยอีเวนต์ที่ทำให้เข้าใจผิด กระเป๋าเงินหรือตัวทำดัชนีอาจแสดงผลลัพธ์ แต่ชื่อ สัญลักษณ์ ไอคอนของโทเค็น หรือยอดคงเหลือที่แสดงไม่ได้ยืนยันตัวสัญญาหรือพิสูจน์มูลค่าทางเศรษฐกิจ คำถามเพื่อการป้องกันคือผู้ใช้อนุญาต Call ลายเซ็น หรือ Allowance ใดในภายหลังหรือไม่

ใช้ขั้นตอนตอบสนองต่อไปนี้:

  1. อย่าคลิก URL ตอบกลับ ส่งคืน แลกเปลี่ยน เผา หรืออนุมัติรายการที่ไม่คุ้นเคยเพียงเพื่อเอาออกจากหน้าจอ
  2. บันทึกเชน แฮชธุรกรรม ดัชนีเอาต์พุตหรือสัญญาสินทรัพย์ ผู้ส่ง จำนวน และการแสดงผลของกระเป๋าเงินก่อนเปลี่ยนแปลงสิ่งใด
  3. แยก UTXO ออกจากการโอน Native โทเค็น NFT การอนุมัติ หรือบันทึกที่มีเพียงอีเวนต์ เพราะแต่ละประเภทมีสถานะและวิธีแก้ไขต่างกัน
  4. สำหรับ UTXO ให้ตรวจสอบการเลือกเหรียญและใช้ Coin Control หรือฟังก์ชันล็อกของกระเป๋าเงินที่เชื่อถือได้ เพื่อไม่ให้เอาต์พุตถูกเลือกอัตโนมัติ ใน Bitcoin Core คำสั่ง lockunspent สามารถกันเอาต์พุตที่ระบุออกได้ ส่วนการคงอยู่ของการล็อกขึ้นอยู่กับตัวเลือกที่ใช้
  5. สำหรับกระเป๋าเงินแบบบัญชี ให้ซ่อนสแปมหากทำได้ และตรวจสอบเชนพร้อมที่อยู่สัญญาฉบับเต็มก่อนกำหนดราคาหรือดำเนินการใด
  6. หากใช้เว็บไซต์ ลายเซ็น หรือสัญญาไปแล้ว ให้ตรวจสอบข้อมูลที่ลงนามอย่างละเอียดและ Allowance ปัจจุบัน เพิกถอนสิทธิ์ที่เป็นอันตรายผ่านอินเทอร์เฟซที่เชื่อถือได้ และย้ายสินทรัพย์ที่เหลือเฉพาะเมื่อการรั่วไหลของคีย์หรืออำนาจที่ยังคงอยู่ทำให้จำเป็น
  7. รับที่อยู่ปลายทางการชำระเงินทุกครั้งจากแหล่งที่ยืนยันตัวตนแล้ว และเปรียบเทียบที่อยู่ฉบับเต็มบนจอแสดงผลที่เชื่อถือได้ ประวัติธุรกรรมไม่ใช่สมุดที่อยู่

ตัวอย่าง

  • ผู้ใช้รับเงินบริจาคสาธารณะที่ที่อยู่ A และเก็บเงินออมไว้ที่ที่อยู่ B ผู้สังเกตการณ์รู้อยู่แล้วว่า A เป็นของผู้ใช้ แต่ไม่รู้ว่าใครควบคุม B
  • ผู้โจมตีส่ง 600 sats ไปยัง A และ 600 sats ไปยัง B ต่อมากระเป๋าเงินเลือก 20,000 sats ของ A, 50,000 sats ของ B และเอาต์พุตขนาดเล็กทั้งสองในธุรกรรมเดียวที่จ่าย 60,000 sats บวกค่าธรรมเนียม
  • รูปแบบอินพุตร่วมให้หลักฐานแก่ผู้สังเกตการณ์ว่า A และ B อาจถูกควบคุมร่วมกัน ทำให้ประวัติเงินออมที่เชื่อมกับ B ถูกเปิดเผย แต่ยังไม่ได้พิสูจน์ด้วยการเข้ารหัสว่าคนคนเดียวเป็นเจ้าของทั้งสองที่อยู่
  • หากกระเป๋าเงินรองรับ Coin Control ผู้ใช้สามารถติดป้ายและล็อกเอาต์พุต 600 sats ทั้งสองแทนได้ การแช่แข็งไม่ได้ลบธุรกรรม แต่ป้องกันการเลือกอัตโนมัติตราบเท่าที่การล็อกยังมีผล

ความเสี่ยง

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

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

การรับโดยไม่ได้ดำเนินการเพียงอย่างเดียวไม่ใช่หลักฐานว่ากระเป๋าเงินถูกเจาะระบบ ให้ยกระดับการตอบสนองตามอำนาจหรือพฤติกรรมจริง ได้แก่ ลายเซ็น Allowance หรือ Contract Call ที่ไม่รู้จัก อุปกรณ์เปลี่ยนไป Recovery Phrase รั่วไหล หรือธุรกรรมขาออกที่ไม่ได้รับอนุญาต ซึ่งแตกต่างอย่างมีนัยสำคัญจากบันทึกขาเข้าที่ไม่ได้ร้องขอ

ความเข้าใจผิดที่พบบ่อย

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

หัวข้อที่เกี่ยวข้อง

แหล่งที่มา

การนำทาง

ค้นหาในวิกิ...