Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบเครือข่าย >> ความปลอดภัยเครือข่าย

Replay Attack (การโจมตีแบบเล่นซ้ำ) ใน Cybersecurity คืออะไร?

Replay Attack คืออะไร?

Replay Attack (การโจมตีแบบเล่นซ้ำ) เป็นการโจมตีทางไซเบอร์ที่ โจมตี **ขโมยข้อมูลการสื่อสารที่ถูกต้อง (Legitimate Communication)** แล้ว **ส่งซ้ำ (Replay/Resend)** ไปยังผู้รับ เพื่อหลอกให้ระบบคิดว่านั้นคือคำขอที่ถูกต้องและดำเนินการตาม

Replay Attack เป็น Man-in-the-Middle (MitM) Attack หรือไม่?

ใช่ เป็นรูปแบบหนึ่งของ MitM** Replay Attack เกิดขึ้นเมื่อโจมตีอยู่กลางทาง (Man-in-the-Middle) จับแพ็กเก็ตข้อมูล เก็บไว้ และส่งซ้ำในภายหลัง แตกต่างจาก MitM ทั่วไปที่อาจแก้ไขข้อมูล (Tampering) Replay Attack **ส่งข้อมูลเดิมซ้ำโดยไม่แก้ไข**

Session Replay Attack คืออะไร?

โจมตี Session Replay: โจมตีขโมย **Session ID** (เก็บใน Cookie, URL, หรือ Form Field) ของผู้ใช้ที่ล็อกอินอยู่ แล้วนำ Session ID นั้นไปใช้แทนตัวผู้ใช้ (Session Hijacking) ขั้นตอน:

  1. จับแพ็กเก็ตที่มี Session ID (Sniffing)
  2. นำ Session ID ไปใช้ใน Request ใหม่
  3. เซิร์ฟเวอร์ยอมรับเพราะ Session ID ถูกต้องและยังไม่หมดอายุ

ตัวอย่าง Replay Attack

ตัวอย่าง 1: การโอนเงินธนาคาร

1. Alice ส่งคำขอ: "Transfer $100 to Bob" (Signed + Encrypted)
2. Attacker จับแพ็กเก็ตนี้ได้ (MitM)
3. Attacker ส่งแพ็กเก็ตเดิมซ้ำอีก 10 ครั้ง
4. Bank ประมวลผล 10 ครั้ง → Alice เสีย $1,000

ตัวอย่าง 2: Authentication Replay

1. User ล็อกอิน ส่ง Username + Password Hash
2. Attacker จับ Hash ได้
3. Attacker ส่ง Hash เดิมซ้ำ → เข้าสู่ระบบเป็น User ได้ (ถ้าไม่มี Nonce/Timestamp)

ตัวอย่าง 3: Keyless Entry (รถยนต์)

โจมตีจับสัญญาณ Key Fob (Rolling Code) ส่งซ้ำเพื่อปลดล็อกรถ (RollJam Attack)

Suppress-Replay Attack คืออะไร?

โจมตี **จับแพ็กเก็ต ปิดกั้นไม่ให้ถึงปลายทาง (Suppress)** แล้ว **ส่งซ้ำในภายหลัง (Replay)** เมื่อเวลาผ่านไป ทำให้ระบบคิดว่าเป็นคำขอใหม่ ที่มาถึงในเวลาที่ผิดปกติ

Replay Attack vs Man-in-the-Middle Attack

ด้าน Replay Attack Man-in-the-Middle (MitM)
การกระทำ จับ → เก็บ → ส่งซ้ำ (เดิมๆ) จับ → อาจอ่าน/แก้ไข/บล็อก/ส่งต่อ
ข้อมูล ไม่เปลี่ยนแปลงข้อมูล อาจแก้ไขข้อมูล (Tampering)
ความสัมพันธ์ เป็น **ย่อยชนิด (Subset)** ของ MitM เป็นหมวดใหญ่ (Umbrella Term)

วิธีป้องกัน Replay Attack (Mitigation)

วิธีการ หลักการ
Nonce (Number Used Once) ค่าสุ่มใช้ครั้งเดียวต่อ Session/Transaction เซิร์ฟเวอร์ปฏิเสธ Nonce ซ้ำ
Timestamp ตรวจสอบเวลาในคำขอ ปฏิเสธคำขอเก่าเกินกว่า Threshold (เช่น 5 นาที)
Session ID / Token Binding ผูก Token กับ Session/Device/IP เปลี่ยน Session ID หลายครั้ง (Rotation)
Challenge-Response เซิร์ฟเวอร์ส่ง Challenge (สุ่ม) Client ต้องคำนวณ Response ใหม่ทุกครั้ง
Sequence Numbers หมายเลขลำดับใน Protocol (เช่น TCP Seq, TLS Record Sequence)
One-Time Passwords (OTP) รหัสผ่านใช้ครั้งเดียว (TOTP, HOTP, SMS OTP, Push Notification)
Message Authentication Code (MAC) HMAC / CMAC - รับรองความสมบูรณ์และต้นทาง + Replay Protection

Replay Attack ใน Biometric ( 생체인식 )

โจมตีขโมย **Biometric Template** (นิ้วมือ, ใบหน้า, เสียง, ตา) แล้วนำมา **Replay ให้เซ็นเซอร์** เพื่อปลดล็อกระบบ ตัวอย่าง: พิมพ์นิ้วมือปลอม, ใบหน้า 3D Mask, 錄音重放 (Voice Replay) การป้องกัน: **Liveness Detection** (ตรวจจับชีวิต - การกระพริบ, การเคลื่อนไหว, อุณหภูมิ, 3D Depth)

Replay Authentication คืออะไร?

กลไกการยืนยันตัวตนที่ **ป้องกัน Replay Attack** โดยใช้ Authenticator Output ที่ **ใช้ได้ครั้งเดียวต่อการยืนยันตัวตนแต่ละครั้ง** (Single-use) เช่น OTP, Challenge-Response, FIDO2/WebAuthn

เครื่องมือทดสอบ Replay Attack

  • Wireshark - Capture และ Replay Packets (แก้ไข/ส่งซ้ำ)
  • Burp Suite Repeater - Replay HTTP Requests
  • tcpreplay - Replay PCAP Files บนเครือข่าย
  • Metasploit - Modules สำหรับ Replay Attacks

สรุป: จุดสำคัญของ Replay Attack

  • โจมตี **ไม่ต้องถอดรหัส (Decrypt)** - ส่งข้อมูลเข้ารหัสเดิมซ้ำก็ทำงานได้
  • โจมตีได้ทั้ง **Authentication, Financial Transactions, API Calls, IoT Commands**
  • ป้องกันได้ด้วย **Nonce, Timestamp, Challenge-Response, OTP, Sequence Numbers**
  • เป็นส่วนหนึ่งของ **MITM Attacks** - ต้องรักษาความปลอดภัยช่องทางการสื่อสาร (TLS, VPN, Encrypted Channels)
  • Biometric Replay ต้องมี **Liveness Detection**