Đăng ký Đăng nhập
Trang chủ Trực quan hóa trong bảo mật ứng dụng web ...

Tài liệu Trực quan hóa trong bảo mật ứng dụng web

.PDF
170
31
71

Mô tả:

ĐẠ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 toá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 Để hoà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ể hoà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 quá 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 TOÀ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ù hoà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à toà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 toá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 toà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 toà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 ngoà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 toà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 quát 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. Ngoà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ụ hoà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ể quá 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 toà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, ngoà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 quá 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 toá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 toá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 toá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 ngoà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 toà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
- Xem thêm -

Tài liệu liên quan