Thursday, September 17

ภัยคุกคามตาม Layer ทั้ง 7 ตอนที่ 2

ที่กล่าวไปแล้วในตอนที่แล้วเราพูดถึงภัยคุกคามที่เกิดขึ้นตาม OSI 7 layer ผมทำการเรียงลำดับมาตั้งแต่ Layer 1 - Layer 3 ไปแล้ว ต่อจากนี้เราจะมาทำความเข้าใจภัยคุกคามตาม Layer ที่เหลืออีก

Layer 4 : Transport มี Protocol ที่ใช้ใน Layer นี้คือ TCP และ UDP การเชื่อมต่อสื่อสารเป็นชนิด End-to-end connection
TCP คือต้องการความถูกต้องของการรับส่งข้อมูล ยืนยันจากการติดต่อแบบ 3 way handshake
SYN , ACK , FIN รายละเอียดเพิ่มเติมอ่านได้ที่
Transmission Control Protocol
ประเภท Application Protocol ที่มีการเชื่อมต่อที่ใช้ TCP ได้แก่ Web (HTTP, HTTPS) , การ Remote ทางไกล เช่น Telnet (23) , SSH (22)
Mail เช่น SMTP (25) , POP3 (110) เป็นต้น
Port ทั้งหมดของ TCP มี 65,535 port services
UDP คือการติดต่อที่อาศัยความเร็วในการรับส่งข้อมูลไม่เน้นความถูกต้องของข้อมูล
ประเภท Application protocol ที่ใช้ UDP ได้แก่ syslog (514) , SNMP (161) , IRC (6667-7000)
เป็นต้น Port ทั้งหมดของ UDP มี 65,535 port services
ดังนั้นวิธีการโจมตีผ่าน Layer 4 โดยอาศัย Protocol TCP และ UDP นั้นจึงมีหลากหลายหนทางในการปฏิบัติ

ทางเป็นชนิด TCP ก็อาศัยการติดต่อสื่อสารระหว่างเครื่องให้ขาดความสมบูรณ์ในการเชื่อมต่อ เช่น ส่งค่า SYN อย่างเดียวแทนที่จะครบ SYN --> SYN ACK ---> ACK --> FIN เพื่อให้ครบ ESTABLISHED


ภาพการติดต่อที่สมบูรณ์ จาก command line บนเครื่องผู้เขียน netstat -an ลองทำตามได้ครับ

ถ้าติดต่อไม่สมบูรณ์ จากการโจมตีที่เรียกว่า SYN Flood เป็นรูปแบบหนึ่งของการทำ DoS (Denial of Services)

ภาพจาก (tula.bofh.ru/articles/539)

การทำ DDoS/DoS ชนิด SYN flood สามารถมองได้ 2 มุม ได้แก่

มุมภายในเครือข่ายเดียวกัน หมายถึงเครื่องภายในยิงกันเอง ซึ่งลักษณะนี้อาจเกิดจากติดเชื้อไวรัสคอมพิวเตอร์ชนิด worm บางชนิดที่ทำการเกิดอาการผิดปกติได้ในการรับส่งข้อมูล หรืออาจจะเกิดจากความตั้งใจคนบุคคลที่การยิง SYN flood ไปยังเครื่องเป้าหมาย

ในมุมภายในนี้ สามารถ Radom port ในการส่งค่า SYN Flood ได้สะดวกเนื่องจากมีทางเลือกให้ถึง 65,535 port ทีเดียว ดังนั้นจึงเป็นที่ทำให้ผู้ดูแลระบบต้องมีเครื่องมือในการเฝ้าระวังในจุดนี้ด้วย และหากเครื่องคอมพิวเตอร์ (client) มีการใช้ Host Base Firewall , Host Base IPS ก็สามารถป้องกันได้ระดับหนึ่ง ที่บอกว่าได้ระดับหนึ่งเนื่องจาก ซอฟต์แวร์ป้องกันในระดับ Host base ต้องอาศัยการ CPU และ RAM รวมถึงการต่อต้านการโจมตีของระบบปฏิบัติการ (OS) ซึ่งมีรายละเอียดพอสมควรหากให้อธิบายเป็นระดับ Kernel และการปรับแต่งค่า system ภายใน OS อยู่หากเครื่องคอมพิวเตอร์ที่มีคุณสมบัติทางกายภาพไม่เหมาะสมหรือเป็นรุ่นเก่าการประมวลผลช้าถึงแม้จะมีระบบป้องกันที่ดี หากมีการโจมตีจำนวนมากและเป็นชนิด DDoS (Distributed Denial of Service) เข้าร่วมแล้วล่ะก็มีโอกาส CPU สูงและทำให้เครื่องอืดพร้อมใช้งานไม่ได้ตามมา

ส่วนมุมภายนอก คือ ยิงค่า SYN Flood จากเครื่องผู้ไม่หวังดีไปที่เครื่องเป้าหมายที่ห่างไกลออกนอกระบบเครือข่าย ในกรณีต้องมีการทำการ scan port เครื่องปลายทางเสียก่อนถึงจะร่วงรู้ว่ามีการเปิดค่า port services ที่เป็น TCP หรือไม่ ส่วนใหญ่มักจะยิงค่า SYN Flood ผ่าน Application Protocol ที่ทราบว่ามีการใช้งานอยู่เช่น HTTP Protocol (80) ซึ่งเป็นการติดต่อแบบ TCP เช่นกัน ซึ่งเป็นส่วนใหญ่ที่นักโจมตีไม่อยากเสียเวลาในการ scan port ทั้งหมด (65,535 TCP และ 65,535 UDP) เนื่องจากในมุมภายนอกมักมีการกำหนดช่องทางการเข้าถึงจำกัด แต่ที่รู้กันคือต้องเปิด port 80 เป็นอย่างแน่นอน

การยิงในมุมภายนอก นั้นสามารถป้องกันได้โดยใช้อุปกรณ์ Network Firewall ที่เป็นชนิด State ful inspection หรือ Network IPS ก็จะสามารถป้องกันได้


แล้ว UDP ล่ะจะเกิด SYN Flood ได้หรือไม่ ? คำตอบคือไม่ได้ เพราะ UDP ไม่มีการเชื่อมต่อแบบ TCP

ภาพนี้เป็นโครงสร้างของการติดต่อแบบ TCP

แล้วจะมีการโจมตี UDP Flood หรือไม่ ? มีและเป็นที่นิยมในยุคหลังๆมากขึ้น โดยเฉพาะไวรัสคอมพิวเตอร์ชนิด worm ที่มักโจมตีด้วยการอาศัย Protocol TCP และ UDP

หากในระบบเครือข่ายภายในองค์กร มีการระบบเฝ้าระวังภัย และพบว่ามีการติดต่อค่า UDP มากกว่า TCP แล้วนั้นต้องตั้งข้อสงสัยไว้ก่อนว่าอาจจะมีเหตุการณ์ไม่พึ่งเกิดขึ้นได้

ส่วนผู้ดูแลระบบ Core Router ที่จำเป็นต้องเปิดค่า UDP จาก SNMP เพื่อใช้ในการ Monitor ความเสรียฐภาพของอุปกรณ์ ก็ต้องระวังให้มากเนื่องจาก SNMP อาจถูกโจมตีจากผู้ไม่หวังดีได้ ดังนั้นควรตั้งค่า community string สำหรับ SNMP เพื่อไม่ให้นักโจมตีระบบ scan port จากภายนอกและทำการส่งค่า UDP Flood มาสู่อุปกรณ์ Router , Switch เราได้จากโลกภายนอก ซึ่งทั้งนี้ Router / Switch นั้นต้องมี IP Address ที่เป็น IP จริง ถึงจะมีการโจมตีผ่านได้ โดยปกติแล้ว Core Router ก็ต้องมี Interface ที่แสดงค่า IP จริงได้อยู่แล้วหากมีผู้ไม่หวังดีทราบถึง IP ของ Router และทำการ scan port ขึ้นก็อาจทำให้เกิดการโจมตีได้ ขึ้นกับการป้องกันของผู้ดูแลระบบว่ามีความตระหนักในเรื่องนี้มากน้อยแค่ไหน

ส่วนค่า Syslog ล่ะจะทำการส่งค่าออกไปข้างนอกผ่าน Internet ได้หรือไม่ ? คำตอบว่าได้ แต่ควรผ่านอุปกรณ์เฉพาะที่ใช้ในการส่งค่า syslog เช่น SIEM (Security Information Event Management) หรืออุปกรณ์อื่นๆ ที่ใช้ในการส่งโดยเฉพาะ ไม่ควรส่งผ่านอุปกรณ์ Router หรือ Switch โดยตรงเพราะอาจถูก scan port จากทางไกลและอาศัย port services ที่ส่งในเป็นเครื่องมือในการโจมตี DDoS/DoS ได้

ดังนั้นการส่งค่า syslog ที่เป็น UDP ออกสู่ข้างนอกจึงควรมีระบบการส่งให้มีความปลอดภัย และไม่มีผลกระทบกับ Bandwidth ในองค์กรนัก ทั้งนี้ต้องเกิดจากการออกแบบจากผู้เชี่ยวชาญด้านนี้โดยตรง

มาถึงตรงนี้ ก็จะพบว่าภัยคุกคามที่เกิดจาก Transport Layer นั้นมักอาศัยช่องทาง TCP , UDP โดยส่วนใหญ่จะเป็นการโจมตีแบบ DDoS/DoS เชื่อมกับ Application protocol ที่เราๆท่านๆ ได้เปิดใช้ขึ้นเองทั้งมุมภายในและมุมภายนอกนั้นแหละ หากเป็นมุมภายนอกเราปิด Port services ที่ไม่จำเป็นต้องใช้ได้ก็จะปลอดภัยขึ้น ปิดจากอะไรก็ปิดจาก Network Firewall ที่เราควรจะมีไว้ทุกองค์กรนั้นเอง

ส่วนมุมภายใน วิธีที่ง่ายที่สุดคือลงโปรแกรมที่จำเป็นเท่านั้นบนเครื่องคอมพิวเตอร์ หากลงโปรแกรมมาก ก็ทำให้มีการเปิด port services มากเป็นเงาตามตัว ทำให้เพื่อนร่วมงานหรือ Hacker ในองค์กร ที่ร้อนวิชาอาจโจมตีท่านได้เช่นกัน โชคไม่ดีอาจเป็นแหล่งเพาะเชื้อที่ทำให้ไวรัสคอมพิวเตอร์เข้าถึงเครื่องคอมพิวเตอร์ได้ง่ายขึ้นอีก ใครที่ลงโปรแกรมเกมส์ โปรแกรมโหลดหนังผ่าน P2P ก็ควรใตร่ตรองในเรื่องนี้ให้มากขึ้น

ในตอนหน้าผมขอรวบ Layer 5,6 และ 7 เป็นเรื่องเดียวกัน ซึ่งถือได้ว่า Layer หลังนี้เป็นจุดเสี่ยงภัยที่มีการเข้าถึงระบบได้ง่ายและเป็นที่นิยมจากเทคนิคการโจมตีต่างๆในยุคปัจจุบันเป็นอย่างมาก

Nontawattana Saraman

SRAN Development Team ตอนนี้ขอทำการโปรโมทเทคโนโลยีใหม่ที่ทางทีมวิจัยพัฒนา SRAN ได้พัฒนาขึ้นเพื่อช่วยในการเฝ้าระวังภัยคุกคามที่เกิดขึ้นภายในองค์กร ชื่อ SRAN Light รายละเอียด http://sran.org/q ซึ่งเทคโนโลยีตัวนี้ช่วยให้เรารู้ทันภัยคุกคามได้ชนิดที่ไม่จำเป็นต้องเป็นผู้เชี่ยวชาญ

นนทวรรธนะ สาระมาน
Nontawattana Saraman
09/09/09

เนื้อหาบทความที่เกี่ยวข้อง ภัยคุกคามตาม Layer ทั้ง 7 ตอนที่ 1
รายละเอียด Port Number และความหมาย

No comments: