Chương 9
An ninh hệ
thống
thống
về
9.1 Môi trường an ninh hệ mật mã hóa 9.2 Cơ sở 9.3 Xác nhận người dùng 9.4 Tấn công từ 9.5 Tấn công từ 9.6 Các cơ chế 9.7 Các Hệ
nội bộ bên ngoài bảo vệ thống tin cậy
1
Môi trường an ninh dữ
liệu
Các mối ₫e dọa
Mục tiêu
Mối ₫e dọa
bày dữ
liệu
liệu liệu
Bảo mật dữ Toàn vẹn dữ Sẵn sàng
Phô Sửa bậy, làm lộn xộn chối phục vụ Từ
Các mục tiêu an ninh dữ
liệu và
các mối ₫e dọa
2
Các tác nhân bất hợp pháp
thống
3
Các loại tác nhân bất hợp pháp thông thường : Tò mò vô tình của người không chuyên. 1. rình mò của người bên trong hệ Sự 2. gắng tống tiền Cố 3. Tình báo thương mại hay quân sự 4.
Sự
mất dữ
liệu bất ngờ
Các nguyên nhân thông thường : 1.
-
chiến tranh
hỏa hoạn,
2.
-
lỗi
CPU hư, disk hư, chương trình có
3.
gắn băng/₫ĩa sai
-
Hoạt ₫ộng của trời ₫ất lụt lội, Lỗi phần cứng hay phần mềm Lỗi con người nhập sai,
4
Căn bản về
mật mã hóa
(Cryptography)
Mối quan hệ
giữa dữ
liệu rõ (plaintext) và
dữ
liệu mật (ciphertext)
5
Mật mã hóa dùng khóa bí
mật
•
bằng ký tự khác nhờ Thay thế —
từng ký tự mỗi ký tự ₫ược thay thế ánh xạ. bảng
•
dàng tìm ₫ược khóa giải mật.
6
mật mã hóa ₫ối xứng. • Với 1 khóa mật biến trước, — Còn ₫ược gọi là dễ
Mật mã hóa dùng khóa bí
mật
(Public-Key)
•
•
mật khóa ₫ể khóa ₫ể mật mã hóa giải mật.
7
Mỗi user chọn cặp khóa : khóa công khai / khóa bí mật. phân phối khóa công khai cho mội người biết. — kín khóa bí giữ — Khóa công khai là mật là khóa bí —
Các hàm 1 chiều
bởi công thức phụ thuộc x, sao cho •
dàng tính ₫ược y = f(x)
•
thực tế, không thể tính ₫ược x. Hàm ₫ược ₫ặc tả với x xác ₫ịnh : — Nhưng nếu biết y —
8
dễ thì
Chữ ký ₫iện tử
(b)
của 1 user trên 1 document là chuỗi byte •
qui trình thực hiện a.
ký của mình trên document •
9
chữ ký ₫iện tử có ₫ược từ User gởi document + chữ chứng thực. ₫ó ₫ể
Xác nhận người dùng Authentication) (User
nguyên tắc, xác nhận người dùng phải nhận dạng
cái gì ₫ó mà user cần xác nhận biết. cái gì ₫ó mà user cần xác nhận có. cái gì ₫ó mà user cần xác nhận là
cái ₫ó.
công việc cần phải làm trước khi cho
Về ₫ược : 1. 2. 3.
Xác nhận user là phép người dùng truy cập hệ
10
thống.
Xác nhận dùng
Passwords
(a) Login thành công bị (b) Login bị (c) Login
11
từ từ chối ngay sau khi nhập tên user chối sau khi nhập password
Xác nhận dùng Passwords
• cracker login thành công do
1 tình huống mà username+ password quá
12
dễ
Xác nhận dùng Passwords
,
,
,
,
Password
Salt
The use of salt to defeat precomputation of encrypted passwords
13
Xác nhận dùng ₫ối tượng vật lý
•
14
Card từ — — magnetic stripe cards chip cards: stored value cards, smart cards
Xác nhận dùng sinh trắc học
A device for measuring finger length.
15
Các biện pháp ₫ối phó
với cracker
thời gian user thực hiện login.
vừa ₫ang ký. gắng login (3).
lần cố
• • • • • như 1 cái bẩy
Hạn chế Gọi lại tự ₫ộng tới số số Hạn chế Có database lưu mọi login Xem việc nhập name=password —
16
chương trình login cảnh báo cho nhân viên an ninh biết.
An ninh hệ ₫iều hành Trojan Horses
•
tin dễ dàng
là chương trình free và ₫ể cho người dùng cả tiếp cận. — chứa code thực hiện ₫iều tai hại nào ₫ó. nhưng có
• dụng trên máy tính của
17
₫ặt version khác của tiện ích phổ nạn nhân. — lừa người dùng chạy chương trình này.
Nhạy theo trình login
(a) Màn hình login thật (b) Màn hình login giả
18
Bom luận lý
•
nhập password ₫ặt biệt hàng
—
chạy code
19
Người của công ty viết ứng dụng : tiềm tàng chứa code gây hại. — miễn sao họ chạy OK — ngày. nếu người lập trình này rời công ty, không có password ₫ặc biệt cho nó, ứng dụng sẽ gây hại.
Cửa sổ
bẩy
20
(a) Code bình thường. 1 cửa sổ có (b) Code bẩy.
Làm tràn/cạn buffer
• (a) Situation when main program is running • (b) After program A called • (c) Buffer overflow shown in gray
21
Các tấn công vào hệ
thống
nhớ, không gian ₫ĩa, băng rồi chỉ ₫ọc.
gọi các ₫iểm nhập không có.
BREAK
hiệu chỉnh các cấu trúc phức tạp của hệ làm những việc ₫ược yêu cầu không nên làm. thống.
Các tấn công ₫iển hình : • • • • • • bẩy vào hệ
quên password và • admin giúp tìm password.
22
Xin bộ Thử Chạy login rồi ấn nút DEL, RUBOUT, hay Thử Thử Thuyết phục người lập trình thêm cửa sổ thống. Giả nhờ
Các sai lầm về
an ninh nổi tiếng
(a)
(b)
(c)
The TENEX – password problem
23
Các nguyên tắc thiết kế
an ninh
về
thiết kế
việc công công.
thống là cho tối ₫a n lần truy xuất (3)
thể
1. 2. 3. 4. 5.
bảo vệ
nên :
hệ Nên ₫ể Mặc ₫ịnh nên chỉ Kiểm tra thểm quyền hiện hành Gán process quyền ưu tiên thấp nhất có Cơ chế
- - -
thống
6.
an ninh nên chấp nhận ₫ược về
mặt tâm lý
₫ơn giản ₫ồng nhất trong cấp thấp nhất của hệ Sơ ₫ồ
24
An ninh mạng
•
ngoài
•
•
thể
tự
code ₫ược gởi tới máy mục tiêu. code ₫ược thi hành ở ₫ó, thực hiện ₫iều tai hại. mục tiêu của người viết virus lây lan nhanh phát hiện khó giết khó
nhân bản vào chương trình khác.
Mối ₫e dọa từ — — Cá — — — Virus = ₫oạn chương trình có — —
ghép code của nó và thường làm ₫iều tai hại.
25
Các kịch bản tai hại của virus
chối dịch vụ khi virus chạy
• • • •
• trong nội bộ công ty :
hèn hạ hoại các file của nhân viên khác.
26
Thư ₫en Từ Làm hại phần cứng thường xuyên : Mục tiêu nhắm vào máy ₫ối thủ — làm hại — tình báo Các gian trá phá —
Cách virus hoạt ₫ộng
(1)
assembly.
• •
dùng công cụ ₫ược gọi là
•
Virus thường ₫ược viết bằng rồi ₫ược chèn vào ứng dụng khác. “dropper” — Virus ngủ cho ₫ến khi ứng dụng chạy — — thi hành ₫oạn code phá sẽ có hoại của nó.
27
tiêm nhiễm qua các ứng dụng khác. thể nó và
Cách virus hoạt ₫ộng (2)
có
thi nào trên tiểm nhiễm file
28
Hàm search() cho phép duyệt quy các tìm ₫ệ thi trên file khả Linux. Virus dùng hàm search() và thể vào bất kỳ khả máy.
Cách virus hoạt ₫ộng (3)
thi gốc.
29
trống trong chương trình. a. chương trình khả b. với virus chèn vào ở ₫ầu file. c. với virus chèn vào cuối file. virus chèn vào các chỗ d. với
Cách virus hoạt ₫ộng (4)
vector bẩy của hệ
thống.
phát hiện mất ₫iều khiển trên ngắt máy in và
a. sau khi virus ₫ã chiếm ngắt và b. sau khi OS chiếm lại ₫ược ngắt máy in. c. sau khi virus chiếm lại.
30
Cách virus lây lan
dễ ₫ược copy nhất.
• •
chứa tin
tiêm nhiễm vào các file trên các thiết bị và
gắng lây lan tiếp sang ₫ường mạng.
•
cố
mailing list ₫ể
nhân bản.
chỗ Virus ₫ược ₫ặt ở Khi ₫ược copy, virus : — — Ghép vào e-mail sạch nào ₫ó. khi ₫ược xem, virsu dùng —
31
thuật Antivirus
Các kỹ &
Anti-Antivirus
nhiễm nhiễm và
bị
nén
(a) Chương trình gốc (b) Chương trình bị (c) Chương trình bị (d) Virus ₫ã mật mã hóa (e) virus
₫ược nén với code nén bị
mật mã hóa.
32
Các kỹ
thuật Antivirus
& Anti-Antivirus
33
về virus ₫a hình (polymorphism) cùng 1 virus. Những thí các ₫oạn code trên ₫ều miêu tả dụ
Các kỹ
thuật Antivirus
& Anti-Antivirus
• • •
cài ứng dụng "shrink-wrapped"
• virus tấn công dùng HĐH sạch chỉ dùng ứng dụng diệt virus. không click chuột trên các attach của e-mail. backup thông tin thường xuyên
boot lại từ ₫ĩa sạch, chạy trình diệt
34
Kiểm tra tính toàn vẹn. Kiểm tra hành vi. Tránh virus — — — — — Phục hồi khi bị dừng máy, — virus.
Sâu
Internet
•
tải sâu lên mạng
• • nhân bản lên các máy mới.
35
Gồm 2 ứng dụng : bootstrap ₫ể — bản thân sâu — Đầu tiên Sâu ẩn mình rồi tự
Mobile Code (1) Sandboxing
(a) Memory divided into 1-MB sandboxes (b) One way of checking an instruction for validity
36
Mobile Code (2)
Applets can be interpreted by a Web browser
37
Mobile Code (3)
How code signing works
38
Java Security (1)
• A type safe language
– compiler rejects attempts to misuse variable
• Checks include …
1. Attempts to forge pointers 2. Violation of access restrictions on private class
members
3. Misuse of variables by type 4. Generation of stack over/underflows 5. Illegal conversion of variables to another type
39
Java Security (2)
Examples of specified protection with JDK 1.2
40
Protection Mechanisms Protection Domains (1)
Examples of three protection domains
41
Protection Domains (2)
A protection matrix
42
Protection Domains (3)
A protection matrix with domains as objects
43
Access Control Lists (1)
Use of access control lists of manage file access
44
Access Control Lists (2)
Two access control lists
45
Capabilities (1)
Each process has a capability list
46
Capabilities (2)
• Cryptographically-protected capability
Server
Object
Rights
f(Objects, Rights, Check)
• Generic Rights 1. Copy capability 2. Copy object 3. Remove capability 4. Destroy object
47
Trusted Systems Trusted Computing Base
A reference monitor
48
Formal Models of Secure Systems
(a) An authorized state (b) An unauthorized state
49
Multilevel Security (1)
The Bell-La Padula multilevel security model
50
Multilevel Security (2)
The Biba Model
• Principles to guarantee integrity of data
1. Simple integrity principle
•
process can write only objects at its security level or lower
2. The integrity * property
•
process can read only objects at its security level or higher
51
Orange Book Security (1)
• Symbol X means new requirements • Symbol -> requirements from next lower category
apply here also
52
Orange Book Security (2)
53
Covert Channels (1)
Client, server and collaborator processes
Encapsulated server can still leak to collaborator via covert channels
54
Covert Channels (2)
A covert channel using file locking
55
Covert Channels (3)
• Pictures appear the same • Picture on right has text of 5 Shakespeare plays – encrypted, inserted into low order bits of color values
Zebras
Hamlet, Macbeth, Julius Caesar Merchant of Venice, King Lear
56