Giáo trình Hệ điều hành - Chương 6: Bảo vệ và an toàn hệ thống - Trần Công Án

pdf 36 trang huongle 3040
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Hệ điều hành - Chương 6: Bảo vệ và an toàn hệ thống - Trần Công Án", để 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:

  • pdfgiao_trinh_he_dieu_hanh_chuong_6_bao_ve_va_an_toan_he_thong.pdf

Nội dung text: Giáo trình Hệ điều hành - Chương 6: Bảo vệ và an toàn hệ thống - Trần Công Án

  1. Hệ Điều Hành Chương 6. Bảo vệ và An toàn hệ thống Giảng viên TS. Trần Công Án tcan@cit.ctu.edu.vn Khoa Công Nghệ Thông Tin & Truyền Thông Đại học Cần Thơ 2018
  2. [HĐH] Ch6. Bảo vệ và an toàn hệ thống Nội Dung Mục tiêu của việc bảo vệ Miền bảo vệ Ma trận quyền truy xuất Cài đặt Ma trận quyền truy xuất An toàn hệ thống TS. Trần Công Án [HĐH] Ch6. Bảo vệ và an toàn hệ thống 2
  3. [HĐH] Ch6. Bảo vệ và an toàn hệ thống Mục tiêu của việc bảo vệ Mục tiêu của việc bảo vệ TS. Trần Công Án [HĐH] Ch6. Bảo vệ và an toàn hệ thống 3
  4. [HĐH] Ch6. Bảo vệ và an toàn hệ thống Mục tiêu của việc bảo vệ Mục Tiêu Của Việc Bảo Vệ I Một hệ thống máy tính bao gồm một tập các tài nguyên. I Mỗi tài nguyên có một định danh và có thể được truy xuất thông qua một tập các thao tác được định nghĩa sẵn bởi hệ điều hành. I Một trong những chức năng chính của hệ điều hành là quản lý việc truy xuất đến các nguồn tài nguyên hệ thống của người dùng (chương trình) sao cho việc sử dụng tài nguyên đạt hiệu năng cao nhất. TS. Trần Công Án [HĐH] Ch6. Bảo vệ và an toàn hệ thống 4
  5. [HĐH] Ch6. Bảo vệ và an toàn hệ thống Mục tiêu của việc bảo vệ Mục Tiêu Của Việc Bảo Vệ I Mục tiêu của việc bảo vệ: I Chống lỗi của hệ thống: đảm bảo việc truy xuất các tài nguyên là đúng đắn. Trong môi trường đa nhiệm, việc bảo vệ hệ thống ngăn chặn việc lan truyền các lỗi làm ảnh hưởng đến các tiến trình khác ⇒ tăng cường độ tin cậy của hệ thống. I Chống sự truy xuất bất hợp pháp: đảm bảo tài nguyên của hệ thống chỉ được truy xuất bởi các tiến trình được phép truy xuất. TS. Trần Công Án [HĐH] Ch6. Bảo vệ và an toàn hệ thống 5
  6. [HĐH] Ch6. Bảo vệ và an toàn hệ thống Mục tiêu của việc bảo vệ Cơ Chế và Chính Sách I Vai trò của bộ phận bảo vệ là cung cấp một cơ chế (mechanism) để áp dụng các chính sách (policy) quản trị tài nguyên: I Cơ chế: xác định là thế nào để thực hiện bảo vệ, bao gồm cơ chế phần mềm và cơ chế phần cứng. I Chính sách: quyết định việc bảo vệ được áp dụng cho những đối tượng nào, các thao tác hợp lệ trên các đối tượng này. I Cần tách rời cơ chế và chính sách để đảm bảo cho hệ thống có tính khả chuyển cao (cơ chế mang tính tĩnh, chính sách mang tính động, dễ thay đổi). TS. Trần Công Án [HĐH] Ch6. Bảo vệ và an toàn hệ thống 6
  7. [HĐH] Ch6. Bảo vệ và an toàn hệ thống Mục tiêu của việc bảo vệ Nguyên Tắc Bảo Vệ I Nguyên tắc đặc quyền tối thiểu: I Các tiến trình, người dùng chỉ nên được cấp các quyền tối thiểu đủ để thực hiện tác vụ của họ. I Giới hạn việc ảnh hưởng nếu một thành phần bị lỗi I Đặc quyền dành cho một tiến trình, người dùng có thể là tĩnh (static, không thay đổi trong suốt vòng đời của tiến trình) hay động (dynamic, có thể thay đổi như leo thang đặc quyền,. . . ) I Nên xem xét việc sử dụng “hạt” (grain): I Hạt thô (Rough-grained): dễ quản lý, đơn giản nhưng không mềm dẻo. I Hạt mịn (fine-grained): phức tạp hơn, mất chi phí hơn nhưng tính bảo vệ cao hơn. TS. Trần Công Án [HĐH] Ch6. Bảo vệ và an toàn hệ thống 7
  8. [HĐH] Ch6. Bảo vệ và an toàn hệ thống Miền bảo vệ Miền bảo vệ TS. Trần Công Án [HĐH] Ch6. Bảo vệ và an toàn hệ thống 8
  9. [HĐH] Ch6. Bảo vệ và an toàn hệ thống Miền bảo vệ Khái Niệm Miền Bảo Vệ (Protection Domain) I Một hệ thống máy tính bao gồm một tập các tài nguyên: phần cứng (CPU, bộ nhớ, đĩa từ, . . . ), phần mềm (tập tin, chương trình, semaphore, . . . ). I Mỗi tài nguyên có một định danh duy nhất, chỉ được truy xuất thông qua một tập các thao tác được định nghĩa chặt chẽ, rõ ràng. I Các tiến trình chỉ được phép truy xuất đến các tài nguyên mà nó có quyền, trong thời điểm cho phép để nó có thể hoàn thành tác vụ (nguyên lý need-to-know) nhằm hạn chế lỗi. I Miền bảo vệ: là một miền xác định, định nghĩa: I các tài nguyên mà các t/trình hoạt động trong miền đó có thể sử dụng I các thao tác hợp lệ trên các nguồn tài nguyên TS. Trần Công Án [HĐH] Ch6. Bảo vệ và an toàn hệ thống 9
  10. [HĐH] Ch6. Bảo vệ và an toàn hệ thống Miền bảo vệ Cấu Trúc Miền Bảo Vệ I Miền bảo vệ = {quyền truy xuất (access right)} I Quyền truy xuất là một bộ: Trong đó, quyền thao tác là các thao tác (operations) được phép thực hiện trên đối tượng. I Các miền bảo vệ có thể giao nhau( D2, D3) TS. Trần Công Án [HĐH] Ch6. Bảo vệ và an toàn hệ thống 10
  11. [HĐH] Ch6. Bảo vệ và an toàn hệ thống Miền bảo vệ Liên Kết Giữa Miền Bảo Vệ và Tiến Trình I Liên kết tĩnh: một tiến trình chỉ hoạt động trong 1 miền bảo vệ I tiến trình cần xin tất cả các quyền ngay từ đầu I vi phạm nguyên tắc need-to-know ⇒ phải có cơ chế cập nhật miền bảo vệ I Liên kết động: tiến trình có thể chuyển miền bảo vệ I có thể tạo miền bảo vệ mới với nội dung thay đổi qua từng giai đoạn của tiến trình I tuân theo nguyên lý need-to-know I Miền bảo vệ có thể được tạo cho: người dùng, tiến trình, hay thủ tục (procedure, hay biến cục bộ bên trong các thủ tục). TS. Trần Công Án [HĐH] Ch6. Bảo vệ và an toàn hệ thống 11
  12. [HĐH] Ch6. Bảo vệ và an toàn hệ thống Ma trận quyền truy xuất Ma trận quyền truy xuất TS. Trần Công Án [HĐH] Ch6. Bảo vệ và an toàn hệ thống 12
  13. [HĐH] Ch6. Bảo vệ và an toàn hệ thống Ma trận quyền truy xuất Ma Trận Quyền Truy Xuất I Mô hình miền bảo vệ có thể được biểu diễn như một ma trận quyền truy xuất (access matrix): I hàng (row): thể hiện cho các miền (domain) I cột (column): thể hiện cho các đối tượng (tài nguyên) I access(i, j) là một tập các thao tác (operations) mà một tiến trình trong miền i có thể thực hiện trên đối tượng j TS. Trần Công Án [HĐH] Ch6. Bảo vệ và an toàn hệ thống 13
  14. [HĐH] Ch6. Bảo vệ và an toàn hệ thống Ma trận quyền truy xuất Ma Trận Quyền Truy Xuất – Ví Dụ TS. Trần Công Án [HĐH] Ch6. Bảo vệ và an toàn hệ thống 14
  15. [HĐH] Ch6. Bảo vệ và an toàn hệ thống Ma trận quyền truy xuất Sử Dụng Ma Trận Quyền Truy Xuất I Nếu một tiến trình trong domain Di muốn thực hiện thao tác t trên đối tượng Oj , t phải hiện diện trong ma trận truy xuất tại vị trí (i, j) I Người chủ sở hữu của một đối tượng có thể chỉ định các thao tác truy xuất trong cột tương ứng. I Một số mở rộng để cài đặt việc bảo vệ động: I các thao tác thêm, xóa các quyền I một số quyền truy xuất đặc biệt: I chủ sở hữu (owner): của một đối tượng I sao chép (copy): các thao tác từ Oi sang Oj I điều khiển (control): Di có thể thay đổi quyền truy xuất của Dj I chuyển đổi (transfer/switch): chuyển từ miền này sang miền khác TS. Trần Công Án [HĐH] Ch6. Bảo vệ và an toàn hệ thống 15
  16. [HĐH] Ch6. Bảo vệ và an toàn hệ thống Ma trận quyền truy xuất Sử Dụng Ma Trận Quyền Truy Xuất – VD Ma trận quyền truy xuất với domain: TS. Trần Công Án [HĐH] Ch6. Bảo vệ và an toàn hệ thống 16
  17. [HĐH] Ch6. Bảo vệ và an toàn hệ thống Ma trận quyền truy xuất Sử Dụng Ma Trận Quyền Truy Xuất – VD Ma trận quyền truy xuất với quyền chủ sở hữu: TS. Trần Công Án [HĐH] Ch6. Bảo vệ và an toàn hệ thống 17
  18. [HĐH] Ch6. Bảo vệ và an toàn hệ thống Ma trận quyền truy xuất Sử Dụng Ma Trận Quyền Truy Xuất – VD Thay đổi ma trận quyền truy xuất: TS. Trần Công Án [HĐH] Ch6. Bảo vệ và an toàn hệ thống 18
  19. [HĐH] Ch6. Bảo vệ và an toàn hệ thống Cài đặt Ma trận quyền truy xuất Cài đặt Ma trận quyền truy xuất TS. Trần Công Án [HĐH] Ch6. Bảo vệ và an toàn hệ thống 19
  20. [HĐH] Ch6. Bảo vệ và an toàn hệ thống Cài đặt Ma trận quyền truy xuất Cài Đặt Ma Trận Quyền Truy Xuất I Một số phương pháp cài đặt ma trận quyền tury xuất: I Bảng toàn cục (global table) I Danh sách quyền truy xuất (Access Control List – ACL) I Danh sách tiềm năng miền bảo vệ (Capability Lists for Domains) I Cơ chế khóa và chìa (Lock-Key Mechanism) TS. Trần Công Án [HĐH] Ch6. Bảo vệ và an toàn hệ thống 20
  21. [HĐH] Ch6. Bảo vệ và an toàn hệ thống Cài đặt Ma trận quyền truy xuất Bảng toàn cục (Global Table) Bảng Toàn Cục (Global Table) I Lưu trữ các bộ ba (domain, object, rights) trong một table I Một yêu cầu thực hiện thao tác M trên đối tượng Oj trong domain Di chỉ được cho phép nếu tồn tại một bộ ba sao cho M ∈ Rk I Ưu điểm: đơn giản, dễ cài đặt I Hạn chế: I Bảng toàn cục có thể rất lớn ⇒ có thể không chứa đủ trong bộ nhớ chính I Không thể gom nhóm (group) các đối tượng có cùng đặc điểm TS. Trần Công Án [HĐH] Ch6. Bảo vệ và an toàn hệ thống 21
  22. [HĐH] Ch6. Bảo vệ và an toàn hệ thống Cài đặt Ma trận quyền truy xuất Danh sách quyền truy xuất (Access Control List) Danh Sách Quyền Truy Xuất (ACL) I Cài đặt mỗi cột trong ma trận quyền truy xuất như là một danh sách các quyền truy xuất đối với 1 đối tượng. I Mỗi đối tượng trong hệ thống sẽ có một danh sách bao gồm các bộ I Khi một yêu cầu thực hiện thao tác M trên đối tượng Oj trong miền Di chỉ được cho phép nếu trong ACL của Oj tồn tại một bộ sao cho M ∈ Rk I Ví dụ: cho A, B, C là các người dùng và root, users là các nhóm, ta có: I file1: (A, *, rwx) I file2: (B, users, rx), (C, root, rwx) TS. Trần Công Án [HĐH] Ch6. Bảo vệ và an toàn hệ thống 22
  23. [HĐH] Ch6. Bảo vệ và an toàn hệ thống Cài đặt Ma trận quyền truy xuất Danh sách tiềm năng của miền bảo vệ (Capability List for Domains) Danh Sách Tiềm Năng Của Miền Bảo Vệ I Mỗi dòng (row) trong ma trận quyền truy xuất được tổ chức thành 1 danh sách tiềm năng (capability list) I Một danh sách tiềm năng (C_List) là một danh sách các đối tượng và các thao tác mà tiến trình được quyền thực hiện trên đối tượng khi hoạt động trong miền bảo vệ I Mỗi phần tử của C_List được gọi là một tiềm năng (capability) hay quyền truy xuất đến đối tượng. I Một tiến trình chỉ có thể thực hiện thao tác M trên đối tượng Oj trong miền Di nếu trong C_List của Di có chứa tiềm năng tương ứng của Oj . TS. Trần Công Án [HĐH] Ch6. Bảo vệ và an toàn hệ thống 23
  24. [HĐH] Ch6. Bảo vệ và an toàn hệ thống Cài đặt Ma trận quyền truy xuất Danh sách tiềm năng của miền bảo vệ (Capability List for Domains) Danh Sách Tiềm Năng Của Miền Bảo Vệ TS. Trần Công Án [HĐH] Ch6. Bảo vệ và an toàn hệ thống 24
  25. [HĐH] Ch6. Bảo vệ và an toàn hệ thống Cài đặt Ma trận quyền truy xuất Cơ chế khóa và chìa (Lock-Key Mechanism) Cơ Chế Khóa và Chìa I Là sự kết hợp giữa danh sách quyền truy xuất và danh sách tiềm năng: I Mỗi đối tượng sở hữu một danh sách các mã nhị phân, được gọi là khóa (lock). I Mỗi miền bảo vệ sẽ sở hữu một danh sách mã nhị phân gọi là chìa (key) I Mỗi tiến trình hoạt động trong miền bảo vệ chỉ có thể truy xuất đến một đối tượng nếu miền bảo vệ sở hữu một chìa tương ứng với một khóa trong danh sách khóa của đối tượng. TS. Trần Công Án [HĐH] Ch6. Bảo vệ và an toàn hệ thống 25
  26. [HĐH] Ch6. Bảo vệ và an toàn hệ thống An toàn hệ thống An toàn hệ thống (Security) TS. Trần Công Án [HĐH] Ch6. Bảo vệ và an toàn hệ thống 26
  27. [HĐH] Ch6. Bảo vệ và an toàn hệ thống An toàn hệ thống An Toàn Hệ Thống (Security) I Bảo vệ hệ thống (protection): kiểm soát việc sử dụng tài nguyên, có tính chất nội bộ I An toàn hệ thống: mức độ tin cậy của một hệ thống đối với các vấn đề phát sinh từ nội bộ lẫn bên ngoài I Một hệ thống là an toàn nếu các tài nguyên được sử dụng đúng qui ước trong mọi trường hợp ⇒ khó đạt được: I Phá hoại từ các hackers I Cạnh tranh giữa các luồng (thread) I Các cuộc tấn công từ bên ngoài, cả vô ý lẫn cố ý. I TS. Trần Công Án [HĐH] Ch6. Bảo vệ và an toàn hệ thống 27
  28. [HĐH] Ch6. Bảo vệ và an toàn hệ thống An toàn hệ thống Đảm Bảo An Toàn Hệ Thống I Nếu như bảo vệ hệ thống có thể đạt độ tin cậy tuyệt đối thì các cơ chế an toàn chỉ nhắm hạn chế thấp nhất các vấn đề về an ninh. I Việc bảo vệ hệ thống phải được thực hiện ở nhiều mức: I Mức vật lý: trang thiết bị an toàn cho hệ thống (data center, servers) I Con người: chọn lọc nhân sự cẩn thận I Hệ điều hành: cơ chế bảo vệ, gỡ rối, . . . TS. Trần Công Án [HĐH] Ch6. Bảo vệ và an toàn hệ thống 28
  29. [HĐH] Ch6. Bảo vệ và an toàn hệ thống An toàn hệ thống Các Loại Vi Phạm An Toàn Hệ Thống I Vi phạm về bảo mật (Breach of confidentiality): I đọc dữ liệu trái phép I Vi phạm tính toàn vẹn (Breach of integrity): I sửa đổi trái phép dữ liệu I Đánh cắp dịch vụ (Theft of service): I sử dụng trái phép tài nguyên. I Tấn công từ chối dịch vụ (Denial of service): I cản trở việc sử dụng hay truy cập hợp pháp. TS. Trần Công Án [HĐH] Ch6. Bảo vệ và an toàn hệ thống 29
  30. [HĐH] Ch6. Bảo vệ và an toàn hệ thống An toàn hệ thống Các Phương Pháp Tấn Công Hệ Thống I Giả mạo (vi phạm chứng thực): giả vờ là một người dùng được ủy quyền để leo thang đặc quyền I Tấn công man-in-the-middle: kẻ phá hoại can thiệp vào luồng dữ liệu của người gửi và người nhận để giả mạo hay đánh cắp thông tin. I Cướp quyền: đánh chặn một phiên đã thành lập để vượt qua xác thực. I TS. Trần Công Án [HĐH] Ch6. Bảo vệ và an toàn hệ thống 30
  31. [HĐH] Ch6. Bảo vệ và an toàn hệ thống An toàn hệ thống Các Phương Pháp Tấn Công Hệ Thống TS. Trần Công Án [HĐH] Ch6. Bảo vệ và an toàn hệ thống 31
  32. [HĐH] Ch6. Bảo vệ và an toàn hệ thống An toàn hệ thống Kiểm Định Danh Tính (Authentication) I Là một trong những cơ chế cơ bản nhất trong việc bảo đảm an toàn cho hệ thống I Hoạt động của hệ thống bảo vệ phụ thuộc vào khả năng xác định các tiến trình đang thực thi. I Khả năng này lại phụ thuộc vào việc xác định người dùng đang sử dụng hệ thống để kiểm tra tính hợp lệ của các thao tác. I Cách tiếp cận phổ biến nhất là sử dụng mật khẩu (password) để kiểm định danh tính người dùng. I Mật khẩu có thể được sử dụng để bảo vệ từng đối tượng trong hệ thống. Trong một số trường hợp đặc biệt, một đối tượng có nhiều mật khẩu khác nhau tương ứng với những quyền truy xuất khác nhau. TS. Trần Công Án [HĐH] Ch6. Bảo vệ và an toàn hệ thống 32
  33. [HĐH] Ch6. Bảo vệ và an toàn hệ thống An toàn hệ thống Mối Đe Dọa Từ Các Chương Trình I Ngựa thành Troy: I Là một chương trình thu thập dữ liệu của nạn nhân để gửi cho chủ nhân của nó. I Khi người dùng A thực thi một chương trình X do một người B viết trong miền bảo vệ của mình (A), X có thể thao tác trên tài nguyên dưới danh nghĩa của A để truy xuất các tài nguyên của A. I Nếu X là một đoạn mã có mục đích xấu thì nó có thể thu thập dữ liệu của A để gửi cho B. TS. Trần Công Án [HĐH] Ch6. Bảo vệ và an toàn hệ thống 33
  34. [HĐH] Ch6. Bảo vệ và an toàn hệ thống An toàn hệ thống Mối Đe Dọa Từ Các Chương Trình I Cửa hậu (backdoor): I Là một lổ hổng vô ý hay cố ý trong phần mềm do người lập trình tạo ra. I Đây là một mối đe dọa đặc biệt nguy hiểm và khó phòng tránh. I Cửa hậu cho phép chủ nhân của nó sử dụng để thâm nhập trái phép hệ thống, qua đó thực hiện phá hoại hệ thống. TS. Trần Công Án [HĐH] Ch6. Bảo vệ và an toàn hệ thống 34
  35. [HĐH] Ch6. Bảo vệ và an toàn hệ thống Tổng Kết Tổng Kết Mục tiêu của việc bảo vệ Miền bảo vệ Ma trận quyền truy xuất Cài đặt Ma trận quyền truy xuất An toàn hệ thống TS. Trần Công Án [HĐH] Ch6. Bảo vệ và an toàn hệ thống 35