Logo Zephyrnet

2 lăng kính để kiểm tra tính an toàn của phần mềm nguồn mở

Ngày:

Các kho lưu trữ nguồn mở — chẳng hạn như PyPI của Python, kho lưu trữ Maven Java và Trình quản lý gói nút (npm) cho JavaScript — thường có một nhóm kỹ sư và tình nguyện viên cốt cán để quản lý và bảo mật cơ sở hạ tầng. Số lượng người dùng và dự án độc hại được tạo trên các nền tảng này hàng ngày rất nhanh vượt xa năng lực của nhóm đánh giá bảo mật để theo kịp.

Tim Mackey, người đứng đầu chiến lược rủi ro chuỗi cung ứng phần mềm tại công ty toàn vẹn phần mềm Synopsys, cho biết việc tập trung vào bảo mật của các kho lưu trữ phản ánh sự chú ý ngày càng tăng mà chuỗi cung ứng phần mềm đã thu hút được từ những kẻ tấn công.

“Nếu tôi là một kẻ tấn công và tôi muốn xâm nhập, chẳng hạn như một ứng dụng JavaScript hoặc một ứng dụng Python trên quy mô lớn, thì cách tốt nhất để tôi làm điều đó là bằng cách nào đó giành quyền kiểm soát các phần tử có ý nghĩa của kho lưu trữ, " anh ta nói. “Vì vậy, nếu tôi là một tổ chức phát triển đang sử dụng mã Python, mã Node hoặc mã Java… thì tôi sẽ có một mức độ tin tưởng ngầm rằng kho lưu trữ sẽ hoạt động đúng… và rằng không có yếu tố nội tại nào con đường để tấn công hoặc những cách mà lòng tin có thể bị vi phạm.

Có một số nỗ lực kỹ thuật đang được tiến hành để giảm bớt công việc cho những người bảo trì và nhân viên cơ sở hạ tầng của kho. Tuy nhiên, giải quyết thách thức này — loại bỏ các gói độc hại và người dùng ra khỏi ứng dụng phần mềm — không chỉ đòi hỏi công nghệ.

Đặt công nghệ lên vỏ máy

Ví dụ, Thẻ điểm OpenSSF (được lưu trữ bởi Tổ chức Bảo mật Phần mềm Mở), chạy các kiểm tra tự động đối với mã của nhà phát triển và các dự án nguồn mở để giúp đánh giá rủi ro của những người bảo trì độc hại, thỏa hiệp mã nguồn hoặc hệ thống xây dựng và các gói độc hại.

Zack Newman, nhà khoa học nghiên cứu chính tại Chainguard cho biết: “Thực sự cân nhắc về những gì bạn đang liên kết với chuỗi cung ứng của mình là tốt nhất — thực sự, hành vi phạm tội tốt nhất ở đây là một biện pháp phòng thủ tốt. “Việc đưa ra một chính sách bên trong tổ chức để xem xét các tín hiệu cụ thể trong Thẻ điểm khi chúng tôi bổ sung các yếu tố phụ thuộc, tôi nghĩ, sẽ là một chặng đường dài.”

Một công nghệ khác, sigstore, cho phép các nhà phát triển và người bảo trì dễ dàng ký mã của họ để cho phép người dùng cuối tin tưởng vào nguồn gốc của mã. Dự án làm cho mã nguồn ký điện tử trở nên dễ dàng hơn vì các nhà phát triển riêng lẻ không phải quản lý cơ sở hạ tầng mật mã của riêng họ. Python có một gói để giúp các nhà phát triển tạo và xác minh chữ ký mã bằng cách sử dụng sigstore và GitHub cũng đang thực hiện một kế hoạch cho các nhà phát triển sử dụng npm để chấp nhận sigstore, Là tốt.

Thêm nhiều người hơn và cả quy trình

Cho dù các công cụ có tốt đến đâu, điểm mấu chốt là: Điều mà các kho phần mềm thực sự cần là nhiều kinh phí hơn và nhiều chuyên gia bảo mật hơn trong đội ngũ nhân viên.

“Bạn sẽ nghe các đề xuất đưa các công cụ tự động vào hệ thống, để chúng tôi chỉ cần một số máy quét kiểm tra tất cả các gói khi chúng được tải lên để tìm phần mềm độc hại,” Newman nói. “Đó nghe có vẻ là một ý tưởng tuyệt vời, nhưng đó không hoàn toàn là giải pháp mà bạn nghĩ bởi vì chúng tôi gặp sự cố với kết quả dương tính giả, sau đó cần được xem xét thủ công, gây ra chi phí hoạt động rất lớn — và vì vậy, bây giờ chúng tôi quay lại một hình vuông."

Việc tập trung vào đảm bảo chuỗi cung ứng phần mềm đã dẫn đến sự gia tăng đầu tư theo ngành vào hệ sinh thái nguồn mở. Dự án Alpha-Omega của OpenSSF, nhằm mục đích bảo mật các dự án quan trọng nhất, hiện có nhà phát triển bảo mật tại chỗ cho Python Software Foundation. Amazon Web Services cũng đã quyên góp cho PyPI để tạo vai trò Kỹ sư an toàn & bảo mật.

Khi phần mềm mã nguồn mở đã được công nhận rõ ràng là cơ sở hạ tầng quan trọng, đầu tư của chính phủ cũng tăng lên. Ví dụ, vào tháng XNUMX, chính quyền Biden-Harris công bố Chiến lược an ninh mạng quốc gia, tìm cách buộc các công ty phải chịu trách nhiệm về các sản phẩm phần mềm, trong khi các cuộc họp và hướng dẫn trước đây của Nhà Trắng nhằm mục đích tăng cường hỗ trợ cho việc bảo mật các dự án nguồn mở.

Mackey của Synopsys cho biết, nhiều cơ thể hơn, không nhất thiết phải là nhiều công nghệ hơn, sẽ giải quyết được nhiều vấn đề trong thời gian ngắn.

Anh ấy nói: “Một trong những điều tôi thích về mô hình Python là họ có chu kỳ đánh giá của con người trong đó. “Và điều đó, ở một mức độ nhất định, sẽ hạn chế phạm vi thiệt hại đối với một số thứ này.”

tại chỗ_img

Tin tức mới nhất

tại chỗ_img

Trò chuyện trực tiếp với chúng tôi (chat)

Chào bạn! Làm thế nào để tôi giúp bạn?