Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 22 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
22
Dung lượng
545,06 KB
Nội dung
BÀI KIỂM SOÁT TRUY CẬP Bùi Trọng Tùng, Viện Công nghệ thông tin Truyền thông, Đại học Bách khoa Hà Nội 1 Nội dung • Các khái niệm • Mơ hình ma trận điều khiển truy cập • Một số phương pháp điều khiển truy nhập 2 1 KHÁI NIỆM CƠ BẢN Bùi Trọng Tùng, Viện Công nghệ thông tin Truyền thông, Đại học Bách khoa Hà Nội 3 Khái niệm • Điều khiển truy cập (Access Control): Là chức hệ thống thi hành phép chủ thể(người dùng, tiến trình, thiết bị) truy cập đến mức (quyền truy cập) tới tài nguyên hệ thống chia sẻ quyền truy cập cho chủ thể khác • Mơ hình điều khiển truy cập AAA Authentication(Xác thực): Xác định chủ thể thực hành vi truy nhập Authorization(Ủy quyền): phân quyền truy cập Auditing(Kiểm toán): kiểm tra, giám sát hành vi truy cập • Có mặt hầu hết ứng dụng, hệ thống công nghệ thông tin 4 Kiểm sốt hồn tồn (nhắc lại) • Reference Monitor: Module kiểm tra quyền truy cập Không thể vịng tránh Chống sửa đổi Có thể thẩm tra thể TCB User process Reference monitor access request ? Resource policy 5 Ví dụ 1: chia sẻ thông tin mạng xã hội Facebook 6 Ví dụ 2: Chia sẻ Google Drive 7 Ví dụ 3: Điều khiển truy cập tệp tin Microsoft Windows Linux Ubuntu 8 Ma trận điều khiển truy cập • Access Control Matrix (ACM) • Thể quyền cấp phát cho chủ thể sử dụng tới tài nguyên hệ thống • S: Tập chủ thể • O: Tập tài nguyên • R: Tập quyền truy cập s1 A(si, oj): quyền truy s2 cập chủ thể si lên tài nguyên oj … Sn O o1 … om rx, ry, … S 9 Ma trận điều khiển truy cập • Khơng thể cài đặt trực tiếp ACM với đầy đủ thành phần: Số lượng tài nguyên cần phải quản lý lớn Kích thước ma trận tăng tăng nhớ lưu trữ, thời gian tìm kiếm • Cài đặt gián tiếp ACM: Phân rã theo cột: Danh sách điều khiển truy cập (Access Control List - ACL) Phân rã theo dòng: Danh sách lực (Capability List - CL) Các biểu diễn gián tiếp khác 10 10 Danh sách điều khiển truy cập • Tiếp cận hướng tài nguyên: tài nguyên có ACL định nghĩa chủ thể quyền truy cập chủ thể tài nguyên • Cần phải xác thực danh tính chủ thể objectX Chống giả mạo danh tính s1 r1,r2 • Các vấn đề cần giải quyết: Quyền cập nhật ACL s2 r3 Loại cập nhật phép Các thủ tục rút phép • Các khái niệm hỗ trợ: Người sở hữu(Owner) Nhóm(Group) Sn r1, r3 11 11 Danh sách điều khiển truy cập – Ví dụ 12 12 Danh sách lực(Capability List) • Tiếp cận hướng chủ thể: chủ thể có danh sách tài nguyên quyền truy cập tài ngun Khơng có danh tính chủ thể • Danh sách lực thường triển khai dạng thẻ truy cập: Có thể truyền từ chủ thể tới chủ thể khác Không cần xác thực chủ thể • Vấn đề cần giải quyết: Chống giả mạo CL, chống dùng lại trái phép (replay attack) 13 13 CÁC MƠ HÌNH ĐIỀU KHIỂN TRUY CẬP Bùi Trọng Tùng, Viện Công nghệ thông tin Truyền thông, Đại học Bách khoa Hà Nội 14 14 Mơ hình điều khiển truy cập DAC • Discretionary Access Control: mơ hình điều khiển truy cập • • • • tùy nghi Quyền truy cập định nghĩa cho cặp (chủ thể, tài nguyên) định chủ sở hữu tài nguyên Được sử dụng rộng rãi hệ điều hành Hạn chế: khả quản trị lỏng lẻo, không quản lý lan truyền quyền dẫn đến an toàn hệ thống Ví dụ: người dùng cấp quyền truy cập thư mục chia sẻ 15 15 Case study: DAC SQL • Cấp quyền: lệnh GRANT GRANT ON TO [WITH GRANT OPTION] //lan truyền quyền • Thu hồi quyền: lệnh REVOKE REVOKE ON FROM 16 16 Case study: DAC SQL Lan truyền quyền • Một người dùng A chủ sở hữu bảng quan hệ O: người dùng A cấp quyền R O cho người dùng B với tùy chọn WITH GRANT OPTION khơng • Nếu lệnh cấp quyền có tùy chọn WITH GRANT OPTION, B cấp quyền R cho người dùng C khác chủ sở hữu O lan truyền quyền R từ B tới C • Khi A thu hồi quyền R cấp cho B, tất quyền cấp cho người dùng khác lan truyền thu hồi 17 17 DAC điều khiển dịng thơng tin • Hạn chế DAC: cho phép thơng tin truyền từ chủ thể sang chủ thể khác mà khơng có sách kiểm sốt • Ví dụ: Bob không phép xem nội dung tệp tin A Anh ta nhờ Alice(hoặc đánh lừa Alice thực thi chương trình) đọc nội dung tệp tin A chép vào tệp tin B file mà có quyền đọc 18 18 Mơ hình điều khiển truy cập MAC • Mandatory Access Control: điều khiển truy cập cưỡng • • • • Quyền truy cập cấp phát theo sách chung hệ thống dựa phân loại người dùng tài nguyên Phân loại chủ thể: mức độ tin cậy lĩnh vực hoạt động Phân loại tài nguyên: mức độ nhạy cảm lĩnh vực tài ngun Ví dụ: Cơng ty có phịng ban Phịng sản xuất, Phịng kế hoạch, Phịng kinh doanh Người dùng liệu phân loại theo lĩnh vực theo phòng ban 19 19 Mơ hình Bell-LaPadula • Mơ hình kiểm sốt truy cập cho mục tiêu bảo vệ tính bí mật • Phân loại mức độ bí mật(Clearance Level): Top Secret > Secret > Confidential > Unclassified • Phân nhóm tài nguyên chủ thể thành tập(Category) • Nhãn bảo mật bao gồm có (Clearance Level, Category) Mức độ bí mật tập tài nguyên Mức độ bí mật tập chủ thể So sánh mức độ ưu thế: ⊇ 1, ≥ ( 2, 2) ≥ 20 20 10 Nhãn bảo mật – Ví dụ • Label1 = (Top Secret, {alice, david}) • Label2 = (Secret, {bob, eve}) • Label3 =(Top Secret, {david}) • Label4 = (Secret, {alice, david}) • Label1 > Label3 • Label1 > Label4 • (Top Secret, {file1, file2, file5}) 21 21 Các ngun tắc mơ hình • Simple Security Property: chủ thể s đọc đối tượng o chủ thể có mức độ bí mật cao (ngun tắc no-read-up) • *-Property: chủ thể có quyền ghi đối tượng o chủ thể có mức độ bí mật thấp (nguyên tắc no-write-down) • Tuân thủ ma trận điều khiển truy cập: chủ thể s thực thi hành động lên đối tượng o theo ma trận điều khiển truy cập 22 22 11 Mơ hình Bell-LaPadula: Ví dụ • Quyền người dùng? 23 23 Mơ hình Biba • Bảo vệ tính tồn vẹn • Phân loại mức độ tồn vẹn: Crucial > Very Important > Important • Các nguyên tắc: No-write-up: chủ thể s chỉnh sửa đối tượng o mức độ toàn vẹn chủ thể cao No-read-down: s đọc o mức độ toàn vẹn chủ thể thấp Thực thi: chủ thể s1 thực thi chủ thể s2 mức độ toàn vẹn s1 ≥ s2 24 24 12 Mơ hình Chinese Wall • Tài ngun chia thành nhóm tranh chấp • Chủ thể S có quyền truy cập tới đối tượng nhóm, nhiên S truy cập tới O S khơng cịn quyền truy cập tới O’ ≠ O nhóm 25 25 Mơ hình điều khiển truy cập MAC • Ưu điểm: Quản trị tập trung Tính bảo mật cao • Nhược điểm: Đòi hỏi phải phân loại rõ ràng chủ thể tài nguyên Phạm vi ứng dụng hạn chế 26 26 13 Mơ hình điều khiển truy cập RBAC • Role-based Access Control: Điều khiển truy cập theo vai • Việc cấp quyền truy cập không trực tiếp hướng tới người • • • • dùng cuối mà hướng tới nhóm người dùng có nhiệm vụ, vai trị hệ thống Phản ánh tốt đặc trưng nghiệp vụ hệ thống thơng tin tổ chức Vai trị(Role-Group): khái niệm tượng trưng cho nhóm, dạng nhiệm vụ xử lý Mỗi vai trò gán quyền truy cập, có tính lâu dài Mỗi người dùng gán cho nhiều vai trị có quyền truy cập theo vai trị 27 27 Mơ hình điều khiển truy cập RBAC • Có khả diễn tả cao sách tổ chức: phân cơng theo vai trò sở cho sự tách biệt nhiệm vụ tạo chế đại diện ủy nhiệm • Linh hoạt mềm dẻo: yêu cầu bảo mật dẫn đến thay đổi cách thức gán quyền truy nhập vào vai trị • Khả co dãn tốt quyền truy cập không gán trực tiếp cho người dùng cuối 28 28 14 RBAC0 • Ánh xạ UA U x R: Gán vai trị cho người dùng • Ánh xạ PA P x R: Gán quyền cho vai trị • Tập S: phiên truy cập người dùng với vai trị khác Trong phiên, người dùng sử dụng đồng thời nhiều vai trò 29 29 RBAC1 • Tổ chức phân cấp vai trị • Vai trị cấp cao thừa hưởng quyền vai trò cấp thấp 30 30 15 CASE STUDY 1: ĐIỀU KHIỂN TRUY CẬP TRONG HỆ ĐIỀU HÀNH UNIX Bùi Trọng Tùng, Viện Công nghệ thông tin Truyền thông, Đại học Bách khoa Hà Nội 31 31 Các khái niệm • Định danh người dùng: UID • Định danh nhóm người dùng: GID • Định danh tiến trình: PID • Đối tượng cần điều khiển truy cập: tệp tin, thư mục Lưu ý: thiết bị ngoại vi Unix coi tệp tin thư mục • Tổ chức lưu trữ tệp tin, thư mục Thư mục loại tệp tin đặc biệt Tệp tin phải nằm thư mục Cấu trúc phân cấp Quyền truy cập thư mục khơng có tính kế thừa 32 32 16 Điều khiển truy cập Unix • Sử dụng ACL rút gọn • Là dạng RBAC • Các quyền: Đọc(r-Read), Ghi(w-Write), Thực thi(x- Execute) • Khi truy cập tệp tin/thư mục: cần có quyền truy cập tương ứng tất thư mục đường dẫn File File File File User read write - Owner read write - User write write - Group write write - Other - - read User … - - read Read write write … … User n 33 33 Điều khiển truy cập Unix • Mỗi quyền đại diện bit: Có quyền: Khơng có quyền: • Thơng tin quyền truy cập lưu trữ 10 bit: Bit 1: Tệp tin(hiển thị ‘-’ ) hay thư mục(hiển thị ‘d’) Bit 2, 3, 4: Quyền truy cập cho tài khoản sở hữu Bit 5, 6, 7: Quyền truy cập cho nhóm sở hữu Bit 8, 9, 10: Quyền truy cập cho nhóm người dùng khác • Biểu diễn:: Số: chữ số thập phân tương ứng với nhóm quyền Chuỗi: hiển thị ký tự viết tắt cho quyền, dấu ‘-’ biểu thị khơng có quyền 34 34 17 Điều khiển truy cập Unix • Gán quyền sở hữu file/thư mục chown group:user filename • Gán quyền truy cập file/thư mục chmod permission filename • Xem thông tin phân quyền file/thư mục 35 35 Điều khiển truy cập Unix • Unix phân biệt quyền truy cập thư mục truy cập file thư mục • Người dùng xóa file nằm thư mục mà họ có quyền truy cập thư mục khơng có quyền truy cập file? sticky bit: Off: Nếu người dùng có quyền truy cập thư mục, họ đổi tên file, xóa file On: Chỉ có tài khoản sở hữu file, sở hữu thư mục tài khoản root có quyền đổi tên file, xóa file 36 36 18 Điều khiển truy cập Unix • Trên thực tế, người dùng chủ thể thao tác tiến trình chủ thể truy cập tệp tin Tiến trình cấp quyền người dùng kích hoạt • Làm cách để tiến trình có quyền cấp cao hơn? Ví dụ: passwd tệp tin hệ thống người sử dụng thơng thường có nhu cầu sửa nội dung họ thay đổi mật khẩu? • Mỗi tiến trình gắn với giá trị UID, GID: Real UID, GID: UID, GID người dùng kích hoạt tiến trình Effective UID, GID: UID, GID hiệu lực tiến trình truy cập tên tin Saved UID, GID: UID, GID quay lui tiến trình kết thúc truy cập • Tệp tin/thư mục gắn bit setuid cho biết tiến trình truy cập thay đổi effective UID không? 37 37 Điều khiển truy cập Unix Cách thức gán ID cho tiến trình: • Khi tiến trình kích hoạt Real UID: UID người dùng thực thi tiến trình Effective UID: UID người dùng thực thi tiến trình • Khi tiến trình truy cập tệp thi/thư mục: Real UID: UID người dùng thực thi tiến trình Saved UID: UID cũ Effective UID Effective UID: thay đổi thành UID người dùng sở hữu setuid = 1, ngược lại khơng đổi • Khi tiến trình kết thúc truy cập: trả lại giá trị giống tiến trình trước truy cập tệp tin/thư mục 38 38 19 Điều khiển truy cập Unix • Tài khoản root: UID = Có quyền truy cập tất file • fork() exec(): tiến trình thừa kế giá trị ID, trừ file có thiết lập setuid = • Lời gọi hệ thống setuid(int newid): Có thể thiết lập Effective UID cho RealUID Saved UID • Các lời gọi hệ thống khác: seteuid(), setreuid(),… 39 39 MAC Linux • Security-Enhanced Linux(SELinux): kernel module có chức thiết lập sách truy cập tập trung • Các chế độ: Enforcing: Chế độ mặc định, thực thi sách bảo mật SELinux hệ thống Permissive: Không thực thi sách bảo mật, cảnh báo ghi lại hành động Disabled: Vơ hiệu hóa SELinux 40 40 20 Một số lệnh quan trọng SELinux • setsebool policy = on/off: Bật/tắt sách • getsebool: Hiển thị trạng thái sách • setenforce mode: Thiết lập chế độ hoạt động SELinux 41 41 Hạn chế Unix • Các ứng dụng network deamon sshd, ftpd thực thi với quyền root • Biến mơi trường LIBPATH bị kẻ cơng thay đổi • Tiến trình truy cập thực thi file thư mục /tmp • TOCTTOU: 1) 2) Tiến trình sử dụng quyền root để mở file đó, ví dụ /tmp/X Trước file mở, tiến trình thay đổi file /tmp/X thành symbolic link tới file /etc/shadow 42 42 21 THẢO LUẬN: KIỂM SOÁT TRUY CẬP TRÊN CÁC ỨNG DỤNG Bùi Trọng Tùng, Viện Công nghệ thông tin Truyền thông, Đại học Bách khoa Hà Nội 43 43 22