Tải bản đầy đủ (.pdf) (41 trang)

Bài giảng Hệ điều hành: Chương 7 - Đặng Minh Quân

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (789.54 KB, 41 trang )

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


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


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


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


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ự <đối tượng, {quyền 
thao tác} >.
Dang Minh Quan: Institute of IT for Economics-NEU, 2011

5


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ụ : <File F, {read, write}> 
Dang Minh Quan: Institute of IT for Economics-NEU, 2011

6


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


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


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


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


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


Ma trận quyền truy xuất
object
domain

F1

D1

đọc

D2


 

D3

 

D4

F2

Đọc

 

 

Dang Minh Quan: Institute of IT for Economics-NEU, 2011

 

Máy in

 

 

đọc

đọc

ghi

F3

in

Xử lý

 

đọc
ghi

 

12


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


Ma trận quyền truy xuất
object
domain

F1

D1

đọc

D2

 

D3

 

D4

F2

đọc

 

 


 

Máy in

 

 

đọc
đọc
ghi

F3

in

D1

D2

D3

D4

 

chuyển 

 


 

 

 

chuyển 

chuyển 

xử lý

 

 

 

 

 

đọc
ghi

 

chuyển 


 

 

 

Dang Minh Quan: Institute of IT for Economics-NEU, 2011

14


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


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


Ma trận quyền truy xuất
object
domain

F1

D1

xử lý

D2

xử lý

D3


xử lý

 
F2

F3

 

Đọc*

 

object
domain

F1

 
F2

F3

ghi+

D1

xử lý

xử lý


D2

xử lý

Đọc*

xử lý

D3

xử lý

đọc

ghi+

 

Dang Minh Quan: Institute of IT for Economics-NEU, 2011

 

 

17


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


Ma trận quyền truy xuất
object
domain

F1

D1

D2

D3

owner 
xử lý

 
F2


F3

 

đọc*
owner 

 

xử lý

 

object
domain

F1

 
F2

Ghi

D1

đọc*
owner 
ghi*

D2


 

owner 
đọc*
ghi*

D3

 

ghi

 

Dang Minh Quan: Institute of IT for Economics-NEU, 2011

owner 
xử lý

 

F3

 

đọc*
owner 
ghi*


 

19


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


Ma trận quyền truy xuất
object
domain

F1

D1

đọc

D2


 

D3

 

D4

đọc

D2

 

D3

 

D4

đọc

 

F2

in

D1


D2

D3

D4

 

chuyển 

 

 

 

 

chuyển 

chuyển 

xử lý

 

 

 


 

 

đọc
ghi

 

chuyển 

 

 

 

đọc

Máy in
 

 

đọc
 

 

F3


 
 

ghi

Máy in

 
đọc

F1

D1

F3

 
 

đọc
ghi

object
domain

F2

in


D1

D2

D3

D4

 

chuyển 

 

 

 

 

chuyển 

control 
chuyển 

xử lý

 

 


 

 

 

ghi

 

chuyển 

 

 

 

Dang Minh Quan: Institute of IT for Economics-NEU, 2011

21


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


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


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


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



×