ผมมีโอกาสได้เข้าร่วมแข่งขัน Cyber Defence Exercise 2016 ของสถาบันวิชาป้องกันประเทศ ซึ่งในรอบสุดท้ายเป็นการแข่งขันแบบ Attack-Defence CTF ระบบ Cyber Range ผมเลยถือโอกาสเอามารีวิวครับ
CTF คืออะไร? CTF มาจากคำว่า Capture the Flag (CTF) ในบทความนี้หมายถึงการแข่งขันทักษะทางคอมพิวเตอร์ทั้ง hacking และ security ในหัวข้อ web, forensic, crypto, binary, programming(debug, review code), … เป็นต้น
โดยทั่วไปการแข่ง CTF มีอยู่ 2 รูปแบบ
- Jeopardy จะเป็นรูปแบบมีโจทย์มาให้เราทำการแก้ปัญหาด้วยทักษะต่างๆตามหมวดหมู่เช่น web, forensic, crypto, binary, programming(debug, review code), … เป็นต้น ซึ่งแต่ละผู้จัดงานก็มีรูปแบบโจทย์ไม่เหมือนกันความยากง่ายก็เช่นกัน โดยเมื่อแก้ปัญหาสำเร็จผู้เข้าแข่งขันก็จะได้ flag ใครได้คะแนนเยอะสุดก็เป็นผู้ชนะ โดยทั่วไปการแข่งรูปแบบนี้ส่วนใหญ่แข่งแบบออนไลน์
- Attack/Defence จะเป็นรูปแบบที่แต่ละทีมมี servers ที่ต้องดูแลเพื่อไม่ให้คู่ต่อสู้โจมตีได้สำเร็จ(เสีย flag) และต้องโจมตีผู้อื่นเพื่อเอา flag มาให้ได้
Cyber Range เป็นระบบที่พัฒนาโดย ACIS/Cybertron เป็นระบบที่ใช้สำหรับแข่งขัน CTF และฝึกฝนทักษะในด้าน information security ทั้งในเชิงรุกและป้องกัน ผมมีโอกาสได้เข้าร่วมแข่ง CTF แบบ attack/defence ที่จัดโดยสถาบันวิชาป้องกันประเทศโดยใช้ระบบ Cyber Range ในการแข่งขัน
รูปแบบการแข่งขัน
ทุกทีมจะต้องป้องกัน server ของตัวเองไม่ให้ถูกแฮคและพยายามแฮค server ทีมอื่นเพื่อเอา flag แต่ละทีมจะมี servers ที่ต้องดูแล 3 เครื่อง
และแต่ละเครื่องมี flag อยู่ 1 flag เริ่มต้นแต่ละทีมมีคะแนนอยู่ 100 คะแนนถ้าเสีย flag จะเสีย -33 คะแนน ถ้ายึด flag คู่ต่อสู้ได้บวก 10 คะแนน
รูปแบบโจทย์ในการแข่งขัน
โจทย์เป็นช่องโหว่ที่เกิดขึ้นจริงสามารถพบได้ในระบบทั่วไป มีทั้ง web application, server services, misconfiguration, buffer overflow,
code review, … ระดับความยากของโจทย์มีหลากหลายตั้งแต่ brute force password แล้วได้ flag จนถึงช่องโหว่ buffer overflow ที่ต้อง bypass DEP/ASLR บน Wndows Server 2008 ถึงจะได้ flag
กลยุทธ์ในการแข่งของทีมผม
- ความเร็ว เนื่องจากช่วงต้นเกมส์แต่ละทีมกำลังหาวิธีป้องกันระบบของตัวเองอยู่ ระบบเลยยังมีความปลอดภัยต่ำ เป็นโอกาสที่เราจะยึด flag คู่ต่อสู้ได้ง่าย
- ตัดกำลังคู่แข่งคนสำคัญหรือทีมตัวเต็งคือถ้าเรายึด flag เขาได้ เขา -33 คะแนนโอกาสที่เขาจะกลับมาได้ ต้องยึดได้ 3-4 flag ซึ่งเป็นไปได้ยาก เท่ากับว่าแทบจะหลุดอันดับ 1 ใน 3 ไปเลยถ้าเสีย 1 flag
- เน้นป้องกันมากกว่าโจมตี
สรุป ระบบ Cyber Range ถือว่าโอเคเลยในการใช้เป็น labs ฝึกฝนทางด้าน information security เป็นช่องโหว่ที่เกิดขึ้นจริงทั่วไปมีขั้นตอนในการแฮคที่สมจริง เช่น ต้องแฮคเข้าไปแล้วทำการอัพสิทธ์เป็น root ถึงจะได้ flag และได้ฝึกทักษะการป้องกันช่องโหว่จริง ส่วน CTF แบบ Jeopardy โจทย์จะเน้นไปที่การโจมตีในเคสเฉพาะ, ทักษะการแก้ปัญหา, ความสดใหม่ของเรื่องที่เอามาออกโจทย์, ความหลากหลายของโจทย์ มากกว่า
2 Comments. Leave new
อยากทราบรายละเอียดเกี่ยวกับ ข้อ 3 เน้นป้องกันมากกว่าโจมตี ว่าป้องกันอย่างไรละเอียดมากก็ดีครับ จะได้เป็นความรู้เพิ่มเติม
เน้นป้องกันคือใช้คนและเวลากับการป้องกันมากกว่าโจมตีน่ะครับ ส่วนวิธีการป้องกันในแต่ละเครื่องนั้นแตกต่างกันแล้วแต่โจทย์ครับ บางโจทย์ต้องแก้ไข code ให้ไม่มีช่องโหว่เช่น SQLi, Command Injection, … บางข้อต้องแก้ไข config ให้มีความปลอดภัย บางข้ออาจจะต้องใช้เทคนิคพิเศษ 😉 แต่ทั้งนี้ทั้งนั้น server ของเราต้องสามารถให้บริการ services, applications ได้ตามปกติหลังการแก้ไขนะครับ