Hồ Chí Minh, tháng 9 năm 2021BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT MÃ KHOA: AN TOÀN THÔNG TIN AN TOÀN CƠ SỞ DỮ LIỆU TÌM HIỂU VỂ ORACLE LABEL SECURITY Nhận xét của giáo viên hướn
Trang 1BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA: AN TOÀN THÔNG TIN
CƠ SỞ AN TOÀN THÔNG TIN
MÔ PHỎNG TINH CHẤT NO READ UP CUA
ORACLE LABEL SECURITY
……… .
Giảng viên hướng dẫn: Ths Đặng Thế Hùng
Sinh viên thực hiện: Trần Quốc Hoàng
Nguyễn Thanh Tú
Phạm Nguyên Tiến Anh Trần Bảo Hội
Lớp: AT15H
Khóa: 15
Nhom: 2
Trang 2TP Hồ Chí Minh, tháng 9 năm 2021
BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA: AN TOÀN THÔNG TIN
AN TOÀN CƠ SỞ DỮ LIỆU
TÌM HIỂU VỂ ORACLE LABEL SECURITY
Nhận xét của giáo viên hướng dẫn:
Điểm báo cáo:
Xác nhận của giáo viên hướng dẫn:
Trang 3MỤC LỤC
MỤC LỤC 3
DANH MỤC HÌNH ẢNH 5
DANH MỤC CÁC TỪ VIẾT TẮT 6
LỜI CẢM ƠN 7
LƠI MỞ ĐẦU 8
1 Lí do chọn đề tài 8
2 Mục đích chọn đề tài 8
CHƯƠNG 1: TỔNG QUAN VỀ CAC KIÊN THỨC 9
1.1 Định nghĩa vê mô hình DAC va MAC 9
1.2 Mô hình MAC va DAC trong Oracle 9,10 1.3 Định nghĩa quy tắc "No read up - No write down - Limited write down" 11
1.4 Tổng quan vê Oracle Label Security 11
1.4.1 Giơi thiêu sơ bộ Oracle Label Security 11,12 1.4.2 Nhãn nhạy cam (sensity label) 12,13,14,15 1.4.3 Cach thức hoạt động( quan li truy câp) 15
CHƯƠNG 2 : SƠ LƯỢC DEMO MÔ PHỎNG NO READ UP CỦA OLS 16
2.1 Tình huống mô phỏng 16
2.2 Triên khai dư an "Quan lý nhân sư" 17
2.2.1 Truy câp đoc 17
2.2.2 Cac loại nhan cua user 17
2.2.3 Ngăn (Compartment) 17
2.2.4 Nhom (Group) 18
2.2.5 Gắn nhan cho từng user 18
2.2.6 Cac loại nhan cua data 18,19 CHƯƠNG 3: TIÊN HÀNH MÔ PHỎNG TÍNH CHẤT NO READ UP CỦA OLS 20
3.1.Các ứ́ng dụng cần chuẩn bị ̣ cài đặt thực hiện demo 20
Trang 43.2.Tiến hành mô phỏ̉ng 20,21
CHƯƠNG 4: KẾT LUẬN 28
4.1 Kết quả đạ ̣t được 28
4.2 Hạ ̣n chế và phương hướng phát triển 28
TÀ̀I LIỆU THAM KHẢO 29
Trang 5DANH MỤC HÌNH ẢNH
Hì̀nh 1.1 Kiến trúc Oracle label security 10
Hì̀nh 1.2.Label Components 14
Hì̀nh 1.3 Mô hì̀nh thể hiện mố́i quan hệ tương ứ́ng giữa user label và data label 14
Hì̀nh 2.1 Sơ đồ cây phân cấp group của công ty 16
Hì̀nh 2.2 Truy câp đoc 17
Hì̀nh 3.1 Tạo tên database Oracle 19
Hì̀nh 3.2. 20
Hì̀nh 3.3. 20
Hì̀nh 3.4 Tạo user congty 22
Hì̀nh 3.5 Tạo bảng NHANSU 22
Hì̀nh 3.6 Giá trị ̣ được insert vào bảng 22
Hì̀nh 3.7.Tương tác với user LBACSYS 23
Hì̀nh 3.8 Tạ ̣o chính sách OLS 23
Hì̀nh 3.9 Tạ ̣o các label của user và áp dụng chính sách cho bảng NHANSU 24
Hì̀nh 3.10 Gán nhãn cho các hàng dữ liệu của bảng 24
Hì̀nh 3.11 Tạ ̣o các user tương ứ́ng 24
Hì̀nh 3.12 Cấp quyền cho từ̀ng user 25
Hì̀nh 3.13 Gán nhãn cho các user 25
Hì̀nh 3.14 Kết nối vao user TONGGIAMDOC 25
Hì̀nh 3.14.1 Kết quả của user TONGGIAMDOC 26
Hì̀nh 3.15 Kết nối vao user GIAMDOCN 26
Hì̀nh 3.15.1 Kết quả của user GIAMDOCN 26
Hì̀nh 3.16 Kết nối vao user NHANVIENKHB 27
Trang 6DANH MỤC CÁC TỪ VIẾT TẮT
Stt Từ viế́t tắt Từ được viế́t tắt
3 DAC Mô hì̀nh kiểm soát truy cập tùy ý́
4 MAC Mô hì̀nh kiểm soát truy cập bắ́t buộ̣c
Trang 7LỜI CẢM ƠN
Chúng em xin chân thành cảm ơn Ths Đăng Thê Hung – giảng viên trực tiếphướng dẫn, chỉ bảo, tạ ̣o mọi điều kiện thuận lợi giúp đỡ chúng em trong quá trì̀nh thựchiện đề tài
Tuy đã có rất nhiều cố́ gắ́ng và sự nỗ lực của các thành viên để hoàn thiện đề tài,
nhưng chắ́c chắ́n đề tài “Mô phỏng tính chất No read up cua OLS” của chúng em còn
nhiều thiếu sót Chúng em rất mong nhận được sự góp ý́ từ̀ các thầy giáo để nhóm em cóthể hoàn thiện tố́t hơn các đề tài nghiên cứ́u sau
Chúng em xin chân thành cảm ơn!
Trang 8LỜI MỞ ĐẦU
1 Lí do chọn đề tài
Trong xã hộ̣i hiện đạ ̣i, cơ sở dữ liệu đóng mộ̣t vai trò hết sứ́c quan trọng và thamgia vào hầu hết các lĩ̃nh vực hoạ ̣t độ̣ng Sự ngưng trệ hay hoạ ̣t độ̣ng thiếu chính xáccủa nó có thể gây ra các hậu quả khó lường
Đặc biệt, khi xã hộ̣i chuyển sang giai đoạ ̣n xã hộ̣i hóa thông tin và nền kinh tế chuyển sang nền kinh tế số́ hóa với mứ́c độ̣ liên kết chặt chẽ, với quy mô toàn cầu thì̀ vai trò của cơ sở dữ liệu càng trở nên quan trọng Do vậy, các vấn đề tin cậy, an toàn và bí mật thông tin trong các cơ sở dữ liệu cần được đầu tư nghiên cứ́u dưới cả góc độ̣ hàn lâmlý́ thuyết và cả dưới góc độ̣ triển khai thực tiễn Để đảm bảo an toàn cho mộ̣t hệ thố́ng thì̀kiểm soát truy nhập là mộ̣t trong những biện pháp đầu tiên và quan trọng nhất Nhờ khả năng kiểm soát truy nhập, chúng ta có thể cho phép và từ̀ chố́i mộ̣t chủ thể (mộ̣t người dùng hay mộ̣t tiến trì̀nh nào đó) có quyền truy nhập vào mộ̣t đố́i tượng trong hệ thố́ng
Ta hoàn toàn có thể gắ́n các kiểm soát truy nhập cho cơ sở dữ liệu thông qua các chính sách kiểm soát truy nhập, cụ thể là chính sách kiểm soát truy nhập bắ́t buộ̣c (MAC) và chính sách kiểm soát truy nhập tùy ý́ (DAC)
2 Mục đích chọn đề tài
Có thể nói sự thực thi của MAC trong các hệ quản trị ̣ là dựa và các nhãn – label, dùng để gán cho các chủ thể và đố́i tượng trong hệ thố́ng Do đó, trong Oracle gọi MAC
là an toàn dựa vào nhãn – OLS (Oracle Label Security) Với mục đích nghiên cứ́u và tì̀m hiểu thành phần cũng như triển khai thực tiễn các chính sách áp dụng trong OLS mà
cụ thể là “no read up”, nhóm chúng em đã được thầy hướng dẫn tì̀m hiểu về đề tài “Mô phỏ̉ng tính chất No read up của OLS”
Do kinh nghiệm và kiến thứ́c chưa được sâu sắ́c nên trong báo cáo về đề tài vàdemo của nhóm sẽ gặp phải sai sót, mong thầy và các bạ ̣n góp ý́ để tập thể có thểhoàn thiện tố́t hơn trong các nghiên cứ́u về sau
Trang 9CHƯƠNG 1 TỔNG QUAN KIÊN THỨC MA TRÂN
TRUY NHÂP
1.1 Định nghĩa về̀ mô hình DAC và̀ MAC
Có 2 mô hì̀nh tiêu biểu dùng để quản lý́ việc truy xuất dữ liệu mộ̣t cách đúngđắ́n và đảm bảo tính an toàn cơ sở dữ liệu là DAC (Discretionary Access Control) vàMAC (Mandatory Access Control)
- DAC: quản lý́ việc truy xuất dữ liệu bằng cách quản lý́ việc cấp phát các quyền truy xuất cho những người dùng thích hợp tùy theo yêu cầu của các chính sách bảo mật 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 mộ̣t đố́i tượng khác
- MAC: quản lý́ việc truy xuất dựa trên mứ́c độ̣ nhạ ̣y cảm của dữ liệu và mứ́c độ̣ tin cậy của người dùng truy xuất CSDL Bằng cách phân lớp và gán nhãn cho dữ liệu và người dùng, đồng thời áp dụng quy tắ́c “no read up – no writedown”, mô hì̀nh MAC giúp
ta tránh được việc rò rỉ dữ liệu có mứ́c độ̣ nhạ ̣y cảm cao ra cho những người dùng có mứ́cđộ̣ tin cậy thấp Quyền truy cập được quyết đị ̣nh bởi hệ điều hành chứ́ không phải bởi chủthể
1.2 DAC và̀ MAC trong Oracle
DAC: Trong Oracle Database, các nhà quản trị ̣ có thể áp dụng mô hì̀nh DACthông qua việc quản lý́ các truy xuất theo quyền đố́i tượng và quyền hệ thố́ng
MAC: Oracle hiện thực mô hì̀nh MAC trên lý́ thuyết thành sản phẩm OracleLabel Security (OLS) Tuy nhiên, do mô hì̀nh MAC lý́ thuyết tuân theo nguyên tắ́c “noread up-no write down” nên chỉ bảo đảm tính bảo mật mà không có tính toàn vẹn
Vì̀ vậy, để cung cấp mộ̣t mô hì̀nh bảo vệ tố́t hơn cho CSDL, Oracle đã cải tiến môhì̀nh MAC lý́ thuyết bằng cách thay đổ̉i nguyên tắ́c “no read up – no write down – limitedwrite down” thông qua Oracle Label Security Nhờ vậy tính bảo mật và tính toàn vẹn của
dữ liệu được đảm bảo
Trang 10Mố́i tương quan giữa DAC và MAC: Khi người dùng nhập vào mộ̣t câu truy vấnSQL, đầu tiên Oracle sẽ kiểm tra DAC để đảm bảo rằng user đó có quyền truy vấntrên table được nhắ́c đến trong câu truy vấn Kế tiếp Oracle sẽ kiểm tra xem có chínhsách VPD nào được áp dụng cho table đó không Nếu có, chuỗi điều kiện của chínhsách VPD sẽ được nố́i thêm vào câu truy vấn gố́c, giúp lọc ra được mộ̣t tập các hàng
dữ liệu thỏ̉a điều kiện của VPD Cuố́i cùng Oracle sẽ kiểm tra các nhãn OLS trên mỗihàng dữ liệu có trong tập trên để xác đị ̣nh những hàng nào mà người dùng có thể truyxuất
Hì̀nh 1.2 Kiến trúc Oracle label security
1.3 Định nghĩa quy tắc “No read up – No write down – Limited write down”
No read up: Quy tắ́c 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
No write down : Quy tắ́c 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
Limited write down : Quy tắ́c này cho phép chỉ viết lên những dữ liệu có độ̣
bảo mật thấp hơn độ̣ tin cậy của người dùng ở mộ̣t mứ́c giới hạ ̣n nào đó
Trang 111.4 Tổng quan về̀ Oracle Label Security
1.4.1 Giới thiệu sơ bộ{ Oracle Label Security
Oracle label security (OLS) là mộ̣t sản phẩm được thực hiện dựa trên nền tảng
công nghệ VPD, mộ̣t tùy chọn bảo mật cho cơ sở dữ liệu Oracle Enterprise Edition và
cài đặt sắ́p xếp quyền truy cập vào các hàng dữ liệu bằng cách so sánh các nhãn được đính kèm với các hàng dữ liệu trong bảng ứ́ng dụng (sensitivity labels) và mộ̣t tập hợp các nhãn người dùng (clearance labels)
OLS được ứ́ng dụng rộ̣ng rãi để bảo mật an toàn cho các cơ sở dữ liệu trong cáclĩ̃nh vực mang tính bảo mật cao như quân sự, quố́c phòng, ngân hàng, tập đoàn hoặccác tổ̉ chứ́c lớn trên thế giới
Trong OLS, các nhà quản trị ̣ có thể dễ dàng tạ ̣o thêm các chính sách kiểm soát truy xuất các bảng dữ liệu cho CSDL bằng giao diện đồ họa có tên gọi là Oracle
Policy Manager hoặc bằng các packages được xây dựng sẵn
Có 6 package được hiện thực sẵn cho OLS:
- SA_SYSDBA: tạ ̣o, thay đổ̉i, xóa các chính sách.
- SA_COMPONENTS: đị ̣nh nghĩ̃a và quản lý́ các thành phần của nhãn.
- SA_LABEL_ADMIN: thực hiện các thao tác quản trị ̣ chính sách, nhãn.
- SA_POLICY_ADMIN: áp dụng chính sách cho bảng và schema.
- SA_USER_ADMIN: quản lý́ việc cấp phát quyền truy xuất và quy đị ̣nh mứ́c
độ̣ tin cậy cho các user liên quan
- SA_AUDIT_ADMIN: thiết lập các tùy chọn cho các tác vụ quản trị ̣ việc audit
Quy trì̀nh cơ bản để thực hiện mộ̣t chính sách OLS gồm 5 bước như sau:
B1: Tạ ̣o chính sách OLS
B2: Đị ̣nh nghĩ̃a các thành phần mà mộ̣t nhãn thuộ̣c chính sách trên có thể có.B3: Tạ ̣o các nhãn dữ liệu mà người quản trị ̣ hệ thố́ng cần sử dụng
B4: Gán chính sách trên cho các bảng hoặc schema mà người quản trị ̣ cần bảo vệ.B5: Gán cho các giới hạ ̣n quyền, các nhãn người dùng hoặc các quyền truy xuấtđặc biệt cho những người dùng liên quan
Trang 121.4.2 Nhãn nhạ {y cả̉m (sensity label).
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ườidù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
Mỗi nhãn chứ́a 3 loạ ̣i thành phần (component):
Hình 1.2 Label Components
Mứ́c nhạ ̣y cảm (sensitivity level): mỗi nhãn có 1 mứ́c nhạ ̣y cảm
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
Trang 13 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)
Dạ ̣ng số́ (numeric form): dạ ̣ng số́ của level có thể có giả trị ̣ trong khoảng 9999
0- 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 (horizontal compartments): mỗi nhãn có từ̀ 0 đến nhiều ngăn
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)
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)
Đố́i với mỗi compartment, ta cần đị ̣nh nghĩ̃a 1 dạ ̣ng số́ và 2 dạ ̣ng chuỗi
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 (hierarchical groups): mỗi nhãn có từ̀ 0 đến nhiều nhóm
Trang 14 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 groupcha và có nhiều group con Dữ liệu thuộ̣c mộ̣t group con thì̀ được xem như cũng thuộ̣cgroup cha
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
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
1.4.3 Cách thức hoạ {t độ{ng (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
Trang 16CHƯƠNG 2: SƠ LƯỢC MÔ PHỎNG TINH CHẤT NO
READ UP CUA OLS
2.1 Tình huố́ng mô phỏ̉ng
- Doanh nghiệp cần mộ̣t cơ sở dữ liệu để quản lý́ các thông tin trong nộ̣i bộ̣ doanh
nghiệp CSDL bao gồm tổ̉ng công ty và 2 chi nhánh với tổ̉ng giám đố́c, các giám đố́c chi nhánh và nhiều nhân viên Với số́ lượng thông tin lớn và mứ́c độ̣ bảo mật cao thì̀ cần mộ̣t chính sách quản lý́ CSDL như OLS
Dự án “Quả̉n lý nhân sự”
Sơ đồ CSDL.
Hì̀nh 2.1 Sơ đồ cây phân cấp group của công ty
Cầ̀n bả̉o vệ thông tin nộ{i bộ{ của doanh nghiệp và̀ thông tin cá nhân của nhân viên.
Trang 172.2 Triển khai dự án “Quả̉n lý nhân sự”
2.2.1 Truy cập đọ {c
Hình 2.2
2.2.2 Các loạ {i nhãn của user.
Trong mô hì̀nh này dùng 3 loạ ̣i nhãn: High Sensitive (HS), Sensitive(S) và
Confidential(C).
Mức nhạy cảm(Sensitive level):
Dạ ̣ng số́ Dạ ̣ng chuỗi dài Dạ ̣ng chuỗi ngắ́n