Bài th c hành s 9
ORACLE LABEL SECURITY (2)
Tóm t t n i dung:
Các thành ph n c a nhãn trong Oracle Label Security
Nhãn d li u (data label)
I. Các thành ph n c a nhãn d li u
A. Lý thuy tế
1. Nhãn d li u (data label)
Nh đã bi t, mô hình MAC b o v d li u b ng cách quy đnh m t h th ngư ế
bi u di n m c đ quan tr ng, bí m t cho các đi t ng d li u theo c p b c t ượ
cao xu ng th p. Ví d , m t công ty có th phân lo i m c đ bí m t thành 4 c p
v i m c đ b o m t gi m d n: TOP SECRET (t i m t), SECRET (bí m t),
CONFIDENTIAL (ch l u hành n i b ), PUBLIC (công khai). ư
Trong OLS, Oracle s d ng các nhãn d li u (data label) đ phân l p d li u
theo m c đ nh y c m c a nó và m t s tiêu chí khác. Nói cách khác, 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 đó. ườ ế
Nhãn d li u là 1 thu c tính đn g m 3 lo i thành ph n: ơ level, compartment,
group.
N u m t chính sách đc áp d ng cho m t b ng, thì m i hàng trong b ng đóế ượ
s đc gán m t ượ nhãn d li u (data label) đ bi u di n m c đ b o m t c a
hàng d li u đó. Giá tr c a nhãn đc l u trong c t ch a thông tin c a chính ượ ư
sách (c t đc t đng t o thêm khi chính sách đc áp d ng cho b ng). ượ ượ
Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM
2. Các thành ph n c a nhãn
a. Level
M i nhãn có đúng 1 level bi u th đ nh y c m c a d li u. OLS cho phép
t i đa 10,000 level trong 1 chính sách.
Đi v i m i level, ta c n đnh nghĩa 1 d ng s và 2 d ng chu i cho nó. VD:
D ng
sD ng chu i dài D ng chu i ng n
40 HIGHLY_SENSITIVE HS
30 SENSITIVE S
20 CONFIDENTIAL C
10 PUBLIC P
D ng s (numeric form) : d ng s c a level có th có gi tr trong kho ng 0-
9999. Level có giá tr càng cao thì đ nh y c m càng tăng. Trong VD trên,
Highly_sensitive có đ nh y c m cao nh t. User nên tránh s d ng m t chu i
tu n t liên ti p các giá tr đ bi u di n cho 1 b level c a nhãn đ tránh tình ế
tr ng khi có level m i thêm vào thì ph i đnh nghĩa l i toàn b các level.
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. ế
b. Compartment
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. VD:
D ng s D ng chu i dài D ng chu i
Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM
ng n
85 FINANCIAL FINCL
65 CHEMICAL CHEM
45 OPERATIONAL OP
D ng s (numeric form) : d ng s c a compartment 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 compartment trong m t label. Đi
v i VD trên, ta s có các nhãn d ng nh sau: ư
S:OP,CHEM,FINCL (do OP có giá tr nh nh t nên nó đc hi n th tr c ượ ướ
nh t)
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. ế
c. Group
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 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 group ượ ư
cha. VD:
D ng
sD ng chu i dài D ng chu i
ng nGroup cha
Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM
1000 WESTERN_REGION WR
1100 WR_SALES WR_SAL WR
1200 WR_HUMAN_RESOURCES WR_HR WR
1300 WR_FINANCE WR_FIN WR
1310 WR_ACCOUNTS_PAYABLE WR_AP WR_FIN
1320 WR_ACCOUNTS_RECEIVABLE WR_AR WR_FIN
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. ế
B. Th c hành
1. T o level
ph n này ta s t o các thành ph n level cho chính sách
ACCESS_LOCATIONS mà ta đã t o trong bài lab “Oracle Label Security (1)”.
Ta quy đnh chính sách ACCESS_LOCATIONS c a ta có 3 level (theo th t
m c đ b o m t gi m d n): SENSITIVE, CONFIDENTIAL, PUBLIC. Ta dùng
procedure SA_COMPONENTS.CREATE_LEVEL đ t o ra các level:
CONN sec_admin/secadmin;
BEGIN
sa_components.create_level
(policy_name => 'ACCESS_LOCATIONS',
long_name => 'PUBLIC',
short_name => 'PUB',
level_num => 1000);
END;
/
Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM
EXECUTE sa_components.create_level
('ACCESS_LOCATIONS',2000,'CONF','CONFIDENTIAL');
EXECUTE sa_components.create_level
('ACCESS_LOCATIONS',3000,'SENS','SENSITIVE');
Đo n code trên cho ta th y 2 cách khác nhau đ th c thi procedure. Ng i đc ườ
cũng c n chú ý cách ch n s cho các level.
Đ thay đi đy đ và tên rút g n c a level, ta dùng th t c
SA_COMPONENTS.ALTER_LEVEL. N u level đang đc dùng b i ít nh t m tế ượ
nhãn d li u nào đó, ta có th thay đi tên đy đ c a nó nh ng không th thay ư
đi tên rút g n. Trong m i tr ng h p, ta đu không th thay đi s đi di n ườ
c a level.
CONN sec_admin/secadmin;
EXECUTE sa_components.create_level
('ACCESS_LOCATIONS',4000,'HS','HIGHLY SECRET');
BEGIN
sa_components.alter_level
(policy_name => 'ACCESS_LOCATIONS',
level_num => 4000,
new_short_name => 'TS',
new_long_name => 'TOP SECRET');
END;
/
BEGIN
sa_components.alter_level
(policy_name => 'ACCESS_LOCATIONS',
short_name => 'TS',
new_long_name => 'TOP SENSITIVE');
END;
/
Đ xóa m t level ta dùng th t c SA_COMPONENTS.DROP_LEVEL. N u ế
level đang đc s d ng b i b t k nhãn d li u nào, ta không th xóa nó.ượ
CONN sec_admin/secadmin;
Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM