Giới thiệu về DevSecOps (Phần 3)

Sugi_b3o

Moderator
Thành viên BQT
30/08/2016
317
446 bài viết
Giới thiệu về DevSecOps (Phần 3)
Chào các bạn, lại là mình đây, mình lại tiếp tục với giới thiệu về DevSecOps. Ở phần này mình giới thiệu với các bạn về việc rà soát các thông tin nhạy cảm trong dự án Secret Scanning và công cụ quản lý lỗ hổng bảo mật.

4.png

Làm thế nào để đảm bảo thông tin nhạy cảm không lộ lọt trong vòng đời triển khai CI/CD của dự án?

1657902883222.png

Đây là một trong những vấn đề ưu tiên trong OWASP và một số bài viết về bug bounty đã đề cập đến vấn đề này, ví dụ các thông tin đăng nhập user/password, api key bị hardcode ở môi trường production do nhầm lẫn, hoặc do không nhận thức được hành động này là nguy hiểm.

Bạn phải đảm bảo kho lưu trữ của mình không được chứa và đồng thời phát hiện bất kỳ thông tin nhạy cảm nào như mật khẩu, khóa bí mật, bí mật, v.v. theo quy trình bên dưới.
1657901704657.png
Cách phát hiện và ngăn chặn việc lộ lọt với dữ liệu nhạy cảm trước khi chúng truy cập vào repo chứa mã nguồn, bởi vì sau đó chúng sẽ hiển thị trong một số công cụ ghi nhận lịch sử của trang web như web archive.

Trong trường hợp một số nền tảng lưu trữ mã nguồn, mà các thông tin bí mật vẫn có thể tồn tại trên web và có thể tìm kiếm được sau khi bạn xóa chúng khỏi kho lưu trữ. Hãy đảm bảo rằng các thông tin đó phải được vô hiệu hóa và không còn hiệu lực.

Phát hiện các thông tin nhạy cảm ở một số phase:

1657901816392.png


  • Phát hiện các thông tin nhạy cảm ở trong repository (hardcode trong mã nguồn).
  • Sử dụng các Pre-commit hook để ngăn chặn hiển thị cleartext ở code.
  • Phát hiện trong log quá trình chạy các pipeline mà ko mã hóa thông tin.
  • Thực hiện bước kiểm tra Secret Scanning trước khi đưa lên repo để đảm bảo các thông tin đã được mask, mã hóa từ đầu đến cuối trong suốt quá trình.

Các công cụ thực hiện trong phase này

  • gittyleaks - Tìm thông tin nhạy cảm cho git repo
  • git-secrets - Ngăn bạn cam kết bí mật và thông tin đăng nhập vào kho git
  • Repo-supervisor - Quét mã của bạn để định cấu hình sai bảo mật, tìm kiếm mật khẩu và bí mật
  • truffleHog - Tìm kiếm thông qua kho git để tìm các chuỗi và bí mật entropy cao, đào sâu vào lịch sử cam kết
  • Git Hound - Git plugin ngăn dữ liệu nhạy cảm được cam kết
  • Github Secret Scanning - Github được tích hợp sẵn tính năng cho bí mật Detection

Công cụ quản lý lỗ hổng bảo mật là gì?

Quản lý lỗ hổng là một quá trình trong CI/CD giúp các tổ chức phát hiện, báo cáo, ưu tiên và khắc phục các lỗ hổng trong phần mềm và nền tảng của họ. Đây là một phần quan trọng của vòng đời DevSecops vì nó cho phép khả năng tổ chức tổng hợp các lỗ hổng bảo mật theo cách có thể quản lý, và có các hành động khắc phục cho toàn bộ vòng đời của sản phẩm.

Công cụ quản lý lỗ hổng bảo mật hoạt động như thế nào?

  • Phát hiện: Trong chu kỳ phát hiện, chúng tôi tiến hành các nhiệm vụ hỗ trợ kiểm tra lỗ hổng theo những cách cần thiết bằng cách xác định: ai, cái gì, ở đâu, khi nào, lý do tại sao và làm thế nào. Các hoạt động chính tập trung vào việc xác định và tinh chỉnh phạm vi sau mỗi vòng của quy trình, chuẩn bị sẵn sàng và xác minh tính toàn vẹn của chúng, tiến hành kiểm tra và xác minh kết quả.
  • Báo cáo: Chu kỳ báo cáo nhắm mục tiêu các hoạt động giúp tổ chức hiểu được lỗ hổng theo cách có thể đo lường được. Các hoạt động chính được tập trung vào việc nắm bắt nhanh chóng và chính xác tất cả các hệ thống, lỗ hổng bảo mật, mối đe dọa, rủi ro kỹ thuật và chi tiết rủi ro hoạt động liên quan đến lỗ hổng.
  • Độ ưu tiên: Quá trình ưu tiên chọn các lỗ hổng và làm việc với các nhóm phát triển để sửa chúng. Một số lỗ hổng có thể đại diện cho rủi ro tối thiểu hoặc không thể khai thác. Rủi ro là một yếu tố chính trong quá trình ưu tiên, nhưng nỗ lực và chuyên môn cần thiết cũng là những yếu tố chính.
  • Khắc phục: Các hoạt động chính tập trung vào việc xác định các ưu tiên và điều khoản của công việc khắc phục, thảo luận và ghi lại các tình huống false positive (bug giả) và xử lý các ngoại lệ.

Làm thế nào để sử dụng công cụ quản lý lỗ hổng bảo mật trong DevSecOps?

  • Các công cụ sử dụng để tạo quy trình DevSecOps sẽ tạo ra nhiều lỗ hổng và mỗi công cụ sẽ có định dạng riêng.
  • Các công cụ Quản lý lỗ hổng hợp nhất các báo cáo được tạo bởi các công cụ và hoạt động khác nhau trong một hoặc một vài bảng thông tin.
Các thành viên trong nhóm có thể theo dõi tiến trình của các nỗ lực khắc phục bằng số liệu, phân loại và ưu tiên các phát hiện trên toàn bộ quy trình và quản lý vòng đời lỗ hổng trong toàn bộ quy trình.

Pipeline-view.jpg

Cuối cùng, công cụ này cung cấp tích hợp với các thành phần khác để cho phép giao tiếp hai chiều, thông báo, xuất dữ liệu và tạo báo cáo.
Hình ảnh sau đây có thể cung cấp cho bạn cái nhìn tổng quát về ý nghĩa của công cụ Quản lý lỗ hổng và lý do tại sao chúng ta phải xem xét cần triển khai.

Công cụ miễn phí
Công cụ thương mại
 
Chỉnh sửa lần cuối bởi người điều hành:
Không viết tiếp nữa à bác?
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
1 Comment
Sugi_b3o
Sugi_b3o
Cám ơn Bác đã quan tâm, mình đang tìm và chọn lọc bài để lên sóng phục vụ ae cộng đồng nhé
 
Thẻ
devsecops git repository secret vulnerability management
Bên trên