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
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:
- bai_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
- 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
- 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
- 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
- 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
- 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
- Hoạt động virus boot-sector 6
- Lây lan virus 7
- Trap Doors Mã nguồn bình thường Mã nguồn có trapdoor 8
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Đã 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Các cơ chế bảo mật của Windows NT 45
- 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
- Đị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
- 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
- Security descriptors Object Owner SID Group SID DACL SACL DACL: Discretionary Access Control List SACL: System Access Control List 49
- 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
- Ví dụ Token 51
- 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