25
ating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007 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ệ

  • 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

Page 1: Chương 14:  Bảo vệ

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

Page 2: Chương 14:  Bảo vệ

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ữ

Page 3: Chương 14:  Bảo vệ

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ữ

Page 4: Chương 14:  Bảo vệ

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

Page 5: Chương 14:  Bảo vệ

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

Page 6: Chương 14:  Bảo vệ

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

Page 7: Chương 14:  Bảo vệ

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ũ.

Page 8: Chương 14:  Bảo vệ

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

Page 9: Chương 14:  Bảo vệ

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

Page 10: Chương 14:  Bảo vệ

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

Page 11: Chương 14:  Bảo vệ

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

Page 12: Chương 14:  Bảo vệ

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.

Page 13: Chương 14:  Bảo vệ

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

Page 14: Chương 14:  Bảo vệ

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

Page 15: Chương 14:  Bảo vệ

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

Page 16: Chương 14:  Bảo vệ

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

Page 17: Chương 14:  Bảo vệ

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

Page 18: Chương 14:  Bảo vệ

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

Page 19: Chương 14:  Bảo vệ

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

Page 20: Chương 14:  Bảo vệ

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)

Page 21: Chương 14:  Bảo vệ

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ó.

Page 22: Chương 14:  Bảo vệ

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.

Page 23: Chương 14:  Bảo vệ

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 .

Page 24: Chương 14:  Bảo vệ

14.24 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006

Kiểm tra Stack

Page 25: Chương 14:  Bảo vệ

Operating System Concepts with Java – 7th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007

Kết thúc chương 14