Khi bảo mật chuỗi cung ứng phần mềm ngày càng trở nên quan trọng hơn, bảo mật, các nhóm DevSecOps và DevOps trở nên thách thức hơn bao giờ hết để xây dựng niềm tin minh bạch vào phần mềm họ cung cấp hoặc sử dụng. Trên thực tế, trong Gartner gần đây đã công bố các dự đoán an ninh mạng năm 2022, họ không chỉ dự đoán việc tiếp tục mở rộng các bề mặt tấn công trong tương lai gần, họ còn liệt kê chuỗi cung ứng kỹ thuật số là một bề mặt tấn công gia tăng lớn và là một trong những xu hướng hàng đầu cần tuân theo vào năm 2022.
Rốt cuộc, bất kỳ phần mềm nào cũng chỉ an toàn như liên kết yếu nhất trong chuỗi cung ứng của nó. Một thành phần xấu, bất kỳ quyền truy cập độc hại nào vào môi trường phát triển của bạn — hoặc bất kỳ lỗ hổng nào trong vòng đời phân phối phần mềm của bạn — và bạn có nguy cơ tính toàn vẹn của mã, khách hàng và danh tiếng của bạn.
Scribe Security gần đây đã ra mắt một nền tảng mới tuyên bố giải quyết những nhu cầu cấp bách này bằng cách cho phép người dùng xây dựng lòng tin vào phần mềm của họ trong các nhóm và tổ chức. Theo Scribe Security, SBOM là một phương pháp hay nhất dự kiến sẽ trở nên được yêu cầu rộng rãi và được sử dụng để giảm thiểu rủi ro chuỗi cung ứng phần mềm. Với suy nghĩ đó, họ quyết định dẫn đầu và trở thành nhà cung cấp đầu tiên giới thiệu khái niệm Hub cho bằng chứng bảo mật về các sản phẩm phần mềm và đã tung ra một nền tảng thân thiện và dễ sử dụng.
Nhóm của chúng tôi gần đây đã khám phá nền tảng của Scribe chi tiết hơn.
Ưu tiên số một
Nền tảng của Scribe: Những điều bạn cần biết trước khi đi sâu vào:
- Miễn phí và dễ sử dụng: Nền tảng của Scribe cung cấp trải nghiệm tự phục vụ hoàn chỉnh. Nó rất dễ thực hiện và sử dụng, vì nó dựa trên plugin và CLI. Và cuối cùng, bạn có thể bắt đầu với một freemium, không có ràng buộc nào.
- Trung tâm bằng chứng bảo mật phần mềm: Trong khi hầu hết các giải pháp bảo mật Chuỗi cung ứng phần mềm khác bỏ qua nhu cầu làm cho bảo mật của các sản phẩm phần mềm minh bạch cho khách hàng, người mua và nhóm bảo mật, Scribe, nền tảng của Scribe giới thiệu một trung tâm bằng chứng bảo mật. Do đó, nền tảng này hỗ trợ quy trình làm việc để chia sẻ SULA trên hoặc trong các doanh nghiệp. Một số thông tin chi tiết sẽ sớm được thêm vào nền tảng để các bên liên quan sẽ nhận được thông tin cập nhật liên tục về phần mềm họ sử dụng. Một trong những thông tin chi tiết như vậy, CEF, đã được bao gồm, cho phép cả nhà sản xuất phần mềm và những người mà họ chia sẻ thông tin chi tiết về bảo mật của họ để xem cves có mặt trong mỗi bản phát hành mới. Một tính năng thử nghiệm thú vị của nền tảng là khả năng xác nhận tính toàn vẹn của phần mềm và chia sẻ bằng chứng đó với các bên liên quan.
Để tạo điều kiện thuận lợi cho việc đánh giá sản phẩm này, nhóm tại Scribe Security đã cấp cho chúng tôi quyền truy cập vào phiên bản mới nhất của nền tảng của họ. Đây là những gì chúng tôi tìm thấy:
Bắt đầu
Sử dụng nền tảng Scribe, các nhà sản xuất phần mềm có thể có được khả năng hiển thị các quy trình và thành phần lạ của họ và chọn người tiêu dùng phần mềm — người đăng ký — cho mỗi quy trình. Giả sử tôi là một nhà sản xuất phần mềm quan tâm đến việc dùng thử dịch vụ. Đây là màn hình đầu tiên tôi nhìn thấy. Mỗi phần của giao diện được giải thích và minh họa.
Lưu ý rằng ngay cả khi bạn lần đầu tiên bắt đầu đã có một sản phẩm demo mà bạn có thể sử dụng làm ví dụ về cách nền tảng Scribe hoạt động. Bạn có thể chơi xung quanh với các sản phẩm demo hiện có hoặc bạn có thể thêm một sản phẩm mới của riêng bạn.
Nút 'thêm sản phẩm' được đánh dấu ở trên cùng bên phải cho phép bạn thêm sản phẩm mới. Đối với mỗi sản phẩm mới, bạn sẽ nhận được 3 bí mật cần thiết: Khóa sản phẩm, ID khách hàng và Bí mật khách hàng. Bạn cũng sẽ nhận được một liên kết đến giải thích tích hợp mà bạn chọn; hiện tại, bạn có thể chọn GitHub, Jenkins hoặc tùy chọn CI chung. Chúng tôi sẽ đề cập đến điều đó chi tiết hơn một chút.
Sử dụng sản phẩm ví dụ này, tôi có thể kiểm tra những gì nền tảng có thể cung cấp.
Bằng cách nhấp vào nó, tôi có thể thấy các bản dựng sản phẩm đã được tải lên. Với ý định thử nghiệm giao diện của nền tảng, tôi đã bắt đầu với một giao diện và tạo thêm một số giao diện sau đó.
Nút 'Cài đặt' được đánh dấu ở trên cùng bên phải cho phép bạn truy cập vào thông tin sản phẩm hiện tại.
Bạn có thể xem 3 bí mật sản phẩm, Khóa sản phẩm, ID khách hàng và Bí mật máy khách, đề phòng trường hợp bạn làm mất hoặc quên chúng.
Bạn cũng có quyền truy cập vào các hướng dẫn tích hợp, vì vậy nếu bạn đã thay đổi quy trình của mình, bây giờ bạn có thể xem cách tích hợp công cụ Scribe vào quy trình mới của mình.
Điều thu hút sự chú ý của tôi là một liên kết ở trên cùng bên phải có nội dung 'Hãy thử Scribe trên dòng lệnh', vì vậy tôi quyết định nhấp vào nó để xem điều gì sẽ xảy ra.
Như bạn có thể thấy, nền tảng hiển thị các lệnh CLI đầy đủ khi bạn nhấp vào 'Dùng thử Scribe trên dòng lệnh'. Toàn bộ sự thật được tiết lộ. Sử dụng CLI, tôi chỉ cần thay thế dự án mặc định (mongo-express) bằng dự án mẫu mà tôi muốn thử.
Nhìn vào tất cả các bản dựng phần mềm mà tôi đã thêm vào sản phẩm này, bạn có thể thấy ngày và giờ chúng được tạo và biết liệu chúng có được xác thực về tính toàn vẹn của tệp hay không. Ba dấu chấm ở cuối mỗi bản dựng cho phép bạn 'phát hành' một bản dựng — làm cho nó hiển thị cho người tiêu dùng phần mềm hoặc người đăng ký, bạn đã xác định cho sản phẩm này. Nó cũng cho phép bạn tải xuống SBOM của bản dựng.
Nó khá dễ dàng để thêm các dự án bổ sung. Điều duy nhất tôi phải làm là quay lại trang chính của dự án và nhấp vào 'Thêm dự án'. Khi bạn đã chơi xung quanh với sản phẩm mẫu, bạn có thể tiếp tục và thêm một sản phẩm mới của riêng bạn. Màn hình bạn nhận được giống hệt với màn hình 'thiết lập' ngoại trừ nó cung cấp cho bạn bí mật về một sản phẩm hoàn toàn mới, trong khi màn hình 'thiết lập' cung cấp cho bạn thông tin cho dự án hiện có nơi nó được đặt.
Nó thực sự đơn giản để sử dụng — tất cả những gì tôi phải làm là nhập tên của dự án mới. Hãy nhớ rằng sẽ không có nhiều thứ để xem cho đến khi tôi tải lên các bản dựng hoặc chọn người đăng ký cho dự án mới này.
Thông tin xác thực là những gì kết nối quy trình sản phẩm của tôi với nền tảng Scribe: Khóa sản phẩm, ID khách hàng và Bí mật máy khách. ID khách hàng và Bí mật khách hàng hợp lệ cho tất cả các dự án tương lai của tôi trong khi Khóa sản phẩm là duy nhất cho mỗi dự án.
Ngay sau khi có tất cả thông tin, tôi có thể định cấu hình quy trình của mình để thu thập thông tin cần thiết và tải nó lên nền tảng Scribe.
Theo tài liệu của nó, Scribe hiện hỗ trợ GitHub, Jenkins và các quy trình CI khác.
Tất cả các giải thích đều rất đơn giản. Là một phần trong quy trình của mình, tôi được yêu cầu bao gồm hai trình thu thập: Bộ sưu tập đầu tiên thu thập thông tin về hàm băm của các tệp mã nguồn và bộ thu thập thông tin về các hàm băm phụ thuộc. Trong khi bộ sưu tập đầu tiên là tùy chọn, bộ sưu tập thứ hai thì không. Bỏ qua bước này sẽ dẫn đến một báo cáo trống vì hình ảnh SBOM được tạo bởi bộ sưu tập thứ hai. Kể từ phiên bản tôi đã thử, nền tảng Scribe hỗ trợ Node.js và npm để xác thực tính toàn vẹn và xuất xứ. Là một phần của quá trình xem xét này, nhóm Scribe cũng thông báo với tôi rằng họ có kế hoạch mở rộng dịch vụ của mình trong tương lai gần.
Khi tôi đã cấu hình đường ống, phần kỹ thuật đã hoàn tất. Với pipeline này, mỗi khi tôi tạo một bản dựng mới, bằng chứng và SBOM được tải lên nền tảng Scribe, sau đó được xử lý và trình bày như một phần của trang Sản phẩm của tôi.
Đây là lúc mọi thứ trở nên thú vị đối với tôi—các tùy chọn khác nhau có sẵn cho tôi trên trang chính của nền tảng Scribe. Đầu tiên, tôi nhận thấy rằng tôi luôn có thể thêm một sản phẩm khác (trên cùng bên phải, nút màu xanh lam). Không có giới hạn về số lượng sản phẩm (hoặc đường ống) mà tôi có thể quản lý.
Thông tin tôi có thể thấy cho mỗi sản phẩm bao gồm tên của nó (tên tôi đã chọn, không nhất thiết phải là tên được sử dụng trong pipeline hoặc SCM), người đăng ký, phiên bản và ngày phiên bản xây dựng cuối cùng của nó, cũng như liệu tính toàn vẹn của nó đã được xác thực hay chưa.
Trong hình ảnh trên, dòng sản phẩm thử nghiệm không có chi tiết vì không có bản dựng nào được tạo cho nó và không có người đăng ký nào được thêm vào. Chỉ sau khi quy trình của tôi đã tải lên một số dữ liệu, nền tảng của Scribe mới có thể hiển thị cho tôi bất cứ điều gì về sản phẩm đó. Tải lên dữ liệu chỉ xảy ra khi một bản dựng mới được bắt đầu, vì vậy bạn sẽ cần kích hoạt một bản dựng để xem bất kỳ thứ gì trong nền tảng Scribe. Sẽ hơi khó chịu nếu bạn chưa có kế hoạch xây dựng một phiên bản mới, nhưng tôi hiểu lý do của họ.
Ba dấu chấm ở cuối mỗi dòng cho phép tôi xóa một sản phẩm nếu tôi chọn như vậy.
Sau khi nhấp vào một dòng sản phẩm, tôi được dẫn đến trang sản phẩm cụ thể. Tất cả các bản dựng được tải lên cho sản phẩm đó được liệt kê ở đây cùng với thông tin của chúng.
Tôi có thể quyết định phiên bản hiện có nào (nếu có) có thể được phát hành bằng cách nhấp vào ba dấu chấm ở cuối mỗi dòng. Khi tôi xuất bản một phiên bản, những người đăng ký mà tôi đã thêm vào sản phẩm đó sẽ nhận được thông báo về một bản phát hành mới và có thể xem thông tin liên quan đến bản phát hành đó.
Menu tương tự cho phép tôi tải xuống SBOM cho bản dựng đó để tôi có thể truy cập nó ngay lập tức.
Phía trên khóa sản phẩm, bạn có thể thấy rằng có một tab Người đăng ký ngoài tab Phiên bản.
Bước tiếp theo là điều hướng đến tab Người đăng ký, nơi tôi đã nhập địa chỉ email của người đăng ký mới để mời họ tham gia. Vâng, nó đơn giản mà. Không có giới hạn về số lượng email tôi có thể nhập.
Bây giờ tôi có một số người đăng ký, tôi có thể quản lý họ trên trang này.
Nhiệm vụ của tôi là kiểm tra hệ thống, vì vậy tôi đã thêm hai người đăng ký hư cấu và lời mời đã được gửi đi. Ba dấu chấm ở cuối mỗi dòng cho phép bạn gửi lại lời mời hoặc thu hồi lời mời. Không có cách nào dễ dàng để xác định danh sách người đăng ký được chia sẻ cho nhiều dự án vì người đăng ký được quản lý trên mỗi sản phẩm.
Báo cáo liêm chính và SBOM
Khi tôi nhấp vào một dòng phiên bản trên trang sản phẩm duy nhất, tôi đã được đưa đến trang phiên bản xây dựng. Ở đó, bạn có thể tìm thấy tất cả siêu dữ liệu ngữ cảnh về bản dựng cụ thể đó, cũng như các liên kết đến báo cáo tính toàn vẹn, báo cáo lỗ hổng và SBOM.
Với báo cáo tính toàn vẹn, tôi có thể dễ dàng thấy xác thực của mã nguồn (hộp giữa trên cùng), giả sử tôi đã đưa bộ thu thập đó vào quy trình của mình. Ngoài ra, tôi có thể thấy xác thực các gói mã nguồn mở của mình (hộp trên cùng bên phải) dựa trên bộ sưu tập thứ hai mà tôi đã đưa vào.
Tôi cũng có thể tìm kiếm một gói cụ thể, chẳng hạn như log4j, nếu tôi quá nghiêng. Tùy chọn tìm kiếm là riêng biệt cho mã nguồn và gói mã nguồn mở của bạn. Hãy nhớ chuyển sang phần báo cáo thích hợp ở đầu trang, tùy thuộc vào những gì bạn đang tìm kiếm.
Nếu bạn là nhà sản xuất phần mềm, hãy nhớ rằng bạn có toàn quyền kiểm soát những gì bạn chia sẻ và khi nào. Không ai có nghĩa vụ phải phát hành hoặc chia sẻ một bản dựng với một báo cáo kém hoàn hảo hơn; chỉ những phiên bản bạn chọn để phát hành mới được chia sẻ với người đăng ký của dự án đó.
Quan điểm của người đăng ký
Sau đó, người đăng ký nhận được báo cáo minh bạch về sản phẩm và cập nhật về CEF (và các thông tin chi tiết khác trong tương lai)
Kho bằng chứng cho các bản dựng
Mỗi khi bạn chạy một bản dựng, bạn sẽ nhận được một phiên bản mới, một báo cáo tính toàn vẹn mới và một SBOM mới. Thông tin này có thể được tìm thấy trên trang sản phẩm nền tảng Scribe.
Nó hoạt động như một kho lưu trữ dữ liệu bảo mật trong quá khứ và kho lưu trữ bằng chứng cho sản phẩm của bạn, nơi bạn luôn có thể quay lại và kiểm tra các phiên bản trước đó. Sản phẩm của bạn sẽ có một dấu vết bằng chứng có thể chia sẻ với thông tin xuất xứ về các tệp nguồn của bạn (nếu bạn bao gồm bộ sưu tập đó) và các phần phụ thuộc.
Bất kỳ người đăng ký nào cũng có thể truy cập mọi phiên bản của sản phẩm có hiệu lực trở về trước, vì vậy bạn không cần phải biên soạn nhiều báo cáo và SLMM. Nếu bạn bị kiểm toán hoặc muốn chia sẻ thông tin đó vì những lý do khác, chỉ cần thêm email của người đăng ký mới vào sản phẩm đó và họ sẽ có quyền truy cập ngay lập tức.
Kết thúc
Cung cấp một cửa hàng chứng thực và trung tâm chia sẻ thông tin bảo mật của các bản dựng sản phẩm, sản phẩm này rất chắc chắn và thú vị. Rõ ràng, rất nhiều suy nghĩ đã đi vào nó và đó chắc chắn là một bước tiến lớn. Vì vậy, khi (không còn là câu hỏi nếu) bạn cần tạo, quản lý và chia sẻ USB và thông tin chi tiết về bảo mật liên quan cho các sản phẩm phần mềm của mình, bạn nên dùng thử.
Nhóm Scribe có kế hoạch thêm cảnh báo lỗ hổng và xác thực chính sách bảo mật sản phẩm/đường ống trong tương lai gần. Theo quan điểm của tôi, những bổ sung này sẽ làm phong phú thêm nền tảng và làm cho nó thậm chí còn có giá trị hơn.