Gần đây tôi đã học về mô hình bảo mật của Java. Hầu hết mọi người nghĩ rằng Java là an toàn bởi vì nó miễn dịch với tràn bộ đệm, vv, nhưng có toàn bộ mô hình bảo mật Java này tập trung xung quanh việc kiểm tra xem mã có quyền thực hiện một số hành động nhất định hay không. Họ thực sự giải quyết một vấn đề khó khăn: làm thế nào để cho phép mã không đáng tin cậy (nói trong một trình duyệt web) chạy nhưng bị ngăn cản truy cập vào hệ thống cơ bản theo những cách độc hại trong khi vẫn duy trì khả năng tương tác với hệ thống theo một số cách.Những ngôn ngữ nào ngoài Java có các mô hình bảo mật cho mã không có đặc quyền so với đặc quyền?
Sandboxed C++ hoặc một cái gì đó như thế sẽ rất khó để thử bởi vì ngôn ngữ quyết định rằng bạn có thể làm số học con trỏ, vv, cho phép mã độc hại làm hỏng các phần khác của quá trình. Vì có nhiều ngôn ngữ an toàn cho bộ nhớ, tuy nhiên, tôi đã tự hỏi những ngôn ngữ khác có các mô hình bảo mật phức tạp và cách chúng so sánh với các ngôn ngữ Java.
Tôi không biết có bao nhiêu ngôn ngữ cố gắng có khái niệm như "hộp cát", v.v. Tôi đang tìm một số gợi ý để tìm hiểu về hướng đi thú vị này của bảo mật máy tính.
Nó không quá nhiều tính năng của ngôn ngữ như thời gian chạy. Mọi thứ chạy trên JVM hoặc CLR sẽ hoạt động giống nhau. Ngoài ra, JavaScript đang chạy trên trang trình duyệt không đáng tin cậy, mặc dù trình duyệt có thể đang sử dụng JavaScript đáng tin cậy trong việc triển khai trình duyệt. Google NaCl sandboxes độc đáo C++, và trên UNIX bạn có thể xây dựng một "chroot jail". –