SỞ AN TOÀN THÔNG TIN MÔ PHỎNG TINH CHẤT NO READ UP CUA ORACLE LABEL SECURITY
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
Trang 21
Trang 3TP 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:
2
Trang 41.3 Định nghĩa quy tắc "No read up - No write down - Limited write down" 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,151.4.3 Cach thức hoạt động( quan li truy câp) 15CHƯƠNG 2 : SƠ LƯỢC DEMO MÔ PHỎNG NO READ UP CỦA OLS 16
2.2 Triên khai dư an "Quan lý nhân sư" 17
CHƯƠNG 3: TIÊN HÀNH MÔ PHỎNG TÍNH CHẤT NO READ UP CỦA OLS 20
Trang 53.2.Tiến hành mô phỏ̉ng 20,21
Trang 6Hì̀nh 3.9 Tạ ̣o các label của user và áp dụng chính sách cho bảng NHANSU 24Hì̀nh 3.10 Gán nhãn cho các hàng dữ liệu của bảng 24
Trang 7DANH 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
6 VPD Virtual Private Database
6
Trang 8LỜ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 9LỜ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ì̀ vaitrò 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ườidù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 Tahoà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áchkiể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ínhsách kiểm soát truy nhập tùy ý́ (DAC)
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
8
Trang 10CHƯƠ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ềntruy 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áchbảo mật Khuyết điểm của DAC: cho phép dòng thông tin từ̀ đố́i tượng nàytruyề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 ghithô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 racho những người dùng có mứ́c độ̣ tin cậy thấp Quyền truy cập được quyết đị ̣nhbở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 11Mố́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 121.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ợpcá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áttruy 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:
Trang 131.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êuchí 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ủangườ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
Mỗi nhãn chứ́a 3 loạ ̣i thành phần (component):
Hình 1.2 Label ComponentsMứ́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 14Mứ́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 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ỗikhi 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
Đố́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ầntham khảo đến compartment ta sử dụng tên rút gọn này
Trang 15Mỗ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,000group 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 groupcha
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ỗikhi 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ạ ̣ycảm của mì̀nh
Trang 17CHƯƠNG 2: SƠ LƯỢC MÔ PHỎNG TINH CHẤT NO
READ UP CUA OLS
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 182.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
Trang 192.2.6 Các loạ ̣i nhãn của data.
max_read_label: nhãn thể hiện mứ́c truy xuất cao nhất đố́i với tác vụ đọc Nó bao
gồm level cao nhất (max_level) cho tác vụ đọc, tất cả các compartment và group màngười dùng được phép đọc (read_comps và read_groups) Đây là nhãn mà người quản trị ̣bắ́t buộ̣c phải gán cho người dùng nếu chọn cách quản lý́ quyền truy xuất của người dùngthông qua nhãn
max_write _label: nhãn thể hiện mứ́c truy xuất cao nhất đố́i với quyền viết Nó bao
gồm level cao nhất (max_level) cho tác vụ viết, tất cả các compartment và group mà ngườidùng được phép viết (write _comps và write _groups) Nếu người quản trị ̣ không thiết lậpgiá trị ̣ cho loạ ̣i nhãn này, nó sẽ lấy giá trị ̣ bằng giá trị ̣ của max_read_label
18
Trang 20không chứ́a bất kỳ compartment và group nào.
Trang 2119
Trang 22NO READ UP CUA OLS
3.1 Các ứng dụ ̣ng cầ̀n chuẩn bị cà̀i đặ̣t thực hiện demo
Trang 23Bước 2: Thực hiện các thao tác ban đầu với sqlplus
Hình 3.2 & 3.3
Trang 24Hình 3.4Bước 4: Connect vào user congty, tạ ̣o bảng NHANSU và insert các giá trị ̣ vàođó
Trang 25Bước 5: Bắ́t đầu tương tác với user LBACSYS( bao gồm việc kích hoạ ̣t user
và thay đổ̉i password theo người quản trị ̣), đây là user được oracle cho phépquản lý́ gói package SA_SYSDBA
Hình 3.7Bước 6: Tạ ̣o chính sách OLS, sau đó đị ̣nh nghĩ̃a các level, compartments,
groups
Hình 3.8
Trang 27Hình 3.12Bước 10: Gán nhãn cho các user
Hình 3.13
Bước 11: Kiểm tra kết quả
1.Kết nố́i vào user TONGGIAMDOC
Hình 3.14User này có thể đọc được tất cả các user ở dưới quyền
Trang 28Hình 3.14.12.Kết nố́i với GIAMDOCN
Hình3.15
Hình 3.15.1User GIAMDOCN tương ứ́ng với vị ̣ trí giám đố́c phía nam nên chỉ xem
được thông tin của nhân viên ở chi nhánh của mì̀nh
3.Kết nố́i với user NHANVIENKHB
Trang 29Hình 3.16
User này ở mứ́c tin cậy thấp nhất nên không thể đọc data của các user ở mứ́c tincậy cao hơn như là trưởng phòng, giám đố́c chi nhánh hay tổ̉ng giám đố́c
Hình 3.16.1
Trang 30● 4.1 Kế́t quả̉ đạ ̣t được
●
● Sau mộ̣t thời gian nghiên cứ́u cùng với sự hỗ trợ của giáo viên hướng dẫn, chúng
em đã đạ ̣t được những kết quả như sau:
Trang 31TÀI LIỆU THAM KHẢO
[1] Tài liệu giới thiệu và hướng dẫn sử dụng Oracle label security
-https://docs.oracle.com/database/121/OLSAG/intro.htm#OLSAG3717
[2] Tài liệu về Tì̀m hiểu Oracle label security của AT8B
-https://xemtailieu.com/tai-lieu/tim-hieu-ve-oracle-label-security-1820126.html?fbclid=IwAR2JkOhXJlONPCI-Vv-3k2A3YZY1sV2aa_R9YRrd-ioq2n9Y2haqHCgGPhE
[3] Tài liệu Bảo mật hệ thố́ng thông tin của trường Đạ ̣i học Bách khoa từ̀ bài thựchành 8 đến bài thực hành 11 về Oracle label security
Trang 3229