Tải bản đầy đủ (.doc) (35 trang)

Đề cương cơ sở dữ liệu

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 (496.35 KB, 35 trang )

[Document title]

Chương 1: Tổng quan về an toàn thông tin trong CSDL
1.1. Các mối đe dọa có thể đến với CSDL là gì? (NTA)
Một hiểm hoạ có thể được xác định khi đối phương (người hoặc nhóm người) sd các kỹ thuật đặc
biệt để tiếp cận nhằm khám phá, sửa đổi trái phép thông tin quan trọng do hệ thống quản lý. Gồm đọc,
sửa, xoá dữ liệu trái phép:
Khai thác dữ liệu trái phép thông qua suy diễn thông tin được phép.
Sửa đổi dữ liệu trái phép.
Tấn công từ chối dịch vụ
Người dùng lạm dụng quyền
Tấn công leo thang đặc quyền
Các hiểm hoạ an toàn có thể được phân lớp, tuỳ theo cách thức xuất hiện của chúng, là hiểm hoạ
có chủ ý và vô ý (ngẫu nhiên).
Hiểm hoạ ngẫu nhiên: là các hiểm hoạ gây phá hỏng CSDL:
Các thảm hoạ thiên nhiên (động đất, hoả hoạn, lụt lội...) có thể phá hỏng các hệ thống pần
cứng, hệ thống lưu giữ số liệu, dẫn đến xâm pạm tính toàn vẹn và sẵn sàng của hệ thống.
Các lỗi pần cứng hay pần mềm có thể dẫn đến việc áp dụng các chính sách an toàn ko đúng,
từ đó cho pép truy nhập, đọc, sửa đổi dữ liệu trái phép, hoặc từ chối dịch vụ đối với
người dùng hợp pháp.
Các sai phạm vô ý do con người gây ra, như nhập dữ liệu đầu vào ko chính xác, hay sd các
ứng dụng ko đúng, hậu quả cũng tương tự như các nguyên nhân do lỗi phần mềm hay lỗi
kỹ thuật gây ra.
Hiểm họa cố ý: liên quan đến 2 lớp người dùng sau:
Ngf dùng được pép là ngf có thể lạm dụng quyền, sd vượt quá quyền hạn được pép của họ.
Đối phương là người, hay nhóm người truy nhập thông tin trái phép, có thể là những người
nằm ngoài tổ chức hay bên trong tổ chức. Họ tiến hành các hành vi phá hoại phần mềm
CSDL hay phần cứng của hệ thống, hoặc đọc ghi dữ liệu trái phép. Tấn công của họ có
thể là virus, Trojan Horse, Trapdoor.

1




[Document title]

1.2. Tìm hiểu các cấu hình xử lý CSDL(CSDL tập trung, phân tán, Client/Server). Các
cấu hình này được áp dụng như thế nào trong thực tế. (Chú ý: nêu rõ đặc điểm – bản chất
và vẽ hình minh họa). (TTA)
Mọi ứng dụng CSDL đều bao gồm 3 thành phần:
Thành phần xử lý ứng dụng
Thành phần phần mềm cơ sở dữ liệu (DBMS)
Cơ sở dữ liệu (DB)
Các mô hình xử lý CSDL phụ thuộc vào định vị của 3 thành phần trên, có 3 mô hình chính là:
Mô hình cơ sở dữ liệu tập trung (Centralized database model)
Mô hình cơ sở dữ liệu phân tán (Distributed database model)
Mô hình cơ sở dữ liệu Client/Server (Client/Server database model)
Mô hình cơ sở dữ liệu tập trung:
Cả 3 thành phần: xử lý ứng dụng, phần mềm CSDL và CSDL đều nằm trên một máy.
Ví dụ các ứng dụng trên một máy sd pần mềm CSDL Oracle, CSDL nằm trong máy đó.

Mô hình cơ sở dữ liệu phân tán:
CSDL nằm trên nhiều máy khác nhau. Khi máy chủ cần truy xuất dữ liệu, nó sẽ gọi đến các
máy này, và cần quá trình đồng bộ dữ liệu.
Mô hình này phù hợp cho các công ty có nhiều chi nhánh khác

Mô hình cơ sở dữ liệu Client/Server
Trong mô hình này CSDL nằm trên một máy gọi là Server. Các thành phần xử lý ứng dụng
nằm trên các máy Client.

2



[Document title]

3


[Document title]

1.3. Nêu rõ đặc điểm của kiểm soát truy nhập MAC và DAC trong CSDL, nêu sự khác
nhau giữa chúng. Ứng dụng 2 chính sách này trong thực tế các hệ quản trị như thế nào?
(Ngoan)
Kiểm soát truy nhập bắt buộc (MAC): hạn chế truy nhập của các chủ thể vào các đối tượng
bằng cách sd nhãn an toàn.
Nó áp dụng cho các thông tin có yêu cầu bảo vệ nghiêm ngặt trong các môi trường mà ở đó:
Dữ liệu hệ thống được phân loại
Người dùng được xác định rõ ràng
Nó cũng có thể được định nghĩa như là một chính sách kiểm soát luồng vì nó ngăn chặn dòng
thông tin chảy vào các đối tượng có mức phân loại thấp.
Chính sách bắt buộc quyết định việc truy nhập vào dữ liệu thông qua việc định nghĩa các lớp
an toàn của chủ thể và đối tượng. Hai đặc điểm của lớp an toàn là: mức pân loại phản ánh
thông tin có trong đó và loại (vùng ứng dụng) thông tin mà đối tượng đề cập tới.
Các mức phân loại là:
0 = không phân loại
1 = mật
2 = tuyệt mật
3 = tối mật
Mỗi đối tượng và chủ thể sẽ được gán 1 lớp an toàn (bao gồm mức nhạy cảm và tập hợp các
loại/vùng ứng dụng) . Phân loại chủ thể phản ánh mức độ tin cậy có thể được gán cho chủ
thể đó và vùng ứng dụng mà chủ thể đó làm việc. Phân loại đối tượng phán ánh mức độ
nhạy cảm của thông tin có trong đối tượng.

Một tập các tiên đề xác định các quan hệ được kiểm tra giữa lớp chủ thể và đối tượng, cho
phép các chủ thể truy nhập vào các đối tượng theo tiêu chuẩn an toàn. Mô hình:

Kiểm soát truy nhập tùy ý (DAC): cho phép lan truyền các quyền truy nhập từ chủ thể này đến
chủ thể khác.
4


[Document title]

Nó chỉ rõ những đặc quyền mà chủ thể có thể được thực hiện trên các đối tượng của hệ thống.
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 chỉ
được trao cho các chủ thể thỏa mãn các quy tắc trao quyền hiện có.
Nó dựa vào định danh người dùng có y/c truy nhập (việc phân quyền kiểm soát dựa vào quyền
sở hữu). quản trị tập trung và quản trị phi tập trung.
Nó cần một cơ chế trao quyền phức tạp hơn nhằm tránh mất quyền kiểm soát khi lan truyền
quyền từ người trao quyền.
Nhược điểm: cho phép đọc thông tin từ 1 đối tượng và chuyển đến 1 đối tượng khác mà có thể
được ghi bởi chủ thể, (có thể lợi dụng chủ thể để lấy đọc và lấy dữ liệu của chủ thể đó).

So sánh MAC và DAC:
MAC
- Có phân mức nhạy cảm: người dùng và
đối tượng được phân mức nhạy cảm rõ
ràng.
- Trao quyền và hủy bỏ quyền: do người
quản trị cao nhất nắm giữ và các chủ thể ko
thể trao quyền cho chủ thể khác (kiểu chính
sách trao quyền tập trung).


DAC
- Không có phân mức.
Chủ thể có thể cấp phát và thu hồi quyền
của chủ thể khác, đồng thời chủ thể vừa
được cấp quyền lại có thể trao quyền cho
các chủ thể khác (nếu được phép).

Trong thực thế, chúng được sử dụng kết hợp: MAC được dùng để kiểm soát trao quyền còn DAC
dùng để kiếm soát truy nhập trong các hệ quản trị

5


[Document title]

1.4. Thế nào là mô hình an toàn? Sự khác nhau giữa mô hình an toàn và chính sách an
toàn.Tìm hiểu mô hình an toàn là Bell-Lapadula. (Thùy)
Mô hình an toàn: là một mô hình khái niệm mức cao, độc lập phần mềm và xuất phát từ các đặc
tả yêu cầu của tổ chức để mô tả nhu cầu bảo vệ của một hệ thống.
Một mô hình an toàn bao gồm:
Chủ thể an toàn: là một thực thể chủ động (có thể là user hay các process…).
Đối tượng an toàn: là một thực thể thụ động (có thể là file, CSDL, khung nhìn…).
Hành động: là các thao tác mà chủ thể thực hiện lên đối tượng (các quyền).
Phân loại:
Mô hình an toàn tùy chọn: cho phép lan truyền các quyền lên đối tượng này từ chủ thể này
sang chủ thể khác. Đặc trưng của mô hình này được thể hiện thông qua mô hình ma trận
truy nhập. Mỗi phần tử trong ma trận thể hiện quyền truy nhập của chủ thể lên đối tượng.
Mô hình an toàn bắt buộc: các hành động mà chủ thể được phép thực hiện lên đối tượng nào
đó được xác định thông qua các nhãn an toàn. Đặc trưng của mô hình này được thể hiện
thông qua mô hình Bell-Lapadula.

Sự khác nhau giữa mô hình an toàn và chính sách an toàn:
Chính sách an toàn là một tập các hướng dẫn ở mức cao, định nghĩa các nguyên tắc, quy định
khi truy cập vào cơ sở dữ liệu.
Mô hình an toàn là mô hình khái niệm mức cao, thể hiện đầy đủ về các chính sách bảo vệ cho
cơ sở dữ liệu.
Mô hình an toàn Bell-Lapadula: là mô hình chính tắc đầu tiên về điều khiển luồng thông tin.
Mô hình thực hiện nhiệm vụ đảm bảo tính bí mật, là mô hình tĩnh với mức an toàn không thay đổi.
Người dùng được phân mức an toàn Clear(S), đối tượng được phân mức nhạy cảm Class(O).
Thuộc tính của mô hình:
Thuộc tính Not Read Up: một chủ thể S được phép truy nhập đọc đến một đối tượng O chỉ
khi: Clear(S) ≥ Class(O).
Thuộc tính Not Write Down: một chủ thể S được phép truy nhập ghi lên một đối tượng O
chỉ khi: Clear(S) ≤ Class(O).
Ưu: các nhãn an toàn của các chủ thể và đối tượng không bao giờ được thay đổi trong suốt thời
gian hoạt động của hệ thống.
Nhược: chỉ quan tâm đến tính bí mật, chưa chỉ ra cách thay đổi các quyền truy nhập cũng như
cách tạo, xóa các chủ thể, đối tượng.

6


[Document title]

1.5. Các bước để thiết kế cơ sở dữ liệu (mô tả). Học và viết được (chính xác) những câu
lệnh SQL cơ bản trong quá trình thiết kế CSDL. (NTA)
Các bước để thiết kế cơ sở dữ liệu:
Đặc tả vấn đề: tìm thực thể, ràng buộc và yêu cầu bài toán
Xây dựng mô hình E-R: vẽ mô hình gồm tập thực thể E (thuộc tính) và quan hệ (R)
Xây dựng mô hình CSDL logic: table, khóa, thuộc tính


Mô hình E-R
Thực thể
Thuộc tính
Thuộc tính định danh
Mqh

->

Mô hình CSDL quan hệ
Table
Cột
Khóa chính
Khóa ngoại

Các câu lệnh SQL cơ bản:
* * CREATE TABLE - tạo ra một bảng mới.
* ALTER TABLE - thay đổi cấu trúc của bảng.
* DROP TABLE - xoá một bảng.
* CREATE INDEX - tạo chỉ mục (khoá để tìm kiếm - search key).
* DROP INDEX - xoá chỉ mục đã được tạo.
Lệnh Alter:
* ALTER TABLE Employees
* ADD email varchar(40) NULL
Lệnh Drop sẽ hoàn toàn xóa table khỏi database nghĩa là cả định nghĩa của table và data bên
trong table đều biến mất (khác với lệnh Delete chỉ xóa data nhưng table vẫn tồn tại).
* DROP TABLE Employees
Lệnh Select
* SELECT EmpID, Name
* FROM Employees WHERE (EmpID = 10)
Lệnh Insert

* INSERT INTO Employees
* VALUES (101, ‘Lan', ‘HN’,’’)
Lệnh Update
* UPDATE Employees SET Name = ‘Minh'
* WHERE EmpID = 101
Lệnh Delete
* DELETE FROM Employees
* WHERE EmpID = 101

7


[Document title]

Chương 2: Các cơ chế an toàn cơ bản
2.1. Tìm hiểu và mô tả một số pp xác thực hiện nay (Username và password, CHAP)
(TTA)
Xác thực dựa trên User Name và Password:
Người dùng sẽ được xác thực nếu Username và Password nhập vào có trong CSDL.
Là phương pháp xác thực phổ biến do nó đơn giản và chi phí thấp.
Phương pháp này ko bảo mật vì Username và Password truyền dưới dạng rõ trên đường
truyền.
Một password đủ mạnh phải bao gồm:
Ít nhất 8 ký tự
Chứa ít nhất 3 trong 4 loại ký tự sau: Chữ thường, Chữ hoa, Chữ số, Ký tự đặc biệt
Không liên quan đến username, login name
Không phải là từ có nghĩa trong từ điển
Challenge Handshake Authentication Protocol (CHAP):
CHAP là mô hình xác thực dựa trên username và password.
Khi user muốn login, server đảm nhiệm vai trò xác thực sẽ gửi một thông điệp thử thách

(challenge message) trở lại máy tính User. Lúc này máy tính User sẽ phản hồi lại user name
và password được mã hóa dưới dạng băm. Server xác thực sẽ so sánh username và pass vừa
nhận được với danh sách trong CSDL, nếu trùng khớp, user sẽ được xác thực.

2.2. Địa chỉ rào là gì? Ưu nhược điểm. (Ngoan)
Địa chỉ rào: đánh dấu ranh giới giữa vùng nhớ dành cho hệ điều hành và vùng nhớ dành cho tiến
trình người dùng.
Cơ chế dựa vào địa chỉ rào:

Cơ chế này kiểm tra: mỗi địa chỉ do chương trình tạo ra có tham chiếu đến vùng cao của bộ nhớ
hay không? Địa chỉ (do chương trình người dùng tạo ra) được so sánh với giá trị của địa chỉ rào, nếu
lớn hơn thì đây là tham chiếu chính xác tới vùng nhớ người dùng, nếu nhỏ hơn thì tham chiếu này
không hợp lệ chương trình bị dừng và thông báo lỗi.
Ưu điểm: bảo vệ được vùng nhớ hệ điều hành tránh khỏi can thiệp của tiến trình người dùng.
Nhược điểm:
8


[Document title]

Trong hệ đơn chương trình: chỉ có một tiến trình người dùng thì sẽ gây lãng phí cpu
Trong hệ đã chương trình: địa chỉ rào không bảo vệ được vùng nhớ của người dùng này với
người dùng khác.

9


[Document title]

2.3. Tái định vị là gì, tái định vị động, tái định vị tĩnh có thể thực hiện trong những thời

điểm nào? (Thùy)
Tái định vị là việc chuyển đổi từ địa chỉ logic của chương trình sang địa chỉ vật lý. Với K là địa
chỉ rào, ta có:
Địa chỉ vật lý = K + địa chỉ logic
/////////////////////////////////////////////////////////////////////

2.4. Tìm hiểu 2 cơ chế phân trang, phân đoạn (bảng trang, bảng phân đoạn) và so sánh
chúng (chú ý phải vẽ hình minh họa). Thế nào là phân mảnh nội vi, phân mảnh ngoại vi,
cho ví dụ? (NTA)
Phân trang:
Bộ nhớ vật lý và logic được chia thành các page có kích thước bằng nhau.
Cơ chế chuyển đổi địa chỉ dùng bảng trang (page table) do hệ điều hành quản lý.
Cho phép chia sẻ các trang giữa các tiến trình
Một tiến trình có thể được nạp vào các trang không liên tục nhau.
Có phân mảnh nội vi.
Khi cần nạp một tiến trình vào bộ nhớ để xử lý, các trang của tiến trình sẽ được nạp vào những
khung trang còn trống. Một tiến trình có N trang sẽ yêu cầu N khung trang tự do.

Cơ chế phần cứng hỗ trợ chuyển đổi địa chỉ trong kỹ thuật phân trang:
HĐH quản lý trực tiếp bảng trang này.
Mỗi pần tử trong bảng trang chứa địa chỉ bắt đầu của một khung trang trong bộ nhớ vật lý.
Cơ chế chuyển đổi:

10


[Document title]

Mỗi địa chỉ logic do CPU sinh ra bao gồm 2 phần (Pn, P0) trong đó :
Pn là số hiệu trang (trong không gian địa chỉ logic) được dùng như chỉ mục đến phần tử

tương ứng trong bảng trang.
P0 là địa chỉ tương đối trong trang (trong không gian logic)
Giả sử Sp là kích thước của một trang (hay khung trang - thường là 2 16byte = 64 KB), khi đó
ta có địa chỉ vật lý tương ứng với địa chỉ logic trên là L= PA= Pn *Sp +P0
Kích thước của một trang do phần cứng quy định
Chia sẻ bộ nhớ trong cơ chế phân trang:
Ưu điểm của cơ chế phân trang là cho phép chia sẻ các trang giữa các tiến trình.
Sự chia sẻ được thể hiện ở chỗ có nhiều địa chỉ logic cùng ánh xạ đến một địa chỉ vật lý
duy nhất.
Có thể áp dụng kỹ thuật này để cho phép có nhiều tiến trình cùng chia sẻ các trang chứa
đoạn mã - code chung, với dữ liệu riêng của từng tiến trình đó

Phân đoạn:
Bộ nhớ vật lý và logic được chia thành các segment có kích thước khác nhau.
Cơ chế chuyển đổi địa chỉ dùng bảng phân đoạn ( segment table) do hệ điều hành quản lý.
Cho phép chia sẻ các phân đoạn giữa các tiến trình
Bộ nhớ tổ chức theo kiểu phân vùng động, các phân đoạn được cấp phát động
- Một tiến trình có thể được nạp vào các phân đoạn không liên tục nhau.
11


[Document title]

- Phân mảnh ngoại vi.
Cơ chế chuyển đổi địa chỉ:
Sử dụng bảng phân đoạn (segment table) để ánh xạ địa chỉ logic sang địa chỉ vật lý.
Mỗi thành pần trong bảng pân đoạn bao gồm 1 thanh ghi cơ sở và một thanh ghi giới hạn.
Thanh ghi cơ sở luu trữ địa chỉ vật lý nơi bắt đầu phân đoạn trong bộ nhớ vật lý.
Mỗi địa chỉ logic do CPU sinh ra là một bộ đôi (s, d):
s là số hiệu phân đoạn: dùng nh chỉ mục tới phần tử tơng ứng trong bảng phân đoạn.

d là địa chỉ tương đối trong phân đoạn: có giá trị trong khoảng từ 0 đến giới hạn chiều dài
của phân đoạn. Nếu địa chỉ này hợp lệ sẽ đợc cộng với giá trị chứa trong thanh ghi cơ sở
để phát sinh địa chỉ vật lý.

Chia sẻ phân đoạn:
Tương tự như trong cơ chế phân trang, cơ chế phân đoạn cũng cho phép chia sẻ các phân
đoạn giữa các tiến trình. Tuy nhiên các tiến trình có thể chia sẻ với nhau từng phần của
chương trình (ví dụ: thủ tục, hàm) không nhất thiết phải chia sẻ toàn bộ chương trình
như trong trờng hợp phân trang.

So sánh phân trang và phân đoạn (chắc 1 là hỏi cái trên. 2 là hỏi cái nay thôi):

12


[Document title]

13


[Document title]

Hiện tượng phân mảnh nội vi và ngoại vi
Phân mảnh ngoại vi: là hiện tượng khi các khối nhớ tự do (trong bộ nhớ vật lý) đều quá nhỏ,
không đủ để chứa một phân đoạn (trong bộ nhớ logic), phân mảnh ngoại vi xảy ra khi một
thuật toán phân bổ bộ nhớ năng động phân bổ một số bộ nhớ và một phần nhỏ còn lại trên
không thể được sử dụng hiệu quả. Nếu quá nhiều phân mảnh bên ngoài xảy ra, số lượng bộ
nhớ có thể sử dụng được giảm mạnh.
Ví dụ: Các tiến trình (trong không gian logic) có yêu cầu các phân đoạn với dung lượng ít
nhất là 25856 KB, nhưng tất cả các phân đoạn trống trong bộ nhớ vật lý đều nhỏ hơn

dung lượng này, do đó chúng sẽ bị lãng phí vì không thể dùng cho bất kỳ tiến trình nào.
Phân mảnh nội vi(internal fragmentation): là lãng phí không gian bên trong các khối cấp phát
bộ nhớ do hạn chế về kích thước cho phép của khối đã cấp phát. Cấp phát bộ nhớ có thể lớn
hơn một chút so với bộ nhớ yêu cầu, sự khác biệt kích thước bộ nhớ nội bộ để phân vùng
một, nhưng không được sử dụng.
Ví dụ: Tiến trình A yêu cầu 450KB, nhưng lại được cấp 460 KB, do đó lãng phí mất 10KB.

2.5. Nêu biện pháp bảo vệ bộ nhớ dựa vào thanh ghi (TTA)
Bằng cách bổ sung vào cấu trúc phần cứng của máy tính một thanh ghi cơ sở (base register) và
một thanh ghi giới hạn (limit register)
Thanh ghi cơ sở: chứa địa chỉ bắt đầu của vùng nhớ cấp phát cho tiến trình
Thanh ghi giới hạn: lưu kích thước của tiến trình

Thanh ghi tái định vị chứa giá trị địa chỉ vật lý nhỏ nhất; thanh ghi giới hạn chứa dãy các địa chỉ
logic. Với các thanh ghi tái định vị và giới hạn, mỗi địa chỉ logic phải ít hơn thanh ghi giới hạn; MMU
ánh xạ địa chỉ logic động bằng cách cộng giá trị trong thanh ghi tái định vị. Địa chỉ được tái định vị
này được gửi tới bộ nhớ.
Ưu điểm:
Nhờ sd thanh ghi cơ sở/giới hạn có thể bảo vệ vùng nhớ của tiến trình người dùng
Hỗ trợ tái định vị động: nhờ có thanh ghi cơ sở nên có thể di chuyển chương trình trong bộ nhớ
khi chúng xử lý bằng cách thay đổi giá trị trong thanh ghi cơ sở.
Nhược điểm: Chỉ bảo vệ được vùng nhớ bên trong của tiến trình => đoạn lệnh có thể bị ghi đè
14


[Document title]

Chương trình = 1 đoạn lệnh + 1 đoạn dữ liệu
Nếu 2 đoạn này nằm chung một vùng nhớ, giả sử trong 1 lệnh chứa một biến được gán cho
một giá trị nằm ngoài vùng dữ liệu


2.6. Tìm hiểu các mức bảo vệ của tiêu chuẩn DoD. (Ngoan)
Tiêu chuẩn với 4 phần phân cấp:
A1
B3
B2
B1
C2
C1
D

Kiểm chuẩn hình thức
Các miền an toàn
Bảo vệ có cấu trúc
Bảo vệ an toàn có gán nhãn
Kiểm soát truy cập
Bảo vệ tùy chọn
Bảo vệ tối thiểu

Phân loại các mức bảo vệ:
Mức D
Mức C

Lớp C1

Lớp C2

Mức B

Lớp B1


Lớp B2

Lớp B3

Mức A

Lớp A1

- Không có yêu cầu
- Kiểm soát DAC.
- Nhận dạng/ xác thực.
- Cung cấp tài liệu.
- Tính toàn vẹn của hệ thống.
- C1
- Lưu thông tin về User.
- Sd lại đối tượng.
- Kiểm toán SQL server.
- C2
- Nhãn an toàn đối tượng
- Kiểm soát MAC
- Oracle chạy trong unix
- Sybase chạy trong unix
- B1
- Nhãn an toàn chủ thể
- Nhãn có các thiết bị
- Quản lý cấu hình
- Sybase chạy với bare hardware
- Oracle
- B2

- Khôi phục tin cậy
- Chống truy nhập trái phép
- B3
- Phân phối tin cậy
- Sử dụng các kỹ thuật hình thức
- Phân phối tin cậy
- Oracle chạy trong GEMSOS
15


[Document title]

Chương 3 Thiết kế CSDL an toàn
3.1. Nêu sự khác nhau giữa hệ điều hành và hệ quản trị CSDL. (Thùy).
So sánh

DBMS

OS

Độ chi tiết của
đối tượng
Tương quan
ngữ nghĩa
trong DL

- Độ chi tiết tới từng bảng, hàng, cột, - Độ chi tiết ở mức tệp (file),

Siêu dữ liệu


cấu trúc của dữ liệu như: table, view,
rows…

Đối tượng
logic và vật lý
Multidatatypes
Đối tượng
động và tĩnh

thư mục, thiết bị.
các thực thể…
- Dữ liệu có ngữ nghĩa và liên quan với - Ko có tương quan ngữ nghĩa
nhau thông qua các qhệ ngữ nghĩa như:
data, time, context, history
- Siêu dữ liệu cung cấp thông tin về - Không có các siêu dữ liệu.

- Chứa các đối tượng logic như:
table,view, index… và chúng độc lập
với các đối tượng của OS.
- Có rất nhiều kiểu DL, do đó các
CSDL cũng yêu cầu nhiều chế độ truy
nhập như: chế độ thống kê, quản trị…
- Quản lý cả các đối tượng có thể được
tạo ra động như: views hay SQL query
và ko có các đối tượng thực tương tác.

16

- Chứa các đối tượng vật lý
như: file, memory, process…

- Có các truy cập vật lý như:
read, write, execute…
Quản lý các đối tượng
tĩnh và tương ứng với các đối
tượng thực.


[Document title]

3.2. Tìm hiểu mô hình cấp quyền System R (NTA)
System R là hệ CSDL qhệ đầu tiên của IBM năm 1970. Việc bảo vệ được thực hiện tại mức bảng.
Có 5 chế độ truy nhập vào một table:
Read: Đọc các bộ của bảng. User có truy nhập read có thể định nghĩa các views trên bảng đó.
Insert: Có thể chèn thêm các đối tượng với vào bảng
Delete: Có thể xóa các bộ có trong bảng.
Update: Có thể cập nhật các thông tin vào bảng.
Drop: Có thể xóa bảng.
System R hỗ trợ quản trị quyền phi tập trung: người tạo ra bảng có mọi đặc quyền trên bảng đó và
có thể grant/revoke (trao/thu hồi) quyền cho các user khác. Mỗi quyền là một bộ sau:
< s, p, t, ts, g, go >
s: chủ thể được gán quyền (grantee)
p: đặc quyền được gán (select, update...)
t: tên bảng, trên đó truy nhập được gán
ts: thời điểm quyền được gán.
g: người gán quyền (grantor)
go: grant option {yes,no}
Thu hồi quyền (Revoke privileges):
Nếu một user được gán quyền trên một bảng với GRANT OPTION user có thể gán và thu hồi
quyền cho các user khác với quyền user đó có.
Mô hình quyền System R sử dụng có chế thu hổi đệ quy: Nếu x thu hồi quyền của y, trong khi

đó x không gán quyền gì cho y trước đó, thì việc thu hồi quyền này bị loại bỏ.
Nhận xét:
Tham số go = yes: có nghĩa là s có GRANT OPTION nên có thể gán đặc quyền p cho các user
khác.
Tham số g (grantor) và ts (time) để có thể thực hiện các hoạt động revoke quyền sau này một
cách chính xác bằng cách kiểm tra một loạt các quyền đã được gán.
Mô hình này áp dụng cho bảng

17


[Document title]

3.3. Nêu ví dụ về đặc quyền hệ thống (System Prilvilege) và đặc quyền đối tượng (Object
Prilvilege), viết câu lệnh SQL cho các ví dụ đó. Nêu sự khác nhau giữa Admin option và
Grant option. (Ví dụ các câu lệnh SQL). (TTA)
Đặc quyền hệ thống: cho phép người sử dụng tạo những cơ sở dữ liệu mới, tạo các đối tượng
mới bên trong cơ sở dữ liệu có sẵn, hay sao lưu cơ sở dữ liệu hoặc nhật ký giao tác.
Một số đặc quyền hệ thống như:
CREATE DATABASE
CREATE TABLE
CREATE PROCEDURE
CREATE DEFAULT
CREATE RULE
CREATE VIEW
BACKUP DATABASE
BACKUP LOG
Ví dụ:
Create table SinhVien (
MaSV varchar(10) not null primary key,

Hoten varchar(30) not null,
GioiTinh varchar (20),
Quequan varchar(40),
MaLop
varchar(10),
FOREIGN KEY(MaLop) REFERENCES Lop(MaLop))
Đặc quyền đối tượng: cho phép người sử dụng, role thực hiện những hành động trên một đối
tượng cụ thể trong cơ sở dữ liệu.
Một số đặc quyền đối tượng:
SELECT: Xem dữ liệu trong bảng, View, hay cột
INSERT: Thêm dữ liệu vào bảng hoặc view.
UPDATE: Sửa đổi dữ liệu có sẵn trong bảng, view hoặc cột.
DELETE: Xoá dữ liệu trong bảng hoặc view
EXECUTE: Chạy một thủ tục được lưu
REFERENCE: Tham khảo một bảng bằng khoá ngoại
Ví dụ:
Select * from SinhVien where MaLop = ‘ML01’
Update SinhVien Set Hoten = ‘Nguyen Thi Minh’ where MaSV = ‘MS17’
Sự khác nhau giữa Admin option và Grant option:
Admin option là tùy chọn trong câu lệnh gán quyền hệ thống, cho phép chủ thể lan truyền
quyền đó cho chủ thể khác.
18


[Document title]

GrantAdmin option là tùy chọn trong câu lệnh gán quyền đối tượng, cho phép chủ thể lan
truyền quyền đó cho chủ thể khác.

3.4. Tìm hiểu đặc điểm cơ bản của kiến trúc chủ thể tin cậy (Trusted Subject) và kiến trúc

Woods Hole. Mô tả chi tiết 3 kiến trúc Woods Hole là: Integrity Lock, Kernelized,
Replicated, 3 kiến trúc này có trong những sản phẩm thương mại nào? (Ngoan)
Kiến trúc chủ thể tin cậy (trusted subject):

Sử dụng DBMS tin cậy và OS tin cậy.
Người dùng kết nối tới DBMS qua các phần mềm untrusted front end (vì họ kết nối qua
Internet).
Người dùng được phân loại mức nhạy cảm khác nhau: high, low, một mức DBMS khác hai
mức trên.
DBMS tin cậy hoạt động như chủ thể tin cậy của OS. Có nghĩa là nó được miễn một hoặc
nhiều khía cạnh nào đó trong chính sách an toàn của OS, miễn các kiếm soát bắt buộc.
DBMS và OS được ước tính để xác định mức bảo vệ. DBMS có trách nhiệm trong việc bảo
vệ đa mức các đối tượng của csdl.
Nhãn DBMS được gắn cho cả đối tượng và chủ thể không giống với mức high và low. Chỉ có
các chủ thể của DBMS mới có thể thực hiện chương trình và truy nhập dl với một nhãn
DBMS. Các chủ thể có nhãn DBMS được xem như là chủ thể tin cậy và được miễn kiểm
soát bắt buộc với OS.
Có trong các DBMS thương mại: oracle, sybase, informix, DEC,…

19


[Document title]

Kiến trúc wood hole: sd DBMS ko tin cậy cùng với một bộ lọc tin cậy và không quan tâm đến
OS có tin cậy hay không.

Chúng ta nhận thấy rằng một tập hợp các UFE tương tác với những người dùng hoạt động tại
các mức cho phép khác nhau, ở đây chúng được đơn giản hoá thành High và Low. Lần lượt,
UFE tương tác với một TFE (trusted front end), nó hoạt động như một bộ giám sát tham

chiếu. TFE tương tác với một UBED (untrusted back end DBMS), có trách nhiệm trong việc
truy nhập dữ liệu vào CSDL. (Back-end software: phần mềm này bao gồm phần mềm cơ sở
dữ liệu Client/Server và phần mềm mạng chạy trên máy đóng vai trò là Server cơ sở dữ
liệu).
Phần mềm untrusted front-end thực hiện các công việc xử lý trước và sau các câu truy vấn
(phân tích, tối ưu hóa, phép chiếu).
Phần mềm trusted front end (TFE) ở giữa thực thi các chức năng an toàn và bảo vệ nhiều mức,
vì vậy hoạt động như một TCB (Trusted Computing Base).
Kiến trúc integrity lock: được dùng để kiểm soát tính toàn vẹn và sự truy nhập cho cơ sở dữ
liệu.

20


[Document title]

TFE thực thi bảo vệ nhiều mức bằng cách gắn các nhãn an toàn vào các đối tượng CSDL
dưới dạng các tem – Stamps.
Một tem là một trường đặc biệt của một đối tượng, lưu thông tin về nhãn an toàn và các dữ
liệu điều khiển liên quan khác.
Tem là dạng mã hóa của các thông tin trên, sử dụng một kỹ thuật niêm phong mật mã gọi là
Integrity Lock.
TFE có nhiệm vụ tạo và kiểm tra các tem. Nó sử dụng mật mã khóa bí mật để tạo tem và giải
mã tem. Khóa bí mật chỉ có TFE biết.
Mô hình khóa toàn vẹn cơ bản:

Tính toàn vẹn nằm ở chỗ dl dù bị sửa đổi hay bị lỗi trên đường truyền thì kẻ tấn công không
thể tính ra được tem hợp lệ.
Kiến trúc này được sd trong mẫu thử nghiên cứu Mitre và DBMS TRUDATA thương mại.
Kiến trúc kernelized: sử dụng một OS tin cậy, có trách nhiệm đối với các truy nhập vật lý vào

dữ liệu (trong CSDL) và có trách nhiệm tuân theo bảo vệ bắt buộc. High User (người dùng làm việc ở
mức cao) tương tác với một High DBMS, thông qua một TFE, Low User (người dùng làm việc ở mức
thấp) tương tác với một Low DBMS cũng thông qua một TFE. Sau đó, các yêu cầu của họ được
chuyển cho OS, và OS lấy lại dữ liệu hợp lệ từ CSDL. Mô hình:
21


[Document title]

Các đối tượng (có các nhãn an toàn giống nhau) của CSDL được lưu giữ trong các đối tượng
của OS tin cậy (đóng vai trò như là các kho chứa đối tượng của csdl).. Vì vậy, OS tin cậy
tiến hành kiểm soát an toàn trên các đối tượng lưu giữ này, cần có các quá trình phân tách
và khôi phục quan hệ nhiều mức.
Qtr phân tách: thực hiện chuyển đổi 1 qhệ đa mức (đối tượng CSDL) thành 1 số qhệ đơn
mức, (chỉ chứa dữ liệu ở một mức an toàn nào đó), được lưu giữ trong các đối tượng OS.
Qtr phân tách: thực hiện chuyển đổi 1 qhệ đa mức (đối tượng CSDL) thành 1 số qhệ đơn
mức, (chỉ chứa dữ liệu ở một mức an toàn nào đó), được lưu giữ trong các đối tượng OS.
Các thuật toán phân tách và khôi phục phải được định nghĩa chính xác, nhằm đảm bảo tính
đúng đắn và hiệu quả của hệ thống.
Kiến trúc này được sử dụng trong mẫu thử nghiên cứu sae view và DBMS oracle thương mại.
Kiến trúc replicated: có trong mẫu thử NRL nhưng chưa có trong DBMS thương mại.

Dữ liệu mức thấp được lặp trong csdl
Người dùng mức thấp chỉ được phép truy nhập vào csdl độ ưu tiên thấp, không có khả năng
sửa đổi dl mức cao
Người dùng mức cao có thể xem và sửa đổi cả dl mức cao và mức thấp
Để tuân theo giải pháp này cần có các thuật toán đồng bộ an toàn để đảm bảo tính tương thích
lặp và chi phí lặp cũng rất lớn.
22



[Document title]

3.5. Các bước thiết kế một cơ sở dữ liệu an toàn. Yêu cầu: khi cần thiết kế 1 CSDL an toàn
phải đưa ra được các giải pháp an toàn cho bài toán đó! (Thùy)
Phân tích sơ bộ: tiến hành nghiên cứu tính khả thi của hệ thống an toàn để đưa ra được một tập
các đe dọa dễ xảy ra với hệ thống. Các đe dọa được sắp xếp theo quyền ưu tiên và đánh giá khả năng
áp dụng, tích hợp các sản phẩm thương mại an toàn với các cơ chế hiện tại.
Phân tích và đánh giá các rủi ro.
Ước lượng các chi phí thiết kế.
Phát triển các ứng dụng cụ thể nào và xác định quyền ưu tiên của chúng.
Các yêu cầu và chính sách an toàn:
Phân tích yêu cầu:
Phân tích giá trị: xác định mức nhạy cảm của DL.
Nhận dạng đe dọa và phân tích điểm yếu.
Phân tích và đánh giá rủi ro: khả năng xảy ra của các biến cố không mong muốn và tác
động của chúng.
Xác định yêu cầu.
Lựa chọn chính sách: định nghĩa các chế độ truy nhập (đọc, ghi) của chủ thể vào đối tượng của
hệ thống, đảm bảo các yêu cầu:
Tính bí mật, toàn vẹn, tin cậy.
Chia sẻ tối đa và đặc quyền tối thiểu.
Mức độ chi tiết của kiểm soát.
Các thuộc tính được sử dụng cho kiểm soát truy nhập.
Thiết kế khái niệm: thực hiện thiết kế một mô hình an toàn khái niệm
Mô hình an toàn khái niệm được định nghĩa thông qua:
Nhận dạng các chủ thể, đối tượng liên quan đến một quan điểm an toàn.
Nhận dạng các chế độ truy nhập được trao cho các chủ thể khác nhau trên các đối tượng
khác nhau, các ràng buộc truy nhập.
Phân tích việc thừa kế các quyền trên hệ thống, thông qua các đặc quyền trao/thu hồi

Yêu cầu của một mô hình an toàn khái niệm:
Đầy đủ: mô hình đáp ứng được tất cả các yêu cầu an toàn đã được xác định ban đầu.
Nhất quán: đảm bảo các yêu cầu không có sự xung đột hay dư thừa.
Thiết kế logic:
Chuyển từ mô hình khái niệm sang mô hình logic dựa trên một DBMS cụ thể.
Sử dụng một số kỹ thuật dựa vào câu truy vấn và khung nhìn để kiểm soát truy nhập.
Cần quan tâm các cơ chế mức OS và các chức năng mà các gói an toàn có thể đưa ra.
Thiết kế vật lý:
Quan tâm đến các chi tiết liên quan đến việc tổ chức lưu trữ và các chế độ thực hiện/tích hợp
các mô hình.
Thực hiện thiết kế chi tiết các cơ chế an toàn: thiết kế cấu trúc vật lý và các quy tắc truy nhập.
23


[Document title]

Chương 4 Cơ sở dữ liệu thống kê
4.1. Cơ sở dữ liệu thống kê (statistical database) là gì? (Viết được các câu lệnh SQL cho
các thống kê). Ứng dụng trong thực tế? (NTA)
Cơ sở dữ liệu thống kê (SDB)- Statistical database
CSDL thống kê (SDB) là một CSDL chứa các bản ghi nhạy cảm mô tả về các cá nhân nhưng
chỉ các câu truy vấn thống kê (như: COUNT, SUM, MEAN, MAX, MIN…) mới được trả
lời, ngoài các câu truy vấn này thì những truy vấn vào các dữ liệu riêng sẽ không được đáp
lại
COUNT:
Select count(*) from Nhanvien
(Trả lại tổng số lượng các bg trong table)
Select count(Luong) AS count_Luong from Nhanvien
Select count(Distinct Luong) from Nhanvien
(Trả lại số lượng các loại lương phân biệt nhau)

select count(*) from nhanvien where Luong<=1000
SUM:
Select SUM(Luong) as sum_Luong from Nhanvien
Select SUM(Distinct Luong) as sum_Luong from Nhanvien
Select Chucvu, Sum(Luong) from Nhanvien GROUP BY chucvu
Select HoTen, chucvu, Luong from nhanvien ORDER by chucvu
Compute SUM(Luong) by chucvu
(Thêm cột tổng lương với từng kiểu chức vụ)
MIN:
Select MIN(Luong) from Nhanvien
Select MIN(Distinct Luong) from Nhanvien
MAX
Select MAX(Distinct Luong) from Nhanvien
Select MAX(Luong) from Nhanvien
AVG:
Select AVG(Luong) AS avg_Luong from Nhanvien
Select AVG(Luong) AS avg_Luong from Nhanvien where Luong>1000
Select AVG(distinct Luong) AS avg_Luong from Nhanvien
Select chucvu, AVG(Luong) as avg_Luong, SUM(Luong) as sum_luong from Nhanvien
Group by chucvuOrder by chucvu
Ứng dụng của SDB (Statistical Database): CSDL điều tra dân số, CSDL về số người tử vong,
về kế hoạch kinh tế, CSDL thống kê về khám chữa bệnh, CSDL về các vụ tai nạn ô tô, CSDL về công
nhân, CSDL thống kê về tội phạm…
24


[Document title]

Ví dụ: Bệnh viện Bạch Mai lập Cơ sở dữ liệu thống kê số bệnh nhân đến khám hàng tháng.


4.2. Thế nào là một công thức đặc trưng? (TTA)
Công thức đặc trưng là 1 công thức logic, được ký hiệu bởi 1 chữ cái viết hoa (A,B,C,…), trong
đó các giá trị thuộc tính được kết hợp với nhau thông qua các toán tử Boolean như AND, OR, NOT
(∧,∨,¬)

4.3. Thế nào là thống kê nhạy cảm, cho ví dụ? Working knowledge và Supplementary
knowledge? (Ngoan)
Thống kê là nhạy cảm khi nó sd để khám phá dữ liệu bí mật liến quan đến các cá nhân trong
SDB.
Ví dụ: ta có bảng sau:
ID
01
02
03
04
05

Tên
Nam
Lan
Huệ
Minh
Quỳnh

Chức vụ
Nhân viên
Trưởng phòng
Nhân viên
Giám sát viên
Nhân viên


Phòng
Tài vụ
Kế hoạch
Kế hoạch
Maketing
Kế hoạch

Tuổi
29
33
27
24
24

Giới tính
F
M
M
F
f

Lương
3500
6200
4000
3600
2900

Khi kẻ tấn công thực hiện thống kê các cá nhân có mức lương trên 4000 được kết quả là 1 thì nó

có thể suy ra là mức lương cao chắc chắn là của người có chức vụ cao => có thể là trưởng phòng or
quản lý => có thể lộ thông tin cá nhân => đây là thống kê nhạy cảm.

4.4. Nêu cách thức tấn công trực tiếp. Nêu ví dụ. (Thùy)
Tấn công trực tiếp: là việc sử dụng các câu truy thông thường, không phải các truy vấn thống kê
để truy vấn, lấy thông tin trong CSDL.
Ví dụ: SELECT Ten FROM NhanVien Where Luong > 5.000;
Giải pháp: sử dụng bộ lọc để loại bỏ các truy vấn không hợp lệ với CSDL.

4.5. Nêu cách thức tấn công dựa vào đếm. Nêu ví dụ. (NTA)
Là loại tấn công bằng cách kết hợp giá trị đếm với giá trị tổng để thu được thông tin bí mật.
Ví dụ: COUNT ( ChucVu = “Trưởng phòng”, Phong= “Kế hoạch” ) = 1

=> SUM (Luong, (ChucVu= “Trưởng phòng”, Phong= “Kế hoạch”))

25


×