Bài giảng Nguyên lý hệ điều hành - Nguyễn Hải Châu - Tuần 12,13: Bảo vệ và an ninh

Bảo vệ

zHĐH gồm một tập các đối tượng, đối tượng:

phần cứng hoặc phần mềm

zMỗi đối tượng có một tên duy nhất và có thể

truy cập đến thông qua một sốtoán tử(hàm

hệthống)

zBảo vệ: Đảm bảo mỗi đối tượng được truy

cập đúng cách và chỉ bởi các tiến trình được

phép

pdf7 trang | Chuyên mục: Hệ Điều Hành | Chia sẻ: dkS00TYs | Lượt xem: 1911 | Lượt tải: 0download
Tóm tắt nội dung Bài giảng Nguyên lý hệ điều hành - Nguyễn Hải Châu - Tuần 12,13: Bảo vệ và an ninh, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
1Nguyên lý hệ điều hành
Nguyễn Hải Châu
Khoa Công nghệ Thông tin
Trường Đại học Công nghệ
Bảo vệ và an ninh
Bảo vệ
Mục đích bảo vệ
Các miền bảo vệ
Ma trận truy cập
Cài đặt ma trận truy cập
Hủy bỏ quyền truy cập
Bảo vệ
z HĐH gồm một tập các đối tượng, đối tượng: 
phần cứng hoặc phần mềm
z Mỗi đối tượng có một tên duy nhất và có thể
truy cập đến thông qua một số toán tử (hàm 
hệ thống)
z Bảo vệ: Đảm bảo mỗi đối tượng được truy 
cập đúng cách và chỉ bởi các tiến trình được 
phép
Cấu trúc miền bảo vệ
z Quyền truy cập = <tên đối tượng, tập các 
toán tử> trong đó tập các toán tử là một tập 
con của tập tất cả các toán tử hợp lệ có thể
thực hiện trên đối tượng
z Miền = Tập các quyền truy cập
Cài đặt miền trên UNIX
z Hệ Unix có 2 miền:
z Người sử dụng (user)
z Người quản trị hệ thống (supervisor/root)
z UNIX 
z Miền = user-id
z “Chuyển” miền bảo vệ thông qua hệ thống tệp:
z Mỗi tệp có 1 bit gắn với miền (setuid bit).
z Khi tệp f được thực hiện và bit setuid=1 thì user-id
được đặt là owner của tệp f. Khi thực hiện xong, user-
id được trả lại giá trị cũ
2Cài đặt tên miền trên Multics
z Các miền bảo vệ bao nhau (ring)
z Gọi Di và Dj là hai miền bảo vệ bất kỳ.
z Nếu j < i⇒ Di ⊆ Dj
Multics Rings
Ma trận truy cập
z Biểu diễn các miền bảo vệ dưới dạng ma 
trận (Ma trận truy cập - access matrix). Giả
sử ma trận là access
z Các hàng biểu diễn các miền
z Các tên cột biểu diễn các đối tượng
z Phần tử access(i, j) là tập các toán tử một 
tiến trình thực hiện trong miền Di được thao 
tác trên đối tượng Oj
Ma trận truy cập Sử dụng ma trận truy cập
z Nếu một tiến trình trong miền Di muốn thực 
hiện toán tử “op” trên đối tượng Oj, thì “op”
phải nằm trong ma trận truy cập
z Mở rộng: Bảo vệ “động”
z Các toán tử để thêm, xóa các quyền truy cập
z Các quyền truy cập đặc biệt:
z Chủ của đối tượng Oi
z Sao chép toán tử “op” từ Oi sang Oj
z Quyền điều khiển – Di có thể sửa đổi quyền truy cập 
của Dj
z transfer – switch từ miền Di sang Dj
Ma trận truy cập với các miền 
được xem như các đối tượng
Ma trận truy cập với quyền 
truy cập Copy
3Ma trận truy cập với quyền 
truy cập Owner
Cài đặt ma trận truy cập
z Có 4 cách cài đặt:
z Bảng toàn cục (global table): Phương pháp đơn 
giản nhất
z Danh sách truy cập (access list) cho các đối 
tượng
z Danh sách khả năng (capability list) cho các miền
z Cơ chế khóa – chìa (Lock-Key)
Bảng toàn cục
z Là một bảng với các phần tử là bộ ba:
z 
z Bảng toàn cục thường lớn nên không nằm 
toàn bộ trong bộ nhớ trong Æ Cần nhiều thao 
tác vào/ra
z Tốn thời gian tìm kiếm trên bảng toàn cục
Danh sách truy cập
z Mỗi cột trong ma trận truy cập có thể được 
cài đặt thành một danh sách truy cập cho một 
đối tượng
z Danh sách gồm các phần tử là bộ đôi <miền, 
tập các quyền>
z Các hệ điều hành: UNIX, Windows sử dụng 
danh sách truy cập
Danh sách khả năng
z Mỗi hàng trong ma trận truy cập được cài đặt 
thành một danh sách khả năng cho một miền
z Một danh sách khả năng là một danh sách 
đối tượng kèm theo các quyền 
4Cơ chế khóa – chìa
z Là sự kết hợp giữa danh sách truy cập và
danh sách khả năng
z Đối tượng có danh sách các mẫu bit gọi là
khóa
z Mỗi miền có danh sách các mẫu bit gọi là
chìa
z Một tiến trình thực hiện trong một miền xem 
như có chìa và được thao tác trên đối tượng 
nếu chìa khớp với khóa
So sánh các phương pháp cài 
đặt ma trận truy cập
z Bảng toàn cục: Cài đặt đơn giản, tốn bộ nhớ
z Danh sách truy cập: Liên quan trực tiếp đến 
nhu cầu NSD, khó xác định quyền truy cập 
cho các miền
z Danh sách khả năng: Dễ dàng xác định 
quyền truy cập cho các miền, không liên 
quan trực tiếp đến nhu cầu NSD
z Khóa-chìa: Kết hợp được ưu điểm của danh 
sách truy cập và danh sách khả năng
Hủy bỏ quyền truy cập
z Các vấn đề cần xem xét:
z Hủy ngay hay có trễ? Nếu có trễÆKhi nào?
z Phạm vi ảnh hưởng: Toàn bộ NSD hay chỉ một 
nhóm NSD nhất định?
z Hủy bỏ một số quyền nhất định hay tất cả các 
quyền?
z Hủy tạm thời hay vĩnh viễn?
An ninh
Vấn đề an ninh
Xác thực
Các mối đe dọa chương trình và
hệ thống
Mã hóa
Vấn đề an ninh
z An ninh: Xem xét môi trường bên ngoài hệ
thống để bảo vệ hệ thống khỏi:
z Truy cập trái phép
z Sửa đổi hoặc phá hoại hệ thống
z Vô tình làm hỏng tính nhất quán của hệ thống
z Dễ đảm bảo an ninh tránh các hành động vô 
ý hơn là đảm bảo anh ninh cho sự phá
hoại/truy cập trái phép có mục đích
Xác thực
z Định danh người sử dụng thường được thực 
hiện qua mật khẩu
z Mật khẩu phải được giữ bí mật
z Thường xuyên đổi mật khẩu
z Sử dụng mật khẩu là các chuỗi ký tự khó đoán
z Ghi lại tất cả những lần login không thành công
z Mật khẩu có thể được mã hóa hoặc sử dụng 
một lần (ví dụ: SecurID)
z Có thể sử dụng công nghệ mới, ví dụ xác 
thực sinh trắc học
5Đe dọa chương trình
z Trojan Horse (Con ngựa thành T’roa)
z Đoạn mã được sử dụng sai mục đích
z Khai thác cơ chế setuid
z Trap Door (Cửa sập)
z Người lập trình để ngỏ một “cửa” chỉ mình anh ta 
biết để sử dụng sai mục đích, vi phạm an ninh
z Có thể xuất hiện trong chương trình dịch
z Stack/buffer overflow (tràn bộ đệm/ngăn xếp)
Đe dọa hệ thống
z Worms (Sâu): Chương trình độc lập, có cơ chế tự sinh
z Internet worm (sâu Internet)
z Khai thác đặc điểm mạng của UNIX (truy cập từ xa) lỗi trong 
các chương trình finger và sendmail
z Grappling hook program uploaded main worm program.
z Viruses (Vi rút) – Đoạn mã ký sinh vào các chương 
trình khác
z Chủ yếu ảnh hưởng đến các máy vi tính
z Lây nhiễm qua các phương tiện lưu trữ, qua chương trình
z Safe computing. (Tính toán an toàn)
z Từ chối dịch vụ: Làm cho máy bị tấn công hoạt động 
quá tải dẫn đến không phục vụ được các yêu cầu
Sâu Internet của Albert Morris 
(1998) Kiểm soát các đe dọa
z Kiểm tra các hành động có thể gây mất an 
ninh (ví dụ liên tục gõ sai mật khẩu)
z Ghi nhật ký hệ thống: Thời gian, NSD các 
loại truy cập đến các đối tượng – hữu ích cho 
việc tìm ra cơ chế an ninh tốt hơn cũng như 
khôi phục việc mất an ninh
z Quét hệ thống định kỳ để tìm ra các lỗ hổng 
an ninh
Kiểm soát
z Cần kiểm soát:
z Mật khẩu ngắn và dễ đoán (ví dụ abc123)
z Các chương trình có setuid và chưa được xác thực
z Các chương trình chưa được xác thực trong các 
thư mục hệ thống
z Các tiến trình thực hiện quá lâu
z Các thư mục được bảo vệ không đúng cách
z Các tệp dữ liệu hệ thống được bảo vệ không 
đúng cách
z Các phần tử “nguy hiểm” trong PATH (ví dụ
Trojan horse)
z Kiểm tra các chương trình hệ thống có bị thay đổi 
hay không thông qua checksum, MD5...
6Tường lửa (firewall)
z Tường lửa được đặt (hoạt động) giữa các 
máy chủ tin cậy và các máy không tin cậy
z Tường lửa hạn chế truy cập qua mạng giữa 
hai miền an ninh khác nhau
Tường lửa
Phát hiện đột nhập
z Phát hiện các cố gắng đột nhập vào hệ thống 
máy tính
z Phương pháp phát hiện:
z “Kiểm toán” và ghi nhật ký
z Tripwire (Phần mềm của UNIX kiểm tra xem một 
số tệp và thư mục có bị thay đổi không)
z Kiểm soát các hàm hệ thống
Mã hóa
z Mã hóa: Bản rõ Æ Bản mã
z Đặc điểm của kỹ thuật mã hóa tốt:
z Tương đối đơn giản để NSD đã được xác thực có
thể sử dụng để mã và giải mã
z Sơ đồ mã hóa không chỉ phụ thuộc thuật toán mà
còn phụ thuộc tham số (ví dụ khóa)
z Rất khó phát hiện khóa
z Hệ mã hóa công khai sử dụng hai khóa
z public key – khóa công khai, dùng để mã hóa.
z private key – khóa bí mật, dùng để giải mã
Ví dụ mã hóa: SSL
z SSL – Secure Socket Layer
z Là giao thức mã hóa cho phép hai máy tính 
trao đổi dữ liệu an toàn với nhau
z Thường sử dụng giữa web server và browser 
để trao đổi thông tin một cách an toàn (ví dụ
nạp số thẻ tín dụng)
z Web server được kiểm tra qua chứng chỉ
z Sau khi đã thiết lập kết nối an toàn SSL, hai 
máy tính truyền thông với khóa đối xứng
Phân loại an ninh máy tính
z Bộ Quốc phòng Mỹ chia an ninh máy tính 
thành 4 mức từ cao đến thấp: A, B, C, D.
z Xem thêm trong giáo trình về 4 mức an ninh 
này
7Các vấn đề cần nhớ
z Phân biệt bảo vệ và an ninh
z Quyền truy cập, miền bảo vệ
z Ma trận truy cập, các phương pháp cài đặt 
ma trận truy cập, so sánh các phương pháp 
đó
z An ninh máy tính: Xác thực, các mối đe dọa, 
kiểm soát, mã hóa

File đính kèm:

  • pdfBài giảng Nguyên lý hệ điều hành - Nguyễn Hải Châu - Tuần 12,13 Bảo vệ và an ninh.pdf