“SBOM” không nên tồn tại! SBOM muôn năm.

Apr 10 2022
Năm 2008, sự nghiệp chuyên môn của tôi đã khiến tôi phải làm việc về an ninh chuỗi cung ứng cho ngành dược phẩm. Tôi đã học được rất nhiều điều từ kinh nghiệm đó.

Năm 2008, sự nghiệp chuyên môn của tôi đã khiến tôi phải làm việc về an ninh chuỗi cung ứng cho ngành dược phẩm. Tôi đã học được rất nhiều điều từ kinh nghiệm đó. Một trong những bài học quan trọng nhất là giá trị của sự đơn giản trong xây dựng tiêu chuẩn.

Tua nhanh bốn năm đến 2012, tôi bắt đầu nghiên cứu và làm việc về bảo mật chuỗi cung ứng cho các đường ống xây dựng và các thiết bị phần mềm và phần cứng mà chủ của tôi đưa ra thị trường. Yêu cầu của tôi đã phát triển theo thời gian; tuy nhiên, một điều vẫn giống nhau; nhu cầu kiểm kê tất cả các thành phần phần mềm và phần cứng, cùng với bất kỳ dịch vụ nào mà phần mềm dựa vào là điều cần thiết để minh bạch và truy xuất nguồn gốc. Những nguyên tắc cơ bản này cùng với nhiều bài học kinh nghiệm về bảo mật chuỗi cung ứng trong ngành dược phẩm đã hình thành cơ sở cho mô hình đối tượng trong OWASP Dependency-Track và sau này trở thành tiêu chuẩn OWASP CycloneDX Bill of Materials (BOM) .

BOM không phải là một khái niệm mới. Việc sử dụng chúng trong sản xuất đã phổ biến từ những năm 1970. Trong thế giới sản xuất, Quản lý vòng đời sản phẩm (PLM) là một tập hợp các thực hành tích hợp dữ liệu, quy trình, hệ thống kinh doanh và con người để giúp đưa sản phẩm vào cuộc sống và cuối cùng là loại bỏ chúng. Ngành công nghiệp phần mềm có một cách tiếp cận tương tự được gọi là Vòng đời phát triển phần mềm (SDLC) phục vụ cùng một mục đích. Trong PLM, BOM phục vụ các mục đích cụ thể dựa trên vòng đời của sản phẩm. Ví dụ, nếu sản phẩm đang được lập kế hoạch, một BOM lập kế hoạch có thể được sử dụng. Nếu sản phẩm yêu cầu các bộ phận phải được mua sắm, một BOM Mua sắm thường được sử dụng. Khi sản phẩm đang được thiết kế, BOM kỹ thuật (eBOM)được sử dụng và khi sản phẩm trải qua quá trình sản xuất, BOM sản xuất (mBOM) sẽ được sử dụng. Trong mọi trường hợp, toàn bộ khoảng không quảng cáo, bất kể nó là loại thành phần nào, đều được ghi lại trong BOM với thông tin cụ thể về vòng đời và đối tượng dự kiến.

Khi tôi bắt đầu làm việc trong lĩnh vực bảo mật chuỗi cung ứng phần mềm vào năm 2012, tôi không biết các thuật ngữ “SBOM” và “Hóa đơn nguyên vật liệu phần mềm”. Tôi đã có đầy đủ các yêu cầu về ngăn xếp, giống như tôi làm hôm nay, vì vậy việc giới hạn BOM trong một tập hợp hẹp như vậy đã không xảy ra với tôi. Cho đến năm 2018, lần đầu tiên tôi nghe thấy thuật ngữ này khi Cục Quản lý Thông tin và Viễn thông Quốc gia (NTIA) khởi động các sáng kiến ​​SBOM của họ .

Ghép kênh là gì là câu hỏi tại sao các BOM lại bị giới hạn một cách có chủ ý ở các thành phần phần mềm. Hãy tưởng tượng một BOM cho một chiếc ô tô chỉ có khả năng mô tả các bộ phận bằng nhựa, và các loại BOM khác là cần thiết để mô tả các bộ phận bằng nhôm, thép, da và sợi carbon. Bây giờ hãy tưởng tượng có BOM bộ phận bằng nhựa mà không có bất kỳ dấu hiệu nào về vòng đời của sản phẩm. Bạn có nên đặt hàng các bộ phận bằng nhựa không? Chúng có cần được chế tạo hoặc sản xuất không? Có lẽ họ đã được giao hàng hóa cuối cùng. Ai biết? Vòng đời bị bỏ qua khỏi cuộc hội thoại. Rõ ràng, PLM không hoạt động theo cách này, và vì lý do chính đáng. Thật không may, ngành công nghiệp phần mềm phải tuân theo một cách tiếp cận phức tạp vừa bị hạn chế về phạm vi vừa không có bối cảnh vòng đời.

Một lầm tưởng phổ biến là SBOM sẽ là một lộ trình cho kẻ tấn công. Huyền thoại này được đề cập trong SBOM Myths vs Facts . Tuy nhiên, các giả định được đưa ra liên quan đến vòng đời, cụ thể là các SBOM dành cho người tiêu dùng phần mềm. Theo kinh nghiệm của tôi, phần lớn các SBOM được tạo ra và sử dụng ngày nay được sử dụng cho các mục đích nội bộ mà không có ý định phân phối. Nếu một SBOM chứa các tài liệu thiết kế kiến ​​trúc, mô hình mối đe dọa hoặc thông tin về cách phần mềm được tạo ra ( công thức), nó hoàn toàn sẽ cung cấp một lộ trình cho kẻ tấn công. Loại thông tin này đặc biệt hữu ích trong các giai đoạn thiết kế, triển khai và thử nghiệm của SDLC và nhiều tổ chức đang sản xuất nội dung như vậy để đưa vào các SBOM có thể truy cập nội bộ. Các vấn đề về vòng đời. Bỏ qua nó khỏi cuộc trò chuyện là bất cẩn và tạo ra sự nhầm lẫn cho thị trường.

Khi tiêu chuẩn CycloneDX BOM được tạo ra, thuật ngữ “BOM” đã được sử dụng trong toàn bộ đặc điểm kỹ thuật vì nó có thể đại diện cho khoảng không quảng cáo toàn bộ bao gồm phần mềm, phần sụn, phần cứng và dịch vụ. Với tư cách là nhà lãnh đạo và kiến ​​trúc bảo mật, tôi quan tâm đến toàn bộ ngăn xếp, đặc biệt là các dịch vụ vì chúng có thể làm tăng đáng kể bề mặt tấn công. Phần mềm đã không tồn tại trong chân không trong 20 năm. Phần mềm hiện đại thường dựa vào các dịch vụ để cung cấp thông tin kịp thời từ Internet hoặc từ môi trường mà phần mềm đang hoạt động. Nó cũng có thể lấy các bản cập nhật từ trang web của nhà sản xuất. Trong nhiều trường hợp, các dịch vụ chiếm một phần đáng kể trong kho ứng dụng. Trong trường hợp “ serverless”Các ứng dụng, dịch vụ có thể chiếm toàn bộ hàng tồn kho. Ở mức tối thiểu, các dịch vụ mà ứng dụng dựa vào trong cấu hình mặc định của nó phải là yêu cầu đối với bất kỳ tổ chức nào yêu cầu BOM từ các nhà cung cấp. Việc bỏ qua các dịch vụ khỏi BOM cung cấp cho người mua thông tin chi tiết về sự thiếu chín chắn của nhà cung cấp và rủi ro sau đó.

Thuật ngữ “SBOM” cố ý bỏ qua các dịch vụ, phần cứng và khoảng không quảng cáo không phải phần mềm truyền thống khác, cũng như không truyền đạt vòng đời cho đối tượng mục tiêu. Các định nghĩa cơ bản của SBOM mô tả nó như một “danh sách các thành phần đơn giản”. Tuy nhiên, trong thực tế, thuật ngữ này dễ gây nhầm lẫn vì nó có nghĩa là những điều khác nhau đối với những người khác nhau dựa trên vai trò và kỳ vọng dữ liệu của họ. Do đó, thuật ngữ không nên tồn tại. Vì vậy, những gì chúng ta nên sử dụng thay thế? Đó là một câu hỏi tuyệt vời mà tôi thực sự không có câu trả lời. Nhưng đây là một vài ý tưởng.

  • Dự luật về vật liệu an ninh mạng (CBOM) - Vì bảo mật là trường hợp sử dụng chính và là động lực chính để áp dụng SBOM, nên “CBOM” có thể hữu ích vì nó không mô tả “cái gì”, nó mô tả mục đích. Nếu vòng đời là một yêu cầu của CBOM, đây sẽ là một thuật ngữ lý tưởng theo quan điểm của tôi.
  • Thuật ngữ BOM cụ thể của SDLC bao gồm BOM thiết kế (DBOM), BOM triển khai (IBOM), BOM thử nghiệm (TBOM), BOM phát hành (RBOM) và BOM hoạt động (OBOM). Nhân tiện, OBOM là một thực tế phổ biến và là một hành vi được quan sát trong BSIMM . OBOM cũng được hỗ trợ bởi CycloneDX .
  • Sử dụng lại thuật ngữ PLM bao gồm eBOM để mô tả tài liệu thiết kế và mô hình mối đe dọa, mBOM để mô tả toàn bộ khoảng không quảng cáo cùng với công thức và đơn giản là BOM để mô tả chính khoảng không quảng cáo.

Than ôi, SBOM muôn năm.

© Copyright 2021 - 2023 | vngogo.com | All Rights Reserved