พอดีผมเห็น รายการ CyberForce Competition 2023 ใน Social Media เลยนึกย้อนไปตอนที่ผู้เขียนได้มีโอกาสเข้าร่วมการแข่งขัน CyberForce Competition ที่ USA เมื่อปีที่แล้ว (2022) ขณะนั้นหลังจบการแข่งขันรู้สึกค่อนข้างที่จะประทับใจกับรูปแบบการแข่งขัน เลยจะมาเล่าแบบคร่าวๆ เกี่ยวกับ การแข่งขัน การแบ่งทีม การให้คะแนน ในโพสต์นี้เผื่อจะเป็นประโยชน์สำหรับ ผู้ที่ต้องการจะจัดการแข่งขันไซเบอร์เพื่อพัฒนาศักยภาพด้านไซเบอร์ให้กับบุคลากรในประเทศของเรา
Keith
Cybersecurity researcher
CyberForce Competition เป็นการแข่งขันทางไซเบอร์ ที่จัดโดย กระทรวงพลังงานของประเทศสหรัฐอเมริกา (Department of Energy) และ Argonne National Laboratory ซึ่งทางกระทรวงพลังงานมีวัตถุประสงค์หลักคือ การแก้ปัญหาการขาดแคลนบุคลากรที่จะมาทำงานด้านความปลอดภัยทางไซเบอร์ในสหรัฐอเมริกา โดยเฉพาะแรงงานไซเบอร์ที่จะต้องไปทำงาน ในส่วนของ Critical Infrastructure ต่างๆ ที่เกี่ยวกับพลังงาน เช่น พวกโรงงาน โรงไฟฟ้า เขื่อน ระบบน้ำมัน ระบบขนส่ง และ ระบบอื่นๆ ที่มีการใช้ Operational Technologies (OT) โดย ณ ปัจจุบัน ระบบเหล่านี้มีการ นำ Information Technologies(IT) เข้าไปรวมด้วยเพื่อเพิ่มศักยภาพ เพิ่มผลผลิต และอื่นๆ การรวมกันของ IT และ OT นี้ เราจะเรียกว่า IT/OT Convergence ซึ่งสิ่งที่ตามมาก็คือ ความเสี่ยงที่เพิ่มมากขึ้นนั่นเอง
มากไปกว่านั้น ทางกระทรวงพลังงาน จัดการแข่งขันนี้ เพื่อส่งเสริมให้นักศึกษา ได้รับ Hands-on experience มากขึ้น, มี Awareness มากขึ้น และได้สัมผัสกับ Real word scenario ในมิติของ Cybersecurity โดยแต่ละทีมจะมีสมาชิก 6 คน และ ในแต่ละทีมนั้น อาจจะแบ่งความรับผิดชอบตาม โจทย์ และสถานการณ์ที่กำหนด ซึ่งถ้าทำโจทย์ได้ ก็จะได้คะแนน
ด้านล่างคือสถานการณ์ที่ผมได้รับ ในการแข่งขันปี 2022
“สรุปคร่าวๆ ประมาณว่าเราเป็น Cybersecurity Team ของบริษัท ผลิตรถยนต์ EV ที่ใช้พลังงานแสงอาทิตย์ในการผลิตด้วย ประเด็นคือว่าบริษัทเรา ได้ทำการซื้อ บริษัทที่ให้บริการด้านพลังงาน จากแสงอาทิตย์ ซึ่งจะทำให้ บริษัทเราเป็น No.1 ในย่านนี้หลังจากซื้อ และรวมสำเร็จ นั่นเป็นเหตุให้ คู่แข่งในย่านนี้ไม่พอใจ เลยส่งแฮกเกอร์มาโจมตีบริษัท ที่เรากำลังจะรวมเข้ามา แต่ปัญหาคือ แฮกเกอร์ได้โจมตีระบบของบริษัท ที่เราซื้อมาสำเร็จแล้ว และฝังตัวเองอยู่ในระบบ และช่องโหว่ต่างๆ ในระบบก็ยังหลงเหลืออยู่” จะเห็นได้ว่า Acquisition may introduce new risks to us!
ในการแข่งขันมีการแบ่งทีมกันดังนี้
Blue Team
นักศึกษาทุกคนจะถือว่า อยู่ใน Blue Team (Cybersecurity Team) หน้าที่หลักคือ ทำ Document ให้ Orange Team, ทำให้ระบบมีความปลอดภัยเพิ่มมากขึ้น และป้องกันระบบเครือข่ายที่ได้รับมอบหมาย โดยจะต้องป้องกันการโจมตี จาก Red Team และรักษาระบบเครือข่ายให้ Green Team ยังสามารถใช้งานได้อยู่ ตามฟังก์ชันที่กำหนด
Red Team
จะเป็นอาสาสมัคร ส่วนใหญ่จะเป็น Penetration Tester ของบริษัทเอกชนที่สมัครเข้ามา โดยจะทำหน้าที่เจาะ และ ทำลายระบบที่ Blue Team ปกป้องอยู่
Green Team
จะเป็นอาสาสมัคร ที่มาทำหน้าที่เป็น end users เช่น customers ของระบบ
White Team
กรรมการ และเป็นผู้ดูแลระบบการจัดการแข่งขัน Cyber Force Competition จะคอยสนับสนุนเวลามีปัญหาเกิดขึ้น
Orange Team
จะเป็นอาสาสมัคร โดยจะได้รับมอบหมายให้ มีตำแหน่ง เป็น C-suite ของบริษัทที่ถูกโจมตี (หัวหน้าทีมผมเคยเล่าให้ฟังว่า การแข่งขัน Cyber Force ปี 2021 เขาได้รับหน้าที่เป็น หัวหน้า Cybersecurity Team โดน C-suite เรียกไปต่อว่า เพื่อสร้างความกดดันด้วย 555 ประมาณว่า เมื่อไหร่ Service … จะฟื้น!!!)
การแข่งขันจะมี 2 เฟส คือ Setup Phase และ Attack Phase
เฟสที่ 1 Setup Phase
เฟสนี้จะเริ่มก่อนการแข่งขันจริงๆ (ก่อน Attack Phase) โดย Blue Tam จะได้รับมอบ ระบบของบริษัทในสถานการณ์มา ระบบถูกจำลองให้อยู่ใน AWS Environment มีทั้ง Linux และ Windows OS หลังจากได้ระบบแล้ว Blue Team จะต้อง อ่านสถานการณ์ กฎ ศึกษาระบบ และประเมินความปลอดภัยระบบที่ได้รับมา รวมถึง Hardening ด้วย หลังจากนั้น จะต้องทำเอกสาร และ วิดีโอ Brief ส่ง Orange Team ในเอกสารนั้นจะมีหัวข้อเบื้องต้นดังนี้ System Overview, Asset Inventory (ค่อนข้างสำคัญมาก ถ้าเราไม่รู้ Services ตัวเองว่ามีอะไรบ้าง อาจจะส่งผลให้เรา ข้ามการทำ Hardening ที่ Service นั้นไป), Network Diagram, Vulnerabilities Found and Mitigations (จุดนี้เราต้องทำ Pentest หรือ Security Assessment ระบบเราเอง และปิดช่องโหว่ เพื่อลดความเสี่ยงที่จะเกิดขึ้น เมื่อ Attack Phase เริ่ม) และ System Hardening (ทีมผม ใช้ STIG Checklists)
เฟสที่ 2 Attack Phase
เฟสนี้จะถือว่าเป็นวันแข่งจริง โดย Red Team จะเริ่มเข้าไปเจาะ Blue Team และไป Execute คำสั่ง ผ่าน ช่องโหว่ของระบบ หรือ Malware ที่ฝังไว้ หรือ Rogue User ในระบบ และ White Team จะคอยประเมิน Service Uptime ส่วน Green Team จะใช้ระบบ เช่นการลองเข้าไปบนหน้าเว็บไซต์ ลองโพสต์ข้อความ แล้วจึงให้คะแนน มากไปกว่านั้น Blue Team จะต้องทำโจทย์ ที่เรียกว่า Anomalies ด้วย ซึ่งจะคล้ายๆ กับ CTF Challenges บ้านเรา แต่จะตอบได้แค่ 3 ครั้ง ถ้าผิดหมด ก็จะตอบอีกไม่ได้
การให้คะแนน จะมีทั้งหมด 5 ส่วน ดังนี้
การให้คะแนนโจทย์ Red Team จะมี 2 ส่วน Assume Breach กับ External Penetration Testing
Assume Breach – Red Team จะทำการปิด Service หรือ disrupt service เราโดยใช้ High Privilege Rouge Account (เราห้ามลบ Account นี้ออกจากระบบ เพราะมันเป็น Assume Breach ถ้าเราลบ Red Team ก็จะไม่สามารถให้โจทย์นี้ได้ เราก็จะไม่ได้คะแนน) ถ้า Service โดน Disrupt เราจะต้องบอก Red Team ได้ว่า มันเกิดจากอะไร IOCs คืออะไร แก้ไขเบื้องต้นอย่างไร ถ้าทำได้ก็ได้คะแนน
External Penetration Testing – จะเป็น Script เช็คช่องโหว่ของระบบเป็นช่วงๆ ถ้าช่องโหว่ยังอยู่ ก็ยังไม่ได้คะแนน แต่ถ้าเรา Hardening ดีในเฟสแรก ก็จะได้คะแนน ช่องโหว่ ส่วนใหญ่ จะเป็นพวก Sensitive Information Disclosure หรือ Misconfiguration
การให้คะแนนโจทย์ Blue Team จะใช้ Up Time อย่างเดียว ถ้ารักษา Availability ได้ คะแนนก็จะมาก
การให้คะแนนโจทย์ Green Team จะให้คะแนนโดยใช้แบบประเมินเป็นช่วงๆ ซึ่งในแบบประเมินก็จะมีเกณฑ์อยู่ เช่น หน้าเว็บ และการใช้งาน ฟังก์ชัน บนเว็บไซต์ ปกติดีหรือไม่ ถ้าในช่วงที่ประเมิน เว็บไซต์เราปกติดีก็ได้คะแนน
การให้คะแนนโจทย์ Orange Team มี 2 ส่วน
Security Document – เป็น Security Document (PDF) ที่ให้ Orange Team อ่าน แล้วให้คะแนน เหมือนที่กล่าวด้านบน
C-Suite Panel Brief – เป็น วิดีโอ Brief เป็นการเอาเนื้อหาจาก Document มาสรุป ให้ผู้บริหารระดับสูงฟัง
การให้คะแนน Anomalies ซึ่งจะคล้าย CTF Challenges ในบ้านเรา เช่น จะมี PLC PCAP File มาให้แล้วให้เราวิเคราะห์ และตอบคำถาม
ความรู้สึกโดยรวม
การแข่งขันนี้ค่อนข้างสนุกมาก ได้ลองทำอะไรหลายๆ มีอบรมออนไลน์ก่อนการ แข่งขันเล็กน้อย แต่คิดว่ามากกว่านี้ก็คงดี และโจทย์อาจจะไม่เน้นแนว Operational Technologies (OT) มากเท่าไร เพราะว่า ไม่ค่อยใช้ Protocol และเครื่องมือ ที่ใช้ใน OT เช่น MobBus, DNP3, Triangle Microworks Protocol Test Harness
ชอบการพูดคุยกับ Red Team โดยเฉพาะในโจทย์ Assume Breach ซึ่งในแต่ละ Task ของ Assume Breach จะมีเวลา 1 ชม. ให้แก้ปัญหาและตอบคำถาม Red Team จะพยายามให้ Hint ในข้อที่เราทำไม่ได้จริงๆ ในช่วงใกล้หมดชั่วโมงของข้อนั้น และสอนเราไปในตัวด้วย ซึ่งจุดนี้มองว่าผู้เข้าการแข่งขัน ไม่ได้กลับบ้านมือเปล่าเมื่อเจอโจทย์ที่มันยากมาก และทีมผู้จัดก็บรรลุเป้าหมายที่ตั้งไว้ด้วย
ปล. CyberForce Competition 2022 ทีมผมแพ้นะครับ 555 ได้อันดับ 12 จาก 169 และถ้าใครอยากได้ข้อมูลเพิ่มเติม หลังไมค์ได้นะครับผม