Bài giảng Hệ điều hành - Chương 7: Bảo vệ và an toàn hệ thống - Trường Đại học Kinh tế quốc dân

ppt 41 trang Hùng Dũng 05/01/2024 100
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 7: Bảo vệ và an toàn hệ thống - Trường Đại học Kinh tế quốc dâ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:

  • pptbai_giang_he_dieu_hanh_chuong_7_bao_ve_va_an_toan_he_thong_t.ppt

Nội dung text: Bài giảng Hệ điều hành - Chương 7: Bảo vệ và an toàn hệ thống - Trường Đại học Kinh tế quốc dân

  1. Hệ điều hành Chương 7: Bảo vệ và an toàn hệ thống Dang Minh Quan: Institute of IT for Economics-NEU, 2011 1
  2. Tổng quan • Mục tiêu của việc bảo vệ • Miền bảo vệ • Ma trận quyền truy xuất • An toàn hệ thống Dang Minh Quan: Institute of IT for Economics-NEU, 2011 2
  3. Mục tiêu của việc bảo vệ • Bảo vệ chống lỗi của tiến trình : khi có nhiều tiến trình cùng hoạt động, lỗi của một tiến trình j phải được ngăn chặn không cho lan truyền trên hệ thống làm ảnh hưởng đến các tiến trình khác. • Chống sự truy xuất bất hợp lệ : Bảo đảm các bộ phận tiến trình sử dụng tài nguyên theo một cách thức hợp lệ được qui định cho nó. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 3
  4. Miền bảo vệ • Một hệ thống máy tính được xem như một tập các đối tượng (objects). Một đối tượng có thể là một bộ phận phần cứng ( CPU, bộ nhớ, ổ đĩa ) hay một thực thể phần mềm ( tập tin, chương trình, semaphore ). • Hệ điều hành chỉ cho phép các tiến trình được truy xuất đến các tài nguyên mà nó có quyền sử dụng, hơn nữa tiến trình chỉ được truy xuất đến các tài nguyên cần thiết trong thời điểm hiện tại để nó hoàn thành tác vụ (nguyên lý need-to-know) nhằm hạn chế các lỗi truy xuất mà tiến trình có thể gây ra trong hệ thống. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 4
  5. Miền bảo vệ • Một hệ thống máy tính được xem như một tập các đối tượng (objects). Một đối tượng có thể là một bộ phận phần cứng ( CPU, bộ nhớ, ổ đĩa ) hay một thực thể phần mềm ( tập tin, chương trình, semaphore ). • Các khả năng thao tác trên một đối tượng được gọi là quyền truy xuất (access right). • Một miền bảo vệ là một tập các quyền truy xuất, mỗi quyền truy xuất được định nghĩa bởi một bộ hai thứ tự . Dang Minh Quan: Institute of IT for Economics-NEU, 2011 5
  6. Miền bảo vệ • Mỗi tiến trình trong hệ thống đều hoạt động trong một miền bảo vệ (protection domain) nào đó. Một miền bảo vệ sẽ xác định các tài nguyên ( đối tượng) mà những tiến trình hoạt động trong miền bảo vệ này có thể sử dụng, và các thao tác hợp lệ các tiến trình này có thể thực hiện trên những tài nguyên đó. – Ví dụ : Dang Minh Quan: Institute of IT for Economics-NEU, 2011 6
  7. Miền bảo vệ • Các miền bảo vệ khác nhau có thể giao nhau một số quyền truy xuất • Mối liên kết giữa một tiến trình và một miền bảo vệ có thể tĩnh hay động Dang Minh Quan: Institute of IT for Economics-NEU, 2011 7
  8. Miền bảo vệ - Liên kết tĩnh • Trong suốt thời gian sống của tiến trình, tiến trình chỉ hoạt động trong một miền bảo vệ • Ngay từ đầu miền bảo vệ đã phải đặc tả tất cả các quyền truy xuất qua các giai đoạn cho tiến trình • ở mỗi giai đoạn tiến trình có thể thao tác trên những tập tài nguyên khác nhau bằng các thao tác khác nhau • Điều này có thể khiến cho tiến trình có dư quyền trong một giai đoạn nào đó, và vi phạm nguyên lý need-to-know. • Cần phải có khả năng cập nhật nội dung miền bảo vệ Dang Minh Quan: Institute of IT for Economics-NEU, 2011 8
  9. Miền bảo vệ - Liên kết động • Cơ chế này cho phép tiến trình chuyển từ miền bảo vệ này sang miền bảo vệ khác trong suốt thời gian sống của nó. • Để tiếp tục tuân theo nguyên lý need-to- know, thay vì sửa đổi nội dung của miền bảo vệ, có thể tạo ra các miền bảo vệ mới với nội dung thay đổi qua từng giai đoạn xử lý của tiến trình, và chuyển tiến trình sang hoạt động trong miền bảo vệ phù hợp theo từng thời điểm. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 9
  10. Miền bảo vệ • Một miền bảo vệ có thể được xây dựng cho: – Một người sử dụng : trong trường hợp này, tập các đối tượng được phép truy xuất phụ thuộc vào định danh của người sử dụng, miền bảo vệ được chuyển khi thay đổi người sử dụng. – Một tiến trình : trong trường hợp này, tập các đối tượng được phép truy xuất phụ thuộc vào định danh của tiến trình, miền bảo vệ được chuyển khi quyền điều khiển được chuyển sang tiến trình khác. – Một thủ tục : trong trường hợp này, tập các đối tượng được phép truy xuất là các biến cục bộ được định nghĩa bên trong thủ tục, miền bảo vệ được chuyển khi thủ tục được gọi. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 10
  11. Ma trận quyền truy xuất • Các dòng của ma trận biễu diễn các miền bảo vệ • Các cột tương ứng với các đối tượng trong hệ thống. • Phần tử acess[i,j] của ma trận xác định các quyền truy xuất mà một tiến trình hoạt động trong miền bảo vệ Di có thể thao tác trên đối tượng Oj. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 11
  12. Ma trận quyền truy xuất object F1 F2 F3 Máy in domain D1 đọc Đọc D2 in D3 đọc Xử lý D4 đọc đọc ghi ghi Dang Minh Quan: Institute of IT for Economics-NEU, 2011 12
  13. Ma trận quyền truy xuất • Có thể kiểm soát việc chuyển đổi giữa các miền bảo vệ nếu quan niệm miền bảo vệ cũng là một đối tượng trong hệ thống, và bổ sung các cột mô tả cho nó trong ma trận quyền truy xuất. • Khi đó tiến trình được phép chuyển từ miền bảo vệ Di sang miền bảo vệ Dj nếu phần tử access(i,j) chứa đựng quyền « chuyển » ( switch). Dang Minh Quan: Institute of IT for Economics-NEU, 2011 13
  14. Ma trận quyền truy xuất object F1 F2 F3 Máy in D1 D2 D3 D4 domain D1 đọc đọc chuyển D2 in chuyển chuyển D3 đọc xử lý D4 đọc đọc chuyển ghi ghi Dang Minh Quan: Institute of IT for Economics-NEU, 2011 14
  15. Ma trận quyền truy xuất • Có thể kiểm soát việc sửa đổi nội dung ma trận (thay đổi các quyền truy xuất trong một miền bảo vệ) nếu quan niệm bản thân ma trận cũng là một đối tượng. • Các thao tác sửa đổi nội dung ma trận được phép thực hiện bao gồm : sao chép quyền ( copy), chuyển quyền ( transfer), quyền sở hữu (owner), và quyền kiểm soát (control) Dang Minh Quan: Institute of IT for Economics-NEU, 2011 15
  16. Ma trận quyền truy xuất • Copy: nếu một quyền truy xuất R trong access[i,j] được đánh dấu là R* thì có thể sao chép nó sang một phần tử access[k,j] khác ( mở rộng quyền truy xuất R trên cùng đối tượng Oj nhưng trong miền bảo vệ Dk ). • Transfer : nếu một quyền truy xuất R trong access[i,j] được đánh dấu là R+ thì có thể chuyển nó sang một phần tử access[k,j] khác ( chuyển quyền truy xuất R+ trên đối tượng Oj sang miền bảo vệ Dk ). Dang Minh Quan: Institute of IT for Economics-NEU, 2011 16
  17. Ma trận quyền truy xuất object F1 F3 object F1 F3 domain F2 domain F2 D1 xử lý ghi+ D1 xử lý D2 xử lý Đọc* xử lý D2 xử lý Đọc* xử lý D3 xử lý D3 xử lý đọc ghi+ Dang Minh Quan: Institute of IT for Economics-NEU, 2011 17
  18. Ma trận quyền truy xuất • Owner : nếu access[i,j] chứa quyền truy xuất owner thì tiến trình hoạt động trong miền bảo vệ Di có thể thêm hoặc xóa các quyền truy xuất trong bất kỳ phần tử nào trên cột j (có quyền thêm hay bớt các quyền truy xuất trên đối tượng Oj trong những miền bảo vệ khác). Dang Minh Quan: Institute of IT for Economics-NEU, 2011 18
  19. Ma trận quyền truy xuất object F1 F3 object F1 F3 domain F2 domain F2 D1 owner Ghi D1 owner xử lý xử lý D2 đọc* đọc* D2 owner đọc* owner owner đọc* owner ghi* ghi* ghi* D3 xử lý D3 ghi Dang Minh Quan: Institute of IT for Economics-NEU, 2011 19
  20. Ma trận quyền truy xuất • Control : nếu access[i,j] chứa quyền truy xuất control thì tiến trình hoạt động trong miền bảo vệ Di có thể xóa bất kỳ quyền truy xuất nào trong các phần tử trên dòng j (có quyền bỏ bớt các quyền truy xuất trong miền bảo vệ Dj). Dang Minh Quan: Institute of IT for Economics-NEU, 2011 20
  21. Ma trận quyền truy xuất object F1 F2 F3 Máy in D1 D2 D3 D4 domain D1 đọc đọc chuyển D2 in chuyển chuyển D3 đọc xử lý D4 đọc đọc chuyển ghi ghi object F1 F2 F3 Máy in D1 D2 D3 D4 domain D1 đọc đọc chuyển D2 in chuyển control chuyển D3 đọc xử lý D4 ghi ghi chuyển Dang Minh Quan: Institute of IT for Economics-NEU, 2011 21
  22. Vấn đề an toàn • Xâm phạm tính bí mật. Kiểu xâm phạm này bao gồm sự đọc không hợp pháp dữ liệu hay sự ăn trộm thông tin. • Xâm phạm sự toàn vẹn. Sự xâm phạm này bao gồm sự cải biến không hợp pháp dữ liệu. • Xâm phạm tính sẵn sàng. Sự xâm phạm này bao gồm sự phá hủy không hợp pháp dữ liệu. • Ăn trộm dịch vụ. Sự xâm phạm này bao gồm sự sử dụng không hợp pháp những tài nguyên. • Từ chối dịch vụ. Sự xâm phạm này bao gồm ngăn ngừa sử dụng hợp pháp của hệ thống. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 22
  23. Chương trình đe dọa • Con ngựa thành Tơ-roa – Phần mềm gián điệp đôi khi đi theo một chương trình mà người sử dụng lựa chọn để cài đặt. Thường xuyên nhất, nó đi cùng với phần mềm miễn phí hay chương trình phần mềm dùng chung, nhưng đôi khi nó được đi cùng với phần mềm thương mại. Mục đích của phần mềm gián điệp là tải xuống những quảng cáo để trình bày trên hệ thống của người sử dụng, tạo ra khi đến thăm những chỗ nhất định, hay bắt thông tin từ hệ thống của người sử dụng và truyền đến một chỗ trung tâm. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 23
  24. Chương trình đe dọa • Cửa bẫy: người thiết kế của một chương trình hay hệ thống có thể đã để lại một lỗ hổng trong phần mềm mà chỉ ông ta có năng lực sử dụng. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 24
  25. Chương trình đe dọa • Bom lôgic: Xem xét một chương trình mà nó kích hoạt tính năng mất an ninh dưới những hoàn cảnh nhất định. Thật khó để phát hiện vì ở dưới những thao tác bình thường, ở đó không có lỗ hổng an ninh. Tuy nhiên, khi một tập hợp cài đặt sẵn những tham số xuất hiện, lỗ hổng an toàn được tạo ra. Kịch bản này được biết đến như một bom lôgic. Một lập trình viên, chẳng hạn, có thể đã viết viết mã để phát hiện liệu mình vẫn còn được sử dụng; nếu sự kiểm tra kia thất bại, một tiến trình có thể được sinh ra cho phép sự truy nhập từ xa, hay một đoạn mã có thể được chạy nhằm gây ra thiệt hại cho hệ thống. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 25
  26. Chương trình đe dọa • Tấn công tràn ngăn xếp hay bộ đệm là cách chung nhất của người tấn công từ bên ngoài hệ thống, trên một mạng, nhằm đạt được sự truy nhập trái phép tới hệ thống đích. Một người có quyền sử dụng hệ thống có thể cũng sử dụng cách này để có được sự leo thang đặc quyền. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 26
  27. Chương trình đe dọa • Virut: Một dạng khác của chương trình đe dọa là một virut. Một virut là một đoạn mã nhúng trong một chương trình hợp pháp. Những virut có thể tự sao chép và được thiết kế để " lây lan " sang các trương trình khác. Chúng có thể tàn phá một hệ thống bởi việc sửa đổi hay phá hủy những tập tin và gây ra treo hệ thống và những sự trục trặc của các chương trình. Giống như với đa số những sự tấn công thâm nhập, những virut rất đặc trưng đối với những kiến trúc, những hệ điều hành và những ứng dụng. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 27
  28. Mối đe dọa Hệ thống và Mạng • Sâu: Một con Sâu là một tiến trình mà sử dụng cơ chế sản sinh để tàn phá hiệu năng cả hệ thống. Con Sâu sao chép chính nó, sử dụng hết những tài nguyên hệ thống và có thể khóa các tiến trình khác. Trên những mạng máy tính, sâu đặc biệt hùng mạnh, do chúng có thể tự sinh sôi trong các hệ thống và như vậy làm sập toàn bộ một mạng. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 28
  29. Mối đe dọa Hệ thống và Mạng • Sự quét cổng không phải là một sự tấn công nhưng là một phương tiện cho một kẻ bẻ khóa để phát hiện ra những điểm dễ bị tổn thương bởi sự tấn công của một hệ thống. Sự quét cổng thường được tự động hóa, bao gồm một công cụ thử tạo ra một kết nối TCP tới một cổng hay một dãy các cổng. Chẳng hạn, giả sử có một lỗ hổng đã biết (hay một lỗi) ở chương trình gửi thư. Một kẻ bẻ khóa có thể dùng bộ quét cổng để thử kêt nối vào cổng 25 của một hệ thống cụ thể hay tới một loạt các hệ thống. Nếu kết nối thành công, kẻ bẻ khóa có thể thử giao tiếp với dịch vụ đang trả lời để xác định phải chăng dịch vụ đó là dịch vụ gửi thư, nếu đúng, thì đó là phiên bản Dang Minhcó lỗi Quan: Institute. of IT for Economics-NEU, 2011 29
  30. Tấn công từ chối dịch vụ • Tấn công từ chối dịch vụ nói chung thường dựa vào mạng. Chúng rơi vào trong hai phạm trù. Những sự tấn công trong phạm trù đầu tiên sử dụng rất nhiều phương tiện tài nguyên dẫn tới không có công việc có ích nào có thể được thực hiện. Chẳng hạn, một click vào Web-site có thể tải xuống một Java applet mà nó có thể sử dụng tất cả thời gian CPU hay mở ra vô tận các cửa sổ. Phạm trù thứ hai bao gồm phá vỡ mạng của một phương tiện. Đã có vài sự tấn công từ chối dịch vụ thành công theo cách thức này nhằm chống lại những trang Web lớn. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 30
  31. Xây dựng hệ thống bảo vệ • Vật lý. Chỗ hay những chỗ chứa đựng những hệ thống máy tính phải chắc chắn về mặt vật lý chống lại những kẻ đột nhập có vũ trang hay lén lút. Những buồng máy và những thiết bị đầu cuối hay những máy trạm truy nhập tới những máy chủ phải được đảm bảo an toàn. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 31
  32. Xây dựng hệ thống bảo vệ • Con người. Sự cho phép phải được làm cẩn thận để đảm bảo rằng chỉ những người sử dụng thích hợp được truy nhập tới hệ thống Dang Minh Quan: Institute of IT for Economics-NEU, 2011 32
  33. Xây dựng hệ thống bảo vệ • Hệ điều hành. Chính hệ thống phải bảo vệ nó từ những sự xâm phạm an toàn ngẫu nhiên hay có chủ ý. Một tiến trình chạy trốn đã có thể cấu thành một sự tấn công từ chối dịch vụ ngẫu nhiên. Một truy vấn tới một dịch vụ có thể để lộ ra những mật khẩu. Một sự tràn ngăn xếp đã có thể khởi tạo một tiến trình không hợp pháp. Danh sách những sự xâm phạm có thể xảy ra gần như vô tận. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 33
  34. Xây dựng hệ thống bảo vệ • Mạng. Nhiều dữ liệu máy tính trong những hệ thống hiện đại truyền qua những đường dây thuê bao riêng tư, những đường dây chung như Internet, những kết nối không dây. Việc chặn đứng dữ liệu này có thể chỉ có hại như đột nhập vào trong một máy tính; và việc gián đoạn truyền thông đã có thể cấu thành một sự tấn công từ chối dịch vụ từ xa, giảm bớt sự sử dụng của người dùng và độ tin cậy trong hệ thống. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 34
  35. Mã hóa • Mật mã dựa vào những bí mật gọi là những chìa khóa được phân tán có chọn lọc tới những máy tính trong một mạng và thường dùng để xử lý những thông điệp. Mật mã cho phép một người nhận thông điệp kiểm tra thông điệp được tạo ra bởi máy tính nào đó sở hữu một chìa khóa nhất định- chìa khóa là nguồn của thông điệp. Tương tự : Một người gửi có thể mã hóa thông điệp của mình để chỉ một máy tính với một chìa khóa nhất định có thể giải mã được thông điệp, vì vậy chìa khóa kia trở thành địa điểm đến. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 35
  36. Chính sách an toàn • Bước đầu tiên của việc cải thiện sự an toàn của bất kỳ khía cạnh nào của hệ thống tính toán là có một chính sách an toàn. Những chính sách thay đổi rộng nhưng nói chung bao gồm một sự phát biểu cái gì cần được giữ an toàn. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 36
  37. Đánh giá lỗ hổng • Hoạt động lõi của đa số những sự đánh giá lỗ hổng là một thử nghiệm xâm nhập trong đó thực thể được quét nhằm phát hiện các lỗ hổng đã được biết. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 37
  38. Phát hiện xâm nhập • Sự phát hiện xâm nhập như tên của nó gợi ý, những sự cố gắng để phát hiện ra những ý định xâm nhập hay xâm nhập thành công vào trong những hệ máy tính và khởI động các phản ứng đáp lại những xâm nhập. – Thời gian mà sự phát hiện xuất hiện. – Phạm vi của những khả năng đáp trả. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 38
  39. Sự Bảo vệ khỏi Virut • Việc bảo vệ khỏi những virut như vậy là một sự quan tâm quan trọng về an toàn. Những chương trình kháng virut thường được dùng để cung cấp sự bảo vệ này. Một số những chương trình này có hiệu quả chống lại chỉ những virut đã được biết đến. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 39
  40. Kiểm toán, Kế toán, và lưu lại dữ liệu • Sự kiểm toán, kế toán, và sư ghi lạI dữ liệu có thể làm giảm bớt hiệu năng cả hệ thống, nhưng chúng rất hữu ích trong vài lĩnh vực, bao gồm sự an toàn. Sư ghi lạI dữ liệu có thể chung chung hay cụ thể. Tất cả các sự thực hiện lờI gọi hệ thống có thể được ghi lại phục vụ sự phân tích hành vi chương trình. Cụ thể hơn, những sự kiện đáng nghi ngờ được ghi lại. • Những sự thất bại về chứng thực và xác thực có thể nói với chúng ta khá nhiều về những sự nỗ lực xâm nhập. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 40
  41. Tường lửa • Một máy tính, trang thiết bị hay bộ định tuyến đặt giữa hệ thống được tin cậy và không đáng tin cậy. • Một tường lửa mạng giới hạn các truy nhập mạng giữa hai hệ thống và kiểm tra và ghi lại tất cả các kết nối. Nó có thể cũng giới hạn những kết nối dựa vào địa chỉ nguồn hay nơi nhận, cổng nguồn hay cổng đến hay phương hướng của kết nối. Ví dụ, máy chủ Web sử dụng HTTP để giao tiếp với những trình duyệt. Một tường lửa bởi vậy có thể cho phép duy nhất HTTP đi qua từ tất cả các máy bên ngoài tường lửa đến người máy chủ Web bên trong tường lửa Dang Minh Quan: Institute of IT for Economics-NEU, 2011 41