ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
ĐẶNG TRẦN TRÍ
TRỰC QUAN HĨA TRONG BẢO MẬT ỨNG DỤNG WEB
LUẬN ÁN TIẾN SĨ
TP. HỒ CHÍ MINH - NĂM 2020
ĐẠI HỌC QUỐC GIA TP. HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
TRỰC QUAN HÓA TRONG BẢO MẬT ỨNG DỤNG WEB
Chuyên ngành: Khoa học Máy tính
Mã số chuyên ngành: 62480101
Phản biện độc lập: PGS. TS. NGUYỄN TUẤN ĐĂNG
Phản biện độc lập: TS. PHẠM THỊ BẠCH HUỆ
Phản biện: PGS. TS. VŨ THANH NGUYÊN
Phản biện: PGS. TS. TRẦN NGỌC THỊNH
Phản biện: TS. ĐẶNG TRƯỜNG SƠN
NGƯỜI HƯỚNG DẪN:
1. PGS. TS. ĐẶNG TRẦN KHÁNH
2. GS. TS. JOSEF KÜNG
LỜI CAM ĐOAN
Tác giả xin cam đoan đây là công trình nghiên cứu của bản thân tác giả. Các kết quả
nghiên cứu và các kết luận trong luận án này là trung thực, và không sao chép từ bất
kỳ một nguồn nào và dưới bất kỳ hình thức nào. Việc tham khảo các nguồn tài liệu
(nếu có) đã được thực hiện trích dẫn và ghi nguồn tài liệu tham khảo đúng quy định.
Tác giả luận án
Chữ ký
Đặng Trần Trí
i
TÓM TẮT LUẬN ÁN
Ứng dụng web là một trong những nền tảng để phát triển và triển khai phần mềm phổ
biến nhất hiện nay. Tuy nhiên, sự phổ biến đó cũng làm cho ứng dụng web trở thành
một trong những đích tấn cơng chính trên mơi trường Internet. Mặc dù đã có nhiều
nghiên cứu về bảo mật ứng dụng web, nhưng hầu hết đều tiếp cận theo hướng tự động
hóa, tách vai trò của nhà quản trị ra khỏi các tác vụ bảo mật. Nhận thấy vai trò của con
người là không thể thiếu, luận án này nghiên cứu và phát triển mơ hình, thiết kế, và kỹ
thuật để nâng cao khả năng của nhà quản trị trong việc bảo mật ứng dụng web thơng
qua hai phương pháp chính: trực quan hóa thơng tin và tương tác người dùng. Ưu điểm
của cách tiếp cận này là vừa có thể tận dụng được sức mạnh tính tốn của máy tính,
vừa có thể khai thác được khả năng suy luận của con người. Trong luận án, lý thuyết
phạm trù được vận dụng để mơ hình hóa quy trình trực quan hóa thơng tin. Thơng qua
đó, luận án phát triển phương pháp đánh giá về mặt định lượng cho các kỹ thuật trực
quan hóa đã đề xuất. Đây là đóng góp chính thứ nhất của luận án. Đóng góp chính thứ
hai của luận án là khảo sát, thiết kế, hiện thực, và tổ chức thí nghiệm một số kỹ thuật
trực quan hóa trong việc hỗ trợ một số bài toán bảo mật ứng dụng web cụ thể. Đóng
góp chính cuối cùng nhưng khơng kém phần quan trọng là luận án đã đưa ra một hệ
thống phân loại các kỹ thuật trực quan hóa thông tin trong lĩnh vực bảo mật ứng dụng
web. Hệ thống phân loại này có thể được sử dụng để định vị các kỹ thuật được phát
triển trong tương lai, hoặc xác định những vấn đề còn chưa được xem xét đầy đủ. Luận
án vẫn còn một số hạn chế nhất định có thể khắc phục trong tương lai. Hai hạn chế
đáng kể nhất là đối tượng tham gia thí nghiệm cịn chưa được phong phú, và dữ liệu
cho thí nghiệm cần mang tính thực tế hơn.
ii
ABSTRACT
Web-based applications is one of the most popular platforms for developing and
deploying software. However, that popularity also makes web applications one of the
main targets of Internet’s attacks. At the same time, recent researches on web
application security tend to focus on automating security processes, thereby removing
the roles of security administrators from related tasks. Seeing human’s roles as
essential parts of the whole security system, this thesis studies and develops models,
designs, and techniques to improve security administrators’ abilities to secure web
applications by applying two main methods: information visualization and human
computer interaction. The advantage of this approach is both computing power and
human reasoning skill are exploited together. In this thesis, category theory is used to
model the information visualization process. Based on that, the thesis has developed a
quantitative evaluation method for proposed visualization techniques. This is the first
main contribution of the thesis. The second main contribution of the thesis is the
review, design, implement, and experiment of some visualization techniques in
supporting particular web application security tasks. The last, but not least, main
contribution of this thesis is introducing a taxonomy of information visualization
methods in web application security domain. This taxonomy can be used to position
techniques developed in the future, as well as research problems that lack attention.
There are still remaining issues in the thesis which can be improved in the future. Two
notable problems are the experiment participants are not representative enough, and
experiment data need to be more realistic.
iii
LỜI CÁM ƠN
Để hồn thành quyển luận án này, khơng thể nào chỉ cần cơng sức của một mình tơi.
Thật sự, quyển luận án khơng thể hồn thành nếu khơng có sự hỗ trợ của rất nhiều
người khác. Trong đó, tôi đặc biệt gửi lời cám ơn đến:
Thầy Đặng Trần Khánh, là giảng viên hướng dẫn chính của tơi. Thầy đã rất nghiêm
khắc và kiên trì trong suốt quá trình học của tôi. Thầy không chỉ hướng dẫn từng kỹ
thuật hay kiến thức cụ thể, mà Thầy còn hướng dẫn tôi cách làm việc nghiêm túc và
khoa học. Không những thế, Thầy cịn chỉ cho tơi thấy con đường để tồn tại và phát
triển trong môi trường học thuật ở Việt Nam.
Gia đình tơi, đặc biệt là Mẹ, Vợ, và hai con Minh Châu, Minh Thư. Gia đình đã hết
sức ủng hộ tôi làm Nghiên cứu sinh, mặc dù biết rằng sẽ phải đánh đổi bằng lợi ích
kinh tế của cả gia đình. Thời gian quý báu bên gia đình cũng bị ảnh hưởng ít nhiều
trong q trình viết luận án này. Hai con Minh Châu, Minh Thư mặc dù còn nhỏ, rất
tinh nghịch nhưng cũng sẵn sàng lui ra khỏi phịng để cho ba làm việc.
Các thầy cơ trong hội đồng chấm luận án cấp Khoa, cấp Trường, và phản biện độc lập
luận án. Các thầy cô đã đầu tư nhiều thời gian và công sức để đọc kỹ, góp ý mang tính
xây dựng, làm cho nội dung luận án trở nên chặt chẽ và đầy đủ hơn.
Những thành viên của nhóm nghiên cứu D-STAR, trường ĐHBK HCM. Mặc dù chủ
đề nghiên cứu của luận án này không liên quan nhiều đến hướng nghiên cứu của các
thành viên còn lại, nhưng sự hỗ trợ tơi nhận được từ nhóm không hề nhỏ. Không chỉ
hỗ trợ về mặt kỹ thuật, những thành viên D-STAR cịn hỗ trợ tơi khá nhiều về mặt tinh
thần, giúp tơi có thêm niềm tin để hoàn thành luận án.
Đồng nghiệp tại Khoa KH & KT Máy Tính, ĐHBK HCM. Làm việc tại Khoa KH &
KT Máy Tính là một vinh hạnh cho tơi. Đây là một môi trường thân thiện, cộng tác
nhưng không kém phần cạnh tranh về mặt học thuật. Chỉ có làm việc tại đây tơi mới có
đủ động lực để viết và hoàn thành luận án này.
iv
MỤC LỤC
LỜI CAM ĐOAN ......................................................................................................... i
TÓM TẮT LUẬN ÁN .................................................................................................ii
ABSTRACT .............................................................................................................. iii
LỜI CÁM ƠN ............................................................................................................ iv
MỤC LỤC ................................................................................................................... v
DANH MỤC CÁC HÌNH ẢNH ...............................................................................viii
DANH MỤC CÁC BẢNG BIỂU ............................................................................... ix
CHƯƠNG 1
GIỚI THIỆU ..................................................................................... 1
1.1
Bảo mật ứng dụng web ................................................................................... 1
1.2
Trực quan hóa thơng tin trong bảo mật ........................................................... 4
1.3
Mục tiêu và phạm vi luận án ........................................................................... 7
1.3.1
Mục tiêu luận án ...................................................................................... 7
1.3.2
Phạm vi luận án........................................................................................ 8
1.4
Những đóng góp chính của luận án ............................................................... 10
1.5
Cấu trúc của luận án ..................................................................................... 11
CHƯƠNG 2
KIẾN THỨC NỀN TẢNG .............................................................. 13
2.1
Bảo mật ứng dụng web ................................................................................. 13
2.2
Hệ thống trực quan hóa thơng tin .................................................................. 14
2.2.1
Tổng quan về trực quan hóa thơng tin .................................................... 14
2.2.2
Quy trình trực quan hóa thơng tin........................................................... 17
2.2.3
Biến đổi trực quan hóa ........................................................................... 18
2.2.4
Kỹ thuật tương tác với người dùng ......................................................... 19
2.3
Đánh giá hệ thống trực quan hóa thơng tin.................................................... 21
2.3.1
Đánh giá dựa trên người sử dụng ........................................................... 21
2.3.2
Đánh giá không dựa trên người sử dụng ................................................. 23
2.3.3
Kỹ thuật đánh giá dùng trong luận án ..................................................... 24
2.4
Lý thuyết phạm trù và trực quan hóa thơng tin .............................................. 25
2.4.1
Giới thiệu về lý thuyết phạm trù ............................................................. 25
2.4.2
Lý thuyết phạm trù trong trực quan hóa thơng tin ................................... 26
v
CHƯƠNG 3
3.1
HƯỚNG TIẾP CẬN........................................................................ 29
Đối tượng bảo mật trên ứng dụng web .......................................................... 29
3.1.1
Vai trị và vị trí của ứng dụng web ......................................................... 29
3.1.2
Đặc điểm đối tượng bảo mật trên ứng dụng web .................................... 30
3.2
Bảo mật ứng dụng web thông qua trực quan hóa........................................... 32
3.2.1
Mục tiêu và tác vụ bảo mật .................................................................... 32
3.2.2
Trực quan hóa trong bảo mật ứng dụng web........................................... 34
3.3
Đánh giá các kỹ thuật về mặt định lượng ...................................................... 37
3.3.1
Phạm trù trực quan hóa trong bảo mật ứng dụng web ............................. 37
3.3.2
Đánh giá hiệu quả kỹ thuật trực quan hóa dựa trên lý thuyết phạm trù ... 40
CHƯƠNG 4
4.1
TRỰC QUAN HĨA Ở MỨC TỒN ỨNG DỤNG ......................... 45
Trực quan hóa các lỗi bảo mật ...................................................................... 45
4.1.1
Giới thiệu ............................................................................................... 45
4.1.2
Các nghiên cứu liên quan ....................................................................... 46
4.1.3
Thiết kế trực quan và tương tác người dùng ........................................... 48
4.1.4
Hiện thực ............................................................................................... 53
4.1.5
Thí nghiệm và kết quả ............................................................................ 56
4.1.6
Tóm lược ............................................................................................... 61
4.2
Trực quan hóa tấn cơng trong khơng gian địa lý – web ................................. 62
4.2.1
Giới thiệu ............................................................................................... 62
4.2.2
Các nghiên cứu liên quan ....................................................................... 64
4.2.3
Thiết kế trực quan hóa và tương tác ....................................................... 65
4.2.4
Hiện thực ............................................................................................... 72
4.2.5
Thí nghiệm và kết quả ............................................................................ 74
4.2.6
Tóm lược ............................................................................................... 78
4.3
Trực quan hóa kịch bản tấn cơng trong khơng – thời gian ............................. 79
4.3.1
Giới thiệu ............................................................................................... 79
4.3.2
Các nghiên cứu liên quan ....................................................................... 81
4.3.3
Thiết kế trực quan hóa và tương tác ....................................................... 84
4.3.4
Hiện thực ............................................................................................... 88
4.3.5
Thí nghiệm và kết quả ............................................................................ 91
vi
4.3.6
Tóm lược ............................................................................................... 97
CHƯƠNG 5
5.1
TRỰC QUAN HĨA Ở MỨC TỪNG TRANG ................................ 99
Trực quan hóa và phân tích dữ liệu nhập ...................................................... 99
5.1.1
Giới thiệu ............................................................................................... 99
5.1.2
Các nghiên cứu liên quan ..................................................................... 100
5.1.3
Thiết kế trực quan hóa và tương tác ..................................................... 101
5.1.4
Hiện thực ............................................................................................. 107
5.1.5
Thí nghiệm và kết quả .......................................................................... 110
5.1.6
Tóm lược ............................................................................................. 115
5.2
Trực quan hóa luật nhận dạng tấn cơng trên ứng dụng web......................... 116
5.2.1
Giới thiệu ............................................................................................. 116
5.2.2
Các nghiên cứu liên quan ..................................................................... 119
5.2.3
Thiết kế trực quan hóa và tương tác ..................................................... 121
5.2.4
Hiện thực ............................................................................................. 126
5.2.5
Thí nghiệm và kết quả .......................................................................... 128
5.2.6
Tóm lược ............................................................................................. 132
CHƯƠNG 6
TỔNG KẾT ................................................................................... 134
6.1
Kết quả đạt được ........................................................................................ 134
6.2
Những hạn chế............................................................................................ 138
6.3
Hướng phát triển trong tương lai................................................................. 139
DANH MỤC CƠNG TRÌNH ĐÃ CƠNG BỐ .......................................................... 141
TÀI LIỆU THAM KHẢO ....................................................................................... 142
PHỤ LỤC ................................................................................................................ 153
P.1
Các nguy cơ bảo mật hàng đầu đối với ứng dụng web ................................ 153
P.2
Kiểm tra hộp đen trên ứng dụng web .......................................................... 155
vii
DANH MỤC CÁC HÌNH ẢNH
Hình 2.1 Vị trí và mối liên hệ giữa tấn công và lỗi bảo mật trên ứng dụng web [13] .. 13
Hình 2.2 Ứng dụng tổng hợp và trực quan hóa tin tức Newsmap ............................... 15
Hình 2.3 Giao diện phân tích khám phá của Gapminder ............................................ 16
Hình 2.4 Trực quan hóa tuổi thọ trung bình của các nước trên thế giới ...................... 17
Hình 2.5 Quy trình phát triển một hệ thống trực quan hóa thơng tin........................... 17
Hình 2.6 Sơ đồ phạm trù đơn giản nhất với 3 đối tượng và 3 cấu xạ .......................... 25
Hình 2.7 Sơ đồ biểu diễn các khái niệm của ký hiệu học............................................ 27
Hình 3.1 Cấu trúc của một hệ thống web ................................................................... 29
Hình 3.2 Phạm trù cơ bản của quy trình trong luận án................................................ 37
Hình 3.3 Phạm trù hồn chỉnh của quy trình trực quan hóa đề xuất ............................ 39
Hình 4.1 Trực quan hóa khơng gian ứng dụng web và các lỗi bảo mật trên đó ........... 50
Hình 4.2 Trực quan hóa lỗi bảo mật trên một nút trên và tồn ứng dụng .................... 51
Hình 4.3 Các tương tác: mở rộng/thu gọn nút (A), lọc dữ liệu (B), xem chi tiết (C) ... 53
Hình 4.4 Kiến trúc phần mềm trực quan hóa lỗi bảo mật trên ứng dụng web ............. 54
Hình 4.5 Kích thước cây khi đạt đến giới hạn nhận thức ............................................ 59
Hình 4.6 Trực quan hóa tấn cơng vào ứng dụng web trong không gian địa lý – web .. 68
Hình 4.7 Khơng gian địa lý khi phóng to (trái) và khi thu nhỏ (phải) ......................... 70
Hình 4.8 Tương tác mở rộng (trái) và thu gọn (phải) nút............................................ 71
Hình 4.9 Kiến trúc phần mềm trực quan hóa tấn cơng vào ứng dụng web .................. 73
Hình 4.10 Tấn cơng bởi Subgraph Vega (trái) và OWASP Zed Attack Proxy (phải) .. 75
Hình 4.11 Trực quan hóa kịch bản tấn cơng trong hệ tọa độ thời gian ........................ 86
Hình 4.12 Trực quan hóa kịch bản tấn cơng trong hệ tọa độ khơng gian .................... 88
Hình 4.13 Kiến trúc phần mềm trực quan hóa kịch bản tấn cơng vào ứng dụng web .. 88
Hình 4.14 Giao diện phần mềm xây dựng và trực quan hóa kịch bản tấn cơng ........... 90
Hình 4.15 Kịch bản tấn cơng sinh ra bởi Subgraph Vega ........................................... 92
Hình 4.16 Kịch bản tấn công sinh ra bởi OWASP Zed Attack Proxy ......................... 93
Hình 4.17 Kịch bản tấn cơng sinh ra bởi Acunetix ..................................................... 93
Hình 4.18 Kịch bản tấn cơng sinh ra bởi con người ................................................... 95
Hình 5.1 Cách xác định vị trí pixel đánh dấu dựa theo giá trị percentile ................... 105
Hình 5.2 Giao diện chính của phần mềm thử nghiệm với 5 khu vực riêng biệt ......... 108
Hình 5.3 Cách thức đánh dấu kết quả tìm kiếm trên giao diện chính ........................ 113
Hình 5.4 Quy trình tương tác xây dựng cây quyết định ............................................ 123
Hình 5.5 Trực quan hóa nút đang xét ....................................................................... 125
Hình 5.6 Trực quan hóa cây quyết định đang hình thành.......................................... 126
Hình 5.7 Kiến trúc phần mềm hỗ trợ xây dựng cây quyết định trực quan tương tác . 126
Hình 5.8 Hình dạng chung của các cây quyết định kết quả....................................... 131
viii
DANH MỤC CÁC BẢNG BIỂU
Bảng 1.1 Mục tiêu của luận án ..................................................................................... 8
Bảng 3.1 Đóng góp về mục tiêu và tác vụ bảo mật ..................................................... 34
Bảng 3.2 Phân loại các kỹ thuật trực quan hóa trong bảo mật ứng dụng web ............. 36
Bảng 4.1 Giải thuật xây dựng cây biểu diễn không gian ứng dụng web...................... 56
Bảng 4.2 Định dạng và mức độ nghiêm trọng của các phần mềm quét lỗi .................. 57
Bảng 4.3 Hỗ trợ của kỹ thuật trực quan hóa lỗi bảo mật ............................................. 58
Bảng 4.4 Giải thuật trực quan hóa tấn cơng vào ứng dụng web .................................. 74
Bảng 4.5 Hỗ trợ của kỹ thuật trực quan hóa tấn công trong không gian địa lý – web.. 76
Bảng 4.6 Sự khác biệt giữa nghiên cứu trong phần này và phần 4.2 ........................... 84
Bảng 4.7 Giải thuật xây dựng tập sự kiện liên quan trước tấn cơng chính .................. 91
Bảng 4.8 Hỗ trợ của kỹ thuật trực quan hóa kịch bản tấn công ................................... 95
ix
CHƯƠNG 1
GIỚI THIỆU
1.1 Bảo mật ứng dụng web
Ngày nay, ứng dụng web được triển khai rộng rãi trong nhiều lĩnh vực đời sống khác
nhau do sự thuận tiện mà chúng mang lại. Hầu như bất kỳ tiện ích nào mà Internet
mang lại đều có thể được truy xuất dưới dạng ứng dụng web. Không chỉ dừng lại ở
những dịch vụ truyền thống như cung cấp thông tin, tra cứu văn bản, v.v… ứng dụng
web ngày nay còn bao gồm cả những dịch vụ mà trước kia chỉ có thể cung cấp bởi các
ứng dụng chạy trực tiếp (Native Application) như thiết kế đồ họa hay trị chơi đồ họa
khơng gian ba chiều. Điểm khác biệt, và cũng là điểm nổi bật, của ứng dụng web so
với những ứng dụng chạy trực tiếp trên hệ điều hành là ứng dụng web không yêu cầu
người dùng phải cài đặt trước khi sử dụng. Người dùng chỉ cần phần mềm trình duyệt
web (Web Browser) là đã có thể truy xuất bất kỳ ứng dụng web nào. Hơn nữa, khi ứng
dụng web được nâng cấp để có thêm tính năng mới, người dùng cũng khơng cần phải
làm thêm gì để sử dụng những tính năng mới này. Ngoài những tiện lợi mang đến cho
người dùng kể trên, ứng dụng web cũng góp phần giải quyết đáng kể bài tốn phân
phối và bảo trì phần mềm mà những nhà phát triển (Developer) gặp phải. Khi dịch vụ,
phần mềm được triển khai dưới dạng ứng dụng web, nhà phát triển khơng cần phải cài
đặt, bảo trì, hay nâng cấp hệ thống của mình cho riêng từng cá nhân. Thay vào đó, họ
chỉ cần thực hiện những công việc trên cho một hoặc vài máy chủ trung tâm.
Với những ưu điểm mà ứng dụng web mang lại, nhiều tổ chức, công ty lớn và nhỏ đã
sử dụng ứng dụng web để làm kênh giao tiếp quan trọng với khách hàng của mình.
Thơng qua web, các tổ chức và cơng ty có một phương tiện cần thiết để giới thiệu bản
thân hoặc sản phẩm, dịch vụ của mình ra đơng đảo người dùng trên tồn thế giới. Theo
thống kê của cơng ty Netcraft, vào tháng 2/2018 có trên 1,8 tỷ website trên tồn thế
giới, trong đó, Microsoft, Apache, nginx và Google là những nhà cung cấp phần mềm
máy chủ web được dùng nhiều nhất [1]. Với số lượng website lớn như vậy, có thể thấy
ảnh hưởng của ứng dụng web đến đời sống xã hội là khá đáng kể. Sự ảnh hưởng này
vừa tác động đến người dùng, vừa tác động đến các tổ chức sở hữu ứng dụng web.
1
Do ảnh hưởng quan trọng kể trên, bảo mật ứng dụng web là một nhu cầu cần thiết và
cấp bách. Việc đảm bảo hoạt động an toàn, đúng đắn của ứng dụng web khơng chỉ tạo
nên hình ảnh, danh hiệu, độ tin cậy của công ty sở hữu ứng dụng web, mà còn giúp hệ
thống của họ vận hành trơn tru, tạo ra lợi thế cạnh tranh. Tuy nhiên, so với các ứng
dụng chạy trực tiếp, việc bảo mật ứng dụng web có những khó khăn đặc thù sau:
• Trước hết, ứng dụng web được truy xuất khá rộng rãi. Khác với các ứng dụng
chạy trực tiếp, hầu hết được dùng trong nội bộ tổ chức, ứng dụng web thông
thường được triển khai để có thể truy xuất từ bên ngồi. Do đó, khả năng ứng
dụng web bị truy xuất từ những hacker bên ngoài là cao hơn so với ứng dụng
chạy trực tiếp.
• Điểm thứ nhì, đó là sự đa dạng về mặt trình độ, kỹ năng, tài nguyên sẵn có, v.v…
của những nhà phát triển ứng dụng web. Trong kiến trúc của hệ thống web, ứng
dụng web là một thành phần hoạt động chung với phần mềm máy chủ web, hệ
quản trị cơ sở dữ liệu, v.v… để cung cấp chức năng cho người dùng. Tuy nhiên,
khác với những thành phần như phần mềm máy chủ web hay hệ quản trị cơ sở dữ
liệu được phát triển bởi các cơng ty hoặc tổ chức lớn, thì ứng dụng web có thể
được phát triển bởi những tổ chức nhỏ hoặc cả những cá nhân độc lập. Điều này
dẫn đến chất lượng ứng dụng web, bao gồm cả chất lượng về mặt bảo mật, có
một sự dàn trải khá rộng.
Để dễ hình dung về tình hình bảo mật của ứng dụng web trên tồn thế giới, có thể xem
qua số liệu thống kê của công ty nghiên cứu và phát triển giải pháp bảo mật web
Acunetix [2]. Trong thống kê này, có những điểm đáng lưu ý sau:
• Trong số những ứng dụng web mà công ty này kiểm tra, có đến 55% chứa lỗi bảo
mật phổ biến như Cross-Site Scripting và SQL injection.
• 84% trong số đó chứa ít nhất một lỗi bảo mật có mức độ nghiêm trọng từ trung
bình trở lên, ví dụ như lỗi Cross-Site Request Forgery (CSRF).
• Gần 8% hệ thống được kiểm tra có chứa ít nhất một lỗi bảo mật ở mức nghiêm
trọng cao.
2
Những số liệu trên cho thấy còn khá nhiều ứng dụng web có chứa các vấn đề về bảo
mật cần giải quyết. Nhìn chung, các giải pháp về bảo mật cho ứng dụng web nói riêng,
cho các hệ thống thơng tin nói chung, có thể được phân vào hai hướng tiếp cận sau:
• Tự động hóa bảo mật: trong hướng tiếp cận này, các quyết định về bảo mật,
chẳng hạn như việc kết luận xem có tấn cơng vào ứng dụng web hay khơng, hoặc
có lỗ hổng bảo mật nào trong ứng dụng hay không, chủ yếu được quyết định một
cách tự động, khơng có hoặc có ít sự tác động của nhà quản trị. Theo quan điểm
của luận án, những tình huống mà cách tiếp cận này tỏ ra phù hợp là khi bài toán
bảo mật đã rõ ràng, cụ thể. Chẳng hạn như khi dấu hiệu (Signature) của một loại
tấn cơng cụ thể đã được xác định, thì việc đưa dấu hiệu này vào một hệ thống
tường lửa (Firewall) để tự động ngăn chặn các tấn công tương tự sau đó có thể
được hiện thực hiệu quả theo cách tiếp cận này.
• Bảo mật dựa trên con người: trong hướng tiếp cận này, các quyết định về bảo mật
liên quan đến ứng dụng web chủ yếu được đưa ra bởi nhà quản trị, thông thường
bằng cách theo dõi và phân tích hoạt động của ứng dụng trong một khoảng thời
gian. Trong hướng tiếp cận này, công sức bỏ ra của nhà quản trị là khá lớn.
Nhưng cách tiếp cận này lại phù hợp trong những tình huống mà quyết định về
bảo mật mang tính phức tạp, khơng rõ ràng, có nhiều khó khăn trong việc ra
quyết định tự động. Chẳng hạn như khi một ứng dụng web có lượng truy cập tăng
đột biến, thì đây có thể là dấu hiệu của một đợt tấn công từ chối dịch vụ (Denial
of Service – DoS) hoặc cũng có thể là kết quả của một chiến dịch tiếp thị hay một
sự kiện liên quan. Trong trường hợp này, một nhà quản trị có kiến thức nghiệp vụ
và thơng tin về sự kiện của tổ chức sẽ dễ dàng ra quyết định chính xác hơn so với
một cơng cụ ra quyết định tự động chỉ dựa trên thông tin về lượng truy xuất.
Hai hướng tiếp cận kể trên khơng mang tính loại trừ lẫn nhau. Một giải pháp có thể kết
hợp cả hai hướng tiếp cận để tăng cường bảo mật, chẳng hạn như bằng cách tự động ra
quyết định cho những tình huống bảo mật đã rõ ràng và để nhà quản trị ra quyết định
cho những trường hợp còn lại. Hoặc một ví dụ khác là cung cấp cơng cụ phù hợp để
nhà quản trị tự tìm hiểu, phân tích hệ thống trong thời gian đầu, để có cái nhìn tổng
quan và chi tiết về hệ thống. Sau khi đã có ít nhiều thơng tin về hệ thống cần bảo vệ,
3
nhà quản trị có thể khai thác những giải pháp ra quyết định bảo mật tự động, đối với
những tình huống mà họ đã biết rõ, để tiết kiệm thời gian và cơng sức.
Mặc dù đã có nhiều nghiên cứu về bảo mật ứng dụng web thông qua hướng tiếp cận tự
động hóa bảo mật, các nghiên cứu theo hướng bảo mật dựa trên con người còn khá hạn
chế. Theo quan điểm riêng của luận án, một trong số những nguyên nhân chủ yếu là
cách tiếp cận này đòi hỏi khá nhiều công sức và thời gian của nhà quản trị, cũng như
mang tính chủ quan nên khó tổng qt hóa thành phương pháp. Tuy nhiên, như đã
phân tích ở trên, bảo mật dựa trên con người cũng có vai trò nhất định, quan trọng
trong việc nâng cao bảo mật ứng dụng web. Để cải thiện năng suất của việc ra quyết
định về bảo mật dựa trên con người, một trong số những phương pháp được sử dụng
rộng rãi hiện nay là tích hợp trực quan hóa thơng tin (Information Visualization) và
tương tác người dùng (User Interaction) vào quá trình phân tích và ra quyết định.
Trong phương pháp này, nhà quản trị vẫn đóng vai trị chính trong việc ra quyết định.
Tuy nhiên, cơng việc quan sát và phân tích để ra quyết định đã được hỗ trợ đáng kể
bởi những kỹ thuật trực quan hóa và tương tác người dùng phù hợp.
1.2 Trực quan hóa thơng tin trong bảo mật
Định nghĩa một cách đơn giản, trực quan hóa thơng tin là kỹ thuật sử dụng hình ảnh
trực quan kết hợp với những công cụ tương tác người dùng phù hợp để biểu diễn dữ
liệu trừu tượng nhằm mục đích hỗ trợ, tăng cường nhận thức của người dùng. Còn theo
Edward R. Tufte, một trong những người có đóng góp tiên phong trong lĩnh vực trực
quan hóa thơng tin, thì đó là sự biểu diễn dữ liệu bằng cách kết hợp các đối tượng như
điểm, đường, hệ tọa độ, con số, ký hiệu, từ ngữ, độ bóng, và màu sắc [3]. Những đối
tượng được biểu diễn trong trực quan hóa thơng tin là những đối tượng trừu tượng, hay
nói một cách khác là những đối tượng khơng có một vị trí hoặc kích thước cụ thể trong
khơng gian vật lý, chẳng hạn như địa chỉ nhà, tên đường phố, hay kinh vỹ độ trên bề
mặt Trái Đất. Một ví dụ về đối tượng trừu tượng phù hợp cho trực quan hóa thơng tin
là ứng dụng web. Một ứng dụng web chỉ bao gồm tập hợp các trang web với địa chỉ
URL xác định cho mỗi trang, và không chứa thêm bất kỳ thơng tin nào liên quan đến
vị trí hay kích thước vật lý. Nhưng khi ứng dụng web được trực quan hóa thì mỗi trang
web có thể được hiển thị tại một vị trí xác định nào đó trong khơng gian màn hình,
4
cũng như mối liên kết giữa các trang cũng có thể được biểu diễn bằng các đoạn thẳng
trong không gian màn hình. Đây là sự khác nhau cơ bản giữa trực quan hóa thơng tin
và trực quan hóa khoa học (Scientific Visualization). Trong trực quan hóa khoa học,
mục tiêu chính là biểu diễn trực quan các hiện tượng sinh học, kiến trúc, y học, địa lý,
v.v… xảy ra trong không gian vật lý ba chiều, trong đó nhấn mạnh vào việc biểu diễn
càng gần thực tế càng tốt những tính chất của hiện tượng như không gian, bề mặt,
nguồn phát sáng, v.v…[4]. Trong luận án này, đối tượng chính để trực quan hóa là ứng
dụng web cùng với những thành phần, tính chất, hành vi liên quan trong đó như là các
trang web, mối liên kết giữa các trang, các trường nhập dữ liệu, truy xuất của người
duyệt web, lỗ hổng bảo mật trong ứng dụng, v.v… Đây đều là các đối tượng trừu
tượng nên những kỹ thuật trực quan hóa đề xuất trong luận án này thuộc vào nhóm
trực quan hóa thơng tin, với mục tiêu chính là truyền tải thông điệp hiệu quả chứ
không đặt nặng về biểu diễn thực như trực quan hóa khoa học. Ngồi ra, mặc dù luận
án sử dụng thuật ngữ trực quan hóa thơng tin, nhưng đối với các hệ thống trực quan
hóa trên máy tính thì tương tác người dùng là một thành phần không thể thiếu. Tương
tác người dùng bổ sung đáng kể cho trực quan hóa thơng tin như làm nổi bật một khu
vực hiển thị nào đó, xem dữ liệu ở mức độ tổng quát hoặc chi tiết hơn, lọc dữ liệu hiển
thị, v.v… Do đó, kể từ thời điểm này trở đi, thuật ngữ trực quan hóa thơng tin trong
luận án được dùng để ám chỉ sự kết hợp của cả trực quan hóa thơng tin lẫn tương tác
người dùng, trừ trường hợp ngoại lệ sẽ được phát biểu một cách tường minh.
Mặc dù trực quan hóa thơng tin khơng phải là cơng cụ hồn hảo để giải quyết tất cả
vấn đề liên quan đến vai trò ra quyết định của con người, nhưng việc sử dụng trực
quan hóa thơng tin nói chung có những ích lợi sau:
• Hỗ trợ người xem nhận thức nhanh chóng thơng tin cần diễn đạt. Bằng cách sử
dụng các thuộc tính tiền chú ý (Preattentive Attributes) [5] [6] như màu sắc, hình
dạng, sự di chuyển và vị trí trong khơng gian để biểu diễn các đối tượng trừu
tượng, những hệ thống trực quan hóa thơng tin cho phép người xem nhanh chóng
nhận ra những thông tin cần nhấn mạnh, cũng như hỗ trợ họ xử lý thông tin song
song, giúp tăng tốc đáng kể q trình nhận thức.
• Thể hiện được nhiều thơng tin trên một khơng gian màn hình. Khi cần biểu diễn
lượng thơng tin lớn, trực quan hóa thơng tin tỏ ra hiệu quả hơn so với cách biểu
5
diễn truyền thống bằng bảng biểu hoặc văn bản. Chẳng hạn như trong nhóm kỹ
thuật trực quan hóa thơng tin dựa trên pixel (Pixel-Oriented Visualization) [7],
mỗi giá trị sẽ được chuyển thành một pixel trên màn hình máy tính. Cách biểu
diễn này cho phép khai thác tốt hơn không gian màn hình, đồng thời vẫn cho
phép thấy được những nội dung quan trọng.
• Cho thấy được mối liên hệ hoặc so sánh giữa các đối tượng trừu tượng nhanh
chóng. Bằng cách thể hiện thông tin dưới dạng đồ họa, trực quan hóa thơng tin có
thể giúp người xem nhanh chóng nhận ra mối liên hệ giữa các đối tượng trừu
tượng với nhau. Trong khi đó, nếu những đối tượng này được biểu diễn dưới
dạng số hoặc văn bản, thì người xem phải đọc qua tồn bộ nội dung mới có thể
thấy được phần nào mối liên hệ giữa chúng. Một số kỹ thuật trực quan hóa thơng
tin như phương pháp các trục tọa độ song song (Parallel Coordinates) [8] hay ma
trận đồ thị phân tán (Scatterplot Matrix) [9] còn cho phép biểu diễn dữ liệu với số
chiều không gian lớn trên màn hình hai chiều, làm nổi bật mối liên hệ giữa các
đối tượng dữ liệu hoặc giữa các chiều khơng gian dữ liệu.
• Hỗ trợ tương tác để phục vụ nhu cầu phân tích. Đối với những hệ thống trực quan
hóa thơng tin trên máy tính, ngồi việc biểu diễn thơng tin, chúng cịn cung cấp
chức năng tương tác với người dùng. Thơng qua q trình tương tác, người dùng
có thể nhận thức dữ liệu ở nhiều góc độ khác nhau, hoặc ở những mức độ trừu
tượng khác nhau. Mặc dù giao diện người dùng dựa trên văn bản cũng có thể
cung cấp những chức năng tương tác, quá trình tương tác trong trực quan hóa
thơng tin diễn ra tự nhiên hơn. Phương pháp phân loại cách thức tương tác theo
kiểu dữ liệu được đề xuất bởi Shneiderman [10] là một tham khảo hữu ích trong
việc hệ thống hóa cách thức tương tác trong trực quan hóa thơng tin.
Với những ích lợi kể trên, trực quan hóa thơng tin đã được ứng dụng trong nhiều lĩnh
vực khác nhau để khai thác cùng lúc ưu điểm về mặt xử lý đồ họa của máy tính và khả
năng suy luận trực quan của con người. Trong số đó, bảo mật cũng là một hướng ứng
dụng tiềm năng. Một lý do cho nhận định này là vì khơng phải bài tốn bảo mật nào
cũng có thể được định nghĩa rõ ràng và chính xác để giải quyết tự động, mà cịn cần
đến vai trị khơng thể thiếu của con người. Và như đã đề cập, trực quan hóa thơng tin
là một cơng cụ phù hợp để tăng cường khả năng phân tích, nhận thức, và ra quyết định
6
của con người. Hiện nay, hàng năm, hiệp hội quốc tế IEEE đều có tổ chức hội nghị
chuyên về ứng dụng trực quan hóa thơng tin để giải quyết các bài tốn bảo mật với đối
tượng tham gia khơng chỉ là các nhà nghiên cứu mà còn bao gồm cả các tổ chức chính
phủ và doanh nghiệp [11]. Những chủ đề đã và đang được nghiên cứu trong bảo mật
dựa trên trực quan hóa thơng tin khá đa dạng, khơng chỉ về loại bài tốn, mà cịn về kỹ
thuật trực quan hóa, đối tượng người dùng, loại dữ liệu để trực quan hóa, v.v…
Mặc dù trực quan hóa thơng tin đã được sử dụng khá nhiều để giải quyết các vấn đề
liên quan đến bảo mật, cho đến thời điểm gần đây, vẫn chưa có nhiều nghiên cứu về
ứng dụng trực quan hóa thơng tin trong bảo mật ứng dụng web. Điều này được chỉ ra
trong bài khảo sát [12]. Trong bài khảo sát này, các tác giả đã chỉ ra trong một hệ
thống thông tin dựa trên nền tảng web, bao gồm phần mềm máy chủ web, phần mềm
trình duyệt web, và ứng dụng web, thì ứng dụng web là thành phần hạn chế nhất về số
lượng nghiên cứu ứng dụng trực quan hóa thơng tin cho mục tiêu bảo mật. Trong khi
đó, ứng dụng web lại là một trong những thành phần chứa nhiều lỗi bảo mật nhất, như
đã chỉ ra trong thống kê [2].
1.3 Mục tiêu và phạm vi luận án
1.3.1 Mục tiêu luận án
Mục tiêu chính của luận án là đề xuất các nguyên lý và giải pháp để hỗ trợ nhà quản trị
trong việc bảo mật ứng dụng web mà họ quản lý. Kỹ thuật nền tảng được sử dụng
trong luận án để đạt mục tiêu trên là trực quan hóa thơng tin. Để gắn kết mục tiêu
chính và kỹ thuật nền tảng lại với nhau, lý thuyết phạm trù được sử dụng. Dựa trên đó,
một phương pháp đánh giá định lượng các kỹ thuật trực quan hóa thơng tin đã được
phát triển. Song song với đánh giá định lượng, phương pháp đánh giá định tính cũng
được dùng để chỉ ra ưu điểm của trực quan hóa thơng tin về mặt hỗ trợ người dùng.
Do số lượng các kỹ thuật đã phát triển là khá lớn, luận án đã xây dựng một hệ thống
phân loại các kỹ thuật này để việc tiếp cận có tổ chức hơn. Hệ thống phân loại này sẽ
được trình bày chi tiết trong Chương 3, cịn dưới đây là mơ tả sơ lược về những tiêu
chí phân loại:
• Phân loại dựa trên mức độ của dữ liệu nguồn được trực quan hóa: dữ liệu nguồn
để trực quan hóa là có thể là dữ liệu thô hay dữ liệu đã qua xử lý và tổng hợp.
7
• Phân loại dựa trên loại tác vụ mà nhà quản trị được hỗ trợ: những tác vụ mà nhà
quản trị có thể thực hiện với sự hỗ trợ của cơng cụ trực quan hóa thơng tin có thể
phân loại thành hai nhóm: quan sát và phân tích.
• Phân loại dựa trên vị trí của các đối tượng bảo mật được trực quan hóa: đối tượng
bảo mật được trực quan hóa có thể nằm bên trong ứng dụng web như các lỗi bảo
mật hiện có, hoặc ở bên ngồi ứng dụng như các tấn cơng của hacker.
• Phân loại dựa trên mức độ tổng quát hoặc chi tiết của ứng dụng web khi được
trực quan hóa: ứng dụng web có thể được trực quan hóa tồn bộ hoặc chỉ một khu
vực riêng nào đó, chẳng hạn như từng trang.
Tóm lại, luận án có hai nhóm mục tiêu: mục tiêu tổng quát và mục tiêu cụ thể. Trong
đó, mục tiêu cụ thể bao gồm một ba mục tiêu nhỏ hơn (mô tả trong Bảng 1.1).
Bảng 1.1 Mục tiêu của luận án
Mục tiêu
Mô tả mục tiêu
Mục tiêu tổng quát
Đề xuất và phát triển các nguyên lý và giải pháp
hỗ trợ nhà quản trị trong bảo mật ứng dụng web
Mục tiêu cụ thể 1
Xây dựng mơ hình lý thuyết cho quy trình bảo mật
ứng dụng web dựa trên trực quan hóa thơng tin và
tương tác người dùng
Mục tiêu cụ thể 2
Phát triển một hệ thống phân loại các kỹ thuật bảo
mật ứng dụng web dựa trên trực quan hóa thơng
tin và tương tác người dùng
Mục tiêu cụ thể 3
Thiết kế, hiện thực, và đánh giá một số kỹ thuật
trực quan hóa thơng tin để bảo mật ứng dụng web,
dựa trên mơ hình lý thuyết đề xuất trong Mục tiêu
cụ thể 1 và hệ thống phân loại đề xuất trong Mục
tiêu cụ thể 2
1.3.2 Phạm vi luận án
Đối với bài toán bảo mật ứng dụng web thơng qua trực quan hóa thơng tin, luận án này
có các giả định và giới hạn sau:
• Về đối tượng được bảo mật, luận án chỉ tập trung vào ứng dụng web. Mỗi ứng
dụng web phải được triển khai trên một hoặc nhiều máy chủ vật lý, và được gọi
8
thực thi thông qua phần mềm máy chủ web, cũng như có thể truy xuất đến phần
mềm máy chủ cơ sở dữ liệu hoặc các hệ thống khác. Tuy nhiên, trong luận án
này, việc bảo mật những thành phần liên quan khơng được đề cập đến. Xét một ví
dụ, như trường hợp phần mềm máy chủ web có chứa lỗi bảo mật, thì việc bảo vệ
máy chủ web để hacker không thể tấn công trực tiếp vào sẽ không thuộc phạm vi
luận án. Xét một ví dụ thứ hai, việc hacker tấn công vào máy chủ cơ sở dữ liệu
một cách trực tiếp, chẳng hạn thông qua kết nối trực tiếp đến đó, cũng khơng
thuộc phạm vi luận án. Nhưng xét ví dụ thứ ba, là trường hợp hacker thơng qua
ứng dụng web để truy xuất vào cơ sở dữ liệu một cách bất hợp pháp, lại thuộc
phạm vi luận án. Tóm lại, đối tượng được bảo mật trong luận án chỉ bao gồm ứng
dụng web, không bao gồm các thành phần liên quan khác.
• Về vị trí truy cập đến ứng dụng web, luận án chỉ tập trung vào việc bảo mật khi
ứng dụng web được truy xuất từ xa, thơng qua mạng cục bộ hoặc Internet. Nói
một cách khác, ứng dụng web được truy xuất thông qua một địa chỉ IP hoặc tên
miền, chứ không phải bằng cách truy xuất trực tiếp đến các file tạo nên ứng dụng
web. Giả định này dẫn đến hai hệ quả sau: thứ nhất, luận án không quan tâm về
việc bảo mật ở mức vật lý (chẳng hạn thông qua việc xem và sửa chữa trực tiếp
mã nguồn ứng dụng hoặc file cấu hình); thứ hai, ứng dụng web được truy xuất
thơng qua các địa chỉ URL chứ không phải thông qua các file vật lý. Hai hệ quả
này làm cho ứng dụng web có thể được xem xét ở mức độ trừ tượng cao hơn, như
là một tập hợp các địa chỉ URL, còn tổ chức file vật lý bên dưới và cách thức xác
định mối liên quan hai chiều từ file vật lý sang URL và ngược lại khơng đóng vai
trị quan trọng trong luận án. Thơng qua đó, những kỹ thuật đề xuất trong luận án
không phụ thuộc vào tổ chức vật lý thực sự của ứng dụng web, chẳng hạn như dù
ứng dụng được triển khai trên một hay nhiều máy chủ vật lý, thì việc xem xét ứng
dụng vẫn như nhau. Giả định này cho phép các kỹ thuật đề xuất trong luận án có
phạm vi ứng dụng khơng phụ thuộc vào việc triển khai ứng dụng.
• Về cách thức bảo mật, luận án tập trung vào việc hỗ trợ người dùng, là nhà quản
trị ứng dụng web, tự bảo mật hệ thống của mình thơng qua việc cung cấp những
phương pháp và công cụ kỹ thuật phù hợp, mà không thực hiện hành động hay
đưa ra quyết định bảo mật nào một cách tự động. Chẳng hạn luận án có thể đề
9
xuất các kỹ thuật giúp người dùng tìm kiếm những đối tượng dữ liệu bất thường
theo nhận định chủ quan của họ, nhưng luận án không phát triển kỹ thuật để phân
loại dữ liệu nào là bình thường hoặc bất thường. Xét một ví dụ khác, luận án có
thể đề xuất phương pháp biểu diễn q trình tấn cơng vào ứng dụng web từ bên
ngồi, qua đó hỗ trợ người dùng nhận định tấn công là từ con người hay từ công
cụ tự động, nhưng luận án không phát triển kỹ thuật để tự động nhận dạng nguồn
gốc tấn công vào ứng dụng web. Tóm lại, những kỹ thuật đề xuất và hiện thực
trong luận án có tác dụng hỗ trợ người dùng chứ khơng thay thế vai trị của họ
trong việc bảo mật ứng dụng web.
1.4 Những đóng góp chính của luận án
Luận án có ba đóng góp chính như sau
• Về mặt lý thuyết: luận án sử dụng lý thuyết phạm trù để xây dựng mơ hình cho
quy trình trực quan hóa thơng tin trong bảo mật. Thơng qua đó, luận án đã phát
triển một phương pháp đánh giá các kỹ thuật trực quan hóa về mặt định lượng.
Tuy nhiên, phạm trù mà luận án sử dụng để mơ hình hóa quy trình trực quan hóa
thơng tin là chưa đầy đủ. Một vài yếu tố quan trọng như kiến thức và kinh
nghiệm của nhà quản trị chưa được đưa vào phạm trù một cách chính thức.
• Về mặt phương pháp: luận án đã đề xuất một hệ thống phân loại các kỹ thuật trực
quan hóa thơng tin đối với bài tốn bảo mật ứng dụng web. Thơng qua hệ thống
này, có thể định vị các kỹ thuật trực quan hóa bảo mật ứng dụng web khác. Hơn
nữa, hệ thống phân loại cũng có thể giúp xác định những vấn đề còn chưa được
khảo sát và nghiên cứu đầy đủ. Mặc dù hệ thống phân loại này chưa đầy đủ,
nhưng đã có đóng góp quan trọng trong việc phân tích, đánh giá, so sánh các kỹ
thuật trực quan hóa trong bảo mật ứng dụng web với nhau.
• Về mặt kỹ thuật: luận án đã đề xuất, thiết kế, và hiện thực một số kỹ thuật trực
quan hóa thơng tin cụ thể để hỗ trợ bảo mật ứng dụng web. Thông qua thực
nghiệm, sự hỗ trợ của các kỹ thuật này đã được xác nhận. Những kỹ thuật này
chưa phủ đầy hệ thống phân loại đã đề cập trong phần phương pháp. Thơng qua
đó cho thấy được những nhu cầu, vấn đề, và giải pháp kỹ thuật cụ thể cần nghiên
cứu trong tương lai.
10
1.5 Cấu trúc của luận án
Chương 2 của luận án trình bày các kiến thức nền tảng phục vụ cho việc phát triển
những kỹ thuật cụ thể được mô tả trong các chương sau. Cụ thể hơn, phần đầu của
Chương 2 trình bày về kiến thức nền tảng trong bảo mật ứng dụng web. Phần giữa của
Chương 2 giới thiệu hoạt động của hệ thống trực quan hóa thơng tin và những phương
pháp để đánh giá một hệ thống trực quan hóa thơng tin. Và phần cuối của Chương 2 đề
cập đến lý thuyết phạm trù, cũng như cách thức lý thuyết này được vận dụng vào bài
toán bảo mật ứng dụng web dựa trên trực quan hóa thơng tin.
Trong Chương 3, hướng tiếp cận để giải quyết bài toán bảo mật ứng dụng web dựa
trên trực quan hóa được trình bày. Cụ thể, các đối tượng bảo mật trong ứng dụng web
sẽ được xác định và làm rõ trong phần đầu của Chương 3; phần kế tiếp của Chương 3
phát triển một hệ thống phân loại các kỹ thuật trực quan hóa dựa trên những đối tượng
bảo mật đã xác định. Dựa trên hệ thống phân loại này, từng kỹ thuật trực quan hóa cụ
thể được định vị một cách xác định. Phần cuối của Chương 3 tổng quát hóa hai phần
trước đó bằng cách xem xét quy trình trực quan hóa bảo mật như một phạm trù tốn
học.
Những kỹ thuật bảo mật dựa trên trực quan hóa thơng tin ở mức độ tồn ứng dụng
được mơ tả trong Chương 4. Đặc điểm chung của các kỹ thuật này là chú trọng vào
mục tiêu làm rõ những vấn đề bảo mật trong khơng gian tồn ứng dụng web, thơng
qua việc thể hiện trực quan mối liên kết giữa các trang khác nhau, và định vị những
đối tượng bảo mật liên quan vào trong không gian này. Trong phần đầu của Chương 4,
đối tượng bảo mật được quan tâm là những lỗi bảo mật tồn tại trong ứng dụng web.
Trong hai phần cịn lại, đó là các tấn cơng vào ứng dụng web, có thể được xét riêng lẻ
như trong phần thứ nhì, hay gom nhóm lại dưới dạng kịch bản tấn công như trong
phần cuối cùng của Chương 4.
Tiếp nối Chương 4, những kỹ thuật bảo mật dựa trên trực quan hóa ở mức độ từng
trang trong ứng dụng web được mô tả trong Chương 5. Đối với từng trang web, có
mức độ chi tiết hơn, thì đối tượng bảo mật liên quan là dữ liệu nhập từ bên ngồi vào
một trang web cụ thể nào đó. Việc xử lý tốt dữ liệu đầu vào trên từng trang đảm bảo sự
11
an toàn trên toàn ứng dụng web. Những kỹ thuật đề xuất trong Chương 5 có mục tiêu
chung là hỗ trợ duyệt, phân tích dữ liệu nhập là bình thường hay bất thường. Trong
phần đầu của Chương 5, một giao diện trực quan được xây dựng để phân tích dữ liệu
nhập với số lượng lớn. Còn trong phần cuối của Chương 5, luận án trình bày một giao
diện trực quan hỗ trợ quá trình phát triển luật nhận dạng tấn cơng trên ứng dụng web.
Chương 6 trình bày tổng kết về luận án. Trong phần đầu của Chương 6, những kết quả
mà luận án đạt được sẽ được mô tả. Phần kế tiếp của Chương 6 được dành để đánh giá
về những hạn chế mà luận án còn chưa giải quyết được. Một số nội dung của luận án
có thể phát triển trong tương lai được mô tả ở phần cuối cùng của Chương 6.
12
CHƯƠNG 2
KIẾN THỨC NỀN TẢNG
2.1 Bảo mật ứng dụng web
Các vấn đề về bảo mật ứng dụng web có thể đến từ bên ngoài hoặc bên trong bản thân
ứng dụng web. Vấn đề bên ngồi điển hình là các tấn công vào ứng dụng web, xuất
phát từ con người hoặc cơng cụ tự động. Trong khi đó, vấn đề bên trong bản thân ứng
dụng web là những lỗi bảo mật tồn tại trong ứng dụng. Mặc dù được phân loại thành
bên ngoài hoặc bên trong, những vấn đề bảo mật này có liên quan mật thiết với nhau:
lỗ hổng bảo mật từ bên trong tạo điều kiện cho tấn công từ bên ngồi, và tấn cơng từ
bên ngồi chỉ hiệu quả nếu khai thác được lỗi bảo mật nào đó trong ứng dụng. Hình
2.1 minh họa sự liên quan giữa tấn công (attack vectors) và lỗi bảo mật (security
weaknesses) trong quy trình bảo mật chung [13].
Hình 2.1 Vị trí và mối liên hệ giữa tấn công và lỗi bảo mật trên ứng dụng web [13]
Để đánh giá nguy cơ của tấn công và lỗi bảo mật, tổ chức quốc tế về bảo mật ứng dụng
web OWASP sử dụng 4 tiêu chí: Khả năng khai thác (Exploitability), Mức độ phổ biến
(Weakness Prevalence), Sự dễ phát hiện (Weakness Detectability), và Ảnh hưởng về
mặt kỹ thuật (Technical Impacts). Ứng với mỗi tiêu chí, sẽ có các mức độ ảnh hưởng
khác nhau. Chẳng hạn đối với tiêu chí Khả năng khai thác, có thể có các mức độ Dễ
khai thác – 1, Trung bình – 2, và Khó khai thác – 3. Mức độ ảnh hưởng càng cao thì
nguy cơ bảo mật càng nghiêm trọng.
Trong số các nguy cơ hàng đầu đối với ứng dụng web mà OWASP thống kê, ngoại trừ
một số ít liên quan về mặt cấu hình (ví dụ A6: Security Misconfiguration) hoặc lựa
13
chọn giải pháp (ví dụ A9: Using Components with Known Vulnerabilities), những
nguy cơ cịn lại ít nhiều liên quan đến việc xử lý và/hoặc hiển thị dữ liệu nhập vào từ
bên ngồi. Chẳng hạn, nhóm nguy cơ A1: Injection mà phổ biến nhất là SQL Injection
liên quan đến việc cho phép người dùng bên ngoài chèn mã SQL bất kỳ vào chương
trình. Hoặc nhóm nguy cơ A7: Cross-Site Scripting liên quan đến việc hiển thị nội
dung bất kỳ được nhập vào lên trình duyệt mà khơng kiểm tra sự an tồn của nội dung
đó. Ngồi ra, ở đây cần lưu ý là các nhóm nguy cơ liệt kê ở đây khơng mang tính loại
trừ lẫn nhau. Chẳng hạn, một nguy cơ về Injection có thể dẫn đến nguy cơ Broken
Authentication, Sensitve Data Exposure, Broken Access Control, v.v…
2.2 Hệ thống trực quan hóa thơng tin
2.2.1 Tổng quan về trực quan hóa thơng tin
Trực quan hóa thơng tin là lĩnh vực nghiên cứu liên ngành về việc sử dụng hình ảnh
trực quan và tương tác người dùng để biểu diễn, trao đổi, phân tích, cũng như thấu
hiểu thơng tin. Tùy theo mục đích chính của người sử dụng, hệ thống trực quan hóa
thơng tin có thể chú trọng hơn về một hoặc vài chức năng nào đó, cũng như có thể bỏ
bớt những chức năng khơng cần thiết. Có nhiều cách khác nhau để phân loại những
chức năng của hệ thống trực quan hóa thơng tin. Theo Riccardo Mazza [14], trực quan
hóa thơng tin có ba chức năng chính: biểu diễn, phân tích khám phá, và phân tích xác
nhận. Ba chức năng này không loại trừ lẫn nhau và mỗi hệ thống trực quan hóa thơng
tin có thể cung cấp nhiều hơn một chức năng cùng lúc.
2.2.1.1 Biểu diễn (Presentation)
Đây là một trong những chức năng cơ bản nhất của trực quan hóa thơng tin. Chức
năng này cho phép trình bày, truyền đạt một cách hiệu quả thông tin cần thiết trong
một khơng gian hạn chế, chẳng hạn như màn hình máy tính. Bằng cách kết hợp những
tính chất đồ họa khác nhau, trực quan hóa thơng tin có thể trình bày một lượng lớn
thông tin mà vẫn giúp người xem kiểm sốt được nội dung chính. Một ví dụ cho chức
năng này được minh họa trong Hình 2.2, mơ tả về ứng dụng Newsmap [15]. Đây là
một ứng dụng tổng hợp và trực quan hóa tin tức. Qua giao diện mà Newsmap cung
cấp, có thể nhanh chóng nhận ra những tin tức nào là quan trọng, được nhiều nguồn
đăng, qua kích thước của hình chữ nhật chứa mẫu tin đó. Màu sắc hình chữ nhật chứa
14