ความปลอดภัยของระบบ LAN
ความปลอดภัยของระบบ LAN
เนื้อหารายงานนี้เป็นเรื่องราวเกี่ยวกับความปลอดภัยของระบบ LAN (LAN Security) โดยประกอบไปด้วยการโจมตีและการป้องกันระบบ LAN ซึ่งการโจมตีที่มักจะพบบ่อยๆ ได้แก่ การโจมตีโดยใช้ ARP Spoof โจมตีโดยใช้ ARP Dos Attack เพื่อทำให้ระบบใช้งานไม่ได้ (เช่น โปรแกรม Netcut) การโจมตีด้วย Rogue DHCP Server และการโจมตีอุปกรณ์เครือข่าย เป็นต้น ส่วนการป้องกันการโจมตีระบบ LAN ก็สามารถทำได้หลายวิธี เช่น การใช้งาน Switch คุณภาพสูงที่มีฟังก์ชั่นการป้องกัน การป้องกันโดยกำหนด Static ARP บนเครื่องไคลเอนต์ รวมถึงการประยุกต์ใช้โปรแกรมป้องกันชนิดต่างๆ เช่น โปรแกรม Anti-ARP เป็นต้น
ARP Attack
การโจมตีระบบ LAN ที่เป็นที่นิยมมากที่สุดคือ การโจมตีโปรโตคอล ARP ซึ่งประกอบด้วยการโจมตีแบบ ARP Spoof เพื่อทำตัวเป็น Man In The Middle แล้วดักจับข้อมูล และการโจมตีแบบ Dos : Denial of Service เพื่อทำให้โฮสต์เป้าหมายไม่สามารถสื่อสารกับโฮสต์อื่นได้
ARP Spoof
ARP Spoof (หรืออาจเรียกอีกชื่อหนึ่งว่า ARP Poision) คือการโจมตีโดยใช้ช่องโหว่ของโปรโตคอล ARP เพื่อหลอกให้เหยื่อหลงกล เช่น ทำให้เหยื่อเข้าใจผิดว่าเครื่องของแฮกเกอร์คือ Gateway เพื่อที่จะบังคับให้ข้อมูลที่เหยื่อกำลังส่งไปยังเซิร์ฟเวอร์ (ที่อยู่บนอินเตอร์เน็ต) วิ่งผ่านเครื่องของแฮกเกอร์แล้วแฮกเกอร์ก็สามารถดักจับข้อมูลที่สำคัญของเหยื่อได้ เช่น ข้อมูลรหัสผ่านหรือ Cookie/Session ID
การทำงานของ ARP ในสภาวะปกติ
เมื่อคอมพิวเตอร์ A ต้องการส่งข้อมูลไปยังคอมพิวเตอร์ ซึ่งอยู่ในระบบ LAN เดียวกัน ข้อมูลจะถูกส่งโดยการ์ดเน็ตเวิร์ก การส่งข้อมูลในระดับการ์ดเน็ตเวิร์กจะต้องใช้ค่า MAC Address ของคอมพิวเตอร์ปลายทาง ดังนั้นคอมพิวเตอร์ A ที่ทราบไอพีแอดเดรสของคอมพิวเตอร์ B เพียงอย่างเดียวจึงไม่สมารถส่งข้อมูลได้ คอมพิวเตอร์ A จะต้องทราบค่า MAC Address ของคอมพิวเตอร์ B ด้วยจึงจะสามารถส่งข้อมูลไปถึง B ได้อย่างถูกต้อง
โปรโตคอล ARP (Address Resolution Protocol) ถูกสร้างขึ้นมาเพื่อให้คอมพิวเตอร์สามารถค้นหาค่า MAC Address ของไอพีแอดเดรสที่ต้องการสื่อสารด้วยได้ โดยเครื่องคอมพิวเตอร์ต้นทางจะตรวจดูค่าใน ARP Table (หรือเรียกว่า ARP Cache) เสียก่อน (ARP Table คือตารางการจับคู่กันระหว่างไอพีแอดเดรสกับ MAC Address ถ้าไม่เคยมีการสอบถามโดยใช้โปรโตคอล ARP มาก่อน ค่าใน ARP Table จะเป็นค่าว่างเปล่า) ถ้าไม่พบข้อมูลใน ARP Table ผู้ส่งจะต้องค้นหา MAC Address ของไอพีแอดเดรส ดังกล่าวโดยใช้โปรโตคอล ARP
การแปลงไอพีแอดเดรสให้เป็น MAC Address โดยใช้โปรโตคอล ARP นั้นเป็นไปตามขั้นตอนดังนี้
ก่อนอื่นกำหนดให้
คอมพิวเตอร์ A (IP Address=10.0.0.1, MAC Address=00 00 00 00 00 01)
คอมพิวเตอร์ B (IP Address=10.0.0.2, MAC Address=00 00 00 00 00 02)
คอมพิวเตอร์ A ต้องการทราบค่า MAC Address ของคอมพิวเตอร์ B
* คอมพิวเตอร์ A ส่ง ARP Request แบบบอรดคาสต์เพื่อกระจายไปยังคอมพิวเตอร์ทุกเครื่องในระบบ LAN ให้รับทราบว่าตนเองต้องการคำตอบว่า 10.0.0.2 มี MAC Address เป็นเท่าใด (ข้อมูลใน ARP Request ประกอบด้วย IP Address = 10.0.0.2 ซึ่งเป็นไอพีแอดเดรสที่ต้องการหาคำตอบ)
* คอมพิวเตอร์ B เมื่อได้รับ ARP Request จึงนำมาตรวจสอบก็ทราบว่าเป็นการสอบถามค่า MAC Address ของตนเอง จึงได้ส่ง ARP Reply เพื่อตอบกลับไปยังไอพีแอดเดรส 10.0.0.1 ที่สอบถามมา (ข้อมูลใน ARP Reply ประกอบด้วย IP Address = 10.0.0.2 MAC Address = 00 00 00 00 00 02 ซึ่งเป็นข้อมูลของ B) ส่วนคอมพิวเตอร์เครื่องอื่นที่ได้รับ ARP Request นี้จะทิ้งแพ็กเก็ต ARP Request นี้ไปและไม่ตอบกลับ เพราะไม่ใช่การสอบถามมายังไอพีแอดเดรสของตนเอง
* หลังจากที่ B ส่ง ARP Reply กลับไปให้ A คอมพิวเตอร์ B ก็จะเพิ่มค่าใน ARP Table เพื่อจดจำว่าไอพีแอดเดรส 10.0.0.1 (ของ A) มี MAC = 00 00 00 00 00 01
* คอมพิวเตอร์ A เมื่อได้รับ ARP Reply จาก B จึงทราบว่าไอพีแอดเดรส 10.0.0.2 (ของ B) มี MAC = 00 00 00 00 00 02 จากนั้นจึงเก็บค่าดังกล่าวไว้ใน ARP Table ของตนเอง
ค่าในตาราง ARP Table ของคอมพิวเตอร์ A และ B
จากนั้นการส่งข้อมูลระหว่าง A และ B ไม่จำเป็นต้องค้นหาค่า MAC Address ของคู่สนทนาโดยใช้ ARP อีกต่อไปตราบใดที่ ARP Table ของทั้งสองยังไม่หายไปจาก Cache (ค่าใน ARP Table มักจะมีอายุไม่เกิน 60 วินาที ดังนั้นจึงมีการใช้งาน ARP อยู่ในระยะๆ)
การทำงานของ ARP Spoof
จุดอ่อนของโปรโตคอล ARP ก็คือ หากมีคอมพิวเตอร์ใดก็ตาม ส่ง ARP Reply ไปยังคอมพิวเตอร์อื่นเพื่อแจ้งค่าไอพีแอดเดรสและค่า MAC Address ของตนเอง คอมพิวเตอร์ที่ได้รับ ARP Reply จะสั่งปรับปรุงค่าใน ARP Table ของตนเองตามข้อมูลที่ได้รับทันที โดยไม่มีการตรวจสอบว่าเป็นข้อมูลจริงหรือเท็จ ดังนั้น ถ้ามีการส่ง ARP Reply ที่เป็นข้อมูลเท็จ เช่น ส่งไปบอกว่าตนเองมีไอพีแอดเดรส = 10.0.0.2 และมีค่า MAC Address = XX XX XX XX XX XX เครื่องที่ได้รับ ARP Reply นี้ก็จะปรับปรุงค่าใน ARP Table ของตนเองเพื่อเก็บข้อมูลที่ผิดๆ ดังกล่าวใช้ การส่งข้อมูลหลอกให้ผู้อื่นให้เก็บ IP Address กับ MAC Address ที่ผิดนี้เรียกว่า ARP Spoof (บางครั้งเรียกว่า ARP Poison)
ส่ง ARP Reply เพื่อหลอกว่ามี 10.0.0.2 และมีค่า MAC Address = xx xx xx xx xx xx
การโจมตีของแฮกเกอร์มักจะส่ง ARP Spoof ไปหลอกเครื่องเหยื่อว่าตนเองเป็น Gateway พร้อมกันนั้นก็ส่ง ARP Spoof ไปหลอก Gateway ด้วยว่าตนเองเป็นเครื่องของเหยื่อ ดังนั้นจึงทำให้แฮกเกอร์เสมือนอยู่ตรงกลางระหว่างโฮสต์ทั้งสอง แฮกเกอร์จึงกลายเป็น “Man In The Middle” และสามารถดักจับข้อมูลที่ส่งผ่านไปมาได้
นอกจากการส่ง ARP Reply หลอกแล้ว การทำ ARP Spoof สามารถทำได้โดยการส่ง ARP Request หลอกได้เช่นกัน โดยแกล้งส่งคำร้องขอไปบนเครือข่าย LAN ซึ่งภายในเฮดเดอร์ของ ARP Request นั้นมีข้อมูล IP Address ปลอม เช่น การใช้ IP Address ของ Gateway ในการส่ง ARP Request เหยื่อก็จะบันทึกค่า IP Address และ MAC Address ที่ผิดนั้นไว้ใน ARP Table ของตนเองแล้วจึงส่งคำตอบกลับไป ดังนั้น ARP Spoof จึงสามารถทำได้โดยการใช้ ARP Request และ ARP Reply
การทำ ARP Spoof ด้วยโปรแกรม Switch Sniffer
โปรแกรมที่สามารถใช้ทำ ARP Spoof มีอยู่หลายตัว เช่น Switch Sniffer, WinARPSpoof และ Cain ที่รันบน Windows นอกจากนั้นยังมี Ettercap และ arpspoof ที่รันบน Linux
โปรแกรม Switch Sniffer เริ่มส่ง ARP Spoof เมื่อคลิกปุ่ม Start
โปรแกรม Switch Sniffer สามารถส่งแพ็กเก็ต ARP Spoof เพื่อทำให้ตัวเองเป็น Man In The Middle ได้ และตัวมันเองก็สามารถที่จะ Route ให้แพ็กเก็ตวิ่งผ่านไปมาได้อย่างปกติ ขั้นตอนการใช้งานเริ่มจากการใช้โปรแกรม Switch Sniffer สั่งสแกนเพื่อหาเครื่องลูกช่ายทั้งหมดที่มีอยู่ในระบบ LAN เมื่อสแกนเสร็จแล้วก็เลือกเครื่องคอมพิวเตอร์เป้าหมายที่ต้องการจะดักจับข้อมูล ซึ่งสามารถเลือกเหยื่อได้หลายเครื่องพร้อมกัน (หากเลือกทั้งหมดคอมพิวเตอร์ของเราจะทำงานหนักมากจนเครียดอาจแฮงค์ได้) เมื่อเลือกไอพีแอดเดรสของเครื่องเป้าหมาย (เหยื่อ) ที่จะทำ ARP Spoof แล้วให้คลิกปุ่ม Start เพื่อให้ Switch Sniffer ส่ง ARP ไปหลอกเกตเวย์ว่าเรา (แฮกเกอร์) เป็นเครื่องเหยื่อ และหลอกเครื่องเหยื่อว่าเราเป็นเกตเวย์
** หากเลือกเหยื่อหลายเครื่อง การใช้งาน CPU ก็จะสูงตามไปด้วย เพราะเครื่องที่เราทดลองรับ Switch Sniffer เพื่อจำลองเป็นแฮกเกอร์นั้น จะต้องเป็นตัวกลางในการ Forward แพ็กเก็ตข้อมูลจำนวนมาก
การดักจับข้อมูล
โปรแกรม Switch Sniffer ทำหน้าที่เพียงส่งแพ็กเก็ต ARP Spoof และ Route ให้แพ็กเก็ตวิ่งได้เท่านั้น แต่มันไม่สามารถที่จะดักจับข้อมูลได้ ดังนั้นจึงจำเป็นต้องใช้โปรแกรมอื่นเข้ามามีส่วนร่วม โปรแกรมที่นิยมใช้ในการดักจับข้อมมูลได้แก่ Ethereal, Wireshark, Sniffer,DSniff และ Cain (โปรแกรม DSniff และ Cain จะแสดงเฉพาะข้อมูลรหัสผ่าน)
ตัวอย่างข้อมูลที่ดักจับได้โดย Ethereal
ข้อมูลที่ดักจับได้จะเรียงตามเวลาที่ดักจับได้ว่าก่อนหรือหลัง เราสามารถสั่งให้โปรแกรมรายงาน โดยเรียงลำดับตามไอพีแอดเดรส หรือเรียงตามโปรโตคอลได้โดยคลิกที่หัวของคอลัมน์ นอกจากนั้นเราสามารถสั่งให้ Ethereal แสดงเฉพาะโปรโตคอลที่เราสนใจโดยการระบุที่ช่อง Filter เราสามารถให้โปรแกรมแสดงเฉพาะโปรโตคอลที่ต้องการให้แสดงได้ โดยป้อนชื่อโปรโตคอลในช่อง Filter ตัวอย่างในรูปเป็นการแสดงโปรโตคอล HTTP เพื่อที่จะมองหาข้อมูลที่เป็นรหัสผ่าน โดยการสแกนสายตาหาคำว่า POST เพราะการส่งข้อมูลรหัสผ่านไปยังเวปไซต์ขณะล็อกอิน นิยมใช้เมธอด POST และเวบไซด์ธรรมดาทั้วไปจะไม่สามารถเข้ารหัสข้อมูลด้วย HTTPS เมื่อคลิกที่แพ็กเก็ตก็จะเห็นรายละเอียดและรหัสผ่านที่อยู่ข้างใน
การใช้ Ethereal เพื่อดักจับข้อมูลรหัสผ่านนั้น ต้องใช้เวลาค่อนข้างมากและใข้ความพยายามอย่างสูงในการค้นหารหัสผ่านในแพ็กเก็ตที่ดักจับได้จำนวนมาก ดังนั้นจึงได้มีการคิดค้นโปรแกรมที่ออกแบบมาสำหรับดักจับและแสดงเฉพาะรหัสผ่านโดยตรง โปรแกรมนั้นก็คือโปรแกรม CAIN ที่รันบน Windows และ Dsniff ที่รันบน Linux
โปรแกรม CAIN ดักจับข้อมูลแล้วแสดงเฉพาะรหัสผ่าน
HTTPS MIIM เทคนิคการดักจับและถอดรหัส HTTPS
HTTPS เป็นการรวมระหว่าง HTTP และ SSL โปรโตคอลนี้ได้รับการยอมรับว่าปลอดภัยที่สุดจนถึงขั้นมีการนำไปใช้อย่างแพร่หลายกับเวบไซต์ e-commerce ทั่วโลก เว็บไซต์ที่ต้องการความปลอดภัยในการส่งข้อมูลจะใช้โปรโตคอลนี้เป็นหลัก ซึ่งอาจจะใช้ทดลองการทำงานหรือใช้เฉพาะในการส่งข้อมูลที่มีความสำคัญมากๆ เช่น Hotmail, Gmail และ Yahoo mail ที่ใช้ HTTPS ขณะที่ส่งรหัสผ่าน ถึงแม้ HTTPS จะมีความปลอดภัยที่สุด แต่ปัจจุบันมีวีธีการที่จะถอดรหัสโปรโตคอล HTTPS นี้แล้ว โปรแกรมที่ใช้ในการถอดรหัส HTTPS คือโปรแกรม CAIN ซึ่งรันบน Windows และโปรแกรมในชุดของ Back Track ซึ่งเป็น Linux หากใช้ Back Track ในการถอดรหัสจะต้องรันโปรแกรมกันหลายตัว ได้แก่ arpspoof, fragrouter, dnsspoof, webmitm, wireshark และ ssldump
ตัวอย่างการดักจับและรหัส HTTPS โดยใช้ CAIN นั้นเราจะต้องสั่งให้โปรแกรม CAIN ทำตัวเป็น Man In The Middle เพื่อที่จะดักจับและถอดรหัสผ่านได้และใช้ CAIN ในการปลอม Certificate ซึ่งการปลอมแปลง Certificate ถือว่าเป็นหัวใจสำคัญที่จะทำให้เราถอดรหัส HTTPS ออกมาได้ โปรแกรม CAIN มีฟังก์ชั่นของการทำ ARP Spoof อยู่ในตัว นอกจากนั้นยังสามารถปลอม Certificate โดยฟังก์ชั่น ARP (ARP Poison Routing)
การทำตัวเป็น Man in the Middle นั้นเราสามารถที่จะเป็นตัวกลางระหว่างเกตเวย์และเครื่องของเหยื่อหลายเครื่องพร้อมกันได้ ในรูปที่ 8 แสดงการเลือกไอพี 10.114.0.254 ให้เป็นเกตเวย์และเลือกทุกเครื่องในระบบ LAN ให้เป็นเหยื่อ (ในทางปฏิบัติแล้วแฮกเกอร์จะเลือกเหยื่อเพียง 2-3 เครื่อง)
หลังจากที่เราทำตัวเป็น Man In The Middle และดักจับข้อมูล เรียบร้อยแล้ว ให้รับโปรแกรมไปสักช่วงเวลาหนึ่งที่คาดว่าเหยื่อได้ล็อกอินเข้าสู่ Hotmail, Gmail และ Yahoo mail เว็บไซต์ e-commerce หรือเวบไซต์อะไรก็ตามที่เขารหัสข้อมูลด้วย HTTPS ก็จะเห็นข้อมูลที่ดักจับได้โดยการคลิกที่ ARP-HTTPS
การป้องกัน ARP Spoof
การป้องกัน ARP Spoof ถือได้ว่าเป็นกุญแจหลักที่ช่วยป้องกันไม่ให้การดักจับข้อมูลบนระบบ LAN ทำงานได้สำเร็จ ซึ่งการป้องกัน ARP Spoof ได้แก่
- การป้องกันโดยใช้ Static ARP
- การป้องกันโดยใช้โปรแกรมช่วยป้องกัน
- การป้องกันโดยใช้ Switch คุณภาพสูง
การป้องกันโดยใช้ Static ARP
การป้องกันโดยใช้ Static ARP ทำได้โดยการตั้งค่า Static ARP บน Client และบน Gateway สิ่งที่สำคัญที่สุดของการตั้งค่า Static ARP บน Client คือการกำหนดตาราง ARP เพื่อ Map ระหว่าง IP Address ของ Gateway กับค่า NAC Address ของ Gateway เพื่อป้องกันการดักจับข้อมูลขาออก (ข้อมูลที่ไคลเอนต์ส่งออกไปยังอินเตอร์เน็ต) เช่น รหัสผ่านและ Cookie/Session ID ส่วนการป้องกันการใช้ Static ARP บน Gateway นั้นก็เพื่อป้องกันการดักจับข้อมูลขาเข้าที่เชิร์ฟเวอร์ต่างๆในอินเตอร์เน็ตส่งกลับมาให้ไคลเอนต์ เช่น ข้อความใน Mail Box เป็นต้น อุปกรณื Gateway/Router ชั้นนำอย่าง Cisco สามารถใช้ Command เพื่อกำหนด Static ARP ได้ดังตัวอย่างต่อไปนี้
Router(config)# arp 192.168.1.2 001C.26CB.SF18 arpa
สิ่งที่ผู้ดูแลระบบทั่วไปมักจะประสบปัญหาคือ การใช้ Gateway/Router ราคาถูกซึ่งเป็นอุปกรณ์ฮาร์ดแวร์ที่ไม่สนับสนุนการทำ Static ARP จึงทำให้ไม่สามารถป้องกันโดยใช้ Static ARP ได้ ส่วนมนกรณีที่ Gateway เป็น Windows เช่น Windows Server 2003/2008 เราสามารถกำหนด Static ARP ได้โดยใช้คำสั่ง arp-s ได้ดังตัวอย่างต่อไปนี้
C:\.> arp –s 192.168.1.1 00-90-d0-2e-ee-29
หากเครื่อง Gateway เป็น Linux ก็สามารถใช้คำสั่งในรูปแบบดังต่อไปนี้ (เลขฐาน 16 ของ Mac จะต้องคั้นด้วยเครื่องหมายโคลอน :)
[root@localhost ~] # arp –s 192.168.1.1 00:90:d0:2e:ee:29
การป้องกัน ARP Spoof โดยใช้โปรแกรมช่วยป้องกัน
เราสามารถใช้โปรแกรมช่วยป้องกัน ARP Spoof ได้ เช่น ใช้โปรแกรม Anti-ARP หรือโปรแกรม Anti-Cut (โปรแกรมที่ใช้ป้องกัน Netcut) จากการศึกษาวิจัย และการทดลองพบว่าโปรแกรมที่ใช้งานได้ง่ายและมีประสิทธิภาพในการป้องกันที่ดีคือ โปรแกรม Anti-ARP ดังนั้นในหัวข้อการป้องกัน ARP Spoof ในบทนี้จึงขอแนะนำวิธีการใช้งานโปรแกรม Anti-ARP เป็นหลัก ซึ่งเหมาะสำหรับการนำไปใช้ในการป้องกันตัวในระดับบุคคล
ป้องกัน ARP Spoof โดยใช้ Anti-ARP
การทดสอบโปรแกรม Anti-ARP ในการป้องกัน ARP Spoof โดยใช้คอมพิวเตอร์ 2 เครื่อง โดยให้เครื่องหนึ่งทำตัวเป็นแฮกเกอร์และรัน Switch Sniffer ส่วนอีกเครื่องหนึ่งทำตัวเป็นเหยื่อที่ป้องกันตัวเองโดยใช้ Anti-ARP หลังจากที่ทำ ARP Spoof แล้วเมื่อสังเกตหน้าจอของเครื่องที่ตกเป็นเหยื่อในหน้าต่างโปรแกรม Anti-ARP บรรทัด Incoming arp spoof พบว่ามี ARP Packet ที่โปรแกรมได้ป้องกันโดยสั่งบล็อคไว้จำนวนหนึ่ง
โปรแกรม Anti-ARP สั่งบล็อคแพ็กเก็ต ARP Spoof ไว้
ในแท็บ Statistic ด้านบนขวาสังเกตเห็นได้ว่าโปรแกรมแสดง MAC Address และ IP Address ที่ถูกต้องของ Gateway ให้เราทราบด้วย นอกจากนั้นโปรแกรม Anti ARP สามารถบอกให้เราทราบด้วยว่าผู้ที่ทำ ARP Spoof (แฮกเกกอร์) มาจากไอพีแอดเดรสหมายเลขใด พร้อมทั้งแสดง MAC Address ของแฮกเกอร์โดยดูจากแท็บ Incoming arp spoof จากตัวอย่างโปรแกรมแจ้งให้เราทราบว่าแฮกเกอร์มาจากไอพีหมายเลข 192.168.1.4 หรือไม่ก็ 192.168.1.1 และมาจาก MAC Address เบอร์ที่ลงท้ายด้วย 3A-EB หรือไม่ก็ EE-29 แต่จากตัวอย่างทำให้ทราบว่า MAC Address ของ Gateway ลงท้าย EE-29 นั่นก็แสดงว่า MAC Address ของแฮกเกอร์คือ 00-13-46-94-3A-EB และในทำนองเดียวทำให้เราทราบว่าไอพีแอดเดรสของแฮกเกอร์คือ 192.168.1.4 (เนื่องจาก 192.168.1.1 เป็น gateway) นอกจาโปรแกรม Switch Sniffer ที่รันบน Windows แล้ว บนระบบปฏิบัติการ Linux ก็มีโปรแกรมที่สามารถตรวจจับ/เฝ้าระวัง ARP Spoof ได้เช่นกัน โปรแกรมดังกล่าวคือ โปรแกรม ARP Watch และนอกจากนั้นยังมี ArpON (Arp handler inspectiON ) ซึ่งสามารถตรวจจับและป้องกัน ARP Spoofing/Poisioning ได้โดยใช้เทคนิคสองอย่างประกอบด้วย SARPI (Static Arp Inspection) และ DARPI (Dynamic Arp Inspcetion)
การป้องกันโดยใช้ Switch คุณภาพสูง
อุปกรณ์ Switch คุณภาพสูงและราคาแพงที่หลายยี่ห้อจะมีฟังก์ชั่นในการป้องกัน ARP Spoofing โดยจะตรวจสอบว่า ARP packet ใดที่ควรจะอนุญาต และ ARP packet ใดที่ควรจะถูกดรอปทิ้ง ตัวอย่างเช่น Layer 3-switch ของ Cisco จะมีฟังก์ชั่นที่เรียกว่า Dynamic ARP Inspection
ในขณะที่ Switch ของ Allied Telesis มีฟังก์ชั่นที่เรียกว่า ARP Security ซึ่งเป็นฟังก์ชั่นย่อยของ DHCP Snooping ที่จะอนุญาตเฉพาะ ARP packet ที่มีข้อมูลของ IP Address/MAC Address ที่ตรงกับข้อมูลที่อยู่ใน Whitelist เท่านั้น
ตัวอย่างต่อไปนี้เป็นการใช้ Dynamic ARP Inspection บน Cisco Switch
Switch(config)# ip arp inspection vlan 1
Switch(config)# interface gigabitethernet0/1
Switch(config-if)# ip arp inspecton trust
แม้ว่า Switch ของ Cisco จะสามารถป้องกัน ARP Spoof ได้โดยการกำหนดค่าเกี่ยวกับ ip arp inspection แต่ปัญหาของผู้ใช้คือ Switch ของ Cisco ราคาสูงมาก และฟังก์ชั้น ip arp inspection ก็สามารถใช้ได้เฉพาะบน Layer 3-Switch เท่านั้น เช่น รุ้น Catalyst 3500 Series ขึ้นไป ซึ่งราคาของเครื่องก็ยิ่งสูงกว่า Layer 2-Swich ขึ้นไปอีก นอกจาการนำ Layer 3-Switch มาใช้แทน Layer 2-Switch (Edge Switch) เพียงเพื่อใช้งานแค่ฟังก์ชั่นเดียวก็เหมือนขี่ช้างจับตั๊กแตน จึงได้มีการศึกษาวิจัยเพิ่มเติมอีกเพื่อค้นหาว่า Switch ยี่ห้ออื่นที่ราคาถูกที่สุดคือ ยี่ห้อใด รุ่นใด ที่สามารถป้องกัน ARP Spoof ได้ และราคาต้นทุนต่ำสุดเท่าไหร่ หากค้นพบจะได้นำความรู้เหล่านี้มาเผยแพร่ให้นักคอมพิวเตอร์ระบบเครื่อข่ายได้นำไปประยุกต์ใช้งานต่อไป
Switch ยี่ห้ออื่นๆที่ราคาถูกกว่ามากๆ เช่น TP Link, SMC และ D-Link รุ่นที่ไม่สามารถปรับคอนฟิกได้ (Unmanaged Switch) จะไม่สามารถป้องกัน ARP Spoof ได้อย่างไรก็ตามผู้เขียนได้พยายามหา Solution โดยการทดลองกับ Switch ราคาถูกเหล่านี้แล้วพบว่า Switch ของ D-Link รุ่น DES-3000 Series สามารถป้องกัน ARP Spoof ได้ สวิทซ์รุ่นนี้เป็น Managed Switch (สามารถปรับคอนฟิกได้) รุ่นเล็กๆรุ้นหนึ่งและยังเป็น Layer 2-Switch ผู้เขียนได้ทดลองกับ D-Link DES-3526 โดยการปรับค่าคอนฟิกแบบต่างๆลองดูหลายๆแบบ จึงพบว่าฟังก์ชั่น ARP Spoofing Prevention สามารถป้องกัน ARP Spoof ได้ผลดีที่สุด แต่ก่อนใช้งานเราจะต้องอัพเกรด Firmware ให้เป็นเวอร์ชั่นล่าสุดเสียก่อน การคอนฟิกจะทำโดยป้อนค่าผ่านทางบราวเซอร์ ซึ่งเราจะมองเห็นหน้าจอจัดการคอนฟิกในรูปแบบของ GUI (Graphic User Interface) เมื่อคลิกที่โหนด Security Management และคลิกที่โหนดย่อย ARP Spoofing Prevention จะพบกับช่องที่ให้ป้อนค่า IP Address และ MAC Address ที่เป็นคู่ที่ถูกต้อง การคอนฟิกอย่างง่ายเพื่อป้องกัน ARP Spoof บน D-Link DES-3000 Series ทำได้โดยง่ายเพียงแค่ “ป้อนค่า IP Address และ MAC Address ของ Gateway” จากการทดลองในห้องปฏิบัติการคอพิวเตอร์พบว่าเมื่อแฮกเกอร์ส่ง ARP Spoof มาหลอกเหยื่อว่าตนเองเป็น Gateway เขาจะไม่สามารถหลอกได้สำเร็จ ซึ่งผลการทดลองแสดงให้เห็นว่าตาราง ARP ที่เครื่องไคลเอนต์จะไม่มีการเปลี่ยนแปลง (ยังคงเป็นค่าเดิมที่ถูกต้อง) เนื่องจากการโจมตีนี้แฮกเกอร์จะต้องส่ง ARP เพื่อแจ้งว่า IP Address ของเขาคือ ไอพีแอดเดรสของ Gateway ส่วน MAC Address เป็นค่า MAC Address ของแฮกเกอร์ ซึ่งขัดแย้งกับกฏที่เราได้ตั้งไว้บน Switch ดังนั้นระบบจึงไม่ยอมรับ ARP Packet ของแอกเกอร์ นอกจากสามารถป้องกัน APR Spoof แบบ Man in The Middle แล้ว สวิทซ์รุ่นนี้สามารถป้องกันการโจมตีจากโปรแกรม Netcut ได้เช่นกัน
ARP DoS Attack และ Netcut
นอกจากการใช้ ARP Spoof เพื่อทำตัวเป็น Man In The Middle เพื่อดักจับข้อมูลแล้วแฮกเกอร์สามารถที่จะใช้ช่องโหว่ของ ARP เพื่อทำให้ระบบ LAN ไม่สามารถใช้งานได้ เทคนิคนี้เรียกว่า ARP DoS Attack (DoS ย่อมาจาก Denial of Service)
หลักการของ ARP DoS Attack
จากหัวข้อก่อนหน้านี้เราได้เรียนรู้ไปแล้วว่าแฮกเกอร์สามารถใช้ ARP Spoof ในการส่ง ARP Request หรือ ARP Reply ไปหลอกเหยื่อว่าเขาคือ Gateway ได้ เช่น การที่แฮกเกอร์ส่ง ARP Reply ไปยังเหยื่อ (Client) ว่าเครื่องแฮกเกอร์มีไอพีแอดเดรสเป็นไอพีแอดเดรสของ Gateway และ MAC Address เป็น MAC Address ของแฮกเกอร์จึงทำให้เหยื่อปรับปรุงค่าใน ARP Table ของตนเองแบบผิดๆ และเมื่อเหยื่อต้องการส่งข้อมูลออกไปยังอินเตอร์เน็ตก็จะส่งผ่านไอพีแอดเดรสของ Gateway ซึ่งเมื่อเหยื่อเปิดดูค่า MAC ในตาราง ARP แล้วส่งข้อมูลไปยังค่า MAC Address ตามที่ใน ARP Table ระบุว่าเป็น MAC Address ของ Gateway นั้น สุดท้ายข้อมมูลก็จะถูกส่งไปยังแฮกเกอร์ หากมีการปรับกลไกของ ARP Spoof ข้างต้นนี้เล็กน้อย โดยส่งค่า MAC Address ที่ไม่มีอยู่จริงแทนที่จะส่งค่า MAC Address ของแฮกเกอร์ไป เช่น MAC Address ที่สุ่มขึ้นมาแล้วส่งไปให้เหยื่อ หลังจากนั้นที่เหยื่อปรับค่าใน ARP Table แล้วเมื่อเหยื่อต้องการส่งข้อมูลออกไปยังอินเอตร์เน็ต ข้อมูลดังกล่าวจะถูกส่งไปยัง MAC Address ที่ไม่มีอยู่จริง นั้นคือข้อมูลจะไม่สามารถส่งไปจนถึงปลายทางได้ เป็นผลทำให้เหยื่อไม่สามารถติดต่อกับโฮสต์ใดๆบนอินเตอร์เน็ตได้ (รวมทั้งเครื่อข่ายอื่นและ Gateway)
Netcut
โปรแกรม Netcut เป็นโปรแกรมที่ได้รับการออกแบบมาเพื่อใช้ใรการตัดการเชื่อต่อ ทำให้คอมพิวเตอร์ภายในระบบ LAN ไม่สามารถสื่อสารกับเน็ตเวิร์กและอินเตอร์เน็ตได้ ปัจจุบันโปรแกรมนี้เป็นที่นิยมใช้กันอย่างแพร่หลายในกลุ่มนักศึกษาวัยรุ่ยที่อยู่ตามหอพัก ซึ่งเขาเหล่านั้นจะใช้เพื่อตัดคอมพิวเอตร์ของผู้อื่นไม่ให้ใช้งานอินเตอร์เน็ตได้ ทำให้เหลือเฉพาะเครื่องของเขาคนเดียวเท่านั้นที่เข้าสู่อินเตอร์เน็ตได้ เป็นผลทำให้สามารถใช้อินเตอร์เน็ตได้ด้วยความเร็วสูง (เพราะไม่มีคนอื่นมาแย่งแบนด์วิตธ์) นอกจากนั้นก็อาจจะมีเหตุผลอื่นๆ เช่น เพื่อต้องการกลั่นแกล้งผู้อื่น เป็นต้น กลไกการทำงานของ Netcut ก็คือการทำ ARP DoS Attack ดังที่ได้กล่าวไปในหัวข้อก่อนหน้านี้ (ซึ่งสาธิตการทดลองโดยใช้ Packet Builder) โปรแกรม Netcut สามารถเลือกเป้าหมาย (เหยื่อ) ได้ว่าจะตัดเครื่องใดออกจากเน็ตเวิร์คบ้าง ซึ่งสามารถเลือกได้มากกว่า 1 เครื่อง นอกจากนั้นยังสามารถเลือกตัด Gateway ได้ กลไกการทำงานภายใน Netcut นั้นหากวิเคราะห์แพ็คเก็ตดู ก็จะพบว่ามีการส่ง ARP ไปโจมตี Client หรือโจมตี Gateway เพื่อให้ไม่สามารถติดต่อสื่อสารกับโอสต์อื่นได้
โปรแกรม Netcut
การป้องกัน ARP DoS Attack และการป้องกัน Netcut
การป้องกันโปรแกรม Netcut (การป้องกัน ARP Dos Attack) สามารถทำได้โดยการกำหนด Static ARP ที่ไคลเอนต์ทุกเครื่องโดยกำหนดเพียงบรรทัดเดียวเพื่อบอกว่า IP Address ของ Gateway ทีค่า MAC Address เป็นเท่าใด (ป้อนคำที่ถูกต้องลงไป) เช่น การใช้คำสั่งบน Windows Command บนเครื่องไคลเอนต์ดังนี้
C:\>arp –s 192.168.1.1 00-90.d0-2e-ee-29
หากรีสตาร์ทเครื่องใหม่ค่า Static ARP นี้จึงจะหายไป ดังนั้นจึงอาจต้องกำหนดไว้ที่ Schedule Task ใน Control Panel เพื่อให้รับโปรแกรม C:\WINDOWS\SYSTEM32\ARP.EXE ทุกครั้งหลังจากที่มีการบู๊ตเครื่องขึ้นมา พร้อมทั้งระบุพารามิเตอร์ให้กับโปรแกรมด้วย ได้แก่ พารามิเตอร์ –s ip_gateway mac_gateway การกำหนด Satatic ARP บนไคลเอนต์ทุกเครื่องในระบบอาจจะเป็นเรื่องที่ยากลำบากสำหรับเน็ตเวิร์กที่มีเครื่องไคลเอนต์เป็นจำนวนมาก หากเปลี่ยนจากการใช้ Static ARP เป็นการติดตั้งโปรแกรม Anti-ARP ก็จะเป็นเรื่องที่ทำง่ายขึ้น แต่โปรแกรม Anti-ARP เวอร์ชั่นทดลองใช้ สามารถใช้งานได้ไม่เกิน 15 วัน ดังนั้นเราอาจจะต้องแก้ปัญหาโดยซื้อเวอร์ชั่นจริงมาใช้ หรือไม่ก็เขียนโปรแกรมที่ทำงานในลักษณะเดียวกันนี้ขึ้นมาใช้เอง อย่างไรก็ตามผู้โจมตีด้วย Netcut สามารถสั่งให้ Netcut ไปตัด Gateway ได้ (ไม่ใช่การตัดไคลเอนต์) ซึ่งการตัด Gateway นี้โปรแกรม Netcut จะส่ง ARP DoS Packet ไปโจมตี Gateway โดยตรงทำให้ค่า ARP Table บน Gateway Router ถูกกำหนดอย่างผิดๆ ทำให้ข้อมูลขากลับที่เซิร์ฟเวอร์บนอินเตอร์เน็ตส่งกลับมาใช้บนไคลเอนต์แต่ละเครื่องนั้นเดินทางมาไม่ถึงดครื่องไคลเอนต์ วิธีการแก้ปัญหานี้จะขึ้นอยู่กับว่าเน็ตเวิร์กนั้นใช้สิ่งใดเป็น Gateway เช่น
-Cisco Router/L3 Switch (หรือยี่ห้ออื่นที่ใช้ Static ARP ได้) วิธีแก้ไขทำได้โดยกำหนด Static ARP บน Command ของ Router/L3 Switch
-Linux PC Router วิธีแก้ไขทำได้โดยกำหนด Static ARP บน Command ของ Linux
-Windows PC Router วิธีแก้ไขทำได้โดยกำหนด Static ARP บน Command ของ Wondows หรือใช้โปรแกรม Amti-ARP เสริม
-อุปกรณ์ Router ราคาถูกที่ไม่สามารถกำหนด Static ARP ได้ วิธีแก้ไขทำได้โดยเลือกอย่างใดอย่างหนึ่งต่อไปนี้
-เปลี่ยนอปกรณ์ Router ให้เป็นรุ่นที่สามารถทำ Static ARP ได้ (อาจจะต้องใช้เงินจำนวนมากในการซื้ออุปกรณ์)
-นำ Linux มาเป็น Gateway ซ้อน 2 ชั้น โดยให้ Linux อยู่ตรงกลางระหว่าง Layer 2-Switch กับ Gateway Router แล้วทำ Static ARP บน Linux (วิธีนี้ใช่เงินน้อยแต่ผู้ทำจะต้องมีความรู้ในการติดตั้ง เช่น บน Linux จะต้องใส่การ์ด LAN 2 ใบ และมีการติดตั้งค่า Routing หรือ NAT เพื่อให้ส่งต่อ (rout) แพ็คเก็ตได้ และบางครั้งหากใช้ DHCP ก็อาจจะต้องกำหนด DHCP Relay Agent หรือใช้ตัว Linux เองเป็นตัวแจกจ่ายไอพีแอดเดรส เป็นต้น) ผู้เขียนแนะนำให้ใช้วิธีนี้เฉพาะสามารถป้องกันได้ 100% โดยลงทุนไม่มาก
การป้องกัน Netcut โดยใช้สวิทซ์ D-Link DES-3000 Series
ถึงแม้ว่าการป้องกันการโจมตีจากโปรแกรม Netcut โดยการตั้งค่า Static ARP ที่ Client และที่ Gateway สามารถป้องกันได้ 100% แต่ปัญหาอยู่ที่ความยากลำบากในการบริหารจัดการ เช่น หน่วยงานที่มีไคลเอนต์อยู่เป็นจำนวนมาก หรือบางครั้งจำเป็นต้องเปลี่ยนอุปกรณ์ Gateway ใหม่เพื่อให้สนับสนุน Static ARP อย่างไรก็ตามการป้องกัน Netcut ก็สามารถทำได้โดยวิธีการอื่น ซึ่งไม่จำเป็นต้องทำ Static ARP ตัวอย่างเช่น การใช้ฟังก์ชั่น ARP Spoofing Prevention ที่มี่อยู่บนสวิทซ์ D-Link รุ่น DES-3000 Senes การป้องกันโดยวิธีนี้ เราจะต้องอัพเกรดเฟริร์มแวร์ให้เป็นเวอร์ชั่นที่ทันสมัย (Version 5.01.B60 หรือใหม่กว่า) จากนั้นก็ตั้งค่าผ่านทางเว็ปในโหมด Security Management และคลิกที่โหนดย่อย ARP Spoofing Prevention จะพบกับช่องที่ให้ป้อนค่า IP Address และ MAC Address ที่เป็นคู่ที่ถูกต้อง การคอนฟิกอย่างง่ายเพื่อป้องกัน ARP Spoof บน D-Link DES-3000 Series ทำได้โดย “การป้อนค่า IP Address และ MAC Address ของ Gateway” สามารถป้องกัน “ARP Packet ที่ส่งมาเล่นงานไคลเอนต์” ได้ แต่อย่างไรก็ตามถ้าหากแฮกเกอร์ส่ง ARP Packet ไปเล่นงาน Gateway โดยแจ้งว่าไคลเอนต์ (ที่แฮกเกอร์ตั้งใจจะโจมตี) มี MAC Address เป็นค่าที่ไม่มีอยู่จริง ก็จะทำให้แพ็กเก็ตขาเข้ามี่ส่งกลับมาจากอินเตอร์เน็ตไม่สามารถส่งมายังไคลเอนต์ได้ ทำให้ไคลเอนต์ใช้งานอินเตอร์เน็ตได้ไม่สมบูรณ์ ดังนั้นวิธีการป้องกันที่ได้ผล 100% (โดยไม่ใช้ Static ARP) ก็คือ การเพิ่มข้อมูลการจับคู่ระหว่าง IP Address และ MAC Address ของไคลเอนต์ทุกเครื่องเข้าไปให้ Switch ทราบ
DHCP Attack
การโจมตีเกียวกับ DHCP ที่พบเห็นได้บ่อย ได้แก่
1. การโจมตีด้วยเทคนิค DHCP Spoofing โดยการตั้ง DHCP Server เถื่อน (Rogue DHPC Server) เพื่อทำให้แฮกเกอร์เป็น Man In The Middle โดยแทนที่ Gateway หรือ DNS Server แล้วดักจับข้อมูล
2. การโจมตีด้วยเทคนิค DHCP Spoofing โดยการตั้ง DHCP Server เถื่อนเพื่อทำให้เหยื่อไม่สามารถติดต่อกับเน็ตเวืร์กและอินเตอร์เน็ตได้ ก็จัดว่าเป็น DoS Attack ชนิดหนึ่ง
3. การโจมตี DHCP Server เพื่อหลอกให้ DHCP Server แจกจ่าย IP Address ออกไปทั้งหมด จนไม่สามารถที่จะแจกจ่ายได้อีก วิธีการนี้เรียกว่า DHCP flood และจัดอยู่ใน DoS Attack เช่นกัน
DHPC Spoof เพื่อทำให้แฮกเกอร์เป็น Man In The Middle
แฮกเกอร์จะใช้โปรแกรม DHCP ที่อยู่บน Windows Server 2003/2008 หรือ dhcpd บน Linux หรือการใช้โปรแกรม/อุปกรณ์ฮาร์ดแวร์อื่นที่สามารรถทำงานเป็น DHCP Server ได้ เพื่อทำตัวเป็น DHCP Server เถื่อน (Rogue DHCP Server) เพิ่มเข้ามาในเครื่อข่าย และตั้งค่าให้แจกจ่ายไอพีแอกเดรสในช่วงที่ได้กำหนดไว้ พร้อมทั้งแจกจ่ายค่า Gateway ที่เป็นค่าไอพีแอดเดรสของฉอกเกอร์ เพื่อนที่อพ็กเก็ตต่างๆ จะได้วื่งผ่านเครื่องของแฮกเกอร์ แล้วแฮกเกอร์จึงสามารถดักจับข้อมูลได้ หรือแฮกเกอร์จะแจกจ่ายค่า Gateway ที่ถูกต้อง แต่แจกจ่ายค่า DNS Server ที่ชี้ไปยังไอพีแอดเดรสของแฮกเกอร์แทน แล้วติดตั้ง DNS Server หลอกเพื่อแปลงค่า Domain name เป็น IP Address ที่แฮกเกอร์ต้องการได้ (เช่น ตั้งให้ DNS Server ของแฮกเกอร์แปลงค่าโดเมนเนมจากชื่อ hotmail.com ไปเป็นไอพีแอดเดรสของแฮกเกอร์)
การทำงานของ DHCP เป็นการทำงานแบบบรอดคาสต์ ไม่มีการตรวจสอบตัวตนของผู้ร้องขอไอพีแอดเดรส (ไม่ตรวจสอบ DHCP Client) และไม่มีการตรวจสอบตัวตนของผู้แจกจ่ายไอแอดเดรส (ไม่ตรวจสอบ DHPC Server) ดังนั้นหากตั้ง Rogue DHCP Server ขึ้นมา (DHCP Server เถื่อน) เมื่อไคลเอนต์ร้องขอไอพีแอดเดรสโดยส่ง DISCOVERY แบบบรอดคาสต์ออกไป เครื่อง Rouge DHCP Server ของแฮกเกอร์ซึ่งอยู่ใกล้เหยื่อมากกว่า DHCP Server ตังจริงจะได้รับ DISCOVERY นี้ก่อน จากนั้น Rogue DHCP Server ฏ้จะส่ง OFFER ไปให้ไคลเอนต์ (เหยื่อ) โดยตรงเพื่อเสนอค่าไคลเอนต์ ซึ่งไคลเอนต์จะไม่สามารถตรวจสอบได้ว่าเป็น DHPC Server ตัวตริงหรือ Rogue DHCP Server (ช่องโหว่ของโปรโตคอล DHCP) จากนั้นไคลเอนต์ตอบตกลงที่จะใช้ไอพีแอดเดรสดังกล่าวแล้วสั่ง REQUEST ออกไปแบบบรอดคาสต์ Rogue DGCP Server ก็จะส่ง ACKNOWLEDGE ไปยังไคลเอนต์เพื่อเป็นการยืนยันสุดท้ายไคลเอนต์ที่ตกเป็นเหยื่อจะใช้ไอพีแอดเดรสที่ Rogue DHCP Server แจกจ่ายไปพร้อมทั้งค่า Gateway และ DNS ที่ทำปลอมขึ้นมา
ไคลเอนต์ที่ตกเป็นเหยื่อของ Rogue DHCP Server นี้เป็นไคลเอนต์ที่เพิ่งจะเชื่อต่อเน็ตเวิร์กหลังจากที่แฮกเกอร์เปิดใช้งาน Rouge DHCP Server หากเป็นกรณีที่ฉอกเกอร์เป็นพนักงานในออฟฟิสและทำการเปิด Rogue DHCP Serer ไว้ตั้งแต่เช้ามืดหรือเปิดไว้ตั้งแต่ช่วงกลางคืนของเมื่อวาน ไคลเอนต์ที่จะตกเป็นเหยื่อก็คือคอมพิวเตอร์ทุกเครื่องในออฟฟิสแห่งนั้น แฮกเกอร์สามารถดักจับข้อมมูลที่สำคัญได้โดยใช้วิธีการทั้ง 2 อย่างดังนี้ (อย่างใดอย่างหนึ่งหรือทั้งสองอย่าง)
แจกจ่ายค่า Gateway ที่เป็นไอพีแอดเดรสของแฮกเกอร์
แฮกเกอร์จะแจกจ่ายค่า Gateway ที่ไม่ใช่ค่าจริงออกไป โดยค่า Gateway ปลอมนั้นอาจจะเป็นไอพีแอดเดรสของ Rogue DHCP Server เองหรือเป็นไอพีแอดเดรสของเครื่องแฮกเกอร์อีกเครื่องหนึ่งโดย Gateway ปลอมนี้ต้องสามารถส่งผ่านแพ็กเก็ต (forward packet) ไปยังเน็ตเวิร์กอื่นและอินเตอร์เน็ตได้จริง เช่น เครื่องนี้อาจจะมีการเชื่อมต่ออยู่กับเน็ตเวิร์ก 2 เน็ตเวิร์กและทำ Dynamic NAT ไว้เพื่อแชร์คอนเน็คชั่น ดังนั้นไคลเอนต์ทุกเครื่องที่ได้รับค่า Gateway ปลอมนี้จะส่งแพ็ตเก็ตผ่านมายัง Gateway ปลอมในทุกครั้งที่ไคลเอนต์ส่งข้อมูลออกไปยังอินเตอร์เน็ต แฮกเกอร์สามารถรันโปรแกรม Ethereal Wireshark, Sniffer, CAIN หรือโปรแกรมดักจับข้อมูลอื่นๆบน Gateway ปลอม เพื่อดักจับเอารหัสผ่านและ Cookie/Session ID ได้
แจกจ่ายค่า DNS ที่เป็นไอพีแอดเดรสของแฮกเกอร์
แฮกเกอร์จะแจกจ่ายค่า DNS ที่ไม่ใช่ค่าจริงออกไป โดยค่า DNS ปลอมนั้นอาจเป็นไอพีแอดเดรสของ Rogue DHCP Server เองหรือเป็นไอพีแอดเดรสของเครื่องแฮกเกอร์อีกเครื่องหนึ่ง โดย DNS ปลอมนี้ จะมีการตั้งค่าให้สามารถส่งผ่าน DNS Request หรือเรียกว่าทำงานเป็น DNS forward/DNS Cache ได้ เพื่อที่จะส่งคำร้องขอไปยัง DNS Server อินเตอร์เน็ตได้ตริง เพื่อการแปลงค่าโดเมนเนมให้เป็น IP Address ได้ถูกต้อง ยกเว้นโดเมนเนมที่แฮกเกอร์ได้สร้างโซน (DNS Zone) ไว้ใน DNS Cache บนเครื่องของแฮกเกอร์ เช่น หากมีการสร้างโซนไว้จำนวนหนึ่ง แล้วกำหนดให้แปลงเป็น IP Address ของแฮกเกอร์ (สมมุติว่าเป็น 192.168.1.99) ดังนี้ (ตัวอย่างข้อมูลในโซน hotmail.com และโซน live.com)
www.hotmail.com 192.168.1.99
hotmail.com 192.168.1.99
login.live.com 192.168.1.99
หากไคลเอนต์รู้จัก (เหยื่อ) ล็อกอินเช้าสู่ hotmail บราวเซอร์ของเหยื่อก็จะเชื่อมต่อไปยังไอพีแอดเดรสของแฮกเกอร์ ซึ่งแฮกเกอร์ได้เปิดบริการ http/https ไว้ พร้อมทั้งปลอมหน้าจอแรกให้เหมือนกับหน้าจอที่ใช้ล็อกอินเข้าสู้ hotmail หากเหยื่อหลงกลโดยป้อน e-mail และ password แล้วกดปุ่มล็อกอิน Web Application ของแฮกเกอร์ก็จะได้รับรหัสผ่านของเหยื่อและเก็บบันทึกไว้ จากนั้นอาจจะมีการ redirect ไปเวบไซด์จริง เช่น http://65.54.186.17 ซึ่งเป็นไอพีแอดเดรสจริงของ hotmail (login.live.com)
การที่เหยื่อเข้าสู่เวบไซด์ที่แฮกเกอร์ไม่ได้ตั้งค่าโซนไว้ DNS Cache ของแฮกเกอร์ก็จะทำงานในลักษณะ forwarder เพื่อที่จะแปลงค่าโดเมนเนมไปเป็นไอพีแอดเดรสได้อย่างถูกต้อง เพื่อให้เหยื่อเข้าสู่เวบไซด์จริงได้
DHCP Spoofing เพื่อโจมตีแบบ DoS
DHCP Spoofing เพื่อโจมตีไคลเอนต์แบบ DoS
การโจมตีเพื่อทำให้ไคลเอนต์ไม่สามารถใช้งานอินเตอร์เน็ตได้นั้น สามารถทำได้อีกวิธีหนึ่งโดยใช้ Rogue DHCP Server ดังนี้
· แจกจ่ายค่า Gateway ที่ไม่มีอยู่จริง เมื่อไคลเอนต์ที่ตกเป็นเหยื่อได้รับ IP Address จาก Rouge DHCP Server และได้รับค่า Gateway ซึ่งไม่มีอยู่จริงก็จะไม่สามารถสื่อสารกับโอสต์ที่อยู่บนเน็ตเวิร์กอื่นได้ (รวมทั้งอินเตอร์เน็ต) เนื่องจากไม่สามารถส่งแพ็คเก็ตไปยัง Gateway ตัวจริงได้ ทำให้แฟ็ตเก็ตไม่สามารถเดินทางไปถึงปลายทางได้
· แจกจ่ายค่า DNS ที่ไม่มีอยู่จริง เมื่อไคลเอนต์ที่ตกเป็นเหยื่อ ได้รับ IP Address จาก Rogue DHCP Server และได้รับค่า DNS ซึ่งไม่มีอยู่จริงจะไม่สามารถสื่อสารกับโฮสต์บนอินเตอร์เน็ต โดยการอ้างอิงถึงโดเมนเนมได้ (เช่น อ้างอิง http://www.google.com) เนื่องจากกระบวนการแปลงจากโดเมนเนมให้เป็น IP Address จะไม่สามารถทำได้สำเร็จ แต่อย่างไรก็ตามหากอ้างผ่าน IP Address ยังสามารถใช้งานได้อยู่ ( เช่น อ้างถึง http://74.125.153.104) เพราะไม่ต้องอาศัยกระบวนการ resolve hostname ในกรณีที่แฮกเกอร์แจกค่า WINS ที่ไม่มีอยู่จริง ก็จะทำให้เหยื่อไม่สามารถสื่อสารกับโฮสต์อื่นๆบนเน็ตเวิร์กเดียวกันได้ (ผ่านทางการอ้างชื่อ) เพราะการติดต่อกับคอมพิวเตอร์ที่อยู่บน LAN และอยู่บนเน็ตเวิร์กเดียวกัน เช่น การอ้างถึงไฟล์ที่แชร์บนคอมพิวเตอร์อื่นผ่านทางชื่อเครื่อง เช่น \\target_computer จะใช้ WINS ในการแปลงจากชื่อคอมพิวเตอร์ให้เป็นไอพีแอดเดรส แต่อย่างไรก็ตามการอ้างอิงถึงไอพีแอดเดรสโดยตรงก็ยังสามารถทำได้
· แจกจ่ายค่า IP Address ที่ไม่มีอยู่จริง เมื่อไคลเอนต์ที่ตกเป็นเหยื่อได้รับ IP Address จาก Rogue DHCP Server แค่เป็นค่าไอพีแอดเดรสที่ไม่สามารถใช้งานได้ เช่น ไฟล์วอลล์ เปิดให้ไคลเอนต์ที่มีไอพีแอดเดรสในช่วง 192.168.100-200 เท่านั้น ที่สามารถรับส่งข้อมูลกับอินเตอร์เน็ตได้หากแฮกเกอร์กำหนดให้ Rogue DHCP Server แจกไอพีนอกช่วง เช่น 192.168.201-254 ไปให้เหยื่อติดต่อกับอินเทอร์เน็ตไม่ได้ หรือหากแฮกเกอร์แจกไอพีนอกช่วง เช่น 192.168.2.1-254. mask = 255.255.0.0 และแจกจ่าย Gateway และ DNS ที่ถูกต้อง หากค่า mask เดิมที่ใช้งานได้ปกติเป็น 255.255.255.0 ไคลเอนต์ก็จะไม่สามารถติดต่อกับเน็ตเวิร์กอื่นได้เช่นกัน เพราะถึงแม้แพ็กเก็ตขาออกจะวิ่งผ่าน Gateway ที่ถูกต้องและได้รับการ route ไปถึงปลายทางจริง แต่แพ็กเก็ตขาเข้าเมื่อวิ่งกลับมาถึง Gateway ตัว Gateway จะสามารถส่งกลับมายังต้นทาง (เครื่องของเหยื่อ) ได้
DHCP Spoofing เพื่อโจมตี DHCP Server แบบ DoS
นอกจากการปลอมตัวเป็น DHCP Server เพื่อโจมตีไคลเอนต์แล้ว ยังมีการปลอมตัวเป็นไคลเอนต์เพื่อโจมตี DHCP Server เช่นกัน การโจมตีนี้ทำได้โดยการส่งคำร้องขอ IP Address โดยใช้ MAC Address ต้นทางที่ทำปลอมขึ้นมาแล้วส่งคำขอไปยัง DHCP Server เมื่อ DHCP Server ได้รับคำร้องขอนี้จะตรวจสอบค่า MAC Address ซึ่งพบว่าเป็น MAC Address ค่าใหม่ก็จะแจกจ่าย IP Address ใหม่ที่ยังเหลืออยู่มาให้ไคลเอนต์ (แฮกเกอร์) ดังนั้นหากแฮกเกอร์ปลอม MAC Address ใหม่และแกล้งขอ IP Address แบบนี้เรื่อยๆ DHCP Server ก็จะแจกจ่าย IP Address ไปจนหมด หลังจากนั้นหากมีไคลเอนต์ตัวจริงที่ต้องการ IP Address ส่งคำร้องขอไป DHCP Server ก็จะไม่มี IP Address ที่จะแจกจ่ายให้ได้อีก การโจมตีแบบนีเรียกว่า DHCP flooding สามารถทำได้โดยใช้โปรแกรมชื่อ dhcpx ซึ่งรันบน Linux
การป้องกัน DHCP Attack
การตรวจสอบและการป้องกันการแจกจ่าย Gateway ปลอม
การตรวจสอบแบบแมนนวลทำได้โดย ตรวจสอบค่า Gateway ที่ได้รับว่าเป็นหมายเลขจริงที่เคยได้รับทุกๆครั้งก่อนหน้านี้หรือไม่ เช่น เน็ตเวิร์กที่ Gateway จริงมีค่าไอพีแอดเดรสเป็น 192.168.1.1 แต่หากวันหนึ่งได้ค่า Gateway เป็น 10xxx อาจเป็นสัญญาณว่ากำลังถูกโจมตีด้วย DHCP Spoof เพื่อแจกจ่าย Gateway ปลอมได้ การตรวจสอบค่า Gateway ทำได้โดยใช้คำสั่ง ipconfig/all บน Windows Command หรือใช้โปรแกรม DHCP Explorer ช่วยตวจสอบ Rogue DHCP หากเน็ตเวิร์กใดใช้ Switch คุณภาพสูง เช่น Cisco Switch ก็สามารถใช้ฟังก์ชั่น DHCP Snooping เพื่อสอดแนมการทำงานของโปรโตคอล DHCP ได้ นอกจากนั้น Cisco Switch ยังให้เราสามารถกำหนดได้ว่าจะอนุญาตให้เชื่อต่อกับ DHCP Server บน Port (ช่องเสียบสายสัญญาณ) ช่องใดได้บ้าง
โปรแกรม DHCP Explorer ช่วยตรวจสอบ Rogue DHCP Server
การตรวจสอบและป้องกันการแจกจ่าย DNS ปลอม
การตรวจสอบแบบแมนนวลทำได้โดย ตรวจสอบค่า DNS ที่ได้รับว่าเป็นหมายเลขจริงที่เคยได้รับในทุกๆครั้งก่อนหน้านี้หรือไม่ เช่น เน็ตเวิร์กที่ DNS จริงทีค่าไอพีแอดเดรสเป็น 200.20.20.1 แต่หากวันใดวันหนึ่งได้ค่า DNS เป็น 192.168.1.x (หมายเลขเน็ตเวิร์กเดียวกันกับไอพีแอดเดรส) ก็อาจจะเป็นสัญญาณว่ากำลังถูกโจมตีด้วย DHCP Spoof เพื่อแจกจ่าย DNS ปลอมได้ การตรวจสอบค่า DNS ทำได้โดยใช้คำสั่ง ipconfig/all บน Windows Command หรือใช้โปรแกรม DHCP Explorer ช่วยตรวจสอบ นอกจากนั้น เรายังสามารถป้องกันโดยใช้ DHCP Snooping บน Cisco Switch ได้เช่นกัน
การป้องกัน DHCP Flooding
การโจมตีที่มาจากไคลเอนต์เป็นการโจมตี DHCP Sever ด้วยวิธี DHCP Flooding นั้นเราสามารถป้องกันได้โดยวิธีการเดียวกันกับการป้องกัน MAC Spoofing
การป้องกัน Rogue DHCP โดยใช้ DHCP Snooping บน Cisco Switch
DHCP Snooping เป็นฟังก์ชั่นบน Cisco Switch ที่ออกแบบมาเพื่อป้องกันการทำงานของ Rogue DHCP Server และสามารถใช้ร่วมกับฟังก์ชั่น Dynamic ARP Inspection เพื่อป้องกัน ARP Spoof/Poision เช่น การทำงานของโปรแกรม Switch Sniffer ได้ สามารถป้องกัน ARP DoS Attack อย่างการทำงานของเน็ตคัต (Netcut) ได้ เกี่ยวกับ DHCP Snooping เราต้องไปกำหนดที่ Switch ว่าจะให้ Port (ช่องเสียบ) ใดเป็น Trust และให้ Port ใดเป็น Untrust จากนั้น Switch จะสร้าง DHCP Snooping Table ซึ่งเป็นตารางที่ใช้ตรวจสอบการจับคู่ที่ถูกต้องของ IP Address กับ MAC Address ฟังก์ชั่น DHCP Snooping จะตรวจสอบ DHCP OFFER ว่ามาจาก port ที่เรากำหนดว่าเป็น Trust หรือไม่ ถ้ามาจาก port ที่กำหนดไว้ว่าให้เป็น Trust มันจะอนุญาตแพ็กเก็ตนั้น แต่หากมาจาก port ที่เป็น Untrust มันจะดรอปแพ็กเก็ตทิ้ง หรือเราจะปรับค่าคอนฟิกเพื่อให้ Switch สั่งชัตดาวน์หรือ Disable Port นั้นก็ได้
ตัวอย่างการใช้งาน DHCP snooping บน Cisco Switch
Switch# configure terminal
Enter configuration command, one per line. End with CNTL/Z.
Switch(config)# ip dhcp snooping
Switch(config)# ip dhcp snooping vlan 10 100
Switch(config)# ip dhcp snooping information option
Switch(config-if)# ip dhcp snooping trust
Switch(config-if)# ip dhcp snooping limit rate 100
Switch(config-if)# end
Switch# show ip dhcp snooping
DHCP Snooping is configured on the following VLANs:
10 30-40 100 200-220
Insertion of option 82 information is enabled.
Interface Trusted Rate limit (pps)
---------- --------- ------------------
FastEthernet2/1 yes 10
FastEthernet2/2 yes none
FastEthernet3/1 no 20
Switch#
การป้องกันโดยใช้สวิทซ์ D-Link
สวิทซ์ D-Link รุ่น DES-3000 Series สามารถป้องกัน Rogue DHCP Server ได้โดยการตั้งค่าที่โหนด Security Management à Filter à DHCP Server Screening Setting โดยระบุว่าจะป้องกันไม่ให้มี DHCP Server (ปลอม) ที่มาจากช่องใดได้บ้าง ตัวอย่างในรูปที่ 17 กำหนดค่า Frcm = Port2 To = Port26, State = Enable เมื่อคลิกปุ่ม Apply จะเป็นการบล็อค DHCP Server ปลอม ที่ติดอยู่กับช่องที่ 2, 3,4,....26 โดยสวิทซ์จะอนุญาตเพียงช่องที่ 1 เท่านั้นที่เชื่อมต่อกับ DHCP Server
MAC Spoofing
การสื่อสารในระดับ Layer-2 (Data Link Layer) ของ OSI Reference Model จะต้องใช้ MAC Address เพื่อเป็นหมายเลขระบุตัวตนของผู้ส่งและผู้รับ ซึ่งการรับส่งเฟรมข้อมูล (Layer-2 data) จะเป็นหน้าที่ของ Card Network โดยการ์ดแต่ละใบจะมีการตั้งค่า MAC Address ในระดับกายภาพโดยการเบิร์นไว้ใน ROM ของ Card Network ซึ่งไม่สามารถเปลี่ยนแปลงค่าได้เนื่องจากเป็นฮาร์ดแวร์ ดังนั้น MAC Address จึงถูกเรียกอีกชื่อหนึ่งว่า Physical Address แต่อย่างไรก็ตามในการใช้งานจริงคอมพิวเตอร์จะไม่อ่านค่า MAC Address จากการ์ดเน็ตเวิร์กทุกครั้ง แต่จะอ่านค่า MAC Address จากหน่วยความจำที่เคยเก็บไว้แทน ดังนั้นหากแก้ไขหน่วยความจำตำแหน่งที่ใช้เก็บค่า MAC Address ก็จะเป็นการเปลี่ยนค่า MAC Address ได้ (เป็นการเปลี่ยน Source Address ของเฟรมข้อมูล Layer-2 ไม่ใช่การเปลี่ยนค่า MAC Address จริงภายใน Card Network)
ทำไมแอกเกอร์ต้องปลอมแปลงค่า MAC Address
การโจมตีระบบ แฮกเกอร์จำเป็นต้องปลอมแปลง IP Address และ MAC Address เพื่อเป็นการพรางตัวขณะที่แฮกเกอร์โจมตีระบบหากมีการตรวจสอบย้อนกลับ ผู้ตรวจสอบจะเข้าใจผิดคิดว่าถูกโจมตีมาจากไอพีแอดเดรสอื่นไม่ใช่ไอพีแอดเดรสจริงๆของฉอกเกอร์ (การตรวจสอบให้แน่ชัดว่าต้นตอมาจากที่ใดกันแน่ จะต้องใช้เวลานานพอสมควร) การที่แฮกเกอร์ปลอมไอพีแอดเดรสโดยใช้การเกาะพร็อกซี่นั้น สามารถตรวจสอบย้นกลับได้จาก Log File ของ Web Application ปลายทาง ซึ่งสามารถตรวจสอบได้ว่ามาจากพร็อกซี่และหากมาจากพร็อกซี่จริง หลักฐานไอพีแอดเดรสที่แท้จริงของแฮกเกอร์จะอยู่ใน Log File ของพร็อกซี่ที่แฮกเกอร์ใช้ ดังนั้นหากสามารถตรวจสอบจากเจ้าของพร็อกซี่จนทราบค่าไอพีแอดเดรสของแฮกเกอร์ได้ ก็จะทำให้ทราบว่ามาจากหน่วยงานใด จากนั้นก็ไม่ยุ่งยากแล้วที่จะตามดูว่ามาจากคอมฟิวเตอร์เครื่องใด เพราะข้อมูลของการแจกจ่ายไอพีแอดเดรสจะอยู่บน Log File ของ DHCP Server ของเน็ตเวิร์คต้นทางว่าได้แจกจ่ายไอพีแอดเดรสหมายเลขดังกล่าวให้กับ MAC Address ใดในช่วงเวลานั้น หากแฮกเกอร์ปลอมแปลงค่า MAC Address ให้เป็น MAC Address ของผู้อื่นหรือปลอมเป็น MAC Address ที่ไม่มีจริง ก็ทำให้การตามตัวแฮกเกอร์เป็นไปได้ลำบากมาก จึงเป็นเหตุผลว่าทำไมต้องมีการปลอม MAC Address
นอกจากเหตุผลเกี่ยวกับการพรางตัวแล้วแฮกเกอร์มักจะปลอม MAC Address เพื่อการลอดผ่าน Access Control เช่น MAC ACLs ของ Cisco Router ที่ตั้งไว้เช่นตัวอย่างดังนี้
mac access-list acl-mac-01
permit 00c0.4f00.009b any any
permit 00c0.4f00.00a7 any any
permit 00c0.4f00.00c3 any any
. . .
Interface Ethernet 2/1
mac port access-group acl-mac-01
จาก MAC ACLs ข้างต้นเป็นการอนุญาตให้คอมพิวเตอร์ที่มี MAC Address หมายเลขที่ระบุเท่านั้นที่สามารถสื่อสารกับทุกโฮสต์และทุกโปรโตคอลได้ ดังนั้นหากแฮกเกอร์ปลอมค่า MAC Address ให้ตรงกับค่าใดค่าหนึ่งในนั้นก็สามารถที่จะลอดผ่าน MAC ACLS นี้ได้ อุปกรณ์ Access Point ที่ได้รับการตั้งค่า Security โดยการกำหนดให้อนุญาตเฉพาะ MAC Address บางหมายเลขเท่านั้นที่จะใช้งาน Wireless LAN ได้ แฮกเกอร์สามารถโกงโดยการเปลี่ยนค่า MAC Address ให้เป็นค่าที่ Access Point อนุญาตได้เช่นกัน ซึ่ง WiFi ของผู้ให้บริการบางรายก็อาจจะมีช่องโหว่นี้อยู่ด้วย
วิธีการเปลี่ยนค่า MAC Address
เราสามารถเปลี่ยนค่า MAC Address บน Linux ได้ดังตัวอย่างต่อไปนี้
[root@localhost root]# ifconfig eth1 down
[root@localhost root]# ifconfig eth1 hw ether 00:02:2D:07:E1:FF
[root@localhost root]# ifconfig eth1 up
[root@localhost root]# ifconfig eth1
ethl Link encap: Ethernet HWaddr 00:02:07:E1:FF
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:15 errors:2388 dropped:0 overruns:0 frame:2388
TX packets:10 erroes: 0 dropped:0 overruns:0 carrier:0
Collision:0 txqueuelen:100
RX bytes:720 (720.0 b) TX bytes: 3300 (3.2 Kb)
Interrupt:3 Base address:0x100
สำหรับการเปลี่ยนค่า MAC Address บน Windows สามารถเปลี่ยนได้โดยเข้าไปแก้ไขดังนี้
- เลือกเมนู Start à Control Panel à Network Connections
- คลิกขวาที่ Local Area Connection à เลือกเมนู Properties à คลิกปุ่ม Configure.. à เลือกแท็บ Advance
- ในช่อง Property: ด้านซ้ายมือ à เลือก Network Address à ด้านขวาเลือก à ป้อนค่า MAC Address ที้ต้องการจะให้เป็น
การเปลี่ยนค่า MAC Address บน Windows XP
การเปลี่ยนค่า MAC Address ตามวิธีการข้างต้น หาก Card Network ไม่สนับสนุนก็จะไม่มีตัวเลือก Network Address ในด้านซ้ายมือให้เลือก ดังนั้นหากต้องการเปลี่ยนค่า MAC Address จะต้องใช้โปรแกรมอื่นมาช่วย เช่น โปรแกรม MAC MackeUp หรือโปรแกรม MAC Address Changer
การตรวจสอบค่า MAC Address บน Windows ทำได้โดยใช้คำสั่ง ipconfig/all ดังนี้
C:\>ipconfig/all
Windows IP Configuration
Host Name……………………………………: pc
Primary Dns Suffix …………………………..:
Node Type…………………………………….: Unknown
IP Router Enabled……………………………..: No
WINS Proxy Enabled………………………….: No
DNS Suffix Search List………………………..: lan
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix . : lan
Description…………………….....: Marvell Yukon 88E8001/8003/8010 PCI
Gigabit Ethernet Controller
Physical Address………………….: AA-BB-CC-DD-EE-FF
Dhcp Enabled……………………..: Yes
Autoconfiguration Enabled……….: Yes
IP Address…………………….......: 192.168.1.2
Subnet Mask………………………...: 255.255.255.0
Default Gateway……………………: 192.168.1.1
DHCP Server……………………….: 192.168.1.1
DNS Servers………………………..: 192.168.1.1
Lease Obtained……………………..: Tuesday, May 26, 2009 22:30:50
Lease Expires………………………: Wednesday, May 27, 2009 22:03:50
C:\>
การโจมตีด้วยวิธีการปลอมแปลงค่า MAC Address
การปลอมแปลงค่า MAC Address นอกจากเหตุผลเพื่อเป็นการพรางตัวในการเจาะระบบแล้วก็ยังมีการโจมตีอื่น ที่ต้องมีการปลอม MAC Address เช่น
การโจมตี DHCP Server ด้วยวิธีการ DHCP Flooding
การโจมตีด้วยวิธีนี้เป็นการหลอกให้ DHCP Server แจกจ่าย IP Address ออกๆปจนหมดจนไม่เหลือสำหรับการแจกจ่ายให้ผู้ใช้จริง โปรแกรมที่นิยมใช้ ได้แก่ dhcpx ที่มากับแผ่น Back Track
การปลอมตัวเป็นบุคคลอื่นในระบบ LAN
การปลอมตัวเป็นบุคคลอื่นในระบบ LAN คือ การปลอมทั้งค่า MAC Address. IP Address. Computer Name และ Workgroup Name เพื่อไม่ให้ผู้ดูแลระบบสแกนเจอ ในขณะที่แฮกเกอร์และเหยื่อสามารถใช้งานอินเตอร์เน็ตได้พร้อมกัน และระบบปฏิบัติการก็ไม่แจ้งว่า IP Address ชน การตั้งค่า IP Address และ IP Address ให้ตรงกันกับเครื่องของเหยื่อ ยังสามารถทำให้แฮกเกอร์แอบดักจับข้อมูลบางส่วนที่เชริฟเวอร์ในอินเทอร์เน็ตส่งกลับมาให้เหยื่อได้อีกด้วย (โดยไม่ต้องทำ ARP Spoof)
การดักจับข้อมูล Cookie/Session ID ของเว็บ โดยวิธีการแทนที่ Gateway
วิธีการนี้ได้ทดลองตั้งค่า MAC Address และค่า IP Address แบบ Static ให้เป็นค่าเดียวกันกับค่า MAC Address และ IP Address ของ Gateway จากนั้นก็เขียน batch file เพื่อให้เครื่องที่ใช้โจมตีส่งแพ็กเก็ตเล็กๆไปยังอุปกรณ์ Switch ทุกๆ 3 วินาที (ใช้คำสั่ง ping ไปยังไอพีแอดเดรสอื่นสลับกับ ping ตัวเอง) เพื่อหลอกให้ Switch เรียนรู้ค่า Mac Address จากเครื่องที่ใช้โจมตีเป็นระยะๆทำใหเ Switch หลงผิดคิดว่า Gateway นั้นต่ออยู่บน port (ช่องเสียบ) ที่เครื่องแฮกเกอร์เชื่อมต่ออยู่ เมื่อผู้ใช้ (เหยื่อ) ส่ง HTTP request ออกไปยังอินเตอร์เน็ต HTTP request packet จะถูกส่งผ่านไปที่ Gateway แต่ก่อนที่จะถึง Gateway นั้นจะต้องถึงอุปกรณ์ Switch ก่อน ดังนั้นหากอยู่ในช่วงเวลาที่ Switch โดนหลอก มันก็จะส่งเฟรมข้อมูล (มี HTTP request packet อยู่ภายในรวมทั้ง Cookie/Session ID) ไปยังแฮกเกอร์
การป้องกันการปลอมแปลงค่า MAC Address
การป้องกันการปลอมแปลงค่า MAC Address ทำได้โดยใช้อุปกรณ์ Switch ที่มีคุณภาพสูงซึ่งมีฟังก์ชั่นในการป้องกัน เช่น Switch ของ Cisco มีฟังก์ชั่นที่สามารถป้องกันการโจมตีด้วยการปลอม MAC Address ตัวอย่างเช่น ฟังก์ชั่น Port Security และ IP Source Guard นอกจากนั้นเรายังสามารถป้องกันได้โดยใช้สวิทซ์ D-Link และ SME รุ่นที่เป็น Managed Switch
Port Security บน Cisco Switch
ตัวอย่างการคอนฟิกเพื่อป้องกัน MAC Spoofing โดยใช้ port-security บน Cisco Router
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/z.
Switch(config)# interface fastethernet 5/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport port-security
Switch(config-if)# switchport port-security maximum 10
Switch(config-if)# switchport port-security mac-address 0000.0000.0003 (static secure MAC)
Switch(config-if)#end
Switch#show port address
Secure Mac Address Table
-------------------------------------------------------------------------------------------------
Vlan Mac Address Type Ports Remaining Age
(mins)
----- --------------- ------ ------ -------------------------
1 0000.0000.0003 SecureConfigured Fa5/1 -
-------------------------------------------------------------------------------------------------
Total Address in System (excluding one mac per port) :2
Max Address limit in System (excluding one mac per port) : 3072
รุ่นของ Cisco Switch และเวอรชั่นของ IOS ที่สนับสนุน port security สามารถตรวจสอบได้จากเวบไซต์ Cisco.com
IP Source Guard บน Cisco Switch
ตัวอย่างของคอนฟิกกูเรชั่นกี่ยวกับ IP Source Guard บน Cisco Router
Switch# configure terminal
Enter configuration commands. One per line. End with CNTL/Z.
Switch(config)# ip dhcp snooping
Switch(config)# ip dhcp snooping vlan 10 20
Switch(config)# interface fa6/1
Switch(config-if)# switchport truck encapsulation dotlq
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk native vlan 10
Switch(config-if)# switchport trunk allowed vlan 11-20
Switch(config-if)# no ip dhcp snooping trust
Switch(config-if)# no ip verify source vlan dhcp-snooping
Switch(config-if)# end
Switch# sh ip verify source interface f6/1
Interface Filter-type Filter-mode IP-address Mac-address Vlan
---------- ------------- -------------- --------------- --------------- -----
Fa6/1 ip-mac active 10.0.0.1 10
Fa6/1 ip-mac active deny-all 11-20
Switch#
การใช้ Switch คุณภาพสูงเพื่อป้องกันการปลอมแปลงค่า MAC Address สามารถทำได้โดยเฉพาะเน็ตเวิร์กที่ใช้สายเท่านั้นหากเป็น Wireless LAN เราไม่สามารถป้องกันโดยใช้วิธีการข้างต้นได้ การป้องกันใน Wireless LAN ต้องใช้มาตราการอื่น เช่น Access Point ที่มีระบบตรวจสอบการอนุญาตใช้งานแค่พิจารณาเฉพาะ MAC Address อย่างเดียวไม่เพียงพอที่จะทำให้ระบบปลอดภัยได้ ดังนั้นเราจะต้องเพิ่มการตรวจสอบอย่างอื่นเข้าไปด้วย ตัวอบ่างเช่น การตรวจสอบ username, password หรือการเข้ารหัสข้อมูลด้วย WEP หรือ WPA ซึ้งผู้ใช้งานจะต้องทราบค่า Key จึงจะสามารถใช้งานได้ หน่วยงานขนาดเล็กที่ไม่มีงบในการซื้ออุปกรณ์ Switch คุณภาพสูงซึ่งมีราคาแพง อาจจะต้องรออีกสักระยะหนึ่ง เพื่อให้ Switch ยี่ห้อธรรมดาๆราคาไม่กี่พันเพิ่งฟังก์ชั่นป้องกันการปลอม MAC Address ได้ และอนาคตก็มีแนวโน้มที่อุปกรณ์ชั้นนำอย่าง Cisco จะลดราคาลงมาและขายในราคาถูกลง หรืออาจจะผลิต Switch รุ่นเล็กที่มีราคาถูกลงแต่มีฟังก์ชั่นการทำงานสูงๆออกมา (เช่น ฟังก์ชั่นที่ใช้ป้องกันการปลอม MAC Address) เพื่อให้หน่วยงานขนาดเล็กสามารถซื้อหามาใช้งานได้
ป้องกันการปลอม MAC Address ด้วย IP-MAC Binding บน D-Link Switch
การป้องกันการปลอม MAC Address บนสวิทช์ D-Link ใช้วิธีบังคับว่าพอร์ตช่องใดให้ใช้ได้กับคู่ของ IP-MAC ใด ซึ่งเราสามารถกำหนดได้มากกว่า 1 คู่ ในกรณีที่ใช้งานปกติควรจะระบุเพียง IP-MAC คู่เดียวต่อหนึ่งพอร์ต (ช่อง) ส่วนบางกรณีจำเป็นที่จะต้องระบุ IP-MAC หลายคู่ เช่น กรณีที่พอร์ตช่องนั้นต่อเชื่อมกับ Access Point หรือ Unmanaged Switch ที่สามารถต่อเชื่อมคอมพิวเตอร์เพิ่มได้อีก ซึ่งบน Access Point หรือ Unmanaged Switch ไม่สามารถป้องกันการปลอมได้ แต่ถ้าหากแพ็กเก็ตวิ่งผ่านมายัง Managed Switch มันจะตรวจสอบว่าเป็นคู่ IP-MAC ที่เราระบุไว้หรือไม่ ถ้าไม่เป็นไปตามกฏสวิทช์ก็จะทิ้งแพ็กเก็ตนั้นไป การคอนฟิกเพื่อป้องกันการปลอมแปลง MAC Address บน D-Link DES-3000 Series ทำได้โดยกำหนดค่า 2 ขั้นตอนดังนี้
1. ตั้งค่ากฏการจับคู่ IP-MAC พร้อมกับระบุพอร์ตที่เชื่อมต่อ (ตั้งค่าในโหนด Configuration) à IP-MAC Binding à IP-MAC Binding Table)
2.ตั้งค่าการบังคับใช้ว่าจะให้พอร์ตใดทำงานตามกฏที่ตั้งไว้ (ตั้งค่าในโหนด Configuration à IP-MAC Binding à IP-MAC Binding Port)
ความปลอดภัยของ SNMP
อุปกรณ์เครือข่าย เช่น Switch Router รวมทั้งเครื่อง Windows Service/Linux Serve ต่างๆ โดยส่วนมากจะสลับการมอนิเตอร์ระบบผ่านทางโปรโตคอล SNMP: Simple Network Management Protocol เพื่อให้ผู้ดูแลระบบสามารถเฝ้าดูการทำงานของอุปกรณืได้ เช่น เฝ้าดูค่า Bandwidth, CPU Load และ Number of connection เป็นต้น โดยจะต้องมีการตั้งค่า Community Spring ไว้บนอุปกรณ์หรือเชิร์ฟเวอร์เหล่านั้น (หากไม่มีการตั้งค่า Community String จะถือว่าให้ใช้ค่าดีฟอลต์ ซึ่งโดยส่วนมากมักจะถูกตั้งเป็นคำว่า public หรือ private มาจากโรงงาน) จากนั้นผู้ดูแลระบบจะใช้ในโปรแกรม snmp client เข้าไปดูข้อมูลโดยระบุค่า Community String ให้ตรงกับฝั่งเชิร์ฟเวอร์โปรแกรม snmp client ที่เรามักจะพบเห็นได้บ่อยคือ metg ซึ่งใช้เพื่อเฝ้าดูค่าแบนด์วิดธ์ของเน็ตเวิร์ก นอกจากนั้นยังมีโปรแกรม Solar Winds ที่รันบน Windows และโปรแกรม snmp walk ที่รันบน Linux
สิ่งที่แฮกเกอร์สนใจคือ การเข้าไปดูข้อมูลที่สามารถนำไปสู่การโจมตีเน็ตเวิร์กให้สำเร็จ เช่น การเข้าไปดู IP Address ของแต่ละ VLAN ในอุปกรณ์ Core Switch (ส่วนมาก Core Switch มักจะเป็น L3 Switch ที่ใช้แบ่ง VLAN และเชื่อมต่อกับเน็ตเวิร์กของอาคารอื่นหรือเน็ตเวิร์กอื่น) และแฮกเกอร์ก็สนใจที่จะดูรายชื่อผู้ใช้และพอร์ตที่เปิดใน Windows Server ผ่านทาง SNMP และดู ARP Table บน Core Switch เพื่อให้ทราบ MAC Address ของแต่ละ IP Address (รวมทั้งค่า MAC Address ของผู้ดูแลระบบ) นอกจากนั้นยังสามารถดูเวอร์ชั่นของ OS และข้อมูลสำคัญอื่นๆ เพื่อนำมาซึ่งการโจมตีหรือเพื่อเข้าถึงระบบได้
ช่องโหว่ของ SNMP
ช่องโหว่ของ SNMP มักจะอยู่ที่การไม่ได้เปลี่ยนค่า Community String นั่นคือ มีการใช้ค่าดีฟอลต์ (public, private) แฮกเกอร์จะใช้โปรแกรม snmp client เช่น Solar Winds เพื่อเรียกดูข้อมูลที่สำคัญได้ ช่องโหว่อีกอย่างหนึ่งของ SNMP ก็คือการสื่อสารกันระหว่าง snmp client กับ snmp server จะมีการส่ง Community String แบบ plain text ซึ่งไม่มีการเข้ารหัส ดังนั้นหากแฮกเกอร์ดักจับเอา Community String ไปได้ จะสามารถเข้าไปดูข้อมูลที่สำคัญบนอุปกรณ์ Switch, Router รวมทั้งเครื่อง Windows Server/Linux Server ได้
การป้องกันการเข้าถึงข้อมูลสำคัญผ่าน SNMP
ก่อนเปิดใช้งาน SNMP เราควรเปลี่ยนค่า Community String บนตัวอุปกรณ์ Switch, Router รวมทั้งเครื่อง Windows Server และ Linux Server โดยอนุญาตให้เฉพาะไอพีแอดเดรสของผู้แลระบบเท่านั้นที่สามารถติดต่อกับอุกกรณ์เหล่านี้ผ่านทาง SNMP ได้ ซึ่ง SNMP ใช้โปรโตคอล UDP และใช้พอร์ตหมายเลข 161 และ 162 โดยการตั้งค่า ACL บน L3 Switch หรือ Router และตั้ง Firewall Rule บนไฟร์วอลล์ที่เกี่ยวข้อง
การลักลอบเข้าถึงทรัพยากรในระบบ LAN
การลักลอบหรือแอบไปเข้าใช้ทรัพยากรในระบบ LAN เป็นช่องโหว่อย่างหนึ่งของระบบที่ควรจะได้รับการเอาใจใส่และป้องกัน เช่น แฮกเกอร์ที่นั่งอยู่นอกอาคารสำนักงานสามารถเข้าถึงเน็ตเวิร์กของเราผ่านทาง Wireless LAN ที่ไม่ได้เข้ารหัสหรือตั้งค่าเกี่ยวกับการตรวจสอบสิทธิ์ไว้ จากนั้นแฮกเกอร์สามารถเข้าถึง Share Folder ที่เราเผลอเปิดไว้โดยไม่ได้ตั้งรหัสผ่าน และในนั้นก็อาจมีข้อมูลสำคัญด้วย เป็นต้น
ลักลอบเข้าถึง Share Folder ที่เผลอแชร์ไว้
ปกติแล้วเรามักจะถ่ายโอนไฟล์ข้างเครื่องกันโดยการเปิดแชร์โฟล์เดอร์ (Share Folder) ไว้ แล้วให้ผู้ใช้บนเครื่องอื่นเข้าถึงโดยป้อน \\ip_address บนช่อง Address ของ Windows Explorer (หรือ Internet Explorer) แต่ปัญหาที่มักจะเกิดบ่อยๆก็คือ การเปิดแชร์ไว้แล้วไม่มีการปิด ผู้ใช้ที่เข้าถึง LAN ของเราได้ สามารถที่จะเข้าถึงข้อมูลผ่านทาง Share Folder ได้เช่นกัน และนอกจากจะแอบขโมยหรือก๊อบปี้เอาข้อมูลดังกล่าวออกไป
การตรวจหา Share Folder ทำได้โดยการใช้คำสั่ง net share ใน windows Command ดังนี้
C:\> net share
Share name Resource Remark
---------------------------------------------------------------------------------------------------
ADMINS C:\WINDOWS Remote Admin
HS H:\ Default share
CS C:\ Default share
IPCS Remote IPC
MyDATA C:\MyDATA
The command complete successfully.
C:\>
การใช้คำสั่ง net share บนคอมพิวเตอร์ทีละเครื่องบนเน็ตเวิร์กเพื่อตรวจหา Share Folder ย่อมไม่ใช่เรื่องง่าย เราอาจจะต้องใช้โปรแกรมช่วยสแกนหา Share Folder ซึ่งเครื่องมือช่วยก็มักจะเป็นเครื่องมือที่แฮกเกอร์ ชอบใช้เช่นกัน โปรแกรม IP Tools เป็นเครื่องมือที่ช่วยในการสแกนหา Share Folder ที่เผลอเปิดทิ้งไว้ โดยมันจะสแกนทุกไอพีแอดเดรสจามช่วงที่เราระบุ นอกจากนั้นยังสามารถช่วยสแกนพอร์ตของเครื่องเซิร์ฟเวอร์ได้อีกด้วย
การใช้งาน Share Folder ที่ปลอดภัย ทำได้โดยการยกเลิก Share Folder ที่ๆม่ใช้แล้ว และหากต้องการสร้างแชร์โฟลเดอร์ขึ้นมาใหม่จะต้องกำหนดให้มีการใช้รหัสผ่าน และเมื่อใช้งานเสร็จก็ควรที่จะยกเลิกการแชร์นั้น
นอกจาก Share Folder ก็ยังมีทรัพยากรอื่นๆบนเครือข่าย LAN ที่เราสามารถกำหนดสิทธิ์ให้ใช้ได้เฉพาะบาง User หรือบางไอพีแอดเดรสได้ เช่น การกำหนดค่า permission เพื่อใช้งาน Share Printer เป็นต้น
ลักลอบใช้อินเทอร์เน็ตผ่าน Wireless LAN
เน็ตเวิร์กที่ใช้งาน Wireless LAN มักจะนำอุปกรณ์ Access Point เข้ามาติดตั้งใช้งานโดยไม่ได้กำหนดค่าเกี่ยวกับความปลอดภัย อาจจะเพื่อให้ผู้ใช้สามารถใช้งานได้ง่ายหรือไม่ก็เป็นเพราะผู้ดูแลระบบไม่มีคาวมรู้ด้าน Wireless Security หรืออาจจะมาจากสาเหตุอื่น เช่น ผู้ใช้นำ Access Point เข้ามาติดตั้งโดยดพละการ ไม่ว่าด้วยเหตุผลใดก็ตาม การกระทำทั้งหลายที่กล่าวมาทำให้เกิดช่องโหว่ของระบบเครือข่ายเป็นการเปิดช่องทางให้ผู้บุกรุกสามารถเข้าใช้งานระบบเครือข่างของเราได้ โชคดีที่สุดคือ ผู้บุกรุกแอบขโมยใช้อินเทอร์เน็ตเท่านั้น แต่ถ้าโชคร้ายกว่านั้นผู้บุกรุกอาจจะสแกนหาข้อมูลสำคัญที่อยู่ใน Share Folder ที่เผลอแชร์ไว้ หรือทำการสแกนหาช่องโหว่ของเครื่องแม่ข่ายแล้วโจมตีจากข้างหลังไฟร์วอลล์ (ทำให้ง่ายกว่าโจมตีจากด้านหน้าไฟร์วอลล์) ขโมยข้อมูลที่สำคัญใน Dtatabase Server หรือแอบเปลี่ยนแปลงข้อมมูล เป็นต้น
ดังนั้น เราควรที่จะใส่ใจกับอุปกรณ์ Access Point หากนำมาติดตั้งก็ควรที่จะทำให้ปลอดภัย โดยวิธีการอย่างใดอย่างหนึ่งต่อไปนี้ (การป้องกันบางอย่างสามารถใช้ร่วมกันได้)
- กรองค่า MAC Address ให้ค่า MAC Address ของผู้ใช้ภายในเท่านั้นที่สามารถใช้งานได้
- เข้ารหัสด้วย WEP เพื่อให้ผู้ใช้ที่มีค่า Key เท่านั้นที่จะใช้งานได้
- เข้ารหัสด้วย WPA/WPA2 เพื่อให้ผู้ใช้ที่มีค่า Key เท่านั้นที่จะใช้งานได้
- ตั้งค่าให้ตรวจสอบ username และ password เพื่อให้ผู้ใช้ที่มีในระบบเท่านั้นที่จะใช้งานได้
ลักลอบใช้อินเทอร์เน็ตผ่าน Wire LAN
การลักลอบเข้าถึงเครือข่ายผ่านทาง LAN แบบใช้สาย (Wire LAN) ก็เป็นไปได้ เช่น การแอบต่อเชื่อมสาย UTP จากห้องเก็บอุปกรณ์เครื่อข่าย เราสามารถป้องกันได้โดยการวิธีการต่างๆ ดังนี้
- ป้องกันทางกายภาพ โดยการล็อคห้องเก็บอุปกรณ์เครือข่าย และอนุญาตเพียงเจ้าหน้าที่ที่เกี่ยวข้องเท่านั้นที่เข้าได้
- ป้องกันในระดับคอนฟิกกูเรชั่นของ Switch เช่น การ Disable port ช่องที่ยังไม่มีการใช้งาน และการจำกัด MAC Address
- ป้องกันในระดับการตรวจสอบสิทธิ์การเข้าใช้เครือข่าย เช่น มี NAC: Network Access Control ที่จะคอยบังคับให้มีการป้อน username และ password ก่อนการใช้งาน network และมีการบันทึก Log
การ Hack เน็ตเวิร์กภายในผ่าน Firewall
แม้ว่าเราจะปกป้องเครือข่าย LAN จากการโจมตีที่มาจากภายนอกได้โดยใช้ไฟร์วอลล์ แต่ในบางกรณีนั้นผู้บุกรุกก็สามารถโจมตีผ่านไฟร์วอลล์ได้เช่นกัน ดังตัวอย่างต่อไปนี้
1. แฮกเกอร์เชื่อต่อกับเครื่อง User ภายใน LAN ผ่านทางไฟร์วอลล์ไปยัง sshd และสร้าง Tunnel เพื่อไปยัง SOL Server ภายในโดย Listen ไว้บนเครื่องของตนเองหมายเลขพอร์ด 1433 (SSH client ของแฮกเกอร์เป็นผู้ listen)
2. แฮเกอร์ใช้ ospi คอนเน็คเครื่องตนเองที่พอร์ต 1433 เสมือนกำลังเชื่อมต่อกับ SOL Server จริง
3. จากนั้น sshd บนเครื่อง User จะเชื่อมต่อไปยังเครื่อง SOL Server ที่อยู่ภายใน LAN อัตโนมัติ โดยมันจะคอนเน็คไปยังพอร์ต 1433 ตามที่ได้ตั้งค่าไว้ในขั้นตอกแรก
การป้องกันการโจมตีในลักษณะนี้ทำได้ดังนี้
- แบ่งโซนให้มี DMZ และ User Network อยู่แยกกัน
- กำหนดไฟร์วอลล์ให้อนุญาตเฉพาะบางไอพีแอดเดรส (เชื่อถือได้เท่านั้น) จากอินเทอร์เน็ตที่สามารถคอนเน็คผ่านทาง SSH มายังเซิร์ฟเวอร์ใน DMZ ได้
- กำหนดในไฟร์วอลล์ไม่ให้ SSH หรือรีโมตแบบอื่นมายังเครื่องภายใน User Network
- จำกัดให้เฉพาะคอมพิวเตอร์ภายใน User Network บางไอพีแอดเดรสเท่านั้นที่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ต่างๆใน DMZ ได้
- ติดตั้ง IDS/IPS
การป้องกันอุปกรณ์เครือข่าย
ความปลอดภัยของระบบ LAN อีกอย่างหนึ่งที่ควรจำให้ความสำคัญคือ การป้องกันการโจมตีหรือเข้าถึงอปกรณ์เครือข่าย รวมทั้งการตั้งค่าคอนฟิกของอุปกรณ์ให้มีความปลอดภัย
ปัจจัยการเข้าถึงทางกายภาพ
การวางอุปกรณ์ไว้ตำแหน่งที่ไม่ปลอดภัยจะเป็นการเปิดโอกาสให้ผู้บุกรุกเข้าถึงอุปกรณ์เครือข่ายได้โดยตรง ซึ่งผู้บุกรุกสามารถเชื่อมต่อสายเข้ากับ Switch เพื่อลักลอบใช้งานเครือข่าย หรือกดรีเซ็ตรหัสผ่านอุปกรณ์ Switch, Router หรือ Access Point ได้ ดังนั้นจำเป็นอย่างยิ่งที่จะต้องมีห้องสำหรับวางอุปกรณ์เครือข่าย หรือติดตั้งอุปกรณ์ไว้ในตำแหน่งที่ไม่สามารถเข้าถึงได้ง่าย เช่น ติดตั้งไว้บนที่สูง เป็นต้น ซึ่งในหลายๆครั้งของการโจมตีอุปกรณ์เครือข่ายทางกายภาพก็เป็นการขโมยตัวอุปกรณ์
การเปลี่ยนไอพีแอดเดรสและรหัสผ่านดีฟอลต์
อุปกรณ์เครือข่ายแต่ละรุ่นจะมีค่าไอพีแอดเดรสและค่ารหัสผ่านที่เป็นค่าดีฟอลต์มาจากโรงงานหลังจากที่ปรับค่าคอนฟิกเพื่อใช้งานแล้วก็ควรที่จะเปลี่ยนค่าไอพีแอดเดรสและค่ารหัสผ่านด้วย เพราะผู้บุกรุกสามารถค้นหาอุกปรณ์ได้ง่ายและรีโมตเข้ามาควบคุมอุปกรณ์โดยใช้รหัสผ่านดีฟอลต์ ซึ่งการหารหัสผ่านดีฟอลต์เป็นเรื่องที่ทำได้ง่าย โดยการค้นหาคู่มือตามรุ่นที่ระบุโดยใช้ Search engine เช่น google นอกจากนั้นการตั้งรหัสผ่านที่ซับซ้อนและยาวจะช่วยไม่ให้ผู้บุกรุกสามารถรีโมตแคร็กรหัสผ่านได้สำเร็จ
ทำการอัพเกรด OS หรือ Firmware
ระบบปฏิบัติการ (OS) ของอุปกรณ์เครือข่ายหรือที่เรียกว่า Firmware นั้น ในบางเวอร์ชั่นจะมีช่องโหว่ที่แฮกเกอร์สามารถใช้โปรแกรม Exploit รีโมตเข้ามายัง shell ควบคุมของอุปกรณ์นั้นๆได้โดยการแก้ปัญหาทำได้โดยครวจสอบดูข้อมูลเกี่ยวกับ Security ของอุปกรณ์รุ่นที่เราใช้จากเวปไซด์ของผู้ผลิตและดาวน์โหลด Firmware มาอัพเกรดเพื่ออุดรูรั่ว
แหล่งข้อมูลอ้างอิง
1. http://www.humcpedownload.smfnew.com/index.php?topic=52.0
2. http://debianclub.org/node/492
3. http://en.wikipedia.org/wiki/ARP_poisoning
4. http://realdev.truehits.net/tcpip/charpter3.php
5. http://www.irongeek.com/i.php?page=security/AQuickIntrotoSniffers
6. http://hacker-dox.net/Que-Certified.Ethical.Hacker.E/0789735318/ch07lev1sec4.html
7. http://knowledge.eduzones.com/knowledge-2-8-2390.html
8. http://en.wikipedia.org/wiki/Man-in-the-middle_attack
9. http://italpha.msu.ac.th/detchasit/comnetsec/Chapter1_Computer_Netwoks_and_Data_Security.ppt
10. http://blog.it.kmitl.ac.th/it49070051/category/pcn/
11. http://plex.coe.psu.ac.th/ipv6/mipv6Testbed.html
12. http://arpon.sourceforge.net
13. http://www.ti.co.th/
14. http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?armumber=4682286
15. http://en.wikipedia.org/wiki/Address_Resolution_Protocol
16. http://en.wikipedia.org/wiki/ARP_spoofing
17. http://www.rmuti.ac.th/network/wp/?cat=4
18. http://windowsadmin.wordpress.com/2009/04/22/audit-and-recovery-windows-password-with-cain-and-abel/
19. http://windowsvista4u.blogspot.com/2008/11/kb003.html
20. http://www.antiarp.com/english_95.html
21. http://tamermaher.spaces.live.com/Blog/cns!AB876127E31FDC4!176.entry
22. http://www.thaiadmin.org/board/index.php?topic=76555.0
23. http://www.laontalk.com/2009/10/21/1517
24. http://www.oknation.net/blog/print.php?id=435455
25. http://www.oknation.net/blog/atnoon/2009/05/04/entry-1
26. http://en.wikipedia.org/wiki/Proxy_ARP
27. http://www.springerlink.com/content/qfje7322yf5mu264/
28. http://www.rootsecure.net/content/downloads/pdf/arp_spoofing_intro.pdf
29. http://www.dlink.com/corporate/worldwideoffices/?redirect=%2fdefault.aspx
30. http://www.thaiall.com/security/indexo.html
31. http://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol
32. http://it.toolbox.com/wiki/index.php/Man-in-the-Middle_Attack
33. http://www.g2gnet.com/News/activenews_view.asp?articleID=157
34. http://thaiwinadmin.blogspot.com/2009/03/kb118.html
35. http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?armumber=4682286