วันเสาร์ที่ 29 มิถุนายน พ.ศ. 2556

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 คมที่พูดถึง
          หลักการทำงานของ Sniffer
          sniffer สามารถดักอ่านข้อมุลบน 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               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 อยู่ในตัวมันด้วย

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

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