Tải bản đầy đủ (.pdf) (138 trang)

Bài giảng Bảo mật cơ sở dữ liệu: Discretionary Access Control - Trần Thị Kim Chi

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.14 MB, 138 trang )

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


×