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

บำรุงรักษาซอฟต์แวร์ตลอดอายุการใช้งาน

จัดลำดับช่องโหว่ การอัปเกรด configuration drift และการเลิกใช้งาน ติดตามข้อค้นพบด้านการบำรุงรักษาจนถึงการแก้ใน production ที่ตรวจสอบแล้ว

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

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

ตรวจความเข้าใจการแก้ dependency ถูก merge แล้ว แต่ production ยังใช้ image เดิม สถานะการบำรุงรักษาเป็นอย่างไร?ทำแบบฝึกหัด
การแก้ dependency ถูก merge แล้ว แต่ production ยังใช้ image เดิม สถานะการบำรุงรักษาเป็นอย่างไร?

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

  • แยกการบำรุงรักษาตามปกติออกจากการตอบสนอง incident
  • จัดลำดับงานจากการเปิดรับความเสี่ยง การใช้ช่องโหว่โจมตี และผลกระทบต่อบริการ
  • ตรวจสอบว่าการแก้เพื่อบำรุงรักษาไปถึงบริการที่กำลังทำงาน

กำหนดผู้รับผิดชอบบริการสำหรับการบำรุงรักษา

ซอฟต์แวร์ที่มีประโยชน์ยังเปลี่ยนต่อหลัง release แรก Dependency ได้รับการแก้ Runtime หมดการสนับสนุน Certificate หมดอายุ กฎธุรกิจเปลี่ยน สิทธิ์ที่ให้ระหว่างตั้งค่าอาจคงอยู่นานกว่าที่ตั้งใจ

เก็บรายการบริการ ผู้รับผิดชอบ เวอร์ชันที่ deploy, dependency และวันที่เกี่ยวกับการสนับสนุน รวมทั้งงานตามตารางและงานที่เกิดจากข้อค้นพบใหม่ จัดสรรกำลังคนสำหรับทั้งสองแบบ งานบำรุงรักษาค้างที่ไม่มีผู้รับผิดชอบไม่ได้ป้องกันบริการ

แยกการบำรุงรักษาออกจากการตอบสนอง incident ทันที ข้อมูลรับรองที่เปิดเผยหรือหลักฐานว่ากำลังถูกบุกรุกอาจต้องควบคุมเหตุ ก่อนวงจรพัฒนาตามปกติจะเสร็จ ส่งกรณีเหล่านั้นเข้าสู่กระบวนการตอบสนองด้านความปลอดภัย

จัดลำดับจากความเสี่ยงที่เปิดรับจริง

ระดับความรุนแรงอธิบายผลที่อาจตามมา ลำดับความสำคัญยังขึ้นอยู่กับการใช้ช่องโหว่โจมตี การเข้าถึงส่วนที่มีช่องโหว่ ข้อมูล มาตรการที่มี และต้นทุนของความล่าช้า บริการภายในที่มี traffic น้อยก็อาจเก็บข้อมูลรับรองสำคัญ

Known Exploited Vulnerabilities catalog ของ CISA บันทึกช่องโหว่ที่มีหลักฐานการใช้โจมตี ใช้เป็นข้อมูลประกอบการจัดลำดับ การไม่อยู่ใน catalog ไม่ได้พิสูจน์ว่าช่องโหว่นั้นปลอดภัย CISA catalog

พิจารณาข้อค้นพบสมมติเหล่านี้ กำหนดเวลาเป็นขององค์กรในตัวอย่าง ไม่ใช่เส้นตายทั่วไปสำหรับทุกกรณี

ข้อค้นพบเงื่อนไขที่ทราบการดำเนินการแรกที่มีประโยชน์
ช่องโหว่ใน dependencyมีการใช้โจมตีแล้ว และ route ที่ได้รับผลกระทบเข้าถึงได้จากภายนอกยกระดับเรื่อง ตรวจสอบการเปิดรับความเสี่ยง และวางแผนบรรเทากับแก้ไขทันที
ข้อมูลรับรองถูก commitข้อมูลรับรองยังใช้ได้ และไม่แน่ชัดว่าใครเข้าถึง repositoryให้ทีมตอบสนองด้านความปลอดภัยมีส่วนร่วม แล้วเพิกถอนหรือหมุนเวียนผ่านกระบวนการที่อนุมัติ
Runtime จะหมดการสนับสนุนหมดการสนับสนุนใน 60 วัน และยังไม่มีการอัปเกรดที่ทดสอบแล้วมอบหมายผู้รับผิดชอบการอัปเกรดและช่วงทดสอบ compatibility
Infrastructure driftการเปลี่ยนด้วยมือเปิดเส้นทางเครือข่ายที่ไม่ตั้งใจยืนยันการเปลี่ยนแปลง จำกัดเส้นทางด้วยมาตรการที่ได้รับอนุญาต และปรับการกำหนดค่าให้สอดคล้องกัน

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

ติดตามการแก้ไปจนถึง production

ใช้ลำดับที่ติดตามได้: ข้อค้นพบ การตัดสินใจ การเปลี่ยนแปลง การตรวจทาน deployment และการตรวจสอบ บันทึกรหัส artifact ที่ production ใช้จริง สแกน artifact หรือสภาพแวดล้อมที่เกี่ยวข้องอีกครั้งหลังเปลี่ยน

ในสถานการณ์สมมติที่ package สำหรับ PDF มีช่องโหว่ ทีม merge การอัปเกรดเวลา 10:00 แต่ production ยังใช้ image ของเมื่อวานเวลา 11:00 การแก้ใน repository เสร็จแล้ว ส่วนการแก้ความเสี่ยงใน production ยังไม่เสร็จ

หลัง deployment ให้ตรวจสอบทั้งเวอร์ชัน package และการสร้าง PDF การสแกนช่องโหว่ยืนยันไม่ได้ว่าการส่งออกยังทำงาน Functional test ยืนยันไม่ได้ว่า component ที่มีช่องโหว่ถูกนำออกแล้ว

SSDF ของ NIST รวมการระบุและตอบสนองช่องโหว่อย่างต่อเนื่อง ใช้แนวปฏิบัติเหล่านั้นตลอด lifecycle รวมถึงซอฟต์แวร์ที่มีคำขอ feature น้อย NIST SSDF

ใช้ automation โดยแสดงข้อจำกัด

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

Automation ลดงานซ้ำได้ แต่บริการยังต้องมีผู้รับผิดชอบ deployment และการตรวจสอบ ระบุการตัดสินใจ release สิทธิ์ฉุกเฉิน และเวลาสิ้นสุดข้อยกเว้นให้ชัดเจน

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

บทเรียนถัดไปอธิบายการสแกนช่องโหว่และการแก้ไขอย่างต่อเนื่อง อย่างละเอียด

ทำแบบฝึกหัด

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

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

เรียนต่อ

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

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

← บทเรียนก่อนหน้า: รับผิดชอบบริการหลัง deployment