Lộ trình 05Bài học 2 / 8

Bảo trì phần mềm trong suốt thời gian sử dụng

Ưu tiên xử lý lỗ hổng, nâng cấp, sai lệch cấu hình và ngừng sử dụng. Theo dõi một phát hiện bảo trì đến khi xác minh bản sửa trên production.

Thực hành10 minĐã review

Xuất bản bởi Cách chúng tôi viết

Kiểm tra mức hiểuBản sửa dependency đã merge, nhưng production vẫn chạy image cũ. Trạng thái bảo trì là gì?Làm bài tập
Bản sửa dependency đã merge, nhưng production vẫn chạy image cũ. Trạng thái bảo trì là gì?

Bạn sẽ học gì

  • Phân biệt bảo trì thường xuyên với ứng phó sự cố.
  • Ưu tiên công việc dựa trên mức phơi nhiễm, hoạt động khai thác và tác động đến dịch vụ.
  • Xác minh bản sửa bảo trì đã đến dịch vụ đang chạy.

Phân công người phụ trách dịch vụ cho việc bảo trì

Phần mềm hữu ích tiếp tục thay đổi sau lần phát hành đầu tiên. Dependency nhận bản sửa. Runtime hết hỗ trợ. Chứng chỉ hết hạn. Quy tắc kinh doanh thay đổi. Quyền truy cập cấp lúc thiết lập có thể tồn tại lâu hơn dự kiến.

Duy trì danh mục dịch vụ, người phụ trách, phiên bản đã triển khai, dependency và mốc thời gian hỗ trợ. Bao gồm công việc theo lịch và công việc phát sinh từ phát hiện mới. Phân bổ năng lực cho cả hai. Backlog bảo trì không có người phụ trách không bảo vệ được dịch vụ.

Phân biệt bảo trì với ứng phó sự cố tức thời. Thông tin xác thực bị lộ hoặc bằng chứng hệ thống đang bị xâm phạm có thể đòi hỏi hạn chế tác động trước khi chu kỳ phát triển thông thường hoàn tất. Chuyển các trường hợp đó sang quy trình ứng phó bảo mật.

Ưu tiên theo mức phơi nhiễm thực tế

Mức độ nghiêm trọng mô tả hậu quả tiềm tàng. Mức ưu tiên còn phụ thuộc vào hoạt động khai thác, khả năng tiếp cận thành phần dễ bị tấn công, dữ liệu, biện pháp kiểm soát hiện có và chi phí trì hoãn. Dịch vụ nội bộ có ít lưu lượng vẫn có thể giữ thông tin xác thực quan trọng.

Danh mục Known Exploited Vulnerabilities của CISA ghi nhận các lỗ hổng có bằng chứng bị khai thác. Dùng nó làm đầu vào xác định ưu tiên. Không có trong danh mục không chứng minh lỗ hổng là an toàn. Danh mục CISA.

Xét các phát hiện giả định sau. Giới hạn thời gian thuộc tổ chức trong ví dụ; chúng không phải thời hạn áp dụng cho mọi nơi.

Phát hiệnĐiều kiện đã biếtHành động đầu tiên hữu ích
Lỗ hổng dependencyĐã có khai thác; route bị ảnh hưởng có thể truy cập công khaiChuyển cấp, kiểm tra mức phơi nhiễm và lập kế hoạch giảm tác động, sửa ngay
Thông tin xác thực đã commitThông tin xác thực vẫn hoạt động; quyền truy cập repository chưa rõMời bộ phận ứng phó bảo mật; thu hồi hoặc luân chuyển theo quy trình đã phê duyệt
Runtime sắp hết hỗ trợHết hỗ trợ sau 60 ngày; chưa có bản nâng cấp đã kiểm thửPhân công người phụ trách nâng cấp và thời gian kiểm thử tương thích
Sai lệch hạ tầngThay đổi thủ công mở đường mạng ngoài dự kiếnXác nhận thay đổi, hạn chế đường mạng bằng biện pháp được phép và đồng bộ lại cấu hình

Không tự động biến mọi phát hiện thành một đợt nâng cấp lớn. Chọn bản sửa được hỗ trợ, kiểm tra tương thích và kiểm thử hành vi quan trọng. Ghi các biện pháp giảm tác động tạm thời kèm người phụ trách và điều kiện hết hiệu lực.

Theo dõi bản sửa đến production

Dùng chuỗi có thể truy vết: phát hiện, quyết định, thay đổi, review, triển khai và xác minh. Ghi định danh artifact mà production thực sự dùng. Quét lại artifact hoặc môi trường liên quan sau thay đổi.

Trong ví dụ giả định về package PDF có lỗ hổng, nhóm merge bản nâng cấp lúc 10:00. Production vẫn chạy image hôm qua lúc 11:00. Bản sửa trong repository đã hoàn tất. Khắc phục trên production chưa hoàn tất.

Sau triển khai, xác minh cả phiên bản package lẫn chức năng tạo PDF. Quét lỗ hổng không chứng minh tính năng xuất vẫn hoạt động. Test chức năng không chứng minh thành phần có lỗ hổng đã được loại bỏ.

SSDF của NIST bao gồm xác định và ứng phó lỗ hổng liên tục. Áp dụng các thực hành đó xuyên suốt vòng đời, kể cả với phần mềm ít nhận yêu cầu tính năng. NIST SSDF.

Tự động hóa với giới hạn rõ ràng

Taiga Maintaining quét các repository được liên kết và có thể chuyển phát hiện thành initiative khắc phục. Kiểm tra lượt quét thành công gần nhất, phiên bản bị ảnh hưởng và thay đổi tạo ra. Quét repository không chứng minh liệu mã có lỗ hổng có thể được thực thi trên production hay không. Maintaining.

Tự động hóa có thể giảm công việc lặp lại, nhưng dịch vụ vẫn cần người chịu trách nhiệm triển khai và xác minh. Giữ rõ quyết định phát hành, quyền truy cập khẩn cấp và thời điểm ngoại lệ hết hiệu lực.

Bảo trì cũng bao gồm ngừng sử dụng. Loại bỏ route, thông tin xác thực, tích hợp và hạ tầng không dùng qua quy trình có kiểm soát. Kiểm tra yêu cầu lưu giữ và dịch vụ phụ thuộc trước khi xóa. Ngừng dịch vụ đang chạy và phân công các nghĩa vụ lưu giữ hoặc kiểm toán còn lại.

Bài tiếp theo trình bày chi tiết về quét và khắc phục lỗ hổng liên tục.

Làm bài tập

Dùng bốn phát hiện giả định trong bài. Với mỗi phát hiện, phân công người phụ trách, hành động đầu tiên, cách xác minh và thời điểm xem lại. Giải thích quan sát mới nào sẽ làm thay đổi ưu tiên của bạn.

Tải worksheet (Markdown)
Kiểm tra mức hiểu ↑

Tiếp tục học

Nguồn và đọc thêm

Đọc thêm liên quan từ Taiga

← Bài trước: Chịu trách nhiệm về dịch vụ sau triển khai