วันพุธที่ 26 กุมภาพันธ์ พ.ศ. 2557

การดักจับและวิเคราะห์ข้อมูลในระบบเครือข่ายคอมพิวเตอร์

การดักจับและวิเคราะห์ข้อมูลในระบบเครือข่ายคอมพิวเตอร์
Sniffer คืออะไร
     Sniffer คือโปรแกรมที่เอาไว้ดักจับข้อมูล บนระบบ Network เนื่องจากคอมพิวเตอร์เน็ตเวิร์คเป็นระบบการสื่อสารที่ใช้ร่วมกัน เพื่อประหยัดค่าใช้จ่าย การแบ่งกันใช้ (sharing) หมายถึงคอมพิวเตอร์สามารถรับข้อมูลที่คอมพิวเตอร์เครื่องอื่นตั้งใจจะส่งไป ให้อีกเครื่องหนึ่ง การดักจับข้อมูลที่ผ่านไปมาระหว่าง เน็ตเวิร์คเรียกว่า sniffing (คล้ายๆ การดักฟังโทรศัพท์ แต่การดักฟังโทรศัพท์จะทำได้ทีละเครื่อง แต่ sniffer ทำได้ทีเดียวทั้ง network เลย)
     แรกเริ่ม sniffer เป็นชื่อโปรแกรมของบริษัท Network Associates Inc. สหรัฐฯ เพื่อใช้ในผลิตภันณฑ์ของตนเองในเครือ Sniffer Network Analyzer ซึ่งเป็นโปรแกรมวิเคราะห์ network โดยอาศัยการดักอ่านข้อมูล แรกเริ่ม มันถูกสร้างมาเพื่อการป้องกัน (คือเอามาตรวจสิ่งที่วิ่งอยู่บน network นั่นเอง)  แต่เมื่อมี Hacker หัวใส นำโปรแกรมที่ใช้ป้องกัน ไปทำลาย มันจึงเป็นดาบ2คม คือ หากเราเอามาใช้ในการตรวจ ระบบ network ของเรา ก็เป็นประโยชน์ (แม้บางครั้งอาจจะละเมิดความเป็นส่วนตัวไปบ้าง) แต่หากเราเอาไปใช้ในการดักอ่าน ของข้อมูล เพื่อ hack ล่ะ เช่น เอาไปวางไว้บนทางของ ระบบ E-Mail ก็ทำให้ข้อมูลทั้งหมด ของ e-mail โดนอ่าน (ทั้งๆ ที่มันควรจะเป็นความลับ) 
    การป้องกันการถูกดักอ่านข้อมูลโดย sniffer
    1. อย่างแรกเลย เปลี่ยนจาก Hub มาใช้ Switch
    2. หลีกเลี่ยงการส่งข้อมูลที่ไม่มีการเข้ารหัส
    3. ให้ตระหนักว่า ใน network นั้นสามารถถูกดักอ่านได้เสมอ เพราะฉะนั้นการส่งข้อมูลแต่ละครั้ง ต้องประเมินว่า หากโดนดักอ่านแล้วจะคุ้มกันมั้ย หากมีความสำคัญมากควรหาวิธีอื่นในการส่งข้อมูล
    4. หากมีการใช้บริการเกี่ยวกับด้านการเงิน หรือข้อมูลรหัสผ่าน ให้เลือกใช้ผู้บริการที่เข้ารหัสข้อมูลด้วย SSL
    5. หากสามารถเพิ่มความปลอดภัยของการส่งข้อมูลด้วยการเข้ารหัส ก็จะเป็นวิธีที่ดี แม้การส่งแบบนี้จะโดนดักได้ แต่ข้อมูลมีการเข้ารหัสไว้ ทำให้คนที่ดักไป ต้องไปนั่งปวดหัวถอดกันอีก โดยใช้โปรแกรมเข้ารหัสไฟล์
    6. หากมีการสื่อสารข้อมูลภายในองค์กรโดยผ่านอินเทอร์เน็ต การนำเทคโนโลยีของ VPN (Vitual Private Network) มาใช้จะช่วยเพิ่มความปลอดภัยได้

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


Wireshark เครื่องมือ Network Admin ใช้ในการตรวจสอบสถานะของ Network
Wireshark เป็นโปรแกรมประเภท Packet Analyzer หรือตัววิเคราะห์ข้อมูลที่ส่งกันไปใน Network .. ความสามารถของ Wireshark มี 2 อย่างง่ายๆครับ อย่างแรกก็ดักจับข้อและบันทึกมูลทุกอย่างที่ผ่านการ์ด LAN หรือ Network Interface Card ใดๆของเรา และอีกข้อก็คือเอามาแสดงผลให้เราดู เพื่อที่เราจะสามารถวิเคราะห์ได้ว่าตอนนี้มีข้อมูลอะไรอยู่บ้างวิ่งใน Network ส่วนใหญ่ จะเอาไว้แก้ไขปัญหาบน Network เช่น

- Loopback : มีไอ้เวงตัวไหนแอบเอาสาย LAN ไปเสียบ 2 ช่องพร้อมกัน
- Worm : ค้นหาว่า PC หรือ Network Device ตัวไหน ปล่อย Worm ออกมาทำลาย Network
- Netcut : หาพวกนิสัยเสียแอบตัด Internet ชาวบ้าน
- Bittorrent : หาพวกแอบโหลดบิท ทำให้ Network เค้าช้าไปหมด
และอื่นๆอีกมากมาย แต่เอาพื้นฐานที่คนทั่วไปเข้าใจมันก็ประมาณนี้นะครับ

บรรดา Network Admin ใช้ Wireshark ก็เพราะเราไม่สามารถเอาตาไปส่องสาย LAN ข้างในได้ว่า มันมีข้อมูลอะไรวิ่งอยู่ในนั้นบ้าง ดังนั้นเราจึงต้องอาศัยเครื่องมือประเภท Packet Analyzer แบบ Wireshark นี่แหละครับ ซึ่งไอ้ชื่อ Packet Analyzer ก็เป็นอีกชื่อหรูๆของคำว่า Sniffer (แอบดักฟัง) นั่นเองครับ ซึ่งข้อมูลที่ Wireshark หรือพวก Sniffer แบบเนี่ยจับได้ เราจะสามารถเอามาดูได้หมดเลย ว่า ใคร ส่งอะไร ไปหาใคร ตอนกี่โมงกี่ยาม และ ข้อมูลที่อยู่ข้างใน เป็นอะไรบ้าง ซึ่งถึงแม้ว่าจะดูยากซักหน่อย แต่ถ้าใช้ Network Keyword ที่ Search แล้วโดนมันก็หาข้อมูลออกมาให้ได้ครับ
ตามทฤษฏีของ Packet Analyzer แล้ว ถือว่า ทำได้ เพราะใน Packet Analyzer สามารถก๊อปปี้และนำไปวิเคราะห์ได้ทั้งหมด แต่ว่า…
1.อุปกรณ์ที่ ISP ใช้ดักจับข้อมูลตรงนั้นจะต้องแพงมากๆ ถ้าผมจำไม่ผิด Spec ที่เอามาใช้ระดับ Gateway ของ ISP มี 8 หลักแน่นอน แถมค่าดูแลอีกเท่าไหร่
2.ต้องมีอุปกรณ์บันทึกข้อมูลขนาดมหาศาลมากๆ เพราะมันเหมือนต้องก๊อปปี้ทุกอย่างที่วิ่งผ่าน ISP ไป .. นี่ยิ่งกว่าเก็บ Log 90 วันอีกนะครับ .. ลองนึกสภาพว่าๆ วันๆนึงคุณโหลดอะไรไปกี่ Gb ลอง x จำนวนลูกค้าทั้งหมดของ ISP เข้าไปดู
3.ค่าจ้าง Network Admin โคตรเทพที่จะสามารถ วิเคราะห์ Packet ที่วิ่งผ่านไปมา ในมหาสมุทรข้อมูลอันมหาศาลเหล่านั้น มันต้องใช้ ไอ้เทพพวกนี้กี่คนครับ

แค่ 3 อย่างนี้ก็พอจะเข้าใจแล้วว่า แทบเป็นไปไม่ได้ และอีกอย่างที่ทำให้เทคโนโลยีนี้เอามาใช้กับบ้านเราไม่ได้ ก็เพราะว่าพวก Sniffer มันมีให้ใช้กันกว่า 10 ปีแล้ว มันก็มีคนคิดวิธีแก้ไขการดักจับข้อมูลกันมาแล้วทั้งนั้นครับ ไม่ว่าจะเป็น
  - การ Login เข้าเว็บด้วยโปรโตคอล https หรือเข้ารหัสการใช้งาน HTTP
  - อยากเปิดเว็บแบบไม่มีใครรู้ ก็ไปหา Proxy ที่มันเข้ารหัสมาใช้
  - อยากส่ง Email แบบไม่ให้อ่านได้ ก็เข้ารหัส Email ด้วย PGP
  - ใช้ Protocal  POP3S และ SMTPS ในการส่งและรับ Email (Gmail ใช้ได้สบายๆ)
  - นี่ ถ้าเกิด Bittorrent มันบ้าๆ เข้ารหัสการรับส่งข้อมูลใน Bittorrent แค่นี้มันก็ถอดรหัสไม่ได้แล้ว แถมตอนนี้ยังมี TOR Project .. ระบบการเล่น Internet แบบไร้ตัวตนที่ทางกระทรวงกลาโหมสหรัฐเป็นคนสนับสนุนซะด้วย งานนี้ผมว่า ขืนทำไปก็มีแต่เจ๊งกับเจ๊ง เพราะไม่ได้ผลอะไรขึ้นมาเลย

0 ความคิดเห็น:

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