Upload
laszlo
View
58
Download
2
Embed Size (px)
DESCRIPTION
Chương 14: Bảo vệ. Hồ Thị Thùy Loan Phan Thanh Luân Trần Văn Tùng. Chương 14: Bảo vệ (Protection). Mục đích của Bảo vệ Nguyên lý Bảo vệ Miền bảo vệ Ma trận truy nhập Cài đặt ma trận truy nhập Đ i ề u khiển truy nh ập Thu hồi quyền truy xuất Các hệ thống dựa trên tiềm năng - PowerPoint PPT Presentation
Citation preview
Operating System Concepts with Java – 7th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007
Chương 14: Bảo vệ
Hồ Thị Thùy LoanPhan Thanh LuânTrần Văn Tùng
14.2 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Chương 14: Bảo vệ (Protection)
Mục đích của Bảo vệ Nguyên lý Bảo vệ Miền bảo vệ Ma trận truy nhập Cài đặt ma trận truy nhập Điều khiển truy nhập Thu hồi quyền truy xuất Các hệ thống dựa trên tiềm năng Bảo vệ trên cơ sở ngôn ngữ
14.3 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Mục tiêu
Thảo luận về mục đích và các nguyên lý bảo vệ trong một hệ thống máy tính hiện đại
Giải thích cách mà các miền bảo vệ kết hợp với một ma trận truy nhập được dùng để chỉ rõ các tài nguyên mà tiến trình có thể truy nhập như thế nào
Khảo sát một số hệ thống dựa trên tiềm năng và bảo vệ trên cơ sở ngôn ngữ
14.4 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Mục đích của bảo vệ
Hệ điều hành là một tập hợp bao gồm các đối tượng, phần cứng hoặc phần mềm
Mỗi đối tượng có một định danh duy nhất và có thể truy nhập thông qua một tập các thao tác được định nghĩa chặt chẽ.
Vấn đề bảo vệ - bảo đảm mỗi đối tượng được truy cập chính xác và chỉ bởi các tiến trình được phép
14.5 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Nguyên lý bảo vệ
Nguyên lý định hướng – nguyên lý đặc quyền tối thiểu Chương trình, người sử dụng và hệ thống chỉ
nên được cấp vừa đủ các đặc quyền để thực hiện nhiệm vụ của mình
14.6 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Cấu trúc miền bảo vệ
Quyền truy nhập = <tên đối tượng, quyền thao tác>Trong đó quyền thao tác là một tập các thao tác hợp lệ có thể thực hiện trên đối tượng
Miền bảo vệ = tập các quyền truy nhập
14.7 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Cài đặt miền bảo vệ (UNIX)
Hệ thống gồm 2 miền: Người sử dụng(User) Người quản trị hệ thống(Supervisor)
UNIX Miền = user-id(id người sử dụng) Chuyển đổi miền bảo vệ được hoàn thành thông qua hệ
thống tập tin. Mỗi file có 1 bit gắn với miền (setuid bit). Khi file được thực thi và setuid = on, thì user-id được
đặt là owner của file đang thực hiện. Khi thực thi xong, user-id được trả lại giá trị cũ.
14.8 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Cài đặt miền bảo vệ (MULTICS)
Gọi Di và Dj là 2 miền bảo vệ bất kỳ.
Nếu j < i Di Dj
14.9 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Ma trận truy nhập
Biểu diễn bảo vệ dưới dạng một ma trận ( ma trận truy nhập - access matrix)
Các hàng biểu diễn các miền Các cột biểu diễn các đối tượng Phần tử Access(i, j) là tập các thao tác mà một
tiến trình thực thi trong miền Di được thao tác trên đối tượng Oj
14.10 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Ma trận truy nhập
Ví dụ A. Ma trận truy nhập
14.11 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Sử dụng ma trận truy nhập
Nếu một tiến trình ở miền Di muốn thực thiện thao tác “op” trên đối tượng Oj , thì “op” phải có trong ma trận truy nhập
Có thể được mở rộng thành bảo vệ “động “(dynamic protection). Các thao tác bổ sung, xóa quyền truy nhập. Các quyền truy cập đặc biệt:
Owner - Chủ của đối tượng Oi
Copy - Sao chép thao tác “op” từ Oi sang Oj
Control – Di có thể sửa đổi quyền truy nhập của Dj
Transfer – chuyển op từ miền Di sang Dj
14.12 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Sử dụng ma trận truy nhập (Cont.)
Ma trận truy nhập thiết kế cơ chế riêng biệt với nguyên tắc Cơ chế
Hệ điều hành cung cấp ma trận truy nhập + quy định(rules)
Nếu đảm bảo rằng ma trận chỉ được sử dụng bởi các tác nhân được phép và các quy định được thực hiện nghiêm ngặt .
Nguyên tắc Người sử dụng đề ra nguyên tắc Ai có thể truy cập những đối tượng nào, và
trong những chế độ nào.
14.13 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Cài đặt ma trận truy nhập
Mỗi cột = Danh sách các quyền điều khiển truy nhập cho một đối tượngĐịnh nghĩa miền nào có thể thực hiện những thao tác gì
Domain 1 = Read, WriteDomain 2 = ReadDomain 3 = Read
Mỗi hàng = Danh sách các khả năng (like a key)Đối với mỗi miền, các thao tác nào được quyền thực hiện trên đối tượng.
Object 1 – ReadObject 4 – Read, Write, ExecuteObject 5 – Read, Write, Delete, Copy
14.14 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Ma trận truy nhập trong ví dụ A với các miền là các đối tượng
Ví dụ B. Ma trận truy nhập với miền là đối tượng
14.15 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Ma trận truy nhập với quyền copy
Ma trận truy nhập với quyền copy trước(a) và sau(b) cập nhật
14.16 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Ma trận truy nhập với quyền owner
Ma trận truy nhập với quyền owner trước(a) và sau(b) cập nhật
14.17 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Ma trận truy nhập trong VD B đã chỉnh sửa
Ma trận truy nhập đã chỉnh sửa nội dung nhờ quyền contol
14.18 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Điều khiển truy nhập
Bảo vệ có thể áp dụng cho tài nguyên non-file Solaris 10 cung cấp điều khiển truy cập dựa
trên cơ sở vai trò(role-based access control) để thực thi đặc quyền tối thiểu Đặc quyền là quyền thực thi lời gọi hệ thống
hoặc sử dụng một tùy chọn trong lời gọi hệ thống
Có thể được gán cho tiến trình Người sử dụng được giao vai trò cấp phép
truy cập tới các đặc quyền và các chương trình
14.19 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Điều khiển truy cập đựa trên vai trò trong Solaris 10
14.20 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Thu hồi quyền truy nhập
Danh sách truy nhập – xóa quyền truy nhập từ danh sách Đơn giản Ngay lập tức
Danh sách khả năng – yêu cầu phải xác định các khả năng trong hệ thống trước khi tiềm năng đó có thể bị thu hồi. Tái yêu cầu(Reacquisition) Sử dụng con trỏ ngược(Back-pointers) Sử dụng con trỏ gián tiếp(Indirection) Khóa(Keys)
14.21 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Các hệ thống dựa trên tiềm năng
Hydra Cố định bộ các quyền truy cập được biết trước và
được thể hiện bởi hệ thống. Sự thể hiện của các quyền do người dùng định nghĩa
trước được thực hiện bởi chương trình của người sử dụng ; hệ thống cung cấp bảo vệ truy nhập cho việc sử dụng các quyền này.
Cambridge CAP System Data capability – cung cấp chuẩn đọc, ghi, thực thi của
từng phân đoạn kết hợp với đối tượng. Software capability – việc thông dịch giao cho các hệ
thống phụ(subsytem), thông qua các thủ tục bảo vệ của nó.
14.22 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Bảo vệ trên cơ sở ngôn ngữ
Kỹ thuật về bảo vệ trong một ngôn ngữ lập trình cung cấp các mô tả cao cấp của các chiến lược phân phối và sử dụng tài nguyên.
Cài đặt của ngôn ngữ có thể cung cấp phần mềm cho sự bảo vệ bắt buộc khi việc tự động kiểm tra phần cứng không sử dụng được.
Việc biên dịch các kỹ thuật về bảo vệ để sinh ra lời gọi trên bất kỳ hệ thống bảo vệ nào được cung cấp bởi phần cứng và hệ điều hành.
14.23 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Bảo vệ trong Java 2
Bảo vệ được xử lý bởi máy ảo Java (JVM) Một lớp được gán cho một miền bảo vệ khi nó
được nạp bằng JVM. Miền bảo vệ cho biết các thao tác nào mà lớp có
thể (hoặc không thể) thực hiện. Nếu một phương thức trong thư viện bị thu hồi
thì nó sẽ thực thi một thao tác đặc quyền, stack được kiểm tra để bảo đảm rằng thao tác đó có thể được thực hiện bởi thư viện .
14.24 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Kiểm tra Stack
Operating System Concepts with Java – 7th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007
Kết thúc chương 14