Vấn đề đảm bảo an toàn cơ sở dữ liệu (CSDL) truyền thống chỉ tập trung chủ yếu vào việc đảm bảo an toàn cho bản thân cơ sở dữ liệu mà không đề cập tới việc đảm bảo an toàn cho hệ điều hành (OS) và hệ quản trị cơ sở dữ liệu (DBMS). Ngày nay, việc sử dụng rộng rãi CSDL cho các ứng dụng web, kiến trúc kháchchủ không đồng nhất, các máy chủ ứng dụng và mạng… đã tạo nên nhu cầu cấp thiết mở rộng những hướng nghiên cứu cho vấn đề đảm bảo an toàn CSDL
Trang 1HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA AN TOÀN THÔNG TIN
BÁO CÁO BÀI TẬP LỚN MÔN HỌC
AN TOÀN CƠ SỞ DỮ LIỆU
Chủ đề số 13
TÌM HIỂU VỀ AN TOÀN ĐA MỨC (MULTILEVEL – SECURITY) VÀ
ĐA THỂ HIỆN (POLYINSTANTIATION)
Giảng viên: Trần Thị Lượng
Thực hiện: Sinh viên lớp AT8B
1 Nguyễn Thị Vân Anh
2 Hồ Xuân Đạt
3 Bùi Đức Thuận
4 Trịnh Thị Thanh Thủy
HÀ NỘI, 2015
Trang 2MỤC LỤC
DANH MỤC CÁC HÌNH VẼ 1
LỜI NÓI ĐẦU 2
CHƯƠNG I: AN TOÀN ĐA MỨC (MULTILEVEL SECURITY) 3
1.1 Định nghĩa 3
1.2 Mục đích 3
1.3 Ứng dụng của MLS (Multilevel-Security) 4
1.4 Một số mô hình an toàn đa mức 5
1.4.1 Mô hình Bell-LaPadula 5
1.4.2 Mô hình Biba 6
1.5 MLS trong tương lai 7
CHƯƠNG II: TÌM HIỂU VỀ ĐA THỂ HIỆN (POLYINSTANTIATION) 8
2.1 Định nghĩa và sự cần thiết của đa thể hiện 8
2.2 Các loại hình đa thể hiện 8
2.2.1 Đa thể hiện hữu hình 8
2.2.2 Đa thể hiện vô hình 9
2.3 Một số ví dụ về tính đa thể hiện 10
2.3.1 Ví dụ 1 10
2.3.2 Ví dụ 2 11
2.3.3 Ví dụ 3 11
2.3.4 Ví dụ 4 12
2.4 Một số mô hình đa thể hiện 12
2.4.1 Mô hình Sea View 12
2.4.2 Mô hình Jajodia-Sandhu (J-S) 14
TÀI LIỆU THAM KHẢO 16
Trang 3DANH MỤC CÁC HÌNH VẼ
Hình 1: Phân loại mức độ thông tin 3
Hình 2: Mô hình Bell-LaPadula 5
Hình 3: Mô hình Biba 6
Hình 4: Ví dụ về mối quan hệ của đa thể hiện 10
Hình 6: Ví dụ 2 11
Hình 8: Ví dụ 4 12
Hình 10: Kết quả 15
Trang 4LỜI NÓI ĐẦU
Vấn đề đảm bảo an toàn cơ sở dữ liệu (CSDL) truyền thống chỉ tập trung chủ yếu vào việc đảm bảo an toàn cho bản thân cơ sở dữ liệu mà không đề cập tới việc đảm bảo an toàn cho hệ điều hành (OS) và hệ quản trị cơ sở dữ liệu (DBMS) Ngày nay, việc sử dụng rộng rãi CSDL cho các ứng dụng web, kiến trúc khách/chủ không đồng nhất, các máy chủ ứng dụng và mạng… đã tạo nên nhu cầu cấp thiết
mở rộng những hướng nghiên cứu cho vấn đề đảm bảo an toàn CSDL Dưới đây là
báo cáo “Tìm hiểu về an toàn đa mức (Multilevel Security) và đa thể hiện (Polyinstantiation)”.
Trang 5CHƯƠNG I: AN TOÀN ĐA MỨC (MULTILEVEL SECURITY) 1.1 Định nghĩa
An toàn đa mức (Multilevel-Security) là một đặc tính cho phép thông tin trong một hệ thống được phân loại ở những mức an toàn khác nhau, người dùng cũng được phân loại theo quyền và mức độ bảo mật của thông tin để ngăn chặn việc truy nhập thông tin trái phép
Người dùng chỉ có thể truy nhập thông tin nếu mức phân loại của người dùng phù hợp với mức độ nhạy cảm của thông tin
Hình 1: Phân loại mức độ thông tin
1.2 Mục đích
Mục đích của chính sách này là phân tách dữ liệu theo mức phân loại an toàn của bản thân dữ liệu Dữ liệu đã phân loại sẽ được lưu trong các hệ thống chuyên dụng và truy nhập của những người dùng bên ngoài và các cơ quan trung gian đều
bị ngăn chặn Nhược điểm chính của MLS là đòi hỏi các CSDL dung lượng lớn hơn nên chi phí cho cơ sở hạ tầng công nghệ thông tin cũng tăng lên
Trong hệ thống MLS, các đối tượng như: các bảng dữ liệu, các bản ghi và các trường được coi như những thực thể thụ động Một chủ thể là một tiến trình chủ động, có yêu cầu truy nhập tới các đối tượng Mọi đối tượng đều được gán một lớp phân loại (classification) và mọi chủ thể đều có một mức độ mật (clearance) Mức phân loại và mức độ mật được đề cập chung như là các thành phần của các nhãn
Trang 6(label) Một nhãn bao gồm hai thành phần: mức nhạy cảm của dữ liệu (level - là thành phần phân cấp) và hạng mục (compartment – không phân cấp)
Các khía cạnh quan trọng khác của MLS chính là kiểm soát truy nhập bắt buộc (MAC) và đa thể hiện (Poly-instantiation) An toàn đa mức sử dụng kiểm soát truy nhập MAC để ngăn chặn việc khám phá thông tin trái phép từ dữ liệu mức cao của người dùng ở mức thấp Trong MAC, độ an toàn được thực thi theo chính sách an toàn của hệ thống và không do người sở hữu của đối tượng quyết định Đa thể hiện cho phép một bảng quan hệ được lưu trữ nhiều bản ghi với cùng khóa chính trong đó, mỗi bản ghi là một thể hiện của cùng một thực thể, nhưng với mức an toàn khác nhau
1.3 Ứng dụng của MLS (Multilevel-Security)
Hiện nay chỉ có một số DBMS được thiết kế để hỗ trợ an toàn đa mức Đó là thách thức lớn đối với các tổ chức nghiên cứu về CSDL Các nhà cung cấp hệ quản trị CSDL thương mại đã tạo ra các phiên bản tin cậy (Trusted) cho các sản phẩm của họ, chẳng hạn như: Trusted Oracle, Informix Online/Secure, Sybase Secure Server và DB2 cho z/OS Tuy nhiên, các phiên bản này đều có hai điểm yếu cơ bản sau:
- DBMS đa mức đó thực sự là nhiều thể hiện của nhiều DBMS mức đơn
- CSDL đa mức được phân tách thành nhiều CSDL mức đơn (là một phân đoạn trong CSDL đa mức ở mức khái niệm)
Hai đặc điểm này làm giảm mạnh hiệu năng thực hiện của hệ thống
Một cách tiếp cận khác là tận dụng ưu điểm của các đặc trưng an toàn có trong những phiên bản mới của các sản phẩm DBMS chuẩn Chẳng hạn, từ phiên bản Oracle 9i trở lên, Oracle thực thi An toàn dựa vào nhãn (Oracle Label Security), cho phép chúng ta có thể mô phỏng một CSDL đa mức Đó là một kiểm soát truy nhập mức bản ghi được xây dựng sẵn trong DBMS, dùng cho các ứng dụng an toàn mức cao, thêm một trường mới cho mỗi bản ghi để lưu nhãn nhạy cảm của mỗi hàng Việc người dùng truy nhập vào các bản ghi có thể được thực hiện hoặc bị từ chối, tùy thuộc vào việc so sánh định danh và nhãn an toàn của người dùng với các nhãn nhạy cảm của các hàng dữ liệu đó
Trang 71.4 Một số mô hình an toàn đa mức
1.4.1 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 hoá các qui định về hệ thống bảo mật nhiều mức (Multilevel Security) của Bộ quốc phòng Mỹ
Áp dụng trong các ứng dụng quân đội và chính phủ
Hình 2: Mô hình Bell-LaPadula
Tính chất:
Quy tắc không đọc lên: (not Read up)
Các chủ thể chỉ có thể đọc thông tin có mức nhạy cảm ngang hoặc thấp hơn mức an toàn mà nó được gán
Điều này giúp không bị lô thông tin cho những người dùng không được quyền truy xuất đến dữ liệu đó
Quy tắc không ghi xuống (not Write down):
Chủ thể ở mức cao chỉ được ghi dữ liệu lên mức gán nhãn ngang nó hoặc cao hơn
Điều này ngăn người dùng vô tình ghi dữ liệu từ mức cao xuống mức thấp làm lộ thông tin cần bảo vệ
Trang 8 Hạn chế
Mô hình Bell-LaPadula chỉ tập trung vào tính 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
Không hỗ trợ tính đa thể hiện
1.4.2 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 theo 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)
và C>VI>I
Hình 3: Mô hình Biba
Tính chất:
Trang 9Tí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) Tức là không đọc xuống (Not read down)
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) Tức là không ghi lên (Not write up)
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)
1.5 MLS trong tương lai
Có lẽ sự thay đổi lớn xảy ra trong lĩnh vực an ninh đa cấp hiện nay là sự hội
tụ của MLS với công nghệ ảo hóa Một số lượng ngày càng tăng của các hệ điều hành đáng tin cậy được di chuyển ra khỏi các tập tin dán nhãn và các quy trình, và thay vào đó chuyển hướng tới hệ thống UNIX hoặc các máy ảo Các ví dụ bao gồm: khu ở Solaris 10 TX, và hypervisor tế bào đệm trong các hệ thống chẳng hạn như nền tảng IntegrityGreen Hill, và XenClient XT từ Citrix The High Assurance Platform (Nền tảng bảo hiểm cấp cao) từ NSA thực hiện trong môi trường ảo hóa Trusted General Dynamics (TVE) là một ví dụ khác - nó sử dụng SELinux cốt lõi của nó, và có thể hỗ trợ các ứng dụng MLS mà vòng sang nhiều lĩnh vực
Trang 10CHƯƠNG II: TÌM HIỂU VỀ ĐA THỂ HIỆN (POLYINSTANTIATION) 2.1 Định nghĩa và sự cần thiết của đa thể hiện
Đa thể hiện (Polyinstantiation) là một kỹ thuật cơ sở dữ liệu cho phép cơ sở
dữ liệu chứa nhiều trường hợp của cơ sở dữ liệu giống nhau nhưng với cách phân loại khác nhau
Kỹ thuật này có thể được DBMS sử dụng để ngăn chặn suy diễn, bằng cách cho phép cơ sở dữ liệu có nhiều thể hiện cho cùng một mục dữ liệu, mỗi thể hiện
có một mức phân loại riêng Trong một cơ sở dữ liệu quan hệ có thể có các bộ khác nhau với cùng một khoá, với mức phân loại khác nhau, ví dụ nếu tồn tại một hàng (được phân loại ở mức cao) và một người sử dụng (được phân loại ở mức thấp) yêu cầu chèn thêm một hàng mới có cùng khoá Điều này ngăn chặn người
sử dụng (được phân loại ở mức thấp) suy diễn sự tồn tại của hàng (được phân loại
ở mức cao) trong cơ sở dữ liệu
Đa thể hiện xảy ra bởi các chính sách bắt buộc Nó có thể ảnh hưởng tới các mối quan hệ, các tuple (bộ dữ liệu) và các thành phần dữ liệu Đa thể hiện nảy sinh
do các đối tượng với các lớp khác nhau cho phép hoạt động trên các mối quan hệ giống nhau Quan hệ đa thể hiện là quan hệ với các lớp truy cập khác nhau
Polyinstantiated Tuples (còn gọi là thực thể đa thể hiện) là bộ dữ liệu với các khóa chính giống nhau nhưng với lớp truy cập khác nhau có liên quan đến các từ khóa chính
Polyinstantiated Elements (còn gọi là thuộc tính đa thể hiện) là những yếu tố của một thuộc tính trong đó có các lớp truy cập khác nhau nhưng có liên quan đến các khóa chính và lớp chính
2.2 Các loại hình đa thể hiện
Đa thể hiện xuất hiện như là một trong số 2 loại hình:
- Visiable polyinstantiation (Đa thể hiện hữu hình)
- Inviable polyinstantiation (Đa thể hiện vô hình)
1.1.1 Đa thể hiện hữu hình
Đa thể hiện hữu hình xảy ra khi một người dùng cao hơn cố gắng chèn dữ liệu trong một trường đã chứa dữ liệu ở một mức độ thấp hơn Các dữ liệu cao sẽ được nhập như một bộ dữ liệu mới
Trang 11Giả 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ó ở mức thấp; DBMS có ba lựa chọn:
1 Thông báo cho người dùng biết rằng một bộ với khóa chính giống nhau tồn tại và từ chối các chèn vào
2 Thay thế các tuple hiện có ở cấp thấp hơn với các tuple mới được chèn vào
ở mức cao
3 Chèn các tuple mới ở mức cao mà không sửa đổi các tuple hiện có ở cấp thấp hơn (tức là polyinstantiate các thực thể)
Lựa chọn 1: không giới thiệu một kênh báo hiệu; Tuy nhiên, từ chối việc chèn kết quả của mình vào một vấn đề DoS
Lựa chọn 2: sẽ cho kết quả trong việc loại bỏ một tuple ở mức thấp hơn và do
đó giới thiệu một kênh báo hiệu
Lựa chọn 3: là một lựa chọn hợp lý; là hệ quả nó giới thiệu một thực thể polyinstantiated
1.1.2 Đa thể hiện vô hình
Đa thể hiện vô hình xảy ra khi một người dùng thấp cố gắng để chèn dữ liệu trong một trường đã chứa dữ liệu ở cấp cao hơn Các dữ liệu thấp sẽ được nhập như một bộ dữ liệu mới
Quan hệ đa mức (Multilevel Relations)
Giả sử một người dùng cấp thấp yêu cầu chèn một bộ dữ liệu với khóa chính giống như một tuple hiện có ở một mức độ cao hơn, DBMS có ba lựa chọn:
1 Thông báo cho người dùng biết rằng một bộ với khóa chính giống nhau tồn tại ở mức độ cao hơn và từ chối các chèn vào
2 Thay thế các tuple hiện có ở cấp cao hơn với các tuple mới được chèn vào
ở mức thấp
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à các thực thể đa thể hiện)
Lựa chọn 1: Giới thiệu một kênh báo hiệu
Lựa chọn 2: Cho phép người sử dụng thấp ghi đè dữ liệu họ không thể nhìn thấy và do đó ảnh hưởng đến tính toàn vẹn
Lựa chọn 3: Là một sự lựa chọn hợp lý, là hệ quả mà nó giới thiệu một thực thể đa thể hiện
Trang 122.3 Một số ví dụ về tính đa thể hiện
Đối với thao tác read, các đối tượng có quyền truy cập đọc đến các trường hợp của các mối quan hệ nhiều mức truy cập dữ liệu ở cùng mức độ hoặc thấp hơn Đối với thao tác write (insert hoặc update), hiệu quả phụ thuộc vào mức độ truy cập của cái bị chi phối, không thể so sánh cấp độ của chúng
Trong các ví dụ dưới đây, xóa bỏ đối tượng được chi phối bởi các lớp truy cập
dữ liệu
Hình 4: Ví dụ về mối quan hệ của đa thể hiện
1.1.3 Ví dụ 1
Giả sử một S-subject (ví dụ như một chủ đề với phân loại S) muốn thực hiện các thao tác:
INSERT INTO EMPLOYEE
VALUES ‘Sam’, ‘Math’, ‘10K’
Các thao thác được áp dụng với hình 4 và cho ra kết quả như hình 5
Hình 5: Ví dụ 1
Trang 131.1.4 Ví dụ 2
Giả sử một S-subject (ví dụ như một chủ đề với phân loại S) muốn thực hiện các thao tác:
UPDATE EMPLOYEE
SET Salary = ‘20K’
WHERE Name = ‘Ann’
Các thao thác được áp dụng với hình 4 và cho ra kết quả như hình 6
Hình 6: Ví dụ 2
1.1.5 Ví dụ 3
Giả sử một TS-subject (ví dụ như một chủ đề với phân loại TS) muốn thực hiện các thao tác:
UPDATE EMPLOYEE
SET Dept = ‘Math’
WHERE Name = ‘Ann’
Các thao thác được áp dụng với hình 6 và cho ra kết quả như hình 7 tới khi các hàng được thêm vào
Hình 7: Ví dụ 3
Trang 14Trong hình 4, hai hàng được thêm vào có sự phân loại TS cho trường Dept cho Ann vì những bộ dữ liệu đã được thêm vào một TS-subject Nó không nên được nhìn thấy bởi một S-subject
1.1.6 Ví dụ 4
Giả sử một TS-subject (ví dụ như một chủ đề với phân loại TS) muốn thực hiện các thao tác:
UPDATE EMPLOYEE
SET Dept = ‘CIS’, Salary = ‘20K’
WHERE Name = ‘Bob’
Các thao thác được áp dụng với hình 6 và cho ra kết quả như hình 8 tới khi các hàng được thêm vào
Hình 8: Ví dụ 4
Trong hình 8, ba hàng được thêm vào có sự phân loại TS cho bộ dữ liệu vì những bộ dữ liệu này đã được thêm vào một TS-subject Nó không nên được nhìn thấy bới một S-subject
2.4 Một số mô hình đa thể hiện
1.1.7 Mô hình Sea View
Secure Data View (mô hình an toàn dữ liệu) được phát triển bởi Lunt, Denning vào năm 1987, tại California Mô hình Sea View thực sự cải thiện trên khái niệm đa thể hiện, được phát triển bới Hinke và Schaefer
Trang 15- MAC (Mandatory Access Control): Kiểm soát truy cập bắt buộc.
- TCB (Trusted Computing Base): Cơ sở tính toán tin cậy
Mô hình sử dụng các vấn đề, đối tượng và các lớp truy cập Lớp truy cập bao gồm:
- Lớp bí mật: tương ứng với mức độ bảo mật của các mô hình Bell-LaPadula
- Lớp toàn vẹn: tương ứng với các mức toàn vẹn mô hình Biba
MAC
MAC thực thi các chính sách bảo mật của các mô hình Bell-LaPadula và Biba Đối tượng của MAC là các tập tin phải được cấp quyền truy cập, mỗi đối tượng có một định danh duy nhất và một lớp truy cập duy nhất ID và lớp truy cập được gán cho một đối tượng không được thay đổi muộn Đối tượng là các tập tin đơn cấp trong một hệ thống an ninh đa cấp
Đối tượng của MAC là quá trình đại diện cho người dùng, mỗi người dùng được chỉ định một loạt các lớp bí mật và lớp toàn vẹn Đối tượng đại diện cho người sử dụng là phân loại được giao của người sử dụng đó Mỗi người dùng được phân công giữ lớp bí mật tối thiểu (minsecrecy) và lớp toàn vẹn tối thiểu (minintegrity)
Các lớp bí mật và lớp toàn vẹn ban đầu được giao cho người sử dụng được
ký hiệu là maxsecrecy và maxintegrity Writeclass của đối tượng sử dụng là minsecrecy, mimintegrity Readclass của đối tượng sử dụng là maxsecrecy, minintegrity Đối với từng đối tượng, readclass phải chiếm lĩnh writeclass
Đối tượng được cho là đáng tin cậy nếu readclass chi phối chặt chẽ writeclass
Sự tin cậy được chia thành tin cậy bí mật (tương ứng với sự bất bình đẳng nghiêm ngặt của các lớp bí mật) và tin cậy toàn vẹn (tương ứng với sự bất bình đẳng nghiêm ngặt của các lớp toàn vẹn) Đối tượng có độ tin cậy bí mật có thể ghi dữ liệu ở một lớp bảo mật thấp hơn so với dữ liệu đọc Đối tượng không được tin cậy được gọi là không đáng tin cậy, những đối tượng này có readclass và writeclass ngang nhau
TCB
TCB định nghĩa các mối quan hệ đa cấp, bao gồm các chính sách hỗ trợ cho việc nhất quán dữ liệu, trách nhiệm, ghi nhãn, tổng hợp, phân loại