1. Trang chủ
  2. » Công Nghệ Thông Tin

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

130 109 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 130
Dung lượng 2,93 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng Bảo mật cơ sở dữ liệu - Chương 3: Bảo mật theo cơ chế MAC cung cấp cho người học các kiến thức: Giới thiệu về điều khiển truy cập bắt buộc, mô hình điều khiển truy cập bắt buộc, MAC trong các hệ QTCSDL thông dụng, Case study - Oracle Label Security Multi-Level security. Mời các bạn cùng tham khảo.

Trang 1

Bảo mật theo cơ chế MAC

Mandatory Access Control Models

Trang 2

Nội dung

1 Giới thiệu về điểu khiển truy cập bắt buộc

2 Mô hình điểu khiển truy cập bắt buộc

3 MAC trong các hệ QTCSDL thông dụng

4 Case study: Oracle Label Security Multi-Level

security

Trang 3

Vấn đề: DAC và Trojan Horse

Khuyết điểm của DAC: cho phép dòng thông tin từ đối

tượng này truyền sang đối tượng khác bằng cách đọc thôngtin lên từ một đối tượng rồi ghi thông tin đó xuống đối

tượng khác

Ví dụ: Bob không được phép xem file A, nên anh ta nhờ

Alice (đồng lõa với Bob) copy nội dùng của file A sang file

B (Bob có thể xem được file B)

Giả sử các người dùng đều đáng tin cậy và không làm việcnhư trên thì cũng có thể một Trojan Horses sẽ làm việc saochép thông tin từ đối tượng này sang đối tượng khác

Trang 4

DAC và điều khiển dòng thông tin

Ví dụ Trojan Horses:

Trang 5

DAC và điều khiển dòng thông tin

Ví dụ Trojan Horses:

Trang 6

DAC và điều khiển dòng thông tin

Ví dụ Trojan Horses:

Trang 7

DAC và điều khiển dòng thông tin

Ví dụ Trojan Horses:

Trang 8

DAC và điều khiển dòng thông tin

Ví dụ Trojan Horses:

Trang 9

Giới thiệu Mandatory Access Control MAC

-MAC được dùng để bảo vệ một khối lượng dữ liệu lớn cần được bảo mật cao trong một môi trường

mà các dữ liệu và người dùng đều có thể được

phân loại rõ ràng.

Khác DAC, MAC không cho phép các cá nhân chủ thể toàn quyền quyết định sự truy cập cho mỗi đối tượng mà cưỡng chế sự truy nhập tất cả các đối tượng theo một chính sách chung, được qui định bởi một cơ chế phân loại cấp bậc.

Là cơ chế để hiện thực mô hình bảo mật nhiều mức (multiple level).

Trang 10

Điều khiển truy cập bắt buộc (Mandatory Access MAC)

Control-– Là mô hình điều khiển truy cập nghiêm ngặt nhất

– Thường bắt gặp trong các thiết lập của quân đội

– Hai thành phần: Nhãn và Cấp độ

Mô hình MAC cấp quyền bằng cách đối chiếu nhãn của đối tượng với nhãn của chủ thể

– Nhãn cho biết cấp độ quyền hạn

Để xác định có mở một file hay không:

– So sánh nhãn của đối tượng với nhãn của chủ thể

– Chủ thể phải có cấp độ tương đương hoặc cao hơn: đối tượng được cấp phép truy cập

Giới thiệu Mandatory Access Control

Trang 11

Giới thiệu Mandatory Access Control

Các chủ thể được phân loại và được gán nhãn cấp bậc, thể hiện tầm quan trọng (đặc quyền) cao hay thấp trong hệ

thống (xét trên phương diện an toàn bảo mật), và các đối tượng cũng được phân loại và gán nhãn thể hiện tính mật, tức là cần bảo vệ, cao hay thấp

Cấp bậc của chủ thể (security class) phải đủ cao thì mới

có thể truy nhập được vào một đối tượng có một nhãn bảo mật mức nào đó (security clearance)

Thông thường, Cấp của chủ thể cần phải không thấp hơn Mức bảo mật của đối tượng.

Trang 12

Giới thiệu Mandatory Access Control

Mọi chủ thể và đối tượng trong hệ thống đều được gắn với 1 lớp an toàn

Lớp an toàn = (Mức nhạy cảm, vùng ứng dụng)

– Thành phần của mức nhạy cảm là thành phần phân cấp– Thành phần của vùng ứng dụng là thành phần khôngphân cấp

Trang 13

Mandatory Access Control

Trang 14

Các lớp bảo mật

Người dùng và dữ liệu được phân loại dựa theo các lớp bảo mật (security classes)

Phân loại người dùng dựa theo mức độ tin cậy và

lĩnh vực hoạt động của người dùng

Phân loại dữ liệu dựa theo mức độ nhạy cảm và

lĩnh vực của dữ liệu

Lớp bảo mật có thể được phân loại theo

– Mức bảo mật (Classification level)

– Lĩnh vực (Category)

Trang 15

Dữ liệu ở cấp càng cao thì càng nhạy cảm và cần được bảo

vệ nhất

Trang 16

Mandatory Access Control

Ví dụ trong quân sự:

Lớp an toàn = (Mức nhạy cảm, Vùng ứng dụng) Mức nhạy cảm:

– 0 = Không phân loại (U – Unclassified)

– 1 = Mật (C – Confidential)

– 2 = Tuyệt mật (S – Secret)

– 3 = Tối mật (TS – Top Secret)

Vùng ứng dụng: Hạt nhân – Nati – Cơ quan tình báo

Trang 17

Mandatory Access Control

Trang 18

Lĩnh vực

Phân loại người dùng và dữ liệu theo lĩnh vực hoạt độngcủa hệ thống, hoặc theo từng phòng ban trong một tổ chức

Ví dụ: Một công ty có 3 phòng ban là: Phòng kinh doanh,

phòng sản xuất và phòng phân phối Như vậy thì các ngườidùng và dữ liệu trong công ty này có thể được phân loạitheo lĩnh vực dựa theo 3 phòng ban này

Trang 19

Lĩnh vực

Ví dụ 2: Trong một hệ thống quản lý thông tin và điểm số

của một khoa đại học, có 2 cấp/mức bảo mật làconfidential (mật) và public (công khai), đồng thời có 2 thểloại thông tin là studentinfo (thông tin sinh viên) và dept-info (thông tin về khoa/viện) Như vậy có thể có các nhãnnhư:

label(Joe)=(confidential,{student-info})label(grades)=(confidential,{student-info})

Dễ thấy luật truy nhập sẽ cho phép Joe được đọc dữ liệugrades vì nhãn của Joe không hề thua kém nhãn củagrades

Trang 20

• (2, Sales) ≤ (3, (Sales, Production))

• (2, (Sales, Production)) ≤ (3, Sales)

Trang 21

Lớp bảo mật

Qui tắc: (A, C) dom (A’, C’) iff A’ ≤ A and C’C

Examples

(Top Secret, {NUC, ASI}) dom (Secret, {NUC})

(Secret, {NUC, EUR}) dom (Confidential,{NUC, EUR}) (Top Secret, {NUC, EUR}) dom (Confidential, {EUR}) (Secret, {NUC, EUR}) dom (Confidential,{NUC, EUR})

Trang 22

Lớp bảo mật

Tập con

Trang 23

Tính chất của quan hệ đa mức

Tính chất đọc và ghi

Tính toàn vẹn thực thể (Entity integrity)

Tính toàn vẹn giá trị null (Null integrity)

Tính đa thể hiện (Polyinstantiation)

Không đọc lên (No read up)

Không ghi xuống (No write down)

Tính chất cơ bản của MAC

Trang 24

Các tính chất của điều khiển truy

– Không đọc lên (No read-up)

Tính chất sao (Star property or *-property): Một chủ thể s

không được phép GHI lên đối tượng o, trừ khi:

class(s) ≤ class(o)

– Không ghi xuống (No write-down)

Những tính chất này nhằm đảm bảo rằng không có dòng

thông tin nào có thể đi từ lớp cao xuống lớp thấp!!!

Trang 25

Các tính chất của điều khiển truy cập bắt buộc

Trang 26

Các tính chất của điều khiển truy cập bắt buộc

Tại sao có tính chất *

Trang 27

Các tính chất của điều khiển truy cập bắt buộc

Tại sao có tính chất *

Trang 28

Các tính chất của điều khiển truy cập bắt buộc

Tại sao có tính chất *

Trang 29

Tính chất *

Tính chất *: ngăn chặn một chủ thể ở lớp bảo mật cao gửi

thông điệp hợp lệ đến những chủ thể ở lớp bảo mật thấp hơn

Trang 30

Quan hệ đa mức

Quan hệ đa mức (Multilevel relation): MAC + mô hình

CSDL quan hệ

Các đối tượng dữ liệu: thuộc tính và hàng

Mỗi thuộc tính Ai được gắn với 1 thuộc tính mức bảo mật

Ci

Mỗi hàng có 1 thuộc tính mức bảo mật chung cho hàng đó

TC TC sẽ mang giá trị cao nhất của các Ci trong hàng đó

R(A1, C1, A2, C2, …, An, Cn, TC)

Khóa biểu kiến (apparent key-AK) của một quan hệ đa mức

là tập các thuộc tính mà sẽ tạo thành khóa chính như trong một quan hệ bình thường (single-level relation) (bỏ các

thuộc tính mức bảo mật)

Trang 31

Quan hệ đa mức

Ví dụ

Trang 32

Quan hệ đa mức

Phụ thuộc hàm (Functional Dependency):

Phụ thuộc hàm (FD) f: X  Y trên lược đồ quan hệ R nếu

và chỉ nếu mỗi giá trị X trong r có quan hệ chính xác với 1giá trị Y trong r Nghĩa là bất kể khi nào 2 bộ của r có cùnggiá trị X thì cũng có cùng giá trị Y

t1, t2r(R): t1[X] = t2[X]t1[Y]= t2[Y]

 X là vế trái, ký hiệu left(f) hay còn gọi là determinant

 Y là vế phải, ký hiệu right(f) hay còn gọi là dependent

Trang 33

Quan hệ đa mức

Primary Keys (thực thể sở hữu toàn vẹn)

Khóa chính xác định duy nhất mỗi tuple trong quan hệMột khóa chính không thể chứa các thuộc tính với giá trịnull

Một mối quan hệ không thể chứa hai bộ dữ liệu có giá trị của khóa chính trùng nhau

Trang 34

Quan hệ đa mức

Trang 35

Những chủ thể (người dùng) ở các mức bảo mật khác nhau sẽ thấy những dữ liệu khác nhau trong cùng một

quan hệ đa mức

Trang 36

Quan hệ đa mức

SELECT * FROM EMPLOYEE

Kết quả trả về cho người dùng ở mức bảo mật S

Trang 37

Quan hệ đa mức

SELECT * FROM EMPLOYEE

Kết quả trả về cho người dùng ở mức bảo mật C

Trang 38

Quan hệ đa mức

SELECT * FROM EMPLOYEE

Kết quả trả về cho người dùng ở mức bảo mật U

Trang 39

Quan hệ đa mức

SELECT * FROM EMPLOYEE (Cho biết kết quả mức U và S)

Kết quả trả về cho người dùng ở mức bảo mật U

Kết quả trả về cho người dùng ở mức bảo mật S

Trang 40

Tính chất của quan hệ đa mức

Tính toàn vẹn thực thể (Entity integrity): Tất cả các thuộc

tính nằm trong khóa biểu kiến (apparent key) không được

null và phải ở cùng mức bảo mật trong mỗi hàng.

Tất cả các thuộc tính khác không thuộc khóa AK trong cùng một hàng phải có mức bảo mật lớn hơn hoặc bằng mức bảo mật của khóa biểu kiến.

Trang 41

Tính chất của quan hệ đa mức

Ví dụ:

Trang 42

Tính chất của quan hệ đa mức

Tính toàn vẹn giá trị null (Null integrity): Tất cả các giá

trị null đều được phân loại ở mức bảo mật bằng với mức

bảo mật của khóa biểu kiến trong cùng một hàng

Ràng buộc này đảm bảo sự thống nhất giữa các thể hiện khác nhau (instance) của cùng một quan hệ khi nó xuất hiện ở các mức bảo mật khác nhau

Trang 43

Tính chất của quan hệ đa mức

Ví dụ:

Trang 44

Tính chất của quan hệ đa mức

Tính đa thể hiện (Polyinstantiation): xảy ra khi có

những hàng có cùng khóa biểu kiến nhưng mang nhữnggiá trị khác nhau đối với những người dùng ở các mứcbảo mật khác nhau (Nghĩa là khóa biểu kiến có thể cónhững hàng có cùng giá trị nhưng tùy theo mức bảo mậtcủa người dùng mà có thể nhìn thấy dữ liệu khác nhauHai tình huống:

– Một người sử dụng thấp chèn dữ liệu vào nơi đã có chứa

dữ liệu ở cấp cao hơn hoặc người đó không nhìn thấy dữ liệu ở cấp cao (invisible polyinstantiation)

– Một người sử dụng cao chèn dữ liệu vào nơi đã có chứa dữ liệu ở một mức độ thấp hơn, người dùng nhìn thấy được

dữ liệu này (visible polyinstantiation)

Trang 45

Tính chất của quan hệ đa mức

Tính đa thể hiện (Polyinstantiation): cho biết kết quả

của mỗi người dùng ở các mức U, C, S khi dung lệnh

SELECT * FROM EMPLOYEES

Trang 46

Tính chất của quan hệ đa mức

Ví dụ về tính đa thể hiện

SELECT * FROM EMPLOYEE

Kết quả trả về cho người dùng ở mức bảo mật C

Trang 47

Tính chất của quan hệ đa mức

Thực hiện câu lệnh hay báo lỗi?

Trang 48

Tính chất của quan hệ đa mức

Ví dụ về tính đa thể hiện

Kết quả của câu truy vấn:

– Name là khóa biểu kiến trong quan hệ Employee – Tồn tại 2 hàng có cùng khóa biểu kiến

Trang 49

Tính chất của quan hệ đa mức

ML relations – keys and polyinstantiation

What if a U user wants to insert a tuple with vessel =

Avenger?

If insert is allowed – will there be any problems?

– We will have 2 Avengers

– Duplicate primary key - violates unique constraints

If we reject the insert – what will happen?

– Covert channel – U user knows that there is another record with same key value that is not visible to him

Trang 50

Tính chất của quan hệ đa mức

ML relations – invisible and polyinstantiation

Primary key as an existing tuple at a higher level; theDBMS has three choices:

1 Thông báo cho người dùng biết rằng một bộ với khóa

chính cùng tồn tại ở mức độ cao hơn và từ chối sựchènsignaling channel (kênh báo tín hiệu)

2 Thay thế các tuple hiện ở mức độ cao hơn với các tuple

mới được chèn ở mức thấp cho phép người sử dụngthấp ghi đè dữ liệu mà anh ta không thể nhìn thấy và do

đó ảnh hưởng đến tính toàn vẹn

3 Chèn các tuple mới ở cấp độ thấp mà không sửa đổi các

tuple hiện ở cấp cao hơn tức là đa thể hiện(polyinstantiate) thực thể

Trang 51

Tính chất của quan hệ đa mức

ML relations – invisible and polyinstantiation

Trang 52

Tính chất của quan hệ đa mức

ML relations – visible and polyinstantiation

Giả sử một người dùng cao yêu cầu chèn một bộ với khóa chính giống như một tuple hiện ở cấp thấp hơn; DBMS có ba lựa chọn:

Thông báo cho người dùng biết rằng một bộ với khóa chính cùng tồn tại và từ chối sự chèn không giới thiệu một kênh báo hiệu; Tuy nhiên, từ chối kết quả thêm trong DoS

Thay thế các tuple hiện ở cấp thấp hơn với các tuple mới được chèn ở cấp độ cao sẽ cho kết quả trong việc loại bỏ một bộ ở cấp thấp hơn gọi là kênh báo hiệu

Chèn các tuple mới ở mức cao mà không sửa đổi các tuple hiện ở cấp thấp hơn (tức là đa thể hiện thực thể)

Trang 53

Tính chất của quan hệ đa mức

ML relations – visible and polyinstantiation

Trang 54

Tính chất của quan hệ đa mức

• Ràng buộc đa thể hiện:(Polyinstantiation Integrity)

AK, CAK, Ci -> Ai

• Nghĩa là khóa chính trong MLS là:

• AK U CAK U CR

• AK là dữ liệu trong khóa chính PK, CAK là mức

bảo mật của dữ liệu khóa chính, CR là dữ liệu không nằm trong khóa biểu kiến AK

Trang 55

Tính chất của quan hệ đa mức

Trang 60

Because of the *-property, only tuples that

satisfy the predicates AND t[TC] = c are deleted from Rc (Rc is table at classification c)

• To maintain inter-instance integrity,

polyinstantiated tuples are also deleted from

Rc’>c

– If t[AK] = c, then any polyinstantiated tuples in Rc’>c

will be deleted from Rc’>c

– If t[AK] < c, then the entity will continue to exist in

Rt[AK] and in Rc’>t[AK]

Trang 61

Bài tập

Trang 66

Bài tập

Cho biết người dùng ở mức S và U thấy gì?

Visible to a user with unclassified level

Visible to a user with secret level

Cho quan hệ sau:

Trang 67

Bài tập

Nếu người dùng ở mức unclassified đánh lệnh insert of <Ann, Dept1,

100K>

• If this update is rejected, then the user would be able to infer

something about Ann

• MLS would allow the secret channel to permit data update and protect data integrity

Cho quan hệ sau:

Visible to a user with secret level Visible to a user with unclassified

level

Trang 68

– Inform the subject of the conflict

and refuse the insertion (no)

– Overwrite the existing tuple (no)

Cho quan hệ sau:

Trang 69

Ưu và khuyết điểm của MAC

Trang 70

Các mô hình của MAC

Hai mô hình thực thi của MAC

– Mô hình mạng lưới (Lattice model)

– Tương tự mô hình mạng lưới

– Các chủ thể không thể tạo một đối tượng mới hay thực hiện một số chức năng nhất định đối với các đối tượng

có cấp độ thấp hơn

Trang 71

Áp dụng trong các ứng dụng quân đội và chính phủ

Trang 72

Mô hình Bell-LaPadula

Mô hình BLP chú trọng vào bảo vệ tính bảo mật cao độ,tuy nhiên vẫn hỗ trợ khả năng phi tập trung hóa, tức làkhông dồn toàn bộ kiểm soát và quản trị truy nhập vềmột nơi duy nhất Một mặt, để đảm bảo tính cưỡng chếcao, toàn bộ các yêu cầu truy nhập phải đi qua một bộphận kiểm soát gọi là BLP reference monitor

Bộ phận monitor này sẽ kiểm tra xem yêu cầu truy nhậpnày có thỏa mãn các luật bảo mật chung, nếu đáp ứngmới thông qua Tuy nhiên cũng có những chủ thể đặcbiệt được coi là đáng tin cậy, luôn được thông qua

Trang 73

– Còn lại (Unclassified – UC)

BLP cũng cho phép phối hợp cả hai dạng cơ chế cưỡngchế và tùy nghi, trong đó cơ chế sử dụng bộ kiểm soát(BLP monitor) sẽ đảm bảo cưỡng chế áp dụng bộ luậtchung, còn cơ chế tùy nghi có thể được thêm vào sau khimột yêu cầu truy nhập đã đáp ứng bộ luật

Trang 74

Mô hình Bell-LaPadula

• An access class c1 dominates ≥ an access class c2 iff

• Security level of c1 is greater than or equal to that of c2

• The categories of c1 include those of c2

Điều khiển trực tiếp hay gián

tiếp luồng thông tin

Ngăn chặn rò rỉ thông tin

Người dùng kết nối tới hệ

thống với bất kỳ truy cập

trong phạm vi bảo mật của

người dùng

Trang 75

Mô hình Bell-LaPadula

Ví dụ: Trong một hệ thống quản lý thông tin và điểm số

của một khoa đại học, có 2 cấp/mức bảo mật làconfidential (mật) và public (công khai), đồng thời có 2thể loại thông tin là studentinfo (thông tin sinh viên) vàdept-info (thông tin về khoa/viện) Như vậy có thể có cácnhãn như:

– label(Joe)=(confidential,{student-info})

– label(grades)=(confidential,{student-info})

Trang 76

Mô hình Bell-LaPadula

Trang 77

Mô hình Bell-LaPadula

Trạng thái của hệ thống:

v = (b, M, f) b: tập các truy cập hiện tại

Các loại quyền truy cập (access mode): chỉ đọc only), nối (append), thực thi (excecute), đọc-ghi (read-write)

(read-b = <su(read-bject, o(read-bject, access mode> = <s, o, m>: chủ

thể s đang có quyền truy cập m trên o

M[s, o]: ma trận truy cập Tương tự như trong mô hình

ma trận truy cập

Trang 78

Mô hình Bell-LaPadula

Trạng thái của hệ thống:

(b, M, f) f: hàm xác định mức bảo mật của chủ thể/đối tượng

Trang 79

No Read Up: Luật này đơn giản là không cho phép chủ

thể cấp dưới đọc biết thông tin ở cấp cao hơn,

Khi được phối hợp với một cơ chế tùy nghi, nó sẽ được

phát biểu như sau: chủ thể s đọc được đối tượng o khi và chi khi nhãn của s ưu thế hơn nhãn của o đồng thời s có được cấp phép đọc đối với o.

Ngày đăng: 30/01/2020, 11:45

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w