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

Một phần của tài liệu an ninh cơ sở dữ liệu (Trang 92 - 101)

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.

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.

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] * (adsbygoogle = window.adsbygoogle || []).push({});

FROM Rk [Rl]

WHERE P

[BELIEVED BY L]

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

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 (adsbygoogle = window.adsbygoogle || []).push({});

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.

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 (adsbygoogle = window.adsbygoogle || []).push({});

Ann U Dept1 10K U

Ann U Dept2 20K C

Ann U Dept2 20K S

Sam S Dept2 20K S

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

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.

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 đó.

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

Một phần của tài liệu an ninh cơ sở dữ liệu (Trang 92 - 101)