Tải bản đầy đủ (.docx) (27 trang)

Báo cáo Bảo mật trong hệ thống phân tá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 (661.71 KB, 27 trang )

TRƯỜNG ĐẠI HỌC HẢI PHÒNG
KHOA CÔNG NGHỆ THÔNG TIN

-----------۩ ۩ ۩----------

BÁO CÁO

BẢO MẬT TRONG HỆ THỐNG PHÂN TÁN

Giáo viên hướng dẫn: ThS. Lê Ngọc Minh
Sinh viên: Nguyễn Thị Minh Hạnh
Nguyễn Tú Quỳnh Trâm
Lớp: Truyền thông – Mạng máy tính K14

TP.HẢI PHÒNG – NĂM 2016


MỤC LỤC
I.

Đặt vấn đề
1. Hệ phân tán là gì?
2. Các mối đe dọa, các dạng tấn công và cơ chế bảo mật, an ninh
3. Các vấn đề khi thiết kế

II.

Mật mã học
1. Mật mã
2. Những yêu cầu đối với hệ mật mã
3. Các kiểu mã hóa


4. Các hệ thống mã hóa khác

III.

Kênh bảo mật
1. Xác thực
2. Tính toàn vẹn và tính bảo mật của thông điệp
3. Truyền thông nhóm an toàn

IV.

Kiểm soát truy cập
1. Các vấn đề chung trong kiểm soát truy cập
2. Tường lửa (Firewall)
3. Tấn công từ chối dịch vụ (Denial of Service)

V.

Quản trị bảo mật
1. Quản trị khóa
2. Quản trị nhóm an toàn
3. Quản trị ủy quyền


I.

Đặt vấn đề
1. Hệ phân tán là gì?
a. Định nghĩa


Có nhiều định nghĩa về hệ phân tán:
• Định nghĩa 1: hệ phân tán là tập hợp các máy tính tự trị được kết nối với
nhau bởi một mạng máy tính và được cài đặt phần mềm hệ phân tán.
• Định nghĩa 2: hệ phân tán là một hệ thống có chức năng và dữ liệu phân
tán trên các trạm (máy tính) được kết nối với nhau bằng một mạng máy
tính.
• Định nghĩa 3: hệ phân tán là một tập các máy tính độc lập giao tiếp với
người dùng như một hệ thống thống nhất, toàn vẹn
b. Phân loại hệ phân tán

Trước đây, hệ phân tán được chia thành ba loại:
• hệ điều hành phân tán
• cơ sở dữ liệu phân tán
• các hệ thống tính toán hệ phân tán.
Ngày nay, hệ phân tán được chia như sau:
• hệ phân tán mang tính hệ thống: hệ điều hành phân tán
• hệ phân tán mang tính chất ứng dụng: các hệ thống truyền tin phân tán
2. Các mối đe dọa, các dạng tấn công và cơ chế bảo mật, an ninh
a. Các mối đe dọa

Hệ thống máy tính luôn bị đe dọa bởi các nguy cơ mất an toàn. Một trong
những công việc để bảo vệ hệ thống là làm sao giúp hệ thống tránh khỏi các
nguy cơ đó. Có 4 loại các mối đe dọa an toàn:
• Interception (chặn bắt): chỉ thành phần không được phép cũng có thể
truy cập đến các dịch vụ hay các dữ liệu, “nghe trộm” thông tin được
truyền đi.
• Interruption (đứt đoạn): là mối đe dọa mà làm cho các dịch vụ hay
dữ liệu bị mất mát, bị hỏng, không thể dùng được nữa…
• Modification (thay đổi): là hiện tượng thay đổi dữ liệu hay can thiệp
vào các dịch vụ làm cho chúng không còn giữ được các đặc tính ban

đầu.
• Fabrication (giả mạo): là hiện tượng thêm vào dữ liệu ban đầu các dữ
liệu hay hoạt động đặc biệt mà không thể nhận biết được để ăn cắp dữ
liệu của hệ thống.

b. Các dạng tấn công
• Tấn công tĩnh / động:
 Passive: quan sát dữ liệu mà không sửa đổi dữ liệu


 Active: sửa dữ liệu


Tấn công kênh liên lạc:
 Eavesdropping: là đối tượng nghe trộm thông tin trên mạng để
đánh cắp thông tin
 Masquerating: giả mạo thông tin, địa chỉ IP, tên miền, định
danh người dùng…
 Xáo trộn nội dung thông điệp – Message tampering: VD: thay
đổi số tiền nhập vào tài khoản
 Phát lại – Replay
 Từ chối dịch vụ - Denial of Service

c. Các cơ chế bảo mật

Có 4 cơ chế bảo mật được đưa ra:
• Mật mã (cryptography): là việc thực hiện chuyển đổi dữ liệu theo
một quy tắc nào đó thành dạng mới mà kẻ tấn công không nhận biết
được.
• Xác thực (authentication): là các thao tác để nhận dạng người dùng,

nhận dạng client hay server…
• Ủy quyền (authorization): chính là việc phân định quyền hạn cho mỗi
thành phần đã đăng nhập thành công vào hệ thống. Quyền hạn này là
các quyền sử dụng dịch vụ, truy cập dữ liệu…
• Kiểm toán (auditing): là các phương pháp để xác định được client đã
truy cập đến dữ liệu nào và bằng cách nào.
d. Các cơ chế an ninh
• Mã hóa: biến đổi dữ liệu thành cái mà kẻ tấn công không thể hiểu. Đây





là phương tiện để thực hiện tính bảo mật.
Chữ kí số: hỗ trợ kiểm tra tính toàn vẹn (kiểm tra xem dữ liệu có bị sửa
hay không?)
Authentication – chứng thực: kiểm chứng định danh mà một thực thể
nhận.
Authorization: xác định xem một thực thể đã được chứng thực được
phép thực hiện những hành động nào.
Audit: kiểm tra xem thực thể nào truy nhập cái gì? Phân tích các hành
động xâm phạm an ninh.


3. Các vấn đề khi thiết kế
a. Điều khiển (focus of control)

Có 3 cách tiếp cận:
• Chống các thao tác bất hợp lệ: việc này thực hiện bằng cách đảm bảo
toàn vẹn chính các dữ liệu đó mà không quan tâm đến việc phân tích sự

hợp lệ của thao tác.



Chống các triệu gọi thao tác không được ủy quyền: không đảm bảo
toàn vẹn dữ liệu mà tập trung vào các thao tác. Thao tác nào là bất hợp
lệ sẽ bị hủy bỏ ngay.



Chống người sử dụng không được ủy quyền: ở cách tiếp cận này lại
tập trung vào quản lý người dùng. Xác định người dùng và các vai trò
của họ trong hệ thống chứ không quan tâm đến đảm bảo dữ liệu hay
quản lý các thao tác của người dùng.

b. Phân tầng các cơ chế an toàn (Layer of security mechanism)


Vấn đề quan trọng việc thiết kế một hệ thống an toàn là quyết định xem
cơ chế an toàn được đặt ở tầng nào. Việc xác định vị trí đặt đó phụ thuộc vào
yêu cầu của client về các dịch vụ bảo mật của từng tầng.
Trong một hệ thống phân tán, cơ chế an toàn được đặt ở tầng middleware.
c. Phân tán các cơ chế an toàn (distribution of security mechanism)

Xét khái niệm TCB (Trusted Computing Base): là tập hợp tất cả các cơ chế
bảo mật trong hệ phân tán, các cơ chế này phải tuân theo một ràng buộc an
toàn nào đó.
II.

Mật mã học


1. Mật mã (Cryptography)

Hệ mật mã là một hệ bao gồm 5 thành phần (P, C, K, E, D) thỏa mãn các
tính chất sau:
- P (Plaintext): tập hợp hữu hạn các bản rõ có thể
- C (Ciphertext): tập hợp hữu hạn các bản mã có thể
- K (Key): tập hợp các bản khóa có thể
- E (Encrytion): tập hợp các qui tắc mã hóa có thể
- D (Decrytion): tập hợp các qui tắc giải mã có thể
Chúng ta đã biết một thông báo thường được tổ chức dưới dạng bản rõ.
Người gửi sẽ làm nhiệm vụ mã hóa bản rõ, kết quả thu được gọi là bản mã. Bản
mã này được gửi đi trên một đường truyền tới người nhận sau khi nhận được bản
mã, người nhận giải mã nó để tìm hiểu nội dung.
Ta có thể thấy được công việc trên khi sử dụng định nghĩa hệ mật mã:
EK(P) = C và DK(P) = P
Có 2 loại hệ thống mật mã: mật mã đối xứng (Symmetric cryptosystem) và
mật mã bất đối xứng (Asymmetric cryptosystem)
2. Những yêu cầu đối với hệ mật mã

Cung cấp một mức độ cao về độ tin cậy, tính toàn vẹn, sự không từ chối và sự xác
thực.


Độ tin cậy: cung cấp sự bí mật cho các thông báo và dữ liệu được lưu
bằng việc che dấu thông tin sử dụng các kỹ thuật mã hóa.
• Tính toàn vẹn: cung cấp sự bảo đảm với tất cả các bên rằng thông báo
còn lại không thay đổi từ khi tạo ra cho đến khi người nhận mở nó.
• Tính không từ chối: có thể cung cấp một cách xác nhận rằng tài liệu
đã đến từ ai đó ngay cả khi họ cố gắng từ chối nó.

• Tính xác thực: cung cấp hai dịch vụ: đầu tiên là nhận dạng nguồn gốc
của một thông báo và cung cấp một vài sự bảo đảm rằng nó là đúng sự
thực. Thứ hai là kiểm tra đặc tính của người đang logon một hệ thống
và sau đó tiếp tục kiểm tra đặc tính của họ trong trường hợp ai đó cố
gắng đột nhiên kết nối và giả dạng là người sử dụng.


3. Các kiểu mã hóa
a. Mật mã đối xứng: dùng khóa bí mật

Với mật mã đối xứng: khóa mã hóa và khóa giải mã là giống nhau. Độ an
toàn của thuật toán này phụ thuộc vào khóa, nếu để lộ ra khóa này nghĩa là bất
kì người nào cũng có thể mã hóa và giải mã thông báo trong hệ thống mã hóa.
Sự mã hóa và giải mã của thuật toán đối xứng biểu thị bởi:
EK(P) = C và P = DK(C)
Nguyên lý chung của giải thuật DES (Data Encryption Standard):


Thực hiện trên các khối dữ liệu 64 bit. Mỗi khối này được mã hóa qua 16
vòng lặp, mỗi vòng có một khóa mã hóa 48 bit riêng. 16 bit này sinh ra từ 56
bit khóa chính.
Đầu vào của vòng lặp mã hóa thứ i là dữ liệu đã được mã hóa của vòng lặp
thứ (i -1). 64 bit dữ liệu qua mỗi vòng lặp được chia thành hai phần bằng
nhau: Li -1 và Ri -1, cùng bằng 32 bit. Phần dữ liệu bên phải Ri – 1 được lấy
làm phần bên trái của dữ liệu cho vòng sau: Ri-1 = Li. Hàm f với đầu vào là Ri1 và khóa Ki sinh ra khối 32 bit được XOR với L i – 1 để sinh ra Ri

Một vòng mã hóa


Phương pháp sinh khóa của giải thuật DES:


Với mỗi 48 bit cho mỗi vòng lặp được sinh ra từ khóa chính 56 bit như
sau: hoán vị khóa chính, chia đôi thành hai phần 28 bit. Tại mỗi vòng, mỗi
một nửa đó sẽ quay trái 1 hoặc 2 bit, sau đó lấy ra 24 bit kết hợp với 24 bit của
nửa còn lại để tạo ra khóa.
b. Mật mã bất đối xứng: dùng khóa công khai

Với mật mã bất đối xứng: khóa mã hóa và khóa giải mã là khác nhau. Hơn
nữa, khóa giải mã không thể tính toán được từ khóa mã hóa. Đặc trưng nổi bật
của hệ mã hóa công khai là cả khóa công khai (public key) và bản tin mã hóa
(ciphertext) đều có thể gửi đi trên một kênh thông tin không an toàn.
Khái niệm hệ mật mã RSA đã được ra đời năm 1976 bởi các tác giả
R.Rivets, A.Shamir và L.Adleman. Trong hệ mã RSA, các bản rõ, bản mã và
các khóa là thuộc tập số nguyên ZN = {1,…,N-1}. Trong đó, ZN với N =p*q là
các số nguyên tố khác nhau cùng với phép cộng và phép nhân modun N tạo ra


modun số học N. Khóa mã hóa EKB là cặp số nguyên (N, KB) và khóa giải mã
DkB là cặp số nguyên (N, kB) là các số rất lớn, số N có thể lên tới hàng trăm
chữ số. Tính bảo mật của RSA chủ yếu dựa vào việc giữ bí mật khóa giải mã
hay giữ bí mật các thừa số p, q của N.
Công việc mã hóa là sự biến đổi bản rõ P (Plaintext) thành bản mã C
(Ciphertext) dựa trên cặp khóa công khai KB và bản rõ P theo công thức:
C = = (mod N)
Công việc giải mã là sự biến đổi ngược lại bản mã C thành bản rõ P dựa
trên cặp khóa bí mật kB, modun N theo công thức:
P = = (mod N)
Cách sinh khóa của giải thuật RSA:
• Chuẩn bị:
o Cho n = p*q với p, q là số nguyên tố lớn.

o Đặt P = C = Zn
o Đặt (n) = (p – 1)*(q – 1)
o Chọn b là số nguyên tố với (n)
o Định nghĩa khóa K = {(n,a,b) : a*b 1 (mod (n) )}
o Một cách kí hiệu khác:
K = {(n, KB , kB) : KB*kB 1 (mod (n) )}
• Xác định hệ mật RSA
Hai giá trị n, b công khai; các giá trị a là bí mật
Với mỗi giá trị K = (n, a, b) và x P, y C ta xác định hai hàm sau:
o Hàm mã hóa: y = ek(x) = xb mod n
o Hàm giải mã: x = dk(y) = ya mod n


Sơ đồ các bước thực hiện mã hóa theo thuật toán RSA
4. Các hệ thống mã hóa khác
- Triple-DES – phức tạp hơn và chậm hơn DES
- 4x Fenced DES – nhanh gần bằng DES
- AES – chuẩn mới [2001] thay thế DES
- IDEA , Blowfish , RC4 , SEAL,…
- PGP – Pretty Good Privacy
• Dùng RSA để gửi khóa, IDEA để mã hóa
• Phổ biến rộng rãi, phần mềm tự do
• Thường dùng trên internet
III.

dữ liệu

Kênh bảo mật
1.


Xác thực
a. Xác thực dựa trên khóa bí mật
Nguyên lý chung: bên gửi muốn giao tiếp với bên nhận sẽ gửi một yêu cầu A
tới bên nhận. Bên nhận trả lời bằng một yêu cầu RB . Bên gửi sẽ mã hóa yêu cầu
RB bằng khóa bí mật KA,B và gửi về cho bên nhận. Bên nhận xác thực được bên
gửi nhờ nhận biết được yêu cầu RB mình đã gửi trong gói tin vừa nhận. Lúc này
bên gửi muốn xác thực bên nhận sẽ tiếp tục gửi yêu cầu RA tới bên nhận. Bên
nhận sẽ lại mã hóa RA bằng khóa bí mật KA,B đó và gửi về cho bên nhận. Và như


thế bên nhận đã xác định được bên gửi, sau đó quá trình trao đổi sẽ được thực
hiện.

Xác thực dựa trên khóa bí mật chung
Một mô hình cải tiến hơn là thu gọn số lượng bản tin chỉ còn lại 3 bản tin
giữa bên gửi và bên nhận

Xác thực dựa trên khóa bí mật nhưng dùng 3 bước
Nhưng hiện nay, giao thức hay được dùng là “Reflection attack” như được
mô tả trong hình vẽ sau:

b. Xác thực dựa trên trung tâm phân phối khóa


Nếu hệ thống gồm N host, mỗi host phải chia sẻ một khóa mật với N-1
host khác thì hệ thống cần quản lý N.(N-1)/2 khóa, và mỗi host phải quản lý
N-1 khóa. Như vậy nếu N lớn sẽ rất khó khăn trong việc quản lý. Do đó, để
khắc phục hiện tượng trên ta sử dụng trung tâm phân phối khóa KDC (Key
Distribution Center).
Tư tưởng chính: bên gửi sẽ gửi bản tin tới trung tâm phân phối khóa thông

báo mình muốn giao tiếp với bên nhận. KDC sẽ gửi cho cả bên gửi và bên
nhận một bản tin có chứa khóa bí mật KA,B . Bản tin gửi cho bên nhận sẽ được
mã hóa bằng KA,KDC . Bản tin gửi cho bên gửi sẽ được mã hóa bằng KB,KDC .

Nguyên lý hoạt động của KDC
Cách tiếp cận thứ hai là KDC sẽ gửi cả hai bản tin chứa khóa bí mật K A,
KDC (KA,B ) và KB, KDC (KA,B) cho bên gửi và bên gửi có nhiệm vụ gửi cho
bên nhận khóa đã được KDC mã hóa KB,KDC (KA,B) đó.

Dùng ticket
c. Xác thực dựa trên khóa công khai


Bên gửi mã hóa yêu cầu bằng khóa công khai K+B của bên nhận. Bên
nhận này là nơi duy nhất có thể giải mã bản tin đó bằng K-B. Bên nhận sẽ mã
hóa yêu cầu của bên gửi cùng với yêu cầu của chính mình và khóa KA,B vừa
tạo ra bằng khóa công khai K+A của bên gửi nhằm xác thực bên gửi. Cuối
cùng, bên gửi sẽ gửi lại cho bên nhận yêu cầu RB của bên nhận đã gửi đi để
xác thực.

Xác thực dựa trên khóa công khai
2. Tính toàn vẹn và tính bảo mật của thông điệp
a. Chữ ký số

Chữ kí số để đảm bảo tính toàn vẹn của thông điệp.
Có nhiều cách thiết lập chữ kí số cho thông điệp:
• Cách 1: dùng hệ mật mã khóa công khai là RSA.

Chữ ký số cho một bản tin dùng khóa công khai
Bên gửi sẽ mã hóa bản tin bằng khóa riêng K-A của mình, sau đó sẽ

mã hóa tiếp nội dung bản tin và phiên bản chữ kí bằng khóa công khai
K+B của bên nhận. Bản tin được mã hóa này sẽ được truyền đi cùng
bản tin m. Bên nhận sau khi nhận được bản tin sẽ giải mã gói tin, lấy
phiên bản chữ kí của m và so sánh với m để xác thực rằng bản tin này
được gửi từ bên gửi đó và cũng để kiểm tra xem có thay đổi trên
đường truyền hay không.


Cách 2: dùng hàm băm.


Hàm băm H dùng để tính toán một bản tin có độ dài cố định là một
chuỗi bit h từ một bản tin có độ dài tùy ý m. Nếu giá trị m thay bằng
giá trị m' thì H(m') cũng có giá trị khác giá trị h = H(m), do đó ta có
thể dễ dàng xác định được những thay đổi trên bản tin m trên đường
truyền.

Chữ ký số cho một bản ghi dùng message digest
Bên gửi sẽ tính toán các bản tin có độ dài cố định từ bản tin m và
mã hóa bằng khóa riêng của mình. Bản tin được mã hóa này sẽ được
truyền đi cùng bản tin m. Khi nhận, bên nhận giải mã bản tin và thực
hiện so sánh với bản tin m đã được truyền đi để xác định được rằng
bản tin này gửi từ bên gửi đó và đã được kí bằng chữ kí số.
b.

Khóa phiên
Trong một kênh trao đổi an toàn, sau pha xác thực sẽ tiến hành truyền
thông. Mỗi kênh truyền thông đó được xác địn bởi một khóa phiên tương
ứng. Khi phiên truyền kết thúc thì khóa phiên tương ứng cũng bị hủy bỏ.


3. Truyền thông nhóm an toàn
a.
Truyền thông nhóm bí mật

Mô hình đơn giản là tất cả các thành viên trong nhóm sẽ cùng có một khóa
bí mật để mã hóa và giải mã các bản tin. Điều kiện tiên quyết cho mô hình
này là phải đảm bảo rằng tất cả các thành viên trong nhóm phỉa giữ bí mật
khóa đó.
Mô hình thứ hai là dùng một khóa bí mật cho từng cặp thành viên trong
nhóm. Khi một trong hai thành viên kết thúc phiên truyền thì thành viên còn
lại vẫn sẽ dùng khóa đó để giao tiếp với thành viên khác trong nhóm. Với mô
hình này phải duy trì tới N (N-1)/2 khóa.
Mô hình thứ ba là dùng khóa công khai. Mỗi một thành viên trong nhóm sẽ
phải duy trì một cặp khóa công khai và khóa riêng, trong đó khóa công khai
được dùng bởi tất cả thành viên trong nhóm.
b.

Server nhân bản an toàn


Việc nhân bản các server thường dùng trong việc chịu lỗi cho hệ phân tán
nhưng đôi khi cũng được dùng để đảm bảo tính tin cậy cho hệ thống.

i.

Lý do để thực hiện việc nhân bản dữ liệu
Có 2 lý do chính để thực hiện việc nhân bản dữ liệu:
 Tăng tính tin cậy cho hệ thống: trong quá trình đọc
hoặc ghi dữ liệu, nếu một bản sao bị hỏng hoặc vì lý do
nào đấy nó không sẵn sàng để dùng thì ta có thể sử dụng

một bản khác. Tránh việc sử dụng dữ liệu sai lạc, không
chính xác.


Tăng hiệu năng của hệ thống: tăng quy mô của hệ
thống cả về số lượng lẫn phạm vi địa lý. Ví dụ như nếu
số lượng máy tăng => tải trên mỗi máy trong hệ phân
tán cũng không tăng lên nhiều hơn. Phạm vi địa lý tăng
=> có thể sử dụng các bản nhân bản gần khu vực địa lý
đó.

Một cái phải trả cho việc nhân bản dữ liệu đấy là phải chắc
chắn rằng khi một bản sao được cập nhật thì tất cả các bản ghi
còn lại cũng phải được cập nhật theo để đảm bảo tính nhất quán
của dữ liệu. Điều này ảnh hưởng rất lớn đến hiệu năng của hệ
thống.
Ví dụ: Khi sử dụng các chương trình xem web => dữ liệu
được ghi vào bộ nhớ máy tính (bản sao), nếu trang web nội dung
thay đổi. Người dùng vẫn chỉ xem nội dung trên máy => vấn đề
đồng bộ dữ liệu trên máy khách và máy chủ.
Có 2 hướng tiếp cận cho việc nhân bản đối tượng:


Ứng dụng tự chịu trách nhiệm nhân bản. Do đó, ứng
dụng cần phải giải quyết được vấn đề nhất quán.
 Hệ thống (middleware) đảm trách việc nhân bản. Vì thế
vấn đề nhất quán do middeware đảm trách. Hướng này
đơn giản hóa cho việc phát triển ứng dụng nhưng lại
khiến các giải pháp đặc tả đối tượng trở nên phức tạp
hơn.



ii.

Nhân bản như một kỹ năng mở rộng
Các bản sao có thể tăng hiệu năng của hệ thống vì chúng
giúp làm giảm các trễ truy cập. Tuy nhiên chúng lại là nguyên
nhân gây khó khăn cho việc duy trì nhất quán của dữ liệu.
Các bản sao được phân tán trên diện rộng, vấn đề đặt ra là
làm sao xác định được bản sao ở đâu đang được cập nhật một
bản update sẽ gây ra tốn đường truyền trong mạng (đồng bộ
toàn bộ các bản sao) mà việc thực hiện nhân bản này nhằm tăng
hiệu năng của hệ thống => nếu đồng bộ không hợp lý thì sẽ
giảm hiệu năng của toàn hệ thống.
 Đồng bộ từng phần tử rồi lan truyền sang các phần tử kế
bên, việc này sẽ làm tăng hiệu năng nhưng sẽ dẫn đến
việc có những thời điểm các bản sao là không giống
nhau.
Trong một số trường hợp ta cần phải nới lỏng những ràng
buộc về tính nhất quán dựa trên:
 Tần suất truy cập và cập nhật dữ liệu
 Mục đích sử dụng


IV.

Kiểm soát truy cập
1. Các vấn đề chung trong kiểm soát truy cập
a. Ma trận kiểm soát truy cập (Access control matrix)


Trong ma trận điều khiển truy cập, một hàng biểu diễn cho một chủ thể
(subject), một cột biểu diễn cho một đối tượng (object). Gọi ma trận kiểm soát
truy nhập là M. M[s,o]: đưa ra danh sách các phép toán mà chủ thể s có thể
yêu cầu trên đối tượng o. Khi một chủ thể s gọi một phương thức m của đối
tượng o thì monitor sẽ kiểm tra trong danh sách M[s,o], nếu m không có trong
danh sách này thì lời triệu gọi bị hủy bỏ.
Thông thường hệ thống phải làm việc với rất nhiều user nên có hàng nghìn
chủ thể cần quản lý. Do đó xây dựng một ma trận thực như trên là không hợp
lý. Giải pháp đề ra là sử dụng danh sách kiểm soát truy cập.
b. Danh sách kiểm soát truy cập (Access control list)

Mỗi đối tượng sẽ duy trì một danh sách các truy cập hợp lệ của các chủ thể
muốn truy cập nó gọi là ACL, nhờ đó tránh được sự tồn tại của các entry rỗng
như ở ma trận kiểm soát truy nhập.

Sử dụng ACL
c. Miền bảo vệ (Protection Domains)

Với việc sử dụng ACL, tuy khắc phục được nhược điểm của ma trận kiểm
soát truy nhập nhưng vẫn có kích thước lớn nên đã đưa ra cách sử dụng miền
bảo vệ. Miền bảo vệ là một tập các cặp ( đối tượng, truy cập hợp lệ) , mỗi cặp
này sẽ tạo cho ta một đối tượng và các thao tác hợp lệ trên nó. Mỗi một yêu
cầu đều thuộc miền bảo vệ nào đó. Khi một yêu cầu gửi đến, monitor sẽ tìm
trong miền bảo vệ tương ứng yêu cầu này.
Để đạt hiệu quả cao hơn, người ta dùng kết hợp miền bảo vệ với việc phân
nhóm các đối tượng.
2. Tường lửa (firewall)


Firewall dùng để ngăn chặn các luồng không được phép. Firewall có hai loại

chính là:
• Packet – Filtering gateway: loại này hoạt động như một router cho
phép hoặc không cho phép gói tin chuyển qua mạng dựa trên địa chỉ
nguồn và địa chỉ đích ở phần header của gói tin. Loại này thường dùng
để ngăn chặn các gói tin từ ngoài đi vào trong mạng.
• Application – level gateway: loại firewall này không chỉ kiểm tra
header của gói tin gửi đến hay gửi đi mà còn kiểm tra nội dung của gói
tin đó. Một ví dụ đặc biệt cho loại này là proxy gateway.
3. Tấn công từ chối dịch vụ (Denial of Service)
a. Khái niệm

Tấn công DoS là kiểu tấn công mà một người làm cho một hệ thống không
thể sử dụng hoặc làm cho hệ thống đó chậm đi một cách đáng kể với người
dùng bình thường, bằng cách làm quá tải tài nguyên của hệ thống.
Nếu kẻ tấn công không có khả năng thâm nhập được vào hệ thống thì
chúng cố gắng tìm cách làm cho hệ thống đó sụp đổ và không có khả năng
phục vụ người dùng bình thường đó là tấn công Denial of Service (DoS)
Mặc dù tấn công DoS không có khả năng truy cập vào dữ liệu thực của hệ
thống nhưng nó có thể làm gián đoạn các dịch vụ mà hệ thống đó cung cấp
như định nghĩa trên DoS khi tấn công vào một hệ thống mạng sẽ khai thác
những cái yếu nhất của hệ thống để tấn công, những mục đích của tấn công
DoS.
b. Mục đích của tấn công và hiểm họa
i.
Các mục đích tấn công của DoS
• Cố gắng chiếm băng thông mạng và làm hệ thống mạng bị ngập

(flood), khi đó hệ thống sẽ không có khả năng đáp ứng những
dịch vụ khác cho người dùng bình thường.



Cố gắng làm ngắt kết nối giữa 2 máy và ngăn chặn quá trình truy
nhập vào dịch vụ.



Cố gắng ngăn chặn những người dùng cụ thể vào một dịch vụ nào
đó.



Cố gắng ngăn chặn những người dùng cụ thể vào một dịch vụ nào
đó.



Cố gắng ngăn chặn các dịch vụ không cho người khác có khả
năng truy cập vào các dịch vụ như bị:
o Disable Network – tắt mạng


o
o
ii.

Disable Organization – tổ chức không hoạt động
Financial Loss – tài chính bị mất

Mục tiêu mà kẻ tấn công thường sử dụng tấn công DoS
Như chúng ta biết ở trên tấn công DoS xảy ra khi kẻ tấn công sử

dụng hết tài nguyên của hệ thống không thể đáp ứng cho người dùng
bình thường được vậy các tài nguyên chúng thường sử dụng để tấn công
là :


Tạo ra sự khan hiếm, những giới hạn và không đổi mới tài
nguyên.



Băng thông của hệ thống mạng (Network Bandwidth), bộ nhớ, ổ
đĩa, và CPU Time hay cấu trúc dữ liệu đều là mục tiêu của tấn
công DoS



Tấn công vào hệ thống khác phục vụ cho mạng máy tính như: hệ
thống điều hòa, hệ thống điện, hệ thống làm mát và nhiều tài
nguyên khác của doanh nghiệp.



Phá hoại hoặc thay đổi các thông tin cấu hình



Phá hoại tầng vật lý hoặc các thiết bị mạng như nguồn điện, điều
hòa…

c. Các hình thức tấn công DoS cơ bản

i. Tấn công Smurf

Là thủ phạm sinh ra cực nhiều giao tiếp ICMP (ping) tới địa chỉ
Broadcast của nhiều mạng với địa chỉ nguồn là mục tiêu cần tấn công.
Khi ping tới một địa chỉ là quá trình hai chiều – Khi máy A ping tới
máy B máy B reply lại hoàn tất quá trình. Khi ping tới địa chỉ
Broadcast của mạng nào đó thì toàn bộ các máy tính trong mạng đó sẽ
Reply lại. Nhưng giờ thay đổi địa chỉ nguồn, thay địa chỉ nguồn là máy
C và ping tới địa chỉ Broadcast của một mạng nào đó, thì toàn bộ các
máy tính trong mạng đó sẽ reply lại vào máy C và đó là tấn công
Smurf.
Kết quả đích tấn công sẽ phải chịu nhận một đợt Reply gói ICMP
cực lớn và làm cho mạng bị dớt hoặc bị chậm lại không có khả năng
đáp ứng các dịch vụ khác.
Quá trình này được khuyếch đại khi có luồng ping reply từ một
mạng được kết nối với nhau (mạng BOT).


Tấn công Fraggle, chúng sử dụng UDP echo và tương tự như tấn
công Smurf.

Hiển thị tấn công DoS – dạng tấn công Smurf sử dụng gói ICMP
làm ngập các giao tiếp khác
ii. Tấn công Buffer Overflow

Buffer Overflow xảy ra tại bất kỳ thời điểm nào có chương trình ghi
lượng thông tin lớn hơn dung lượng của bộ nhớ đệm trong bộ nhớ.
Kẻ tấn công có thể ghi đè lên dữ liệu và điều khiển chạy các
chương trình và đánh cắp quyền điều khiển của một số chương trình
nhằm thực thi các đoạn mã nguy hiểm.

Quá trình gửi một bức thư điện tử mà file đính kèm dài quá 256 ký
tự có thể sẽ xảy ra quá trình tràn bộ nhớ đệm.
iii. Tấn công Ping of Death

Kẻ tấn công gửi những gói tin IP lớn hơn số lương bytes cho phép
của tin IP là 65.536 bytes.


Quá trình chia nhỏ gói tin IP thành những phần nhỏ được thực hiện
ở layer II.
Quá trình chia nhỏ có thể thực hiện với gói IP lớn hơn 65.536 bytes.
Nhưng hệ điều hành không thể nhận biết được độ lớn của gói tin này
và sẽ bị khởi động lại, hay đơn giản là sẽ bị gián đoạn giao tiếp.
Để nhận biết kẻ tấn công gửi gói tin lớn hơn gói tin cho phép thì
tương đối dễ dàng.
iv. Tấn công Teardrop

Gói tin IP rất lớn khi đến Router sẽ bị chia nhỏ làm nhiều phần nhỏ.
Kẻ tấn công sử dụng sử dụng gói IP với các thông số rất khó hiểu
để chia ra các phần nhỏ (fragment).
Nếu hệ điều hành nhận được các gói tin đã được chia nhỏ và không
hiểu được, hệ thống cố gắng build lại gói tin và điều đó chiếm một
phần tài nguyên hệ thống, nếu quá trình đó liên tục xảy ra hệ thống
không còn tài nguyên cho các ứng dụng khác, phục vụ các user khác.
v.

Tấn công SYN
Kẻ tấn công gửi các yêu cầu (request ảo) TCP SYN tới máy chủ bị
tấn công. Để xử lý lượng gói tin SYN này hệ thống cần tốn một lượng
bộ nhớ cho kết nối.

Khi có rất nhiều gói SYN ảo tới máy chủ và chiếm hết các yêu cầu
xử lý của máy chủ. Một người dùng bình thường kết nối tới máy chủ
ban đầu thực hiện Request TCP SYN và lúc này máy chủ không còn
khả năng đáp lại - kết nối không được thực hiện.
Đây là kiểu tấn công mà kẻ tấn công lợi dụng quá trình giao tiếp
của TCP theo – Three-way.
Các đoạn mã nguy hiểm có khả năng sinh ra một số lượng cực lớn
các gói TCP SYN tới máy chủ bị tấn công, địa chỉ IP nguồn của gói tin
đã bị thay đổi và đó chính là tấn công DoS












V.

Quản trị bảo mật

Mô hình bắt tay 3 bước
Hình này thể hiện các giao tiếp bình thường với máy chủ và bên
dưới thế hiện khi máy chủ bị tấn công gói SYN đến sẽ rất nhiều
trong khi đó khả năng trả lời của máy chủ lại có hạn và khi đó
máy chủ sẽ từ chối các truy cập hợp pháp.

Quá trình TCP Three-way handshake được thực hiện: Khi máy
A muốn giao tiếp với máy B. (1) máy A bắn ra một gói TCP
SYN tới máy B – (2) máy B khi nhận được gói SYN từ A sẽ gửi
lại máy A gói ACK đồng ý kết nối – (3) máy A gửi lại máy B
gói ACK và bắt đầu các giao tiếp dữ liệu.
Máy A và máy B sẽ dữ kết nối ít nhất là 75 giây, sau đó lại thực
hiện một quá trình TCP Three-way handshake lần nữa để thực
hiện phiên kết nối tiếp theo để trao đổi dữ liệu.
Thật không may kẻ tấn công đã lợi dụng kẽ hở này để thực hiện
hành vi tấn công nhằm sử dụng hết tài nguyên của hệ thống
bằng cách giảm thời gian yêu cầu Three-way handshake xuống
rất nhỏ và không gửi lại gói ACK, cứ bắn gói SYN ra liên tục
trong một thời gian nhất định và không bao giờ trả lời lại gói
SYN&ACK từ máy bị tấn công.
Với nguyên tắc chỉ chấp nhận gói SYN từ một máy tới hệ thống
sau mỗi 75 giây nếu địa chỉ IP nào vi phạm sẽ chuyển vào Rule
deny access sẽ ngăn cản tấn công này.


1. Quản trị khóa
a. Thiết lập khóa

Việc tạo ra khóa bí mật giữa bên truyền và bên nhận được thực hiện như
sau:
Bên A và bên B đều tạo ra hai số lớn là n và g - hai số này có thể được công
khai. Bên A sẽ tạo ra một số lớn khác là x, bên B tạo ra số lớn y và giữ bí
mật chúng. Bên A sẽ gửi cho bên B: n, g và (gx mod n). Bên B sẽ thực hiện
tính (gx mod n)y = gxy mod n. do đó sẽ xác định được khóa bí mật x của bên
A. Đồng thời, bên B cũng gửi cho bên A (gy mod n). Bên A thực hiện tính
toán (gy mod n)x = gxy mod n nhờ đó cũng xác định được khóa bí mật y của

bên B.

Nguyên lý của Diffie – Hellman key exchange
b.

Phân phát khóa
Trong hệ mật mã đối xứng, khóa bí mật tạo ra phải được truyền đi trên
kênh bí mật riêng.

Phân phát khóa theo kênh riêng
Trong hệ mật mã dùng khóa công khai, khóa công khai phải đảm bảo cùng
một cặp với một khóa bí mật. Khóa công khai được truyền đi như một bản
rõ trên đường truyền và phải có hỗ trợ xác thực. Khóa bí mật được truyền đi
trên một kênh riêng và cũng được xác thực.


Thông thường, khóa công khai thường được thay bằng một chứng chỉ khóa
công khai (public – key certificate). Chứng chỉ này bao gồm một khóa công
khai và một xâu định danh để xác định được khóa bí mật liên kết với nó.

Phân phối khóa công khai
c.

Thời gian tồn tại của chứng chỉ
Khi cần hủy bỏ một chứng chỉ ta có thể thực hiện theo nhiều phương pháp:
• Cách 1: sử dụng danh sách các chứng chỉ bị hủy bỏ CRL
(Certification Revocation list). Khi client kiểm tra một chứng chỉ thì
nó cũng kiểm tra trong danh sách CRL để kiểm tra xem chứng chỉ này
đã bị hủy hay không. Như thế, mỗi client phải được cập nhật danh
sách này thường xuyên.



Cách 2: mỗi chứng chỉ tự động hết hiệu lực sau một thời gian xác
định nào đó. Nhưng nếu muốn hủy chứng chỉ trước thời gian đó thì
vẫn phải dùng đến danh sách CRL như trên.



Cách 3: giảm thời gian tồn tại có hiệu lực của một chứng chỉ xuống
gần bằng 0. Khi đó client phải thường xuyên kiểm tra chứng chỉ để
xác định thời gian có hiệu lực của khóa công khai.

2. Quản trị nhóm an toàn


×