|
|
|||||||
ชื่อเรื่อง : Sniffing FAQ
เรียบเรียงโดย : ร.อ. วิวัต เรืองมี
เรียบเรียงเมื่อ : 17 สิงหาคม 2544
1.เบื้องต้น
Q: อะไรคือ sniffer
A: sniffer คืออุปกรณ์ที่ต่อเข้ากับเครือข่ายคอมพิวเตอร์และคอยดักฟังข้อมูลในเครือข่ายและโปรแกรม
sniffer เป็นโปรแกรมที่จะคอยดักฟังการสนทนากันของเครือข่าย แต่จะเห็นการสนทนากันนั้นจะเป็นข้อมูลไบนารี
ดังนั้นโปรแกรมดังกล่าวต้องทำการถอดรหัสของข้อมูลของคอมพิวเตอร์ เพื่อจะให้รู้ถึงการสนทนานั้นได้
Q: sniffer ถูกนำมาใช้ในด้านไหน
A: มีการนำ sniffing program มาใช้เป็นเวลานานแล้ว
และลักษณะการใช้จะแบ่งเป็น 2 ประเภทคือ sniffer เชิงพานิชย์ ซึ่งใช้ในการดูแลเครือข่ายและ
sniffer ซ่อนเร้น ซึ่งใช้ในการโจมตีหรือบุกรุกคอมพิวเตอร์ โดยปกติการใช้งานโปรแกรมพวกนี้
ได้แก่
Q: มีจุดใดบ้างบนอินเตอร์เน็ตที่ท่านสามารถเห็น
traffic ทั้งหมด
A: ไม่มี การเชื่อมต่อของอินเตอร์เน็ตจะคล้ายกับตาข่ายจับปลา
จะไม่มีจุดใดเลยที่จะสามารถเห็น traffic ได้ทั้งหมด
Q: sniffing/wiretap ทำงานอย่างไร ?
A: Ethernet ถูกสร้างขึ้นมาบนกฎของการใช้ร่วมกัน
นั่นคือคอมพิวเตอร์ทุกเครื่องบน local network จะใช้ Ethernet wire เดียวกัน ฮาร์ดแวร์ของ
Ethernet ถูกสร้างมาด้วย ตัวกรอง ที่จะไม่น่าสนใจ traffic ที่เป็นของคนอื่น ซึ่งทำได้โดยจะไม่สนใจเฟรมที่มี
MAC address ไม่ตรงกับของตนเอง แต่โปรแกรม sniffing หรือ wiretap จะตัดตัวกรองนี้ออกไป
ทำให้ฮาร์ดแวร์อยู่ใน โหมดสำส่อน (promiscuous mode)
Q: ท่านจะดักฟังการเชื่อมต่อของคนสองคนโดยที่ไม่ได้เข้าใช้
wire ของเขา หรือไม่ ?
A: ไม่ได้ ท่านต้องสามารถเข้าถึง wire นั้นได้จึงจะสามารถลอบดักฟังได้
2. ท่านสามารถปกป้องตัวเองจาก sniffers ได้อย่างไร ?
Q: ท่านจะหยุดการดักฟังข้อมูลของท่านได้อย่างไร
A: ในขณะที่ท่านสามารถทำการปรับแต่ง local
network ทำให้การดักฟังยากขึ้น แต่ท่านไม่สามารถที่จะหยุดการดักฟังข้อมูลของท่านจากอินเตอร์เน็ตได้
วิธีการป้องกันตัวเองที่ดีที่สุดคือ การเข้ารหัสข้อมูลเพราะถึงแม้ hacker จะดักฟังข้อมูลท่านได้
แต่ก็อ่านข้อมูลนั้นไม่ได้ ซึ่งทางเทคนิคการเข้ารหัสข้อมูลได้แก่
Q: ท่านจะหยุดการดักฟังรหัสผ่านของท่านได้อย่างไร
A: การเข้ารหัสข้อมูลก็เป็นวิธีหนึ่งที่จะทำให้การรับรองผู้ใช้ปลอดภัยและวิธีอื่น
ๆ ได้แก่
Q: ท่านจะปรับแต่ง local network เพื่อให้การลอบดักจับข้อมูลยากขึ้น
ได้อย่างไร ?
A: วิธีง่ายและมีประสิทธิภาพคือ ใช้ switch
แทน hub แต่ก็ไม่ใช่วิธีที่จะป้องกันการลอบดักจับข้อมูลได้ทั้งหมด เนื่องจาก switch
อาจจะสร้าง broadcast domain ทำให้ผู้โจมตีสามารถทำการ spoof ARP packets ได้
ซึ่งทำได้โดยการทำ router redirecion โดยปกติ ARP queries ประกอบด้วย IP-to-MAC
mapping ของผู้ส่ง และเพื่อที่จะต้องการลด ARP traffic เครื่องโดยส่วนใหญ่จะทำการ
cache ข้อมูลที่อ่านเข้ามาจาก broadcast ดังนั้นผู้โจมตีสามารถทำการ redirect เครื่องให้ทำการส่งข้อมูลผ่านเครื่องของเขาด้วยการส่ง
ARP packet ที่ประกอบด้วย IP address ของ router ที่ถูก mapped เข้ากับ MAC address
ของเขา ทำให้ทุก ๆ เครื่องที่อยู่บน wire นั้น เข้าใจว่า hacker นั้นเป็น router
และเครื่องเหล่านั้นก็จะส่งข้อมูลผ่านเขา แต่ยังไงก็ตามการนำระบบตรวจจับการบุกรุก
(IDS) มาใช้สามารถที่จะตรวจจับเหตุการณ์ลักษณะนี้ได้ Ethernet adapter โดยส่วนใหญ่จะอนุญาตให้มีการปรับแต่ง
MAC address ได้ ดังนั้น hacker สามารถทำการ spoof MAC address โดยการกำหนด address
ใหม่ให้กับ adapter หรือโดยการ bypass stack และจัดสร้าง frame แต่ hacker ก็จะต้องรักษา
stream ของ frames ให้คงที่เพื่อที่ให้ switch มั่นใจว่าเขาเป็นเจ้าของ MAC Address
นั้น
Q: ท่านสามารถหาซื้อ adapter ที่ไม่สนับสนุน
sniffing ได้หรือไม่
A: ไม่มี แต่อาจจะมีสำหรับ adapter รุ่นเก่า
ซึ่งไม่สนับสนุน promiscuous mode อันได้แก่ IBM Token Ring adapter ซึ่งจะไม่ทำงานใน
promiscuous mode และอาจยังมี Ethernet adapter บางตัวที่ promiscuous mode ไม่ทำงาน
อันเนื่องมาจาก hardware หรือ driver
Q: ท่านตรวจจับ sniffer ได้อย่างไร ?
A: ในทางทฤษฎีแล้ว ไม่มีทางเป็นไปได้เลยที่จะทำการตรวจจับ
sniffing programs เนื่องจากการทำงานของ sniffer เป็นแบบ passive กล่าวคือ จะคอยรับ
packets อย่างเดียวไม่มีการส่งออก แต่ในทางปฏิบัติแล้วมีความเป็นไปได้บ้างที่จะตรวจจับ
sniffer
Sniffer ที่เป็นแบบ standalone จะไม่ส่ง packet ใด ๆ แต่ถ้าเป็น non-standalone แล้ว sniffer จะมีการผลิต packet ออกมา เช่น sniffer อาจจะส่ง DNS reverse lookup เพื่อค้นหาชื่อของ IP address ใดๆ แต่ sniffer ที่ท่านต้องการตรวจจับ คือ ที่เป็นแบบ standalone เมื่อ cracker/hacker บุกรุกหรือเจาะเข้าสู่เครื่อง พวกเขามักจะติดตั้ง sniffer ไว้ ท่านต้องการที่จะตรวจจับ sniffer ที่ถูกติดตั้งไว้ในเครื่องนั้น ๆ
วิธีของการตรวจจับ
1. ping method
sniffer ส่วนใหญ่จะรันอยู่บนเครื่องที่ใช้ TCP/IP stack ปกติ นั้นหมายความว่า เมื่อท่านส่ง request ไปยังเครื่องนั้น เครื่องนั้นก็จะส่ง response กลับมาแต่แทนที่ท่านจะส่ง request ไปยัง Ethernet adapter ให้ส่งไปยัง IP address ของเครื่อง
ตัวอย่าง
2. ping method (ภาค 2)
ท่านสามารถเพิ่มประสิทธิภาพของ ping method ได้หลายวิธี กล่าวคือ
- อาจใช้ protocol ใด ๆ ก็ได้ที่มีการผลิต response เช่น TCP connection request หรือ UDP protocol เช่น port 7 (echo)
- อาจใช้ protocol ใด ๆ ก็ได้ที่ผลิต error message
- บางครั้งอาจจะต้องใช้ broadcast address เช่น 255.255.255.255 เพื่อที่จะผ่านโปรแกรม IP address filter ดังนั้นจะเกิดปัญหาขึ้นมา กล่าวคือ เครื่องโดยส่วนมากที่ไม่ตอบสนองต่อ broadcast request
3. ARP method
วิธีนี้คล้ายกับ ping method แต่จะใช้ ARP packet แทน วิธีง่ายที่สุดของ ARP method คือ การส่ง ARP ไปยัง non-broadcast address ถ้าเครื่องนั้นตอบสนองต่อ ARP ด้วย IP address ของเครื่องแสดงว่าอยู่ใน promiscuous mode4. DNS method
โปรแกรม sniffer ส่วนมากจะกระทำ revers-DNS lookup โดยอัตโนมัติต่อ IP address ที่มันเห็น ดังนั้นท่านสามารถตรวจจับ promiscuous mode ได้โดยการสังเกตุ DNS traffic ท่านอาจใช้วิธีนี้เป็นแบบ remote ได้ กล่าวคือ ท่านต้องการเฝ้าตรวจ inverse-DNS lookup ที่เข้ามายัง DNS server ให้ท่านทำการ ping sweep ไปยังเครื่องใด ๆ ที่ไม่ปรากฎอยู่ในองค์กร ถ้าหากมีเครื่องใดทำการ reverse DNS lookup ต่อ IP address ที่เห็นใน ARP packet แสดงว่าเครื่องนั้นกำลัง sniffing อยู่วิธีนี้ยังใช้ได้กับเครื่อง localโดยให้เครื่องที่เป็นเครื่องตรวจจับเป็น promiscuous แล้วส่ง IP datagram ออกไปยัง address ที่ไม่ปรากฎอยู่จริงและคอยสังเกตุดู reverse-DNS lookup
5. source-router method
เป็นอีกวิธีหนึ่งซึ่งเกี่ยวข้องกับการปรับแต่ง source-router info ใน IP header ซึ่งวิธีนี้สามารถตรวจจับ sniffer ที่อยู่ต่าง segment ได้
- สร้าง ping packet แต่ใช้ loose source-routing กล่าวคือ router จะไม่สนใจ IP address ของ destination แต่ส่ง packet ไปยัง IP address ต้องไปใน source-route option และเครื่องนั้นควรจะไม่มีความสามารถในการ routing
- ถ้าท่านได้รับ response เป็นไปได้ว่า traget ได้ทำการ sniff packet
- ทำการตรวจสอบ TTL เพื่อดูว่า packet กลับมาเนื่องจาก sniffing ไม่ใช้จากการ routing ที่ถูกต้อง
6. decoy method
ในขณะที่ ping และ ARP method ใช้ได้ใน local network เท่านั้น แต่ decoy method จะใช้ได้ทุก ๆ ที่ เนื่องจากหลาย ๆ protocol จะยอมให้มีการให้รหัสผ่านที่เป็น plain text และ hacker จะทำการดึงรหัสผ่านนั้นจาก wire นี่คือ จุดเริ่มต้นของการใช้ decoy methodอันดับแรก คือ การสร้าง client และ server บนเครือข่าย ซึ่ง client จะทำการใช้ script เพื่อเข้าสู่ server โดยการใช้ Telnet,POP,IMAP หรืออื่น ๆ
โดยที่ท่านต้องสร้าง account ขึ้นที่ server แต่ account นั้นเป็นแค่ตัวหลอก เมื่อ hacker ได้ user name /password เขาก็จะพยายาม logon โดยใช้ user names และ password นี้ และท่านใช้ IDS ในการตรวจจับเหตุการณ์นี้และแจ้งเตือนเมื่อ hacker ได้พยายามใช้ข้อมูลนี้
7. host method
เมื่อใดที่ hacker เจาะเข้าสู่ระบบของท่าน เขามักจะติดตั้ง sniffer ให้ทำงานเป็น background และคอยดักจับ user name และ password บ่อยครั้งที่โปรแกรมนี้ทำงานอยู่หรือไม่ โดยการสอบถามไปยัง interface ว่ากำลังทำงานใน promiscuous mode หรือไม่ โดยใช้คำสั่งifconfig a
แน่นอนว่า สิ่งแรกที่ hacker จะทำคือการติดตั้งโปรแกรมแทน ifconfig ดังนั้นท่านอาจจะใช้เครื่องมืออื่น ๆ เพื่อหาข้อมูลดังกล่าวหรือท่านอาจจะทำการรัน ifconfig จาก CD-ROM โดยตรง
| Home
|| เอกสารเผยแพร่ || IDS
ThaiCERT Disclaimer | Copyright © 2001 ThaiCERT(NECTEC). All rights reserved. |