7 บทเรียนที่ได้รับจากการออกแบบ DEF CON Cloud Village CTF

7 บทเรียนที่ได้รับจากการออกแบบ DEF CON Cloud Village CTF

7 บทเรียนที่ได้รับจากการออกแบบ DEF CON Cloud Village CTF PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

กิจกรรม Capture the Flag (CTF) มีทั้งความสนุกสนานและให้ความรู้ ช่วยให้ผู้เชี่ยวชาญด้านความปลอดภัยทางไซเบอร์มีวิธีฝึกฝนทักษะการแฮ็กไปพร้อมกับการเรียนรู้แนวคิดใหม่ในสภาพแวดล้อมที่สร้างสรรค์และปลอดภัย CTF ที่ได้รับการออกแบบมาอย่างดีจะทำให้บุคคลและทีมเผชิญกับความท้าทายในการปฏิบัติงาน เส้นทางการโจมตีแบบใหม่ และสถานการณ์ที่สร้างสรรค์ซึ่งสามารถนำไปใช้ในการทำงานได้ในภายหลังทั้งในฐานะผู้เชี่ยวชาญด้านความปลอดภัยเชิงรุกและเชิงรับ

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

“ในฐานะนักออกแบบ ฉันอยากให้ [CTF] เป็นเรื่องสนุกที่ท้าทาย ฉันต้องการตอบแทนคนที่ฉลาด ผู้ที่ทำงานด้านนั้นจริงๆ และผู้ที่ไม่หยุดยั้ง” Jenko Hwong นักวิจัยหลักของทีม Threat Research Labs ของ Netskope และหัวหน้าทีมของ DEF CON Cloud Village CTF เมื่อปีที่แล้วกล่าว “มันจะต้องเป็นประโยชน์สำหรับเราด้วย”

ความสนุกสนานและการปฏิบัติเป็นแนวคิดที่ฮวองนำมาสู่ DEF CON CTF ซึ่งเป็นงานใหญ่หลายวันที่มีบุคคลและทีมมากกว่า 400 คนพยายามรับมือกับความท้าทายนี้ และมีทีมงาน 20 คนที่ทำงานภายใต้เขาเพื่อดำเนินกิจกรรมนี้ Hwong เป็นนักวิจัยผู้มีประสบการณ์และผู้เข้าร่วม CTF มากประสบการณ์ ไม่เคยจัด CTF มาก่อนงานนี้มาก่อน ความหวังที่ยิ่งใหญ่ที่สุดประการหนึ่งของเขาในการลองทำงานครั้งแรกคือการยกระดับความเกี่ยวข้องและความสมจริงของความท้าทายในงานนี้ ซึ่งบางครั้งอาจเป็นข้อผิดพลาดใน CTF ในปัจจุบัน

“บางครั้งใน CTF เหล่านี้ คุณได้รับความท้าทายที่ยากมาก แต่มันก็เหมือนกับว่าประเด็นนี้คืออะไร? มันจะเป็นปัญหาเรื่องการถอดรหัสหรือการเข้ารหัส โดยเหตุการณ์จะขึ้นว่า 'นี่อะไรสักอย่าง โชคดี' แล้วคุณจะต้องข้ามผ่านห่วงเหล่านี้ทั้งหมดที่อาจไม่ได้แยกออกจากความเป็นจริงโดยสิ้นเชิงแต่ไม่ได้เข้ากับสิ่งที่ใหญ่กว่าจริงๆ โครงเรื่อง” เขากล่าว “ดังนั้น เมื่อผมได้รับโทรศัพท์ ความคิดของผมก็คือ 'มาเริ่มกันเลยดีกว่า เรามาคิดหาเรื่องราวดีๆ และชุดความท้าทายดีๆ ที่จะสนุก แต่ก็สมเหตุสมผล และอาจเกี่ยวข้องกับโลกแห่งการทดสอบเจาะลึกการวิจัยด้วย มาตรการป้องกัน สิ่งที่เกิดขึ้นในโลกแห่งความเป็นจริง'”

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

“โดยทั่วไปชุมชนแบ่งปันกันมากมาย แล้วทำไมเราไม่แบ่งปันความท้าทายของ CTF ล่ะ?” เขาพูดว่า. “ฉันคิดว่าเราสามารถทำได้ดีกว่านี้”

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

การเล่าเรื่องเป็นกุญแจสำคัญ

Hwong กล่าวว่าทีมงาน DEF CON Cloud Village ของเขากระตือรือร้นอย่างมากในการสร้างเนื้อเรื่องที่น่าดึงดูดและสนุกสนาน เขาบอกว่าเขาคิดว่าเรื่องนี้เป็นบทภาพยนตร์ที่มีสถานการณ์ไซเบอร์ที่สมจริงในตัว สำหรับงานนี้ พวกเขาเลือกธีมของ 'โนมส์' ที่สนุกสนานและตลก แต่ไม่ใช่แค่การเขียนโครงเรื่องเท่านั้นที่สำคัญ แต่ยังรวมถึงวิธีการวางแผนความท้าทายทางเทคนิคภายในเรื่องด้วย

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

ใช้แนวทางการพัฒนาซอฟต์แวร์

ผู้สร้าง CTF ควรใช้แนวทางการพัฒนาซอฟต์แวร์ในการออกแบบองค์ประกอบทางเทคนิคสำหรับความท้าทายของตนอย่างแน่นอน Hwong แนะนำ

“คุณต้องคิดถึงการออกแบบ การใช้งาน และการทดสอบ” เขากล่าว โดยอธิบายว่าเขาและทีมเรียนรู้วิธีที่ยากลำบากในการทดสอบความท้าทายในสภาพแวดล้อม CTF ที่ซับซ้อน ซึ่งผู้เข้าร่วมสามารถจัดการได้หลายวิธี .

“เกิดอะไรขึ้น—และฉันจะรับโทษในฐานะผู้สร้างหลักที่ไม่ชี้แนะการทดสอบ—หากเราพลาดการทดสอบที่เป็นลบ รวมถึงการตรวจสอบความมีชีวิต” เขากล่าว “ส่วนหนึ่งคือเราไม่มีเวลาพอที่จะทดสอบ ดังนั้นฉันจึงยังคงล็อคสภาพแวดล้อมบางอย่างต่อไปในขณะที่ความท้าทายกำลังดำเนินอยู่ ดังนั้นความท้าทายบางอย่างจะไม่ง่ายเกินไปและไม่มีช่องโหว่ ฉันคิดว่าเมื่อถึงจุดหนึ่งหรือสองชั่วโมง ฉันลงเอยด้วยการทำสิ่งที่แก้ไม่ได้ในขั้นตอนหนึ่ง”

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

ความเข้มงวดในการปฏิบัติงาน…และคาเฟอีนเล็กน้อย

ความพิถีพิถันในการพัฒนาซอฟต์แวร์ไม่ใช่ความสามารถทางเทคนิคเพียงอย่างเดียวที่ต้องคำนึงถึง ลูกเรือที่ดูแล CTF ยังต้องการความเข้มงวดในการปฏิบัติงานอย่างจริงจังเช่นกัน

“เรามีบุคลากรที่ยอดเยี่ยมจำนวนหนึ่งที่ใช้งานเซิร์ฟเวอร์และบัญชี AWS รวมถึงบัญชี Google และ Azure และทำให้แน่ใจว่าสิ่งต่าง ๆ ยังคงดำเนินต่อไปและเรากำลังตรวจสอบสิ่งต่าง ๆ” เขากล่าว “เรื่องทั้งหมดนั้นจะต้องได้รับการจัดการ และถ้าคุณเพิกเฉย มันอาจหมายความว่าสิ่งต่างๆ ล้มเหลว พัง หรือคุณมีปัญหาด้านประสิทธิภาพ”

ปัญหาด้านการปฏิบัติงานประการหนึ่งที่พวกเขาพบคือพวกเขาประสบความขัดแย้งระหว่างผู้เข้าร่วมและความท้าทาย เนื่องจากทีมดำเนินการโดยมีข้อจำกัดตรงที่พวกเขาไม่สามารถสร้างสภาพแวดล้อมแบบสแตนด์อโลนสำหรับผู้เข้าร่วมทุกคนทั่วทั้ง AWS, Google และ Azure

“เพราะมันอยู่ในสภาพแวดล้อมเดียวกัน มันช่วยพวกเขาในความท้าทายอื่นๆ และหากคุณมีความท้าทายที่ต้องเปลี่ยนสภาพแวดล้อม คุณก็มีคนเหยียบย่ำกัน เปลี่ยนสิ่งของที่ใช้ร่วมกัน” เขากล่าว โดยอธิบายว่าเขาและเขา ทีมต้องรีเซ็ตนโยบายในขณะที่ CTF เดินหน้าเพื่อไม่ให้ผู้เข้าร่วมเจอกัน

เขาและทีมกำลังพยายามเรียนรู้จากประสบการณ์เพื่อหาวิธีปฏิบัติได้จริง จากเวลา ความพยายาม และมุมมองด้านค่าใช้จ่าย เพื่อให้ผู้เข้าร่วมมีสภาพแวดล้อมที่โดดเดี่ยวอย่างแท้จริง โดยไม่ทำให้ CTF ทั้งหมดมีประสิทธิภาพน้อยลง เนื่องจากสิ่งต่างๆ พังหรือใช้เวลานานในการดำเนินการ

สุดท้ายนี้ Hwong กล่าวว่าในการดำเนินงานส่วนหน้าของ CTF นักวิ่งจะต้องคำนึงถึงการสื่อสารอย่างต่อเนื่องที่พวกเขาจะต้องอำนวยความสะดวกระหว่างทีมและผู้เข้าร่วม

“ฉันไป Discord หลังเที่ยงคืน และฉันก็แบบว่า 'ฉันมีเรื่องจะพูดในตอนเช้า คุณจะไปนอนไหม?'” ฮวองกล่าวติดตลก โดยอธิบายว่าผู้เข้าร่วมจะมีคำถามและพวกเขาจะ เป็นผู้จัดงานเพื่อรับคำแนะนำและคำแนะนำตลอดเวลา

การออกแบบระดับความยากที่แตกต่างกันนั้นยาก

การได้รับระดับความยากของความท้าทายที่ถูกต้องและการสร้างระบบการให้คะแนนที่ยุติธรรมอาจยากกว่าที่ผู้จัดงาน CTF มือใหม่คิดไว้ในตอนแรก Hwong เตือน เขาอธิบายว่าระดับบางระดับที่ทีมของเขาออกแบบให้ง่ายขึ้นนั้นยากสำหรับผู้เข้าร่วมที่จะผ่านมากกว่าที่พวกเขาคาดไว้ ในขณะที่ระดับที่ท้าทายบางระดับก็สำเร็จได้ด้วยผู้เข้าร่วมมากกว่าที่คาดไว้

การร่วมมือกับความท้าทายในการปรับระดับความยากคือการค้นหาระบบการให้คะแนนที่สมเหตุสมผล หลังจากประสบการณ์ที่ DEF CON แล้ว ฮวองก็เป็นผู้แสดงระบบการให้คะแนนแบบ Bell Curve แต่เขาบอกว่าปัญหาไม่ได้ตรงไปตรงมาเท่ากับการสร้างเส้นโค้ง นอกจากนี้ยังมีปัญหาของการทำให้เป็นมาตรฐานและปรับสมดุลความได้เปรียบที่ทีม CTF ใหญ่ๆ มีในการสะสมคะแนนความท้าทาย ซึ่งเป็นปัญหาที่ผู้เข้าร่วมคนหนึ่งให้ข้อเสนอแนะแก่เขาหลังจบกิจกรรม

“ดังนั้นหากความท้าทายของคุณสามารถแบ่งและทำในผู้เล่นหลายคนคู่ขนาน ถ้าฉันมี 10 คน ฉันจะเป็น 10 ครั้งอย่างรวดเร็ว และมีข้อได้เปรียบ” เขากล่าว “ประเด็นของเขาคือระดับการให้คะแนนแบบไดนามิกเล็กน้อย หากมีสิ่งที่เขาเก่งจริงๆ เขาอาจจะเป็นคนเดียวที่แก้ปัญหาได้และเขาจะได้รับคะแนนสูงสุด เส้นโค้งระฆังจะให้รางวัลแก่เขาเมื่อเทียบกับขนาด ไม่จำเป็นเสมอไปหากเป็นสิ่งที่อยู่ในคลังความรู้ของเขาในแง่ของ 10 ต่อหนึ่ง มีเรื่องที่น่าถกเถียงกันอยู่ตรงนี้ที่เราต้องแก้ไข”

ความเป็นไปได้ประการหนึ่งคือการสร้างความท้าทายตามลำดับ แต่ข้อเสียคืออาจทำให้ CTF เข้มงวดและเป็นเส้นตรงเกินไป และอาจทำให้เกิดคอขวดหรือการพึ่งพาที่อาจทำลายความท้าทายหนึ่งรายการขึ้นไป Hwong กล่าวว่าเขาอยากเห็น CTF ให้รางวัลแก่ผู้เข้าร่วมมากขึ้นด้วยเทคนิคต่างๆ เช่น การที่พวกเขาทำงานอย่างซ่อนเร้นในสภาพแวดล้อมหรือจุดเชื่อมต่อเรือ หากพวกเขาทิ้งรอยเท้าและลายนิ้วมือไว้มากเกินไป และนั่นคือพื้นที่ที่เขาต้องการสำรวจในขณะที่เขาออกแบบกิจกรรมในอนาคต .

อย่างไรก็ตาม การให้คะแนนแบบไดนามิกเป็นสิ่งที่สามารถบรรเทาปัญหาการปรับระดับบางอย่างได้ และเขาและทีมของเขากำลังดำเนินการเช่นนั้นในปีหน้า

ทีมสีน้ำเงินต้องการความท้าทาย CTF ที่สนุกสนานมากกว่านี้

หลังจากผ่าน CTF ครั้งแรกแล้ว Hwong ยังเชื่อมากขึ้นเรื่อยๆ ว่ากิจกรรมเหล่านี้ไม่เพียงพอที่จะท้าทายและมีส่วนร่วมกับผู้เข้าร่วมในทีมสีน้ำเงินจริงๆ

“การฝึกซ้อมของทีมสีน้ำเงินมีแนวโน้มที่จะเป็นเช่นนี้: ‘เรามีสภาพแวดล้อมที่กำหนดค่าไม่ถูกต้องและมีช่องโหว่มากมาย คุณช่วยไปซ่อมมันได้ไหม'” เขากล่าว ” และสิ่งที่พวกเขาทำคือแค่ทดสอบว่าการกำหนดค่าเหล่านั้นมีการเปลี่ยนแปลงหรือไม่ หรือว่าฉันสามารถเข้าถึงบัคเก็ตสาธารณะนี้ได้หรือไม่ และทันทีที่คุณทำให้เป็นแบบส่วนตัว เรารู้ว่าคุณได้แก้ไขแล้วและคุณจะได้รับคะแนน มันคงจะดีกว่าถ้าทำสิ่งต่างๆ นอกเหนือจากนั้น เช่น ถ้าคุณถูกโจมตี มีผู้โจมตีอยู่ในสภาพแวดล้อมของคุณ คุณต้องค้นหาพวกเขาและไล่พวกเขาออกไป ดังนั้น คุณมีเหตุการณ์เกิดขึ้นในขณะนี้ และตราบใดที่ผู้โจมตียังคงอยู่ พวกเขาก็มีสิทธิและตราบใดที่พวกเขาทำสิ่งต่าง ๆ คุณก็อาจจะสามารถตรวจจับมันได้ นั่นคืองานของคุณในฐานะผู้เข้าร่วม และจนกว่าคุณจะเพิกถอนการเข้าถึงของพวกเขา คุณจะไม่ได้แก้ปัญหาและคุณจะไม่ได้รับคะแนนสูงสุด”

สถานการณ์ประเภทนี้ทำได้ยากขึ้นแต่จะสมจริงมากขึ้นสำหรับกองหลัง และจะทำให้ CTF มีคุณค่ามากขึ้นสำหรับพวกเขา เขากล่าว พร้อมอธิบายว่าสิ่งนั้นอยู่ในเรดาร์ของเขาในครั้งต่อไป

CTF ต้องการส่วนประกอบที่สดใหม่และเกี่ยวข้องมากขึ้น

Hwong ยังท้าทายนักออกแบบของ CTF และตัวเขาเองให้รวมข้อมูลการหาช่องโหว่และช่องโหว่ใหม่ๆ เข้ากับความท้าทายของพวกเขา นี่เป็นหนึ่งในสิ่งที่เขาหวังว่าจะมีเวลามากขึ้นในการดำน้ำครั้งแรกที่ DEF CON Cloud Village และซึ่งเขามุ่งมั่นที่จะปรับปรุงในปีหน้า

“นี่เป็นหนึ่งในด้านที่ CTF สามารถเป็นเครื่องมือในการเรียนรู้และการฝึกอบรมได้มากกว่า” เขาอธิบาย “เราต้องการใช้แนวคิดที่เกี่ยวข้องและการหาประโยชน์จากนักวิจัยที่เกิดขึ้นในช่วงต้นปี หรือแม้แต่นำเสนอที่ DEF CON”

CTF 'Building Blocks' เพื่อปรับปรุง 'การนำกลับมาใช้ใหม่'

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

“คุณยังคงต้องปรับแต่งและเพิ่มลูกเล่นของตัวเอง แต่แนวคิดก็คือหาเงิน 60% แรกออกไปเพื่อให้ผู้จัดงาน CTF สามารถมุ่งเน้นไปที่สิ่งแปลกใหม่จริงๆ ด้วยวิธีนี้จะไม่มีใครคิดค้นล้อขึ้นมาใหม่” เขากล่าว “และส่วนที่เหลืออีก 40% สามารถเพิ่มเทคนิค สถานการณ์ และเนื้อเรื่องใหม่ๆ ได้”

ประทับเวลา:

เพิ่มเติมจาก การอ่านที่มืด