Bài giảng Hệ điều hành - Chương 2: Thành phần bảo vệ và bảo mật - Phạm Tuấn Sơn

pdf 52 trang hapham 360
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Hệ điều hành - Chương 2: Thành phần bảo vệ và bảo mật - Phạm Tuấn Sơ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:

  • pdfbai_giang_he_dieu_hanh_chuong_2_thanh_phan_bao_ve_va_bao_mat.pdf

Nội dung text: Bài giảng Hệ điều hành - Chương 2: Thành phần bảo vệ và bảo mật - Phạm Tuấn Sơn

  1. Chương 2 Thành phần bảo vệ và bảo mật Phạm Tuấn Sơn Email: ptson@fit.hcmuns.edu.vn
  2. Mục tiêu n Thảo luận các mối đe dọa hệ thống máy tính n Trình bày một số cơ chế bảo vệ, bảo mật cơ bản của hệ điều hành n Trình bày một số cơ chế bảo vệ, bảo mật cơ bản của hệ điều hành Windows NT 2
  3. Thảo luận n Có những mối đe dọa nào cho hệ thống máy tính ? n Hệ điều hành có những cách thức nào để phòng chống ? 3
  4. Dẫn nhập n Đã từng nghe ? q Virus q Trojan horses q Trap door q DoS q Man-in-the-middle q 4
  5. Virus n Đoạn mã nguồn được nhúng vào chương trình hợp lệ n Có nhiều loại virus: file, boot, q Đoạn virus viết bằng Visual Basic thực hiện format ổ cứng Sub AutoOpen() Dim oFS Set oFS = CreateObject(“Scripting.FileSystemObject”) vs = Shell(“c:command.com /k format c:”,vbHide) End Sub 5
  6. Hoạt động virus boot-sector 6
  7. Lây lan virus 7
  8. Trap Doors Mã nguồn bình thường Mã nguồn có trapdoor 8
  9. Phân loại các mối đe dọa n De dọa: q Tính bí mật (Secrecy) q Tính toàn vẹn (Integrity) q Tính sẵn sàng (Availability) n Hoạt động bình thường Nơi gửi Nơi nhận thông tin thông tin 9
  10. Làm gián đoạn phục vụ (Interruption) n Từ chối phục vụ (Denial of Service -DoS) n Ngăn chặn nơi gửi gửi thông tin cho nơi nhận n Nơi nhận phản hồi thông tin cho nơi gửi n De dọa tính sẵn sàng Nơi gửi Nơi nhận thông tin thông tin 10
  11. Mối đe dọa này xảy ra như thế nào ? n Phá hoại phần cứng, phần mềm n Làm nhiễu kênh truyền thông n Làm quá tải tài nguyên dùng chung 11
  12. Chặn thông tin (Interception) Nơi gửi Nơi nhận Nơi gửi Nơi nhận thông tin thông tin thông tin thông tin Tin tặc Tin tặc n Dữ liệu và dịch vụ bị cung cấp cho tin tặc n Hoặc có sự kết hợp, hoặc độc lập với truy cập hợp lệ n De dọa tới tính bí mật 12
  13. Mối đe dọa này xảy ra như thế nào ? n Xâm nhập trái phép n Sao chép dữ liệu trái phép n Nghe trộm (Eavesdropping) n Giả mạo (Masquerading) 13
  14. Thay đổi thông tin (Modification) 3 2 1 Nơi gửi Nơi nhận Nơi gửi Nơi nhận thông tin thông tin thông tin thông tin Tin tặc Tin tặc n Tin tặc sửa đổi dữ liệu q Hoặc trên đường tới người dùng q Hoặc ngay tại nơi cung cấp dịch vụ n Đe dọa tính toàn vẹn 14
  15. Mối đe dọa này xảy ra như thế nào ? n Chặn các yêu cầu n Giả mạo (Masquerading) n Truy cập trái phép tới nơi cung cấp dịch vụ 15
  16. Giả mạo (Fabrication) Nơi gửi Nơi nhận thông tin thông tin Tin tặc n Tin tặc đưa các đối tượng giả mạo vào hệ thống q Gây ra những thay đổi sai về dữ liệu q Hay sử dụng trái phép tài nguyên hệ thống n Đe dọa tính toàn vẹn 16
  17. Mối đe dọa này xảy ra như thế nào ? n Giả mạo (Masquerading) n Vượt qua hàng rào bảo vệ n Sao lại các yêu cầu hợp lệ 17
  18. Tính chất của các mối đe dọa n Mối đe dọa thụ động thường dưới hình thức nghe trộm q Thường đe dọa tính bí mật n Mối de dọa chủ động thường là tấn công q Thường đe dọa tính sẵn sàng, tính toàn vẹn 18
  19. Chúng ta phải bảo vệ cái gì ? n Phần cứng n Phần mềm n Dữ liệu n Đường trao đổi thông tin n Các giá trị kinh tế 19
  20. Bảo vệ và bảo mật n Bảo mật là chính sách q Ví dụ, “người dùng không có quyền không được truy cập tập tin này” n Bảo vệ là cơ chế q Ví dụ, “hệ thống kiểm tra định danh người dùng và quyền truy cập” n Cơ chế bảo vệ cài đặt các chính sách bảo mật 20
  21. Một số cơ chế bảo mật quan trọng n Chứng thực (Authentication) n Mã hóa (Encryption) n Mật khẩu (Password) n Cơ chế điều khiển truy cập (Access control) n Theo dõi, kiểm soát (Auditing) 21
  22. Chứng thực n Nếu một hệ thống hỗ trợ nhiều người dùng, nó phải có khả năng biết được ai đang làm gì n Nghĩa là, tất cả các yêu cầu tới hệ thống phải được gắn với định danh người dùng n Cơ chế chứng thực đảm bảo hệ thống kiểm soát được ai đang dùng hệ thống 22
  23. Mã hóa n Cơ chế làm tin tặc không thể đọc được dữ liệu n Mã hóa được thực hiện bằng các thuật toán mã hóa n Thường thì việc mã hóa sử dụng một khóa bí mật mà chỉ có người dùng hợp lệ của dữ liệu này biết n Không có khóa này, việc giải mã dữ liệu hầu như không thể 23
  24. Ví dụ Mã hóa –Giải mã n P là dữ liệu có thể xem được n C là dữ liệu mã hóa n E là thuật toán mã hóa n D là thuật toán giải mã n n KE là khóa mã hóa KD là chìa khóa giải mã n C là dữ liệu được mã hóa P = D(C, KD) C = E(P, KE) 24
  25. Mật khẩu n Một cơ chế chứng thực cơ bản n Một số vấn đề q Lựa chọn mật khẩu q Quản lý và lưu trữ mật khẩu q Thời gian duy trì mật khẩu 25
  26. Lựa chọn mật khẩu n Khó đoán n Dễ nhớ n Không có trong từ điển n Dài để khó bị dò tìm 26
  27. Quản lý và lưu trữ mật khẩu n Mật khẩu là bí mật, do đó cần phải có cơ chế quản lý n Mật khẩu cần được lưu trữ q Dùng để so sánh khi người dùng đăng nhập n Nếu hệ thống lưu trữ bị hư hỏng thì các chứng thực cũng không còn 27
  28. Lưu trữ mật khẩu n Chỉ lưu dưới hình thức mã hóa n Để kiểm tra mật khẩu, mã hóa nó và so sánh với bản lưu đã được mã hóa n Bản lưu đã mã hóa thường được lưu trong một tập tin q Tập tin “SAM” trên hệ thống Windows q Tập tin “/etc/shadow” trên hệ thống Linux n root:$1$dxtC0Unf$2SCguIhTlrcnkSH5tjw0s/:12148:0:99999:7::: 28
  29. Vấn đề lưu trữ mật khẩu mã hóa n Mã hóa mật khẩu bằng gì ? q Khóa à phải được lưu trong hệ thống q Nếu dùng một khóa duy nhất để mã hóa tất cả mật khẩu thì: n Điều gì xảy ra nếu khóa bị mất ? n Điều gì xảy ra nếu 2 người dùng có cùng mật khẩu ? 29
  30. Ví dụ: Mật khẩu của UNIX n Mỗi mật khẩu được kèm theo thành phần, gọi là salt n UNIX mã hóa một khối zero q Khóa được hình thành từ mật khẩu và 12-bit salt q Mã hóa bằng phương pháp DES (Data Encryption Standard ) n Thông tin lưu trữ = E (zero, salt + password) n Để kiểm tra mật khẩu, lập lại quá trình này 30
  31. Giải quyết vấn đề như thế nào? n Khóa mã hóa không duy nhất q Do đó, không thể dò tìm khóa này q Và không cần phải lưu khóa n Mã hóa được thực hiện với các khóa khác nhau q Do đó 2 người dùng có cùng mật khẩu thì thông tin lưu trữ vẫn không giống nhau 31
  32. Đã giải quyết được vấn đề ? n Không hoàn toàn n Mật khẩu vẫn ở hình thức có thể xem được trong quá trình kiểm tra n Mật khẩu có thể được truyền trên đường truyền dưới dạng có thể xem được q Đặc biệt trong trường hợp truy cập từ xa 32
  33. Vấn đề với mật khẩu n Chọn mật khẩu tồi n Quên mật khẩu n Sử dụng lại mật khẩu n Người dùng ít khi đổi mật khẩu 33
  34. Cơ chế điều khiển truy cập dữ liệu n Các phương pháp xác định ai có thể truy cập gì đến mức độ nào n Dựa trên giả thiết, hệ thống đã có cơ chế chứng thực người dùng 34
  35. Ma trận quyền n Mô tả các truy cập được chấp nhận trên hệ thống n Ai truy cập đối tượng với quyền gì n Mô hình lý thuyết, không được triển khai trên thực tế 35
  36. Ví dụ ma trận quyền File 1 File 2Server X User A Read, WriteNone Query User B Read Write Update User CNone Read Start, Stop User DNone None Query 36
  37. Các phương pháp cài đặt ma trận quyền n Danh sách điều khiển truy cập (Access Control List) q Quản lý theo cột của ma trận quyền n Khả năng (Capability) q Quản lý theo dòng của ma trận quyền 37
  38. Danh sách điều khiển truy cập n Mỗi đối tượng điều khiển ai có quyền truy cập nó q Dùng một danh sách điều khiển truy cập n Thêm/xóa chủ thể bằng cách thêm/xóa vào một mục + Dễ dàng xác định ai có thể truy cập đối tượng + Dễ dàng thay đổi ai có thể truy cập đối tượng –Khó xác định ai có thể truy cập gì 38
  39. Ví dụ n ACL của tập tin 1 q Người dùng A: Đọc, Ghi q Người dùng B: Đọc 39
  40. Các loại điều khiển truy cập n Discretionary access control (DAC) q Cơ chế cho phép các chủ thể có thể điều khiển quyền truy cập các đối tượng do họ sở hữu n Mandatory access control (MAC) q Cơ chế của hệ thống điều khiển truy cập tới các đối tượng q Ví dụ, hệ thống có thể theo dõi thao tác của ai trên đối tượng nào (ghi nhận vào tập tin log) 40
  41. Khả năng n Mỗi chủ thể theo dõi những gì có thể truy cập được n Thường giữ một khả năng cho mỗi đối tượng n Khả năng giống như “vé vào cửa” + Dễ xác định những gì một chủ thể có thể truy cập –Khó xác định ai có thể truy cập một đối tượng nào đó –Khó bỏ/điều khiển quyền truy cập 41
  42. Ví dụ n Khả năng của người n Khả năng của người dùng A dùng B q Tập tin 1: Đọc, Ghi q Tập tin 1: Đọc q Máy chủ X: Truy vấn q Tập tin 2: Ghi q Máy chủ A: Cập nhật 42
  43. Kiểm soát n Ghi lại các sự kiện liên quan tới bảo mật n Bảo vệ tập tin log n Tập tin log có thể trở nên lớn ? q Quản lý kích thước có chính sách n Khả năng lưu trữ ngày càng lớn n Ghi nhận khi cần thiết q Ví dụ n Ghi nhận lần truy cập đầu tiên và cuối cùng vào tập tin của tiến trình n Không ghi nhận quá trình và các sự kiện bình thường 43
  44. Các cơ chế bảo mật của Windows NT n Các cơ chế bảo mật q Chứng thực người dùng n User, Group q Điều khiển truy cập n Chính sách (Policy) n Quyền sử dụng tập tin, thư mục q Mã hóa n EFS (Encrypting File System) q Kiểm soát hệ thống n Auditing q Quản trị n Cài đặt mô hình bảo mật chủ thể/đối tượng chuẩn 44
  45. Các cơ chế bảo mật của Windows NT 45
  46. Các thành phần bảo mật n Chủ thể –tiến trình hay tiểu trình chạy dưới quyền hệ thống hay một người dùng hợp lệ n Định danh bảo mật (Security ID –SID) n Điều khiển truy cập: danh sách điều khiển truy cập (ACL) n Access token – ủy nhiệm thư của chủ thể khi thực thi n Privilege –khả năng của chủ thể thực hiện các thao tác mức hệ thống. Thường phá vỡ mô hình bảo mật chuẩn q Kèm theo access token q Thường mặc định bị vô hiệu hóa. q Có thể bật/tắt q Ví dụ một số quyền privileges n SeAssignPrimaryTokenPrivilege –thay thế token của tiến trình n SeBackupPrivilege –bỏ qua những ràng buộc của hệ thống tập tin để thực hiện sao lưu dự phòng và khôi phục dữ liệu n SeIncreaseQuotaPrivilege -thêm giới hạn sử dụng bộ nhớ cho một tiến trình n SeTcbPrivilege –Chạy như một phần của hệ điều hành 46
  47. Định danh bảo mật n Định danh bảo mật (Security Identifiers - SIDs) q Duy nhất cho tất cả người dùng, nhóm người dùng, máy tính q Kết hợp từ: n Tên máy tính n Giờ hiện tại n Khoảng thời gian sử dụng CPU của người dùng hiện tại 47
  48. Danh sách điều khiển truy cập Discretionary ACL System ACL User A User A Full Control Read Success Group A Group A No Access Read Failure User B Change 48
  49. Security descriptors Object Owner SID Group SID DACL SACL DACL: Discretionary Access Control List SACL: System Access Control List 49
  50. Access Token q Đăng nhập sẽ tạo security access token n Gồm ID của người dùng, nhóm người dùng và một số đặc quyền n Mỗi tiến trình của người dùng này sẽ được cấp 1 bản sao của token n Hệ thống kiểm tra token để xác định được phép truy cập hay không 50
  51. Ví dụ Token 51
  52. Ví dụ yêu cầu truy cập Access User: Mark token Group1: Administrators Group2: Writers Yêu cầu truy cập: ghi Kết quả: từ chối Revision Number Control flags Owner SID •Mark yêu cầu quyền ghi Group SID •Descriptor từ chối quyền đối với nhóm DACL Pointer •Kết quả: từ chối Security SACL Pointer descriptor Deny Writers Read, Write Allow Mark Read, Write 52