SBOM (Software Bill of Materials) hay còn được gọi là “Bản kê vật liệu phần mềm.” SBOM có nhiệm vụ liệt kê tất cả các nguồn mở mã hóa thành phần và các thành phần từ thứ ba có trong cơ sở mã hóa. Ngoài ra, còn có danh sách các trang được phép quản lý các thành phần, phiên bản của các thành phần được sử dụng trong cơ sở dữ liệu hóa và sửa lỗi trạng thái của chúng.
Một trong những cốt lõi để đảm bảo an toàn cho ứng dụng đã xảy ra rủi ro về việc bảo mật toàn bộ bộ ứng dụng chuỗi, bao gồm tất cả cấu hình thành phần nên ứng dụng. Bất kỳ sự thiếu sót nào trong thông tin về chuỗi cung ứng đều có thể gây ra những ảnh hưởng nghiêm trọng, khiến công việc đánh giá toàn bộ ứng dụng trở nên khó khăn.
Tại sao nên xây dựng SBOM?
Xây dựng SBOM (Software Bill of Materials) sẽ giúp các tổ chức biết rõ hơn về cấu hình và nguồn gốc của ứng dụng, từ đó đánh giá một cách khách quan về các rủi ro tiềm ẩn. SBOM đóng vai trò như một “tham chiếu” của ứng dụng, cung cấp thông tin chi tiết về cách tạo cấu hình các thành phần, giúp người dùng đưa ra quyết định lựa chọn và sử dụng ứng dụng một cách toàn diện. Nhờ đó, các tổ chức có thể chủ động ngủ và ứng phó trước các cuộc tấn công mạng, bảo vệ dữ liệu và danh tiếng của mình.
SBOM đáp ứng tiêu chuẩn và độ tin cậy
Black Duck® giúp người dùng cung cấp bảo mật chuỗi một cách dễ dàng hơn bằng cách cho phép nhanh chóng xây dựng và xuất SBOM ở các định dạng như SPDX và CycloneDX.
SPDX (Software Package Data Exchange) và CycloneDX là hai tiêu chuẩn phổ biến để định dạng SBOM. Chúng tôi cung cấp một cách thức hệ thống tốt nhất để mô tả và trao đổi thông tin về các thành phần phần mềm, giúp các công cụ và hệ thống khác có thể hiểu và xử lý SBOM một cách dễ dàng. Nhờ có SBOM , các tổ chức có thể kiểm soát chặt chẽ các phần mềm thành phần, không chỉ là một yêu cầu bắt buộc để đóng góp các quy định về an ninh mạng mà còn là đầu tư thông tin mình giúp đỡ các tổ chức nâng cao hoạt động hiệu quả cao và đạt được ý tưởng của khách hàng.
Build SBOM từ thứ ba
Để xây dựng một SBOM đầy đủ và chính xác, chúng tôi phải liệt kê tất cả các thành phần cấu hình ứng dụng, bao gồm các thư viện mã nguồn mở, thành phần thứ ba và các phần mềm do nhà cung cấp cung cấp cấp. Việc bỏ bất kỳ thành phần nào cũng có thể làm giảm khả năng hiển thị về rủi ro bảo mật trong chuỗi ứng dụng. Để quản lý rủi ro và đảm bảo an toàn cho hệ thống, cần có các công cụ xử lý thông tin từ bảng khai báo này và tích hợp chúng vào SBOM của chính mình.
Triển khai từ Black Duck SCA:
- Nhập khẩu và quản lý SBOM: Công cụ này cho phép các nhà phát triển đưa ra danh sách các thành phần (SBOM) từ các nguồn bên ngoài dự án của mình. Điều này giúp họ biết được tất cả các phần mềm đang được sử dụng, từ đó dễ dàng quản lý và bảo trì.
- Phân tích rủi ro liên tục: Black Duck SCA sẽ liên tục kiểm tra các thành phần này để tìm các kho ẩn bảo mật. Nhờ đó, bạn có thể nhanh chóng phát hiện và giải quyết các vấn đề trước đó khi chúng gây ra hậu quả nghiêm trọng.
- Tạo báo cáo và SBOM: Công cụ này cũng giúp tạo các báo cáo chi tiết về các thành phần được sử dụng, đồng thời tạo ra các SBOM mới để chia sẻ với các liên kết bên trong.
- Quản lý tùy chỉnh các thành phần: Đối với những phần mềm không có sẵn thông tin, Black Duck sẽ tự động tạo các thông tin cần thiết và theo dõi chúng trong quá trình phát triển.
- Hiển thị toàn diện cung cấp ứng dụng: Yêu Black Duck, các nhà phát triển có thể có cái nhìn tổng quan về tất cả các phần mềm mà họ sử dụng, từ đó giúp họ quản lý rủi ro và đảm bảo chất lượng phần mềm tốt hơn.
Xuất SBOM bằng Black Duck
Khi người dùng quét một dự án hoặc ứng dụng bằng Black Duck, họ sẽ được cung cấp một bảng điều khiển toàn bộ danh sách các thành phần phần mềm được sử dụng. Thông tin về giấy phép, mối liên quan và các chi tiết khác của mỗi thành phần cũng được liệt kê. Do bản thân SBOM là một danh sách các cấu hình thành phần được tạo nên là một phần mềm, nên bảng điều khiển này là nơi lý tưởng để tạo ra nó. Người dùng chỉ cần chuyển đến tab “Báo cáo”, chọn tùy chọn tạo SBOM và lựa chọn dạng định dạng mong muốn. Hệ thống sẽ nhanh chóng tạo ra một SBOM cho dự án và được phép tải xuống ngay lập tức.
Ảnh chụp màn hình có thể thực hiện quá trình tạo SBOM cho một ứng dụng chỉ với 5 bước một cách dễ dàng.
Thành phần điều khiển này là bản ứng dụng demo của chúng tôi, Insecure Bank. Tại đây, bạn có thể xem thông tin chi tiết về các phụ thuộc đã được xác định rõ ràng, cách chúng được tích hợp vào ứng dụng và loại giấy phép đi kèm.
Việc phát triển một số phiên bản của Log4j có thể tiềm ẩn rủi ro.
Tất cả các báo cáo hoặc SBOM được tạo ra sẽ được lưu trữ trong tab “Báo cáo”. Điều này giúp đảm bảo tính toán tốt nhất của thông tin và dễ dàng theo dõi sự thay đổi của SBOM theo thời gian.
Tab “Báo cáo” hiển thị trong bảng demo.
Dù bạn chọn định dạng SPDX hay CycloneDX, SBOM cuối cùng đều là một tệp JSON. Điều này giúp đảm bảo tính chuẩn hóa và khả năng đọc của máy. Có rất nhiều bản xem JSON sẵn có.
Ví dụ về SBOM được hiển thị trên trình duyệt Firefox. Trong đoạn này, chúng tôi có thể tìm thấy những thành phần Log4J có vấn đề và các thông tin bổ sung như giấy phép liên quan.
SBOM trong tương lai sẽ như thế nào?
Vậy chúng ta sẽ làm gì tiếp theo khi đã có SBOM? Hãy tưởng tượng bạn đang xây dựng một ngôi nhà, SBOM giống như bản khai vật liệu xây dựng. Bạn biết mình đã sử dụng các loại gạch, loại gỗ nào, nhưng bạn không biết loại gạch nào đang bị lỗi. Tương tự, khi xem SBOM, bạn đã tìm thấy phần mềm của mình sử dụng Apache Log4j 2.17.0, nhưng bạn không thấy nó hiện lên những điều đáng tiếc khi tìm ẩn mật khẩu.
Vì thế, để ngăn chặn rủi ro về kết quả phần mềm, ngoài việc tạo SBOM, bạn cần có một công cụ quét thành phần SCA. SBOM chỉ cho bạn biết phần mềm của mình bao gồm những gì, còn SCA mới giúp bạn phát hiện các kho tiềm ẩn trong từng thành phần đó.
Ảnh chụp màn hình Apache Log4j 2.17.0
Tóm tắt lại , SBOM chỉ cung cấp danh sách thành phần mềm, tránh rủi ro về giá. Để xác định các tiềm ẩn, cần phải hợp lý hóa SBOM với giải pháp SCA vì SCA giúp liên kết thông tin về thành phần với thông tin về lỗi và mức độ nghiêm trọng, từ đó cung cấp quản lý chuỗi hỗ trợ cung cấp rủi ro phần mềm hiệu quả hơn.
Kết luận
Việc xây dựng và quản lý SBOM là một bước quan trọng để đảm bảo an toàn cho ứng dụng phần mềm. Bên cạnh đó, sự chính xác của SBOM còn phụ thuộc vào nhiều yếu tố và công cụ sử dụng. Với sản phẩm của Synopsys, Black Duck sẽ giúp bạn xây dựng một SBOM mạnh mẽ và quản lý rủi ro hiệu quả hơn Supply Chain Edition .