เส้นทาง 05บทเรียน 3 / 8

ค้นหาและแก้ช่องโหว่อย่างต่อเนื่อง

สร้างกระบวนการต่อเนื่องตั้งแต่ตรวจพบช่องโหว่จนถึงการแก้ใน production ที่ตรวจสอบแล้ว เข้าใจช่องว่างด้านการบำรุงรักษาที่ต้นแบบซึ่งทำงานสำเร็จอาจซ่อนไว้

ผู้ปฏิบัติงาน12 minตรวจทานแล้ว

เผยแพร่โดย วิธีเขียนเนื้อหาของเรา

ตรวจความเข้าใจแอปพลิเคชันไม่เปลี่ยนมาสามเดือน การสแกน dependency ล่าสุดผ่านตอนออก release ข้อใดมีหลักฐานรองรับ?ทำแบบฝึกหัด
แอปพลิเคชันไม่เปลี่ยนมาสามเดือน การสแกน dependency ล่าสุดผ่านตอนออก release ข้อใดมีหลักฐานรองรับ?

สิ่งที่จะได้เรียนรู้

  • อธิบายว่าทำไมซอฟต์แวร์ที่ไม่เปลี่ยนยังต้องทบทวนความปลอดภัยต่อเนื่อง
  • จับคู่การสแกนแต่ละประเภทกับขอบเขตและข้อจำกัด
  • ติดตามข้อค้นพบผ่านการจัดลำดับ การแก้ไข deployment และการตรวจสอบ

ต้นแบบที่ทำงานได้อาจกลายเป็นบริการที่ไม่มีการดูแล

Vibe coding สร้างต้นแบบที่มีประโยชน์ได้เร็ว ความเสี่ยงใน production เพิ่มขึ้นเมื่อผู้คนใช้ต่อโดยไม่มีการบำรุงรักษาความปลอดภัยต่อเนื่อง นี่เป็นช่องว่างสำคัญ: ซอฟต์แวร์ยังเปิดรับความเสี่ยง ขณะที่ผู้สร้างถือว่างานเสร็จแล้ว

ช่องว่างนี้เป็นทั้งเรื่ององค์กรและเทคนิค อาจมีเครื่องมือสแกนแต่ไม่มีผู้รับผิดชอบ ข้อค้นพบอาจมีผู้รับผิดชอบแต่ไม่มีช่องทางออก release การแก้ที่ merge แล้วอาจปล่อยให้ artifact เก่าใน production ทำงานต่อ

ประเมินแพลตฟอร์มพัฒนาที่ใช้จริงและการกำหนดค่า เครื่องมือบางตัวมี feature ด้านความปลอดภัย ชื่อประเภทผลิตภัณฑ์ไม่ได้ยืนยันว่าแอปพลิเคชันที่ deploy ของคุณได้รับการสแกนต่อเนื่องและการแก้ที่ตรวจสอบแล้ว

สแกนเมื่อหลักฐานอาจเปลี่ยน

เรียกการตรวจสอบที่เกี่ยวข้องกับการเปลี่ยนแปลงที่เสนอและ artifact ที่ build แล้ว ประเมินเวอร์ชันที่ยังสนับสนุนซ้ำตามตาราง เพราะข้อมูลประกาศช่องโหว่เปลี่ยนได้โดยไม่มี commit เริ่มตรวจทานเพิ่มเติมเมื่อมีประกาศที่เกี่ยวข้อง การเปลี่ยนการเปิดรับความเสี่ยง หรือ incident

ระบุขอบเขตให้ชัดเจน ระบุ repository, branch, lockfile, image ค่า digest ที่ deploy, runtime และสภาพแวดล้อม รวมแอปพลิเคชันที่ไม่มีงาน feature ใหม่แล้วแต่ยังให้บริการผู้ใช้

การสแกนที่ล้มเหลวหมายถึงหลักฐานที่ขาด ตรวจติดตามความใหม่ของผลสแกน ความขัดข้องของ feed ข้อมูลประกาศช่องโหว่ ความล้มเหลวในการยืนยันตัวตน component ที่ไม่รองรับ และช่องว่างของขอบเขต รายการข้อค้นพบที่ว่างหลัง job ล้มเหลวไม่ใช่ผลที่ยืนยันว่าไม่มีปัญหา

ใช้การตรวจสอบต่างกันสำหรับคำถามต่างกัน

การตรวจสอบขอบเขตที่มีประโยชน์ข้อจำกัดสำคัญ
Software composition analysis หรือ SCAช่องโหว่ dependency ที่ทราบ รวม package ทางอ้อมที่ระบุได้ไม่ได้ยืนยันว่า authorization ของแอปพลิเคชันถูกต้อง
Static application security testing หรือ SASTรูปแบบโค้ดที่ไม่ปลอดภัยซึ่งเครื่องมือรองรับการตรวจพบอาจพลาดพฤติกรรมขณะทำงาน และให้ข้อค้นพบที่ต้องคัดแยก
Secret scanningรูปแบบข้อมูลรับรองที่เครื่องมือรู้จักในเนื้อหาที่สแกนการลบข้อความออกอาจยังเหลือข้อมูลรับรองที่ใช้ได้ในที่อื่น
การตรวจโครงสร้างพื้นฐานและการกำหนดค่าการละเมิดนโยบายที่กำหนด ในทรัพยากรหรือการกำหนดค่าที่สแกนการกำหนดค่าใน repository อาจต่างจากสภาพแวดล้อมที่ทำงานจริง
Dynamic testing ที่ได้รับอนุญาตพฤติกรรมแอปพลิเคชันที่ทำงานอยู่ภายในขอบเขตทดสอบต้องมีสิทธิ์ ข้อมูลที่เหมาะสม และความระมัดระวังต่อผลข้างเคียง

ใช้การตรวจเหล่านี้ร่วมกับการตรวจทานและ security test ที่เกี่ยวข้อง อย่าอ้างว่าการสแกนใดพิสูจน์ว่าไม่มีช่องโหว่

ติดตามข้อค้นพบสมมติจนถึง production

เวลาเหตุการณ์สถานะจริง
วันจันทร์ 09:00ประกาศใหม่ระบุ dependency สำหรับ PDF ที่ได้รับผลกระทบRelease ที่มีอยู่ต้องได้รับการประเมิน
วันจันทร์ 09:15การสแกนตามตารางระบุเวอร์ชัน productionตรวจพบข้อค้นพบแล้ว ยังไม่แก้
วันจันทร์ 10:00ผู้รับผิดชอบยืนยันความเสี่ยงและเลือก patch ที่มีการสนับสนุนวางแผนแก้ไขแล้ว
วันจันทร์ 13:00Test ผ่านและ PR ของ patch ถูก mergeRepository แก้แล้ว แต่ production ยังต้อง deploy
วันจันทร์ 14:00Pipeline deploy image ที่แก้แล้วArtifact ใหม่ทำงานอยู่ ยังต้องตรวจสอบ
วันจันทร์ 14:20การสแกน artifact และ regression check ของการส่งออกผ่านตรวจสอบการแก้แล้วภายในขอบเขตที่ตรวจ

จัดลำดับด้วยความรุนแรง หลักฐานการใช้โจมตี การเปิดรับความเสี่ยง ข้อมูลที่ได้รับผลกระทบ และวิธีบรรเทาที่มี Catalog ของ CISA ช่วยระบุการใช้โจมตีที่ทราบแล้ว เป็นข้อมูลประกอบหนึ่งอย่าง ไม่ใช่การประเมินความเสี่ยงทั้งหมด CISA catalog

ข้อยกเว้นชั่วคราวต้องมีหลักฐาน ผู้รับผิดชอบ มาตรการชดเชย และเวลาสิ้นสุดหรือเงื่อนไขทบทวน หากไม่มี patch ให้พิจารณาวิธีแก้ขัดที่ได้รับอนุญาต การจำกัด feature หรือการนำ component ที่ได้รับผลกระทบออก

ปิดช่องว่างด้านการบำรุงรักษา

วัดเวลาคัดแยกและเวลาแก้ไขจนตรวจสอบแล้ว แยกตามลำดับความสำคัญ ติดตามข้อยกเว้นเกินกำหนด ผลสแกนเก่า เวอร์ชัน production ที่ได้รับผลกระทบ และข้อค้นพบซ้ำ จำนวนข้อค้นพบที่ลดลงอาจสะท้อนขอบเขตการตรวจที่ลดลงด้วย ให้ตรวจสอบตัวหาร

Taiga Maintaining สแกน repository ที่เชื่อมโยงหลังการเปลี่ยนแปลงและเป็นระยะ บันทึกข้อค้นพบและเชื่อมการแก้กับ initiative และการเปลี่ยนแปลงที่ตรวจทานแล้ว ตรวจสอบสถานะรอบสแกนและพฤติกรรมตามเอกสารปัจจุบัน Maintaining

Pipeline ของคุณยังต้องมีเงื่อนไขตรวจสอบก่อน release ที่เหมาะสม ผู้รับผิดชอบบริการยังต้องยืนยัน deployment และความถูกต้องในการทำงาน กระบวนการต่อเนื่องทั้งหมดนี้เป็นส่วนหนึ่งของการดำเนินงานโรงงานซอฟต์แวร์ AI รวมถึงผลิตภัณฑ์ที่เวอร์ชันแรกเริ่มจากต้นแบบ

ทำแบบฝึกหัด

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

ดาวน์โหลดใบงาน (Markdown)
ตรวจความเข้าใจ ↑

เรียนต่อ

แหล่งข้อมูลและเนื้อหาอ่านเพิ่มเติม

เนื้อหาเกี่ยวข้องจาก Taiga

← บทเรียนก่อนหน้า: บำรุงรักษาซอฟต์แวร์ตลอดอายุการใช้งาน