Trong khi RubyGems.org gần đây đã giới thiệu cơ sở hạ tầng bảo mật mạnh mẽ của họ, thành công trong việc phát hiện và loại bỏ các gem độc hại, một cuộc tranh cãi bất ngờ đã xuất hiện từ cộng đồng Ruby . Người duy trì Unicorn , một HTTP server phổ biến cho các ứng dụng Ruby , đã công khai thông báo về những nỗ lực cố tình tránh các biện pháp bảo mật - không phải do hạn chế kỹ thuật, mà như một lập trường triết học chống lại việc được xem là đáng tin cậy.
Chiến lược cố tình tránh bảo mật
Người duy trì Unicorn đã công khai tuyên bố kế hoạch giữ số lượng tải xuống ở mức thấp một cách nhân tạo để duy trì dưới ngưỡng Xác thực đa yếu tố (MFA) của RubyGems.org . Hiện tại đang thiếu khoảng 70 triệu lượt tải xuống so với ngưỡng 180 triệu được thiết lập vào năm 2022, mỗi bản phát hành mới thường tạo ra khoảng 15 triệu lượt tải xuống. Chiến lược của người duy trì bao gồm việc phân phối các bản phát hành một cách có chủ ý để tránh kích hoạt các yêu cầu bảo mật bắt buộc.
Cách tiếp cận này mở rộng ra ngoài việc chỉ tránh MFA . Người duy trì đã từ chối rõ ràng việc ký mã và các biện pháp bảo mật xây dựng lòng tin khác, tuyên bố mong muốn người dùng không bao giờ xem họ là đáng tin cậy hoặc chịu trách nhiệm cho bất cứ thứ gì họ sản xuất. Lập trường triết học này đặt họ đối lập với xu hướng rộng lớn hơn của ngành công nghiệp hướng tới việc tăng cường bảo mật chuỗi cung ứng.
MFA (Multi-Factor Authentication): Một phương pháp bảo mật yêu cầu người dùng cung cấp hai hoặc nhiều yếu tố xác minh để truy cập tài khoản của họ.
Tình trạng dự án Unicorn:
- Lượt tải xuống hiện tại: ~110 triệu (thiếu 70 triệu so với ngưỡng MFA)
- Tốc độ tải xuống: ~15 triệu mỗi lần phát hành
- Chiến lược của người duy trì: Phân bổ các lần phát hành để tránh các yêu cầu bảo mật
- Triết lý: Cố ý tránh các biện pháp xây dựng lòng tin
Triết lý độc đáo gặp nhu cầu bảo mật hiện đại
Lập trường của người duy trì xuất phát từ những gì các thành viên cộng đồng mô tả là các nguyên tắc Thuần khiết Phần mềm Tự do. Điều này bao gồm việc từ chối sử dụng bất cứ thứ gì chạy JavaScript , điều này hiệu quả cắt đứt họ khỏi hầu hết các công cụ và nền tảng phát triển hiện đại. Họ đóng góp cho Ruby độc quyền thông qua các danh sách gửi thư truyền thống và kho lưu trữ git trực tiếp, tránh GitHub và các nền tảng hợp tác đương đại khác.
Phản ứng của cộng đồng đã trái chiều nhưng phần lớn mang tính chỉ trích. Nhiều nhà phát triển xem lập trường này là vô trách nhiệm trong bối cảnh môi trường đe dọa ngày nay, đặc biệt khi các gói độc hại đang được phân phối tích cực thông qua các trình quản lý gói. Một số đã đề xuất rằng nếu người duy trì thực sự muốn ngăn cản việc sử dụng Unicorn , họ nên đơn giản là ngừng dự án hoàn toàn thay vì duy trì nó theo cách cố tình thù địch với người dùng.
Tác động đến hệ sinh thái Ruby
Unicorn đã là một phần quan trọng của bối cảnh web server Ruby trong nhiều năm, bất chấp những nỗ lực gần đây của người duy trì nhằm ngăn cản việc sử dụng nó. README của dự án thậm chí mô tả nó như đã gây ra thiệt hại hàng thập kỷ cho toàn bộ hệ sinh thái Ruby do khả năng chịu đựng (và do đó khuyến khích) mã xấu. Mô tả tự chê bai này phù hợp với mong muốn rõ ràng của người duy trì nhằm giảm độ tin cậy được cảm nhận của phần mềm.
Tình huống này làm nổi bật một căng thẳng rộng lớn hơn trong phần mềm mã nguồn mở giữa quyền tự chủ của người duy trì cá nhân và kỳ vọng bảo mật của cộng đồng. Trong khi RubyGems.org đã triển khai các hệ thống phát hiện tự động tinh vi bắt được 70-80% các gói độc hại trước khi chúng được báo cáo, hiệu quả của các hệ thống này phụ thuộc một phần vào sự hợp tác từ các người duy trì trong việc áp dụng các thực hành bảo mật tốt nhất.
Thống kê Bảo mật RubyGems.org:
- Phát hiện 70-80% các gói độc hại trước khi báo cáo công khai
- Loại bỏ trung bình khoảng 1 gói độc hại/spam mỗi tuần
- 95% các gói bị gắn cờ được chứng minh là hợp pháp sau khi xem xét
- Ngưỡng MFA: 180 triệu lượt tải xuống tổng cộng (tính đến năm 2022)
Phản ứng cộng đồng và giải pháp
Một số thành viên cộng đồng đã đề xuất các cách tiếp cận thay thế có thể giải quyết mối quan tâm của người duy trì trong khi cải thiện bảo mật. Những điều này bao gồm các công cụ MFA tốt hơn không dựa vào các ứng dụng độc quyền, tùy chọn vô hiệu hóa các chỉ báo tin cậy như dấu kiểm đã xác minh, và hỗ trợ cho các ứng dụng TOTP (Time-based One-Time Password) tiêu chuẩn hoạt động ngoại tuyến.
Các công cụ MFA tốt hơn và cho phép mọi người KHÔNG hiển thị dấu kiểm đã xác minh sẽ giải quyết vấn đề? Ít nhất hãy nói chuyện với người đó và lắng nghe khiếu nại của họ.
Cuộc tranh cãi này nhấn mạnh những thách thức mà các người duy trì sổ đăng ký gói phải đối mặt khi họ cân bằng các yêu cầu bảo mật với các triết lý đa dạng của người duy trì. Trong khi thành công gần đây của RubyGems.org trong việc chủ động phát hiện các mối đe dọa chứng minh giá trị của cơ sở hạ tầng bảo mật của họ, các trường hợp như Unicorn cho thấy rằng các giải pháp kỹ thuật một mình không thể giải quyết tất cả các khía cạnh của bảo mật chuỗi cung ứng.
TOTP: Time-based One-Time Password, một thuật toán tiêu chuẩn để tạo mã xác thực tạm thời.
Tham khảo: How RubyGems.org Protects Our Community's Critical OSS Infrastructure