Trường Đại học Công nghiệp TP. HCM
Khoa Công nghệ Thông tin
Discretionary Access Control
Giảng viên: Trần Thị Kim Chi
Discretionary Access Control
1.
2.
3.
4.
Giới thiệu Discretionary Access Control
Các loại quyền trong DAC
Ưu và nhược điểm của DAC
Các mô hình của DAC
Discretionary Access Control
Điều khiển truy cập tùy ý - Discretionary Access Control (DAC)
chỉ rõ những đặc quyền mà mỗi chủ thể có thể có được trên các đối
tượng và trên hệ thống (object prilvilege, system privilege)
Các yêu cầu truy nhập được kiểm tra, thông qua một cơ chế kiểm
soát tùy ý, truy nhập được trao cho các chủ thể thỏa mãn các quy tắc
cấp quyền của hệ thống.
Sức mạnh của DAC: Tính linh hoạt: là một lý do chính tại sao nó
được biết đến rộng rãi và được thực hiện trong các hệ thống điều
hành chủ đạo.
Người dùng có thể bảo vệ những gì thuộc về mình
Chủ của dữ liệu có toàn quyền trên dữ liệu đó
Chủ của dữ liệu có quyền định nghĩa các loại truy cập đọc/ghi/thực
thi và gán những quyền đó cho những người khác
Discretionary Access Control
DAC dựa vào định danh của người dùng có yêu cầu truy nhập
vào các đối tượng dữ liệu (file, thư mục,…)
Cơ chế này được gọi là tùy ý có nghĩa là:
Cho phép chủ thể có thể cấp quyền cho chủ thể khác truy cập các
đối tượng của nó
Người sử dụng có khả năng cấp phát hoặc thu hồi quyền truy
nhập trên một số đối tượng.
Việc phân quyền kiểm soát dựa vào quyền sở hữu (kiểu chính
sách cấp quyền dựa vào quyền sở hữu)
Discretionary Access Control
Discretionary Access Control
DAC cho phép đọc thông tin từ một đối tượng và chuyển đến
một đối tượng khác (đối tượng này có thể được ghi bởi 1 chủ
thể)
Tạo ra sơ hở để cho tấn công Trojan sao chép thông tin từ 1
đối tượng đến 1 đối tượng khác
Ví dụ: UserA là chủ sở hữu tableA, anh ta tạo ra khung nhìn
ViewA từ bảng này (sao chép thông tin). UserA không cho
phép UserB được đọc tableA nhưng lại vô tình gán quyền
Write cho UserB trên ViewA.
Như vậy, UserB có thể đọc thông tin tableA dù không đủ
quyền trên bảng này.
Discretionary Access Control
Một mô hình DAC thường một số đặc điểm sau đây:
Người sở hữu dữ liệu có thể cấp quyền sở hữu thông tin cho những người
khác
Người sở hữu dữ liệu có thể xác định kiểu truy xuất để cấp cho những
người khác (read, write, copy...)
Hệ thống cảnh báo hoặc giới hạn truy xuất của người dùng trong trường
hợp yêu cầu truy xuất tới tài nguyên hoặc đối tượng không đáp ứng quá
trình xác thực (thường là một số lần)
Một phần mềm tăng cường (add-on) hoặc bổ sung (plug-in) áp dụng cho
một máy khách để ngăn ngừa người dùng sao chép thông tin
Người dùng không có quyền truy xuất thông tin không thể xác định được
các đặc điểm của nó (kích thước, tên, đường dẫn của file...)
Việc truy xuất tới thông tin được xác định dựa trên quyền hợp pháp mô tả
trong danh sách kiểm soát truy xuất theo danh tính người dùng và nhóm
Discretionary Access Control
Cách thức cơ bản điều khiển truy cập của DAC trong
một hệ CSDL là dựa vào 2 thao tác cơ bản:
Gán quyền (granting privileges): Cho phép người dùng khác
được quyền truy cập lên đối tượng do mình làm chủ. Tuy
nhiên, trong DAC có thể lan truyền các quyền.
Ví dụ: trong Oracle và SQL Server có GRANT OPTION,
ADMIN OPTION
Thu hồi quyền (revoking privileges): thu hồi lại quyền đã
gán cho người dùng khác
Ví dụ: 1 user có GRANT OPTION, anh ta có thể thu hồi
quyền đã truyền cho người khác
Discretionary Access Control
Các qui tắc trao quyền
Các yêu cầu và chính sách an toàn do tổ chức đưa ra, người
trao quyền có nhiệm vụ chuyển các yêu cầu này thành các
quy tắc trao quyền
Qui tắc trao quyền: biểu diễn đúng với môi trường phần
mềm/phần cứng bảo vệ.
Các loại quyền trong DAC
Quyền ở cấp tài khoản/hệ thống (account/system level):
là những quyền độc lập với các đối tượng trong hệ CSDL.
Những quyền này do người quản trị hệ thống định nghĩa và
gán cho mỗi người dùng
Quyền ở cấp đối tượng(object level): là những quyền trên
mỗi đối tượng trong hệ CSDL. Người dùng tạo ra đối tượng
nào thì sẽ có tất cả các quyền trên đối tượng đó.
Các loại quyền trong DAC
Quyền ở cấp tài khoản/hệ thống: gồm có các quyền
CREATE SCHEMA: tạo lược đồ CSDL
CREATE TABLE: tạo bảng dữ liệu/ quan hệ (relation)
CREATE VIEW: tạo view
ALTER: chỉnh sửa các schema/relation
DROP: xóa relation/view
MODIFY: quyền thêm/ xóa/ sửa các hàng dữ liệu
(record/ tuple)
SELECT: quyền thực hiện câu truy vấn thông tin trong
CSDL
Các loại quyền trong DAC
Quyền ở cấp đối tượng: gồm các đối tượng dữ liệu và các
loại truy cập mà người dùng được phép thực hiện trên đối
tượng đó.
Các đối tượng dữ liệu này gồm: các relation hoặc view
Các thao tác gồm:
INSERT: thêm dữ liệu vào relation
UPDATE: cập nhật/chỉnh sửa dữ liệu trong relation
DELETE: xóa dữ liệu trong relation
REFERENCE: tham khảo đến dữ liệu trong relation
Một số hình an toàn tùy ý (DAC)
Mô hình ma trận truy nhập (Lampson 1971; GrahamDenning 1973, Harrision 1976)
Mô hình Take-Grant(Jones 1976)
Mô hình Action-Entity(Bussolati 1983), Fugini-Martelle
1984)
Mô hình của Wood 1979 như kiến trúc ANSI/SpARC để
cấp quyền trong các CSDL quan hệ lược đồ - nhiều mức,…
Trường Đại học Công nghiệp TP. HCM
Khoa Công nghệ Thông tin
Nội Dung
Giới thiệu Access Control Matrix Model (ACM)
Cấu trúc của ACM
Qui tắc hoạt động của ACM
Các giải pháp cài đặt mô hình ACM
Ưu và nhược điểm của ACM
Bài tập
11/09/2015
15
Giới Thiệu Access Control Matrix Model
(ACM)
Mô hình được đề nghị bởi Lampson (1971), và được
Graham và Denning mở rộng (1972).
1976, Harrison và các cộng sự đã phát triển mô hình
ma trận truy cập một cách có hệ thống.
Access Control Matrix (ACM) là một công cụ cơ
bản để thể hiện trạng thái bảo vệ hệ thống một cách
chi tiết và chính xác
ACM là mô hình bảo mật được dùng cho cả cấp hệ
điều hành và cấp cơ sở dữ liệu.
Cấu trúc mô hình ACM
Ma trận điều khiển truy cập ACM là ma trận giữa
các chủ thể S(subject), các đối tượng O(object) và
các quyền tương ứng giữa của chủ thể với đối
tượng.
Cấu trúc mô hình ACM
Trạng thái định quyền (Authorization state)
Q = (S, O, A)
S(Subjects): là tập các chủ thể - các thực thể chủ
động (active entity) sử dụng các nguồn tài nguyên
của hệ thống.
Ví dụ: người dùng, nhóm các người dùng (group),
quá trình (process), chương trình (programs)
Cấu trúc mô hình ACM
Trạng thái định quyền:
Q = (S, O, A)
O(Objects): là tập các đối tượng - các thực thể cần
được bảo vệ, bao gồm các thực thể bị động (passive
object) như tài nguyên hệ thống và các chủ thể
Ví dụ: ở cấp hệ điều hành: file, bộ nhớ, segments,
quá trình ở cấp CSDL: CSDL, quan hệ, thuộc tính,
hàng, trường dữ liệu của hàng
Cấu trúc mô hình ACM
Trạng thái định quyền
Q = (S, O, A)
A(Access matrix): là
ma trận truy cập.
Hàng: các chủ thể
Cột: các đối tượng
Mỗi ô A[s,o] chứa các
quyền truy cập mà chủ thể
s được quyền làm trên đối
tượng o.
Các quyền truy cập: thêm,
xóa, sửa, đọc, thực thi,…
Cấu trúc mô hình ACM
Ví dụ
S
Lan
O
File 1
File 2
Read
Execute
Tuấn
Read
Execute
Program 1
Read
Minh
Vương
File 3
Read,
Write
Execute
Read
Write
Qui tắc hoạt động của ACM
Ví dụ 1: Hệ thống có 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:
Bob có quyền đọc hoặc ghi file Bill.doc trong khi Alice không có
quyền truy xuất.
Bob và Alice chỉ có quyền thực thi file Edit.exe.
Bob và Alice có quyền thực thi và quyền đọc file Fun.com nhưng chỉ
có Bob có quyền ghi lên file này
S
O
Bill.doc
Alice
Bob
Read, Write
Edit.exe
Fun.com
Execute
Execute, Read
Execute
Execute, Read, Write
Qui tắc hoạt động của ACM
Ví dụ 2: Xét một thiết bị tính toán đơn giản của một hệ điều hành
nhỏ, trong đó chỉ có 2 chủ thể là tiến trình p và q và 2 tệp dữ liệu f và
g. Các quyền có thể là đọc (Read), viết sửa (Write), gọi thực hiện
(eXecute), ghi thêm (Append) và làm chủ (Own).
Giải
thích
ma
trận
này
S
O
f
g
p
q
p
rwo
r
rwxo
w
q
o
ro
r
rwxo
Tại A[p,f]= “rwo”, cho thấy tiến trình p là chủ sở hữu dữ liệu f đồng thời có
đủ quyền đọc và viết
f. A[p,q]=”w” cho thấy tiến trình p có thể gửi tin (viết) cho tiến trình q, còn
q có quyền nhận tin (đọc) từ p vì A[q,p] = “r”.
Mỗi tiến trình có đầy đủ quyền đối với chính mình (“rwxo”)
Qui tắc hoạt động của ACM
Các thao tác sửa đổi nội dung ma trận được phép thực hiện bao
gồm: sao chép (copy), chuyển quyền (transfer), quyền sở hữu
(owner)
Copy (R*): nếu A[i,j]=R* thì có thể sao chép quyền sang một
phần tử A[k,j] khác nghĩa là mở rộng quyền truy xuất R trên cùng
đối tượng O
Tranfer (R+): nếu A[i,j]=R+ thì có thể chuyển quyền của nó sang
một phần tử A[k,j] khác nghĩa là chuyển quyền truy xuất R+ trên
đối tượng O
Owner: nếu A[i,j]=o thì có thề thêm hay xóa các quyền truy xuất
trong bất kỳ phần tử nào trên cột j
Control: nếu A[i,j]=control thì có thể xóa bất kỳ quyền truy xuất
nào trong phần tử trên dòng j
Qui tắc hoạt động của ACM
Ví dụ
Subject