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

Bảo mật dựa trên trực quang hóa cho ứng dụng chia sẻ tập tin ngang hàng

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 (2.17 MB, 115 trang )

Đại Học Quốc Gia Thành Phố Hồ Chí Minh
TRƯỜNG ĐẠI HỌC BÁCH KHOA
---------------------------

ĐẶNG TRẦN TRÍ

BẢO MẬT DỰA TRÊN TRỰC QUAN HÓA CHO ỨNG
DỤNG CHIA SẺ TẬP TIN NGANG HÀNG

Chuyên ngành: Khoa Học Máy Tính

LUẬN VĂN THẠC SĨ

TP. HỒ CHÍ MINH, tháng 8 năm 2009


CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI
TRƯỜNG ĐẠI HỌC BÁCH KHOA
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

Cán bộ hướng dẫn khoa học : TS. Đặng Trần Khánh

Cán bộ chấm nhận xét 1 : TS. Võ Thị Ngọc Châu

Cán bộ chấm nhận xét 2 : TS. Nguyễn Đình Thúc

Luận văn thạc sĩ được bảo vệ tại HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN
THẠC SĨ
TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày 29 tháng 8 năm 2009



Lời cám ơn
Trong q trình thực hiện luận văn, có rất nhiều khó khăn phát sinh. Những khó khăn này bao
gồm cả khó khăn về mặt kỹ thuật lẫn khó khăn về mặt tâm lý. Nếu khơng có những đóng góp,
phê bình của giáo viên hướng dẫn thì luận văn sẽ khơng giải quyết được các khó khăn về mặt
kỹ thuật, cũng như nếu khơng có sự động viên, khích lệ của thầy thì luận văn cũng khó hồn
thành đúng thời hạn. Xin gửi lời cám ơn chân thành đến thầy hướng dẫn đã hỗ trợ hết mình cho
luận văn.
Các giáo viên phản biện đã bỏ nhiều thời gian để đọc và có các góp ý về nhiều khía cạnh khác
nhau, giúp làm rõ hơn vấn đề đang nghiên cứu. Cùng một vấn đề, nhưng khi được xem xét
dưới nhiều quan điểm khác nhau đã giúp cho luận văn được đầy đủ hơn. Xin gửi lời cám ơn
đến các cô, thầy phản biện đã giúp cho luận văn được trọn vẹn hơn.
Cuối cùng, luận văn này khơng thể hồn thành nếu như khơng nhận được sự đóng góp về mặt
tinh thần của gia đình. Gia đình đã hỗ trợ, tạo điều kiện và môi trường tốt nhất cho việc tiến
hành nghiên cứu và viết luận văn. Xin gửi lời cám ơn đến mọi người trong gia đình vì những
hỗ trợ vơ giá đó.


Tóm tắt
Mức độ an tồn của một hệ thống thơng tin được đánh giá bởi thành phần yếu nhất của nó. Các
thành phần chủ yếu của một hệ thống thơng tin bao gồm phần cứng, phần mềm, mạng và người
sử dụng. Đa số các hướng tiếp cận hiện nay khi nghiên cứu về bảo mật thường bỏ qua yếu tố
con người, mặc dù đây là một thành phần thiết yếu của hệ thống thông tin. Trong luận văn này,
các vấn đề bảo mật liên quan đến con người sẽ được giới thiệu. Một cách để nâng cao độ bảo
mật của hệ thống là sử dụng trực quan hóa. Những ứng dụng điển hình của trực quan hóa trong
bảo mật sẽ được trình bày. Phần cuối của luận văn mơ tả một cách thức mới để bảo mật cho
ứng dụng chia sẻ tập tin thơng quan trực quan hóa.

Abstract
Security of an information system is only as strong as its weakest element. Popular elements of
such system include hardware, software, network and people. Current approaches to computer

security problems usually exclude people in their studies even though it is an integral part of
these systems. In this thesis, people-related security problems are introduced. One possible
method to improve security of systems is using visualization. Some typical applications of
visualization in security are demonstrated. And the last section of this thesis describes a new
procedure of securing file sharing applications by visualization.


Mục lục
Chương 1: Tổng quan về bảo mật máy tính và các kỹ thuật liên quan.........................................1
1/Nhu cầu bảo mật....................................................................................................................1
2/Các tính chất an tồn..............................................................................................................1
A-Bí mật (Confidentiality)...................................................................................................2
B-Tồn vẹn (Integrity)..........................................................................................................3
C-Sẵn sàng (Availability).....................................................................................................4
3/Các mối đe dọa đến sự an tồn hệ thống...............................................................................5
4/Chính sách bảo mật và cơ chế bảo mật..................................................................................6
A-Chính sách bảo mật (Security policy)..............................................................................6
B-Cơ chế bảo mật (Security mechanism).............................................................................7
5/Một vài kỹ thuật phổ biến trong bảo mật...............................................................................8
A-Mã hóa..............................................................................................................................8
B-Các kỹ thuật xác thực.....................................................................................................14
C-Các kỹ thuật kiểm soát truy cập......................................................................................16
D-Các nguyên lý chung về bảo mật....................................................................................18
Chương 2: Yếu tố con người trong bảo mật................................................................................23
1/Vai trò của cơ quan, tổ chức đối với bảo mật.......................................................................23
2/Vai trò của từng cá nhân đối với bảo mật............................................................................25
3/Tính khả dụng (usability) đối với sự an toàn của hệ thống..................................................27
Chương 3: Kỹ thuật trực quan hóa và các ứng dụng...................................................................32
1/Giới thiệu kỹ thuật trực quan hóa........................................................................................32
2/Các kỹ thuật thể hiện trực quan hóa.....................................................................................33

A-Sử dụng khơng gian........................................................................................................33
B-Sử dụng màu sắc.............................................................................................................36
C-Sử dụng chuyển động (animation)..................................................................................37
3/Một vài ứng dụng trực quan hóa tiêu biểu...........................................................................38
A-Kỹ thuật treemap............................................................................................................38
B-Quy trình tương tác với hệ thống trực quan hóa.............................................................41


Chương 4: Bảo mật dựa trên trực quan hóa................................................................................45
1/Tổng quan............................................................................................................................45
2/Trực quan hóa dữ liệu ở cấp độ gói tin................................................................................48
3/Trực quan hóa dữ liệu ở cấp độ dịng...................................................................................56
4/Trực quan hóa dữ liệu ở cấp độ cảnh báo............................................................................65
5/Trực quan hóa để nâng cao tính khả dụng...........................................................................76
Chương 5: Ứng dụng trực quan hóa bảo mật chương trình chia sẻ tập tin ngang hàng..............92
1/Giới thiệu.............................................................................................................................92
2/Các chức năng của chương trình chia sẻ tập tin..................................................................92
3/Kiến trúc chương trình.........................................................................................................93
4/Thiết kế mơ hình trực quan hóa...........................................................................................94
5/Các ưu điểm và hạn chế của chương trình...........................................................................99
A-Ưu điểm..........................................................................................................................99
B-Hạn chế.........................................................................................................................100
6/Hướng phát triển chương trình trong tương lai..................................................................100
Chương 6: Kết luận...................................................................................................................102
Tài liệu tham khảo.....................................................................................................................104


1

Chương 1: Tổng quan về bảo mật máy tính và các kỹ thuật liên

quan
1/Nhu cầu bảo mật
Ngày nay máy tính đóng một vai trị quan trọng trong cuộc sống và công việc của con người.
Với khả năng xử lý dữ liệu nhanh, chính xác, cộng với tiện ích liên lạc mang lại khi kết nối với
nhau thông qua mạng Internet tồn cầu, máy tính đã mang đến cho con người cơng cụ hữu ích
và mạnh mẽ trong các hoạt động của mình: từ đọc tin tức đến quản lý thơng tin khách hàng, từ
chơi game trực tuyến đến mua bán hàng qua mạng v.v... tất cả công việc này đều có sự tham gia
của máy tính. Có thể nói, con người ngày càng trở nên phụ thuộc hơn vào máy tính. Do đó,
song song với việc nâng cao khả năng ứng dụng máy tính, việc giảm thiểu các nguy cơ do sử
dụng máy tính mang lại cũng rất quan trọng đối với con người. Trong số các mối nguy cơ mà
việc sử dụng máy tính có thể mang đến cho con người có việc các tài nguyên bị người khác sử
dụng, chỉnh sửa một cách bất hợp pháp và tính riêng tư của người sử dụng bị xâm phạm. Vì
vậy, việc đảm bảo sự an toàn và riêng tư của con người khi sử dụng máy tính là vơ cùng cần
thiết. Để làm được việc đó, trước tiên chúng ta cần tìm hiểu các tính chất của một hệ thống phải
thỏa mãn các yêu cầu nào để được xem là an tồn.

2/Các tính chất an tồn
Mỗi người sử dụng hệ thống máy tính có nhu cầu khác nhau về các loại dữ liệu hoặc tài nguyên
mà mình cần bảo vệ. Chẳng hạn một nhân viên kế tốn có các bảng số liệu mà họ chỉ muốn
những người có thNm quyền mới được xem, hoặc một cửa hàng bán hàng qua mạng muốn
những thông tin về giá cả của các sản phNm chỉ được chỉnh sửa bởi nhà quản lý, hoặc một cơng
ty cung cấp thơng tin cơng cộng muốn có nhiều người truy cập vào website của mình mà khơng
bị trở ngại gì. Do các nhu cầu về bảo mật khác nhau, nên có thể đối với các đối tượng khác
nhau khái niệm bảo mật thông tin cũng không giống nhau hồn tồn. Tuy nhiên, theo [4] có 3
tính chất sau được xem là các thành phần cơ bản của một hệ thống an toàn.


2

A-Bí mật (Confidentiality)

Bí mật có nghĩa là các thơng tin và tài nguyên phải được che đậy, giấu đi khi cần thiết theo nhu
cầu của người sở hữu chúng. Sở dĩ có nhu cầu che giấu thơng tin vì máy tính có thể được sử
dụng ở các lĩnh vực mà trong đó thơng tin có tầm quan trọng và mức độ nhạy cảm cao. Điển
hình là thơng tin trong các tổ chức nhà nước về quốc phịng, an ninh. Khơng chỉ vậy, các cơng
ty kinh doanh cũng có nhiều thơng tin mà họ khơng muốn đối thủ của mình biết, ví dụ như
thơng tin về sản phNm hoặc thơng tin về các nhà cung cấp. Ngồi ra, các thơng tin về nhân sự,
tiền lương cũng là ví dụ về những loại thơng tin cần sự bí mật.
Có nhiều cách có thể mang tính bí mật đến cho thơng tin. Một cách phổ biến trong số đó là sử
dụng các kỹ thuật mã hóa. Mã hóa làm xáo trộn thơng tin gốc, dẫn đến việc người đọc không
thể hiểu được những gì mà nó hiển thị. Để có thể đọc và hiểu được nó thì cần phải có khóa.
Khóa được sử dụng để biến đổi thông tin đã xáo trộn lại dạng ban đầu và do đó nó phải được
giữ kín khơng cho những người bên ngồi truy xuất được. Điều này dẫn đến nhu cầu phải lưu
trữ và bảo vệ khóa một cách hiệu quả. Nếu tính bí mật của khóa bị vi phạm, thì tính bí mật của
thơng tin được mã hóa cũng bị ảnh hưởng theo.
Một cách khác có thể mang tính bí mật đến cho thơng tin là sử dụng các cơ chế kiểm soát truy
cập (access control) và chỉ cho phép các truy cập nào hợp lệ. Chẳng hạn như hệ điều hành
Linux có cơ chế đăng nhập trước khi sử dụng máy để đảm bảo chỉ những người nào là người sử
dụng hợp pháp của hệ thống mới biết được mật khNu (password) và đăng nhập được thành
công. Tuy nhiên, cách này phụ thuộc vào hệ thống kiểm soát truy cập và nếu như hệ thống
kiểm sốt khơng được bật (xét ví dụ về hệ điều hành Linux ở trên, nếu người sử dụng khởi
động máy trực tiếp từ một đĩa CD hỗ trợ khởi động thì hệ thống kiểm sốt sẽ khơng được kích
hoạt) hoặc có lỗi thì tính bí mật của dữ liệu mà nó bảo vệ cũng sẽ khơng cịn được đảm bảo
nữa.
Bí mật khơng chỉ là che dấu nội dung các thông tin, mà trong một số trường hợp cần phải che
dấu ln cả sự tồn tại của thơng tin đó. Một ví dụ điển hình là thơng tin về kết quả bỏ phiếu bất
tín nhiệm đối với các nhà chính trị. Rõ ràng việc biết được có một cuộc bỏ phiếu như thế diễn
ra cũng có ảnh hưởng khơng kém việc biết kết quả chính thức của cuộc bỏ phiếu đó.


3

Khơng chỉ che dấu thơng tin, tính bí mật cịn bao gồm cả che dấu chi tiết về các tài nguyên sử
dụng. Chẳng hạn, một công ty sẽ không muốn những người bên ngồi biết được website của
cơng ty chạy trên máy chủ nào, hệ điều hành gì, phiên bản bao nhiêu v.v... Bởi vì những thơng
tin đó có thể giúp đối thủ biết được ít nhiều về hệ thống máy tính của cơng ty cũng như hacker
có thể lợi dụng để tấn cơng vào.

B-Tồn vẹn (Integrity)
Tồn vẹn là tính chất giúp đánh giá độ tin cậy của dữ liệu hoặc độ tin cậy của nguồn gốc tạo ra
dữ liệu. Theo định nghĩa trên, ta có thể chia tồn vẹn thành toàn vẹn dữ liệu (data integrity) và
toàn vẹn nguồn gốc (origin integrity). Nếu như toàn vẹn dữ liệu bảo đảm nội dung dữ liệu mà
chúng ta xem là chính xác và không bị sửa đổi một cách bất hợp pháp, thì tồn vẹn nguồn gốc
bảo đảm tính xác thực về nguồn gốc của dữ liệu, hay nói một cách khác là nó giúp xác minh
người thực sự tạo ra dữ liệu có đúng là người được thơng báo là đã tạo ra dữ liệu hay khơng. Ví
dụ khi nhận được một thơng tin mật, thì ngồi việc kiểm tra tính hợp lệ của thơng tin, chúng ta
cũng cần kiểm tra danh tánh chính xác của người cung cấp tin.
Các cơ chế để hiện thực tính tồn vẹn cho một hệ thống có thể được phân loại thành 2 nhóm:
các cơ chế phòng ngừa (prevention) và các cơ chế phát hiện (detection).
Các cơ chế phịng ngừa đảm bảo tính tồn vẹn bằng cách chặn đứng các nỗ lực thay đổi dữ liệu
của những người khơng được phép làm chuyện đó, hoặc của những người được phép thay đổi
dữ liệu nhưng phải thực hiện việc thay đổi theo một cách thức, quy trình nào đó. Sở dĩ phải
phân loại ra thành 2 trường hợp, vì với trường hợp đầu ta có thể đối phó bằng cách áp dụng các
biện pháp xác thực và kiểm sốt truy cập, cịn với trường hợp sau thì việc đối phó phải tùy theo
u cầu cụ thể của tình huống chứ khơng có những cách thức chung. Ví dụ như một nhân viên
kế tốn có thể thay đổi dữ liệu của các sổ sách kế toán, nhưng phải theo những cách thức và
quy trình được quy định trước, chứ không thể thay đổi một cách tùy tiện. Trong ví dụ trên, hệ
thống khơng thể dùng các biện pháp xác thực hay kiểm soát truy cập mà đảm bảo được việc
thay đổi dữ liệu của nhân viên kế tốn được tiến hành theo đúng quy trình.
Trong khi đó, cơ chế phát hiện khơng thực hiện việc ngăn chận các hành vi có thể dẫn đến vi



4
phạm tính tồn vẹn. Nó chỉ kiểm tra xem dữ liệu có cịn đáng tin cậy khơng hay nguồn gốc của
dữ liệu có chính xác khơng và đưa ra kết luận tương ứng. Việc kiểm tra có thể dựa trên thông
tin về các sự kiện diễn ra trong hệ thống (ví dụ như có sự thay đổi bất thường diễn ra trên các
tập tin dữ liệu quan trọng), hoặc dựa trên chính bản thân dữ liệu xem nó có cịn thỏa mãn các
ràng buộc nào đó hay khơng. Khi phát hiện tính tồn vẹn bị vi phạm, cơ chế có thể thơng báo
chính xác ngun nhân gây nên sự vi phạm (ví dụ như do phần nào đó của dữ liệu bị chỉnh sửa)
hoặc đơn giản cho biết là dữ liệu đã khơng cịn được tồn vẹn nữa.
Việc đánh giá tính tồn vẹn của hệ thống một cách chính xác là rất khó. Vì nó phụ thuộc vào
nhiều yếu tố như: đánh giá độ tin cậy của nguồn dữ liệu, độ chính xác của dữ liệu sau khi được
tạo ra, mức độ bảo vệ dữ liệu trong quá trình vận chuyển, và cả mức độ bảo vệ đối với dữ liệu
trên máy tính hiện hành khi nó đang trong q trình xử lý.

C-Sẵn sàng (Availability)
Sẵn sàng là khả năng có thể sử dụng hệ thống một khi có nhu cầu của những người dùng hợp
lệ. Tính chất này cũng quan trọng khơng kém tính bí mật và tồn vẹn. Một hệ thống không sẵn
sàng để đáp ứng nhu cầu của người sử dụng thì cũng giống như hệ thống ấy không tồn tại.
Chẳng hạn như một website cung cấp các tin tức cho người sử dụng, nhưng người sử dụng
không thể vào để đọc được thơng tin thì website này cũng khơng mang lại ích lợi gì cho người
sử dụng cả.
Tính sẵn sàng của hệ thống có thể bị vi phạm nếu như có sự ngăn chặn truy cập đến dữ liệu
hoặc dịch vụ nào đó của hệ thống, làm cho hệ thống không thể đáp ứng được yêu cầu của
những người sử dụng. Kiểu tấn công như vậy được gọi là tấn công từ chối dịch vụ (denial of
service). Các cuộc tấn công từ chối dịch vụ thường được thực hiện bằng cách gửi hàng loạt các
yêu cầu đến hệ thống, làm cho hệ thống không thể xử lý kịp và do đó các u cầu hợp lệ từ
phía những người sử dụng cũng không được xử lý. Kiểu tấn cơng này rất khó bị phát hiện. Nó
địi hỏi nhà quản trị bảo mật cho hệ thống phải phân tích việc sử dụng tài ngun của hệ thống
xem có bất thường khơng, và nếu có thì bất thường này có phải do việc cố tình tấn cơng gây ra
hay khơng. Trong khi khơng phải lúc nào cũng có thể phát hiện được sự bất thường, cũng như



5
có khi việc sử dụng là hợp lệ nhưng cũng phát sinh ra các bất thường.

3/Các mối đe dọa đến sự an tồn hệ thống
Phần trên đã trình bày về các tính chất của một hệ thống an tồn. Trong phần này chúng ta sẽ
tìm hiểu về một số mối đe dọa đến các hệ thống máy tính và cách thức mà 3 tính chất trình bày
bên trên có thể giúp để loại trừ các mối đe dọa này. Khi thiết kế một hệ thống thông tin, người
thiết kế sẽ phải dự đốn hoặc ước lượng khả năng có thể xảy ra của các mối đe dọa này để có
thể lên kế hoạch trước về các biện pháp phịng chóng một cách hiệu quả. Sau đây là các mối đe
dọa phổ biến đối với một hệ thống máy tính:
Nghe trộm (snooping): là việc lắng nghe, xem xét thông tin mà mình khơng được phép
khi chúng di chuyển trên mạng. Đây là một mối đe dọa bị động (passive), vì người tấn
công chỉ việc nghe trộm các thông tin khi chúng đi ngang qua máy tính của mình. Do là
bị động nên nhà quản trị bảo mật rất khó phát hiện ra nó. Có thể cài đặt tính bí mật lên
thơng tin di chuyển để giúp phịng chóng mối đe dọa này.
Thay đổi dữ liệu bất hợp lệ (Alteration): là mối đe dọa mà trong đó người tấn cơng cố
tình làm thay đổi dữ liệu mà mình khơng được phép. Dữ liệu bị thay đổi có thể dẫn đến
những người sử dụng nó ra quyết định khơng chính xác, hoặc nếu như dữ liệu này giúp
vận hành hệ thống thì có thể làm ảnh hưởng đến hoạt động bình thường của hệ thống.
Mối đe dọa này được xem là chủ động, vì người tấn cơng phải trực tiếp thực hiện việc
thay đổi. Cài đặt tính tồn vẹn có thể giúp phịng chống mối đe dọa này.
Giả mạo (masquerading, spoofing): là mối đe dọa trong đó người tấn cơng làm cho
người bị tấn cơng lầm tưởng mình chính là một đối tượng khác. Chẳng hạn người bị tấn
cơng có thể đi vào website do người tấn công thiết lập nên mà tưởng đó là website của
một tổ chức khác (ví dụ như tưởng đó là ngân hàng mà người bị tấn cơng có mở tài
khoản). Mối đe dọa này bao gồm cả 2 dạng: chủ động và bị động. Cài đặt tính tồn vẹn
có thể phịng chống mối đe dọa này.
Thối thác nguồn gốc (Repudiation of origin): đây là mối đe dọa mà người tấn cơng
thối thác nguồn gốc của đối tượng được tạo ra bởi mình. Ví dụ người tấn có thể đặt



6
hàng sản phNm nào đó với số lượng rất lớn từ nhà cung cấp, nhưng sau khi nhà cung cấp
sản xuất xong và vận chuyển đến nơi thì người tấn cơng lại chối bỏ đơn hàng của mình,
khẳng định mình khơng đặt đơn hàng đó. Nếu như nhà cung cấp khơng có cách nào
chứng minh nguồn gốc của đơn hàng thì người tấn cơng đã thành cơng. Cài đặt tính tồn
vẹn giúp phịng chống mối đe dọa này.
Thối thác thu nhận (Denial of receipt): trong mối đe dọa này, người tấn cơng đã nhận
được cái mình cần nhưng lại từ chối, cho là chưa nhận được. Chẳng hạn khách hàng sau
khi nhận được sản phNm mình cần thì phải trả tiền cho nhà cung cấp. Nhưng sau đó nhà
cung cấp lại khẳng định là mình chưa nhận được tiền. Khách hàng phải có bằng chứng
chứng minh được là mình đã đưa đủ tiền cho nhà cung cấp để có thể bảo vệ mình lại sự
tấn cơng này. Cài đặt tính tồn vẹn và sẵn sàng giúp phịng chống mối đe dọa này.
Từ chối dịch vụ (Denial of service): mối đe dọa này ảnh hưởng đến khả năng giao tiếp
bình thường giữa người dùng hợp lệ và dịch vụ cung cấp cho người dùng đó. Nó được
thực hiện bằng cách ngăn chận không cho dịch vụ đến được với người dùng. Việc ngăn
chặn có thể thực hiện ở phía nguồn (làm cho máy tính cung cấp dịch vụ khơng có đủ tài
ngun cần thiết để thực hiện cơng việc của mình), phía đích (ngăn khơng cho người sử
dụng gửi được các yêu cầu đến nguồn) hay tại các điểm trung gian (loại bỏ các thơng
điệp từ nguồn đến đích và từ đích đến nguồn trên đường đi của chúng). Cài đặt tính sẵn
sàng giúp phịng chống mối đe dọa này.

4/Chính sách bảo mật và cơ chế bảo mật
Một phần quan trọng để mang lại sự an toàn cho một hệ thống thơng tin là phải có các chính
sách bảo mật xác đáng và cơ chế bảo mật phù hợp. Phần sau chúng ta sẽ tìm hiểu về hai thành
phần này và sự tác động của chúng đối với sự an toàn hệ thống.

A-Chính sách bảo mật (Security policy)
Chính sách bảo mật là tuyên bố về những gì được phép thực hiện và những gì khơng được phép

thực hiện đối với các người sử dụng của một hệ thống. Chẳng hạn chính sách bảo mật có thể


7
quy định phải mã hóa nội dung khi gửi thư điện tử hay không được đăng nhập vào hệ thống sau
giờ làm việc.
Chính sách bảo mật đóng vai trị nền tảng để từ đó xây dựng nên một kiến trúc vững chắc và hỗ
trợ tốt cho việc bảo mật hệ thống. Nó đóng vai trị hướng dẫn và là tài liệu tham khảo cho các
cơng việc có liên quan đến bảo mật như:


Bảo mật ứng dụng



Quản lý việc truy cập và sử dụng tài nguyên của con người



Xác định quyền hạn và trách nhiệm



Đảm bảo sự nhất quán và theo chuNn



Thiết kế kiến trúc ứng dụng




Giảm thiểu các nguy cơ



Quy trình xử lý đối với các sự cố bảo mật

B-Cơ chế bảo mật (Security mechanism)
Cơ chế bảo mật là các phương pháp, cách thức và công cụ để hiện thực chính sách bảo mật.
Cơ chế bảo mật có thể là giải pháp kỹ thuật (chẳng hạn như cơ chế của hệ điều hành không cho
phép một người đọc được tập tin của người khác), hoặc cũng có thể khơng liên quan đến kỹ
thuật (chẳng hạn khi đi vào một cơ quan thì cần xuất trình giấy tờ tùy thân phù hợp).
Dựa trên mơ tả của chính sách bảo mật về các hành vi an tồn và khơng an tồn, cơ chế bảo
mật có thể được hiện thực để giúp ngăn ngừa (prevent) những cuộc tấn công, phát hiện (detect)
những cuộc tấn công hoặc phục hồi (recover) sau những cuộc tấn cơng. Những kỹ thuật này có
thể được sử dụng kết hợp với nhau hoặc sử dụng riêng lẻ.
Ngăn ngừa: đây là biện pháp làm cho những cuộc tấn công không thể thực hiện được và bị thất
bại. Ví dụ nếu như có khả năng xảy ra một cuộc tấn cơng đến hệ thống thơng qua mạng Internet
thì một cách ngăn ngừa là ngắt kết nối Internet của hệ thống này. Việc ngăn ngừa có thể ảnh
hưởng đến hoạt động bình thường của hệ thống như trong ví dụ vừa rồi. Tuy nhiên cũng có


8
những cơ chế ngăn ngừa không làm ảnh hưởng đến hoạt động của hệ thống và được chấp nhận
rộng rãi (ví dụ như việc sử dụng mật khNu để ngăn ngừa truy xuất đến hệ thống cần bảo vệ).
Phát hiện: biện pháp này rất có ích trong trường hợp những cuộc tấn công không thể ngăn
ngừa được. Cơ chế phát hiện cho phép tấn cơng có thể xảy ra và thực hiện việc theo dõi, báo
cáo những thông tin liên quan về cuộc tấn cơng như tính chất, mức độ ảnh hưởng và kết quả
của nó. Thơng thường, cơ chế phát hiện sẽ thực hiện việc quan sát, theo dõi hệ thống để tìm ra
những hành vi hay thơng tin chỉ ra khả năng của tấn công. Chẳng hạn như khi một người sử

dụng nhập vào mật khNu sai quá 3 lần, cơ chế phát hiện vẫn cho người sử dụng tiếp tục việc
đăng nhập, nhưng nó sẽ ghi nhận lại trong hệ thống của mình trường hợp này. Tuy nhiên, cơ
chế phát hiện có một điểm yếu là nó chỉ phát hiện tấn công chứ không thể ngăn chặn được tấn
công làm tê liệt hay hư hỏng một phần hoặc tồn bộ hệ thống.
Phục hồi: Có 2 dạng phục hồi được sử dụng. Đối với dạng thứ nhất, cơ chế phục hồi chặn
đứng cuộc tấn công đang diễn ra và sửa chữa các hư hỏng hiện có. Chẳng hạn nếu cuộc tấn
công làm cơ sở dữ liệu của hệ thống bị xóa thì việc cần làm là ngăn cản người tấn công tiếp tục
truy xuất vào cơ sở dữ liệu và phục hồi lại dữ liệu ban đầu từ các thiết bị lưu trữ dự phòng. Tuy
nhiên, mỗi cuộc tấn cơng có đặc thù riêng và khơng phải lúc nào cũng có thể thiết lập các cơ
chế phục hồi cần thiết. Trong dạng thứ hai, cơ chế phục hồi giúp cho hệ thống tiếp tục vận hành
bình thường cho dù đang trong điều kiện bị tấn cơng. Nó khác với dạng thứ nhất ở chỗ hệ thống
không bị dừng lại tại bất cứ thời điểm nào, mà vẫn tiếp tục cung cấp các dịch vụ của mình. Việc
hiện thực dạng phục hồi này cũng rất khó vì sự phức tạp và đa dạng của các hệ thống, cũng như
sự khác nhau về tính chất và cường độ của các cuộc tấn công.

5/Một vài kỹ thuật phổ biến trong bảo mật
A-Mã hóa
Mã hóa là kỹ thuật đảm bảo tính bí mật cho dữ liệu bằng cách biến đổi dữ liệu từ dạng thơng
thường (plaintext) sang dạng bí mật (ciphertext). Để thực hiện việc biến đổi, cần áp dụng một
thuật toán và một khóa lên dữ liệu gốc. Cịn khi cần lấy lại dữ liệu gốc ban đầu, thì thuật tốn


9
và một khóa sẽ được áp dụng trên dữ liệu mã hóa. Mục tiêu của mã hóa là làm cho nội dung
của dữ liệu gốc được giữ bí mật. Hệ thống mã hóa giả định là có người muốn tấn công và cố
lấy được nội dung từ dữ liệu đã mã hóa. Hệ thống cũng giả định là người tấn cơng này biết
được thuật tốn dùng để thực hiện mã hóa và giải mã, nhưng lại khơng biết các khóa được sử
dụng. Dựa trên các giả định này, người tấn cơng có thể thực hiện 3 kiểu tấn cơng vào hệ thống
mã hóa như sau:



Tấn cơng chỉ dùng đến văn bản mã hóa (ciphertext only attack): người tấn cơng chỉ có
trong tay văn bản đã được mã hóa mà thơi. Mục tiêu của người này là từ văn bản đã mã
hóa, tìm ra văn bản gốc ban đầu, hoặc nếu có thể thì tìm ra cả khóa đã được sử dụng.



Tấn cơng biết trước văn bản gốc (known plaintext attack): người tấn cơng có trong tay
văn bản gốc và văn bản mã hóa, mục tiêu bây giờ của người tấn cơng là tìm ra khóa
được sử dụng để biến đối văn bản gốc thành văn bản mã hóa.



Tấn cơng dựa trên văn bản gốc có chọn lựa (chosen plaintext attack): người tấn cơng có
thể đưa ra u cầu mã hóa một văn bản nào đó và sẽ được cung cấp văn bản mã hóa
tương ứng, Mục tiêu của người tấn cơng trong trường hợp này là tìm ra khóa đã được sử
dụng.

Một hệ thống mã hóa tốt phải đảm bảo phịng chống được cả 3 kiểu tấn cơng trên.
Hầu hết các kỹ thuật tấn cơng vào hệ thống mã hóa dựa trên việc sử dụng các phương pháp
toán học và thống kê. Các phương pháp thống kê dựa trên sự biết trước về tần số xuất hiện
thông thường của các ký tự trong ngôn ngữ của văn bản gốc và tìm kiếm sự liên quan này trong
văn bản mã hóa. Chẳng hạn trong tiếng Anh, kí tự “e” được xem là ký tự có tần số xuất hiện
nhiều nhất trong các văn bản. Bảng 1.1 sau đây liệt kê tần số xuất hiện của các ký tự trong tiếng
Anh (theo [9]):


10
Bảng 1.1: Tần số xuất hiện của các ký tự trong tiếng Anh


Mã hóa cổ điển
Mã hóa cổ điển (hay cịn được gọi là mã hóa đối xứng, mã hóa một khóa) là hệ thống mã hóa
trong đó sử dụng cùng một khóa cho việc mã hóa và giải mã.
Ví dụ: mã hóa Caesar sử dụng cùng khóa với giá trị 3 cho việc mã hóa và giải mã. Khi mã hóa,
các ký tự trong văn bản gốc sẽ được thay thế bởi các ký tự sau nó 3 vị trí, cịn khi giải mã thì
các kí tự trong văn bản mã hóa sẽ được thay thế bởi các ký tự trước nó 3 vị trí. Do đó, văn bản
“ATTACK” sẽ được mã hóa thành “DWWDFN”.
Mã hóa cổ điển thực hiện theo 2 cơ chế: chuyển dịch (transposition ciphers) và thay thế
(substitution ciphers)
Mã hóa chuyển dịch
Mã hóa chuyển dịch sắp xếp lại vị trí của các ký tự trong văn bản gốc để hình thành văn bản
mã hóa. Bản thân các ký tự khơng thay đổi.
Ví dụ: phương pháp mã hóa Rail Fence được thực hiện bằng cách viết văn bản gốc ra trên 2
dòng, từ trên xuống rồi từ trái qua phải. Văn bản mã hóa được tạo thành bằng cách gom các ký
tự viết ra từ trái sang phải, rồi từ trên xuống dưới. Chẳng hạn nếu văn bản gốc là “MONEY” thì
nó sẽ được viết ra thành:
MNY
OE
Khi đọc từ trái sang phải, từ trên xuống dưới sẽ là MNYOE. Do đó, văn bản mã hóa là
MNYOE.


11
Bởi vì dược thực hiện bằng cách đổi chỗ các kí tự với nhau, khóa trong mã hóa chuyển dịch là
một hàm hốn vị. Việc hốn vị khơng làm thay đổi số lần xuất hiện của các ký tự, do đó có thể
dùng các kỹ thuật thống kê để nhận dạng mã hóa chuyển dịch. Việc tấn cơng vào hệ thống mã
hóa chuyển dịch được thực hiện thơng qua việc sắp xếp lại cái ký tự của văn bản mã hóa, sao
cho nó phù hợp với các mơ hình thống kê của ngôn ngữ gốc ở một mức độ cao nhất.
Mã hóa thay thế
Mã hóa thay thế thực hiện việc thay đổi các ký tự trong văn bản gốc sang các ký tự mới để tạo

ra văn bản mã hóa.
Ví dụ: mã hóa Caesar thay thế một ký tự bởi ký tự đứng sau nó 3 vị trí (và thay thế một ký tự
bởi ký tự đứng trước nó 3 vị trí trong q trình giải mã) là một hệ thống mã hóa thay thế.
Mã hóa Caesar có thể bị tấn công theo kiểu “chỉ dùng đến văn bản mã hóa” nhờ mơ hình thống
kê về sự xuất hiện của các ký tự.
Việc thay thế ký tự không nhất thiết được thực hiện bằng cách ánh xạ 1-1 mà 1 ký tự trong văn
bản gốc cũng có thể được thay thế bởi nhiều ký tự khác nhau trong văn bản mã hóa, ví dụ như
trong mã hóa Vigenère, việc thay thế được thực hiện bằng cách dị tìm trên một bảng.


12
Bảng 1.2: Bảng sử dụng trong mã hóa Vigenère

Mã hóa khóa cơng khai (public-key cryptosystems)
Khác với mã hóa cổ điển sử dụng cùng 1 khóa cho 2 mục đích mã hóa và giải mã, mã hóa khóa
cơng khai (được giới thiệu trong [10]) sử dụng 2 khóa khác nhau, một khóa được dùng để mã
hóa dữ liệu và một khóa còn lại được dùng để giải mã dữ liệu đã mã hóa. Trong 2 khóa này,
một khóa được cơng bố rộng rãi, khóa cịn lại được giữ kín cho riêng người sở hữu. Khi một
người A muốn gửi một thông tin mật cho người B, A chỉ việc mã hóa văn bản cần gửi bằng
khóa cơng khai của người B, và người B sẽ dùng khóa bí mật của mình để giải mã văn bản đó.


13
Trong hệ thống mã hóa cơng khai này, 2 người muốn trao đổi thơng tin với nhau một cách an
tồn khơng cần phải thống nhất về khóa bí mật được dùng chung giữa 2 người như trong
trường hợp các hệ thống mã hóa cổ điển.
Bởi vì có 2 khóa, trong đó một khóa được cơng bố rộng rãi và một khóa được giữ bí mật, nên
hệ thống mã hóa khóa cơng khai phải thỏa mãn 3 tính chất sau:
• Nó phải thực hiện việc mã hóa và giải mã một cách dễ dàng khi có các khóa phù hợp.
• Nó phải khơng cho phép tính được khóa bí mật từ khóa cơng khai.

• Nó phải khơng cho phép tính được khóa bí mật từ kiểu tấn cơng “dựa trên văn bản gốc
có chọn lựa”.
RSA
Là một ví dụ về mã hóa khóa cơng khai, RSA (được trình bày chi tiết trong [23]) chẳng những
cung cấp tính bí mật mà cịn cung cấp tính xác thực dữ liệu và nguồn gốc. Nếu một người A mã
hóa dữ liệu bằng khóa bí mật của mình, ai cũng có thể sử dụng khóa cơng khai của A để giải
mã và đọc thông tin trong đó, do đó xác thực được nguồn gốc của dữ liệu là từ người A. Ngồi
ra, nếu có ai đó thay đổi dữ liệu mà A đã mã hóa, văn bản mã hóa khơng cịn có thể giải mã một
cách đúng đắn bằng khóa cơng khai của A nữa, do đó đảm bảo được tính xác thực của bản thân
dữ liệu.
Để vừa đảm bảo tính bí mật, vừa đảm bảo tính xác thực, có thể kết hợp khóa bí mật của người
gửi và khóa cơng khai của người nhận để mã hóa.
Người nhận sử dụng khóa bí mật của mình để đọc nội dung (chỉ người nhận mới có), và dùng
khóa cơng khai của người gửi để kiểm tra tính toàn vẹn nội dung và nguồn gốc dữ liệu.
Ngoài ra, việc sử dụng hệ thống mã hóa khóa cơng khai cịn có thể giúp chống thối thác nguồn
gốc dữ liệu. Bởi vì văn bản được giải mã bằng khóa cơng khai của A, chỉ có khóa bí mật của A
là phù hợp để mã hóa văn bản này, mà chỉ có A mới biết được khóa bí mật của mình để thực
hiện việc mã hóa. Do đó, A khơng thể phủ nhận nguồn gốc dữ liệu là từ mình.


14

B-Các kỹ thuật xác thực
Các tiến trình (process) khi thực thi sẽ đại diện cho một đối tượng bên ngoài nào đó kích hoạt
chúng, ví dụ một người sử dụng. Danh tánh của đối tượng bên ngoài quyết định các thao tác mà
tiến trình có thể và khơng thể thực hiện được. Do đó, trước khi tiến trình thực thi, nó phải thực
hiện q trình gắn kết với đối tượng bên ngồi.
Định nghĩa: Xác thực là q trình gắn kết một đối tượng bên ngồi với một tiến trình.
Đối tượng bên ngồi phải cung cấp thơng tin để cho phép hệ thống xác nhận và kiểm tra danh
tánh của nó. Những thơng tin này có thể bao gồm:

• Những gì mà đối tượng biết (ví dụ mật khNu)
• Những gì mà đối tượng sở hữu (ví dụ thẻ từ)
• Những gì gắn liền với đối tượng (ví dụ dấu vân tay)
• Vị trí của đối tượng (ví dụ đối tượng nằm trong một mạng nào đó)
Q trình xác thực bao gồm thu nhận thông tin xác thực từ đối tượng, phân tích thơng tin này,
và kiểm tra xem nó có thực sự tương ứng với đối tượng hay khơng. Vì vậy, hệ thống phải lưu
trữ thông tin về đối tượng và có cơ chế để quản lý thơng tin này khi cần.
Sau đây là các kỹ thuật xác thực phổ biến
Mật kh u (password)
Mật khNu là thông tin tương ứng với đối tượng để xác nhận danh tánh đối tượng.
Mật khNu là một ví dụ về cơ chế xác thực dựa trên những gì mà đối tượng biết: người sử dụng
nhập vào một mật khNu và máy tính kiểm tra sự đúng đắn của nó. Nếu như thơng tin nhập vào
đúng với thông tin của đối tượng, danh tánh của người sử dụng sẽ được xác thực. Nếu không,
mật khNu khơng được chấp nhận và q trình xác thực bị từ chối.
Dạng mật khNu đơn giản nhất là một chuỗi các ký tự. Trong trường hợp này, không gian các giá
trị của mật khNu là tập hợp tất cả các chuỗi ký tự có thể làm một mật khNu hợp lệ.
Ví dụ: mật khNu dùng tại các máy rút tiền tự động ATM có số ký tự là 6, và giá trị của các ký


15
tự là từ 0 đến 9. Không gian mật khNu trong trường hợp này có tất cả 10^6 giá trị (từ 000000
đến 999999).
Để tránh trường hợp mật khNu có thể dễ dàng đoán được bởi những đối tượng khác, một số hệ
thống xác thực áp đặt các ràng buộc lên mật khNu mà người sử dụng chọn, chẳng hạn như mật
khNu phải có độ dài nhất định, khơng được là một từ có trong từ điển, phải chứa nhiều loại ký
tự khác nhau như chữ cái và chữ số v.v... Mặc dù các ràng buộc này có thể làm mật khNu của
người sử dụng khó đốn và an tồn hơn, nhưng cũng có thể dẫn đến khả năng người sử dụng bị
khó khăn trong việc nhớ mật khNu của chính mình.
Thử thách – Phản hồi (Challenge – Response)
Một vấn đề đối với xác thực bằng mật khNu là khả năng sử dụng lại của chúng. Nếu một người

tấn cơng có được mật khNu của người sử dụng bằng cách nào đó, thì anh ta có thể sử dụng
nhiều lần mật khNu này để giả mạo danh tánh của người sử dụng đó. Hệ thống xác thực khơng
thể phân biệt được giữa người tấn công và người sử dụng thực sự nên vẫn cho phép truy xuất
hệ thống. Một cách để giải quyết vấn đề này là xác thực với mật khNu thay đổi trong mỗi lần sử
dụng. Trong trường hợp này, nếu người tấn cơng có được mật khNu của lần trước thì cũng
khơng thể sử dụng lại trong lần sau.
Giả sử một người sử dụng muốn được một hệ thống xác thực. Người sử dụng này và hệ thống
cùng thỏa thuận với nhau về một hàm tốn học bí mật f nào đó. Một hệ thống xác thực “thử
thách – phản hồi” hoạt động bằng cách gửi cho người sử dụng một thông điệp ngẫu nhiên m
(thử thách) nào đó. Người sử dụng phản hồi với thơng điệp r = f(m) (phản hồi). Hệ thống sẽ
kiểm tra sự hợp lệ của r bằng cách so sánh nó với giá trị f(m) do hệ thống tính tốn riêng biệt.
Cơ chế xác thực này có thể được hỗ trợ bằng phần cứng. Phần cứng chứa dữ liệu cần thiết để
thực hiện hàm bí mật f trên dữ liệu thử thách mà hệ thống gửi đến cho người sử dụng. Ngoài ra,
người sử dụng có thể được yêu cầu nhập thêm mật khNu riêng để sử dụng kết hợp với hàm bí
mật mà phần cứng cung cấp.
Sinh trắc học (Biometrics)
Việc xác định cá nhân thơng qua các tính chất vật lý, sinh học đã có từ rất lâu đời. Từ xa xưa,
con người đã sử dụng giọng nói và khn mặt để nhận ra các người khác nhau. Ngày nay, việc


16
xác thực đã ứng dụng các kỹ thuật mới và chính xác hơn để xác định con người thơng qua cấu
tạo sinh lý học của họ. Những đặc tính này có thể được sử dụng để giảm bớt các lỗi liên quan
trong quá trình xác thực. Một số đặc điểm được dùng phổ biến để xác thực bao gồm:
• Dấu vân tay
• Giọng nói
• Võng mạc và mống mắt
• Khn mặt
• Kết hợp nhiều đặc điểm với nhau


C-Các kỹ thuật kiểm sốt truy cập
Kiểm sốt truy cập là q trình kiểm tra một chủ thể (subject) có thể truy xuất được một đối
tượng (object) nào đó hay khơng và mức độ truy xuất đến đâu. Các hệ thống khác nhau thực
hiện cơ chế khác nhau để kiểm soát truy cập và mỗi cơ chế có ưu và khuyết điểm riêng. Sau
đây là các cơ chế thường dùng trong kiểm soát truy cập.
Ma trận kiểm soát truy cập (Access Control Matrix)
Ma trận kiểm sốt truy cập (mơ tả trong [17]) là một mơ hình để mơ tả quyền hạn của các
người sử dụng và tiến trình đối với các đối tượng cần được bảo vệ như tập tin và tài nguyên.
Nó thể hiện các thơng tin về kiểm sốt truy cập dưới dạng một ma trận, như bảng 1.3 sau:
Bảng 1.3: Ma trận kiểm soát truy cập

Trong bảng 1.3, hệ thống có 2 tiến trình process 1 và process 2; 4 đối tượng cần bảo vệ file 1,
file 2, process 1 và process 2. Dựa trên ma trận, ta thấy process 1 có thể đọc nội dung của file 2,
ghi nội dung lên file 1 và process 2; trong khi đó process 2 có quyền đọc và sở hữu đối với file


17
2, đọc nội dung của process 1.
Mặc dù mơ hình này có thể sử dụng để kiểm sốt truy cập, nhưng nó có một vài khuyết điểm
khó khắc phục sau:
• Một hệ thống điển hình thường có nhiều đối tượng truy cập và đối tượng cần được bảo
vệ dẫn đến kích thước để lưu trữ ma trận trên là rất lớn.
• Hầu hết các giá trị trong ma trận là rỗng (không cho phép truy xuất) hoặc là như nhau
(truy xuất theo chế độ mặc định) dẫn đến việc lưu trữ của ma trận là khơng hiệu quả.
• Việc tạo mới và xóa các đối tượng dẫn đến việc cập nhật ma trận phức tạp.
Vì các hạn chế này, ma trận kiểm sốt truy cập chỉ đóng vai trị là một mơ hình lý thuyết, và
trong thực tế người ta dùng các mơ hình khác để thực hiện kiểm sốt truy cập.
Danh sách kiểm soát truy cập (Access Control List)
Một cách để lưu trữ thơng tin kiểm sốt truy cập là dùng một danh sách chứa thông tin về các
quyền hạn cho những đối tượng truy cập ứng với mỗi đối tượng được bảo vệ. Khi có một yêu

cầu truy xuất đến một đối tượng được bảo vệ, danh sách kiểm soát truy cập của đối tượng được
bảo vệ này sẽ được duyệt qua và so sánh xem truy xuất có được phép hay khơng.
Ví dụ: đối với ma trận kiểm soát truy cập ở bảng 1.3 trên, các đối tượng được bảo vệ file 1, file
2, process 1, process 2 sẽ có các danh sách kiểm sốt truy cập tương ứng như sau:
acl(file 1) = { (process 1, { read, write, own }), (process 2, { append }) }
acl(file 2) = { (process 1, { read }), (process 2, { read, own }) }
acl(process 1) = { (process 1, { read, write, execute, own }), (process 2, { read }) }
acl(process 2) = { (process 1, { write }), (process 2, { read, write, execute, own }) }
Một vấn đề đối với danh sách kiểm soát truy cập là chế độ truy cập mặc định. Nếu một đối
tượng truy cập khơng nằm trong danh sách kiểm sốt truy cập của một đối tượng được bảo vệ,
nó sẽ khơng thể truy cập vào đối tượng được bảo vệ này. Trong một hệ thống có rất nhiều đối
tượng truy cập, danh sách kiểm soát truy cập sẽ trở nên rất dài. Nếu có nhiều đối tượng truy cập
với quyền hạn giống nhau trên một tập tin, có thể dùng các ký tự đại diện để thay thế cho nhiều


18
đối tượng cùng lúc và gán cho chúng quyền hạn mặc định.
Danh sách khả năng (Capability List)
Nếu như phương pháp danh sách kiểm soát truy cập lưu trữ danh sách các đối tượng truy cập
và quyền hạn tương ứng trên từng đối tượng được bảo vệ thì phương pháp danh sách khả năng
lưu trữ danh sách các đối tượng được bảo vệ và quyền hạn tương ứng trên từng đối tượng truy
cập. Từ ma trận kiểm soát truy cập, phương pháp danh sách kiểm sốt truy cập trích ra thành
từng cột, cịn phương pháp danh sách khả năng trích ra thành từng dòng.
Sau đây là danh sách khả năng cho ma trận kiểm soát truy cập ở bảng 1.3:
cap(process 1) = { (file 1, { read, write, own }), (file 2, { read }), (process 1, {read, write,
execute, own}), (process 2, { write }) }
cap(process 2) = { (file 1, { append }), (file 2, { read, own }), (process 1, { read }), (process 2,
{read, write, execute, own}) }
Cả 2 phương pháp danh sách kiểm soát truy cập và danh sách khả năng cho phép lưu trữ hiệu
quả và xử lý dễ dàng hơn phương pháp ma trận kiểm sốt truy cập. Có 2 câu hỏi đặt ra cho các

hệ thống kiểm soát truy cập là:
1. Ứng với một đối tượng truy cập, những đối tượng được bảo vệ nào mà nó có thể truy
xuất và mức độ truy xuất ra sao?
2. Ứng với một đối tượng được bảo vệ, những đối tượng truy cập nào có thể truy xuất được
nó và mức độ truy xuất ra sao?
Bởi vì câu hỏi thứ 2 thường gặp trong thực tế hơn (theo [13]) nên các hệ thống dựa trên danh
sách kiểm soát truy cập phổ biến hơn các hệ thống dựa trên danh sách khả năng

D-Các nguyên lý chung về bảo mật
Ngồi các kỹ thuật bảo mật đã trình bày ở trên, để một hệ thống được an toàn, nhà thiết kế,
quản trị và người sử dụng cũng cần tuân theo các nguyên lý chung về bảo mật. Sau đây là 8
nguyên lý bảo mật theo [26]:
Nguyên lý về quyền tối thiểu (Principle of Least Privilege)


19
Nguyên lý về quyền tối thiểu phát biểu rằng một đối tượng truy cập chỉ nên được cấp phát
quyền hạn tối thiểu đủ để hồn thành cơng việc của mình mà thơi. Hay nói một cách khác, nếu
đối tượng truy cập khơng cần một quyền nào đó mà vẫn hoạt động bình thường thì khơng nên
cấp quyền đó cho nó.
Ví dụ: trong hệ điều hành Linux, tài khoản có quyền hạn cao nhất, có thể thực hiện được tất cả
thao tác là tài khoản root. Khi một người chỉ cần làm các cơng việc bình thường như soạn thảo
văn bản thì khơng nên cấp tài khoản root cho người này mà tạo một tài khoản giới hạn hơn cho
anh ta.
Nguyên lý về an toàn mặc định (Principle of Fail-Safe Defaults)
Nguyên lý an toàn mặc định phát biểu rằng trừ phi đối tượng truy cập được cấp quyền một cách
rõ ràng để truy cập một đối tượng được bảo vệ nào đó, nó nên bị cấm truy xuất đến đối tượng
đó theo mặc định.
Theo nguyên lý này, chế độ truy xuất mặc định mà các đối tượng truy cập có trên các đối tượng
được bảo vệ nên là “không được phép”.

Nguyên lý về tính kinh tế của biện pháp (Principle of Economy of Mechanism)
Nguyên lý về tính kinh tế của biện pháp phát biểu rằng các biện pháp bảo mật nên được hiện
thực đến mức đơn giản nhất có thể.
Nếu thiết kế và hiện thực được làm đơn giản, khả năng xảy ra lỗi sẽ thấp. Quá trình kiểm tra
cũng sẽ ít phức tạp, bởi vì có ít thành phần và ít các trường hợp khác nhau cần kiểm tra. Còn
các biện pháp phức tạp thơng thường có các giả định về hệ thống và môi trường mà chúng thực
thi. Nếu những giả định này không đúng, các vấn đề bảo mật sẽ xảy ra.
Nguyên lý về dàn xếp hoàn toàn (Principle of Complete Mediation)
Nguyên lý về dàn xếp hoàn toàn yêu cầu tất cả truy xuất đến các đối tượng phải được kiểm tra
đầy đủ để đảm bảo là chúng được phép.
Giả sử một đối tượng truy cập muốn đọc một tập tin, hệ điều hành phải kiểm tra xem hành
động đọc đó có được phép hay khơng. Nếu được phép thì nó cấp phát tài ngun cho thao tác
đọc. Nếu như đối tượng truy cập muốn đọc một lần nữa tập tin trên, hệ thống cũng phải kiểm


×