Bài giảng Thành phần bảo vệ và bảo mật
Vấn đề bảo mật
• Các mối đe dọa
– Phơi bày dữ liệu Đe dọa tính riêng tư
– Thay đổi dữ liệu Đe dọa tính toàn vẹn
– Từ chối dịch vụ Đe dọa tính sẵn sàng
• Xâm phạm
– Vô tình
– Chứng tỏ
– Cắp vặt
– Gián điệp
• Tai nạn
– Thiên tai
– Lỗi phần cứng, phần mềm
– Lỗi sử dụng
Cá loại tấn công
• Tấn công từ trong hệ thống
– Trojan Horses
– Login Spoofing
– Logic Bombs
– Trap Doors
– Buffer Overflow
• Tấn công từ ngoài hệ thống
– Virus
– Internet Worm
– Mobile Code
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Thành phần bảo vệ và bảo mật", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Thành phần bảo vệ và bảo mật
• Thảo luận các hình thức tấn công hệ thống máy tính • 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 • 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 • Có những hình thức tấn công hệ thống máy tính nào ? • Hệ điều hành có những cách thức nào để phòng chống ? 3 • Các mối đe dọa – Phơi bày dữ liệu Đe dọa tính riêng tư – Thay đổi dữ liệu Đe dọa tính toàn vẹn – Từ chối dịch vụ Đe dọa tính sẵn sàng • Xâm phạm – Vô tình – Chứng tỏ – Cắp vặt – Gián điệp • Tai nạn – Thiên tai – Lỗi phần cứng, phần mềm – Lỗi sử dụng 4 • Tấn công từ trong hệ thống – Trojan Horses – Login Spoofing – Logic Bombs – Trap Doors – Buffer Overflow • Tấn công từ ngoài hệ thống – Virus – Internet Worm – Mobile Code 5 Là tấn công được thực hiện khi đã đăng nhập được vào hệ thống Trojan Horses • Thay thế các chương trình tiện ích của hệ thống để tấn công nạn nhân • Chương trình miễn phí tấn công người dùng nhẹ dạ, thiếu hiểu biết Login Spoofing • Giả mạo màn hình đăng nhập để ăn cắp mật khẩu Logic Bombs • Chương trình do nhân viên cài vào hệ thống • Nếu bị đuổi việc, chương trình gây hại sẽ hoạt động 6 • Trap doors 7 • Buffer Overflow 8 • Bị tấn công từ máy tính khác trên mạng • Internet Worm – Tấn công dựa vào lỗ hổng bảo mật của hệ điều hành • Robert Tappan Morris, 1988 – Gồm 2 chương trình • Chương trình worm • Chương trình bootstrap để tải worm – Tự động lây lan qua đường mạng • Mobile Code – Applet: được thực thi tại trình duyệt web – PostScript: được thực thi tại máy in 9 • Được viết bằng hợp ngữ • Được chèn vào chương trình hợp lệ bằng công cụ gọi là “dropper” – Đ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 10 • Virus chỉ hoat động khi chương trình chứa nó được kích hoạt – Có khả năng lây lan các chương trình khác 11 • Khả năng gây hại – Sử dụng hết tài nguyên hệ thống, ví dụ CPU • main() { while(1) fork(); } – Sửa đổi, xóa, đánh cắp dữ liệu – Gây hại phần cứng • Ghi dữ liệu rác vào ROM (flash ROM) 12 13 • Bảo mật (Security) là chính sách – Ví dụ, “người dùng không có quyền không được truy cập tập tin này” • Bảo vệ (Protection) là cơ chế – Ví dụ, “hệ thống kiểm tra định danh người dùng và quyền truy cập” • Cơ chế bảo vệ cài đặt các chính sách bảo mật 14 • Chế độ hoạt động (Processor Mode) • Chứng thực (Authentication) • Mã hóa (Encryption) • Mật khẩu (Password) • Cơ chế điều khiển truy cập (Access control) • Theo dõi, kiểm soát (Auditing) 15 • HĐH được lưu trong bộ nhớ mô hình von Neumann? – Điều gì xảy ra nếu người dùng thay đổi mã HĐH hay dữ liệu? • Đưa ra khái niệm modes of operation(chế độ thực thi) – Các lệnh sẽ được thực thi trong user mode hay system mode • Một thanh ghi đặc biệt lưu mode hiện hành • Một số lệnh chỉ có thể được thực hiện trong system mode • Tương tự như vậy, một số vùng nhớ chỉ có thể ghi lên khi đang ở trong system mode – Chỉ có mã nguồn của HĐH được phép ở trong system mode • Chỉ có HĐH có thể thay đổi giá trị trong bộ nhớ của nó – Thanh ghi mode chỉ có thể được thay đổi trong system mode 16 Lấy lệnh: if (( the PC < 100) && ( thanh ghi mode == 1)) then Lỗi! Người dùng muốn truy cập HĐH else lấy lệnh tại vị trí PC Giải mã: if ((register kết quả == mode) && ( thanh ghi mode == 1)) then Lỗi! Người dùng muốn thay đổi thanh ghi mode Thực thi: if (( địa chỉ toán hạng < 100) && ( thanh ghi mode == 1) then Lỗi! Người dùng muốn truy cập HĐH else Thực thi lệnh 17 • 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ì • 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 • Cơ chế chứng thực đảm bảo hệ thống kiểm soát được ai đang dùng hệ thống 18 • Cơ chế làm tin tặc không thể đọc được dữ liệu • Mã hóa được thực hiện bằng các thuật toán mã hóa • 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 • Không có khóa này, việc giải mã dữ liệu hầu như không thể 19 • P là dữ liệu có thể xem được C là dữ liệu mã hóa • E là thuật toán mã hóa D là thuật toán giải mã ả • KE là khóa mã hóa KD là chìa khóa gi i mã • C là dữ liệu được mã hóa P = D(C, KD) C = E(P, KE) 20 • Một cơ chế chứng thực cơ bản • Một số vấn đề – Lựa chọn mật khẩu – Quản lý và lưu trữ mật khẩu – Thời gian duy trì mật khẩu 21 • Khó đoán • Dễ nhớ • Không có trong từ điển • Dài để khó bị dò tìm 22 • Mật khẩu là bí mật, do đó cần phải có cơ chế quản lý • Mật khẩu cần được lưu trữ – Dùng để so sánh khi người dùng đăng nhập • 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 23 • Chỉ lưu dưới hình thức mã hóa • Để 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 • Bản lưu đã mã hóa thường được lưu trong một tập tin – Tập tin “SAM” trên hệ thống Windows – Tập tin “/etc/shadow” trên hệ thống Linux • root:$1$dxtC0Unf$2SCguIhTlrcnkSH5tjw0s/:12148:0:99999:7: :: 24 • Mã hóa mật khẩu bằng gì ? – Khóa phải được lưu trong hệ thống – Nếu dùng một khóa duy nhất để mã hóa tất cả mật khẩu thì: • Điều gì xảy ra nếu khóa bị mất ? • Điều gì xảy ra nếu 2 người dùng có cùng mật khẩu ? 25 • Mỗi mật khẩu được kèm theo thành phần, gọi là salt • UNIX mã hóa một khối zero – Khóa được hình thành từ mật khẩu và 12-bit salt – Mã hóa bằng phương pháp DES (Data Encryption Standard ) • Thông tin lưu trữ = E (zero, salt ,+ password) • Để kiểm tra mật khẩu, lập lại quá trình này , Salt Password 26 • Khóa mã hóa không duy nhất – Do đó, không thể dò tìm khóa này – Và không cần phải lưu khóa • Mã hóa được thực hiện với các khóa khác nhau – 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 27 • Không hoàn toàn • Mật khẩu vẫn ở hình thức có thể xem được trong quá trình kiểm tra • Mật khẩu có thể được truyền trên đường truyền dưới dạng có thể xem được – Đặc biệt trong trường hợp truy cập từ xa 28 • Chọn mật khẩu tồi • Quên mật khẩu • Sử dụng lại mật khẩu • Người dùng ít khi đổi mật khẩu 29 • Các phương pháp xác định ai có thể truy cập gì đến mức độ nào • Dựa trên giả thiết, hệ thống đã có cơ chế chứng thực người dùng 30 • Mô tả các truy cập được chấp nhận trên hệ thống • Ai truy cập đối tượng với quyền gì • Mô hình lý thuyết, không được triển khai trên thực tế 31 File 1 File 2 Server X User A Read, Write None Query User B Read Write Update User C None Read Start, Stop User D None None Query 32 • Danh sách điều khiển truy cập (Access Control List) – Quản lý theo cột của ma trận quyền • Khả năng (Capability) – Quản lý theo dòng của ma trận quyền 33 • Mỗi đối tượng điều khiển ai có quyền truy cập nó – Dùng một danh sách điều khiển truy cập • 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ì 34 35 • Discretionary access control (DAC) – 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 • Mandatory access control (MAC) – Cơ chế của hệ thống điều khiển truy cập tới các đối tượng – 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) 36 • Mỗi chủ thể theo dõi những gì có thể truy cập được • Thường giữ một khả năng cho mỗi đối tượng • 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 37 38 • Ghi lại các sự kiện liên quan tới bảo mật • Bảo vệ tập tin log • Tập tin log có thể trở nên lớn ? – Quản lý kích thước có chính sách • Khả năng lưu trữ ngày càng lớn • Ghi nhận khi cần thiết – Ví dụ • 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 • Không ghi nhận quá trình và các sự kiện bình thường 39 • Các cơ chế bảo mật – Chứng thực người dùng • User, Group – Điều khiển truy cập • Chính sách (Policy) • Quyền sử dụng tập tin, thư mục – Mã hóa • EFS (Encrypting File System) – Kiểm soát hệ thống • Auditing – Quản trị • Cài đặt mô hình bảo mật chủ thể/đối tượng chuẩn 40 41 • 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ệ • Định danh bảo mật (Security ID – SID) • Điều khiển truy cập: danh sách điều khiển truy cập (ACL) • Access token – ủy nhiệm thư của chủ thể khi thực thi • 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 – Kèm theo access token – Thường mặc định bị vô hiệu hóa. – Có thể bật/tắt – Ví dụ một số quyền privileges • SeAssignPrimaryTokenPrivilege – thay thế token của tiến trình • 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 • SeIncreaseQuotaPrivilege - thêm giới hạn sử dụng bộ nhớ cho một tiến trình • SeTcbPrivilege – Chạy như một phần của hệ điều hành 42 • Định danh bảo mật (Security Identifiers - SIDs) – Duy nhất cho tất cả người dùng, nhóm người dùng, máy tính – Kết hợp từ: • Tên máy tính • Giờ hiện tại • Khoảng thời gian sử dụng CPU của người dùng hiện tại 43 Discretionary ACL System ACL User A User A Full Control Read Success Group A Group A No Access Read Failure User B Change 44 Object Owner SID Group SID DACL SACL DACL: Discretionary Access Control List SACL: System Access Control List 45 – Đăng nhập sẽ tạo security access token • Gồm ID của người dùng, nhóm người dùng và một số đặc quyề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 • Hệ thống kiểm tra token để xác định được phép truy cập hay không 46 47 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 48
File đính kèm:
- bai_giang_thanh_phan_bao_ve_va_bao_mat.pdf