§ บทความ · พื้นฐาน

มัลแวร์สลับ address ตอน paste — Bitcoin ส่งผิดที่ ทำยังไงต่อ

Paste address Bitcoin แล้วเหรียญไปโผล่ address อื่น? วิธียืนยันว่าโดน clipboard hijack, จัดการเครื่องที่ติดมัลแวร์ และ habit ที่เอาชนะการโจมตีนี้ได้จริง

โดย dont-trust-verify · เผยแพร่ 19 กรกฎาคม 2569

EN version →

คุณ copy address รับเงิน paste ลงไป มองผ่านๆ ว่าถูกแล้ว กดส่ง ตอนนี้ธุรกรรมขึ้น explorer แล้ว แต่ปลายทางคือ address ที่คุณไม่เคยเห็นมาก่อน คุณไม่ได้พิมพ์ผิด — คุณ paste ซึ่งนั่นแหละคือปัญหา: บนเครื่องของคุณ การ paste ไม่ใช่ของคุณอีกต่อไปแล้ว

พูดตรงๆ ก่อนอย่างอื่นทั้งหมด: ถ้าธุรกรรมนั้น confirm แล้ว เหรียญหายไปแล้ว และไม่มีอะไรในหน้านี้เอาคืนมาได้ สิ่งที่หน้านี้ทำได้คือช่วยคุณพิสูจน์ว่าเกิดอะไรขึ้นจริงๆ, ชนะการแข่งในเคสหายากที่ยังพอมีลุ้น, หยุดไม่ให้เครื่องเดิมเอาส่วนที่เหลือไปด้วย และทำให้นี่เป็นครั้งสุดท้ายที่การ paste ทำให้คุณเสียเงิน

TL;DR. หนึ่ง: พิสูจน์ว่าโดนสลับจริง — ดึง address ที่ตั้งใจส่งมาใหม่จากต้นทาง บนอุปกรณ์อีกเครื่อง แล้วเทียบทั้ง string กับ output ของธุรกรรมบน explorer สาธารณะ สอง: ถ้าธุรกรรมยังไม่ confirm และ replace ได้ คุณลอง double-spend เหรียญก้อนเดิมกลับหาตัวเองด้วย fee สูงกว่าได้ — การแข่งที่นับเป็นนาที และห้ามกด “speed up” บนธุรกรรมที่ถูกสลับเด็ดขาด นั่นคือจ่ายให้โจรเร็วขึ้น สาม: เครื่องที่สลับ clipboard ของคุณถูก compromise แล้ว — หยุดทุกกิจกรรม wallet บนมัน กู้เงินที่เหลือจากเครื่องสะอาด แล้ววางแผนลง OS ใหม่ ไม่ใช่แค่สแกน สี่: การสลับ clipboard คือการโจมตีที่จอ hardware wallet เอาชนะได้สมบูรณ์ — ทางแก้คือ habit การ verify ไม่ใช่โชคที่ดีขึ้น

ขั้นแรก — พิสูจน์ว่าโดนสลับจริง

ความตื่นตระหนกอยากข้ามขั้นนี้ อย่าข้าม เคส “address ผมถูกสลับ” จำนวนไม่น้อยกลายเป็นเรื่องอื่น และเรื่องอื่นนั้นมี playbook คนละอัน

  1. เอา transaction ID มา เปิดรายการส่งในประวัติของ wallet แล้ว copy txid — txid เป็นข้อมูลสาธารณะ paste ที่ไหนก็ไม่เปิดเผยอะไรที่ explorer ไม่ได้โชว์อยู่แล้ว
  2. เปิดดูบน explorer สาธารณะ paste txid เข้า mempool.space แล้วดูฝั่ง output: นั่นคือ address ที่เหรียญของคุณไปจริงๆ ตามที่บันทึกบน chain จอ wallet ของคุณโกหกได้ แต่ chain โกหกไม่ได้
  3. ดึง address ที่ตั้งใจส่งมาใหม่ — บนอุปกรณ์อีกเครื่อง กลับไปที่ต้นทางความจริง (หน้า deposit ของ exchange, invoice, ข้อความจากคนที่คุณจะจ่าย) บนมือถือหรือคอมอีกเครื่อง ไม่ใช่เครื่องต้องสงสัย คุณต้องการสำเนา address ที่ถูกต้องที่มัลแวร์ไม่เคยแตะ
  4. เทียบทั้ง string ไม่ใช่แค่ 4 ตัวแรก ไม่ใช่แค่ 4 ตัวท้าย — ทั้งหมด หรืออย่างน้อยก็เป็นช่วงยาวๆ จากหัว กลาง และท้าย clipper ถูกสร้างมาให้รอดสายตาแบบมองผ่าน — ตัวเก่งๆ สลับด้วย address ที่เลือกมาให้เหมือนของคุณทั้งหัวและท้าย ถ้า address ดูเพี้ยนหรือโดนตัดมากกว่าจะดู “ต่างแต่สมบูรณ์” ลองรันผ่าน ตัวเช็ค address ของเราว่ามัน well-formed มั้ย

ผลลัพธ์มีสามแบบ address ตรงกัน: ไม่มีการสลับ — คุณน่าจะเจอปัญหาธุรกรรมค้างหรือช้า ซึ่งเป็นปัญหาที่เบาใจกว่าเยอะ address ต่างกัน แต่ address “ที่ตั้งใจ” เปลี่ยนที่ต้นทางเอง — exchange rotate address ฝากเป็นเรื่องปกติ การเทียบกับหน้า deposit ที่เปิดใหม่อาจหลอกตา ให้เช็คกับ address ที่คุณเห็นตอนนั้นถ้ายังมี address ต่างกันจริง: clipboard ถูก hijack อ่านต่อตามลำดับ

หน้าต่างช่วงยังไม่ confirm — อะไรย้อนได้ อะไรย้อนไม่ได้

เช็คสถานะธุรกรรมบน explorer ฟิลด์เดียวนี้ตัดสินทุกอย่าง

Confirm แล้ว — แม้แค่ครั้งเดียว จบแล้ว และผมจะไม่แกล้งบอกว่าไม่จบ ธุรกรรมที่ wallet ของคุณเซ็นจ่ายเข้า output ของ attacker เครือข่ายฝังมันเรียบร้อย และไม่มี wallet, exchange, รัฐบาล หรือ developer คนไหนดึงคืนได้ อย่าไปตามหาคนที่บอกว่าทำได้: “บริการ recovery crypto” ที่มาตอบเหยื่อคือ scam ชั้นที่สองซ้อนบนชั้นแรก ผมเขียนกลไกของมันละเอียดไว้ใน Bitcoin ถูกขโมย — ต้องทำอะไรตอนนี้ คู่มือนั้นครอบคลุมการแจ้งที่มีประโยชน์จริงด้วย — ตำรวจเพื่อเลขคดี, chainabuse.com เพื่อ tag address ของ attacker, ฝ่าย abuse ของ exchange ถ้าตามรอยแล้วไปจบที่ไหนสักที่ที่มี KYC แจ้งเพื่อ paper trail แล้วเอาแรงมาลงกับ section การจัดการเครื่องข้างล่าง เพราะเครื่องที่ทำเรื่องนี้กับคุณยังเปิดอยู่

ยังไม่ confirm มีทางเลือกจริงแต่แคบ และผมอยากพูดให้เป๊ะว่ามันคืออะไร คุณ “แก้ไข” ธุรกรรมไม่ได้ — มันถูกเซ็นสมบูรณ์แล้วและปลายทางตายตัว สิ่งที่ Bitcoin อนุญาตคือ การแทนที่: broadcast ธุรกรรมใหม่ที่ใช้เหรียญก้อนเดียวกัน จ่ายกลับเข้า address ที่คุณควบคุม พร้อมแนบ fee สูงกว่าให้ miner เลือกอันใหม่แทน ถ้า wallet ของคุณตั้งธุรกรรมเดิมเป็น replaceable (RBF — wallet สมัยใหม่ส่วนใหญ่เปิดเป็นค่า default) ฟังก์ชัน cancel/replace ของ wallet ทำสิ่งนี้พอดี paste txid เข้า ตัวเช็คธุรกรรมค้าง ของเราเพื่อดูสถานะและดูว่ามัน signal RBF มั้ย

คำเตือนตรงๆ สองข้อก่อนลอง ข้อแรก ห้ามกด “speed up” หรือ “bump fee” บนธุรกรรมที่ถูกสลับเด็ดขาด — นั่นคือ broadcast การจ่ายเงินให้ attacker ซ้ำด้วย fee สูงขึ้น สิ่งที่คุณต้องการคือ cancel-and-return ไม่ใช่การเร่ง ข้อสอง จำไว้ว่าคุณกำลังพิมพ์อยู่บนเครื่องไหน: การแทนที่ต้องสร้างบน wallet ที่ถือ key ของคุณ และถ้านั่นคือเครื่องที่ติดเชื้อ มัลแวร์ก็สลับ address ขากลับได้อีกเหมือนกัน — verify ปลายทางของธุรกรรมแทนที่บนจอ hardware wallet เทียบกับสำเนาจากเครื่องสะอาด หรือไล่เช็คทีละตัวอักษรกับสำเนาสะอาดนั้น และตั้งความคาดหวังให้ตรงความจริง: การ confirm ใช้เวลาหนึ่ง block — เฉลี่ยราวสิบนาที — เพราะฉะนั้นถ้าคุณไม่ได้จับได้เกือบจะทันที การแข่งนี้น่าจะจบไปก่อนคุณรู้ว่ามันเริ่ม การแพ้คือผลลัพธ์ปกติ นั่นไม่ใช่การยอมแพ้ — มันคือเหตุผลว่าทำไมส่วนที่เหลือของหน้านี้สำคัญกว่า

คอมของคุณคือศัตรูแล้วตอนนี้ — การจำกัดความเสียหาย

Clipboard swap ที่ยืนยันแล้วคือหลักฐานว่ามี code รันอยู่บนเครื่องคุณ ไม่ใช่ “อาจจะติด” — พิสูจน์แล้ว ซอฟต์แวร์ของคนอื่นกำลังรันด้วยสิทธิ์มากพอจะอ่านและเขียนทับทุกอย่างที่คุณ copy จากวินาทีนี้ ให้ถือว่าทุกอย่างที่คอมเครื่องนั้นแสดงให้คุณเห็นอาจเป็นเท็จ

  1. หยุดทุกกิจกรรม wallet บนเครื่องนั้น ไม่ส่ง ไม่ generate address ไม่ “แค่เช็คยอด” ไม่โหลดเครื่องมือ cleanup ที่มันแนะนำ ทุก address ที่มันโชว์และทุก string ที่คุณ paste บนมันเชื่อไม่ได้ทั้งหมด
  2. สำรวจว่าเครื่องนั้นเอื้อมถึงอะไรบ้าง ข้อนี้ตัดสินว่าสัปดาห์คุณจะแย่แค่ไหน ถ้ามี software (hot) wallet อยู่บนคอมนั้น ให้ assume ว่า seed หลุดแล้ว — clipper มากับ loader เดียวกับ infostealer และคุณ audit ไม่ได้ว่าผู้โดยสารคนไหนมาถึงบ้าง ย้ายที่เหลือไป seed ใหม่ทั้งชุด ทำจากเครื่องสะอาด ตาม triage ใน seed phrase ของคุณหลุดหรือยัง ถ้า key อยู่บน hardware wallet หายใจได้: seed ไม่เคยแตะ host ที่ติดเชื้อเลยและปลอดภัย แค่ตัวเครื่องเชื่อคอมนั้นในฐานะจอแสดงผลไม่ได้อีกแล้ว — ซึ่งอย่างที่เดี๋ยวจะเห็น มันไม่เคยจำเป็นต้องเชื่ออยู่แล้ว
  3. ย้ายเงินที่เหลือจากเครื่องสะอาด คอมอีกเครื่อง มือถือ wallet ใหม่ — อะไรก็ได้ที่การติดเชื้อไม่เคยแตะ ถ้าจำเป็นต้องรีบติดตั้ง wallet ให้ verify checksum ของ installer เทียบ hash ที่ผู้ผลิตเผยแพร่ด้วย ตัวเช็ค wallet ของเราก่อน — คนที่รีบโหลด wallet คือเป้าหมายพอดีของแคมเปญ installer ปลอม
  4. เปลี่ยน credential จากเครื่องสะอาดด้วย รหัส exchange, อีเมล, master password ของ password manager พูดตรงๆ: ผมไม่มีทางรู้ว่า clipper ตัวที่คุณเจอมัดรวมอะไรมาอีกบ้าง และคุณก็ไม่รู้ — นั่นแหละประเด็น ให้ assume ว่าข้อความที่ผ่านเครื่องนั้นถูกอ่านได้
  5. วางแผนลง OS ใหม่ ผลสแกน antivirus ที่ออกมาสะอาดบอกได้แค่ว่า scanner ของคุณหาไม่เจอ — มันบอกไม่ได้ว่าเครื่องสะอาด และธุรกรรมที่ถูกสลับ out-vote มันไปเรียบร้อยแล้ว ทางแก้ที่ตรงที่สุดคือทางที่น่าเบื่อที่สุด: backup ไฟล์ส่วนตัว (เอกสาร รูป — ไม่เอาโปรแกรม ไม่เอา installer) wipe ดิสก์ ลง OS จากสื่อทางการ แล้วสร้างใหม่ อะไรที่น้อยกว่านี้คือการเลือก “น่าจะโอเค” มาเป็นฐานรองเงินของคุณ

กลไกการสลับ — และ habit ที่เอาชนะมัน

รู้กลไกแล้วการป้องกันจะชัดขึ้นเอง clipper ทำสามอย่างเล็กๆ: เฝ้า clipboard, จับ pattern อะไรก็ตามที่หน้าตาเหมือน address คริปโต — format ของ Bitcoin จับง่ายมาก string ที่ขึ้นต้นด้วย 1, 3 หรือ bc1 — แล้วสลับเป็น address ของ attacker ก่อนคุณ paste มัลแวร์ตระกูลนี้เก่าและน่าเบื่อ: มี clipper ที่ถูกบันทึกไว้ย้อนไปอย่างน้อยปี 2017 และมันอยู่มาได้เพราะมันยังได้ผล

ส่วนที่อึดอัดคือมันเอาชนะคำแนะนำมาตรฐานได้ดีแค่ไหน “เช็คตัวอักษรหน้าๆ กับท้ายๆ” คือ habit ที่พวกเราส่วนใหญ่ถูกสอนมา และ attacker ก็รู้: kit ตัวเก่งๆ พกคลัง address ขนาดใหญ่ที่ generate ไว้ล่วงหน้า แล้วเลือกตัวที่ match ของคุณที่สุดทั้งหัวและท้าย การ generate address ที่เลือก prefix เองได้นั้นถูกมาก — ตัว generate vanity address ของเราสาธิตเทคนิคนี้ใน browser ของคุณเอง — และกับ address แบบ bech32 ไพ่ยิ่งถูกจัดเรียงให้โจร เพราะ address SegWit บน mainnet ทุกอัน ขึ้นต้นด้วย bc1q หรือ bc1p ตัวอักษรที่สายตาคุณพักอยู่ คือตัวอักษรที่ attacker ได้ฟรีพอดี

habit ที่ได้ผลจริงเลยมีสองชั้น:

ทำให้การ paste ครั้งหน้าน่าเบื่อ — ชุดป้องกัน

พอเครื่องถูกสร้างใหม่และเงินอยู่บน setup ใหม่แล้ว สาม habit นี้ทำให้การโจมตีนี้เกษียณถาวร:

FAQ

Reverse ธุรกรรม Bitcoin ที่ส่งไป address ผิดได้มั้ย?

ไม่ได้ — ธุรกรรมที่ confirm แล้วเป็นที่สิ้นสุด โดย design สำหรับทุกคน ข้อยกเว้นแคบๆ คือธุรกรรมที่ยังไม่ confirm และ replace ได้ ซึ่งคุณลอง double-spend กลับหาตัวเองด้วย fee สูงกว่าได้ การแข่งนั้นนับเป็นนาทีและส่วนใหญ่แพ้ไปแล้ว ใครเสนอตัว reverse ธุรกรรมที่ confirm แล้วโดยเก็บเงิน คือ recovery scammer

มัลแวร์เปลี่ยน address ที่ผม copy ได้ยังไง?

clipper เฝ้า clipboard จับ pattern format ของ address Bitcoin แล้วสลับเป็น address ของ attacker ก่อนคุณ paste — บ่อยครั้งเป็นอันที่คัดมาแล้วให้เหมือนของคุณตรงหัวกับท้าย มันไม่ต้องใช้รหัสผ่าน ไม่ต้องใช้ key แค่ต้องการให้คุณเชื่อใจการ paste

Antivirus จับ clipboard hijacker ได้มั้ย?

ไม่น่าเชื่อถือพอ clipper ตัวเล็ก ถูก recompile ไม่รู้จบ และมักมากับซอฟต์แวร์ที่ผู้ใช้เลือกรันเอง ผลสแกนสะอาดพิสูจน์แค่ว่า scanner หาไม่เจอ — ธุรกรรมที่ถูกสลับพิสูจน์ไปแล้วว่าเครื่องถูก compromise เชื่อธุรกรรม

Seed phrase ผมโดนขโมยไปด้วยมั้ย?

ถ้ามี hot wallet บนเครื่องที่ติดเชื้อ: assume ว่าใช่ แล้วย้ายไป seed ใหม่จากเครื่องสะอาด ถ้า key อยู่บน hardware wallet: seed ไม่เคยแตะคอมนั้น — มัลแวร์ทำได้แค่โกหกเรื่อง address ซึ่งจอของตัวเครื่องจับได้

จะกลับมาใช้คอมเครื่องนี้อย่างปลอดภัยได้ยังไง?

backup เฉพาะไฟล์ส่วนตัว wipe ดิสก์ ลง OS ใหม่จากสื่อทางการ แล้วติดตั้งโปรแกรมใหม่จาก source ทางการพร้อม verify checksum การสแกนกับเครื่องมือ removal พิสูจน์ negative ไม่ได้ — การสร้างใหม่ไม่ต้องพิสูจน์

ทำไมจอ hardware wallet ถึงหยุดการโจมตีนี้ได้?

ตัวเครื่องโชว์ปลายทางที่มันกำลังจะเซ็นจริงๆ คำนวณข้างใน — คอมที่ถูก compromise แก้ไขมันไม่ได้ อ่านจอแล้วการสลับ clipboard ไม่เหลือที่ซ่อน เพราะต้นทางที่คุณ copy มายังโชว์ address จริงอยู่ (ถ้าจอต้นทางเองก็อาจถูกแก้ ให้เทียบจอเครื่องกับสำเนาที่ดึงจากอุปกรณ์สะอาด) มันคือการโจมตีที่ hardware wallet เอาชนะได้สมบูรณ์

อ่านต่อ