Pages

วันอาทิตย์, กุมภาพันธ์ 7

รู้ทัน sniffer

ผมตั้งใจที่จะเขียนบทความนี้ขึ้นต่อเนื่องจากบทควาที่แล้วเรื่องข้อเท็จจริงในการดักข้อมูล sniffer นั้นมีคนเข้ามาจนถึงเวลานี้ที่ผมเขียนบทความใหม่ถึง 480 ครั้ง (ผลลัพธ์จากระบบ SRAN Data Safehouse) ซึ่งมากกว่าที่คิดไว้มาก ประกอบกับเมื่อวันที่ 4 กุมภาพันธ์ที่ผ่านมาผมได้มีโอกาสได้ร่วมออกงาน Information Security Day ที่กระทรวงกลาโหมจัดขึ้น ในงานนี้ถึงแม้ผมไม่ได้บรรยายแต่ได้ร่วมตอบคำถาม ในวันนั้นมีผู้มีเกียรติหลายท่านได้ตั้งคำถามและตอบกันในช่วงบ่าย ผมยอมรับว่าทำหน้าที่ถ่ายทอดได้ไม่ดี เนื่องจากมีเวลาจำกัดในการตอบคำถาม จึงอยากแก้ตัวโดยเขียนอธิบายเพิ่มในบทความนี้ ในชื่อตอน "รู้ทัน sniffer"

หลายคนคงสงสัยกับคำว่า sniffer ไม่น้อย .. และอาจเกิดคำถามว่า sniffer คืออะไรกันแน่ เกี่ยวกับการดักข้อมูลอย่างไร ? sniffer นั้นมีคุณหรือโทษ? แล้วเราจะรู้ได้อย่างไรว่ามีคนดักข้อมูลเราอยู่ หรือเราจะรู้ได้อย่างไรว่ามีใครคอย sniff เราอยู่บ้าง ? วันนี้เรามาเรียนรู้ sniffer แบบถึงแก่นกันดีกว่าครับ

sniffer เป็นชื่อที่เป็นทางการ ซึ่งไม่ว่าจะคุยกันภาษาของชาติไหนๆ ก็มักจะเข้าใจคำนี้ เช่นเดียวกับคำว่า Hack ซึ่งถือว่าเป็น De facto หรือเป็นคำมาตราฐานที่สากลรู้จักกัน เป็นต้น

sniffer คือ โปรแกรมที่ใช้ในการวิเคราะห์กระแสข้อมูล แต่เรามักจะเข้าใจในทิศทางเดียวคือเป็นโปรแกรมที่ใช้ในการดักฟังข้อมูล โดยพฤติกรรมการนี้เรียกว่า "sniff" หรือภาษาไทยว่า "สนิฟ" หรือบางครั้งเราอาจได้ยินคำว่า snoop แทนพฤติกรรมในการวิเคราะห์กระแสข้อมูลก็ได้ ซึ่งโปรแกรมที่เขียนขึ้นโดยมนุษย์ใช้ทำการวิเคราะห์กระแสข้อมูลสารสนเทศที่เกิดขึ้นบนระบบเครือข่ายคอมพิวเตอร์ (หรือภาษาอังกฤษเรียกว่าการทำ Packet analyzer) ซึ่งอาจเรียกได้ว่าเป็น subset ของคำว่า Tap "แท็ป" และคำว่า Tap เป็นทั้งเทคโนโลยีและพฤติกรรมการใช้งาน เช่นคำว่า tap เพื่อดักฟังการสนทนาโทรศัพท์ เป็นต้น แสดงว่าคำว่า Tap ข้อมูล นั้นกินความไปนอกเหนือระบบ TCP/IP ก็ได้เช่น เป็นการดักฟังการสนทนาโทรศัพท์ที่กล่าวมาข้างต้น แต่หากทุกวันนี้การโทรศัพท์นั้นได้วิ่งผ่านระบบไอที บน TCP/IP หรือมีการรับส่งผ่านเครือข่ายคอมพิวเตอร์ (Network) ที่เรียกว่า VoIP แล้ว และมีการดักข้อมูลขึ้นอาจใช้คำว่า Tap หรือ sniff ก็ได้ โดยให้เข้าใจว่า sniff คือพฤติกรรมดักฟัง ส่วน sniffer เป็นชุดโปรแกรมที่ใช้ในการดักฟังข้อมูลบนระบบเครือข่ายคอมพิวเตอร์ โดยผ่านการรับส่งข้อมูลตาม OSI 7 layer เป็นหลัก ซึ่งการ sniff "สนิฟ" อาจจะเกิดขึ้นได้ตั้งแต่ Layer 1 ทางกายภาพ (สายโทรศัพท์ ) จนถึง Layer 7 บนระบบ Application Layer ได้ทั้งสิ้น ดังนั้นการ sniff จะเกิดขึ้นสมบูรณ์ ต้องเป็นการกระทำที่เกิดขึ้นมากกว่า 1 เครื่องขึ้นไป กล่าวคือมีเครื่องกระทำและถูกกระทำ ถึงจะเรียกว่าเป็นการ sniff "สนิฟ" และในบทความครั้งนี้จะกล่าวเฉพาะ sniffer บน TCP/IP เท่านั้น จะไม่ขอกล่าว sniffer ในทางกายภาพ
เทคนิคการ sniff "สนิฟ" นั้นคือการได้มาซึ่งข้อมูลโดยที่ไม่ทำให้ผู้อื่นล่วงรู้ได้ ดังนั้นในทางเทคนิคก็มักจะมองเป็นเทคนิคเดียวคือการแปลงร่างการ์ดแลนบนตัวเครื่องคอมพิวเตอร์เข้าสู่โหมดเงี่ยหูฟัง (promiscuous mode) แต่จริงแล้วหากเรามองว่าการได้มาซึ่งข้อมูลนั้นอาจทำตัวเองเป็น Gateway หรือได้จาก Caching ได้ดังนั้นเทคนิคอื่นก็อาจเข้าข่ายการดักฟังได้เช่นกันหรือ ?? ในบทความนี้จะมีคำตอบให้

ภาพการสนิฟข้อมูลบนเครือข่ายคอมพิวเตอร์ แบบง่ายๆ


ที่ผมบอกว่าเรามักจะมอง sniffer เพียงด้านเดียวคือเรามักจะมองเห็นว่าการ sniffer คือการดักฟังข้อมูล แต่แท้จริงแล้ว sniffer นั้นมียังทำคุณประโยชน์ได้เช่นกัน นั่นคือการวิเคราะห์หาปัญหาต่างๆ ที่เกิดขึ้นบนระบบเครือข่ายคอมพิวเตอร์ได้ และ sniffer นั้นก็สามารถสร้างโทษได้เช่นกัน ขึ้นอยู่เจตนาและการใช้งาน

โทษของการใช้ sniffer
1. หากข้อมูลเป็น Plain text (ข้อมูลที่ไม่ได้มีการเข้ารหัส) ไม่ว่าเป็นการสื่อสารผ่าน Protocol HTTP , SMTP , PoP3 , FTP , Telnet หรือแม้กระทั่ง Protocol ในการส่งค่า Log คือ syslog ที่ใช้การติดต่อแบบ UDP และเป็น Plain text อันนี้ก็มีความเสี่ยงต่อการถูกดักข้อมูลได้การดักข้อมูลเหล่านี้เกือบ 100% ส่วนใหญ่มักเกิดขึ้นในองค์กร (office) ของเราเองนี้เอง เรียกว่าภัยพวกนี้ว่า "Internal Threat" เช่น มีพนักงานที่เจตนาต้องการดักข้อมูลผู้บริหาร หรือ ผู้ดูแลระบบ ก็สามารถใช้ sniffer ดักข้อมูลใครๆก็ได้ หากมีเครื่องมือ แต่ .... มีรายละเอียดมากมาย โดยเฉพาะทำอย่างไรถึงจะได้ข้อมูลมา รวมถึงการติดตั้งและการใช้เทคนิคอยู่พอสมควร มิใช่ใครมีโปรแกรม sniffer ก็จะดักข้อมูลได้ง่ายๆ ตลอดไป

หลักๆ ที่นิยมดักข้อมูลและถือว่าเป็นภัยคุกคามที่ไม่อยากให้เกิดขึ้นกับตนเอง ได้แก่
- ข้อมูลความลับที่ไม่ต้องการให้เผยแพร่ ซึ่งอาจเป็นเรื่องส่วนบุคคล หรือ เป็นเรื่องของบริษัท เป็นต้น
- ข้อมูล User/password บน Application Protocol ที่ใช้งาน เช่น User / Password จาก Web Login , User / Password จาก FTP หรือ Telnet เป็นต้น 2 ข้อที่กล่าวมานี้เองทำให้การทำ sniffer เป็นเรื่องที่น่ากังวล

2. หากข้อมูลเป็นการเข้ารหัส (encryption) การใช้ sniffer อาจประสบปัญหากับการใช้งานนิดหน่อยแต่ไม่ถึงกับว่าพบทางตัน เพราะการเข้ารหัส (encryption) ก็สามารถถอดรหัสได้ด้วยวิธีการต่างๆ แต่ที่นิยมคือใช้ sniffer ไปทำการ ARP poison ไปยังเครื่องเป้าหมาย และปลอมค่ากับ Gateway ตัวจริงจึงจะสามารถใช้งานได้ อันนี้เองมีรายละเอียดอยู่ค่อนข้างมากจึงขอยกไปต่อในตอนหน้าจะกล่าวถึงเรื่องนี้อีกครั้ง ในเทคนิคที่เรียกว่า MITM (Man in The Minddle) หากอดใจไม่ไหวให้อ่านที่ http://nontawattalk.blogspot.com/2009/08/layer-7.html ที่เป็นบทความเก่าที่ผมเคยเขียนขึ้นไว้ ชื่อตอนว่าวิเคราะห์ภัยคุกคามตาม OSI 7 layer อ่านช่วง Layer 2


คุณประโยชน์ sniffer
1. ช่วยวิเคราะห์กระแสข้อมูลสารสนเทศ เพื่อวินิฉัยปัญหาที่เกิดขึ้นบนระบบเครือข่าย เช่น
- เครือข่ายคอมพิวเตอร์ เหตุใดถึงได้ช้าผิดปกติ ก็สามารถใช้ sniffer มาช่วยวิเคราะห์และวินิฉัยได้
- เครือข่ายคอมพิวเตอร์ มีอาการที่ผิดปกติ อันเนื่องมาจากการแพร่กระจายของไวรัส (สายพันธ์ใหม่ๆ ที่ระบบป้องกันไวรัสคอมพิวเตอร์ไม่รู้จัก หรือไม่มี signature บนอุปกรณ์ NIPS/IDS , UTM เป็นต้น)
ซึ่งจากประสบการณ์จริง sniffer ช่วยให้ผมหาเครื่องที่ติดไวรัสคอมพิวเตอร์ ในงานประชุม APEC ที่จัดขึ้นในประเทศไทยเมื่อปี 2003 ได้ หากย้อนเวลาไปในช่วงนั้น ผมและทีมงานได้มีโอกาสทำงานระดับประเทศคืองาน APEC 2003 โดยทำการประเมินความเสี่ยงระบบเครือข่ายคอมพิวเตอร์ (Vulnerability Assessment) ในคืนก่อนวันเปิดงาน APEC เราพบว่าเครือข่ายในศูนย์ประชุมนั้นรับส่งข้อมูลช้าผิดปกติ เราพยายามทุกวิถีทางจนพบว่าเครื่องที่ปล่อยไวรัสนั้นกับเป็นเครื่องโทรศัพท์ (สมัยนั้นคือเป็นเครื่องลักษณะโทรศัพท์หยอดเหรียญ แต่เล่นอินเตอร์เน็ตได้ผ่านระบบ wi-fi) เชื่อไหมว่าเวลาตี 4 พวกผมยังวิ่งรอบศูนย์ประชุมแห่งชาติสิริกิติริ์ โดยถือโน็ตบุ๊ตหาสัญญาณการรับส่งข้อมูลที่ผิดปกติบนระบบ wireless LAN กว่าจะหาไวรัสตัวร้ายเจอนั้นผมและทีมงานไม่ได้นอนทั้งคืนก็เพราะหาไวรัสจากเครื่องๆเดียว เราก็กำจัดได้และทำให้เครือข่ายคอมพิวเตอร์ในงานกลับมาสู่ภาวะปกติก่อนพิธีในงาน APEC จะเปิด ก็เพราะโปรแกรม sniffer นี้เอง

2. sniffer ยังทำให้เราทำนาย เพื่อการออกแบบบนเครื่องแม่ข่าย (Server) ถึงการรับส่งข้อมูลให้มีประสิทธิภาพมากขึ้นได้อีกด้วย เช่น การออกแบบ Web Server เพื่อให้รองรับข้อมูลได้อย่างเหมาะสม การออกแบบ Data Base Server เมื่อมีการ Query ข้อมูลได้อย่างเหมาะสม ทำให้เราสามารถออกแบบ (design) ระบบ Cluster หรือการออกแบบ Cloud computing ในอนาคตถึงปริมาณการใช้งานต่อไปได้เพื่อความเสรียฐภาพของระบบได้อีกด้วย

3. sniffer ใช้หาผู้ร้าย / ผู้ต้องสงสัย ได้ ในกรณีนี้จำเป็นต้องรู้สถานที่ หรือรู้เครือข่ายคอมพิวเตอร์ที่มีผู้ต้องสงสัยอยู่ จากนั้นการใช้วิธีการสะกดรอยทางไอทีผ่านการเฝ้าสังเกตการณ์ข้อมูลที่ผ่านระบบเครือข่าย ซึ่งหากจะทำได้ควรได้รับหมายศาล หรือเป็นกรณีด้านความมั่นคงของชาติจริงๆ ถึงสมควรทำ

ดังนั้นหากเรามองให้ดีจะเห็นว่า sniffer นั้นมีประโยชน์ อยู่ไม่น้อยทีเดียว ส่วนการใช้ sniffer ในทางที่ไม่เหมาะสมล่ะ อันนี้ขอบอกว่าขึ้นอยู่กับเจตนาผู้ใช้ เพราะ sniffer นั้นสามารถที่จะดักข้อมูลได้ทั้งหมด คำว่าข้อมูลทั้งหมดนั้น ขึ้นอยู่กับชนิดโปรแกรม sniffer ด้วยนะ โดยปกติแล้ว จะได้ตาม Protocol ที่สำคัญ เช่น Protocol ที่เกี่ยวข้องกับการใช้งาน Web , Mail ,Chat เป็นต้น หากเราทำการชำแหละ sniffer ผลลัพธ์ที่ sniffer หรืออาจกล่าวได้ค่าที่ sniffer อ่านออกมาได้คือ
1. ไอพีต้นทาง (Source IP)
2. ไอพีปลายทาง (Destination IP)
3. พอร์ตต้นทาง (Source Port)
4. พอร์ตปลายทาง (Destination Port)
5. Protocol ใน Layer 4 เช่น TCP หรือ UDP
6. เนื้อหา (Content) ซึ่งเนื้อหาข้อมูล นั้นคือคำว่า "Payload" ในระดับชั้นข้อมูลคือใน Layer ที่สูง 5 , 6 และ 7 ค่า "Payload" ที่ปรากฏขึ้นบนตัวโปรแกรม sniffer สามารถมองเห็นและแปลความหมายได้ (ในบางโปรแกรม) สองวิธี คือ
6.1 แบบธรรมดา ค่า payload มองเห็นตาม Layer 2 - Layer 7 แบบเดียวกับการแสดงผลจากโปรแกรมชื่อ wireshark เป็นต้น
6.2 แบบพิเศษ นำค่า Packet ที่ได้มาประกอบร่างใหม่เรียกว่า Reconstruction หรือเป็นการทำ "Traffic Decoder" จะทำให้เห็นมากขึ้น เช่น HTTP คือการเล่นเว็บไซต์ สามารถล่วงรู้ถึงการคลิก เปิดหน้าจอ หน้าเว็บ URI path หรือ เรียกดู clip video ได้ หรือหากเป็นการที่ผ่าน VoIP สามารถ เรียกดูย้อนหลังเป็นเสียงพูดสนทนาได้ เป็นต้น
ในการทำ Reconstruction นั้น มักจะใช้กับเทคโนโลยีในการทำ Law ful Interception โดยปกติแล้วมักมีในธนาคาร หรือโรงงานที่มีความเข้มงวดในการใช้ข้อมูล ที่ต้องเฝ้าสังเกตการทุจริตที่เกิดขึ้นจากการทำงานด้านไอที (ในเมืองไทยก็มีใช้ในบางธนาคาร) เปรียบเสมือนกล้องวงจรปิด ซึ่งการทำเทคนิค Reconstruction นั้นจำเป็นต้องใช้ storage มหาศาลเช่นกัน ดังนั้นการใช้เทคโนโลยีเหล่านี้ต้องเผื่องบประมาณไว้พอสมควร
7. เรื่องเวลา คือ วันเวลาที่เครื่องแม่ข่าย (Server) ที่ใช้จัดทำขึ้นเป็น sniffer Server เป็นต้น ซึ่งในข้อนี้ผมขอละไว้ว่าสมมุติทุกเครื่องตั้งค่าเวลาปกติถูกต้องแล้ว ก็แล้วกันนะครับ จึงไม่ขอกล่าวต่อไป

จากคุณสมบัติของ sniffer ที่กล่าวมาตั้งแต่ข้อ 1 - 7 แล้วนั้น ส่วนใดบ้างที่มีความอ่อนไหวถึงความรู้ผู้คนว่า sniffer เป็นเครื่องมือที่อันตราย
จากข้อ 1-5 นั้น มีผลลัพธ์ไม่ต่างกับ Log ที่เกิดขึ้นบนอุปกรณ์เครือข่าย เช่น Router Log , Switch Log , Firewall แบบ ACL (Access Control List)

ภาพ Log Router จากเว็บไซต์ phoenixlabs.org

แต่ข้อ 6 นี้เองที่ทำให้หลายท่านกังวล นั้นคือ การมองเห็นถึงเนื้อหาของข้อมูล (content)
แล้วเทคโนโลยีอะไร ที่มองเห็นเนื้อหาของข้อมูล (Content) นอกจาก sniffer แล้วมีอีกไหม
ผมขอยกตัวอย่างสัก 3 เทคโนโลยี ได้แก่

- NIDS/IPS (Network Intrusion Detection and Prevention System) และเทคโนโลยีประเภท Deep packet Monitoring/Analysis หรือแม้กระทั่ง NAC (Network Access Control ที่ทำตัวเป็นเหมือน Switch ตัวหนึ่งทีเดียว)
การติดตั้งสามารถติดตั้งตามจุดต่างๆ บนเครือข่ายคอมพิวเตอร์ได้ ไม่จำกัด ทั้งแบบ Inline ขวางระบบเครือข่าย , Passive โดยใช้ผ่านอุปกรณ์อื่นเช่น switch เป็นต้น
ซึ่งเทคโนโลยีจำพวกนี้ สามารถมองเห็นเนื้อหาของข้อมูล (content) และมองเห็นข้อมูลตามข้อ 1- 6 ที่กล่าวมาข้างต้น แต่จุดประสงค์เทคโนโลยี NIDS/IPS ถูกออกแบบมาเพื่อตรวจสอบข้อมูลที่ผิดปกติ เช่น การโจมตี DDoS/DoS ,การแพร่ระบาดไวรัส (virus/worm) , การรับส่งข้อมูลที่ไม่พึ่งประสงค์ (Spam) ,และ การป้องกันเว็บไซต์ หรือชื่อโดเมนที่หลอกหลวง (Phishing) , การกรองเว็บไซต์ที่ไม่เหมาะสม (Web Filtering) เป็นต้น ซึ่งที่กล่าวมานั้น เป็นการตรวจเฉพาะภัยคุกคามมากกว่าการตรวจทุกเนื้อหาข้อมูล (content)
ซึ่งส่วนนี้ได้ทั้งข้อ 1- 6 รวมถึง 6.1 ด้วยแต่ไม่ได้ข้อ 6.2

ภาพติดตั้ง NIDS/IPS และ Proxy ซึ่งการติดตั้งในรูปเป็นแบบ In-line หรือ Transparent ซึ่งทำให้ข้อมูลผ่านที่ตัวอุปกรณ์ได้ เหมาะสำหรับเครือข่ายคอมพิวเตอร์ขนาดเล็กและขนาดกลาง


- Proxy Caching
การติดตั้ง ได้ทั้งเป็น gateway , transparent หรือแม้กระทั่งติดตั้งเป็นเพียงเครื่อง Server โดดก็ได้
หลายคนมองข้ามเทคโนโลยีตัวนี้ เนื่องจาก Proxy Caching มักมองในด้านการเพิ่มความเร็วแต่หากพิจารณาถึงข้อมูลบนตัวระบบ Proxy Caching ก็จะพบว่ามีคุณสมบัติตาม 1-6 ครบทุกข้อ คือได้เรื่องเนื้อหาข้อมูล (content) ด้วย เพื่อความเข้าใจมากขึ้น Proxy Caching มักใช้ทำเฉพาะ Protocol ใด Protocol หนึ่งมิใช่เปิดใช้ทั้งหมด หรือน้อยนักที่เปิดใช้ทั้งหมด Protocol ที่นิยมเปิดใช้คือ HTTP หรือการทำ Proxy Caching ส่วน Web นั่นเอง
ซึ่งส่วนนี้ได้ทั้งหมด 1-6 รวมถึงข้อ 6.1 และ 6.2 (เฉพาะ HTTP หากเป็น Protocol อื่นต้องเปิดให้ Proxy รองรับ Protocol อื่นด้วยซึ่งยังไม่เป็นที่นิยมและทำให้ Proxy ทำงานหนักเกินไป) ส่วนใหญ่เทคโนโลยีนี้ไม่ได้มีการเก็บบันทึกข้อมูลไว้ในตัวต้องหา storage มาเสริม

เทคโนโลยีสุดท้ายคือ UTM (Unified Threat Management)
การติดตั้ง เป็น gateway ขององค์กร
เทคโนโลยีนี้มาแรงในปัจจุบันเนื่องจากธุรกิจ SME นั้นมีมากขึ้นทำให้เลือกใช้ UTM มากขึ้น UTM หรือรวมทุกเทคโนโลยีด้านความมั่นคงปลอดภัยลงบรรจุในเครื่องเดียว คือ เป็นทั้ง Firewall , NIDS/IPS , Proxy จึงทำให้ Log ที่เกิดขึ้นบนเครื่อง UTM ได้ครบทั้ง 6 ข้อเช่นกัน คือได้เรื่องเนื้อหาข้อมูล (content) ด้วยเช่นเดียวกับ sniffer
ซึ่งส่วนนี้ได้ทั้งข้อ 1-6 รวมถึงข้อ 6.1 ยกเว้นข้อ 6.2 ส่วนใหญ่เทคโนโลยีนี้ไม่ได้มีการเก็บบันทึกข้อมูลไว้ในตัวต้องหา storage มาเสริม

ภาพการออกแบบ UTM บนเครือข่ายคอมพิวเตอร์ ซึ่งเป็น UTM ยี่ห้อดัง Fortigate ที่นิยมในประเทศไทย


แล้วพวก Log Management ล่ะ ? ได้ทั้งเนื้อหาข้อมูล (content) ด้วย ? คำตอบคือ Log Management ไม่สามารถทำงานได้เองโดยลำพัง ต้องได้รับข้อมูลจากอุปกรณ์ / เครื่องคอมพิวเตอร์อื่น ถึงสามารถทำงานได้ หากรับข้อมูลจาก อุปกรณ์ Router ก็จะได้เพียงข้อ 1 - 5
หากรับข้อมูลจาก อุปกรณ์ Switch ก็จะได้เพียงข้อ 1-5
หากรับข้อมูลจาก NIDS/IPS หรือ Proxy caching หรือ UTM ก็จะได้ข้อ 1-6 ตามที่อธิบายข้างต้น ส่วนจะได้ข้อ 6.2 หรือไม่นั้น NIDS/IPS , NAC , UTM ไม่สามารถได้ข้อ 6.2 ส่วน Proxy ต้องอาศัยเทคโนโลยีเสริม ดังที่กล่าวมาแล้วเป็นต้น

แล้วพวกเทคโนโลยีพวก Web Crawler ล่ะ ? เช่นพวก google , yahoo หรือ bing นี้ทำไมถึงรู้ keyword ที่เราต้องการค้นหาได้ด้วย

ภาพ web crawler ตัวแรกของโลกเมื่อปี 1996

เทคโนโลยี Web crawler เสมือนเป็นสายลับให้ผู้สร้าง crawler หรืออาจเรียกได้ว่าเป็นพวก robot ที่วิ่งหาข้อมูลอยู่ตลอดเวลาทำงานแทนคนนั้นเอง ซึ่งหากพิจารณาแล้วพบว่า Web Crawler ได้เฉพาะข้อ 2 ,4, 5 และ 6 คือ
Web Crawler จะสามารถทราบถึง
- ในข้อ 2 Destination IP นั่นก็คือ เว็บไซต์ที่เปิดขึ้น เช่นค้นหาคำว่า "SRAN" พบว่า www.sran.net อยู่บรรทัดแรกของระบบ Search engine หากเราทำการเปิดเว็บไซต์ www.sran.net ก็แสดงว่า www.sran.net คือ Destination IP (ทำการ ping www.sran.net ได้ IP Address)
- ในข้อ 4 Port Destination นั่นคือ ได้ Port ปลายทางด้วย เช่น ค้นหาคำว่า "SRAN" พบว่า www.sran.net อยู่บรรทัดแรกของระบบ Search engine ข้อมูลทุกอย่างปรากฏผ่านบราวเซอร์ของเราผ่าน Protocol HTTP ก็แสดงว่า Destination port ก็คือ 80

ภาพแสดงถึงหลังฉากการติดต่อสื่อสารจะเห็นได้ว่ามีการติดต่อจาก IP ต้นทาง (Source IP หรือ Local Address Port ต้นทาง ไปยัง Destination IP หรือ IP Foreign port ปลายทาง)

- ในข้อ 5 Protocol ในการติดต่อสื่อสาร เป็น TCP เนื่องจากเป็นการสื่อสารผ่าน HTTP นั่นเอง
- ในข้อ 6 เนื้อหาข้อมูล ตาม Keyword ที่เราค้นหา โดยเทคนิค Web Crawler จำเป็นต้องดูดเนื้อหาในเว็บไซต์มาเก็บไว้ เรียกว่า Web site Copier ที่เครื่อง Crawler Server แน่นอนครับนำเอาเนื้อหา (Content) ที่เกิดขึ้นบนเว็บไซต์เข้ามาด้วย แต่เป็นเพียงเฉพาะ Protocol HTTP โดยส่วนใหญ่ ไม่ได้ทำเพื่อใช้ Crawler ไปกับ Protocol อื่นนัก และไม่ได้หมายความว่า crawler จะทำงานได้เฉพาะ HTTP นะครับเพราะมีบางโปรแกรมก็ใช้ crawler กับ Protocol ที่ใช้แชร์ไฟล์ ก็มีคือวิ่งบน SMB Protocol ก็มีเช่นกันแต่เป็นส่วนน้อยและ เทคโนโลยี Crawler ไม่จำเป็นทำตามข้อ 6.2 คือการทำ Reconstruction นั้นเนื่องจากเนื้อหาทั้งหมดอยู่ใน storage เครื่องที่ทำระบบ Crawler ที่ประมาณข้อมูลมหาศาลเรียบร้อยแล้ว จึงเป็นขอพิพากกันถึงการทำงานของ google ที่อาจเป็นการละเมิดข้อมูลผู้อื่นได้ เนื่องจาก google มี crawler จำนวนมาก มี Server ที่เก็บเกี่ยวข้อมูลจำนวนมากจึงทำให้หลายๆประเทศมองว่า google อาจเป็นภัยต่อความมั่นคงได้เช่นกัน
แต่ทั้งนี้แล้ว
** ระบบ Web Crawler ไม่มีทางที่ได้ค่า IP ต้นทางหรือ Source IP นอกเสียจากว่า IP ต้นทางดันไปปรากฏในเว็บกระทู้ (Web board) ที่เปิดเผย IP ทั้งหมด ซึ่งหากนับแล้วเว็บกระทู้ (Web board) น้อยนักที่เปิดเผย IP Address ผู้โพสเว็บทั้งหมด ดังนั้น Web Crawler หากได้ IP ต้นทางนั้นจำเป็นต้องอาศัยโชคด้วย จึงอาจกล่าวได้อีกครั้งว่าเทคนิค Web Crawler ได้เฉพาะข้อ 2,4,5 และ 6 ดังที่กล่าวมา

เทคโนโลยีทั้งหมดที่กล่าวมาผมยังไม่กล่าวถึงการเก็บข้อมูล (Storage) และการออกแบบอย่างไรถึงจะสามารถรองรับข้อมูลได้ ซึ่งหากให้เขียนทั้งหมดจะมีเนื้อหายากและยาวเกินไป เดี๋ยวจะไม่มีใครคิดจะอ่านต่อ ผมจึงขอหยุดการอธิบายส่วนเทคโนโลยีอื่นๆ ไว้เพียงแค่นี้ก่อน
กลับไปสู่เนื้อหาต่อ ..

จะพบว่าคำถามเรายังไม่หมด สำหรับความสงสัยของผู้คน ถ้าเป็นเช่นนี้ เราไม่ยุ่งหรือ ? หากอุปกรณ์ป้องกันภัยที่ทุกองค์กรที่ใช้อยู่ ก็สามารถมองเห็นเนื้อหาข้อมูล (content) ได้เช่นกัน
คำตอบคือ ก็ขึ้นอยู่กับการใช้งาน ... หากเราคิดเพียงว่าการมองเห็นเนื้อหาข้อมูล (content) ก็เป็นการ sniff "สนิฟ" ไปเสียหมด นี้ก็ไม่ต้องทำอะไรกันพอดี ไม่ต้องมีระบบป้องกันภัยคุกคามปล่อยให้เป็นไปตามเวรตามกรรมก็คงไม่ผิด หากเป็นเช่นนี้คงไม่ได้ ดังนั้น เราจึงควรสร้างความเข้าใจ ถึงเทคโนโลยีที่เราใช้อยู่อย่างมีเหตุและผลมากขึ้น

เรามาดูอีกด้านหนึ่งบ้าง คือ โทษของ sniffer ...
ลำพังด้วยโปรแกรมอย่างเดียวนั้นคงไม่มีโทษอะไร มันก็เป็นเพียงเครื่องมือหนึ่งของมนุษย์ เป็นโทษ หรือเป็นภัยนั้น คือผู้ใช้โปรแกรม sniffer นั่นเอง หากใช้ในเจตนาที่ไม่เหมาะสม เช่นการดักข้อมูลผู้อื่นโดยมิชอบนั้นแน่นอนครับผิด ทั้งผิดตามศิลธรรมแล้วยังผิดในมาตรา 8 ของพระราชบัญญัติว่าด้วยการกระทำความผิดเกี่ยวกับคอมพิวเตอร์อีกด้วย ทั้งนี้จะผิดกฏหมายได้ต้องดูที่เจตนาผู้ใช้ sniffer เป็นหลักนะครับ
ทีนี้เรามาดูกันว่า เราจะรู้ทัน sniffer กัน "เราจะรู้ได้อย่างไรว่ามีใครดักข้อมูลเราอยู่" กันดีกว่า

ตอนต่อไปผมจะกล่าวถึงวิธีรู้ทัน sniffer โดยจะพิจารณาตามลักษณะการรับส่งข้อมูลดังนี้
1. พิจารณาจากมุมมอง การใช้ข้อมูล หากเราเอาตัวเองเป็นศูนย์กลาง ตัวเรานั่งอยู่ที่ไหน ?
1.1 ที่ทำงาน (office ที่เราทำงานอยู่) --> ใครจะ sniff "สนิฟ" เราได้
1.2 ที่ไม่ใช่ที่ทำงาน เช่น บ้าน ร้านกาแฟ อื่นๆ --> ใครจะ sniff "สนิฟ" เราได้
และเราจะรู้ทันได้อย่างไร ?

ถ้าหากเราระแวง จนถึงขั้นว่าทุกการกระทำต้องเข้ารหัส (encryption) เพื่อป้องกันการดักข้อมูลนั้นจะช่วยป้องกันได้เพียงใด ?

2. การทะลุข้อมูลถึงแม้จะเข้ารหัส การสามารถอ่านข้อมูลได้โดยผ่านเทคนิคที่เรียกว่า Man in the Middle attack (MITM)
2.1 ที่ทำงาน (office ที่เราทำงานอยู่) ---> ใครจะ MITM เราได้
2.2 ที่ไม่ใช่ที่ทำงาน เช่น ที่บ้าน ร้านกาแฟ อื่นๆ --> ใครจะ MITM เราได้
และเราจะรู้ทันได้อย่างไร ?

ผมมีคำตอบให้ในตอนหน้า ครับ

เพื่อความแข็งแรงขึ้น และจะได้ลงลึกในรายละเอียดที่กล่าวในตอนหน้าต่อไป ให้กลับไปอ่านเรื่องมุมมองภัยคุกคามจาก
http://nontawattalk.blogspot.com/2009/04/blog-post.html
และ http://nontawattalk.blogspot.com/2009/10/3-in-3-out.html
และ บทความภัยคุกคามตาม Layer ทั้ง 7
http://nontawattalk.blogspot.com/2009/08/layer-7.html
http://nontawattalk.blogspot.com/2009/09/layer-7-2.html
http://nontawattalk.blogspot.com/2009/09/layer-7-3.html

นนทวรรธนะ สาระมาน
Nontawattana Saraman
07/02/53