1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

115 12 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 115
Dung lượng 2,17 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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ốngkiểm soá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

Trang 1

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

Trang 2

TRƯỜNG ĐẠI HỌC BÁCH KHOA

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

Trang 3

Trong quá 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 baogồ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ó hoànthà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 choluậ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ácnhau, 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étdướ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ể hoàn thành nếu như không nhận được sự đóng góp về mặttinh 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ếnhà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á đó

Trang 4

Mức độ an toà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ácthà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ảomậ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 trongbả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 ofsuch system include hardware, software, network and people Current approaches to computersecurity problems usually exclude people in their studies even though it is an integral part ofthese systems In this thesis, people-related security problems are introduced One possiblemethod to improve security of systems is using visualization Some typical applications ofvisualization in security are demonstrated And the last section of this thesis describes a newprocedure of securing file sharing applications by visualization

Trang 5

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 toàn 1

A-Bí mật (Confidentiality) 2

B-Toàn vẹn (Integrity) 3

C-Sẵn sàng (Availability) 4

3/Các mối đe dọa đến sự an toà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

Trang 6

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

Trang 7

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ớinhau thông qua mạng Internet toà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 giacủ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ầnthiế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ảithỏa mãn các yêu cầu nào để được xem là an toàn

2/Các tính chất an toà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ế toán có các bảng số liệu mà họ chỉ muốnnhữ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ốnnhữ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ácnhau khái niệm bảo mật thông tin cũng không giống nhau hoàn toàn Tuy nhiên, theo [4] có 3tí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

Trang 8

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 nhucầ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ểnhì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 Ngoà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ôngthể 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 đượcgiữ kín không cho những người bên ngoài truy xuất được Điều này dẫn đến nhu cầu phải lưutrữ 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ủathô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 truycậ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ànhLinux 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ànhcô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ốngkiểm soá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 soát sẽ không được kíchhoạ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ảonữ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 chedấu luôn 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ấttí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 đó

Trang 9

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 ngoài biết được website củacô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ôngtin đó 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-Toàn v ẹ n (Integrity)

Toà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 toà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ì toàn vẹn nguồn gốcbả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 minhngườ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ì ngoài việc kiểm tra tính hợp lệ của thông tin, chúng tacũ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 toà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 toàn vẹn bằng cách chặn đứng các nỗ lực thay đổi dữ liệucủ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ảiphâ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ácbiện pháp xác thực và kiểm soát truy cập, còn với trường hợp sau thì việc đối phó phải tùy theoyê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ế toá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ệcthay đổi dữ liệu của nhân viên kế toá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

Trang 10

phạm tính toà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ôngtin 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áctậ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ácràng buộc nào đó hay không Khi phát hiện tính toàn vẹn bị vi phạm, cơ chế có thể thông báochính xác nguyên 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 toàn vẹn nữa

Việc đánh giá tính toà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àonhiề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 đượctạ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ệutrên máy tính hiện hành khi nó đang trong quá 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à toàn vẹn Một hệ thống không sẵnsà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ụngkhô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ệuhoặ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ủanhữ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 ofservice) 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ácyêu cầu đến hệ thống, làm cho hệ thống không thể xử lý kịp và do đó các yê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 nguyên của hệ thốngxem 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 rahay 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ư

Trang 11

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 toà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 toà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àybê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ườithiết kế sẽ phải dự đoá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 đedọ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épkhi 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ấncô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ênthô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 đếnnhữ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úpvậ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ệcthay đổi Cài đặt tính toà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 chongườ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ấncô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ủamộ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àikhoả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 toàn vẹn

có thể phòng chống mối đe dọa này

 Thoái thác nguồn gốc (Repudiation of origin): đây là mối đe dọa mà người tấn côngthoá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

Trang 12

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ấpsả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àochứ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 toànvẹn giúp phòng chống mối đe dọa này.

 Thoá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 saukhi 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ứngchứ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 toà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ếpbì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ó đượcthự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ănchặ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àinguyên 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ẵnsà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ínhsá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ànhphầ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épthự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ể

Trang 13

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 saugiờ 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áccông việc có liên quan đến bảo mật như:

• 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 chophé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 toàn và không an toàn, cơ chế bảomậ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 Internetthì 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ể ảnhhưở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ó

Trang 14

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ậnrộ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áocá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 ranhữ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ấncông làm tê liệt hay hư hỏng một phần hoặc toà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ấncô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ụctruy 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 Tuynhiê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ànhbì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ốngkhô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ệchiệ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ôngthường (plaintext) sang dạng bí mật (ciphertext) Để thực hiện việc biến đổi, cần áp dụng mộtthuậ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 toán

Trang 15

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 dungcủ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 toá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 tayvă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 yê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óatươ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áptoá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ệnthô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 trongvă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ệnnhiề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ếngAnh (theo [9]):

Trang 16

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

“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 2dò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ì

Trang 17

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 hoán vị Việc hoá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, saocho 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 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ănbả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

Trang 18

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óacô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ộtngườ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ằngkhó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 đó

Trang 19

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 antoà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ư trongtrườ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ữngcung 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 Ngoà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ộtcá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

Trang 20

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ạtchú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ựchiện quá trình gắn kết với đối tượng bên ngoài

Định nghĩa: Xác thực là quá trình gắn kết một đối tượng bên ngoài với một tiến trình.

Đối tượng bên ngoài phải cung cấp thông tin để cho phép hệ thống xác nhận và kiểm tra danhtá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 đó)

Quá 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ưutrữ 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 khu (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ụngnhậ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à quá 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ý

Trang 21

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ậtkhNu 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ủangười sử dụng khó đoán và an toà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ườitấ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ụngnhiề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ôngthể 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ũngkhô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ốngcùng thỏa thuận với nhau về một hàm toá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 toá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à khuôn mặt để nhận ra các người khác nhau Ngày nay, việc

Trang 22

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ấutạ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 quantrong 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

• Khuôn mặt

• Kết hợp nhiều đặc điểm với nhau

C-Các k ỹ thu ậ t ki ể m soát truy c ậ p

Kiểm soát truy cập là quá trình kiểm tra một chủ thể (subject) có thể truy xuất được một đốitượng (object) nào đó hay không và mức độ truy xuất đến đâu Các hệ thống khác nhau thựchiệ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 soát truy cập (mô tả trong [17]) là một mô hình để mô tả quyền hạn của cácngườ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 soá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

Trang 23

2, đọc nội dung của process 1.

Mặc dù mô hình này có thể sử dụng để kiểm soát truy cập, nhưng nó có một vài khuyết điểmkhó 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 soá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 soá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 soát truy cập là dùng một danh sách chứa thông tin về cácquyề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êucầ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 đượcbả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 soá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 đốitượng truy cập không nằm trong danh sách kiểm soá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 đốitượ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ậpvớ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

Trang 24

đố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ănglư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 truycập Từ ma trận kiểm soát truy cập, phương pháp danh sách kiểm soát truy cập trích ra thànhtừ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ệuquả và xử lý dễ dàng hơn phương pháp ma trận kiểm soá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ể truyxuấ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 danhsá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

Ngoà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à 8nguyên lý bảo mật theo [26]:

Nguyên lý về quyền tối thiểu (Principle of Least Privilege)

Trang 25

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átquyền hạn tối thiểu đủ để hoà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êncấ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ảovă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 choanh 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ệnthự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 tracũ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òncá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ựcthi 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 nguyên 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

Trang 26

tra lại xem hành động đọc liệu vẫn còn được cho phép hay không Một số hệ thống không thựchiện việc kiểm tra lần thứ hai mà dựa vào kết quả của lần kiểm tra đầu tiên đã được lưu trữ, do

đó vi phạm nguyên lý này

Nguyên lý về thiết kế mở (Principle of Open Design)

Nguyên lý về thiết kế mở phát biểu rằng tính an toàn của một phương pháp bảo mật khôngđược dựa vào sự bí mật của việc thiết kế và cài đặt nó

Những nhà thiết kế và lập trình không được dựa vào sự bí mật của việc thiết kế và mã nguồn đểcho là tính an toàn được bảo đảm Bởi vì những bí mật này có thể bị phá vỡ thông qua các biệnpháp kỹ thuật (ví dụ như dịch ngược và phân tích chương trình) hoặc không kỹ thuật (ví dụ nhưđánh cắp bản thiết kế) Nếu như tính an toàn của chương trình dựa trên sự không hiểu biết củangười sử dụng, thì một người sử dụng có hiểu biết sẽ đánh bại cơ chế an toàn này

Chẳng hạn như các hệ thống mã hóa không được dựa vào sự bí mật của thuật toán sử dụng để

mã hóa và giải mã mà đảm bảo tính an toàn cho các thông tin mã hóa

Nguyên lý về tách biệt quyền hạn (Principle of Separation of Privilege)

Nguyên lý về tách biệt quyền hạn phát biểu rằng hệ thống không nên thực hiện việc cho phépcác thao tác mà chỉ dựa trên một điều kiện

Ví dụ trong Windows Vista, một người sử dụng có thể đăng nhập vào hệ thống bằng tài khoản

có quyền hạn cao nhất là Administrator, nhưng khi thực thi các chương trình bằng cách thôngthường thì chương trình vẫn chạy trong chế độ bình thường Chỉ khi chọn chế độ thực thi dướiquyền Administrator (hình 1.1) một cách rõ ràng thì chương trình mới được chạy trong chế độđó

Trang 27

Hình 1.1: Một chương trình chỉ thực thi dưới quyền Administrator khi người sử dụng đăng

nhập bằng tài khoản Administrator và chọn chế độ chạy một cách cụ thể

Nguyên lý về cơ chế dùng chung tối thiểu (Principle of Least Common Mechanism)

Nguyên lý về cơ chế dùng chung tối thiểu phát biểu rằng các cơ chế được sử dụng để cho phéptruy xuất các tài nguyên không nên được dùng chung trong các tình huống khác nhau, hay nóimột cách khác là giữ mức độ dùng chung tối thiểu Ví dụ như một phòng ban cung cấp khảnăng truy xuất thông tin qua mạng cục bộ và Internet Trong trường hợp này, cơ chế kiểm traviệc truy xuất tài nguyên thông qua Internet và thông qua mạng cục bộ nên thực hiện khácnhau Việc có 2 cơ chế kiểm tra khác nhau cung cấp tính linh hoạt cho hệ thống Ngoài ra, việc

Trang 28

kiểm tra tính đúng đắn trên từng cơ chế một cách riêng biệt sẽ dễ dàng hơn và đảm bảo việckiểm tra chính xác hơn Do đó, người sử dụng Internet chỉ được phép truy xuất tài nguyên theocách thức thông qua Internet mà thôi, chứ không được thực hiện theo cách thức của người sửdụng nội bộ.

Nguyên lý về tính chấp nhận tâm lý (Principle of Psychological Acceptability)

Nguyên lý về tính chấp nhận tâm lý phát biểu rằng các cơ chế bảo mật không nên làm cho việctruy cập tài nguyên khó khăn hơn là khi không có cài đặt bảo mật

Nguyên lý này thừa nhận sự quan trọng của con người trong một hệ thống thông tin Đối vớicon người, bảo mật thông thường không phải là tiêu chí quan trọng nhất, mà hệ thống phải giúpcon người dễ dàng hoàn thành được nhiệm vụ của mình Do đó, nếu như việc cài đặt hệ thốngbảo mật làm quá trình sử dụng của con người trở nên khó khăn hơn thì có thể con người sẽkhông sử dụng hệ thống bảo mật nữa, hoặc chuyển sang sử dụng một hệ thống kém an toànnhưng lại dễ dàng hơn Các vấn đề về bảo mật liên quan đến con người sẽ được trình bày chitiết trong chương sau

Trang 29

Ch ươ ng 2: Y ế u t ố con ng ườ i trong b ả o m ậ t

Con người là một trong những yếu tố quan trọng hàng đầu trong việc bảo mật hệ thống thôngtin nhưng cũng là thành phần yếu nhất trong hệ thống (theo [1]) Các giải pháp về bảo mật chỉthực sự có ích nếu được con người sử dụng một cách đúng đắn Chẳng hạn một hệ thống tườnglửa (firewall) chỉ bảo vệ cho người sử dụng khi được cấu hình đúng đắn Do đó nếu chỉ tậptrung vào các giải pháp kỹ thuật mà quên đi yếu tố con người thì cho dù hệ thống bảo mật tốtnhất cũng không mang lại sự bảo vệ cao Những nguyên nhân như hệ thống bị cấu hình sai,không cập nhật những bản vá lỗi, người sử dụng cố tình hay vô tình làm lộ mật khNu v.v đều

là những khả năng làm phá vỡ sự an toàn của hệ thống có nguyên nhân từ con người Vì vậy, để

có một nghiên cứu đầy đủ về bảo mật hệ thống thông tin, không thể thiếu sự nghiên cứu về vaitrò của con người trong đó Trong phần này, vai trò của các cơ quan tổ chức và từng cá nhânđối với sự an toàn của hệ thống thông tin sẽ được tìm hiểu Ngoài ra, việc thiết kế giao diệnngười dùng của các hệ thống cũng ảnh hưởng to lớn đến các hành vi và hiệu quả công việc củangười sử dụng Mức độ hiệu quả của giao diện được đánh giá qua tính khả dụng (usability) Vìthế, ảnh hưởng của tính khả dụng đến sự an toàn của hệ thống cũng sẽ được trình bày

1/Vai trò của cơ quan, tổ chức đối với bảo mật

Trong một tổ chức, việc thực hiện các quy tắc bảo mật thường không mang lại lợi ích trực tiếp

về mặt kinh tế Điều này có thể mang đến cảm giác việc áp dụng bảo mật là tốn kém và khôngcần thiết Tuy nhiên, mục tiêu của bảo mật là tránh hoặc giảm thiểu các tổn thất chứ không phảimang lại lợi nhuận Vì vậy, tổ chức chỉ cảm thấy ích lợi của việc thực hiện các quy tắc bảo mậtkhi có sự cố xảy ra Ngoài ra, việc áp dụng các quy tắc bảo mật còn có thể dẫn đến hiệu suấtcông việc bị giảm sút Chẳng hạn như khi áp dụng các cơ chế về kiểm soát truy cập có thể làmgiảm tốc độ xử lý thông tin của tổ chức do phải thực hiện thêm các công việc kiểm tra

Các tổn thất cũng có thể xảy ra ngay cả khi có cài đặt các biện pháp bảo mật, tuy nhiên các tổnthất này được mong đợi là sẽ nhỏ hơn các tổn thất xảy ra khi không có các biện pháp bảo mật.Vấn đề chính là liệu các tổn thất này cộng với tổn thất do hiệu suất công việc bị giảm do áp

Trang 30

dụng các biện pháp bảo mật có nhỏ hơn các tổn thất về mặt kinh tế xảy ra khi hệ thống không

sử dụng các biện pháp bảo mật gặp sự cố hay không? Nếu không nhỏ hơn thì rõ ràng các giảipháp bảo mật này không mang tính thực tế Nhưng việc tính toán các tổn thất này để so sánhchúng với nhau là một việc không đơn giản Bởi vì sự đa dạng của các kiểu tấn công, mức độảnh hưởng, cũng như thương hiệu, danh tiếng của công ty là những yếu tố khó có thể đo lường.Vấn đề áp dụng các cơ chế bảo mật trong tổ chức càng phức tạp hơn khi xét đến yếu tố vềngười có trách nhiệm đưa ra các nguyên tắc bảo mật để sử dụng trong tổ chức Ngoài khả năng

và kinh nghiệm về bảo mật ra, người này phải thực sự có quyền hạn nhất định mới có thể đảmbảo các nguyên tắc mình đưa ra được mọi người tuân theo Nhưng thông thường, trong một tổchức thì người có trách nhiệm xem xét và đưa ra các nguyên tắc bảo mật, cũng là người có kiếnthức tốt về bảo mật, chỉ phụ trách về mặt kỹ thuật mà không có quyền hạn cao, nên mặc dù cócác nguyên tắc nhưng cũng không đảm bảo là chúng được tuân thủ nghiêm ngặt Chỉ có tráchnhiệm mà không có thực quyền thì không thể giải quyết được vấn đề, cũng như có quyền hành

mà không có trách nhiệm thì cũng sẽ không giải quyết vấn đề được tốt

Giả sử người có trách nhiệm cũng là người có thNm quyền để đưa ra các chính sách bảo mật, thìnhu cầu về bảo mật của công ty cũng có thể xung đột với các nhu cầu khác Thứ nhất là vềnhân sự: những nhà quản lý bảo mật thường gặp phải vấn đề thiếu nhân lực được huấn luyệnbài bản trong lĩnh vực bảo mật máy tính Thứ hai là những người có kiến thức phù hợp thường

bị quá tải về công việc Trong nhiều công ty, những người làm về bảo mật thông thường kiêmluôn các chức danh khác như quản trị hệ thống, phát triển phần mềm hay một chức năng khácnào đó Sở dĩ có điều này vì thông thường các vấn đề về bảo mật bị xem nhẹ và cho rằng khôngcần thời gian cũng như kỹ năng để hoàn thành chúng Do không được đầu tư một cách đúngmức nên việc lên kế hoạch chuNn bị khi có xảy ra các khả năng tấn công thường có thiếu sótdẫn đến kết quả không được như mong đợi

Một khó khăn nữa có thể gặp phải khi áp dụng cơ chế bảo mật trong tổ chức là sự thiếu thốn tàinguyên Tài nguyên ở đây bao gồm thời gian, tiền bạc và nhân lực Bởi vì để có một hệ thống

an toàn, thì cần phải có thời gian để nghiên cứu các giải pháp, hiện thực chúng và vận hành,quản trị liên tục Các sản phNm bảo mật bao gồm phần cứng, phần mềm, quy trình và cần phải

Trang 31

có một kinh phí nhất định để triển khai chúng Cuối cùng, để có được đội ngũ nhân viên vậnhành tốt hệ thống, hiểu rõ các công cụ bảo mật, thông số cấu hình và ý nghĩa của các kết quảthì cũng phải có quá trình huấn luyện quy mô và nghiêm túc.

2/Vai trò của từng cá nhân đối với bảo mật

Cốt lõi của bất kỳ hệ thống bảo mật nào đều là con người Đặc biệt trong bảo mật máy tính,việc sử dụng các cơ chế kiểm soát dựa trên kỹ thuật nhưng thông thường có thể bị vượt qua docác can thiệp của con người Một ví dụ điển hình là hệ thống kiểm tra người dùng dựa trên mậtkhNu Hệ thống giả định là chỉ có người dùng mới biết mật khNu của mình, cho nên sau khikiểm tra và thấy chính xác, thì hệ thống sẽ cung cấp các dịch vụ và dữ liệu cho người sử dụngtương ứng Nhưng nếu như người sử dụng tiết lộ mật khNu của mình cho người khác biết thìngười được tiết lộ cũng có thể sử dụng các chức năng của hệ thống như người thứ nhất mà hầunhư không thể bị phát hiện

Những cá nhân làm ảnh hưởng đến sự an toàn của hệ thống có thể là những người bên ngoài,hoặc là những người bên trong, thành viên của chính tổ chức Khác với những người bên ngoài,những người bên trong được phép sử dụng hệ thống cho công việc của mình Các chuyên giatin rằng những người bên trong có thể mang đến đe dọa cao hơn so với người bên ngoài Bởi vìnhững người bên trong thông thường biết rõ về cấu trúc của công ty, các quy trình thao tác củangười sử dụng cũng như nhân viên kỹ thuật để thực hiện tác vụ nào đó, cũng như không bị các

cơ chể kiểm tra chặt chẽ so với người bên ngoài, nên khả năng tác động và ảnh hưởng đến hệthống dễ dàng hơn và nghiêm trọng hơn Việc người bên trong sử dụng sai quyền hạn của mình

là một vấn đề rất khó phát hiện và giải quyết

Trong trường hợp người bảo vệ một hệ thống không phải là người bị ảnh hưởng khi hệ thốnggặp sự cố thì vấn đề càng trở nên tồi tệ hơn (theo [2]) Chẳng hạn như khi một máy tính bịnhiễm virút và có các hoạt động bất thường làm ảnh hưởng đến công việc, người sở hữu nó sẽ

lo lắng và nhanh chóng tìm cách khắc phục để cho nó hết bị nhiễm hơn là sợ virút lây lan làmảnh hưởng các máy khác Đây là một quy luật hiển nhiên nếu xem xét dưới khía cạnh kinh tếcủa vấn đề Vì vậy, việc thiết kế hệ thống nên đảm bảo sao cho động cơ và ích lợi của người sử

Trang 32

dụng (hoặc người bảo vệ hệ thống) phù hợp với mục tiêu của hệ thống.

Sự thiếu kiến thức của người dùng cũng gây ảnh hưởng đến sự an toàn của hệ thống: chẳng hạnngười dùng có thể bị dụ dỗ chạy các chương trình độc hại chứa virut, hay vô tình xóa dữ liệuquan trọng v.v Những người làm công việc quản trị hệ thống nếu không có kiến thức vữngchắc về công cụ bảo mật cũng có thể cấu hình sai làm cho hệ thống không được bảo vệ tốt.Người sử dụng cũng có thể làm hệ thống yếu đi bằng cách sử dụng một mật khNu dễ đoán.Không chỉ kiến thức về các khía cạnh kỹ thuật mới quan trọng cho người sử dụng, mà cả cáckiến thức về chính sách và xã hội cũng quan trọng không kém Một trong những kiểu tấn côngphổ biến là đánh lừa (social engineering), trong đó người tấn công thông thường sẽ gọi điệnthoại cho người biết thông tin mà mình cần (ví dụ như người nắm giữ mật khNu của một tàikhoản nào đó), giả danh một ai đó có chức vụ cao trong tổ chức và đưa ra một tình huống khNncấp để người nghe phải cung cấp thông tin mà người tấn công cần Một khi đã có được mậtkhNu, người tấn công có thể đăng nhập vào hệ thống bằng tài khoản này Những cuộc tấn côngnhư vậy không phải là hiếm, và người tấn công cũng không cần kỹ năng về kỹ thuật cao, nhưnghậu quả của nó thường rất trầm trọng

Một khó khăn nữa trong việc mang sự bảo mật đến cho con người là hiếm khi nào mục đíchchính của con người khi sử dụng một hệ thống nào đó là sự an toàn Chẳng hạn khi duyệt web,mục đích chính của người sử dụng là có thể truy cập được vào các website một cách nhanhchóng và thoải mái nhất chứ không phải là bảo vệ mình khỏi các website giả mạo Trong [38]trình bày một nghiên cứu về tính hiệu quả của các thanh công cụ bảo mật trong việc phòngchống kiểu tấn công phishing đối với người duyệt web Các thanh công cụ như ở hình 2.1

Trang 33

Hình 2.1: Các thanh công cụ bảo mật (hình trích từ [38])Các thanh công cụ bảo mật này có các cách cảnh báo khác nhau ví dụ như thông qua thanh địachỉ (hiển thị khác nhau đối với các địa chỉ bắt đầu bằng http và https), thanh trạng thái (thôngbáo trạng thái dưới dạng văn bản) hay một thanh công cụ riêng Nhưng kết quả là tất cả đềukhông giúp người sử dụng tránh được các kiểu tấn công phishing có độ phức tạp cao Người sửdụng không thường xuyên kiểm tra các dấu hiệu bất thường mà các thanh công cụ này cung cấpbởi vì đây không phải là mục đích chính của họ Trong nghiên cứu này, mặc dù thỉnh thoảngngười sử dụng có chú ý đến các dấu hiệu nghi ngờ từ các thanh công cụ này, nhưng họ cũngkhông hiểu được ý nghĩa của các thông báo này và tự giải thích chúng theo cách của riêngmình Nhiều người sử dụng còn không hình dung được mức độ phức tạp của các kiểu tấn côngdạng này và cũng không biết cách để bảo vệ mình được an toàn khi duyệt web.

3/Tính khả dụng (usability) đối với sự an toàn của hệ thống

Tính khả dụng của một hệ thống được định nghĩa là mức độ dễ dàng mà người sử dụng có thểdùng nó để thực hiện một tác vụ nào đó của họ Tính khả dụng có thể có các ý nghĩa khác nhautùy thuộc vào từng ngữ cảnh cụ thể: chẳng hạn đối với một người nào đó, tính khả dụng có thể

Trang 34

là mức độ hỗ trợ mà hệ thống cung cấp để hoàn thành công việc được nhanh chóng; trong khi

đó đối với một người khác tính khả dụng lại được xem như là mức độ dễ tiếp thu trong việc họctập sử dụng hệ thống Tính khả dụng là một chỉ tiêu quan trọng để đánh giá mực độ hiệu quảcủa các phần mềm và hệ thống máy tính Bởi vì mục tiêu chính của hầu hết các hệ thống này là

có một số lượng người sử dụng đông đảo, nên nếu như tính khả dụng kém thì chắc chắn sốlượng người quan tâm sẽ giảm sút, dẫn đến sự thất bại của hệ thống Tính khả dụng thôngthường được xem là xung đột với tính bảo mật của hệ thống Jakob Nielsen, người được gọi là

"The king of usability" bởi tạp chí Internet Magazine, phát biểu vào tháng 11/2000 (theo [21])trên website của mình, đại ý như sau:

• Mục đích của tính khả dụng là mang đến sự dễ dàng trong việc sử dụng một hệ thống, vàtốt nhất là hệ thống không dùng đến biện pháp kiểm soát truy cập nào hết

• Trong khi đó, bảo mật lại chủ trương làm cho việc truy xuất một hệ thống trở nên khókhăn, ít nhất là đối với những người sử dụng bất hợp pháp

Do có sự xung đột giữa tính khả dụng và tính an toàn, nên người thiết kế hệ thống sẽ phải thựchiện việc đánh đổi giữa 2 tiêu chí này với nhau Thông thường thì sự an toàn của một hệ thốngrất khó nhìn thấy được bằng mắt thường hoặc qua vài lần sử dụng, trong khi đó tính khả dụngrất dễ nhận biết qua việc sử dụng hệ thống, nên việc thu giảm tính khả dụng để tăng tính antoàn cho hệ thống là một quyết định rất khó khăn cho người thiết kế hệ thống Một ví dụ làchức năng nhớ mật khNu mà các trình duyệt cung cấp khi truy cập các trang web có yêu cầuđăng nhập Mặc dù việc ghi nhớ mật khNu có thể làm cho tính an toàn của người sử dụng bị ảnhhưởng (chẳng hạn như khi sử dụng máy tính ở nơi công cộng) nhưng nó lại làm tăng tính khảdụng của chương trình lên bằng cách giúp cho người sử dụng có thể dễ dàng truy cập vào cácwebsite có yêu cầu đăng nhập mà không phải mất công nhớ và gõ vào các mật khNu của mình.Tuy tính khả dụng không đi đôi với tính an toàn, nhưng nếu một hệ thống được cài đặt “quámức” an toàn dẫn đến tính khả dụng bị kém cũng có thể dẫn đến hậu quả tính an toàn bị viphạm theo Bởi vì hệ thống có tính khả dụng quá kém, làm cho việc sử dụng hệ thống của conngười không được dễ dàng, có thể dẫn đến người sử dụng tìm các cách thức để vượt qua hệthống bảo mật nhằm hoàn thành công việc của mình được dễ dàng, theo những cách mà người

Trang 35

thiết kế hệ thống có thể không lường trước được Ví dụ như một hệ thống bắt buộc các người

sử dụng phải thiết lập mật khNu cho mình với các ràng buộc như phải bao gồm chữ hoa, chữthường, chữ số, ký tự đặc biệt và phải có độ dài nhất định Các ràng buộc này có thể dẫn đếnngười sử dụng rất khó khăn trong việc nhớ được mật khNu của mình và có thể phải ghi lại mậtkhNu này tại một nơi nào đó, dẫn đến khả năng mật khNu bị người khác xem được và không còn

là bí mật nữa

Một khó khăn nữa có liên quan đến tính khả dụng là các chuNn về thiết kế giao diện được xem

là phù hợp và có tính khả dụng cao cho các sản phNm thông thường nhưng lại không phù hợpcho các sản phNm có liên quan đến bảo mật Với khảo sát trong [36] về tính khả dụng của phầnmềm phổ biến PGP 5.0 cho các ứng dụng về mã hóa, giải mã, chữ ký điện tử v.v đối với 12người tham gia, các tác giả đã rút ra kết luận giao diện của PGP 5.0, mặc dù rất tốt theo cácchuNn phần mềm thông thường, nhưng lại không có tính khả dụng cao đối với những người sửdụng nó để thực hiện các thao tác về bảo mật liên quan Các thao tác có thể dẫn đến nguy hiểmcho người sử dụng có thể được thực hiện một cách vô tình Kết quả nghiên cứu này cho thấymột lĩnh vực mới về thiết kế giao diện cho mục đích bảo mật vẫn đang chờ được khám phá vàkhai thác Không chỉ PGP 5.0, một số hệ thống phổ biến khác vẫn không cung cấp tốt tính khảdụng cho mục đích bảo mật Điển hình là chức năng thiết lập quyền hạn trong hệ thốngWindows NTFS ([25]) Trong hệ thống tập tin NTFS, các thư mục và tập tin có thể được thiếtlập các quyền hạn khác nhau cho các người sử dụng khác nhau Ngoài ra, quyền hạn cũng cóthể được thiết lập trên nhóm, là một tập hợp các người sử dụng Tuy nhiên, trên màn hình thiếtlập quyền hạn lại không cung cấp thông tin về sự liên quan giữa các người sử dụng và nhóm(việc xem thông tin về nhóm và người sử dụng được cung cấp ở một màn hình khác), do đókhông thể biết được một người nào đó thuộc những nhóm nào, hay là một nhóm nào đó cóchứa những người nào Việc này cộng với tính kết hợp của các loại quyền khác nhau dẫn đến

sự phức tạp cho người quản trị khi muốn biết quyền hiệu lực (quyền tổng hợp) mà một người

sử dụng có thể thực hiện trên một tập tin hay thư mục nào đó Nếu như hệ thống có thể cungcấp thông tin một cách tích hợp trên một màn hình thì tính khả dụng sẽ tăng cao và đồng thờicác thiết lập, cấu hình liên quan cũng sẽ chính xác hơn [20] trình bày một giao diện thay thếcho phép hỗ trợ xem thông tin một cách tích hợp và thực hiện hiển thị quyền hiệu lực cho

Trang 36

người sử dụng trên tập tin và thư mục, giúp cho nhà quản trị không cần phải thực hiện việc tínhtoán kết hợp các quyền một cách thủ công Hình 2.2 và 2.3 sau so sánh giữa giao diện đượccung cấp bởi hệ điều hành Windows và giao diện Salmon của [20] khi xem thuộc tính về quyềncủa một tập tin.

Hình 2.2: Giao diện cung cấp bởi hệ điều hành Windows để xem quyền cho một tập tin

Trang 37

Hình 2.3: Giao diện Salmon (trích từ [20])

Trang 38

Ch ươ ng 3: K ỹ thu ậ t tr ự c quan hóa và các ứ ng d ụ ng

1/Giới thiệu kỹ thuật trực quan hóa

Lượng thông tin mà con người tiếp nhận qua thị giác là rất lớn, đặc biệt là các thông tin dạnghình ảnh Nếu như đối với thông tin dạng văn bản, con người phải duyệt theo thứ tự từ trái quaphải, từ trên xuống dưới (đối với tiếng Việt và một số ngôn ngữ khác) để có thể nắm được toàn

bộ ý nghĩa mà nó cung cấp, thì đối với thông tin dạng hình ảnh, con người có thể nắm bắt nộidung tổng thể một cách nhanh chóng mà không cần theo các bước tuần tự Ngoài ra thông tindạng hình ảnh cũng cho phép con người dễ dàng phát hiện được các quy luật và các bất thườngxảy ra nếu có Do đó, việc cung cấp thông tin trực quan cho con người là một yêu cầu cấp thiếtđối với sự gia tăng thông tin của xã hội ngày nay

Kỹ thuật trực quan hóa, cũng như kỹ thuật đồ họa máy tính, phát triển mạnh mẽ là nhờ vào sựphát triển đáng kể của phần cứng và các thuật toán xử lý đồ họa, giúp cho các máy tính thôngthường đã có thể biểu diễn, hiển thị được các hình ảnh mô tả những cấu trúc và mô hình phứctạp như mô phỏng thời tiết, ảnh chụp cắt lớp cơ thể người v.v Việc giảm giá các thiết bị phầncứng cũng làm cho việc ứng dụng 2 kỹ thuật này trở nên phổ biến hơn

Mới xem qua, trực quan hóa có vẻ như rất giống với đồ họa máy tính trong việc cả 2 đều dùnghình ảnh để biểu diễn thông tin Tuy nhiên, về mục đích thì 2 kỹ thuật này khác nhau, do đódẫn đến sự khác nhau trong cách thức thể hiện hình ảnh trực quan Trong khi đồ họa máy tính

có mục đích là biểu diễn các hình ảnh nhằm mang lại cho con người các trải nghiệm càng sátthực tế càng tốt, trực quan hóa có mục đích chính không phải là biểu diễn dữ liệu bằng hìnhảnh Trong những thập niên 80 của thế kỷ trước, trực quan hóa được xem như là một quá trìnhtương tác để tìm hiểu về nguyên nhân tạo nên các dữ liệu biểu diễn (theo [37]) Chính nhờ sựtương tác với hệ thống và sự phản ứng lại của hệ thống bằng cách thay đổi hình ảnh đã giúpcho người sử dụng hiểu rõ hơn về nguồn gốc hình thành của dữ liệu Điều này giúp cho conngười nắm bắt được nhanh chóng hơn so với việc tác động và nhận dạng các thay đổi dạng vănbản Ngoài ra, do mục đích của trực quan hóa là để thấu hiểu, nên khi lựa chọn mô hình để thểhiện trực quan hóa, cần phải xét đến nhu cầu cụ thể của người sử dụng, cũng như kỹ năng, kiến

Trang 39

thức của họ để có thể chọn lựa mô hình phù hợp.

Tuy nhiên, việc trực quan hóa cũng có các hạn chế Sự tự giả định về các tính chất của dữ liệu

do vốn kiến thức có sẵn của con người, cộng với sự phức tạp vốn có của hệ thống thị giác cóthể dẫn đến những suy diễn sai lầm của con người Đây được xem là một vấn đề phức tạp.Trong vài năm gần đây, các hội thảo của IEEE Visualization, quy tụ những nhà khoa họcnghiên cứu về trực quan hóa, đều bắt đầu với hội nghị “VizLies”, nhằm cảnh báo cho cộngđồng về vấn đề này Một vấn đề nữa là sự nhận thức về không gian của con người thường giớihạn ở 3 chiều Do đó, khi sự trực quan hóa cần nhiều hơn 3 chiều, nhận thức của con người sẽ

bị giới hạn Nếu số biến cần mô phỏng nhiều hơn 3, thì có thể sử dụng những thành phần khácnhư màu sắc, âm thanh hoặc cảm ứng lực để hỗ trợ phần nào

2/Các kỹ thuật thể hiện trực quan hóa

A-S ử d ụ ng không gian

Các phương pháp trực quan hóa thông thường sử dụng không gian để thể hiện sự phân chia,hay so sánh giữa các thành phần với nhau Tuy nhiên, việc lựa chọn mô hình thích hợp để thểhiện đóng một vài trò quan trọng Các mô hình khác nhau có thể cho người xem có các cảmnhận khác nhau về dữ liệu bên dưới, hoặc có thể làm cho người xem dễ dàng hay khó khăntrong việc nhận ra sự liên quan giữa các thành phần Chẳng hạn như đối với các khác biệt rõrệt, hệ thống thị giác của con người có thể dễ dàng nhận ra, nhưng đối với các sự khác biệtkhông rõ ràng thì con người rất khó khăn trong việc nhận ra mối liên hệ Trong trường hợp này,

mô hình trực quan hóa có thể thêm các thành phần để hỗ trợ con người trong việc thấu hiểu dữliệu Chẳng hạn như 2 hình 3.1 và 3.2 dưới đây, đối với hình 3.1, chúng ta không chắc là độ caocột thứ hai bằng khoảng 1/10 độ cao cột thứ nhất, nhưng khi thêm vào các đường kẻ như ở hình3.2 thì mối quan hệ này sẽ dễ dàng nhận ra hơn

Trang 40

Hình 3.1: Độ cao cột 2 bằng 1/10 độ cao cột 1, nhưng mối quan hệ này không thể hiện rõ trên

hình

Hình 3.2: Độ cao cột 2 bằng 1/10 độ cao cột 1 và mối quan hệ này thể hiện rõ nhờ các đường

ngang bổ sungNgoài ra, trong một số trường hợp, khi cần thể hiện các mối quan hệ có nhiều biến hơn là khảnăng có thể biểu diễn trong không gian 2 chiều, có thể dùng kỹ thuật phối cảnh trong khônggian 3 chiều để thể hiện Mặc dù phối cảnh trong không gian 3 chiều có thể giúp tăng khả năngnhận biết của con người bằng cách tăng số lượng biến có thể biểu diễn, nhưng không phải lúcnào nó cũng hữu ích Quy tắc chung là thể hiện trong không gian 3 chiều nên tránh khi nókhông cần thiết cho việc trực quan hóa, và bắt buộc tránh trong trường hợp nó có thể dẫn đếncảm nhận sai về dữ liệu bên dưới

Ngày đăng: 15/02/2021, 18:23

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w