วันเสาร์ที่ 30 มกราคม พ.ศ. 2553

Sniffer

Sniffer - ดาบสองคมของ Networking

Sniffer คืออะไร และทำงานอย่างไร แล้วทำไมผมเขียนว่า "ดาบสองคม" มาดูกัน
Sniffer คือโปรแกรมที่เอาไว้ดักอ่านของมูลที่วิ่งอยู่บน Traffic (Traffic แปลเลย ตรงตัว คือการจราจรบนระบบ network นะ) มันทำหน้าที่ดักอ่านข้อมูลที่วิ่งไปวิ่งมาบนเน็ตเวิร์คที่มันอยู่ (คล้ายๆ การดักฟังโทรศัพท์ แต่การดักฟังโทรศัพท์จะทำได้ทีละเครื่อง แต่ sniffer ทำได้ทีเดียวทั้ง network เลย) การใช้ sniffer เข้ามาใน ระบบ network นั้นทำให้มาตราการรักษาความปลอดภัยบน network นั้นด่ำลงไปเลย เพราะแรกเริ่ม sniffer เป็นชื่อโปรแกรมของบริษัท Network Associates Inc. สหรัฐฯ เพื่อใช้ในผลิตภันณฑ์ของตนเองในเครือ Sniffer Network Analyzer ซึ่งเป็นโปรแกรมวิเคราะห์ network โดยอาศัยการดักอ่านข้อมูล แรกเริ่ม มันถูกสร้างมาเพื่อการป้องกัน (คือเอามาตรวจสิ่งที่วิ่งอยู่บน network นั่นเอง) ต่อมา มันได้ถูกใช้อย่างแพร่หลาย จน hacker ได้เอาไปใช้ด้วย และชื่อ Sniffer ก็กลายเป็นที่ติดปาก และใช้เรียกโปรแกรมประเภทดักอ่านข้อมูลว่า "Sniffer" ไปซะหมด (คล้ายๆ คำว่า มาม่า หรือ แฟ็บนะ) เมื่อมี hacker หัวใส นำโปรแกรมที่ใช้ป้องกัน ไปทำลาย มันจึงเป็นดาบ2คม คือ หากเราเอามาใช้ในการตรวจ ระบบ network ของเรา ก็เป็นประโยชน์ (แม้บางครั้งอาจจะละเมิดความเป็นส่วนตัวไปบ้าง) แต่หากเราเอาไปใช้ในการดักอ่าน ของมูล เพื่อ hack ล่ะ เช่น เอาไปวางไว้บนทางของ ระบบอีเมว ก็ทำให้ข้อมูลทั้งหมด ของอีเมว โดนอ่าน (ทั้งๆ ที่มันควรจะเป็นความลับ) นี่คือดาบ 2 คนที่ผมพูดถึง

หลักการทำงานของ Sniffersniffer สามารถดักอ่านข้อมุลบน network ได้นั้นมีสาเหตุสำคัญคือ ด้วยลักษณะ protocol ethernet ที่ใช้หลักของการกระจายข้อมูล ไปยังทุกโฮสต์ที่อยู่ใน Network

ใน network นั้นจะมีโฮสต์ (คอมเครื่องต่างๆ) อยู่ และก็จะมี Hub เป็นตัวกลางในการติดต่อสื่อสาร และ hub นี่แหละที่ใช้ protocol ethernet คือโฮสต์ทุกโฮสต์ หากจะติดต่อกับโฮสต์อื่นๆ ก็จะผ่าน hub ซึ่ง การใช้ hub นั้นหาก เครื่อง 1 ต้องการติดต่อกับ เครื่อง 3 Hub ก็จะรับข้อมูลจากเครื่อง 1 แล้วก็ส่งไปให้มันซะทุกเครื่องเลย แต่พอเครื่องต่างๆ ได้ร้บ แล้วเห็นว่าไม่ใช่ของตนเองก็จะทิ้งไป ส่วนเครื่องที่ 3 เมื่อเห็นว่าข้อมูลจ่าหน้าถึงตัวเอง ก็จะรับไว้ เช่นนี้ หากเครื่อง 5 มี sniffer เครื่องที่ 5 ก็สามารถดักจับข้อมูลได้ด้วย เพราะช้อมูลวิ่งแหลก ไปซะทุกเครื่องเลย แต่การใช้ switch นั้น หากเครื่อง 2 เครื่อง ติดต่อกัน จะแยกกันเป็นคู่ๆ เลยจะไม่มีการส่งแหลกลาน ทำให้ sniffer ไม่สามารถใช้งานได้บน switchจากในรูป Hub จะใช้การกระจายข้อมูล หากเครื่องใดเครื่องหนึ่ง มี sniffer อยู่ก็จะสามารถดักข้อมูลได้ ข้อมูลที่ได้อาจจะเป็น รหัสผ่านอีเมว, ข้อมูลฟามลับในอีเมว, รวมทั้งข้อมูลอื่นๆด้วยแต่ใน Switch นั้น sniffer ใช้การไม่ได้ เพราะมีการแยกสัญญาณกันชัดเจนsniffer นั้นมีอยู่หลากหลาย ตั้งแต่ sniffer ที่ดักจับข้อมุลแบบดิบๆ คือจับมาได้ ก็แสดงเอาท์พุตออกเลย บางครั้งข้อมูลดิบที่ได้เป็นการเข้ารหัสไว้ ก็ทำให้ต้องมานั่งแปลกันอีก บางชนิด ก็จับข้อมูลก็แปลให้ด้วย ซึ่ง sniffer นั้นมีการพัฒนาไปอย่างมาก

การป้องกันการถูกดักอ่านข้อมูลโดย snifferเมื่อรู้แล้วว่า sniffer
มีโทษ เราก็มาดูวิธีป้องกันกันดีกว่า
1. อย่างแรกเลย เปลี่ยนจาก Hub มาใช้ Switch (แพงกว่าไม่มาก)
2. หลีกเลี่ยงการส่งข้อมูลที่ไม่มีการเข้ารหัส
3. ให้ตระหนักว่า ใน network นั้นสามารถถูกดักอ่านได้เสมอ เพราะฉะนั้นการส่งข้อมูลแต่ละครั้ง ต้องประเมินว่า หากโดนดักอ่านแล้วจะคุ้มกันมั้ย หากมีความสำคัญมากควรหาวิธีอื่นในการส่งข้อมูล
4. หากมีการใช้บริการเกี่ยวกับด้านการเงิน หรือข้อมูลรหัสผ่าน ให้เลือกใช้ผู้บริการที่เข้ารหัสข้อมูลด้วย SSL
5. หากสามารถเพิ่มความปลอดภัยของการส่งข้อมูลด้วยการเข้ารหัส ก็จะเป็นวิธีที่ดี แม้การส่งแบบนี้จะโดนดักได้ แต่ข้อมูลมีการเข้ารหัสไว้ ทำให้คนที่ดักไป ต้องไปนั่งปวดหัวถอดกันอีก ส่วนโปรแกรมเข้ารหัสไฟล์ก็มีให้เห็นกันพอสมควรแล้ว
6. หากมีการสื่อสารข้อมูลภายในองค์กรโดยผ่านอินเทอร์เน็ต การนำเทคโนโลยีของ VPN (Vitual Private Network) มาใช้จะช่วยเพิ่มความปลอดภัยได้

การใช้ประโยชน์จาก Sniffer
เอาละคงไม่มีสิ่งใดมีโทษเสียอย่างเดียว เรามาดูจุดประสงค์ที่มัน (sniffer) เกิดมากัน ว่าจะมีประโยชน์แค่ไหน
1. Network Analyzer แปลตรงตัวครับ คือการนำ sniffer มาดักข้อมูลบนเน็ตเวิร์คทำให้เรารู้ว่า network นั้นเป็นไปอย่างไร มี packet (หรือข้อมูล) ที่วิ่งไปวิ่งมานั้น มีอะไรบ้าง และ แพ็กเก็ต ที่วิ่งไปวิ่งมา มีอันตรายอะไรหรือเปล่า มีผู้ใช้มาน้อยเพียงไร เวลาใดมีคนใช้เยอะและเวลาใดมีคนใช้น้อย ผู้ใช้ ใช้แบนด์วิดธ์ไปในทางไหนบ้าง ข้อมูลเหล่านี้ เราสามารถเอามาประเมินเพราะจัดการระบบ network ของเราได้
2. Network Debugging Toolsในบางครั้ง Application ที่สื่อสารกันบน network นั้นเกิดมีความผิดพลาดขึ้นมาในการส่งข้อมูลและสื่อสาร เราต้องสืบลงไปดูถึงการวิ่งของ แพ็กเก็ตกันเลย และ sniffer นี่แหละที่จะช่วยไปสืบมาให้เราดู เพื่อจะดูว่า การส่งข้อมูลนั้นถูกต้องหรือไม่ มีอะไรแปลกปลอมวิ่งอยู่รึเปล่า โดนเฉพาะกรณีที่มีการใช้เครื่องมือระดับ network มาเกี่ยวด้วย เช่น ส่งไฟล์ผ่าน fire wall แล้วมีปัญหา หรือการทดสอบ ACL (Access Control List) ของเราเตอร์ เป็นต้น หากไม่มี sniffer แล้วเราก็จะหากต้นตอของปัญหาได้ยาก
3. Packet Monitoring กรณีการศึกษาโปรโตคอลในระดับ network จำเป็นต้องเห็นข้อมูลที่มันสื่อสารกันจึงจะเห็นภาพจริงได้ packet monitoring เป็นการนำแพ็กเก็ตมาแสดงให้ดูให้ผู้ใช้เห็นในรูปแบบต่างๆ เช่นการ scan ของ hacker หากไม่มีเครื่องมือประเภท sniffer แล้วเราก็จะรู้ได้ลำบาก
4. IDS (Intrusion Detection System)IDS คือ ระบบตรวจจับผู้บุกรุก เป็นตัวที่อยู่บน traffic เพื่อดูข้อมูลที่วิ่งไปวิ่งมาบน network ว่ามีข้อมูลอะไรบ้าง และหากมีข้อมูลที่เป็นอันตราย ตามที่มันได้ถูก config ไว้มันก็จะเตะข้อมูล(หรือแพ็กเก็ต)นั้นทิ้งไป และหากมันพบว่าข้อมูลไม่เป็นอันตราย มันก็จะอนุญาติให้ผ่านไป การทำงานต่างกับไฟล์วอลนะ อย่าเหมารวมกัน ซึ่ง IDS นั้นถือว่าเป็นเครื่องมือกันทรงพลังของเหล่า admin. เลย และ IDS ก็จะมี sniffer อยู่ในตัวมันด้วย

ต่ออีกนิดกระนั้นก็ดี หากผู้ใช้ sniffer ในทางดีมันก็จะทำความดีให้ แต่หากใช้ในทางไม่ดีผลมันก็ออกมาไม่ดี อย่างไรก็ตามทั้ง IDS, SSL หรือ VPN ต่างก็ไม่ perfect ถึงขั้น 100% ทุกอย่างนั้นเราไม่สามารถเพิ่งมันได้ทั้งหมด (เหมือนกับ anit-virus นั่นแหละ) เพราะเหตุนี้ มนุษย์จึงยังต้องมีหน้าทีอยู่ คือควบคุมไอ้พวก โปรแกรมทั้งหลายให้เป็นไปได้อย่างถูกต้องลองคิดดูหากเมื่อ IDS, SSL,VPN หรือกระทั่ง anit-virus ทำงานได้ perfect 100% แล้ว มนุษย์จะมีประโยชน์อะไร จงจำไว้ว่าเราคือผู้ควบคุมมัน หากเกิดความผิดพลาดขึ้นมา ก็จงอย่างไปโทษมัน
** อยากจะรู้ว่าคุณมีความเติบโตมากแค่ไหน ก็ให้ดูว่าเมื่อเกิดปัญหา คุณโทษใคร **

อ้างอิง http://www.eduzones.com/knowledge-2-8-2390.html

สิ่งที่ได้รับจากบทความ
Sniffer คือโปรแกรมที่เอาไว้ดักข้อมูลบนเน็ตเวอร์ คล้ายๆ กับการดักฟังโทรศัพท์ แต่การดักฟังโทรศัพท์ทำได้ที่ละเครื่อง แต่ Snifferทำได้ที่เดียวทั่งเน็ตเวอร์เลย การใช้ Sniffer เข้ามาในระบบเน็ตเวอร์ทำให้มาตราความปลอดภัยในระบบ เน็ตเวอร์ต่ำลงมาก เริ่มแรกมันถูกสร้างมาเพื่อเอามาตรวจสิ่งที่อยู่บนเน็ตเวอร์ ต่อมาได้มีการถูกใช้กันอย่างแพร่หลาย จนพวก แฮกเกอร์ได้นำเอามาใช้ด้วย และชื่อ Sniffer ก็กลายเป็นที่ติดปากและใช้โปรแกรมประเภทดักข้อมูลว่า Sniffer ไปซะหมด เมื่อมีแฮกเกอร์หัวใสนำโปรแกรมที่ใช้ป้องกันไปทำลาย มันจึงเป็นดาบสองคม
ถ้าหากในประเทศไทยมีคนใช้โปรแกรมนี้ผมคิดว่า มันไม่ดีเอาซะเลยเปนการล่วงละเมิดสิทธฺิ ข้อมูลของคนอื่น

ไม่มีความคิดเห็น:

แสดงความคิดเห็น