Một dự án triển khai các tiện ích sudo và su trong Rust

ISRG (Nhóm nghiên cứu bảo mật Internet), người sáng lập dự án Let's Encrypt và thúc đẩy HTTPS cũng như phát triển các công nghệ để tăng cường bảo mật của Internet, đã trình bày dự án Sudo-rs để tạo triển khai các tiện ích sudo và su được viết bằng Rust cho phép bạn thực hiện các lệnh thay cho người dùng khác. Theo giấy phép Apache 2.0 và MIT, phiên bản phát hành trước của Sudo-rs đã được xuất bản, chưa sẵn sàng để sử dụng chung. Dự án bắt đầu hoạt động vào tháng 2022 năm 2023, dự kiến ​​hoàn thành vào tháng XNUMX năm XNUMX.

Công việc hiện đang tập trung vào việc triển khai các tính năng trong Sudo-rs cho phép nó được sử dụng như một sự thay thế rõ ràng cho sudo trong các trường hợp sử dụng thông thường (cấu hình sudoers mặc định trên Ubuntu, Fedora và Debian). Trong tương lai, có kế hoạch tạo một thư viện cho phép nhúng chức năng sudo vào các chương trình khác và cung cấp một phương pháp cấu hình thay thế để tránh phân tích cú pháp của tệp cấu hình sudoers. Dựa trên chức năng sudo đã triển khai, một biến thể của tiện ích su cũng sẽ được chuẩn bị. Ngoài ra, các gói đề cập đến hỗ trợ cho SELinux, AppArmor, LDAP, công cụ kiểm toán, khả năng xác thực mà không cần sử dụng PAM và triển khai tất cả các tùy chọn dòng lệnh sudo.

Theo Microsoft và Google, khoảng 70% lỗ hổng là do quản lý bộ nhớ không an toàn. Người ta hy vọng rằng việc sử dụng ngôn ngữ Rust để phát triển su và sudo sẽ giảm nguy cơ xảy ra lỗ hổng do xử lý bộ nhớ không an toàn và loại bỏ sự xuất hiện của các lỗi như truy cập vùng bộ nhớ sau khi nó đã được giải phóng và tràn bộ đệm. Sudo-rs đang được phát triển bởi các kỹ sư từ Ferrous Systems và Tweede Golf với kinh phí do các công ty như Google, Cisco, Amazon Web Services cung cấp.

Xử lý an toàn bộ nhớ được cung cấp trong Rust tại thời điểm biên dịch thông qua kiểm tra tham chiếu, theo dõi quyền sở hữu đối tượng và thời gian tồn tại của đối tượng (phạm vi), cũng như thông qua đánh giá tính chính xác của quyền truy cập bộ nhớ trong quá trình thực thi mã. Rust cũng cung cấp khả năng bảo vệ chống tràn số nguyên, yêu cầu khởi tạo bắt buộc các giá trị biến trước khi sử dụng, xử lý lỗi tốt hơn trong thư viện chuẩn, áp dụng khái niệm tham chiếu và biến bất biến theo mặc định, cung cấp kiểu gõ tĩnh mạnh để giảm thiểu lỗi logic.

Nguồn: opennet.ru

Thêm một lời nhận xét