Bảo mật thực chất là kiểm soát truy xuất
Mục đích của bảo mật máy tính là bảo vệ máy tính chống lại việc cố ý sử dụng sai mục đích các chương trình và dữ liệu được lưu trữ trên máy tính. Nguyên lý kỹ thuật để bảo vệ thông tin của hầu hết các hệ thống là kiểm soát truy xuất (access control) [3].
Access control có thể được hình dung như là tình huống trong đó một chủ thể chủ động (subject) truy xuất một đối tượng bị động (object) với một phép truy xuất nào đó. Trong khi một bộ điều khiển tham chiếu (reference monitor) sẽ cho phép hoặc từ chối các yêu cầu truy xuất [1]. Mô hình cơ sở của access control được đưa ra bởi Lampson như hình
Trong các hệ thống máy tính, chủ thể là người sử dụng hay các tiến trình. Đối tượng là file, bộ nhớ, các thiết bị ngoại vi, các nút mạng... Các phép truy xuất điển hình là đọc (read), ghi (write), bổ sung (append) và thực thi (execute). Quyền thực hiện một phép truy xuất nhất định trên một đối tượng được gọi là quyền truy xuất (access right). Các luật bảo mật (security policy) được định nghĩa như một bộ điều phối quyền truy xuất cho các chủ thể.
Để biểu diễn kiểm soát truy xuất, trong tài liệu này chúng ta sử dụng các quy ước sau đây:
Nhìn chung, quyền truy xuất có thể hoàn toàn được định nghĩa đơn giản bằng một ma trận kiểm soát truy xuất.
M=(Mso)s∈S,o∈O size 12{M= \( M rSub { size 8{ ital "so"} } \) rSub { size 8{s in S,o in O} } } {} với Mso⊂A size 12{M rSub { size 8{ ital "so"} } subset A} {}.
Điểm vào Mso size 12{M rSub { size 8{ ital "so"} } } {} xác định tập các phép truy xuất chủ thể s có thể thực hiện trên đối tượng o. Nhưng trong thực tế, các ma trận kiểm soát truy xuất là một khái niệm trừu tượng và không thực sự phù hợp cho việc cài đặt trực tiếp nếu số lượng chủ thể và đối tượng lớn hoặc các tập này thay đổi thường xuyên [1]. Ví dụ sau đây (lấy từ [1]) sẽ chỉ ra cách thức các ma trận kiểm soát truy xuất được triển khai trong mô hình bảo mật Bell-LaPadula.
Ví dụ : Ma trậ ;n kiểm soát truy xuất
Chúng ta sử dụng một bảng để biểu diễn ma trận, trong đó hai người dùng Bob và Alice xử lý ba file, lần lượt là bill.doc, edit.exe và fun.com. Các quyền truy xuất trên các file này có thể được mô tả như sau:
Bây giờ, chúng ta có một ma trận kiểm soát truy xuất như sau:
Phần trước, chúng ta đã chỉ ra hạn chế của việc cài đặt trực tiếp ma trận kiểm soát truy xuất. Để giải quyết vấn đề này, có nhiều giải pháp khả thi đã được đề xuất. Hai trong số các giải pháp được thảo luận trong tài liệu này là khả năng và danh sách kiểm soát truy xuất.
Trong cách tiếp cận theo khả năng, các quyền truy xuất được kết hợp với các chủ thể hay nói cách khác mỗi chủ thể được cấp một khả năng, một thẻ nhớ xác định các quyền truy xuất [1]. Khả năng này tương ứng với các dòng của chủ thể trong ma trận kiểm soát truy xuất. Các quyền truy xuất trong Ví dụ 2.1 bây giờ có thể được biểu diễn theo quan điểm khả năng như sau:
Khả năng của Alice: edit.exe: execute; fun.com: execute, read
Khả năng của Bob: bill.doc: read, write; edit.exe: execute; fun.com: execute, read, write
Trong danh sách kiểm soát truy xuất (Access Control List - ACL), các quyền truy xuất được lưu trữ tại từng đối tượng [1]. Danh sách kiểm soát truy xuất vì vậy tương ứng với một cột trong ma trận kiểm soát truy xuất và cho biết ai có quyền truy xuất một đối tượng nào đó. Các quyền truy xuất của Ví dụ 2.1 có thể được mô tả theo danh sách kiểm soát truy xuất như sau:
ACL cho bill.doc Bob: read, write
ACL cho edit.exe Bob: execute; Alice: execute
ACL cho fun.com Bob: execute, read, write; Alice: execute, read
Tổng quát, có hai cách tiếp cận tới kiểm soát truy xuất: tùy ý (discretionary) và bắt buộc (mandatory). Các kỹ thuật kiểm soát truy xuất tùy ý dựa trên đặc quyền của người dùng và không mịn (coarse-grained). Các kỹ thuật kiểm soát truy xuất bắt buộc dựa trên đặc tả về các thành phần của phần mềm và mịn hơn (fine-grained) [4]. Chúng ta sẽ thấy kiểm soát truy xuất dựa trên các đặc tả về người dùng dường như không phù hợp trong các môi trường tính toán phân tán vì vậy kiểm soát truy xuất dựa trên đặc tả các thành phần được đề xuất cho trường hợp này. Lý do chính là: trong các môi trường tính toán phân tán, một người dùng có thể chạy nhiều thành phần cấu thành một ứng dụng. Đương nhiên, không phải tất cả các thành phần này có cùng mức độ tin cậy, vì vậy mã được thực thi nhân danh một người dùng không thể đơn giản thừa kế các quyền của người dùng đó, nhưng thay vào đó chúng ta có thể xem xét dựa trên các tính chất của thành phần [5].
Cách tiếp cận nổi bật nhất trong các nghiên cứu hiện tại về kiểm soát truy xuất bắt buộc và mịn là kiểm soát truy xuất theo miền (domain-type enforcement - DTE) và kiểm soát truy xuất theo vai trò (role-based access control - RBAC). Xu hướng phát triển này thực sự đã chi phối các kỹ thuật xử lý các thành phần không tin cậy. Chúng ta sẽ xem xét sự thay đổi này trong bài tiếp theo.
Trong phần sau, chúng tôi giới thiệu một số cách tiếp cận; bài tiếp sẽ mô tả một số định nghĩa hình thức theo ngữ cảnh của các mô hình bảo mật.
Tùy ý
Cơ sở của kiểm soát truy xuất t 9;y ý (DAC) là mỗi người dùng sở hữu các quyền truy xuất tới thông tin và có thể chuyển giao các quyền này cho những người dùng khác. Điều này có nghĩa là những người sử dụng đó được phép xác định các chính sách bảo mật riêng bằng cách cấp hoặc thu hồi các kiểu truy xuất có thể có đối với thông tin. Nói chung vẫn có một chính sách chung xem xét cách thức tạo ra các chính sách địa phương. Một chính sách như vậy định nghĩa cách một người dùng cấp quyền truy xuất cho người khác, nó còn mô tả những quyền truy xuất nào một số người dùng không được sở hữu.
Có nhiều mô hình bảo mật dựa trên kiểm soát truy xuất tùy ý đã được đề xuất (Ví dụ, mô hình HRU và BLP). Một chính sách DAC cụ thể định nghĩa một tập các quyền truy xuất cho trước – ví dụ, read, write, execute, write như trong mô hình BLP – và cách người dùng được phép cấp lại quyền – ví dụ, trao quyền dựa trên khái niệm sở hữu, đó là, người dùng chỉ có thể cấp hoặc thu hồi những đặc quyền đối với những đối tượng họ sở hữu/tạo ra.
Các mô hình bảo mật DAC tìm cách trả lời câu hỏi về vấn đề an toàn. Những vấn đề này xảy ra bất cứ khi nào việc trao quyền vi phạm chính sách bảo mật chung. Đây là nguyên tắc áp dụng đối với việc trao quyền truy xuất hơn là trao đổi thông tin. Vì vậy, tính bí mật của thông tin không được xem xét [3]. Một mô hình DAC thường có một hoặc một số đặc điểm sau đây [6].
Kiểm soát truy xuất bắt buộc (mandatory access control - MAC) bao gồm cả các khía cạnh người dùng không thể kiểm soát (hoặc thường là không được phép kiểm soát). Trong MAC, các đối tượng được gắn nhãn mô tả sự nhạy cảm của thông tin bên trong nó. MAC giới hạn truy xuất tới các đối tượng dựa trên sự nhạy cảm của chúng. Các chủ thể cần có giấy phép chính thức (được cấp phép) mới được truy xuất tới các đối tượng [3].
Nói chung, kỹ thuật kiểm soát truy xuất bắt buộc MAC bảo mật hơn DAC và đảm bảo sự cân đối giữa hiệu năng sử dụng và sự thuận tiện đối với người dùng. Kỹ thuật MAC cấp một mức bảo mật cho tất cả các thông tin, cấp một giấy phép bảo mật cho mỗi người dùng và bảo đảm rằng tất cả người dùng chỉ có truy xuất tới dữ liệu mà họ có giấy phép. MAC thường phù hợp với những hệ thống cực mật bao gồm các ứng dụng quân sự có nhiều mức bảo mật hoặc các ứng dụng dữ liệu quan trọng. Một mô hình MAC thường có một hoặc một số đặc điểm sau đây [6].
Trong kiểm soát truy xuất theo vai trò (role-based access control - RBAC), quyết định truy xuất được dựa trên các vai trò và trách nhiệm riêng rẽ bên trong tổ chức hoặc của cá nhân. Quá trình định nghĩa các vai trò thường dựa trên việc phân tích mục tiêu và cấu trúc của tổ chức nhưng kết nối tới các chính sách bảo mật.
Những khía cạnh sau đây thể hiện các đặc điểm của RBAC cấu thành một mô hình kiểm soát truy xuất [6].