https://www.thaidatahosting.com/wp-content/uploads/2016/02/server.jpg
โดยปกติ
หากเราต้องให้บริการหรือเซอร์วิสอะไรบางอย่างโดยคอมพิวเตอร์เซิร์ฟเวอร์แล้วละก็ จะให้เซิร์ฟเวอร์หยุดทำงานไม่ได้เลยใช่หรือไม่ครับ
แล้วยิ่งเราต้องให้บริการตลอด 24/7 (ยี่สิบสี่ชั่วโมง เจ็ดวัน) ตลอดเวลา จึงเกิดความเสี่ยงที่เซิร์ฟเวอร์ของเรา
ที่ต้องให้บริการกับลูกค้าตลอดเวลานั้นเสียหายก็เป็นได้ นอกจากนี้แล้วไม่เพียงแค่ภัยที่เกิดจากภายในระบบด้วยการทำงานอย่างหนักตลอดเวลาอย่างที่กล่าวมา
ก็ยังมีภัยคุมคามจากภายนอกอีกด้วย อย่างเช่น ไวรัส , การโจมตีจากผู้ไม่หวังดีที่ต้องการจะทำให้หยุดการให้บริการ(Denial
of Services) หรือเรียกสั้นๆว่า DOS ดังนั้นจึงจำเป็นที่จะต้องมีมาตรการในการป้องกันภัยคุมคามเหล่านี้
เรื่องที่กล่าวในตอนต้น
เป็นเรื่องของความพร้อมใช้งาน (Availability) เป็นองค์ประกอบหลัก
1 ใน 3 ข้อ
ของการรักษาความปลอดภัยระบบคอมพิวเตอร์
ซึ่งหากขาดข้อใดข้อหนึ่งก็แสดงว่าระบบคอมพิวเตอร์นั้น ไม่มีความปลอดภัยเสียแล้วแต่ในบทความนี้จะกล่าวถึงวิธีการป้องกันหรือกลไกในการรักษาความพร้อมใช้ว่ามีหลักการอย่างไรที่จะมาป้องกันเท่านั้น
ยกตัวอย่างเหตุการณ์สมมติ
เช่น การให้บริการร้านอาหารแห่งหนึ่งในกรุงเทพฯซึ่งอร่อยมาก แต่คนให้บริการมีแค่คนเดียวและที่สำคัญคืออายุมาก
ก็คล้ายๆกับเซิร์ฟเวอร์ที่มีอยู่เครื่องเดียวและก็เก่ามากเกิน 5 ปี การเข้าแถวรอคิวด้วยความที่ร้านอาหารแห่งนี้มีความอร่อยมาก
มาจึงมีผู้เข้าใช้บริการเป็นจำนวนมาก มากซะจนผู้ให้บริการนั้นเจ็บป่วยขึ้นจนทำให้ต้องหยุดให้บริการ
ในการแก้ปัญหานี้ก็คือจะต้องมีคนช่วยทำอาหารเพิ่มขึ้น เพื่อที่จะแบ่งเบาภาระจำนวนคนที่มาต่อคิวลงได้
เหมือนกับการที่นำเซิร์ฟเวอร์มาตั้งแต่สองเครื่องขึ้นไปมาทำงาน เพื่อเป็นการทำ
Load Balancing หรือจะเรียกอีกอย่างหนึ่งว่า Redundancy การให้บริการคู่ขนาน เพื่อป้องกันการหยุดการให้บริการ เมื่อเครื่องใดเครื่องหนึ่งหยุดทำงาน
ก็ยังมีอีกเครื่องทำงานทดแทนกันได้อยู่ ในเรื่องนี้เป็นปัญหาพื้นฐานก่อนที่ซื้ออุปกรณ์อยู่แล้ว
จะต้องออกแบบระบบให้รองรับอุปกรณ์สองชุด เพื่อให้ชุดใดชุดหนึ่งเป็นเครื่องสำรองนั้นเอง
จากที่ได้เรียนรู้ไปว่าจะต้องป้องกันภัยที่เกิดจากภายในระบบ
จะต้องมีอุปกรณ์สองชุดเพื่อทำ Load Balancing ป้องกันการหยุดให้บริการ แต่หากเป็นภัยที่มาจากภายนอกจะป้องกันกันอย่างไร
เราต้องมาเข้าใจถึงเหตุผลหรือแรงจูงใจของการถูกโจมตีเพื่อให้หยุดการให้บริการเสียก่อน
ซึ่งทำไมถึงถูกโจมตีมีหลายเหตุผล อาจจะเกิดจากขัดแย้งทางธุรกิจ ทำให้ภาพลักษณ์ขององค์กรเกิดความเสียหาย
เกิดจากความอยากรู้อยากเห็นของแฮ็กเกอร์มือใหม่ ผลประโยชน์ต่างๆ เช่น
ต้องการประท้วงในเรื่องที่ไม่เห็นด้วยในบางเรื่องของรัฐบาล เป็นต้น
http://filmautonomy.com/wp-content/uploads/2015/05/age-of-ultron-ultron.jpg
การโจมตีในรูปแบบต่างๆของการทำให้หยุดการให้บริการ
เช่น DOS (Denial of Services) นั้นเป็นเทคนิคในการส่งข้อมูลแพ็คเกจที่มีขนาดใหญ่ส่งไปยังเซิร์ฟเวอร์หลายๆครั้งจนเครื่องเซิร์ฟเวอร์ทำงานไม่ไหวหรือการส่งแพ็คเกจข้อมูลแบบผิดๆของกระบวนการ
Three Way Handshake ทำให้เซิร์ฟเวอร์วนลูป Request เข้าหาตัวเองจนเกิดความเสียหาย Buffer Overflow แล้วหยุดทำงานลงไป
ด้วยวิวัฒนาการของ DOS นั้นก็ได้มีเทคนิคใหม่ๆเพิ่มขึ้นอย่างมากมายทั้งที่แค่เทคนิค
DOS แค่อย่างเดียวก็หาวิธีป้องได้อย่างยุ่งยากแล้วก็ตาม
อย่างเช่น เทคนิคดังต่อไปนี้ DDOS (Distribute Denial of Services), DRDOS (Distributed Reflected of Services) , Telephony Denial-of-Services (TDOS) หรือAdvanced Persistent DOS (APDOS) ล้วนเป็นการโจมตีที่ถูกคิดค้นขึ้นเพื่อทดสอบระบบแต่ด้วยเครื่องมือที่เป็นดาบสองคมก็ถูกนำมาใช้ในทางที่ผิด
เพื่อทำลายได้เช่นกัน ในส่วนของเทคนิคของแต่ละการโจมตีในบทความนี้ขอไม่กล่าวถึง
เพราะจะบอกถึงวิธีป้องกันจากการโจมตีเหล่านี้ในบางส่วนเท่านั้น
ในการป้องกันการโจมตีเหล่านี้ ล้วนจะต้องใช้การวิเคราะห์ทางสถิติเข้ามาช่วยในการป้องกันโดยอาศัยอุปกรณ์
อย่างเช่น พื้นฐานที่สุดสิ่งแรกที่จะต้องมีในระบบคือ Firewall เพื่อคัดกรอง
แพ็คเกจข้อมูลที่ไม่พึงประสงค์แต่ด้วยข้อจำกัดของ Firewall นั้นทำให้ไม่สามารถที่จะป้องเทคนิค
DOS ได้ดีจึงต้องมีอุปกรณ์อื่นๆเข้ามาช่วย เช่น
Intrusion Detection System - IDS หรือ Intrusion Prevention
System - IPS เพื่อป้องกันผู้บุกรุก โดยที่ IDS จะตรวจจับผู้บุกรุกและขู่ให้ผู้บุกรุกกลัวแล้วเลิกการกระทำที่เป็นอันตรายต่อระบบ
ยกตัวอย่างเช่น โจรที่กำลังจะโจรกรรมรถยนต์ แต่สัญญาณกันขโมยเกิดดังเสียก่อน
โจรจึงหมดสิทธิ์ที่จะที่ขโมยของที่อยู่ในรถยนต์คันนั้นและได้หลบหนีไปได้
ถ้าเปรียบสัญญาณกันขโมยก็เหมือน IDS นั้นเอง ส่วน IPS
ก็จะเป็นอุปกรณ์ที่เหมือนกับ IDS แต่มีความสามารถมากกว่าคือสามารถที่จะป้องกันเทคนิค
DOS ได้ ในเวอร์ชั่นเก่าๆของ IPS จะใช้วิธีการ
Reset TCP เพื่อกำจัดเซสชันที่คาดว่าผิดปกติ
ในรุ่นใหม่ๆก็ใช้เทคนิคที่เรียกว่า Inline ก็คือจะเอา IPS
ไปวางไว้ตรงทางเข้าออกของการส่งข้อมูล เพื่อป้องกันเซสชันที่ผิดปกติ มีความฉลาดขึ้นสามารถที่จะเรียนรู้พฤติกรรมและปรับแต่ง
Policy ได้เอง แต่ด้วยความที่มันมีข้อดีย่อมมีข้อเสียเช่นกัน คือ
ถ้าเกิด IPS เสียก็จะไม่สามารถส่งข้อมูลได้ หรือ
ปิดกั้นแพ็คเกจธรรมดาๆไปเอง
ด้วยพฤติกรรมของการโจมตีของ DOS จะมีการเชื่อมต่อและร้องขอการใช้งานมากกว่าผู้ใช้งานคนอื่นๆถึง
60 ครั้ง
เป็นการร้องขอจำนวนมากเกินปกติ เทคนิคที่ใช้ป้องกันก็อย่างเช่น การทำ Limited
Rate of Request , Limiting the Number of Connection , Blacklist IP Address และอื่นๆอีกหลายเทคนิคที่ไม่ได้กล่าวถึง
สามารถศึกษาเพิ่มเติมได้จากการใช้งาน IDS และ IPS นอกจากเทคนิคต่างๆที่ผ่านมาในยุคนี้ก็เริ่มจะเอาเรื่องของ Cloud
computing เข้ามาใช้งานเป็นระบบป้องกัน DOS และ
DDOS โดยเมื่อมีการร้องขอเข้าเว็บไซต์ก็จะต้องผ่านระบบ Cloud
นี้เสียก่อนเมื่อถูกตรวจสอบแล้วว่าไม่ใช่การโจมตีด้วย DOS หรือ DDOS ก็สามารถผ่านเข้าไปยัง Server ที่ต้องการได้
ถึงแม้ว่าระบบการป้องกันหรือการโจมตีจะผ่านมาหลายสมัยแล้วก็ตาม
มันก็ยังคงถูกพัฒนาอยู่อย่างตลอดเวลาดังนั้นการป้องกันที่ดีที่สุดนั้นคือ
หมั่นศึกษาหาความรู้