Bạn sẽ mô hình hóa một hệ thống xử lý các quyền để thực hiện một số hành động bên trong một ứng dụng như thế nào?
Câu trả lời:
Các mô hình bảo mật là một lĩnh vực nghiên cứu rộng lớn (và mở). Có một loạt các mô hình có sẵn để lựa chọn, từ đơn giản:
Ma trận điều khiển truy cập của Lampson liệt kê mọi đối tượng miền và mọi nguyên tắc trong hệ thống với các hành động mà đối tượng chính được phép thực hiện trên đối tượng đó. Nó rất dài dòng và nếu thực sự được thực hiện theo kiểu này, rất cần bộ nhớ.
Danh sách kiểm soát truy cập là sự đơn giản hóa ma trận của Lampson: coi nó giống như một cách triển khai ma trận thưa thớt liệt kê các đối tượng và nguyên tắc và các hành động được phép, và không mã hóa tất cả các mục "null" từ ma trận của Lampson. Danh sách kiểm soát truy cập có thể bao gồm 'nhóm' để thuận tiện và danh sách có thể được lưu trữ thông qua đối tượng hoặc thông qua chính (đôi khi, thông qua chương trình, như trong AppArmor hoặc TOMOYO hoặc LIDS ).
Hệ thống khả năng dựa trên ý tưởng có một tham chiếu hoặc con trỏ đến các đối tượng; một quy trình có quyền truy cập vào tập hợp các khả năng ban đầu và chỉ có thể nhận được nhiều khả năng hơn bằng cách nhận chúng từ các đối tượng khác trên hệ thống. Điều này nghe có vẻ khá xa vời, nhưng hãy nghĩ về bộ mô tả tệp Unix: chúng là một tham chiếu không thể chấp nhận được đối với một tệp đang mở cụ thể và bộ mô tả tệp có thể được chuyển cho các quy trình khác hoặc không. Nếu bạn cung cấp bộ mô tả cho một quy trình khác, nó sẽ có quyền truy cập vào tệp đó. Toàn bộ hệ điều hành đã được viết xung quanh ý tưởng này. (Nổi tiếng nhất có lẽ là KeyKOS và EROS, nhưng tôi chắc chắn rằng đây là một điểm gây tranh cãi. :)
... phức tạp hơn, có nhãn bảo mật được gán cho các đối tượng và nguyên tắc:
Các vòng bảo mật , chẳng hạn như được triển khai trong các CPU Multic và x86, trong số các loại khác, và cung cấp các bẫy hoặc cổng bảo mật để cho phép các quy trình chuyển đổi giữa các vòng; mỗi chiếc nhẫn có một bộ đặc quyền và đối tượng khác nhau.
Denning's Lattice là một mô hình mà các nguyên tắc được phép tương tác với các nhãn bảo mật nào theo kiểu phân cấp rất rõ ràng.
Bell-LaPadula tương tự như Denning's Lattice, và cung cấp các quy tắc để ngăn chặn việc rò rỉ dữ liệu tối mật đến các cấp độ chưa được phân loại và các phần mở rộng thông thường cung cấp khả năng phân chia và phân loại sâu hơn để cung cấp hỗ trợ tốt hơn theo kiểu quân đội.
Các Biba mẫu cũng tương tự như Bell-LaPadula, nhưng 'bật Trưởng ban' - Chuông-LaPadula là tập trung vào bảo mật, nhưng không làm gì cho vẹn, và Biba là tập trung vào tính toàn vẹn, nhưng không làm gì cho bảo mật. (Bell-LaPadula ngăn không cho ai đó đọc Danh sách tất cả gián điệp, nhưng vui vẻ cho phép bất kỳ ai viết bất cứ thứ gì vào đó. Biba vui vẻ cho phép bất kỳ ai đọc Danh sách tất cả gián điệp, nhưng gần như cấm mọi người viết vào đó.)
Thực thi kiểu (và anh chị em của nó, Thực thi kiểu miền) cung cấp các nhãn trên nguyên tắc và đối tượng, đồng thời chỉ định các bảng đối tượng-động từ-chủ đề (lớp) được phép. Đây là SELinux và SMACK quen thuộc.
.. và sau đó có một số kết hợp thời gian trôi qua:
Bức tường Trung Quốc được phát triển trong môi trường kinh doanh để tách biệt các nhân viên trong một tổ chức cung cấp dịch vụ cho các đối thủ cạnh tranh trong một thị trường nhất định: ví dụ: khi Johnson đã bắt đầu làm việc với tài khoản Exxon-Mobil, anh ta không được phép truy cập vào tài khoản BP. Nếu Johnson bắt đầu làm việc với BP trước, anh ta sẽ bị từ chối quyền truy cập vào dữ liệu của Exxon-Mobil.
LOMAC và hình mờ cao là hai cách tiếp cận động: LOMAC sửa đổi các đặc quyền của các quy trình khi chúng truy cập các mức dữ liệu dần dần và cấm ghi xuống các mức thấp hơn (các quy trình chuyển sang "bảo mật hàng đầu") và hình mờ cao sửa đổi các nhãn trên dữ liệu khi các cấp cao hơn của quy trình truy cập nó (dữ liệu di chuyển theo hướng "bảo mật hàng đầu").
Các mô hình Clark-Wilson rất cởi mở; chúng bao gồm các bất biến và các quy tắc để đảm bảo rằng mọi chuyển đổi trạng thái không vi phạm các bất biến. (Điều này có thể đơn giản như kế toán bút toán kép hoặc phức tạp như HIPPA .) Hãy nghĩ đến các giao dịch và ràng buộc cơ sở dữ liệu.
"Bảo mật máy tính: nghệ thuật và khoa học" của Matt Bishop chắc chắn đáng đọc nếu bạn muốn tìm hiểu sâu hơn về các mô hình đã xuất bản.
Tôi thích RBAC hơn . Mặc dù, bạn có thể thấy nó rất giống với ACL , nhưng chúng khác nhau về mặt ngữ nghĩa .