You are on page 1of 41

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


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


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


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


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


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


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


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


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


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 có lỗi.
Dang Minh Quan: Institute of IT for Economics-NEU, 2011 29
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


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


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


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


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


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


Đá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


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


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


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

You might also like