Man-in-the-Middle Attack คืออะไร? วิธีป้องกันการดักฟังข้อมูลบนเครือข่าย

Man-in-the-Middle Attack คืออะไร?

Man-in-the-Middle Attack (MITM) คือการโจมตีที่ผู้ไม่ประสงค์ดีแทรกตัวอยู่ระหว่างการสื่อสารของสองฝ่าย ทำให้สามารถดักฟัง ขโมย หรือแก้ไขข้อมูลที่ส่งผ่านกันได้โดยที่ทั้งสองฝ่ายไม่รู้ตัว เปรียบเหมือนบุรุษไปรษณีย์ที่เปิดอ่านจดหมายก่อนส่ง แล้วปิดผนึกใหม่ให้เหมือนเดิม

ประเภทของ Man-in-the-Middle Attack

ประเภทการโจมตี วิธีการ เป้าหมายหลัก
SSL Stripping แปลง HTTPS เป็น HTTP ก่อนส่งถึงเหยื่อ ข้อมูล Login, รหัสผ่าน
ARP Spoofing ปลอม ARP Reply เพื่อเบี่ยงเบน Traffic ในเครือข่าย LAN Traffic ในเครือข่ายภายใน
DNS Spoofing ปลอมคำตอบ DNS เพื่อนำไปยัง IP ที่ผิด ผู้ใช้ทุกคนในเครือข่าย
Wi-Fi Eavesdropping ตั้ง Hotspot ปลอมล่อเหยื่อเชื่อมต่อ ผู้ใช้ Wi-Fi สาธารณะ
BGP Hijacking ประกาศ Route ปลอมเพื่อเบี่ยง Internet Traffic ระดับ ISP/เครือข่ายขนาดใหญ่
Session Hijacking ขโมย Session Token หลังการ Login Session ที่ยังเปิดอยู่

ขั้นตอนการโจมตี MITM แบบ ARP Spoofing

  1. ผู้โจมตีเชื่อมต่อกับเครือข่ายเดียวกับเหยื่อ (เช่น Wi-Fi เดียวกัน)
  2. ส่ง ARP Reply ปลอมไปยังเหยื่อ ระบุว่า MAC Address ของผู้โจมตีคือ Gateway
  3. ส่ง ARP Reply ปลอมไปยัง Gateway ระบุว่า MAC Address ของผู้โจมตีคือเหยื่อ
  4. Traffic ทั้งหมดของเหยื่อจะผ่านอุปกรณ์ของผู้โจมตีก่อน
  5. ผู้โจมตีดักฟัง แก้ไข หรือบันทึกข้อมูลได้ตามต้องการ

วิธีป้องกัน Man-in-the-Middle Attack

1. ใช้งาน HTTPS เสมอ และตรวจสอบ Certificate

เว็บไซต์ที่ใช้ HTTPS จะเข้ารหัสข้อมูลระหว่างเบราว์เซอร์และ Server ทำให้การดักฟังได้ยากขึ้น ควรตรวจสอบว่า Certificate ถูกต้องและออกโดย CA ที่เชื่อถือได้ ไม่ควรเพิกเฉยต่อ Certificate Warning ใดๆ

2. เปิดใช้ HTTP Strict Transport Security (HSTS)

HSTS บังคับให้ Browser เชื่อมต่อเฉพาะผ่าน HTTPS เท่านั้น ป้องกัน SSL Stripping Attack ที่พยายามลดระดับการเชื่อมต่อลงเป็น HTTP สามารถตั้งค่าได้ผ่าน Web Server Header:

# Apache
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"

# Nginx
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;

3. ใช้ VPN บนเครือข่ายสาธารณะ

VPN เข้ารหัส Traffic ทั้งหมดระหว่างอุปกรณ์และ VPN Server ทำให้แม้จะมีผู้ดักฟังในเครือข่ายเดียวกัน ก็ไม่สามารถอ่านข้อมูลได้ เหมาะสำหรับการใช้งาน Wi-Fi สาธารณะหรือเครือข่ายที่ไม่น่าเชื่อถือ

4. เปิดใช้ Certificate Pinning

Certificate Pinning ทำให้แอปพลิเคชันยอมรับเฉพาะ Certificate ที่กำหนดไว้เท่านั้น ป้องกันการโจมตีที่ใช้ Certificate ปลอมจาก Rogue CA ใช้มากในแอปธนาคารและบริการที่ต้องการความปลอดภัยสูง

5. เปิดใช้ Dynamic ARP Inspection (DAI) บน Switch

DAI ตรวจสอบ ARP Packet ทุกตัวว่าตรงกับ DHCP Snooping Binding Table หรือไม่ หาก ARP ไม่ตรงกับการ Binding ที่รู้จัก Switch จะบล็อค Packet นั้น ป้องกัน ARP Spoofing ได้อย่างมีประสิทธิภาพ

6. ใช้ Multi-Factor Authentication (MFA)

แม้ผู้โจมตีจะดักฟัง Username/Password ได้ แต่หากมี MFA ก็ยังไม่สามารถเข้าถึงบัญชีได้ เนื่องจากต้องการรหัสยืนยันเพิ่มเติมที่เปลี่ยนแปลงทุกครั้ง

สัญญาณเตือนว่าอาจกำลังถูกโจมตี MITM

  • Browser แจ้งเตือน Certificate ไม่ถูกต้องหรือหมดอายุ
  • การเชื่อมต่อช้าลงโดยไม่มีสาเหตุ เนื่องจากข้อมูลต้องผ่านตัวกลาง
  • ถูก Logout จากระบบโดยไม่ได้กระทำ หรือพบ Session ที่ผิดปกติ
  • ได้รับ Email หรือข้อความที่มีเนื้อหาที่คุณไม่เคยส่ง (Session Hijacking)
  • URL แสดง HTTP แทน HTTPS บนเว็บไซต์ที่ปกติใช้ HTTPS

การป้องกัน MITM สำหรับ Cloud VPS และ Server

  • บังคับใช้ TLS 1.2 หรือสูงกว่า และปิดใช้งาน TLS เวอร์ชันเก่า (TLS 1.0, 1.1, SSL)
  • ใช้ Strong Cipher Suite และปิด Weak Cipher ที่ถูกโจมตีได้ง่าย
  • ตั้งค่า HSTS Preload เพื่อให้ Browser จำการตั้งค่า
  • ใช้ Mutual TLS (mTLS) สำหรับการสื่อสารระหว่าง Microservices
  • ตรวจสอบ Certificate Expiry และตั้ง Auto-Renew ด้วย Let’s Encrypt หรือ Certbot
  • Monitor Network Traffic ด้วย IDS/IPS เพื่อตรวจจับ ARP Spoofing

สรุป

Man-in-the-Middle Attack เป็นภัยคุกคามที่อันตรายเพราะเหยื่อมักไม่รู้ตัวว่าถูกโจมตี การป้องกันที่ดีที่สุดคือการใช้ HTTPS, HSTS, VPN บนเครือข่ายสาธารณะ และ MFA ร่วมกัน สำหรับ Cloud VPS และ Server ควรบังคับใช้ TLS เวอร์ชันใหม่และ Monitor Network Traffic อย่างสม่ำเสมอเพื่อตรวจจับความผิดปกติ