Bài giảng An toàn an ninh thông tin: Chương 7 Kiểm soát truy cập cung cấp cho người học những kiến thức như: Các khái niệm cơ bản; 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. Mời các bạn cùng tham khảo!
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) • Monitor reference: 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 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ể • Các vấn đề cần giải quyết: Quyền cập nhật ACL 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) 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 • 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ể 13 13 Mơ hình Bell-Lapuda • 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 ngun 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) ≥ 14 14 Các ngun tắc mơ hình • Simple Security Property: chủ thể s đọc đối tượng o có mức độ bí mật cao (ngun tắc no-read-up) • *-Property: chủ thể có quyền ghi đối tượng s mức độ bí mật thấp (ngun tắc nowrite-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 15 15 Mơ hình Bell-Lapuda: Ví dụ • Quyền người dùng? 16 16 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: s chỉnh sửa o mức độ tồn vẹn cao No-read-down: s đọc o mức độ tồn vẹn thấp Thực thi: chủ thể s1 thực thi chủ thể s2 mức độ toàn vẹn cao 17 17 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 khơng quyền truy cập tới O’ ≠ O nhóm 18 18 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 19 19 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ẻ 20 20 10 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 21 21 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 22 22 11 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 23 23 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 24 24 12 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ế 25 25 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ị 26 26 13 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 27 27 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ị 28 28 14 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 29 29 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 30 30 15 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 tính kế thừa 31 31 Đ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 read write - … User read write - Owner User write write - Group write write - Other - - read User - - read Read write write … Role r 32 32 16 Đ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 nhóm sở hữu Bit 5, 6, 7: Quyền truy cập cho nhóm quản trị 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 33 33 Đ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 34 34 17 Đ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 35 35 Đ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? 36 36 18 Đ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 37 37 Đ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(),… 38 38 19 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 39 39 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 40 40 20 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 • TOTTOU: 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 41 41 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 42 42 21 ... 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 30 30 15 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:... quản lý lan truyền quyền dẫn đến an tồn hệ thống Ví dụ: người dùng cấp quyền truy cập thư mục chia sẻ 20 20 10 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