Các đặc trƣng cơ bản

Một phần của tài liệu Nghiên cứu một số mô hình đảm bảo an ninh cơ sở dữ liệu và thử nghiệm ứng dụng (Trang 93)

Một cơ sở dữ liệu (CSDL) đa mức đƣợc nhìn nhận nhƣ là một tập hợp có tổ chức của các CSDL quan hệ, mỗi một CSDL ứng với một mức trong mạng lƣới an ninh. Tất cả CSDL chia sẻ trong một lƣợc đồ và mỗi CSDL đƣợc đảm nhiệm một mức hay lớp an ninh. CSDL đƣợc đƣa ra ở mỗi mức chứa đựng tất cả các belief của các chủ thể (s ở mức đó về trạng thái của thế giới phản ánh trong lƣợc đồ. Một chủ thể tin tƣởng vào nội dung của CSDL ở chính mức của nó. Một chủ thể nhìn thấy những gì mà nó và các chủ thể ở mức thấp hơn tin tƣởng. Một chủ thể có thể nhìn thấy các bản ghi mà nó không tự tin tƣởng.

Giá trị null trong một bản ghi là chủ thể ở mức tin tƣởng có giá trị trùng với thuộc tính, nhƣng không biết giá trị đó.

Các tiên đề quy định việc truy nhập của các chủ thể đến CSDL nhƣ sau:

(1) Update access

Yêu cầu cập nhật CSDL (insert, delete, update) từ một chủ thể có thể chỉ sửa đổi dữ liệu trong thể hiện của chính mức của chủ thể đó. Dữ liệu ở mức thành phần có thể chỉ đƣợc sửa đổi bởi các chủ thể ở mức đó.

Luật truy nhập cập nhật phù hợp với lý thuyết No Write – Down. Tuy nhiên, nó mạnh hơn Bell-La Padula trong việc ghi dữ liệu là không đƣợc phép. Trạng thái luật truy cập cập nhật đó chủ thể có thể thay đổi niềm tin của chính nó, nhƣng không thay đổi đƣợc bất cứ cái khác.

(2) Read access

Một truy vấn từ một chủ thể ở một mức l có thể truy cập dữ liệu từ CSDL nhãn của chúng đƣợc thống trị bởi l.

Luật truy nhập đọc phù hợp với lý thuyết No Read –up của Bell-La Padula: một chủ thể có thể lấy lại chính xác những gì nó có thể nhìn thấy mà ai đó tin tƣởng.

* Quan hệ đa mức

Không giống nhƣ mô hình See View; Jajodia và Sandhu, mô hình Smith và Winslett không phân loại ở mức của mỗi thuộc tính. Truy nhập lớp có thể đƣợc chỉ định bởi một thuộc tính khóa và tới bản ghi. Giống nhƣ cách phân lớp bản ghi, cách này hữu ích hơn cho phân loại thuộc tính.

94 Quan hệ đa mức đƣợc ký hiệu bằng lƣợc đồ R(K, KC, A1, …, An, TC), trong đó: - K là tập các thuộc tính khóa

- Mỗi A1,…,An là một thuộc tính trong quan hệ

- KC, TC lần lƣợt là mức an ninh của thuộc tính khóa và của bản ghi. - Cả K, KC đƣợc xem xét nhƣ là nhận biết của thực thể

Định nghĩa thuộc tính quan hệ đa mức:

Thuộc tính khóa và bản ghi phân loại: Lƣợc đồ cho mọi quan hệ R phải bao gồm thuộc tính khóa phân loại (Key classification – KC), biểu diễn mức an ninh của thông tin trong K, và một thuộc tính bản ghi phân loại (tuple classification – TC), biểu diễn mức an ninh của phần còn lại của bản ghi: R(K,KC, A1,…,An,TC). Phạm vi của TC và KC là tập các mức an ninh, với sự hạn chế trong một phần bản ghi, giá trị thuộc tính TC phải trội hơn giá trị thuộc tính KC. Hơn nữa, K|KC|TC phải định rõ tất cả các thuộc tính của R và cùng với khóa của quan hệ R.

Một ví dụ của quan hệ đa mức:

Name KC Department Salary TC

Bob U Dept1 10K U

Ann U Dept1 10K U

Ann U Dept2 20K C

Sam S Dept2 20K S

Bảng 3.10 Ví dụ về một quan hệ đa mức EMPLOYEE

Mỗi mức quan hệ đƣợc ánh xạ vào quan hệ mức đơn tại các lớp truy nhập khác nhau. Lƣợc đồ quan hệ của các quan hệ mức đơn tất cả bằng nhau và bằng lƣợc đồ quan hệ đa mức, ngoại trừ thuộc tính TC bị bỏ qua. Thể hiện của R tại mức l đạt đƣợc bởi việc chọn tất cả các bản ghi của R có giá trị l cho bản ghi TC.

Liên quan đến quan hệ đa mức EMPLOYEE ở ví dụ trên. Nó đƣợc giải thích rõ ở các mức khác nhau trong bảng 3.11.

Trong mô hình dựa trên sự tin tƣởng, các bản ghi với các giá trị nhƣ nhau nhƣng có thuộc tính khóa khác nhau đƣợc biểu diễn các thực thể thế giới thực khác nhau. Các bản ghi với các giá trị và thuộc tính khóa phân loại nhƣ nhau nhƣng phân loại khác nhau bởi các thuộc tính không khóa biểu diễn sự tin tƣởng khác nhau về cùng một thực thể trong thế giới thực.

95 Một bản ghi ở mức l chứa tất cả các giá trị null ngoại trừ công dụng của thực thể, nghĩa là các chủ thể ở mức l tin tƣởng rằng thực thể tồn tại, nhƣng không có niềm tin vào giá trị của nó là gì. Nếu không có bản ghi xuất hiện ở mức l, thì các chủ thể ở mức đó không tin tƣởng rằng thực thể tồn tại. Khi đó, một thực thể đa mức đầu tiên xuất hiện trong CSDL, nó phải là bản ghi cơ sở, giống nhƣ bản ghi khi lớp khóa và lớp bản ghi bằng nhau. Một bản ghi cơ sở là ở mức thấp nhất của bản ghi CSDL khi đó thực thể đƣợc xác nhận. Name KC Departm ent Salary Bob U Dept1 10K Ann U Dept1 10K U-Instance Name KC Departm ent Salary Ann U Dept2 20K C-Instance Name KC Departm ent Salary Sam S Dept2 20K S-Instance

3.9.2. Truy nhập tới quan hệ đa mức

Các phép toán trong mô hình:

Phép toán Select

Cú pháp của câu lệnh Select nhƣ sau: SELECT Ai [Aj] *

FROM Rk [Rl]

WHERE P

[BELIEVED BY L]

96 Thuộc tính TC có thể không xuất hiện trong mệnh đề select

Mệnh đề BELIEVED BY cho biết mức của dữ liệu khi truy vấn đƣợc tính toán. Câu lệnh select có thể không có mệnh đề BELIEVED BY. Nguyên nhân là phát hiện kết nối giữa các bản ghi với mức an ninh khác nhau. L là danh sách của một hoặc nhiều mức an ninh. Biến “Self” và “anyone” đƣợc sử dụng để thay thế danh sách này. Biến “self” cho biết mức của ngƣời sử dụng yêu cầu select. Biến “anyone” dùng cho tất cả mức an ninh.

Toàn bộ truy vấn (ngoại trừ mệnh đề BELIEVED BY) đƣợc tính toán riêng biệt trong CSDL ở mức L. Mỗi câu trả lời đƣợc đƣa vào bản ghi lớp TC của mức trong CSDL. Cuối cùng, các bản ghi tìm đƣợc kết nối lại với nhau

Phép toán này có thể thực hiện đƣợc trực tiếp trên một quan hệ đa mức. Ví dụ sử dụng cho quan hệ đa mức EMPLOYEE ở bảng 3.10:

SELECT All

FROM Employee WHERE Name = “Ann” BELIEVED BY Anyone

Truy vấn trả ra bản ghi (Ann(U), Dept1, 10K(U)) ở U-user

Truy vấn trả ra bản ghi (Ann(U), Dept1, 10K(U)) và (Ann(U), Dept2, 20K(C)) ở C-user hoặc cao hơn.

Phép toán Insert

Cú pháp:

INSERT INTO R[(Ai [,Aj] *)]

VALUE V

Trong đó, V là tập các giá trị bản ghi của (ai [,aj] *)

Phép toán Insert xác nhận tình trạng thực của một thực thể mới ở mức của ngƣời dùng yêu cầu chèn. Với mỗi giá trị bản ghi trong V, một bản ghi mới đƣợc chèn vào. Khóa và bản ghi phân loại đƣợc đặt bằng lớp của ngƣời dùng yêu cầu chèn.

Ví dụ với quan hệ đa mức ở bảng 3.10 và trƣờng hợp S-user yêu cầu chèn nhƣ sau:

INSERT INTO Employee

97 Vì thực thể “Ann(S)” chƣa tồn tại, bản ghi thỏa mãn để chèn. Kết quả sau khi chèn nhƣ sau:

Name KC Department Salary TC

Bob U Dept1 10K U

Ann U Dept1 10K U

Ann U Dept2 20K C

Ann S Dept2 30K S

Sam S Dept2 20K S

Bảng 3.12 Quan hệ đa mức EMPLOYEE sau khi chèn

Phép toán Update

Cú pháp: UPDATE R

SET Ai=ai [,Aj=aj] *

WHERE P

[BELIEVED BY L]

Phép toán update thay đổi sự tin tƣởng liên quan đến sự tồn tại thực thể đa mức tại mức của ngƣời sử dụng yêu cầu update. Chỉ những bản ghi với cùng mức của ngƣời dùng mới có thể thay đổi. Tập các bản ghi update có thể là tập con của các bản ghi thỏa mãn điều kiện trong câu lệnh.

Nếu không tồn tại bản ghi trong quan hệ thì một bản ghi mới đƣợc chèn vào CSDL ở mức của miêu tả trong mệnh đề SET. Liên quan đến thực thể E thỏa mãn mệnh đề WHERE và BELIEVED BY. Với mỗi biến ai trong mệnh đề SET, xử lý update ai trong thực thể E nhƣ sau:

(1) Nếu mức của ngƣời dùng chứa trong L, một giá trị đƣợc tìm trong bản ghi thỏa mãn điều kiện ở mức của ngƣời dùng

(2) Nếu không có giá trị nào tồn tại ở mức ngƣời dùng và danh sách các mức đƣợc đƣa ra trong mệnh đề BELIEVED BY, danh sách đƣợc tìm kiếm tuần tự. Với mỗi biến quan hệ trong ai, giá trị đƣợc sử dụng là mức đầu tiên chứa bản ghi cung cấp một giá trị.

(3) Nếu biến an ninh “anyone” đƣợc sử dụng, một lƣới con an ninh đƣợc chiếm bởi ngƣời dùng tạo ra. Thứ tự có thể đƣợc quyết định bởi DBMS hoặc bởi ngƣời dùng

(4) Nếu không tạo ra một giá trị nào phù hợp trong miêu tả ai, thực thể E không đƣợc update.

98 Ví dụ1: câu lệnh update có thể sinh ra bản ghi mới ở quan hệ đa mức bảng 3.10 và trƣờng hợp S-user yêu cầu:

UPDATE Employee SET Salary = “30K” WHERE Salary = “20K” BELIEVED BY anyone

Khi thực hiện câu lệnh này thì tất cả nhân viên kiếm đƣợc “20K”, bây giờ đƣợc tin là kiếm đƣợc “30K” bởi S-user. Nhân viên “Ann” thỏa mãn điều kiện trong câu lệnh. Tuy nhiên, S-user không có niềm tin vào nó. Vì vậy, một bản ghi mới đƣợc chèn cho “Ann” ở mức S. Giống nhƣ nhân viên Sam, giá trị của thuộc tính đƣợc update. Kết quả nhƣ bảng 3.13.

Name KC Department Salary TC

Bob U Dept1 10K U

Ann U Dept1 10K U

Ann U Dept2 20K C

Ann U Dept2 30K S

Sam S Dept2 30K S

Bảng 3.13 Ví dụ 1 về update trong quan hệ đa mức

Ví dụ 2: câu lệnh update có thể sinh ra bản ghi mới ở quan hệ đa mức bảng 3.10 và trƣờng hợp S-user yêu cầu:

UPDATE Employee SET Salary = “20K” WHERE Name = “Ann”

Tƣơng tự, ngƣời dùng S không có niềm tin về Ann(U), vì vậy một bản ghi mới đƣợc chèn ở mức S. Kết quả nhƣ sau:

Name KC Department Salary TC

Bob U Dept1 10K U

Ann U Dept1 10K U

Ann U Dept2 20K C

Ann U Dept2 20K S

Sam S Dept2 20K S

99 Phép toán Delete Cú pháp: DELETE FROM R WHERE P [BELIEVED BY L]

Ở mức ngƣời dùng yêu cầu delete, chuyển mức tin tƣởng về tập các thực thể đa mức thỏa mãn điều kiện trong câu lệnh. Kết quả của phép toán là tất các các thực thể thỏa mãn điều kiện đƣợc chuyển khỏi CSDL đƣợc hiểu nhƣ là ở mức của ngƣời dùng. Nếu bản ghi bị xóa là bản ghi cơ sở thực thể đƣợc giữ lại ở mức cao hơn, ngƣời sử dụng ở mức cao hơn vẫn tin tƣởng thực thể vẫn tồn tại.

Ví dụ: Quan hệ đa mức ở bảng 3.10 và trƣờng hợp ở mức U-user yêu cầu thực hiện phép toán:

DELETE

FROM Employee WHERE Name = “Ann” BELIEVED BY Anyone

Ý nghĩa của phép toán này là U-user không còn tin rằng nhân viên “Ann” tồn tại nữa. Kết quả nhƣ sau:

Name KC Department Salary TC

Bob U Dept1 10K U

Ann U Dept2 20K C

100

3.10. THẢO LUẬN VỀ MÔ HÌNH BẮT BUỘC

Tính nâng cao của chính sách an ninh bắt buộc nhận đƣợc cơ bản từ sự thích hợp của chúng với từng loại môi trƣờng ngƣời dùng và các đối tƣợng phân lớp. Hơn nữa, chúng cung cấp một mức cao cho an ninh dựa vào các nhãn thật. Mô hình điều khiển bắt buộc và mô hình điều khiển luồng cho phép theo dõi dấu vết của luồng thông tin, vì vậy cung cấp một vài kiểu bảo vệ trong vấn đề Trojan Horse.

Tuy nhiên, chính sách điều khiển truy nhập bắt buộc có hạn chế là quá cứng nhắc và không cung cấp đƣợc cho một vài môi trƣờng. Một phần nào đó, nó không thƣờng xuyên có khả năng đảm nhận bí mật cho hệ thống thông tin ngƣời dùng hoặc các mức nhạy cảm của dữ liệu. Xu hƣớng hiện tại là xây dựng mô hình an ninh để tích hợp chính sách điều khiển bắt buộc và tự quyết.

Một vài công việc đƣợc thi hành trên mô hình điều khiển truy nhập tự quyết mở rộng với hình thức của truy nhập bắt buộc gần giống nhƣ cách tiếp cận chính sách bắt buộc. Hầu hết những công việc này đều có mục đích riêng là loại trừ hoặc hạn chế ít nhất tính nguy hiểm của điều khiển tự quyết với Trojan Horse. Walter et al (1974) đã đề xuất ra ứng dụng của chính sách need-to-know một cách nghiêm ngặt để giới hạn luồng thông tin trong suốt thời gian thực hiện trong môi trƣờng hệ điều hành. Một điều khiển đƣợc phép sao chép thông tin từ một đối tƣợng đến đối tƣợng khác chỉ khi tập ngƣời dùng cho phép đọc đối tƣợng thứ hai là tập con của tập ngƣời dùng cho phép đọc đối tƣợng thứ nhất.

Cách tiếp cận khác, đƣợc đề xuất bởi Karget (1987) điều khiển các ảnh hƣởng của Trojan Horse trong hệ thống tự quyết bởi hạn chế các tệp có khả năng truy nhập bằng các chƣơng trình ứng dụng dựa trên cơ sở của kiến thức trong chƣơng trình của chúng. Điều khiển yêu cầu các đặc tính riêng, với mỗi chƣơng trình ứng dụng đƣợc điều khiển, các mẫu tên tả các đối tƣợng có thể truy nhập bằng một ứng dụng. Tất cả các yêu cầu truy nhập bởi một ứng dụng đều đƣợc dàn xếp bởi một thông điệp đánh dấu. Thông điệp dánh dấu này so sánh tên của các đối tƣợng đƣợc truy nhập trong mẫu của ứng dụng. Nếu tên của đối tƣợng thỏa mãn mẫu, điều khiển đƣợc chấp nhận, ngƣợc lại ngƣời dùng chạy chƣơng trình đƣợc truy vấn về yêu cầu truy nhập.

Bertino cùng nhóm đồng nghiệp (1993) đề xuất sử dụng chính sách need-to- know một cách chặt chẽ để khắc phục tính nguy hiểm của chính sách điều khiển tự quyết trong các hệ thống hƣớng đối tƣợng. Mặc dù trạng thái của các đối tƣợng có thể chỉ đƣợc truy nhập bởi việc gửi thông điệp tới các đối tƣợng tạo ra luồng thông tin trong hệ thống có tồn tại ở dạng vật chất và hiện thân của tự nhiên trong hình thức của thông điệp và sự trả lời của chúng. Kết quả là, luồng thông tin có thể đƣợc điều khiển bằng trung gian chuyển giao của các thông điệp giữa các đối tƣợng. Thỏa mãn tính chặt chẽ của chính sách need-to-know chắc chắn rằng không có thông tin nào bị rò rỉ tới các đối tƣợng truy nhập bởi những ngƣời dùng không cần bí mật.

101 Các nghiên cứu khác cũng đƣợc đề xuất nhằm mục đích mở rộng điều khiển truy nhập tự quyết với hình thức truy nhập bắt buộc. McCollum cùng nhóm đồng nghiệp (1990) đề xuất một hình thức điều khiển truy nhập mới cho phép điều khiển có hiệu lực trên luồng thông tin của hệ thống. Điều khiển cho phép chính một tệp giữ lại điều khiển trên sự gieo rắc thông tin chứa trong tệp này. Cách tiếp cận kết hợp một đối tƣợng dữ liệu với một danh sách điều khiển truy nhập, đƣợc nhân rộng qua các chủ thể và nhãn đối tƣợng, tới tất cả các đối tƣợng. Một cách tiếp cận đơn giản đƣợc đề xuất bởi Stoughton (1981). Trong đề xuất này, mỗi đối tƣợng đƣợc kết hợp với hai thuộc tính bảo vệ: truy nhập hiện thời và truy nhập tiềm năng. Thuộc tính truy nhập hiện thời miêu tả những gì có thể xảy ra trên đối tƣợng. Thuộc tính truy nhập tiềm năng miêu tả những gì có thể xảy ra tới thông tin trong đối tƣợng, thông tin đó trong tƣơng lai có thể đƣợc chứa trong đối tƣợng nào đó.

102

Chương 4. THỬ NGHIỆM ỨNG DỤNG

Một phần của tài liệu Nghiên cứu một số mô hình đảm bảo an ninh cơ sở dữ liệu và thử nghiệm ứng dụng (Trang 93)

Tải bản đầy đủ (PDF)

(107 trang)