1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài thực hành bảo mật hệ thống thông tin số 10 oracle label security

18 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 18
Dung lượng 288,35 KB

Nội dung

Bảo Mật Hệ Thống Thông Tin Lab 10 Bài thực hành số 10 ORACLE LABEL SECURITY (3)  Tóm tắt nội dung:  Các loại nhãn người dùng  Các quyền đặc biệt sách  Các điều kiện áp dụng sách  Áp dụng sách cho bảng I Các loại nhãn người dùng A Lý thuyết  Trong Lab - Oracle Label Security (1), phần I.A.4, nhắc đến quy trình để xây dựng sách OLS Theo đó:  B4: Gán sách cho table schema mà bạn muốn bảo vệ  B5: Gán giới hạn quyền, nhãn người dùng quyền truy xuất đặc biệt cho người dùng liên quan  Thứ tự bước hợp lý, OLS, sách định bảo vệ cho bảng/schema, kể từ thời điểm người dùng khơng thể truy xuất vào bảng/schema trừ gán cho nhãn người dùng (user label) thích hợp cấp quyền đặc biệt sách  Tuy nhiên, để hiểu tác dụng tùy chọn áp dụng sách bước 4, ta cần phải hiểu ràng buộc người dùng truy xuất bảng schema bảo vệ Do vậy, để việc tìm hiểu OLS dễ dàng hơn, lab tạm hốn đổi thứ tự tìm hiểu thực bước bước Khi hiểu biết cách thực sách OLS, bạn thực bước theo thứ tự để đảm bảo tính bảo mật tồn vẹn cho liệu Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM Bảo Mật Hệ Thống Thông Tin Lab 10 Nhãn người dùng (user label)  Tại thời điểm, người dùng có nhãn gọi nhãn người dùng (user lable) Nhãn có tác dụng cho biết mức độ tin cậy người dùng liệu sách bảo vệ Nhãn người dùng gồm thành phần giống nhãn liệu Khi người dùng truy xuất bảng bảo vệ, nhãn người dùng so sánh với nhãn liệu dòng bảng để định dịng người dùng truy xuất Hình bên minh họa mối quan hệ tương ứng user label data label Các nhãn thể quyền truy xuất (user authorization) gán cho user Các nhãn thể mức độ nhạy cảm liệu (data sensitivity) gán cho liệu Để truy xuất liệu, loại nhãn phải tương thích với (access mediation)  OLS cung cấp cho cách thức để quản lý user label: gán cụ thể thành phần nhãn cho user gán nguyên nhãn cho user Trong phần sau trình bày kỹ cách quản lý  Dù sử dụng hình thức quản lý nào, người dùng có tập xác thực quyền (set of authorizations) để lưu giữ thông tin quyền hạn truy xuất liệu sách bảo vệ Tập xác thực quyền gồm có:  Level cao (User Max Level) người dùng tác vụ read write  Level thấp (User Min Level) người dùng tác vụ write User Min Level phải thấp User Max Level  Tập compartment truy xuất Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM Bảo Mật Hệ Thống Thông Tin Lab 10  Tập group truy xuất (Đối với compartment group có lưu kèm thơng tin quyền truy xuất phép quyền “chỉ đọc” (read-only) hay quyền “đọc-viết” (read-write))  Với tập xác thực quyền, ta hình thành nên nhiều tổ hợp thành phần nhãn Do người dùng có nhiều user label khác nằm giới hạn tập xác thực quyền  Session label:  Session label user label mà người dùng sử dụng để truy xuất liệu session làm việc Session label tổ hợp thành phần nằm giới hạn tập xác thực quyền user  Người quản trị mơ tả session label mặc định cho người dùng thiết lập tập xác thực quyền cho người dùng  Bản thân người dùng thay đổi session label thành nhãn với điều kiện nhãn nằm giới hạn xác thực quyền họ  Row label:  Khi hàng insert vào bảng bảo vệ, cần có nhãn liệu (data label) định cho hàng liệu Hoặc hàng update, nhãn liệu hàng bị thay đổi  Những nhãn liệu trường hợp vừa nói gán cho dịng liệu tương ứng theo cách sau: - Người update/insert hàng liệu định cách tường thực tác vụ update/insert - Hàm gán nhãn (labeling function) bảng tự sinh nhãn theo điều kiện thực function tương ứng - Bằng giá trị mặc định người quản trị quy định gán quyền hạn truy xuất cho người dùng - Bằng giá trị session label người dùng  Tùy ngữ cảnh trường hợp mà giá trị nhãn thêm vào rơi vào trường hợp trường hợp kể  Row label từ dùng để nhãn áp dụng cho hàng liệu hàng update insert Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM Bảo Mật Hệ Thống Thông Tin Lab 10  Khi insert/update, người dùng mơ tả tường minh row label cho dòng liệu update/insert, với điều kiện row label phải thỏa đồng thời điều kiện sau: - Level thấp max level người dùng - Level cao level người dùng - Chỉ chứa compartment xuất session label người dùng người dùng có quyền viết (write) compartment - Chỉ chứa group xuất session label người dùng người dùng có quyền viết (write) group Quản lý người dùng theo loại thành phần nhãn  Để gán quyền theo cách ta cần định cụ thể level, compartment, group mà user truy xuất  Để dễ hiểu phần này, người học cần nhớ lại quy tắc quản lý truy xuất OLS mà ta nêu lên Lab – Oracle Label Security (1): “no read up - no write up - limited write down”  Quản lý level: gồm có thơng số:  max_level: level cao mà người dùng có quyền đọc viết Vì quy tắc quản lý đòi hỏi “no read up – no write up” (không đọc viết lên liệu có độ bảo mật cao độ tin cậy user) nên max level “giới hạn trên” cho việc truy xuất (đọc viết) người dùng  min_level: level thấp mà người dùng có quyền write Vì quy tắc quản lý yêu cầu “limited write down” (chỉ viết lên liệu có độ bảo mật thấp độ tin cậy người dùng mức giới hạn đó) nên level “giới hạn dưới” cho tác vụ viết người dùng “Giới hạn dưới” cho tác vụ đọc level thấp mà sách quy định  def_level: level cho session label mặc định người dùng (phải thỏa level 'PUB', def_level => 'CONF', row_level => 'CONF'); compartment cho END; /  Gán người dùng, ta dùng thủ tục dùng thủ tục SA_USER_ADMIN.SET_COMPARTMENTS CONN hr_sec/hrsec; BEGIN sa_user_admin.set_compartments (policy_name => 'ACCESS_LOCATIONS', user_name => 'LDORAN', read_comps => 'SM,HR', write_comps => 'SM', def_comps => 'SM', row_comps => 'SM'); compartment cho END; /  Gán người dùng, ta SA_USER_ADMIN.SET_GROUPS Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM 11 Bảo Mật Hệ Thống Thông Tin Lab 10 CONN hr_sec/hrsec; BEGIN sa_user_admin.set_groups (policy_name => 'ACCESS_LOCATIONS', user_name => 'LDORAN', read_groups => 'UK,CA', write_groups => 'UK', def_groups => 'UK', row_groups => 'UK'); END; / Gán quyền người dùng theo nhãn  Karen Partner trưởng phòng Sales Ta gán nhãn phù hợp với phòng ban cấp bậc Karen CONN hr_sec/hrsec; BEGIN sa_user_admin.set_user_labels (policy_name => 'ACCESS_LOCATIONS', user_name => 'KPARTNER', max_read_label => 'SENS:SM,HR:UK,CA', max_write_label => 'SENS:SM:UK', min_write_label => 'CONF', def_label => 'SENS:SM,HR:UK', row_label => 'SENS:SM:UK'); END; / Gán quyền đặc biệt  Steven King tổng giám đốc có tồn quyền sở liệu, nên ta cấp quyền FULL cho người dùng Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM 12 Bảo Mật Hệ Thống Thông Tin Lab 10 CONN hr_sec/hrsec; BEGIN sa_user_admin.set_user_privs (policy_name => 'ACCESS_LOCATIONS', user_name => 'SKING', PRIVILEGES => 'FULL'); END; /  Neena Kochhar giám đốc điều hành nên ta cấp quyền READ để người xem tồn liệu CONN hr_sec/hrsec; BEGIN sa_user_admin.set_user_privs (policy_name => 'ACCESS_LOCATIONS', user_name => 'NKOCHHAR', PRIVILEGES => 'READ'); END; /  Lưu ý: tham số user_name procedure vừa sử dụng phần B – Thực hành không thiết phải user thật hệ thống Nó role, tên ứng dụng,… II Áp dụng sách OLS A Lý thuyết Đối tượng bảo vệ  OLS cho phép ta gán sách cho đối tượng cần bảo vệ theo cấp độ: cấp schema cấp bảng Khi bảng cần bảo vệ sách đó, ta gán sách cho cụ thể bảng Nếu muốn tất bảng thuộc schema bảo vệ sách, ta gán sách cho schema  Lưu ý: Nếu sách gán cho schema đồng thời gán tường minh cho bảng thuộc schema tùy chọn, thao tác cấp độ bảng override tùy chọn, thao tác cấp độ schema Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM 13 Bảo Mật Hệ Thống Thông Tin Lab 10 Các thao tác quản trị việc gán sách cho table/schema  Áp dụng sách (Apply): ta gán sách cho cụ thể bảng/schema cần bảo vệ  Loại bỏ sách (Remove): loại bỏ bảo vệ sách khỏi bảng/schema Lưu ý loại bỏ vậy, cột chứa nhãn sách cịn table, trừ ta xóa cột cách tường minh  Ta Enable/Disable sách gán cho schema/bảng khoảng thời gian  Để thay đổi thiết lập tùy chọn sách bảng trước hết ta phải remove sách sau apply trở lại với thay đổi tùy chọn Các tùy chọn cho việc áp dụng sách  Các tùy chọn cho phép ta quy định số ràng buộc việc áp dụng sách:  LABEL_DEFAULT : Sử dụng row label mặc định người dùng để làm nhãn cho hàng liệu insert vào trừ row label định tường minh người insert hàm gán nhãn  LABEL_UPDATE: bình thường, người dùng update liệu thay đổi nhãn liệu kèm theo Tuy nhiên, tham số bật lên, người muốn thay đổi nhãn liệu người phải có quyền sau: WRITEUP, WRITEDOWN, and WRITEACROSS  CHECK_CONTROL: tùy chọn thiết lập, liệu update/insert nhãn liệu bị thay đổi/tạo mới, OLS kiểm tra xem nhãn liệu có vượt giới hạn quyền người update/insert hay không để tránh xảy tình trạng người sau update/insert liệu khơng thể truy xuất lại liệu  READ_CONTROL: áp dụng sách cho câu truy vấn Chỉ hàng có xác nhận quyền truy xuất thao tác SELECT, UPDATE DELETE  WRITE_CONTROL: xác định khả INSERT, UPDATE, DELETE liệu hàng Nếu tùy chọn kích hoạt, người dùng phải xác thực quyền đầy đủ trước thực lệnh INSERT, UPDATE, DELETE Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM 14 Bảo Mật Hệ Thống Thông Tin Lab 10  INSERT_CONTROL: có tác dụng giống tùy chọn WRITE_CONTROL loại câu lệnh INSERT  DELETE_CONTROL: có tác dụng giống tùy chọn WRITE_CONTROL loại câu lệnh DELETE  UPDATE_CONTROL: có tác dụng giống tùy chọn WRITE_CONTROL loại câu lệnh UPDATE  ALL_CONTROL: áp dụng ràng buộc tùy chọn  NO_CONTROL: không áp dụng ràng buộc sách Gán nhãn cho liệu  Có cách để hàng liệu gán nhãn sách:  Gán tường minh nhãn cho dịng liệu thơng qua lệnh INSERT (cho liệu mới) UPDATE (cho liệu tồn tại)  Thiết lập tùy chọn LABEL_DEFAULT  Viết function dùng cho việc gán nhãn cho hàng liệu bảng tùy theo nội dung liệu Function tự động gọi cho lệnh INSERT UPDATE độc lập với việc xác nhận quyền user  Tuy nhiên phạm vi thực hành dùng cách để gán nhãn liệu cho sách B Thực hành Áp dụng sách cho bảng  Để gán sách cho table ta dùng thủ tục SA_POLICY_ADMIN.APPLY_TABLE_POLICY CONN sec_admin/secadmin; BEGIN sa_policy_admin.apply_table_policy (policy_name => 'ACCESS_LOCATIONS', schema_name => 'HR', table_name => 'LOCATIONS', table_options => 'NO_CONTROL'); END; / Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM 15 Bảo Mật Hệ Thống Thông Tin  Lab 10 Cần nhớ điều quan trọng table bảo vệ sách, hàng liệu chưa gán nhãn truy xuất Do áp dụng sách bảo vệ cho bảng có chứa sẵn liệu, ta chọn tùy chọn ‘NO_CONTROL’ để sách gán cho bảng (cột OLS_COLUMN thêm vào bảng) ràng buộc sách chưa áp dụng lên bảng  Ta đăng nhập vào tài khoản HR để xem thay đổi bảng sau gán sách: CONN HR/HR; DESCRIBE locations; Name Null? Type - -LOCATION_ID NOT NULL NUMBER(4) STREET_ADDRESS VARCHAR2(40) POSTAL_CODE VARCHAR2(12) CITY NOT NULL VARCHAR2(30) STATE_PROVINCE VARCHAR2(25) COUNTRY_ID CHAR(2) OLS_COLUMN NUMBER(10) Gán nhãn cho liệu  Để sec_admin thiết lập nhãn cho dòng liệu ta cần gán quyền cho sec_admin: CONN hr/hr; GRANT select, insert, update ON locations TO sec_admin;  Khi có đủ quyền ta gán nhãn cho dòng liệu Đầu tiên ta gán nhãn CONF cho liệu bảng: CONN sec_admin/secadmin; UPDATE hr.locations SET ols_column = char_to_label ('ACCESS_LOCATIONS', 'CONF');  Tiếp theo ta cập nhật nhãn dòng liệu nước Mỹ, Anh, Canada: 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 16 Bảo Mật Hệ Thống Thông Tin UPDATE hr.locations Lab 10 SET ols_column = char_to_label = char_to_label = char_to_label ('ACCESS_LOCATIONS', 'CONF::US') WHERE country_id = 'US'; UPDATE hr.locations SET ols_column ('ACCESS_LOCATIONS', 'CONF::UK') WHERE country_id = 'UK'; UPDATE hr.locations SET ols_column ('ACCESS_LOCATIONS', 'CONF::CA') WHERE country_id = 'CA';  Giả sử có số địa thông tin đặc biệt cần bảo mật, nên ta gán cho dịng nhãn có độ bảo mật cao hơn: CONN sec_admin/secadmin; UPDATE hr.locations SET ols_column = char_to_label ('ACCESS_LOCATIONS', 'CONF:SM:UK,CA') WHERE (country_id = 'CA' and city = 'Toronto') or (country_id = 'UK' and city = 'Oxford'); UPDATE hr.locations SET ols_column = char_to_label = char_to_label ('ACCESS_LOCATIONS', 'CONF:HR:UK') WHERE country_id = 'UK' and city = 'London'; UPDATE hr.locations SET ols_column ('ACCESS_LOCATIONS', 'SENS:HR,SM,FIN:CORP') WHERE country_id = 'CH' and city = 'Geneva'; COMMIT ;  Lưu ý lệnh ta có dùng thủ tục CHAR_TO_LABEL Do giá trị nhãn lưu bảng thực chất tag number Cho nên ta phải dùng hàm để chuyển từ dạng chuỗi ngắn nhãn thành dạng số  Tới ta thực xong bước quy trình thực OLS Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM 17 Bảo Mật Hệ Thống Thông Tin  Lab 10 Do thiết lập tùy chọn ‘NO_CONTROL’ cho việc áp dụng sách nên cần remove sách khỏi bảng add lại sách với tùy chọn để sách kích hoạt bảo vệ cho bảng CONN sec_admin/secadmin; BEGIN sa_policy_admin.remove_table_policy (policy_name => 'ACCESS_LOCATIONS', schema_name => 'HR', table_name => 'LOCATIONS'); sa_policy_admin.apply_table_policy (policy_name => 'ACCESS_LOCATIONS', schema_name => 'HR', table_name => 'LOCATIONS', table_options => 'READ_CONTROL,WRITE_CONTROL,CHECK_CONTROL'); END; / III Bài tập Tạo user: sales_manager, sales_north, sales_west, sales_east, sales_south Cấp quyền để user kết nối vào CSDL Gán user label cho user vừa tạo Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM 18 ... group thành compartment group có định nghĩa sách Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM 10 Bảo Mật Hệ Thống Thông Tin Lab 10 B Thực hành (Ý nghĩa tham số thủ tục... Bách Khoa TP.HCM Bảo Mật Hệ Thống Thông Tin Lab 10 Quản lý người dùng thông qua nhãn  Để tiện lợi hơn, OLS cho phép người quản trị thiết lập tập xác thực quyền cho người dùng thông qua việc gán... bảng bảo vệ sách (phải thỏa Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM Bảo Mật Hệ Thống Thông Tin Lab 10 level

Ngày đăng: 29/12/2022, 14:57