Tích hợp công cụ AST vào pipeline CI/CD

Bài viết dựa trên nội dung của series Webinars gồm 4 phần của Sypnosys, giúp các giám đốc bảo mật lựa chọn được công cụ phù hợp trong CI/CD pipeline, cũng như giải thích vị trí tích hợp và cách cấu hình công cụ AST – Application Security Testing nhằm tối đa hóa khả năng bảo mật hệ thống.

Việc lựa chọn được công cụ thử nghiệm bảo mật ứng dụng (AST – Application Security Testing) vào CI/CD (Continous Integration/ Continous Delivery) Pipeline đòi hỏi giám đốc bảo mật cần có hiểu biết chuyên sâu về cấu hình và vị trí tích hợp để tận dụng tối đa chi phí bỏ ra. Các công ty gia công phần mềm đều đang có xu hướng tích hợp sớm bảo mật ứng dụng (AppSec) vào pipeline trong CI/CD để đạt hiệu quả tốt nhất. Tuy nhiên những giám đốc bảo mật của dự án cần nằm rõ vị trí cũng như vai trò của AppSec trong từng giai đoạn của CI/CD pipeline

1. Cách tiêu chí lựa chọn công cụ AST phù hợp cho CI/CD pipeline

  • Công cụ AST cần phải có độ chính xác cao, bởi nếu kết quả đưa ra không chính xác thì team phát triển sẽ tốn rất nhiều thời gian để xác minh.
  • Tốc độ thực thi nhanh, giúp lập trình viên kịp thời phát hiện lỗ hổng bảo mật trong quá trình pipeline
  • Công cụ AST cần tương thích với môi trường lập trình, đảm bảo lập trình viên cảm thấy quen thuộc sử dụng nó hàng ngày
  • Công cụ AST cũng cần tích hợp với môi trường build để đảm bảo tính nhất quán, phân phối và triển khai liên tục. Công cụ này cũng cần cung cấp khả năng triệu hồi command-line, tích hợp với metrics dashboard, theo dõi, phát hiện lỗi và gửi email thông báo tự động
  • Cần hỗ trợ cập nhật kịp thời cùng các ngôn ngữ lập trình, frameworks và API.
  • Cần cung cấp các chỉ số update liên tục trong một dashboard để các lập trình viên, trưởng dự án và giám đốc kinh doanh có thể theo dõi được tiến độ và nhận biết rủi ro.
  • Khi đã lựa chọn được công cụ phù hợp, team lập trình cần kiểm tra kỹ càng trước khi áp dụng vào CI/CD pipeline. Việc thực hiện kiểm thử là vô cùng cần thiết để đảm bảo công cụ được tích hợp mượt mà vào hệ thống, yêu cầu sự hỗ trợ, thời gian và nguồn lực của các bên liên quan

2. Tích hợp công cụ AST ở đâu trong pipeline?

Sau khi kiểm tra và lựa chọn được công cụ AST, bước tiếp theo là xác định vị trí tích hợp công cụ này trong pipeline.

DevSecOps pipeline

DevSecOps là quy trình được team phát triển sử dụng để đẩy nhanh tiến độ dự án. Bằng cách tích hợp và tự động hóa sớm các giải pháp bảo mật trong DecSecOps pipeline, các nhóm dự án có thể phát hiện  lỗ hổng bảo mật trong mỗi bản build mà không gây ảnh hưởng tiến độ. Cách vận hành DecSecOps này trái ngược hoàn toàn với các phương pháp bảo mật phần mềm truyền thống, tức là kiểm tra bảo mật ứng dụng được thực hiện ở giai đoạn cuối trong vòng đời phát triển hệ thống (SDLC).

Quá trình kiểm tra bảo mật ứng dụng cần phải thêm vào từng DevOps pipeline. Quy trình này bao gồm phân tích tĩnh (static analysis), phân tích cấu trúc phần mềm (software composition analysis), kiểm tra tương tác và kiểm tra động (dynamic và interactive testing). Các hoạt động này có thể thực hiện theo chuỗi hoặc song song với các hoạt động khác. Ví dụ như khi phần mềm được đóng gói, các bài kiểm tra tích hợp và phân tích thành phần phần mềm (SCA) có thể thực hiện song song.

3. Cách cấu hình công cụ bảo mật

Giờ bạn đã biết công cụ AST nào nên được tích hợp ở mỗi giai đoạn trong quy trình, hãy cùng tìm hiểu cách cấu hình các công cụ. Bảng bên dưới cho thấy các giai đoạn của DevSecOps pipeline, bài test nào cần chạy và những công cụ nào cần sử dụng.

Bước Bài test Công cụ Synopsys hỗ trợ Mô tả
Developers IDE Kiểm tra bảo mật ứng dụng tĩnh (SAST) / SCA Code Sight™ Tích hợp với các IDE để phát hiện lỗ hổng bảo mật khi lập trình viên code trong thời gian thực
Kiểm tra sơ bộ SCA Black Duck® Quét sơ bộ trongE; chỉ chạy phân tích phụ thuộc
Commit time Incremental SAST Coverity®

Mỗi lần phân tích sẽ lưu lại kết quả và chuyển tiếp. Nên được dùng để phân tích các bản tuần tự của 1 codebase

Kiểm tra chuyên sâu SCA Black Duck Phân tích chuyên sâu.
Build time SAST Coverity Team có quyền kiểm soát loại phân tích, công cụ kiểm tra và kết quả để nhận được báo cáo trong khoảng thời gian mong muốn
SCA Black Duck Kiểm tra tính tương thích với điều khoản
Test SAST Coverity Phân tích tổng hợp và báo cáo kết quả
Kiểm tra bảo mật động cho ứng dụng (DAST) / Kiểm tra bảo mật tương tác cho ứng dụng (IAST) Tinfoil™/Seeker® Kiểm tra các lỗ hổng liên quan đến SSL / TLS, tiêu đề HTTP và thuộc tính cookie.
Deploy code DAST/IAST Tinfoil/Seeker Quét toàn bộ ứng dụng để ngăn chặn lỗ hổng bảo mật như XSS và injections

Sơ đồ dưới là một gợi ý để triển khai pipeline. Sơ đồ này sẽ khác biệt so với pipeline của team lập trình. Bạn cũng có thể xây dựng tất cả các giai đoạn trong quy trình của nhóm phát triển. Máy chủ tích hợp liên tục được sử dụng ở đây là Jenkins. Đây là một ví dụ về dự án Java Maven và tất cả các công cụ AST đều là Synopsys.

Sơ đồ gợi ý triển khai pipeline

Tham khảo bài viết gốc tại ĐÂY. Theo dõi chuỗi 4 webinars về DevSecOps tại ĐÂY

Nâng cấp chương trình bảo mật ngay hôm nay với các giải pháp đến từ Synopsys do ASIC Technologies phân phối tại Việt Nam. Để biết thêm thông tin chi tiết xin vui lòng liên hệ SĐT: (+84) 24 3748 1504 | Email: Sales@asic.vn.





    Trân trọng!

    Trả lời

    Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

    0961542599