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

Phát triển kỹ thuật trực quan hóa bảo mật ứng dụng Web: luận văn thạc sĩ

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.88 MB, 60 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC LẠC HỒNG
***

SOK DARAVUTHY

PHÁT TRIỂN KỸ THUẬT TRỰC QUAN HÓA BẢO MẬT
ỨNG DỤNG WEB

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

Đồng Nai – Năm 2019


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC LẠC HỒNG
***

SOK DARAVUTHY

PHÁT TRIỂN KỸ THUẬT TRỰC QUAN HÓA BẢO MẬT
ỨNG DỤNG WEB
Chuyên ngành: Công nghệ thông tin
Mã số: 8480201

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS.TS. ĐẶNG TRẦN KHÁNH

Đồng Nai – Năm 2019




i

LỜI CẢM ƠN
Đầu tiên, em xin chân thành cảm ơn thầy PGS.TS. Đặng Trần Khánh đã tận tình
hướng dẫn, chỉ bảo trong suốt thời gian thực hiện luận văn.

Xin chân thành cám ơn các thầy cô trong khoa sau đại học của Trường Đại Học Lạc
Hồng đã cung cấp những kiến thức quí báu trong suốt quá trình học tập, các thầy cô
trong văn phòng khoa đã hết lòng giúp đỡ, tạo điều kiện thuận lợi để tôi hoàn thành
luận văn.

Xin gửi lời cảm ơn đến những người thân trong gia đình, cùng các anh chị, các bạn
trong lớp đã luôn quan tâm giúp đỡ trong suốt thời gian học tập cũng như làm luận
văn.

Do thời gian làm luận văn còn hạn chế, và kiến thức cũng có hạn, nên luận văn không
tránh khỏi những thiếu sót. Rất mong nhận được những ý kiến đóng góp của quí
thầy cô và các bạn để luận văn được hoàn chỉnh hơn.

Xin chân thành cảm ơn!
Đồng Nai, ngày 12 tháng 12 năm 2019
HỌC VIÊN

SOK DARAVUTHY


ii


LỜI CAM ĐOAN
Tôi xin cam đoan rằng kết quả đạt được trong luận văn này là sản phẩm của riêng cá
nhân, là kết quả đạt được trong quá trình học tập và nghiên cứu khoa học độc lập.
Trong toàn bộ nội dung của luận văn, những điều được trình bày là của cá nhân hoặc là
được tổng hợp từ nhiều nguồn tài liệu. Tất cả các tài liệu tham khảo đều có xuất xứ rõ
ràng và được trích dẫn hợp pháp.
Không có sản phẩm hay nghiên cứu nào của người khác được sử dụng trong luận văn
mà không có trích dẫn theo đúng quy định.
Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỹ luật theo quy định cho lời
cam đoan của mình.

Đồng Nai, ngày 12 tháng 12 năm 2019
HỌC VIÊN

SOK DARAVUTHY


iii

TÓM TẮT LUẬN VĂN
Những công cụ phát hiện tấn công vào ứng dụng web có thể hỗ trợ nhà quản trị
trong việc bảo mật. Tuy nhiên, những công cụ này hầu hết tập trung vào việc phát hiện
tấn công và chỉ ghi nhận lại kết quả dưới dạng văn bản. Kết quả tấn công dạng văn bản
lại không phù hợp cho việc theo dõi theo thời gian thực, khi tấn công đang xảy ra.
Trong luận văn này, trực quan hóa thông tin được sử dụng để hiện thị tấn công vào ứng
dụng web dưới dạng đồ họa. Mặc dù chỉ được thử nghiệm trong môi trường giả lập,
giải pháp trong luận văn đã cho thấy được sự hỗ trợ của mình đối với nhà quản trị.
Trong tương lai, kết quả của luận văn có thể được thử nghiệm trong môi trường thực để
có sự đánh giá đầy đủ và khách quan hơn.



iv

MỤC LỤC
LỜI CAM ĐOAN ............................................................................................................ii
TÓM TẮT LUẬN VĂN ................................................................................................ iii
MỤC LỤC .......................................................................................................................iv
DANH MỤC HÌNH ........................................................................................................vi
PHẦN MỞ ĐẦU .............................................................................................................. 1
Tầm quan trọng của ứng dụng web .............................................................................. 1
Tình hình bảo mật ứng dụng web ................................................................................. 1
Theo dõi sự kiện bảo mật ............................................................................................. 3
Mục tiêu của luận văn................................................................................................... 5
Chương 1. Kiến thức nền tảng ......................................................................................... 7
1.1 Trực quan hóa thông tin ......................................................................................... 7
1.1.1 Giới thiệu về trực quan hóa thông tin .............................................................. 7
1.1.2 Phát triển ứng dụng trực quan hóa thông tin ................................................. 11
1.2 Phát hiện tấn công ................................................................................................ 14
1.2.1 Giới thiệu về phát hiện tấn công .................................................................... 14
1.2.2 Phương pháp phát hiện tấn công.................................................................... 16
1.2.3 Phát hiện tấn công vào ứng dụng web ........................................................... 17
1.3 Trực quan hóa thông tin cho bảo mật ................................................................... 18
1.3.1 Live Cyber Threat Map của Check Point ...................................................... 21
1.3.2 Digital Attack Map (Google Ideas và Arbor Networks) ............................... 23
1.3.3 CyberThreat Real – Time Map của Kaspersky ............................................. 24
Chương 2. Phân tích thiết kế hệ thống ........................................................................... 26
2.1 Mục tiêu của hệ thống .......................................................................................... 26


v

2.2 Thiết kế ánh xạ trực quan ..................................................................................... 27
2.2.1 Ý tưởng và thiết kế sơ bộ ............................................................................... 27
2.2.1 Trực quan hóa nguồn tấn công ...................................................................... 28
2.2.2 Trực quan hóa đích tấn công.......................................................................... 30
2.2.3 Trực quan hóa tấn công ................................................................................. 31
Chương 3. Hiện thực giải pháp ...................................................................................... 33
3.1 Kiến trúc giải pháp ............................................................................................... 33
3.2 Xử lý dữ liệu ......................................................................................................... 35
3.3 Xác định tọa độ x, y.............................................................................................. 37
3.4 Thư viện p5js ........................................................................................................ 39
3.4.1 Tải hình ảnh bản đồ từ Google Maps ............................................................ 39
3.4.2 Đọc dữ liệu tấn công ...................................................................................... 40
3.4.3 Vẽ các đối tượng cơ bản ................................................................................ 41
Chương 4. Thử nghiệm và đánh giá kết quả .................................................................. 42
4.1 Xây dựng môi trường thử nghiệm ........................................................................ 42
4.2 Ngữ cảnh ứng dụng .............................................................................................. 44
4.3 Tấn công giả lập ................................................................................................... 44
4.4 Thử nghiệm nhiều tấn công .................................................................................. 45
Kết luận .......................................................................................................................... 48


vi

DANH MỤC HÌNH
Hình 0.1 Tấn công vào web theo ngày............................................................................. 2
Hình 0.2 Tấn công vào web theo tháng. .......................................................................... 2
Hình 0.3 Thống kê lỗi bảo mật trên ứng dụng web. ........................................................ 4
Hình 0.4 Dữ liệu thô về sự kiện bảo mật. ........................................................................ 5
Hình 1.1 Biển báo giao thông là ví dụ cụ thể của trực quan hóa thông tin. ..................... 8
Hình 1.2 Bản đồ tương tác Google Maps......................................................................... 9

Hình 1.3 Dữ liệu dạng bảng (trái) và đồ thị phân tán (phải). ......................................... 10
Hình 1.4 Quy trình xây dựng giải pháp trực quan hóa thông tin. .................................. 12
Hình 1.5 Thuộc tính đồ họa với độ chính xác tăng dần từ dưới lên trên. ...................... 13
Hình 1.6 Phân loại các hệ thống phát hiện tấn công. ..................................................... 15
Hình 1.7 Tấn công theo kiểu SQL injection. ................................................................. 18
Hình 1.8 Tấn công theo kiểu Cross – site scripting. ...................................................... 19
Hình 1.9 Live Cyber Threat Map của Check Point........................................................ 21
Hình 1.10 Xem chi tiết một khu vực của Live Cyber Threat Map. ............................... 22
Hình 1.11 Giao diện của Digital Attack Map. ............................................................... 23
Hình 1.12 Giao diện của CyberThreat Real – Time Map. ............................................. 24
Hình 1.13 Hiển thị thống kê của CyberThreat Real – Time Map. ................................. 25
Hình 2.1 Các đối tượng chính. ....................................................................................... 28
Hình 2.2 Thiết kế sơ bộ. ................................................................................................. 28
Hình 2.3 Cấu trúc của một tấn công............................................................................... 29
Hình 2.4 Thông tin tấn công với địa chỉ ip (cột thứ nhì). .............................................. 29
Hình 2.5 Ý nghĩa kinh độ (Longitude) và vĩ độ (Latitude). ........................................... 30
Hình 2.6 Dùng cây phân cấp để thể hiện địa chỉ URL................................................... 31
Hình 2.7 Biểu diễn tấn công bằng kết nối. ..................................................................... 32
Hình 3.1 Biểu diễn tấn công bằng kết nối. ..................................................................... 33
Hình 3.2 Phép chiếu Mercator. ...................................................................................... 38
Hình 3.3 Chuyển đổi từ kinh, vĩ độ sang tọa độ x, y. .................................................... 38
Hình 3.4 Tải và vẽ bản đồ. ............................................................................................. 40


vii
Hình 3.5 Vẽ cây biểu diễn ứng dụng web. ..................................................................... 41
Hình 4.1 Bảng điều khiển của XAMPP. ........................................................................ 43
Hình 4.2 Trực quan hóa một số tấn công thực hiện thủ công. ....................................... 45
Hình 4.3 Kết quả khi có 5 tấn công xảy ra cùng lúc. ..................................................... 46
Hình 4.4 Kết quả khi có 10 tấn công xảy ra cùng lúc. ................................................... 47



1

PHẦN MỞ ĐẦU
Tầm quan trọng của ứng dụng web
Ngày nay, ứng dụng web được sử dụng phổ biến trong đời sống con người với
nhiều mục tiêu khác nhau. Trên thế giới, có những trang web nổi tiếng mà hầu như ai
cũng biết đến như là Google để tìm kiếm thông tin, Facebook để kết nối bạn bè và xây
dựng mối quan hệ, Amazon để mua sách và các sản phẩm khác, hay Ebay để mua và
bán trực tiếp đến những người khác, v.v… Ở Việt Nam, số lượng những trang web nổi
tiếng cũng không ít. Chẳng hạn như các trang tin tức VNExpress, TuoiTre, ThanhNien,
v.v… hay các trang bán hàng thương mại điện tử như Lazada, Tiki, Shopee, v.v…
Không chỉ được xây dựng và triển khai bởi các tổ chức lớn, ứng dụng web còn được sử
dụng bởi cá nhân, công ty, hoặc tổ chức vừa và nhỏ để giới thiệu sản phẩm, dịch vụ mà
mình cung cấp ra bên ngoài. Có thể nói, hiện nay, hầu như tổ chức nào cũng trang bị
website cho riêng mình. Chẳng hạn trường Đại Học Lạc Hồng cũng đã có trang web
riêng cho mình từ lâu. Việc sở hữu trang web riêng ngày nay không còn là tùy chọn mà
đã trở thành bắt buộc.
Với sự triển khai rộng rãi như vậy, thì làm sao để ứng dụng web hoạt động an
toàn là một đòi hỏi cấp thiết. Đảm bảo ứng dụng web hoạt động an toàn không chỉ là
vấn đề liên quan đến công nghệ thông tin, mà đó còn là vấn đề về bộ mặt và uy tín của
tổ chức sở hữu ứng dụng web đối với những người bên ngoài.

Tình hình bảo mật ứng dụng web
Ứng dụng web là một trong những mục tiêu tấn công hàng đầu của hacker. Theo
báo cáo của công ty Symantec [1], thì vào năm 2018 cứ 10 địa chỉ URL được phân tích
sẽ có 1 địa chỉ là không an toàn. Trong khi đó, con số này vào năm 2017 chỉ là 1/16.
Hình 0.1 và Hình 0.2 là biểu đồ về số lượng tấn công web theo ngày và theo tháng,
được trích ra từ báo cáo của Symantec.



2

Hình 0.1 Tấn công vào web theo ngày

Hình 0.2 Tấn công vào web theo tháng.
Không chỉ là một trong những mục tiêu bị tấn công hàng đầu, ứng dụng web còn
là một trong những nền tảng có số lượng lỗi bảo mật hàng đầu. Những lỗi bảo mật trên
ứng dụng web thông thường là do việc viết chương trình không tốt gây ra. Chẳng hạn
khi lập trình viên không kiểm tra dữ liệu đầu vào một cách đầy đủ, thì hacker có thể
nhập vào những giá trị đặc biệt làm chương trình thực thi theo một cách không lường
trước. Hình 0.3 là thống kê năm 2018 về các loại lỗi bảo mật trên ứng dụng web, theo
báo cáo của công ty edgescan [2].
Để bảo mật ứng dụng web, ngoài việc sử dụng các công cụ ngăn chặn tấn công tự
động như Firewall hay IPS thì nhà quản trị còn phải theo dõi những sự kiện bảo mật
xảy ra trên ứng dụng web mà mình quản lý. Những sự kiện bảo mật này thông thường
không thể đánh giá tự động được mà cẩn phải có kiến thức và kinh nghiệm về môi
trường thực tế của nhà quản trị. Chẳng hạn như xét sự kiện một người đăng nhập sai


3
vào ứng dụng web nhiều lần. Nếu như không có kiến thức và kinh nghiệm về người
dùng cụ thể, chẳng hạn như tuổi tác, trình độ, sai như thế nào, v.v… mà chỉ đơn thuần
dựa trên số lần sai để quyết định rằng sự kiện này có phải là tấn công hay không thì sẽ
còn nhiều hạn chế. Vì vậy, mặc dù những công cụ tự động chắc chắn mang lại hiệu quả
không nhỏ, nhưng chỉ sử dụng công cụ tự động không là chưa đủ, mà còn phải có sự
tham gia trực tiếp từ nhà quản trị.

Theo dõi sự kiện bảo mật

Khi có một sự kiện bảo mật xảy ra, nhà quản trị cần phải có thông tin về sự kiện
đó. Xét một trong những máy chủ web phổ biến nhất trên thế giới hiện nay là Apache1,
thì các sự kiện được lưu trong file log có định dạng tương tự như Hình 0.4.
Như được minh họa trong Hình 0.4, việc theo dõi những sự kiện bảo mật dưới
dạng thô là một việc làm không dễ dàng. Mặc dù dữ liệu thô này cung cấp khá đầy đủ
thông tin về sự kiện bảo mật xảy ra, nhưng việc hiểu và liên kết những sự kiện này lại
với nhau là không dễ dàng. Điều này càng đúng hơn khi việc theo dõi cần phải được
thực hiện tức thời theo thời gian thực.

1

/>

4

Hình 0.3 Thống kê lỗi bảo mật trên ứng dụng web.


5

Hình 0.4 Dữ liệu thô về sự kiện bảo mật.
Như vậy, việc theo dõi sự kiện bảo mật xảy ra trên ứng dụng web trong thời gian
thực không thể chỉ dựa vào những dữ liệu thô dạng văn bản. Thay vào đó, nếu việc
hiển thị được thể hiện dưới dạng trực quan sinh động thì công sức và hiệu quả của nhà
quản trị sẽ được cải thiện. Ngoài ra, việc biểu diễn sự kiện bảo mật còn phải làm sao để
làm nổi bật được những tính chất quan trọng của bản thân sự kiện. Đó cũng chính là
mục tiêu của luận văn này.

Mục tiêu của luận văn
Mục tiêu chính của luận văn này là nghiên cứu và xây dựng một giải pháp sử

dụng trực quan hóa thông tin để hỗ trợ nhà quản trị theo dõi những tấn công xảy ra trên
ứng dụng web theo thời gian thực. Ngoài thông tin quan trọng thể hiện dưới dạng trực
quan, thì giải pháp cũng phải có cách thức thể hiện thông tin chi tiết dưới dạng văn bản
một cách phù hợp. Thông tin chi tiết này sẽ giúp nhà quản trị phân tích sâu hơn về
những sự kiện mà người này cảm thấy quan trọng.
Để đánh giá giải pháp, luận văn sử dụng phương pháp thực nghiệm. Cụ thể hơn,
sẽ có người dùng sử dụng giải pháp mà luận văn phát triển trong những kịch bản thử


6
nghiệm. Tính hiệu quả của giải pháp sẽ được đánh giá dựa trên cảm nhận của người
dùng đó.
Một điểm cần lưu ý là giải pháp trong luận văn không có tác dụng thay thế những
công cụ tự động. Mục tiêu và đóng góp chính của giải pháp là làm cho những tấn công
được phát hiện bởi các công cụ tự động trở nên dễ hiểu và hữu ích hơn cho nhà quản
trị. Do đó, hai cách tiếp cận (phát hiện tấn công tự động và giải pháp trong luận văn) có
tác dụng bổ sung và hoàn thiện lẫn nhau.
Phần còn lại của luận văn bao gồm những nội dung sau: trong Chương 1, kiến
thức nền tảng liên quan sẽ được trình bày; Chương 2 sẽ giới thiệu về cách phân tích và
thiết kế giải pháp; phần hiện thực giải pháp được trình bày trong Chương 3; các thí
nghiệm và kết quả thí nghiệm được đề cập trong Chương 4; và chương cuối cùng được
dùng để kết luận cũng như đề xuất các công việc trong tương lai.


7

Chương 1. Kiến thức nền tảng
1.1 Trực quan hóa thông tin
1.1.1 Giới thiệu về trực quan hóa thông tin
Có nhiều cách định nghĩa khác nhau về trực quan hóa thông tin. Trong phạm vi

của luận văn này, trực quan hóa thông tin được xem là ngành khoa học kỹ thuật nghiên
cứu về các nguyên lý, phương pháp và cách thức nhằm biểu diễn thông tin một cách
nhanh chóng, dễ dàng và hiệu quả dưới dạng hình ảnh đến người xem. Nói cách khác,
trực quan hóa thông tin là việc tạo ra hình ảnh và giao diện để truyền tải các thông điệp
đến người xem.
Một trong những ích lợi rõ ràng nhất của trực quan hóa thông tin là có thể biểu
diễn một lượng lớn thông tin một cách nhanh chóng. Nguyên nhân là do hình ảnh có
thể được sử dụng khá hiệu quả trong truyền thông cũng như trong giao tiếp giữa con
người với nhau. Thông qua hình ảnh, con người nhanh chóng nhận ra ý nghĩa trong đó
mà không phải tốn nhiều thời gian và công sức xem xét chi tiết. Một ví dụ cụ thể nhất
là các biển báo giao thông (Hình 1.1). Những biển báo giao thông sử dụng hình dạng,
kích thước, và màu sắc để giúp người lái xe nhanh chóng nhận ra cảnh báo mà không
cần phải tốn nhiều thời gian đọc và xử lý chính xác. Không chỉ vậy, việc sử dụng biển
báo giao thông một cách nhất quán còn giúp người lái xe hiểu được ý nghĩa của chúng
khi lưu thông tại các quốc gia mà họ không biết ngôn ngữ tại đó. Song song với biển
báo giao thông, một trường hợp tương tự là bản đồ giao thông. Bản đồ giao thông giúp
con người có thể xác định hành trình của mình từ nơi bắt đầu đến nơi kết thúc một cách
dễ dàng so với dùng văn bản. Mặc dù người sử dụng có thể không nhớ được một cách
chính xác hành trình của mình với bản đồ giao thông, nhưng họ vẫn có được một sự
ước lượng tương đối về khoảng cách hay số lượng giao lộ cần phải đi qua trước khi đến
đích mong muốn.


8

Hình 1.1 Biển báo giao thông là ví dụ cụ thể của trực quan hóa thông tin.
Khi trực quan hóa thông tin được triển khai trên máy tính, thì nó sẽ có thêm một
tính chất hữu ích khác nữa, đó là khả năng tương tác. Nếu như khi hiển thị trên giấy,
hình ảnh trực quan là cố định, thì khi hiển thị trên máy tính, hình ảnh có thể thay đổi
theo thời gian cho phù hợp với nhu cầu của người sử dụng. Xét lại ví dụ bản đồ giao

thông, nếu như bản đồ ấy là trên giấy, thì người sử dụng phải ghi nhớ các cung đường,
các ngã rẽ để đi đến đích cần thiết. Việc ghi nhớ này mặc dù không phải quá khó,
nhưng cũng phần nào làm cho người sử dụng mệt mỏi. Trong khi đó, nếu như bản đồ


9
được biểu diễn trên máy tính (hay các thiết bị điện tử khác) thì việc dẫn đường sẽ trở
nên thuận tiện hơn nhiều: vị trí trung tâm bản đồ sẽ tự động cập nhật theo vị trí của
người dùng khi họ di chuyển, các chỉ dẫn rẽ trái rẽ phải sẽ được thể hiện tại thời điểm
thích hợp, những cảnh báo nguy hiểm hay chú ý sẽ được làm nổi bật v.v… Hình 1.2 là
minh họa về bản đồ tương tác Google Maps2.

Hình 1.2 Bản đồ tương tác Google Maps.
Một ích lợi khác của trực quan hóa thông tin là khả năng hỗ trợ khám phá tri thức.
Khả năng này thường có được khi trực quan hóa thông tin được xây dựng với chức
năng tương tác. Việc khám phá tri thức được thực hiện thông qua việc duyệt qua dữ
liệu trực quan. Việc duyệt dữ liệu trực quan không chỉ là duyệt tuyến tính theo một
chiều, mà còn có thể là gom nhóm, hoặc xem chi tiết, v.v… giúp làm sáng tỏ dữ liệu
bên dưới. Xét trường hợp minh họa trong Hình 1.3: dữ liệu được thể hiện dưới dạng
bảng và dưới dạng đồ thị phân tán. Bằng cách lựa chọn các trục tọa độ khác nhau cho

2




10
đồ thị phân tán (quá trình duyệt), người xem có thể có được một hệ trục tọa độ mà mối
liên hệ giữa các đối tượng trong bảng bên trái được thể hiện rõ.


Hình 1.3 Dữ liệu dạng bảng (trái) và đồ thị phân tán (phải).
Những ích lợi mà trực quan hóa thông tin mang lại cho người xem là nguyên
nhân chính làm cho chúng ngày càng được ứng dụng rộng rãi. So với cách hiển thị văn
bản truyền thống, công cụ trực quan hóa thông tin tạo ra hiệu quả đáng kể hơn, đặc biệt
là cho mục tiêu theo dõi và phân tích dữ liệu. Sở dĩ có điều này, vì hệ thống thị giác
của con người có khả năng xử lí hình ảnh hiệu quả hơn so với văn bản. Con người có
thể quét, ghi nhớ hình ảnh một cách nhanh chóng. Ngoài ra, hệ thống thị giác con
người còn có khả năng nhận dạng mẫu, cũng như có thể phát hiện những thay đổi trong
kích thước, màu sắc, hình dạng, chuyển động và kết cấu hiệu quả.
Một số ích lợi khác của trực quan hóa thông tin, theo Raffael Marty [3], bao gồm:
 Trả lời câu hỏi: Hình ảnh có thể giúp người xem trả lời những câu hỏi liên
quan đến tập dữ liệu dùng trong trực quan hóa.
 Đặt ra câu hỏi mới: Hình ảnh trực quan hóa có thể giúp người xem nhận
dạng các tình huống đặc biệt, từ đó có thể đưa ra các câu hỏi “tại sao” về
dữ liệu.


11
 Khám phá (exploration): Hình ảnh trực quan cho phép duyệt qua dữ liệu
bên dưới một cách thuận tiện, và qua đó giúp khám phá thêm về bản thân
dữ liệu.
 Hỗ trợ cho các quyết định: Hình ảnh giúp phân tích một lượng lớn dữ liệu
nhanh chóng. Ngoài ra, việc biểu diễn dưới dạng hình ảnh còn giúp thể
hiện ý nghĩa của dữ liệu rõ ràng hơn. Những điều này góp phần hỗ trợ việc
ra quyết định của người xem.
 Hiệu quả truyền đạt thông tin: Trong cùng một đơn vị thời gian, hình ảnh
có thể truyền đạt lượng thông tin nhiều hơn so với văn bản.
 Truyền cảm hứng: Việc quan sát và khám phá dữ liệu dạng hình ảnh thông
qua tương tác là một quá trình thú vị hơn so với việc xem xét những bảng
số liệu tĩnh.

1.1.2 Phát triển ứng dụng trực quan hóa thông tin
Trong luận văn này, quy trình xây dựng giải pháp trực quan hóa thông tin được
dựa theo tài liệu [4]. Các bước chính của quy trình này là:
1. Thu thập dữ liệu thô
2. Tiền xử lý và chuẩn hóa dữ liệu
3. Ánh xạ từ dữ liệu sang hình ảnh
4. Tạo khung nhìn
5. Tương tác với người dùng
Hình 1.4 dưới đây thể hiện mối liên hệ giữa các bước trong quy trình trực quan
hóa thông tin dùng trong luận văn này.


12

Hình 1.4 Quy trình xây dựng giải pháp trực quan hóa thông tin.
 Thu thập dữ liệu thô (raw data): Dữ liệu là thành phần quan trọng cho giải
pháp trực quan hóa thông tin. Độ chính xác và hữu ích của giải pháp trực
quan hóa thông tin phụ thuộc vào chất lượng và loại dữ liệu thu thập được.
Chẳng hạn để trực quan hóa các tấn công vào ứng dụng web thì thông tin
về các tấn công cần phải được thu thập. Thông tin thu thập được càng đầy
đủ thì có thể biểu diễn tấn công càng chi tiết.
 Tiền xử lý và chuẩn hóa dữ liệu (preprocessing & transformation): Dữ liệu
thô thu thập được có thể chứa một vài sai sót hoặc có thể ở dạng không
phù hợp, do đó chúng cần được đưa qua bước tiền xử lý và chuẩn hóa. Một
vài thao tác ở bước này bao gồm: loại bỏ những thuộc tính không dùng
đến, thêm vào những thuộc tính phù hợp thông qua tính toán, hoặc chuyển
dữ liệu từ dạng không có cấu trúc sang dạng có cấu trúc (bảng, cây, đồ thị,
v.v..).
 Ánh xạ từ dữ liệu sang hình ảnh (visual mapping): Bước này quyết định sử
dụng thiết kế trực quan nào để biểu diễn dữ liệu đã được chuẩn hóa. Có 3

lựa chọn cần được xác định tại bước này: xác định không gian nền để trực
quan hóa (hệ trục tọa độ 2 hoặc 3 chiều, hay hệ trục tọa độ cực, v.v...); xác
định thành phần đồ họa (điểm, đường, bề mặt, hình khối, v.v...) để biểu
diễn đối tượng dữ liệu; và xác định thuộc tính đồ họa (màu sắc, kích thước,
hình dạng, độ dày, độ sáng, hướng, v.v...) cho các thành phần đồ họa. Mỗi
thuộc tính đồ họa có mức độ chính xác khác nhau nên tùy theo nhu cầu mà


13
có thể lựa chọn dùng thuộc tính nào cho từng loại dữ liệu. Hình 1.5 thể
hiện sự khác nhau về độ chính xác của từng loại thuộc tính đồ họa. Qua
đó, có thể thấy được việc lựa chọn thuộc tính đồ họa cần dựa theo nhu cầu
về mức độ chính xác khi biểu diễn. Chẳng hạn như thuộc tính màu sắc
không nên dùng để thể hiện các giá trị chính xác. Nếu muốn biểu diễn
chính xác thì nên dùng thuộc tính vị trí. Còn nếu chỉ để phân biệt các giá
trị khác nhau, thì việc dùng thuộc tính màu sắc là hoàn toàn phù hợp.

Hình 1.5 Thuộc tính đồ họa với độ chính xác tăng dần từ dưới lên trên.
 Tạo khung nhìn (view creation): Sau khi đã quyết định những thiết kế trực
quan, bước kế tiếp là hiển thị chúng dưới dạng hình ảnh trong không gian
vật lý 2 chiều trên màn hình thiết bị. Kết quả của bước này là những gì
người dùng thấy được trên màn hình. Tuy nhiên, do số lượng đối tượng
trực quan hóa có thể rất nhiều nên không phải tất cả chúng đều có thể hiển
thị trên màn hình. Trong trường hợp này, có thể áp dụng những biện pháp


14
tương tác để hiển thị/che dấu từng đối tượng tùy theo nhu cầu. Chẳng hạn
khi mới hiển thị, thì chỉ những đối tượng quan trọng là được hiển thị. Còn
khi người dùng có nhu cầu xem chi tiết thì mới hiển thị những đối tượng

liên quan. Tương tự, khi người dùng di chuyển chuột, thì những đối tượng
đã ra khỏi khung nhìn sẽ không còn được thấy nữa, và việc xử lý chúng
cũng nên bỏ qua để tiết kiệm thời gian CPU.

 Tương tác với người dùng (interaction & manipulation): Như ở bước tạo
khung nhìn đã đề cập, tích hợp tương tác người dùng cho phép những đối
tượng phù hợp được hiển thị/che dấu tùy theo nhu cầu của người sử dụng
giải pháp trực quan hóa. Đối với những hệ thống có rất nhiều dữ liệu, bước
này là không thể thiếu vì không gian màn hình thiết bị không thể cùng lúc
biểu diễn toàn bộ dữ liệu. Ngay cả khi máy tính có khả năng hiển thị toàn
bộ dữ liệu, thì khả năng quan sát và phân tích của người xem cũng có giới
hạn và không thể xử lý toàn bộ dữ liệu cùng lúc. Do đó, tương tác người
dùng nên được thiết kế để phục vụ nhu cầu dữ liệu của người dùng tốt hơn.
1.2 Phát hiện tấn công
1.2.1 Giới thiệu về phát hiện tấn công
Phát hiện tấn công hay phát hiện xâm nhập là phần mềm hoặc thiết bị dùng để
theo dõi và ghi nhận bất thường xảy ra trên một hệ thống [5]. Có nhiều cách để phân
loại các hệ thống phát hiện tấn công, chẳng hạn dựa theo chiến thuật phát hiện, dựa
theo cách triển khai hệ thống, dựa theo dữ liệu nguồn, v.v… Hình 1.6 [5] trình bày
tổng quan về một hệ thống phân loại cho những giải pháp phát hiện tấn công.
Dựa theo Hình 1.6, có những phương pháp phân loại hệ thống phát hiện tấn công
chính sau đây
 Dựa theo cách triển khai hệ thống: Cách phân loại này dựa theo cấu trúc
triển khai hệ thống phát hiện tấn công. Một vài ví dụ như là triển khai trên
một máy, triển khai trên nhiều máy, tập trung hoặc phân tán, v.v…


15

Hình 1.6 Phân loại các hệ thống phát hiện tấn công.

 Dựa theo dữ liệu nguồn: Cách phân loại này dựa theo phương pháp thu
thập dữ liệu nguồn (tập trung hay phân tán), loại dữ liệu nguồn (lấy từ file
log, từ log của ứng dụng, từ dữ liệu mạng có dây hoặc không dây), hay
thành phần thu thập dữ liệu.


16
 Dựa theo thời gian: Cách phân loại này dựa theo độ mịn của thời gian (thu
thập liên tục hay gián đoạn), thời điểm phát hiện tấn công (theo thời gian
thực hay sau đó), theo cách phản ứng của hệ thống phát hiện (phản ứng thụ
động hay phản ứng chủ động).
 Dựa theo chiến thuật phát hiện tấn công: Cách phân loại này dựa theo
phương pháp phát hiện tấn công (dựa trên dấu hiệu, dựa trên bất thường,
hoặc dựa trên đặc tả), theo chiến thuật xử lý dữ liệu (xử lý tập trung hay
phân tán), và theo kỹ thuật phát hiện (dựa trên trạng thái hoặc dựa trên sự
chuyển đổi trạng thái).
1.2.2 Phương pháp phát hiện tấn công
Như đã trình bày trong phần phân loại ở trên, có 3 phương pháp chính để phát
hiện tấn công
 Phát hiện dựa trên dấu hiệu (signature – based) [6, 7]: Dấu hiệu là mẫu
hoặc chuỗi của tấn công đã biết trước đó. Phát hiện dựa trên dấu hiệu hoạt
động bằng cách quét qua dữ liệu thu thập được, so sánh dữ liệu này với
những dấu hiệu đã biết, xem có sự trùng khớp nào hay không. Nếu có thì
cảnh báo có tấn công xảy ra. Ưu điểm của phát hiện dựa trên dấu hiệu là
đơn giản và hiệu quả. Khuyết điểm của phương pháp này là không phát
hiện được tấn công mới hoặc biến thể của tấn công đã biết; phải cập nhật
cơ sở dữ liệu dấu hiệu tấn công thường xuyên.
 Phát hiện dựa trên bất thường (anomaly – based) [8, 9]: Khác với phát hiện
dựa trên dấu hiệu, phát hiện dựa trên bất thường theo dõi sự khác biệt so
với điều kiện hoạt động bình thường của hệ thống. Xét ví dụ về thời điểm

đăng nhập, nếu có một sự kiện đăng nhập xảy ra tại một thời điểm không
gặp trong quá khứ (chẳng hạn đăng nhập vào giữa đêm, trong khi trước đó
chỉ đăng nhập trong giờ làm việc) thì phát hiện dựa trên bất thường sẽ xem
điều này là tấn công. Ưu điểm của phát hiện dựa trên bất thường là có thể
phát hiện được những tấn công mới hoặc biến thể của những tấn công đã


×