Stack Kiểm tra hoạt động như thế nào?


11

Đây là tiền thân cho câu hỏi khác, nâng cao hơn của tôi về Kiểm tra ngăn xếp.

Kiểm tra ngăn xếp là một cơ chế bảo mật được giới thiệu trong JVM để đối phó với việc chạy mã có nguồn gốc từ các vị trí có mức độ tin cậy khác nhau. Đây là câu hỏi nhằm mục đích tìm một mô tả đơn giản về chức năng của nó. Vì thế:

Làm thế nào để kiểm tra ngăn xếp làm việc?

Câu trả lời:


7

Xem

Từ tờ giấy:

... Thuật toán kiểm tra ngăn xếp được sử dụng trong các hệ thống Java hiện tại có thể được coi là một khái quát của mô hình kiểm tra ngăn xếp đơn giản sau đây :

Trong mô hình này, các hiệu trưởng duy nhất là hệ thống của người Hồi giáo và người không tin tưởng vào điều đó. Tương tự như vậy, đặc quyền duy nhất có sẵn là đầy đủ. Mô hình này giống với hệ thống kiểm tra ngăn xếp được sử dụng nội bộ trong Netscape Navigator 3.0.

Trong mô hình này, mọi khung ngăn xếp đều được gắn nhãn hiệu trưởng (hệ thống trực tiếp nếu khung đang thực thi mã là một phần của máy ảo hoặc các thư viện tích hợp của nó và nếu không tin tưởng thì khác) và có chứa một cờ đặc quyền có thể được thiết lập bởi một lớp hệ thống mà chọn để kích hoạt các đặc quyền của nó, thì rõ ràng là tuyên bố rằng nó muốn làm điều gì đó nguy hiểm. Một lớp không tin cậy không thể đặt cờ đặc quyền của nó. Khi khung stack thoát ra, cờ đặc quyền của nó (nếu có) sẽ tự động biến mất.

Tất cả các quy trình sắp thực hiện một thao tác nguy hiểm như truy cập hệ thống tệp hoặc mạng trước tiên áp dụng thuật toán kiểm tra ngăn xếp để quyết định xem có cho phép truy cập hay không. Các thuật toán kiểm tra ngăn xếp sẽ nghiên cứu các khung trên ngăn xếp của trình gọi, từ mới nhất đến cũ nhất. Việc tìm kiếm chấm dứt, cho phép truy cập, khi tìm thấy khung ngăn xếp với cờ đặc quyền. Việc tìm kiếm cũng chấm dứt, cấm truy cập và ném một ngoại lệ, khi tìm thấy một khung ngăn xếp không đáng tin cậy (mà không bao giờ có thể có được một lá cờ đặc quyền). ...

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.