HĐH gồm một tập các đối tượng, đối tượng: phần cứng hoặc phần mềm Mỗi đối tượng có một tên duy nhất và có thể truy cập đến thông qua một số toán tử (hàm hệ thống) Bảo vệ: Đảm bảo mỗi đối tượng được truy cập đúng cách và chỉ bởi các tiến trình được phép Cấu trúc miền bảo vệ Quyền truy cập = trong đó tập các toán tử là một tập con của tập tất cả các toán tử hợp lệ có thể thực hiện trên đối tượng Miền = Tập các quyền truy cập Cài đặt miền...
Nguyên lý hệ điều hành Bảo vệ an ninh Nguyễn Hải Châu Khoa Công nghệ Thông tin Trường Đại học Cơng nghệ Bảo vệ Bảo vệ Mục đích bảo vệ Các miền bảo vệ Ma trận truy cập Cài đặt ma trận truy cập Hủy bỏ quyền truy cập Cấu trúc miền bảo vệ z z Quyền truy cập = tập toán tử tập tập tất tốn tử hợp lệ thực đối tượng Miền = Tập quyền truy cập z z z HĐH gồm tập đối tượng, đối tượng: phần cứng phần mềm Mỗi đối tượng có tên truy cập đến thơng qua số tốn tử (hàm hệ thống) Bảo vệ: Đảm bảo đối tượng truy cập cách tiến trình phép Cài đặt miền UNIX z Hệ Unix có miền: z z z Người sử dụng (user) Người quản trị hệ thống (supervisor/root) UNIX z z Miền = user-id “Chuyển” miền bảo vệ thông qua hệ thống tệp: z z Mỗi tệp có bit gắn với miền (setuid bit) Khi tệp f thực bit setuid=1 user-id đặt owner tệp f Khi thực xong, userid trả lại giá trị cũ Cài đặt tên miền Multics z z z Ma trận truy cập Các miền bảo vệ bao (ring) Gọi Di Dj hai miền bảo vệ Nếu j < i ⇒ Di ⊆ Dj z z z z Biểu diễn miền bảo vệ dạng ma trận (Ma trận truy cập - access matrix) Giả sử ma trận access Các hàng biểu diễn miền Các tên cột biểu diễn đối tượng Phần tử access(i, j) tập toán tử tiến trình thực miền Di thao tác đối tượng Oj Multics Rings Ma trận truy cập Sử dụng ma trận truy cập z z Nếu tiến trình miền Di muốn thực tốn tử “op” đối tượng Oj, “op” phải nằm ma trận truy cập Mở rộng: Bảo vệ “động” z z Các tốn tử để thêm, xóa quyền truy cập Các quyền truy cập đặc biệt: z z z z Ma trận truy cập với miền xem đối tượng Chủ đối tượng Oi Sao chép toán tử “op” từ Oi sang Oj Quyền điều khiển – Di sửa đổi quyền truy cập Dj transfer – switch từ miền Di sang Dj Ma trận truy cập với quyền truy cập Copy Ma trận truy cập với quyền truy cập Owner Cài đặt ma trận truy cập z Có cách cài đặt: z z z z Bảng toàn cục (global table): Phương pháp đơn giản Danh sách truy cập (access list) cho đối tượng Danh sách khả (capability list) cho miền Cơ chế khóa – chìa (Lock-Key) Danh sách truy cập z z z Mỗi cột ma trận truy cập cài đặt thành danh sách truy cập cho đối tượng Danh sách gồm phần tử đôi Các hệ điều hành: UNIX, Windows sử dụng danh sách truy cập Bảng toàn cục z Là bảng với phần tử ba: z Bảng tồn cục thường lớn nên khơng nằm tồn nhớ Ỉ Cần nhiều thao tác vào/ra Tốn thời gian tìm kiếm bảng tồn cục z z Danh sách khả z z Mỗi hàng ma trận truy cập cài đặt thành danh sách khả cho miền Một danh sách khả danh sách đối tượng kèm theo quyền Cơ chế khóa – chìa z z z z Là kết hợp danh sách truy cập danh sách khả Đối tượng có danh sách mẫu bit gọi khóa Mỗi miền có danh sách mẫu bit gọi chìa Một tiến trình thực miền xem có chìa thao tác đối tượng chìa khớp với khóa So sánh phương pháp cài đặt ma trận truy cập z z z z Bảng toàn cục: Cài đặt đơn giản, tốn nhớ Danh sách truy cập: Liên quan trực tiếp đến nhu cầu NSD, khó xác định quyền truy cập cho miền Danh sách khả năng: Dễ dàng xác định quyền truy cập cho miền, không liên quan trực tiếp đến nhu cầu NSD Khóa-chìa: Kết hợp ưu điểm danh sách truy cập danh sách khả Hủy bỏ quyền truy cập z Các vấn đề cần xem xét: z z z z Vấn đề an ninh z An ninh: Xem xét môi trường bên hệ thống để bảo vệ hệ thống khỏi: z z z z An ninh Hủy hay có trễ? Nếu có trễỈKhi nào? Phạm vi ảnh hưởng: Tồn NSD hay nhóm NSD định? Hủy bỏ số quyền định hay tất quyền? Hủy tạm thời hay vĩnh viễn? Truy cập trái phép Sửa đổi phá hoại hệ thống Vơ tình làm hỏng tính quán hệ thống Dễ đảm bảo an ninh tránh hành động vô ý đảm bảo anh ninh cho phá hoại/truy cập trái phép có mục đích Vấn đề an ninh Xác thực Các mối đe dọa chương trình hệ thống Mã hóa Xác thực z z Định danh người sử dụng thường thực qua mật Mật phải giữ bí mật z z z z z Thường xuyên đổi mật Sử dụng mật chuỗi ký tự khó đốn Ghi lại tất lần login khơng thành cơng Mật mã hóa sử dụng lần (ví dụ: SecurID) Có thể sử dụng cơng nghệ mới, ví dụ xác thực sinh trắc học Đe dọa chương trình z Trojan Horse (Con ngựa thành T’roa) z z z z z z Người lập trình để ngỏ “cửa” biết để sử dụng sai mục đích, vi phạm an ninh Có thể xuất chương trình dịch Worms (Sâu): Chương trình độc lập, có chế tự sinh Internet worm (sâu Internet) z Trap Door (Cửa sập) z z Đoạn mã sử dụng sai mục đích Khai thác chế setuid Đe dọa hệ thống z z Viruses (Vi rút) – Đoạn mã ký sinh vào chương trình khác z Stack/buffer overflow (tràn đệm/ngăn xếp) z z z Sâu Internet Albert Morris (1998) Khai thác đặc điểm mạng UNIX (truy cập từ xa) lỗi chương trình finger sendmail Grappling hook program uploaded main worm program Chủ yếu ảnh hưởng đến máy vi tính Lây nhiễm qua phương tiện lưu trữ, qua chương trình Safe computing (Tính tốn an tồn) Từ chối dịch vụ: Làm cho máy bị công hoạt động tải dẫn đến khơng phục vụ u cầu Kiểm sốt đe dọa z z z Kiểm tra hành động gây an ninh (ví dụ liên tục gõ sai mật khẩu) Ghi nhật ký hệ thống: Thời gian, NSD loại truy cập đến đối tượng – hữu ích cho việc tìm chế an ninh tốt khôi phục việc an ninh Quét hệ thống định kỳ để tìm lỗ hổng an ninh Kiểm soát z Cần kiểm soát: z z z z z Mật ngắn dễ đốn (ví dụ abc123) Các chương trình có setuid chưa xác thực Các chương trình chưa xác thực thư mục hệ thống Các tiến trình thực lâu Các thư mục bảo vệ không cách z z z Các tệp liệu hệ thống bảo vệ không cách Các phần tử “nguy hiểm” PATH (ví dụ Trojan horse) Kiểm tra chương trình hệ thống có bị thay đổi hay không thông qua checksum, MD5 Tường lửa (firewall) z Tường lửa đặt (hoạt động) máy chủ tin cậy máy không tin cậy z Tường lửa hạn chế truy cập qua mạng hai miền an ninh khác Phát đột nhập z z Phát cố gắng đột nhập vào hệ thống máy tính Phương pháp phát hiện: z z z Tường lửa Mã hóa z z Mã hóa: Bản rõ Ỉ Bản mã Đặc điểm kỹ thuật mã hóa tốt: z “Kiểm tốn” ghi nhật ký Tripwire (Phần mềm UNIX kiểm tra xem số tệp thư mục có bị thay đổi khơng) z Kiểm soát hàm hệ thống z z Hệ mã hóa cơng khai sử dụng hai khóa z z Ví dụ mã hóa: SSL z z z z z SSL – Secure Socket Layer Là giao thức mã hóa cho phép hai máy tính trao đổi liệu an tồn với Thường sử dụng web server browser để trao đổi thơng tin cách an tồn (ví dụ nạp số thẻ tín dụng) Web server kiểm tra qua chứng Sau thiết lập kết nối an tồn SSL, hai máy tính truyền thơng với khóa đối xứng Tương đối đơn giản để NSD xác thực sử dụng để mã giải mã Sơ đồ mã hóa khơng phụ thuộc thuật tốn mà cịn phụ thuộc tham số (ví dụ khóa) Rất khó phát khóa public key – khóa cơng khai, dùng để mã hóa private key – khóa bí mật, dùng để giải mã Phân loại an ninh máy tính z z Bộ Quốc phịng Mỹ chia an ninh máy tính thành mức từ cao đến thấp: A, B, C, D Xem thêm giáo trình mức an ninh Các vấn đề cần nhớ z z z z Phân biệt bảo vệ an ninh Quyền truy cập, miền bảo vệ Ma trận truy cập, phương pháp cài đặt ma trận truy cập, so sánh phương pháp An ninh máy tính: Xác thực, mối đe dọa, kiểm sốt, mã hóa ... truy cập z z z Mỗi cột ma trận truy cập cài đặt thành danh sách truy cập cho đối tượng Danh sách gồm phần tử đôi Các hệ điều hành: UNIX, Windows sử dụng danh sách truy cập Bảng... tạm thời hay vĩnh viễn? Truy cập trái phép Sửa đổi phá hoại hệ thống Vơ tình làm hỏng tính quán hệ thống Dễ đảm bảo an ninh tránh hành động vô ý đảm bảo anh ninh cho phá hoại/truy cập trái phép... tra hành động gây an ninh (ví dụ liên tục gõ sai mật khẩu) Ghi nhật ký hệ thống: Thời gian, NSD loại truy cập đến đối tượng – hữu ích cho việc tìm chế an ninh tốt khôi phục việc an ninh Quét hệ