Bài giảng Bảo mật cơ sở dữ liệu - Bảo mật theo cơ chế MAC
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Bảo mật cơ sở dữ liệu - Bảo mật theo cơ chế MAC", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_bao_mat_co_so_du_lieu_bao_mat_theo_co_che_mac.pdf
Nội dung text: Bài giảng Bảo mật cơ sở dữ liệu - Bảo mật theo cơ chế MAC
- Bảo mật theo cơ chế MAC Mandatory Access Control Models
- 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
- 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ông tin 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ệc như trên thì cũng có thể một Trojan Horses sẽ làm việc sao chép thông tin từ đối tượng này sang đối tượng khác.
- DAC và điều khiển dòng thông tin Ví dụ Trojan Horses:
- DAC và điều khiển dòng thông tin Ví dụ Trojan Horses:
- DAC và điều khiển dòng thông tin Ví dụ Trojan Horses:
- DAC và điều khiển dòng thông tin Ví dụ Trojan Horses:
- DAC và điều khiển dòng thông tin Ví dụ Trojan Horses:
- 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).
- Giới thiệu Mandatory Access Control Điều khiển truy cập bắt buộc (Mandatory Access Control- MAC) – 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 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.
- 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ông phân cấp
- Mandatory Access Control
- 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)
- Mức bảo mật Các mức bảo mật cơ bản: – Không phân loại (U – Unclassified) – Mật (C – Confidential) – Tuyệt mật (S – Secret) – Tối mật (TS – Top Secret) Trong đó TS là mức cao nhất và U là mức thấp nhất: TS ˃ S ˃ C ˃ U Người dùng ở cấp càng cao thì mức độ đáng tin cậy càng lớn. Dữ liệu ở cấp càng cao thì càng nhạy cảm và cần được bảo vệ nhất.
- 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
- Mandatory Access Control
- Lĩnh vực Phân loại người dùng và dữ liệu theo lĩnh vực hoạt động củ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ười dùng và dữ liệu trong công ty này có thể được phân loại theo lĩnh vực dựa theo 3 phòng ban này.
- 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ãn như: 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ệu grades vì nhãn của Joe không hề thua kém nhãn của grades.
- Lớp bảo mật Một lớp bảo mật (security class) được định nghĩa như sau: – SC = (A, C) – A: mức bảo mật – C: lĩnh vực Hai lớp bảo mật SC và SC’ có mối quan hệ thứ tự riêng phần SC ≤ SC’ nếu: A ≤ A’ và C C’ Ví dụ: • (2, Sales) ≤ (3, (Sales, Production)) • (2, (Sales, Production)) ≤ (3, Sales)
- Lớp bảo mật Qui tắc: (A, C) dom (A’, C’) iff A’ ≤ A and C’ C Examples A C A’ C’ (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})
- Lớp bảo mật Tập con
- 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
- Các tính chất của điều khiển truy cập bắt buộc Tính chất bảo mật đơn giản (Simple security property or ss-property): Một chủ thể s không được phép ĐỌC đối tượng o, trừ khi: class(s) ≥ class(o) – 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!!!
- Các tính chất của điều khiển truy cập bắt buộc
- 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 *
- 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 *
- 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 *
- 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 Có 2 giải pháp: – Tạm thời giảm lớp bảo mật của chủ thể đó xuống cấp thấp hơn khi gửi thông điệp – Đưa các chủ thể đáng tin cậy (trusted subject) vào danh sách các chủ thể không bị hạn chế bởi tính chất *
- 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)
- Quan hệ đa mức Ví dụ
- 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 1 giá trị Y trong r. Nghĩa là bất kể khi nào 2 bộ của r có cùng giá trị X thì cũng có cùng giá trị Y. t1, t2 r(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
- 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
- Quan hệ đa mức
- Quan hệ đa mức 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.
- 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
- 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
- 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
- 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
- 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. Ai AK t[Ai] ≠ NULL) 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. Ai AK t[Ci] ≥ t[CAK] Tất cả các thuộc tính trong khóa AK phải có cùng mức bảo mật trong các bộ. Ai, Aj AK t[Ci] = t[Cj] Ràng buộc này đảm bảo rằng một người dùng sẽ thấy được khóa của một hàng nếu người dùng được phép xem bất kỳ phần nào của hàng đó.
- Tính chất của quan hệ đa mức Ví dụ:
- 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.
- Tính chất của quan hệ đa mức Ví dụ:
- 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ững giá trị khác nhau đối với những người dùng ở các mức bả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ật của người dùng mà có thể nhìn thấy dữ liệu khác nhau Hai 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)
- 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
- 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
- Tính chất của quan hệ đa mức Ví dụ về tính đa thể hiện • Một người dùng ở mức bảo mật C thực hiện câu lệnh cập nhật giá trị của JobPerformance của Smith thành „Excellent‟: UPDATE EMPLOYEE SET JobPerformance = ‘Excellent’ WHERE Name = ‘Smith’; Thực hiện câu lệnh hay báo lỗi?
- 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
- 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
- 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; the DBMS 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ụng thấ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ể
- Tính chất của quan hệ đa mức ML relations – invisible and polyinstantiation
- 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ể)
- Tính chất của quan hệ đa mức ML relations – visible and polyinstantiation
- 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
- Tính chất của quan hệ đa mức
- Tính chất của quan hệ đa mức
- Tính chất của quan hệ đa mức
- Tính chất của quan hệ đa mức
- Tính chất của quan hệ đa mức
- Tính chất của quan hệ đa mức Delete 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] t[AK]
- Bài tập
- Bài tập
- Bài tập
- Bài tập
- Bài tập
- Bài tập Cho quan hệ sau: Cho biết người dùng ở mức S và U thấy gì? Visible to a user with secret level. Visible to a user with unclassified level.
- Bài tập Cho quan hệ sau: Nếu người dùng ở mức unclassified đánh lệnh insert of • 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 Visible to a user with secret level. Visible to a user with unclassified level.
- Bài tập: Polyinstantiation Request by high level subjects – A secret subject request to insert Cho quan hệ sau: – Inform the subject of the conflict and refuse the insertion (no) – Overwrite the existing tuple (no)
- Ưu và khuyết điểm của MAC Ưu điểm: Là cơ chế điều khiển truy xuất có tính bảo mật cao trong việc ngăn chặn dòng thông tin bất hợp pháp. Thích hợp cho các ứng dụng trong môi trường quân đội. Khuyết điểm: Không dễ áp dụng: đòi hỏi cả người dùng và dữ liệu phải được phân loại rõ ràng Chỉ được ứng dụng trong một số ít môi trường. Phức tạp Làm giảm tính linh hoạt của hệ thống (ảnh hưởng đến hiệu năng)
- 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) – Mô hình Bell-LaPadula Mô hình mạng lưới – Các chủ thể và đối tượng được gán một “cấp bậc” trong mạng lưới – Nhiều mạng lưới có thể được đặt cạnh nhau Mô hình Bell-LaPadula – 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
- Mô hình Bell-LaPadula Được phát triển bởi David Elliot Bell và Leonard J. La Padula vào năm 1973. Để chuẩn hóa các qui định về hệ thống bảo mật nhiều mức (multilevel security system – MLS) của bộ quốc phòng Mỹ Áp dụng trong các ứng dụng quân đội và chính phủ
- 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ập này có thỏa mãn các luật bảo mật chung, nếu đáp ứng mới thông qua. Tuy nhiên cũng có những chủ thể đặc biệt được coi là đáng tin cậy, luôn được thông qua.
- Mô hình Bell-LaPadula Các cấp bậc/thang mức được sử dụng là: – Tối mật (Top Secret – TS), – Mật (Secret – S), – Nội bộ (Confidential – C) và – Còn lại (Unclassified – UC) . BLP cũng cho phép phối hợp cả hai dạng cơ chế cưỡng chế 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ật chung, còn cơ chế tùy nghi có thể được thêm vào sau khi một yêu cầu truy nhập đã đáp ứng bộ luật.
- 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
- 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ó 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ãn như: – label(Joe)=(confidential,{student-info}) – label(grades)=(confidential,{student-info})
- Mô hình Bell-LaPadula
- 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 (read- only), nối (append), thực thi (excecute), đọc-ghi (read- write) b = = : 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
- 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 – f: O U S L – fo(o): trả về mức bảo mật của đối tượng o – fs(s): trả về mức bảo mật của chủ thể s – fc(s): trả về mức bảo mật hiện tại của chủ thể s – fc(s) ≤ fs(s) – L là tập các mức bảo mật với phép quan hệ thứ tự bộ phận ;
- Mô hình Bell-LaPadula • Tính chất bảo mật đơn giản (Simple Security Property – SSP), trong đó một chủ thể s sẽ chỉ được phép thực hiện thao tác đọc (read) đối với một đối tượng o nếu nhãn của s là ưu thế hơn nhãn của o. Luật này áp dụng cho tất cả các chủ thể (kể cả đáng tin cậy, trusted subjects). 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.
- Mô hình Bell-LaPadula Tóm tắt tính chất bảo mật đơn giản: Không đọc lên (No read up) Một trạng thái hệ thống v = (b, M, f) thỏa mãn tính chất bảo mật đơn giản khi và chỉ khi: Với mỗi M[s,o]: M[s,o] ∈ {read, write}, fo(o) ≤ fs(s)
- Mô hình Bell-LaPadula Tính chất *(*-property): một chủ thể s chỉ được thực hiện thao tác viết (write) lên đối tượng o khi nhãn của o là ưu thế hơn nhãn của s. No Write Down: Luật này được đưa ra để nhằm tránh việc những chủ thể ở cấp cao hơn có thể tình cờ tiết lộ thông tin cùng cấp xuống chủ thể cấp dưới. Tuy nhiên luật này chỉ áp dụng với các chủ thể không được coi là tin cậy (untrusted subjects). Tương tự như với SSP, luật này cũng có thể mở rộng để phối hợp với cơ chế tùy nghi.
- Mô hình Bell-LaPadula Tính chất *: Không ghi xuống (No write down) Một trạng thái hệ thống v = (b, M, f) thỏa mãn tính chất * khi và chỉ khi: – append ∈ M[s,o] fc(s) ≤ fo(o) – write ∈ M[s,o] fc(s) = fo(o) – read ∈ M[s,o] fc(s) ≥ fo(o)
- Mô hình Bell-LaPadula Ví dụ: Các thông tin trong bảng dưới đây sẽ minh họa một hệ thống cụ thể mà BLP được áp dụng Chủ thể Tamara có thể đọc tất cả các dữ liệu, trong khi Claire không thể đọc Personnel Files hay Email files và Ulaley chỉ có thể đọc duy nhất TelephoneLists. Ngoài ra Tamara và Samuel sẽ không được phép viết lên Activity Logs.
- No-read-up & No-write-down Can TS subject write to S object? Can S subject write to U object? How to apply to the Trojan Horse case?
- Solution to Trojan Horse Possible classification reflecting the access restrictions: – Secret for Vicky and “Market” – Unclassified to John and “Stolen” If Vicky connect to system as secret, write is blocked If Vicky connects to system as unclassified, read is blocked Is Vicky allowed to write to the unclassified object? How?
- Applying BLP: An Example Alice has (Secret, {NUC, EUR}) clearance David has (Secret, {EUR}) clearance – David can talk to Alice (“write up” or “read down”) – Alice cannot talk to David (“read up” or “write down”) Alice is a user, and she can login with a different ID (as a different principle) with reduced clearance – Alias1 (Secret, {NUC, EUR}) – Alias2 (Secret, {EUR})
- BLP: Problem If I can write up, then how about writing files with blanks? – Blind writing up may cause integrity problems, but not a confidentiality breach
- Mô hình Bell-LaPadula Hạn chế: Mô hình Bell-LaPadula chỉ tập trung vào tính bảo mật Không đảm bảo tính toàn vẹn thông tin Không linh động trong việc thay đổi quyền truy cập. Mô hình Bell-LaPadula không chặn được convert channel: – Không hỗ trợ tính đa thể hiện – Một chủ thể ở mức bảo mật thấp có thể phát hiện được sự hiện diện của một đối tượng ở mức bảo mật cao khi chủ thể đó truy xuất đến đối tượng và bị từ chối
- Mô hình Biba Do Biba đề nghị năm 1977 Mô hình Biba tập trung vào việc bảo vệ tính toàn vẹn của dữ liệu Mô hình Biba phân loại chủ thể, đối tượng theo mức toàn vẹn (integrity level) Các nhóm phân loại gồm: – Crucial (C) – Very Important (VI) – Important (I) C > VI > I
- Mô hình Biba Quyền truy xuất (access mode): truy xuất đối tượng Chỉnh sửa (modify): ghi thông tin lên đối tượng Liên hệ (invoke): quyền giữa 2 chủ thể, cho phép 2 chủ thể liên lạc với nhau Quan sát (observe): đọc thông tin của đối tượng Thực thi (execute): thực thi chương trình
- Mô hình Biba Để diễn tả mô hình Biba, chúng ta sử dụng các quy ước sau đây: – S là tập các chủ thể; – O là tập các đối tượng; – L là tập các mức toàn vẹn với phép sắp thứ tự bộ phận ; – fS :S → L cho biết mức toàn vẹn của mỗi chủ thể; – fO:O → L cho biết mức bảo mật của mỗi đối tượng. – Hàm fS và fO chỉ định mức toàn vẹn cho các chủ thể và các đối tượng. Những mức bảo mật này là cơ sở để mô tả các tính chất toàn vẹn để ngăn ngừa các thao tác kiểu như việc “làm sạch” các thực thể ở mức cao bằng cách “làm bẩn” các thực thể ở mức thấp.
- Mô hình Biba Chính sách toàn vẹn: mức toàn vẹn cố định Tính chất toàn vẹn đơn giản (Simple integrity property): một chủ thể s có thể quan sát được đối tượng o nếu và chỉ nếu: i(s) ≤ i(o) i(s): mức toàn vẹn của s Không đọc xuống (No read down) i(o): mức toàn vẹn của o Tính chất toàn vẹn sao (Integrity star property): một chủ thể s có thể chỉnh sửa được đối tượng o nếu và chỉ nếu: i(o) ≤ i(s) Không ghi lên (No write up)
- Mô hình Biba Chính sách toàn vẹn: mức toàn vẹn cố định Tính chất liên hệ (Invocation property): một chủ thể s1 có thể liên hệ với chủ thể s2 nếu và chỉ nếu: i(s2) ≤ i(s1) • Một luồng thông tin o1 , ,on được gọi là an toàn nếu fO(o1) ≥ fO(on )
- Mô hình Biba Chính sách toàn vẹn: mức toàn vẹn biến đổi Subject low watermark property chủ thể s có thể đọc (quan sát) một đối tượng o tại bất kỳ mức toàn vẹn nào. Mức toàn vẹn mới của chủ thể là inf(fS (s),fO(o)), trong đó fS (s) và fO(o) là các mức toàn vẹn trước khi thao tác được thực hiện Object low watermark property chủ thể s có thể sửa (biến đổi) đối tượng o tại bất kỳ mức toàn vẹn nào. Mức toàn vẹn mới của đối tượng là inf(fS (s),fO(o)), trong đó fS (s) và fO(o) là các mức toàn vẹn trước khi thao tác được thực hiện.
- Mô hình Biba Chính sách toàn vẹn: mức toàn vẹn biến đổi Invoke property chủ thể s1 chỉ có thể triệu gọi chủ thể s2 nếu fS (s2) ≤ fS (s1). Một luồng thông tin o1 , ,on được gọi là an toàn nếu fO,n(o1 ) ≥ fO,n(on ) Ring property một chủ thể s1 có thể đọc các đối tượng ở tất cả các mức toàn vẹn. Nó chỉ có thể sửa đổi đối tượng o với fO(o) ≤ fS (s) và nó chỉ có thể triệu gọi chủ thể s2 nếu fS (s1 ) ≤ fS (s2).
- Mô hình Biba Mô hình Biba bảo vệ tính toàn vẹn và không cung cấp tính mật nên cần kết hợp với những mô hình khác. Mô hình Lipner là mô hình kết hợp giữa mô hình Bell- LaPadula và mô hình Biba.
- Q: How to control both the secrecy and integrity?
- Mô hình Harrisonnh Harrison RuzzoRuzzo Ullman (HRU) Mô hình BLP không có chính sách cho: – Thay đổi quyền truy nhập – Tạo mới và xóa bỏ các chủ thể và đối tượng Mô hình HRU định nghĩa hệ thống cấp phép để giải quyết vấn đề trên.
- Mô hMô hìình Harrisonnh Harrison RuzzoRuzzo Ullman (HRU) Khái niệm mô hình: Định nghĩa các tập: Tập các chủ thể S, Tập các đối tượng O Tập các quyền truy nhập R –(Các thao tác truy nhập như BLP) Ma trận truy nhập M[s,o] (mô tả trạng thái hệ thống). Mỗi lệnh được ghi nhận bằng việc thay đổi trạng thái từ M M’
- Mô hình Harrisonnh Harrison RuzzoRuzzo Ullman (HRU) Định nghĩa 6 thao tác nguyên thủy: – Enter r into M[s,o] (thêm quyền truy nhập cho M[s,o]) – Delete r from M[s,o] (xóa quyền truy nhập của M[s,o]) – Create subject s – Create object o – Delete subject s – Delete object o. Mô hình HRU cho phép: – Kiểm tra việc cần thiết phải tránh cấp phép quyền truy nhập không mong muốn – Kiểm chứng các đặc tính an ninh của đối tượng và chủ thể
- Các mô hình luồng thông tin Lưới mắt cáo (Lattice), Không can thiệp, Clarkp, Clark Wilson, Chinese WallWilson, Wall Xem xét mọi luồng tin đi qua, kể cả các luồng tin ẩn (thông qua việc kiểm soát các hành vi truy cập) Sử dụng mô hình lý thuyết Entropy của luồng tin. Entropy là lượng thông tin có thể thu được qua quan sát luồng tin. Sử dụng các mô hình theo kiểu lưới mắt cáo (lọc thông tin)
- Mô hình Lưới mắt cáo (Lattice) Khái niệm mô hình lattice: Một luồng tin FM định nghĩa bởi: FM = { N, P, SC, ⊕, } N = {a, b, } là tập các đối tượng logic (vídụ files, segments, các biến chương trình ). Mỗi người dùng có thể coi là 1 object. P = {p,q, } là tập các tiến trình. SC = {A, B, } là tập các lớp an ninh tương ứng với phân lớp các thông tin. Mỗi object a được giới hạn trong một lớp an ninh. Có 2 phương pháp liên kết: liên kết tĩnh và liên kết động ⊕ là toán tử kết hợp lớp. Kết hợp binary của 2 lớp a và b là a⊕b là biểu thị quan hệ giữa các luồng tin. Ví dụ cho các lớp A, B: A B nghĩa là chỉ và chỉ khi thông tin của lớp A được phép đưa vào lớp B.
- Chinese Wall Model Problem: – Tony advises American Bank about investments – He is asked to advise Toyland Bank about investments Conflict of interest to accept, because his advice for either bank would affect his advice to the other bank
- Chinese Wall Model Giới thiệu mô hình Chinese Wall: Proposed by Brewer and Nash Kiểm soát các quyền truy nhập động Dựa trên tập luật truy nhập và giảm thiểu mâu thuẫn về lợi ích theo quy luật:Không luồng tin nào được gây ra xung đột lợi ích với luồng tin khác
- Chinese Wall Model Cho tập các công ty, Các nhà phân tích= Subjects, Các đơn vị thông tin = Objects Objects trong cùng công ty = Tập dữ liệu của công ty Các công ty tương tranh = Xung đột giữa các lớp quyền lợi Nhãn an ninh đối tượng = cặp (Cdataset, Col Class) Thông tin làm sạch = thông tin đã xóa bỏ phần nhạy cảm Bank COI Class Gasoline Company COI Class Bank of America Shell Oil Standard Oil Citibank Bank of the West Union ’76 ARCO
- Chinese Wall Model Chinese Wall Model:Đặc tính ss (ss-Property):Cấm mọi chủ thể để lộ ra xung đột về quyền lợi Quyền truy nhập được cấp nếu object thuộc: – Dataset của công ty đã cấp cho người dùng hoặc – Một xung đột khác của lớp lợi ích
- Chinese Wall Model Đặc tính “sao”(*-Property):Cấm thông tin chưa làm sạch được lấy ra khỏi tập dữ liệu của một công ty Quyền truy nhập ghi ra được cấp nếu không có object nào khác được đọc với điều kiện: Object đó thuộc tập dữ liệu của một công ty khác Object đó chứa thông tin chưa làm sạch
- Oracle Label Security Giới thiệu về Oracle Label Security (OLS) Các thành phần của nhãn (label) Cách thức hoạt động của OLS Ví dụ: “Order Management”
- Giới thiệu về Oracle Label Security (OLS)
- Giới thiệu về Oracle Label Security (OLS) Mô phỏng mô hình quan hệ đa mức Mỗi hàng dữ liệu được bổ sung thêm một trường “nhãn nhạy cảm” (sensity label) để lưu lại mức độ nhạy cảm của dữ liệu trong hàng đó. Mỗi nhãn dữ liệu sẽ chứa thông tin về mức độ nhạy cảm của dữ liệu và một số tiêu chí cộng thêm mà người dùng phải đáp ứng để có thể truy xuất đến dữ liệu đó. Quyền truy cập được xét (cho phép hoặc không) dựa vào việc so sánh danh của người dùng, mức bảo mật của người dùng và nhãn nhạy cảm của mỗi hàng
- Các thành phần của nhãn Mỗi nhãn chứa 3 loại thành phần (component): Mức nhạy cảm (sensitivity level): mỗi nhãn có 1 mức nhạy cảm Ngăn (horizontal compartments): mỗi nhãn có từ 0 đến nhiều ngăn Nhóm (hierarchical groups): mỗi nhãn có từ 0 đến nhiều nhóm
- Mức nhạy cảm (sensitivity level) Mức nhạy cảm (Level) thể hiện mức độ nhạy cảm của dữ liệu hoặc mức độ bảo mật của người dùng. Mức nhạy cảm của dữ liệu càng cao thì càng cần phải bảo vệ. Mức nhạy cảm của người dùng càng thấp thì càng cần phải hạn chế quyền của người dùng đó. Mức nhạy cảm có quan hệ thứ bậc (hierachical) Ví dụ:
- Mức nhạy cảm (sensitivity level) Level: Mỗi nhãn có đúng 1 level biểu thị độ nhạy cảm của dữ liệu. OLS cho phép tối đa 10,000 level trong 1 chính sách. Đối với mỗi level, ta cần định nghĩa 1 dạng số và 2 dạng chuỗi cho nó. VD:
- Mức nhạy cảm (sensitivity level) Các loại Level: Dạng số (numeric form): dạng số của level có thể có giả trị trong khoảng 0-9999. Dạng chuỗi dài (long form): chứa tối đa 80 ký tự, cho biết tên đầy đủ của level. Dạng chuỗi ngắn (short form): chứa tối đa 30 ký tự, là dạng rút gọn của tên level. Mỗi khi cần tham khảo đến level ta sử dụng tên rút gọn này.
- Ngăn (Compartment) Compartment định nghĩa các lĩnh vực liên quan đến dữ liệu. Thành phần compartment không có mối quan hệ thứ bậc mà là quan hệ chứa/bao gộp (tập hợp) Ví dụ: – FOOD – CLOTHS – ELECTRICAL GOODS
- Ngăn (Compartment) Mỗi nhãn có thể có 1 hoặc nhiều hoặc không có compartment nào. OLS cho phép tối đa 10,000 compartment trong 1 chính sách. Compartment giúp cho việc phân loại dữ liệu theo lĩnh vực, chuyên ngành, dự án, chứ không thể hiện sự phân cấp mức độ nhạy cảm của dữ liệu đó. Nghĩa là nếu ta có 2 dữ liệu thuộc 2 compartment C1 và C2, thì có nghĩa là 2 dữ liệu đó thuộc 2 lĩnh vực khác nhau là C1 và C2 chứ không có nghĩa dữ liệu thuộc C1 nhạy cảm hơn dữ liệu thuộc C2 (hay ngược lại).
- Ngăn (Compartment) Đối với mỗi compartment, ta cần định nghĩa 1 dạng số và 2 dạng chuỗi. VD: Dạng số (numeric form): dạng số của compartment có thể có giả trị trong khoảng 0-9999. Dạng chuỗi dài (long form): tối đa 80 ký tự, là tên đầy đủ của compartment. Dạng chuỗi ngắn (short form): tối đa 30 ký tự, là dạng rút gọn của tên compartmet. Khi cần tham khảo đến compartment ta sử dụng tên rút gọn này.
- Nhóm (group) Mỗi nhãn có thể có 1 hoặc nhiều hoặc không có group nào. OLS cho phép tối đa 10,000 group trong 1 chính sách. Group giúp xác định những tổ chức, cơ quan, bộ phận nào sở hữu hoặc quản lý dữ liệu (thông thường nó thể hiện cơ cấu của công ty). Do vậy group có cấu trúc cây phân cấp. Một group có thể thuộc một group cha và có nhiều group con. Dữ liệu thuộc một group con thì được xem như cũng thuộc group cha. Ví dụ:
- Nhóm (group) Thành phần group định nghĩa cách tổ chức dữ liệu. Giữa các thành phần group có mối quan hệ (so sánh) cha-con Ví dụ:
- Nhóm (group) Ví dụ:
- Nhóm (group) Dạng số (numeric form): dạng số của group có thể có giả trị trong khoảng 0-9999. Nó không liên quan gì đến con số của level. Giá trị của nó dùng để quy định thứ tự hiển thị của các group trong một label. Đối với VD trên, ta sẽ có các nhãn dạng như sau: S:CHEM:WR,WR_HR (WR có giá trị nhỏ hơn WR_HR nên được hiển thị trước) Dạng chuỗi dài (long form): chứa tối đa 80 ký tự, cho biết tên của group. Dạng chuỗi ngắn (short form): chứa tối đa 30 ký tự, là dạng rút gọn của tên group. Mỗi khi cần tham khảo đến group ta sử dụng tên rút gọn này.
- Các thành phần của nhãn
- Cú pháp viết nhãn Cú pháp: LEV : COM1, , COMn : GRP1, , GRPn Ví dụ: – MGR:CS:NA – EXEC:CS,ES,FS:NA
- Cách thức hoạt động của OLS Quản lý truy cập Một người dùng chỉ có thể truy cập dữ liệu nằm trong phạm vi quy định của nhãn nhạy cảm của mình Một người dùng có: – mức nhạy cảm cao nhất và thấp nhất – tập các compartment – tập các group – Một bản đặc tả các quyền truy cập (đọc/ghi) cho mỗi compartment và group Cách so sánh nhãn của người dùng với nhãn của dữ liệu?
- Cách thức hoạt động của OLS Truy cập Đọc
- Cách thức hoạt động của OLS Truy cập Ghi
- Project “Order Management”
- Project “Order Management” Truy cập Ghi
- Project “Order Management” Truy cập Ghi
- Lab 3 (Feb. 21) Install Oracle Label Security & Using Oracle Label Security – 8::NO:24:P24_CONTENT_ID,P24_PREV_PAGE:4509,2 – 8::NO:24:P24_CONTENT_ID,P24_PREV_PAGE:4548,2 Tài liệu tham khảo: D.C. Knox (2004). Effective Oracle Database 10g Security by Design, Oracle Press, ISBN 0- 07-223130-0. Bài tập Lab 8, 9,10, 11