บทนำ
ในยุคดิจิทัลที่การเชื่อมต่ออินเทอร์เน็ตไร้สายกลายเป็นส่วนสำคัญของชีวิตประจำวัน ความปลอดภัยของเครือข่าย Wi-Fi จึงเป็นสิ่งที่ไม่ควรมองข้าม Wireless Equivalent Privacy หรือ WEP เป็นมาตรฐานความปลอดภัยยุคแรกที่ถูกออกแบบมาเพื่อรักษาความลับของข้อมูลบนเครือข่ายไร้สาย แต่ด้วยข้อจำกัดและข้อบกพร่องในการออกแบบ ทำให้ WEP กลายเป็นมาตรฐานที่ล้าสมัยและไม่ปลอดภัยอย่างยิ่งในปัจจุบัน แม้ว่า WEP จะไม่ถูกใช้งานอย่างแพร่หลายแล้ว แต่การทำความเข้าใจถึงวิธีการโจมตี WEP ยังคงมีความสำคัญอย่างยิ่งสำหรับผู้เชี่ยวชาญด้านความปลอดภัย นักทดสอบการเจาะระบบ (Penetration Testers) และนักวิเคราะห์ดิจิทัล เพื่อเป็นบทเรียนในการออกแบบและประเมินความปลอดภัยของระบบในอนาคต บทความนี้จะเจาะลึกถึงหลักการทำงานของ WEP, ข้อบกพร่องที่นำไปสู่การโจมตี, เทคนิคการโจมตีที่สำคัญ พร้อมด้วยตัวอย่างคำสั่ง และแนวทางปฏิบัติที่ดีที่สุดในการป้องกันตัวเองจากช่องโหว่ประเภทนี้
เนื้อหาหลัก: WEP Encryption: วิธีการโจมตี WEP
WEP ถูกสร้างขึ้นในปี 1997 โดยมีวัตถุประสงค์เพื่อให้การเชื่อมต่อไร้สายมีความปลอดภัยเทียบเท่ากับการเชื่อมต่อแบบมีสาย (wired equivalent) โดยใช้ประโยชน์จากอัลกอริทึมการเข้ารหัสแบบสตรีม (stream cipher) ที่เรียกว่า RC4 (Rivest Cipher 4) หลักการทำงานของ WEP คือการนำคีย์ลับที่กำหนดไว้ล่วงหน้า (WEP Key) มาผสมกับ Initialization Vector (IV) ขนาด 24 บิต เพื่อสร้างคีย์สตรีม (Keystream) จากนั้นจึงนำคีย์สตรีมนี้ไปทำการ XOR กับข้อมูลเพลนเท็กซ์ (plaintext) เพื่อให้ได้ข้อมูลที่เข้ารหัสแล้ว (ciphertext)
โครงสร้างและการทำงานของ WEP
1. Shared Secret Key: ผู้ใช้และ Access Point (AP) ต้องมีคีย์ WEP ร่วมกัน โดยคีย์นี้อาจมีความยาว 64 บิต (ซึ่งรวม IV 24 บิต ทำให้เหลือคีย์จริง 40 บิต) หรือ 128 บิต (รวม IV 24 บิต ทำให้เหลือคีย์จริง 104 บิต)
2. Initialization Vector (IV): IV เป็นค่าขนาด 24 บิต ที่ถูกสร้างขึ้นแบบสุ่มและส่งไปพร้อมกับข้อมูลที่เข้ารหัส IV มีหน้าที่เพื่อทำให้แต่ละแพ็กเก็ตมีการเข้ารหัสที่แตกต่างกันออกไป แม้ว่าจะใช้คีย์ WEP เดียวกันก็ตาม
3. RC4 Stream Cipher: RC4 เป็นอัลกอริทึมหลักที่ใช้ในการสร้างคีย์สตรีม โดยรับ WEP Key และ IV เป็นอินพุต
4. Checksum (CRC-32): ก่อนการเข้ารหัส WEP จะคำนวณ Checksum ของข้อมูลด้วย CRC-32 (Cyclic Redundancy Check) แล้วนำ Checksum นี้ไปต่อท้ายข้อมูล เพื่อใช้ในการตรวจสอบความสมบูรณ์ของข้อมูลหลังจากถอดรหัส
ข้อบกพร่องหลักที่นำไปสู่การโจมตี
ข้อบกพร่องที่สำคัญที่สุดของ WEP มาจากการออกแบบและใช้งาน IV ที่ไม่เหมาะสม:
- IV สั้นเกินไป (24 บิต): ด้วยขนาดเพียง 24 บิต ทำให้ IV มีจำนวนค่าที่เป็นไปได้จำกัด (ประมาณ 16 ล้านค่า) ในเครือข่ายที่มีการรับส่งข้อมูลปริมาณมาก IV จะถูกนำกลับมาใช้ซ้ำอย่างรวดเร็ว (IV Reuse)
- IV ถูกส่งเป็นเพลนเท็กซ์: IV จะถูกส่งออกไปพร้อมกับข้อมูลที่เข้ารหัส ทำให้ผู้โจมตีสามารถดักจับและรวบรวม IV ได้ง่าย
- RC4 Key Scheduling Algorithm (KSA) และ PRGA (Pseudo-Random Generation Algorithm) Weakness: การนำ WEP Key และ IV มาผสมกันในลักษณะที่ตายตัว และการที่ IV มีขนาดสั้น ทำให้เกิด "Weak IVs" ซึ่งเมื่อนำไปใช้กับ RC4 แล้วจะสร้างคีย์สตรีมที่มีความสัมพันธ์กันและสามารถคาดเดาได้ สิ่งนี้นำไปสู่การโจมตีแบบ related-key attacks ที่สามารถกู้คืน WEP Key ได้อย่างรวดเร็ว
- airmon-ng: ใช้สำหรับเปลี่ยนการ์ดเครือข่ายไร้สายให้อยู่ในโหมด monitor เพื่อดักจับแพ็กเก็ต
- airodump-ng: ใช้สำหรับสแกนหาเครือข่ายเป้าหมาย, ดักจับแพ็กเก็ต และบันทึก IVs
- aireplay-ng: ใช้สำหรับทำการโจมตีแบบ active ต่างๆ เช่น ARP Replay, Chopchop, Fragmentation
- aircrack-ng: ใช้สำหรับถอดรหัส WEP Key จากไฟล์ .cap ที่รวบรวม IVs มาได้
วิธีการโจมตี WEP ที่สำคัญ
1. การโจมตีแบบ Passive (Passive Attacks)
การโจมตีแบบพาสซีฟเกี่ยวข้องกับการดักจับ (sniffing) แพ็กเก็ตไร้สายจำนวนมากโดยไม่ต้องมีการโต้ตอบใดๆ กับเครือข่าย เป้าหมายหลักคือการรวบรวม IVs ให้ได้มากที่สุด เมื่อมี IVs มากพอ (โดยปกติคือหลักหมื่นถึงหลักแสน) ผู้โจมตีสามารถใช้เครื่องมือวิเคราะห์ทางสถิติเพื่อระบุความสัมพันธ์ของ IVs ที่อ่อนแอและ WEP Key ได้
2. การโจมตีแบบ Active (Active Attacks)
การโจมตีแบบแอคทีฟจะมีการส่งแพ็กเก็ตเข้าไปในเครือข่ายเป้าหมายเพื่อเร่งกระบวนการสร้าง IVs ทำให้สามารถรวบรวม IVs ได้เร็วขึ้นมาก โดยเทคนิคที่นิยมใช้ได้แก่:
- ARP Replay Attack: นี่คือการโจมตีที่ได้ผลที่สุดและนิยมใช้มากที่สุด ผู้โจมตีจะดักจับแพ็กเก็ต ARP (Address Resolution Protocol) ที่เข้ารหัสไว้ จากนั้นทำการแก้ไขและส่งกลับเข้าไปในเครือข่ายซ้ำๆ เพื่อกระตุ้นให้ Access Point สร้างแพ็กเก็ต ARP ใหม่และส่งออกไป ซึ่งแต่ละแพ็กเก็ตจะมี IVs ใหม่ที่สามารถนำไปใช้ในการถอดรหัสได้ การโจมตีนี้สามารถสร้าง IVs ได้หลายพันถึงหลายหมื่น IVs ภายในเวลาไม่กี่นาที
- Chopchop Attack: การโจมตีนี้ช่วยให้ผู้โจมตีสามารถกู้คืน Keystream ของแพ็กเก็ตที่เข้ารหัสได้ทีละไบต์ โดยไม่ต้องรู้คีย์ WEP การทำงานคือ ผู้โจมตีจะดักจับแพ็กเก็ตที่เข้ารหัสไว้ แล้วทำการเปลี่ยนแปลงไบต์สุดท้ายของ Checksum จากนั้นส่งแพ็กเก็ตนี้กลับไปยัง AP หาก AP ตอบกลับด้วยข้อความ "ICV (Integrity Check Value) failed" แสดงว่าผู้โจมตีเดาไบต์สุดท้ายของ Keystream ผิด แต่หาก AP ไม่ตอบกลับด้วยข้อความนั้น แสดงว่าผู้โจมตีเดาไบต์สุดท้ายของ Keystream ถูกต้อง ด้วยการทำซ้ำกระบวนการนี้กับทุกไบต์ใน Keystream ผู้โจมตีสามารถกู้คืน Keystream ทั้งหมดได้
- Fragmentation Attack: การโจมตีนี้มีเป้าหมายเพื่อขอ PRGA (Pseudo-Random Generation Algorithm) จาก AP ซึ่ง PRGA นี้คือส่วนหนึ่งของ Keystream ที่สามารถนำไปใช้ในการสร้างแพ็กเก็ตที่เข้ารหัสเองได้ ผู้โจมตีจะส่งแพ็กเก็ตทดสอบไปยัง AP โดยมีขนาดเล็กและไม่สมบูรณ์ หาก AP ตอบกลับด้วย Frame ที่แสดงถึงความยาวที่ต้องการ (ซึ่งเท่ากับ PRGA) ผู้โจมตีก็จะสามารถสกัด PRGA ออกมาได้ และใช้มันในการสร้างแพ็กเก็ต ARP ปลอมเพื่อเร่งการเก็บ IVs ได้เช่นกัน
- KoreK Attacks: KoreK เป็นชุดของการโจมตีทางสถิติที่ใช้ประโยชน์จากข้อบกพร่องในอัลกอริทึม RC4 ซึ่งมีการวิเคราะห์และจัดหมวดหมู่ IVs ที่ "อ่อนแอ" (weak IVs) เพื่อเพิ่มประสิทธิภาพในการถอดรหัสคีย์ WEP โดยการมุ่งเน้นที่การรวบรวม IVs บางประเภทที่คาดเดา Keystream ได้ง่ายกว่า
เครื่องมือที่ใช้ในการโจมตี WEP
ชุดเครื่องมือที่ได้รับความนิยมและมีประสิทธิภาพมากที่สุดในการโจมตี WEP คือ Aircrack-ng ซึ่งประกอบด้วยยูทิลิตี้หลายตัว ได้แก่:
ขั้นตอนการทำงาน: การโจมตี WEP ด้วย ARP Replay โดยใช้ Aircrack-ng
นี่คือขั้นตอนโดยละเอียดในการโจมตี WEP โดยใช้เทคนิค ARP Replay Attack ซึ่งเป็นวิธีที่นิยมและได้ผลดีที่สุด โดยใช้ชุดเครื่องมือ Aircrack-ng
1. เตรียมการ์ดเครือข่ายไร้สายให้อยู่ในโหมด Monitor
ขั้นตอนแรกคือการนำการ์ด Wi-Fi ของคุณเข้าสู่โหมด monitor เพื่อให้สามารถดักจับแพ็กเก็ตทั้งหมดที่ผ่านไปมาบนอากาศได้ ไม่ใช่แค่แพ็กเก็ตที่ส่งมายังคุณเท่านั้น
ระบุชื่ออินเทอร์เฟซไร้สายของคุณ (มักจะเป็น wlan0 หรือ wlpXsY):
h
iwconfigหยุดกระบวนการที่อาจรบกวนการทำงานของโหมด monitor:
h
sudo airmon-ng check killเปิดใช้งานโหมด monitor บนอินเทอร์เฟซไร้สายของคุณ (ตัวอย่างเช่น wlan0):
h
sudo airmon-ng start wlan0หลังจากคำสั่งนี้ อินเทอร์เฟซของคุณอาจเปลี่ยนชื่อเป็น wlan0mon หรือ mon0 โปรดสังเกตชื่อที่เปลี่ยนไปเพื่อใช้ในขั้นตอนถัดไป
2. สแกนหาเครือข่ายเป้าหมายและระบุข้อมูลที่จำเป็น
ใช้ airodump-ng เพื่อสแกนหา Access Point ที่เปิดใช้งาน WEP และรวบรวมข้อมูลสำคัญ เช่น BSSID (MAC Address ของ AP), Channel และ ESSID (ชื่อเครือข่าย)
h
sudo airodump-ng wlan0monคุณจะเห็นรายการเครือข่าย Wi-Fi ที่ตรวจพบ หาเครือข่ายเป้าหมายที่มี "WEP" ในคอลัมน์ ENC (Encryption) และจดบันทึกค่า BSSID และ CH (Channel) ของเครือข่ายนั้น
3. ดักจับแพ็กเก็ตและรวบรวม IVs
เมื่อคุณระบุเครือข่ายเป้าหมายได้แล้ว ให้ใช้ airodump-ng อีกครั้งเพื่อโฟกัสไปที่เครือข่ายนั้นโดยเฉพาะ และบันทึกแพ็กเก็ตที่ดักจับได้ลงในไฟล์ .cap
h
sudo airodump-ng --bssid [BSSID_ของ_เป้าหมาย] --channel [Channel_ของ_เป้าหมาย] --write [ชื่อไฟล์_สำหรับบันทึก] wlan0monตัวอย่าง:
h
sudo airodump-ng --bssid 00:11:22:33:44:55 --channel 6 --write wep_capture wlan0monคำสั่งนี้จะเริ่มดักจับแพ็กเก็ตและบันทึก IVs ที่ตรวจพบลงในไฟล์ชื่อ wep_capture-01.cap ในไดเรกทอรีปัจจุบัน หน้าต่างเทอร์มินัลนี้ควรเปิดค้างไว้
4. ทำการโจมตี ARP Replay เพื่อเร่งการสร้าง IVs
เปิดเทอร์มินัลใหม่ และใช้ aireplay-ng เพื่อทำการโจมตี ARP Replay ไปยังเครือข่ายเป้าหมาย เพื่อเร่งการสร้าง IVs
h
sudo aireplay-ng --deauth 0 -a [BSSID_ของ_เป้าหมาย] wlan0mon(ตัวเลือก: อาจต้อง deauthenticate ไคลเอนต์ที่เชื่อมต่ออยู่เพื่อบังคับให้มีการเชื่อมต่อใหม่และสร้าง ARP ใหม่)
หา MAC Address ของไคลเอนต์ที่เชื่อมต่ออยู่กับ AP เป้าหมายจากหน้าต่าง airodump-ng (คอลัมน์ STATION)
h
sudo aireplay-ng --arpreplay -b [BSSID_ของ_เป้าหมาย] -h [MAC_ของ_ไคลเอนต์ที่เชื่อมต่อ] wlan0monตัวอย่าง:
h
sudo aireplay-ng --arpreplay -b 00:11:22:33:44:55 -h AA:BB:CC:DD:EE:FF wlan0monคำสั่งนี้จะทำการโจมตี ARP Replay ซึ่งจะทำให้ AP สร้างและส่งแพ็กเก็ต ARP ที่เข้ารหัสใหม่ๆ ออกมาอย่างรวดเร็ว คุณจะเห็นค่า #Data ในหน้าต่าง airodump-ng เพิ่มขึ้นอย่างรวดเร็ว เมื่อคุณรวบรวม IVs ได้หลายหมื่นถึงแสน (ขึ้นอยู่กับความยาวของคีย์ WEP) คุณก็พร้อมที่จะถอดรหัสแล้ว
5. ถอดรหัส WEP Key ด้วย Aircrack-ng
เมื่อคุณมี IVs เพียงพอแล้ว ให้เปิดเทอร์มินัลใหม่ (หรือปิดเทอร์มินัล aireplay-ng หากไม่ใช้แล้ว) และใช้ aircrack-ng เพื่อพยายามถอดรหัส WEP Key จากไฟล์ .cap ที่บันทึกไว้
h
sudo aircrack-ng [ชื่อไฟล์_สำหรับบันทึก]-01.capตัวอย่าง:
h
sudo aircrack-ng wep_capture-01.capaircrack-ng จะเริ่มวิเคราะห์ IVs ในไฟล์ .cap และพยายามกู้คืน WEP Key หากคุณมี IVs เพียงพอและมีการโจมตีที่ประสบความสำเร็จ คุณจะเห็นข้อความ "KEY FOUND!" พร้อมกับ WEP Key ที่ถอดรหัสได้
หมายเหตุ:
Security Best Practices
เนื่องจาก WEP มีช่องโหว่รุนแรงและไม่ปลอดภัย จึงมีแนวทางปฏิบัติที่ดีที่สุดที่ควรรู้เพื่อป้องกันตัวเองและเครือข่ายของคุณ:
บทสรุป
WEP ได้รับการออกแบบมาเพื่อมอบความเป็นส่วนตัวให้กับเครือข่ายไร้สาย แต่ด้วยข้อบกพร่องในการออกแบบและการใช้งาน Initialization Vector (IV) ที่ไม่เหมาะสม ทำให้ WEP กลายเป็นมาตรฐานที่ล้าสมัยและมีช่องโหว่ร้ายแรงที่สามารถถูกโจมตีได้ง่ายด้วยเครื่องมือที่เข้าถึงได้ทั่วไป การทำความเข้าใจถึงวิธีการโจมตี WEP ไม่เพียงแต่เป็นการเรียนรู้ประวัติศาสตร์ของความปลอดภัยเครือข่ายไร้สายเท่านั้น แต่ยังเป็นบทเรียนอันล้ำค่าที่เน้นย้ำถึงความสำคัญของการออกแบบโปรโตคอลความปลอดภัยที่แข็งแกร่ง และการใช้งานที่ถูกต้อง การเปลี่ยนผ่านจาก WEP ไปสู่ WPA2 และ WPA3 เป็นข้อพิสูจน์ถึงความจำเป็นในการพัฒนามาตรฐานความปลอดภัยอย่างต่อเนื่อง ผู้ใช้งานและองค์กรต่างๆ จึงควรให้ความสำคัญกับการใช้เทคโนโลยีการเข้ารหัสที่ทันสมัยและปฏิบัติตามแนวทางความปลอดภัยที่ดีที่สุด เพื่อปกป้องข้อมูลและความเป็นส่วนตัวในโลกดิจิทัลที่มีภัยคุกคามเปลี่ยนแปลงอยู่เสมอ