Bài giảng Nguyên lý hệ điều hành - Nguyễn Hải Châu

pdf 7 trang hapham 830
Bạn đang xem tài liệu "Bài giảng Nguyên lý hệ điều hành - Nguyễn Hải Châu", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_nguyen_ly_he_dieu_hanh_nguyen_hai_chau.pdf

Nội dung text: Bài giảng Nguyên lý hệ điều hành - Nguyễn Hải Châu

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