Thách thức trong việc chạy mã không đáng tin cậy một cách an toàn trong khi vẫn duy trì hiệu suất cao từ lâu đã là mối quan tâm trong điện toán đám mây và dịch vụ web. Một dự án mới có tên Drogon Sandbox đã thể hiện một cách tiếp cận sáng tạo cho vấn đề này, đạt được các chỉ số hiệu suất ấn tượng trong khi vẫn đảm bảo sự cách ly mạnh mẽ giữa các tiến trình.
Cách Ly Siêu Nhanh với Giả Lập RISC-V
Dự án triển khai một giải pháp sandbox độc đáo sử dụng giả lập RISC-V, cho phép cách ly tiến trình cực kỳ nhanh. Không giống như máy ảo truyền thống hoặc container, cách tiếp cận này có thể tạo và hủy sandbox trong vòng micro-giây trong khi vẫn xử lý được 1,7 triệu yêu cầu mỗi giây với 64 luồng. Hệ thống chỉ thêm khoảng 1 micro-giây độ trễ so với phản hồi máy chủ Drogon thông thường ở mức 800.000 yêu cầu mỗi giây.
Chỉ số Hiệu năng:
- 8 luồng: 803.251 yêu cầu/giây, độ trễ trung bình 9,51 micro giây
- 32 luồng: 1.443.679 yêu cầu/giây, độ trễ trung bình 22,49 micro giây
- 64 luồng: 1.736.727 yêu cầu/giây, độ trễ trung bình 39,44 micro giây
So sánh Chi phí Vận hành:
- Phiên bản gốc Drogon: độ trễ trung bình 8,54 micro giây
- Phiên bản Sandbox: độ trễ trung bình 9,51 micro giây
- Chi phí vận hành bổ sung: khoảng 1 micro giây cho mỗi yêu cầu
Bảo Mật Thông Qua Cách Ly Hoàn Toàn
Các thảo luận từ cộng đồng cho thấy mô hình bảo mật dựa trên libriscv, thực hiện giả lập các chương trình RISC-V trong một ngữ cảnh cách ly, nơi các lệnh gọi hệ thống Linux được kiểm soát cẩn thận. Cách tiếp cận này khác với máy ảo dựa trên hypervisor truyền thống, cung cấp cơ chế cách ly nhẹ hơn nhưng vẫn hiệu quả.
Ranh giới giữa máy chủ và máy khách, API gọi hệ thống, sẽ luôn là vector tấn công lớn nhất bất kể giải pháp nào được sử dụng. Tuy nhiên, nếu bạn tìm thấy vấn đề và khắc phục nó, bạn sẽ trở lại trạng thái an toàn, không giống như khi bạn không có bất kỳ cơ chế sandbox nào.
Các Cách Tiếp Cận Thay Thế và Trường Hợp Sử Dụng
Mặc dù dự án này là một bằng chứng về khái niệm, cộng đồng đã chỉ ra một số giải pháp thay thế cho các trường hợp sử dụng tương tự, bao gồm Firecracker cho cách ly VM hoàn chỉnh, gVisor cho workload container hóa, và Lua với sandboxing cho các kịch bản phát triển game. Mỗi cách tiếp cận cung cấp những đánh đổi khác nhau giữa bảo mật, hiệu suất và độ dễ triển khai.
Hạn Chế và Ứng Dụng Thực Tế
Cần lưu ý rằng mặc dù các con số hiệu suất rất ấn tượng, giải pháp này có thể không phù hợp cho tất cả môi trường sản xuất. Dự án chỉ rõ rằng nó chỉ chứa các phần cần thiết cho việc đánh giá hiệu suất thực tế, thiếu các tính năng sẵn sàng cho môi trường sản xuất như hệ thống quan sát, ghi log và đo lường toàn diện. Ngoài ra, do dựa trên giả lập RISC-V, nó có thể không đạt được cùng mức hiệu suất như các giải pháp ảo hóa phần cứng như Firecracker cho các workload đòi hỏi nhiều tính toán.
Tham khảo: Drogon Sandbox