Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 170 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
170
Dung lượng
11,65 MB
Nội dung
ĐẠ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: PGS TS ĐẶNG TRẦN KHÁNH GS TS JOSEF KÜNG LỜI CAM ĐOAN Tác giả xin cam đoan công trình nghiên cứu thân tác giả Các kết nghiên cứu kết luận luận án trung thực, không chép từ nguồn hình thức Việc tham khảo nguồn tài liệu (nếu có) thực trích dẫn ghi nguồn tài liệu tham khảo 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 tảng để phát triển triển khai phần mềm phổ biến Tuy nhiên, phổ biến làm cho ứng dụng web trở thành đích cơng mơi trường Internet Mặc dù có nhiều nghiên cứu bảo mật ứng dụng web, hầu hết tiếp cận theo hướng tự động hóa, tách vai trị nhà quản trị khỏi tác vụ bảo mật Nhận thấy vai trò người thiếu, luận án nghiên cứu phát triển mơ hình, thiết kế, kỹ thuật để nâng cao khả nhà quản trị 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 tương tác người dùng Ưu điểm cách tiếp cận vừa tận dụng sức mạnh tính tốn máy tính, vừa khai thác khả suy luận người Trong luận án, lý thuyết phạm trù 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á mặt định lượng cho kỹ thuật trực quan hóa đề xuất Đây đóng góp thứ luận án Đóng góp thứ hai luận án khảo sát, thiết kế, thực, tổ chức thí nghiệm số kỹ thuật trực quan hóa việc hỗ trợ số toán bảo mật ứng dụng web cụ thể Đóng góp cuối không phần quan trọng luận án đưa hệ thống phân loại kỹ thuật trực quan hóa thơng tin lĩnh vực bảo mật ứng dụng web Hệ thống phân loại sử dụng để định vị kỹ thuật phát triển tương lai, xác định vấn đề chưa xem xét đầy đủ Luận án cịn số hạn chế định khắc phục tương lai Hai hạn chế đáng kể đối tượng tham gia thí nghiệm cịn chưa phong phú, liệu cho thí nghiệm cần mang tính thực tế 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 luận án này, khơng thể cần cơng sức tơi Thật sự, luận án khơng thể hồn thành khơng có hỗ trợ 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, giảng viên hướng dẫn tơi Thầy nghiêm khắc kiên trì suốt q trình học tơi Thầy khơng hướng dẫn 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 khoa học Khơng thế, Thầy cịn cho thấy đường để tồn phát triển môi trường học thuật Việt Nam Gia đình tơi, đặc biệt Mẹ, Vợ, hai Minh Châu, Minh Thư Gia đình ủng hộ làm Nghiên cứu sinh, biết phải đánh đổi lợi ích kinh tế gia đình Thời gian quý báu bên gia đình bị ảnh hưởng nhiều q trình viết luận án Hai Minh Châu, Minh Thư nhỏ, tinh nghịch sẵn sàng lui khỏi phòng ba làm việc Các thầy cô hội đồng chấm luận án cấp Khoa, cấp Trường, phản biện độc lập luận án Các thầy cô đầu tư nhiều thời gian 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ẽ đầy đủ Những thành viên nhóm nghiên cứu D-STAR, trường ĐHBK HCM Mặc dù chủ đề nghiên cứu luận án không liên quan nhiều đến hướng nghiên cứu thành viên lại, hỗ trợ tơi nhận từ nhóm khơng nhỏ Không hỗ trợ mặt kỹ thuật, thành viên D-STAR cịn hỗ trợ tơi nhiều 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 Khoa KH & KT Máy Tính, ĐHBK HCM Làm việc Khoa KH & KT Máy Tính vinh hạnh cho tơi Đây môi trường thân thiện, cộng tác không phần cạnh tranh mặt học thuật Chỉ có làm việc tơi có đủ động lực để viết hoàn thành luận án 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 GIỚI THIỆU 1.1 Bảo mật ứng dụng web 1.2 Trực quan hóa thơng tin bảo mật 1.3 Mục tiêu phạm vi luận án 1.3.1 Mục tiêu luận án 1.3.2 Phạm vi luận án 1.4 Những đóng góp luận án 10 1.5 Cấu trúc luận án 11 CHƯƠNG 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 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 người sử dụng 21 2.3.2 Đánh giá không dựa người sử dụng 23 2.3.3 Kỹ thuật đánh giá dùng luận án 24 2.4 Lý thuyết phạm trù trực quan hóa thơng tin 25 2.4.1 Giới thiệu lý thuyết phạm trù 25 2.4.2 Lý thuyết phạm trù trực quan hóa thơng tin 26 v CHƯƠNG 3.1 HƯỚNG TIẾP CẬN 29 Đối tượng bảo mật ứng dụng web 29 3.1.1 Vai trị vị trí ứng dụng web 29 3.1.2 Đặc điểm đối tượng bảo mật ứ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 tác vụ bảo mật 32 3.2.2 Trực quan hóa bảo mật ứng dụng web 34 3.3 Đánh giá kỹ thuật mặt định lượng 37 3.3.1 Phạm trù trực quan hóa bảo mật ứng dụng web 37 3.3.2 Đánh giá hiệu kỹ thuật trực quan hóa dựa lý thuyết phạm trù 40 CHƯƠNG 4.1 TRỰC QUAN HĨA Ở MỨC TỒN ỨNG DỤNG 45 Trực quan hóa 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 tương tác người dùng 48 4.1.4 Hiện thực 53 4.1.5 Thí nghiệm kết 56 4.1.6 Tóm lược 61 4.2 Trực quan hóa cơng 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 tương tác 65 4.2.4 Hiện thực 72 4.2.5 Thí nghiệm kết 74 4.2.6 Tóm lược 78 4.3 Trực quan hóa kịch công 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 tương tác 84 4.3.4 Hiện thực 88 4.3.5 Thí nghiệm kết 91 vi 4.3.6 Tóm lược 97 CHƯƠNG 5.1 TRỰC QUAN HÓA Ở MỨC TỪNG TRANG 99 Trực quan hóa phân tích 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 tương tác 101 5.1.4 Hiện thực 107 5.1.5 Thí nghiệm kết 110 5.1.6 Tóm lược 115 5.2 Trực quan hóa luật nhận dạng cơng ứ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 tương tác 121 5.2.4 Hiện thực 126 5.2.5 Thí nghiệm kết 128 5.2.6 Tóm lược 132 CHƯƠNG TỔNG KẾT 134 6.1 Kết đạt 134 6.2 Những hạn chế 138 6.3 Hướng phát triển 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 bảo mật hàng đầu ứng dụng web 153 P.2 Kiểm tra hộp đen ứng dụng web 155 vii DANH MỤC CÁC HÌNH ẢNH Hình 2.1 Vị trí mối liên hệ cơng lỗi bảo mật ứng dụng web [13] 13 Hình 2.2 Ứng dụng tổng hợp trực quan hóa tin tức Newsmap 15 Hình 2.3 Giao diện phân tích khám phá Gapminder 16 Hình 2.4 Trực quan hóa tuổi thọ trung bình nước giới 17 Hình 2.5 Quy trình phát triển hệ thống trực quan hóa thơng tin 17 Hình 2.6 Sơ đồ phạm trù đơn giản với đối tượng cấu xạ 25 Hình 2.7 Sơ đồ biểu diễn khái niệm ký hiệu học 27 Hình 3.1 Cấu trúc hệ thống web 29 Hình 3.2 Phạm trù quy trình luận án 37 Hình 3.3 Phạm trù hồn chỉnh 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 lỗi bảo mật 50 Hình 4.2 Trực quan hóa lỗi bảo mật nút 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 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 ứng dụng web 54 Hình 4.5 Kích thước đạt đến giới hạn nhận thức 59 Hình 4.6 Trực quan hóa cơng vào ứng dụng web không gian địa lý – web 68 Hình 4.7 Khơng gian địa lý phóng to (trái) thu nhỏ (phải) 70 Hình 4.8 Tương tác mở rộng (trái) 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 cơng vào ứng dụng web 73 Hình 4.10 Tấn công Subgraph Vega (trái) OWASP Zed Attack Proxy (phải) 75 Hình 4.11 Trực quan hóa kịch công hệ tọa độ thời gian 86 Hình 4.12 Trực quan hóa kịch công 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 cơng vào ứng dụng web 88 Hình 4.14 Giao diện phần mềm xây dựng trực quan hóa kịch cơng 90 Hình 4.15 Kịch công sinh Subgraph Vega 92 Hình 4.16 Kịch công sinh OWASP Zed Attack Proxy 93 Hình 4.17 Kịch cơng sinh Acunetix 93 Hình 4.18 Kịch cơng sinh 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 phần mềm thử nghiệm với khu vực riêng biệt 108 Hình 5.3 Cách thức đánh dấu kết tìm kiếm giao diện 113 Hình 5.4 Quy trình tương tác xây dựng định 123 Hình 5.5 Trực quan hóa nút xét 125 Hình 5.6 Trực quan hóa định hình thành 126 Hình 5.7 Kiến trúc phần mềm hỗ trợ xây dựng định trực quan tương tác 126 Hình 5.8 Hình dạng chung định kết 131 viii [46] T T Dang and T K Dang, “Visualization of Web Form Submissions for Security Analysis,” Int J Web Inf Syst., vol 9, no 2, pp 165–180, 2013 [47] T T Dang, T K Dang, and N T.-G Le, “Interactive Visual Decision Tree for Developing Detection Rules of Attacks on Web Applications,” Int J Adv Comput Sci Appl., vol 9, no 7, pp 30–37, 2018 [48] T T Dang and T K Dang, “Understanding Web Attack Scenarios by Information Visualization,” in Proceedings of the 2013 International Conference on Advanced Computing and Applications (ACOMP 2013), 2013, pp 82–91 [49] T T Dang and T K Dang, “Visualizing Web Attack Scenarios in Space and Time Coordinate Systems,” in Transactions on Large-Scale Data-and Knowledge-Centered Systems XVI, Springer, 2014, pp 1–14 [50] T T Dang and T K Dang, “An Extensible Framework for Web Application Vulnerabilities Visualization and Analysis.,” in Future Data and Security Engineering (FDSE), 2014, vol 8860, pp 86–96 [51] T T Dang and T K Dang, “Extending Web Application IDS Interface: Visualizing Intrusions in Geographic and Web Space,” in Advanced Computing and Applications (ACOMP), 2015 International Conference on, 2015, pp 28– 34 [52] M Jouini, L B A Rabai, and A Ben Aissa, “Classification of Security Threats in Information Systems,” Procedia Comput Sci., vol 32, pp 489–496, 2014 [53] N Jovanovic, C Kruegel, and E Kirda, “Precise Alias Analysis for Static Detection of Web Application Vulnerabilities,” in PLAS ’06: Proceedings of the 2006 workshop on Programming languages and analysis for security, 2006, pp 27–36 [54] G Wassermann and Z Su, “Sound and Precise Analysis of Web Applications for Injection Vulnerabilities,” ACM SIGPLAN Not., vol 42, no 6, p 32, 2007 [55] G Wassermann and Z Su, “Static Detection of Cross-Site Scripting Vulnerabilities,” in ICSE ’08 Proceedings of the 30th international conference on Software engineering, 2008, pp 171–180 [56] A Rimsa, M D’Amorim, F M Q Pereira, and R S Bigonha, “Efficient Static Checker for Tainted Variable Attacks,” Sci Comput Program., vol 80, no PART A, pp 91–105, 2014 [57] Y W Huang, S K Huang, T P Lin, and C H Tsai, “Web Application Security Assessment by Fault Injection and Behavior Monitoring,” in Proceedings of the 12th international conference on World Wide Web, 2003, pp 148–159 [58] S Kals, E Kirda, C Kruegel, and N Jovanovic, “SecuBat : A Web 145 Vulnerability Scanner,” in WWW ’06: Proceedings of the 15th international conference on World Wide Web, 2006, pp 247–256 [59] D Balzarotti et al., “Saner: Composing Static and Dynamic Analysis to Validate Sanitization in Web Applications,” in Proceedings - IEEE Symposium on Security and Privacy, 2008, pp 387–401 [60] E Alata et al., “Enemy of the State: A State-Aware Black-Box Web Vulnerability Scanner.,” in USENIX Security Symposium, 2013, vol 15, no 2, pp 173–180 [61] A Doupé, L Cavedon, C Kruegel, and G Vigna, “Enemy of the State: A StateAware Black-Box Web Vulnerability Scanner,” in 21st USENIX Security Symposium, 2012, pp 523–538 [62] G Di Battista, P Eades, R Tamassia, and I G Tollis, Graph drawing: algorithms for the visualization of graphs Pearson, 1999 [63] H Purchase, “Which Aesthetic has the Greatest Effect on Human Understanding?,” Lect Notes Comput Sci (including Subser Lect Notes Artif Intell Lect Notes Bioinformatics), vol 1353, pp 248–261, 1997 [64] T Kamada and S Kawai, “An Algorithm for Drawing General Undirected Graphs,” Inf Process Lett., vol 31, no 1, pp 7–15, 1989 [65] T M J Fruchterman and E M Reingold, “Graph Drawing by Force-Directed Placement,” Force-Directed Placement, Software-Practice Exp., vol 21, pp 1129–1164, 1991 [66] T Munzner and P Burchard, “Visualizing the Structure of the World Wide Web in 3D Hyperbolic Space,” in Proceedings of the First Symposium on Virtual Reality Modeling Language, 1995, pp 33–38 [67] D Fisher, R Dhamija, and M Hearst, “Animated Exploration of Dynamic Graphs with Radial Layout,” in IEEE Symposium on Information Visualization, 2001 INFOVIS 2001., 2001, pp 43–50 [68] K Andrews and H Heidegger, “Information Slices: Visualising and Exploring Large Hierarchies using Cascading, Semi-Circular Discs,” in IEEE Symposium on Information Visualization InfoVis., 1998, pp 4–7 [69] D H Hansson, “Ruby on Rails.” [Online] Available: https://rubyonrails.org/ [Accessed: 15-Jul-2018] [70] T Otwell, “Laravel.” [Online] Available: https://laravel.com/ [Accessed: 15Jul-2018] [71] W Huang, S.-H Hong, and P Eades, “Effects of Sociogram Drawing Conventions and Edge Crossings in Social Network Visualization,” J Graph Algorithms Appl., vol 11, no 2, pp 397 – 429, 2007 146 [72] G M Draper, Y Livnat, and R F Riesenfeld, “A Survey of Radial Methods for Information Visualization,” IEEE Trans Vis Comput Graph., vol 15, no 5, pp 759–776, 2009 [73] Sarosys LLC, “Arachni - Web Application Security Scanner Framework.” [Online] Available: http://www.arachni-scanner.com/ [Accessed: 04-Feb2018] [74] w3af.org, “w3af - Open Source Web Application Security Scanner.” [Online] Available: http://w3af.org/ [Accessed: 04-Feb-2018] [75] N Surribas, “Wapiti: a Free and Open Source Web Application Vulnerability Scanner.” [Online] Available: http://wapiti.sourceforge.net/ [Accessed: 04-Feb2018] [76] Acunetix, “Acunetix Art.” [Online] Available: http://testphp.vulnweb.com/ [Accessed: 04-Feb-2018] [77] M Roesch, “Snort: Lightweight Intrusion Detection for Networks.,” in LISA ’99: 13th Systems Administration Conference, 1999, pp 229–238 [78] V Paxson, “Bro: a System for Detecting Network Intruders in Real-time,” Comput Networks, vol 31, no 23–24, pp 2435–2463, 1999 [79] D Denning, “An Intrusion Detection Model,” IEEE Trans Softw Eng., vol SE13, pp 222–232, 1987 [80] C Kruegel, G Vigna, and G Kruegel, Christopher and Vigna, “Anomaly Detection of Web-based Attacks,” in Proceedings of the 10th ACM conference on Computer and communications security, 2003, vol 03, no November, p 251 [81] M Le, A Stavrou, and B B Kang, “DoubleGuard: Detecting Intrusions in Multitier Web Applications,” IEEE Trans Dependable Secur Comput., vol 9, no 4, pp 512–525, 2012 [82] S Axelsson, “The Base-rate Fallacy and the Difficulty of Intrusion Detection,” ACM Trans Inf Syst Secur., vol 3, no 3, pp 186–205, 2000 [83] H Koike and K Ohno, “SnortView: Visualization System of Snort Logs,” in Conference on Computer and Communications Security, 2004, p 143 [84] K Abdullah, C Lee, G Conti, J A Copeland, and J Stasko, “IDS RainStorm: Visualizing IDS Alarms,” in IEEE Workshop on Visualization for Computer Security 2005, VizSEC 05, Proceedings, 2005, pp 1–10 [85] S Foresti, J Agutter, Y Livnat, S Moon, and R Erbacher, “Visual Correlation of Network Alerts,” IEEE Comput Graph Appl., vol 26, no 2, pp 48–59, 2006 [86] S Hadlak, C Tominski, H J Schulz, and H Schumann, “Visualization of 147 Attributed Hierarchical Structures in a Spatiotemporal Context,” Int J Geogr Inf Sci., vol 24, no 10, pp 1497–1513, 2010 [87] N Adrienko and G Andrienko, “Spatial Generalization and Aggregation of Massive Movement Data,” IEEE Trans Vis Comput Graph., vol 17, no 2, pp 205–219, 2011 [88] Google, “Maps Static API.” [Online] Available: https://developers.google.com/maps/documentation/maps-static/intro [Accessed: 04-Feb-2018] [89] MaxMind, “Open Source Data and APIs | MaxMind.” [Online] Available: https://www.maxmind.com/en/open-source-data-and-api-for-ip-geolocation [Accessed: 04-Feb-2018] [90] Wikipedia, “Mercator projection - Wikipedia.” [Online] Available: https://en.wikipedia.org/wiki/Mercator_projection [Accessed: 04-Feb-2018] [91] P Eades and W Lai, “Preserving the Mental Map of a Diagram,” in Proceedings of the 1st International Conference on Computational Graphics and Visualization Techniques (Sesimbra, Portugal, September 1991) COMPUGRAPHICS, 1991, pp 24–33 [92] G Miller, “The Magical Number Seven, Plus or Minus Two: Some Limits on Our Capacity for Processing Information,” Psychol Rev., vol 63, no 2, p 81, 1956 [93] Cục Thống Kê TP HCM, “Tình hình kinh tế xã hội 2017,” 2018 [94] J Team, “Java Universal Network/Graph Framework.” [Online] Available: http://jung.sourceforge.net/ [Accessed: 02-Oct-2017] [95] D Team, “DVWA - Damn Vulnerable Web Application.” [Online] Available: http://www.dvwa.co.uk/ [Accessed: 04-Feb-2018] [96] Subgraph, “Vega Vulnerability Scanner.” [Online] Available: https://subgraph.com/vega/ [Accessed: 04-Feb-2018] [97] OWASP, “OWASP Zed Attack Proxy Project.” [Online] Available: https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project [Accessed: 04-Feb-2018] [98] C Matthies and M Heiderich, “PHPIDS (PHP-Intrusion Detection System).” [Online] Available: https://github.com/PHPIDS/PHPIDS [Accessed: 04-Feb2018] [99] T People, “Tor Browser.” [Online] Available: https://www.torproject.org/projects/torbrowser.html.en [Accessed: 04-Feb2018] [100] Y.-Z Chen, Z.-G Huang, S Xu, and Y.-C Lai, “Spatiotemporal Patterns and 148 Predictability of Cyberattacks,” PLoS One, vol 10, no 5, 2015 [101] E Waltz and J Llinas, Multisensor Data Fusion Boston: Artech House, 1990 [102] T Bass, “Intrusion Detection Systems and Multisensor Data Fusion,” Commun ACM, vol 43, no 4, pp 99–105, 2000 [103] H Debar and A Wespi, “Aggregation and Correlation of Intrusion-Detection Alerts,” in Recent Advances in Intrusion Detection, 2001, pp 85–103 [104] P Ning, Y Cui, and D S Reeves, “Constructing Attack Scenarios through Correlation of Intrusion Alerts,” in Proceedings of the 9th ACM conference on Computer and communications security - CCS ’02, 2002, p 245 [105] J Lee, M Podlaseck, E Schonberg, and R Hoch, “Visualization and Analysis of Clickstream Data of Online Stores for Understanding Web Merchandising,” Data Min Knowl Discov., vol 5, no 1–2, pp 59–84, 2001 [106] M Kawamoto and T Itoh, “A Visualization Technique for Access Patterns and Link Structures of Web Sites,” in Proceedings of the International Conference on Information Visualisation, 2010, pp 11–16 [107] Google, “Google Analytics.” [Online] Available: https://analytics.google.com/analytics/web/ [Accessed: 04-Feb-2018] [108] Webtrends, “Website Measurement & Analytics.” [Online] Available: https://www.webtrends.com/ [Accessed: 04-Feb-2018] [109] A Azodi, F Cheng, and C Meinel, “Towards Better Attack Path Visualizations based on Deep Normalization of Host/Network IDS Alerts,” in Proceedings International Conference on Advanced Information Networking and Applications, AINA, 2016, vol 2016-May, pp 1064–1071 [110] S C de Alvarenga, S Barbon, R S Miani, M Cukier, and B B Zarpelão, “Process Mining and Hierarchical Clustering to Help Intrusion Alert Visualization,” Comput Secur., vol 73, pp 474–491, 2018 [111] C Olston and M Najork, “Web Crawling,” Found Trends R Inf Retr., vol 4, no 3, pp 175–246, 2010 [112] M Spiliopoulou, B Mobasher, B Berendt, and M Nakagawa, “A Framework for the Evaluation of Session Reconstruction Heuristics in Web-usage Analysis,” Informs J Comput., vol 15, no 2, pp 171–190, 2003 [113] J Srivastava, R Cooley, M Deshpande, and P.-N Tan, “Web Usage Mining: Discovery and Applications of Usage Patterns from Web Data,” ACM SIGKDD Explor Newsl., vol 1, no 2, pp 12–23, 2000 [114] Acunetix, “Acunetix Vulnerability Scanner: Web Application Security.” [Online] Available: https://www.acunetix.com/vulnerability-scanner/ [Accessed: 04-Feb-2018] 149 [115] C Vehlow, F Beck, and D Weiskopf, “The State of The Art in Visualizing Group Structures in Graphs,” in Eurographics Conference on Visualization (EuroVis)-STARs, 2015, p Vol [116] Y Hu and L Shi, “Visualizing Large Graphs,” Wiley Interdiscip Rev Comput Stat., vol 7, no 2, pp 115–136, 2015 [117] R Rao and S Card, “The Table Lens: Merging Graphical and Symbolic Representations in an Interactive Focus+ Context Visualization for Tabular Information,” in Proceedings of the SIGCHI conference on Human factors in computing systems, 1994, pp 318–322 [118] M Sarkar and M Brown, “Graphical Fisheye Views of Graphs,” in Proceedings of the SIGCHI conference on Human factors in computing systems, 1992, pp 83–91 [119] M Hund et al., “Visual Analytics for Concept Exploration in Subspaces of Patient Groups,” Brain informatics, vol 3, no 4, pp 233–247, 2016 [120] G Conti et al., “Countering Security Information Overload through Alert and Packet Visualization,” IEEE Comput Graph Appl., vol 26, no 2, pp 60–70, 2006 [121] Wikipedia, “Chebyshev’s inequality.” [Online] Available: https://en.wikipedia.org/wiki/Chebyshev%27s_inequality [Accessed: 04-Feb2018] [122] WordPress, “Blog Tool, Publishing Platform, and CMS - WordPress.” [Online] Available: https://wordpress.org/ [Accessed: 04-Feb-2018] [123] GenerateData, “Generate Data.” [Online] Available: http://generatedata.com/ [Accessed: 01-Jun-2018] [124] J Adriaans and P Laguna, “HackBar.” [Online] Available: https://addons.mozilla.org/en-US/firefox/addon/hackbar/ [Accessed: 04-Feb2018] [125] OWASP, “OWASP.” [Online] Available: https://www.owasp.org/index.php/Main_Page [Accessed: 04-Feb-2018] [126] OWASP, “Testing for SQL Injection - OWASP.” [Online] Available: https://www.owasp.org/index.php/Testing_for_SQL_Injection_(OTG-INPVAL005) [Accessed: 04-Feb-2018] [127] OWASP, “Testing for Reflected Cross site scripting - OWASP.” [Online] Available: https://www.owasp.org/index.php/Testing_for_Reflected_Cross_site_scripting_( OTG-INPVAL-001) [Accessed: 04-Feb-2018] [128] OWASP, “Testing for Stored Cross site scripting - OWASP.” [Online] Available: 150 https://www.owasp.org/index.php/Testing_for_Stored_Cross_site_scripting_(O TG-INPVAL-002) [Accessed: 04-Feb-2018] [129] M Baldonado, A Woodruff, and A Kuchinsky, “Guidelines for Using Multiple Views in Information Visualization,” in Proceedings of the Working Conference on Advanced Visual Interfaces, 2000, pp 110–119 [130] I H Witten, E Frank, M Hall, and C Pal, Data Mining: Practical Machine Learning Tools and Techniques Morgan Kaufmann, 2016 [131] B Yegnanarayana, Artificial Neural Networks PHI Learning Pvt Ltd., 2009 [132] M Hearst, S Dumais, E Osman, J Platt, and B Scholkopf, “Support Vector Machines,” IEEE Intell Syst their Appl., vol 13, no 4, pp 18–28, 1998 [133] J R Quinlan, “Induction of Decision Trees,” Mach Learn., vol 1, no 1, pp 81–106, 1986 [134] J R Quinlan, “C4.5: Programs for Machine Learning,” Morgan Kaufmann San Mateo Calif., vol 1, no 3, p 302, 1992 [135] L Breiman, Classification and Regression Trees Wadsworth International Group, 1984 [136] M Ankerst, C Elsen, M Ester, and H.-P Kriegel, “Visual Classification: an Interactive Approach to Decision Tree Construction,” in Proceedings of the fifth ACM SIGKDD international conference on Knowledge discovery and data mining - KDD ’99, 1999, pp 392–396 [137] M Ankerst, D Keim, and H Kriegel, “‘Circle Segments’: A Technique for Visually Exploring Large Multidimensional Data Sets,” in Proc IEEE Visualization ’96, Hot Topic Session, 1996, pp 5–8 [138] S T Teoh and K.-L Ma, “PaintingClass: Interactive Construction, Visualization and Exploration of Decision Trees,” in Star, 2003, pp 667–672 [139] S van den Elzen and J J van Wijk, “BaobabView: Interactive Construction and Analysis of Decision Trees,” in IEEE S Vis Anal., 2011, pp 151–160 [140] H Choi, H Lee, and H Kim, “Fast Detection and Visualization of Network Attacks on Parallel Coordinates,” Comput Secur., vol 28, no 5, pp 276–288, 2009 [141] E Alpaydin, Introduction to Machine Learning MIT Press, 2014 [142] K Metlov, “Java Expressions Library (JEL).” [Online] Available: http://www.gnu.org/software/jel/ [Accessed: 04-Feb-2018] [143] D Gilbert, “JFreeChart.” [Online] Available: http://www.jfree.org/jfreechart/ [Accessed: 02-Oct-2017] [144] E Cole and S Northcutt, “Honeypots: A Security Manager’s Guide to 151 Honeypots.” [Online] Available: https://www.sans.edu/cyber-research/securitylaboratory/article/honeypots-guide [Accessed: 04-Feb-2018] 152 PHỤ LỤC P.1 Các nguy bảo mật hàng đầu ứng dụng web OWASP (Open Web Application Security Project) tổ chức phi lợi nhuận thành lập vào năm 2001 Một số mục tiêu OWASP cung cấp đánh giá, hướng dẫn, thống kê liên quan đến bảo mật cho ứng dụng web Trong luận án này, Danh sách 10 nguy bảo mật hàng đầu ứng dụng web 2017 sử dụng để làm sở cho việc khảo sát công lỗi bảo mật ứng dụng web [13] Dưới mô tả sơ lược nhóm nguy Nhóm A1: Injection Nguy xảy hệ thống web không xử lý liệu đầu vào phù hợp, dẫn đến giá trị chèn vào liệu, mã nguồn, vị trí khác Một trường hợp phổ biến nguy câu lệnh chèn vào truy vấn SQL Nhóm A2: Broken Authentication Nguy xảy người công xâm nhập vào hệ thống web cách sử dụng tài khoản mặc định, cách dị tìm mật khẩu, cách bỏ qua bước xác thực Nhóm A3: Sensitive Data Exposure Nguy xảy liệu nhạy cảm bị lộ bên ngồi, chẳng hạn giao thức khơng an toàn sử dụng để giao tiếp, kỹ thuật mã hóa sử dụng khơng đủ mạnh hay lỗi thời Nhóm A4: XML External Entities Nguy xảy hệ thống web xử lý liệu XML thơng qua xử lý có chứa lỗi bảo mật, tập tin XML có chứa giá trị bất thường không kiểm tra đầy đủ Nhóm A5: Broken Access Control 153 Nguy xảy hệ thống web cho phép người dùng thực hành vi mà họ không phép Một ví dụ người cơng nhập trực tiếp giá trị vào URL mà không qua link có sẵn ứng dụng web Nhóm A6: Security Misconfiguration Nguy xảy hệ thống web cấu hình khơng đúng, để tồn lỗi bảo mật chứa vá Một ví dụ cho trường hợp hệ thống web chứa tài khoản mặc định khơng sửa đổi Nhóm A7: Cross-Site Scripting Nguy xảy hệ thống web hiển thị liệu lên trình duyệt mà khơng kiểm tra đầy đủ tính xác thực hợp lệ liệu Chẳng hạn người công nhập vào mã JavaScript ứng dụng web tiếp tục hiển thị mã lên trình duyệt cho người dùng khác Nhóm A8: Insecure Deserialization Nguy xảy ứng dụng web thực chuyển đổi liệu chuỗi sang đối tượng (deserialization) mà không kiểm tra đầy đủ Một ví dụ đọc chuyển liệu lưu cookie (dưới dạng chuỗi) để xem người đăng nhập Nhóm A9: Using Components with Known Vulnerabilities Nguy xảy ứng dụng web sử dụng thư viện thành phần bên ngồi có chứa lỗi bảo mật Người cơng dựa dấu hiệu phiên thư viện, thành phần bên ngồi để gián tiếp cơng vào ứng dụng web Nhóm 10: Insufficient Logging & Monitoring Nguy xảy ứng dụng web không ghi ghi không đủ kiện, thông báo lỗi, v.v… quan trọng xảy hệ thống Trong trường hợp này, kịp thời phát khắc phục cố bảo mật chúng xảy 154 P.2 Kiểm tra hộp đen ứng dụng web Để tìm kiếm lỗi bảo mật ứng dụng web, xét khía cạnh kiểm tra thơng báo lỗi, có hai hướng tiếp cận chính: kiểm tra hộp trắng (white – box testing) kiểm tra hộp đen (black – box testing) Những công cụ quét lỗi bảo mật (vulnerability scanner) ứng dụng web dạng hộp đen hoạt động cách thăm dò tự động để phát lỗi mà không cần phải truy xuất vào mã nguồn ứng dụng Việc thăm dị thực thông qua nhập giá trị vào web form gửi lên máy chủ để xử lý, cách phân tích liệu gửi từ máy chủ tên ứng dụng web, phiên dùng, v.v… Mặc dù việc kiểm tra hộp đen không vị trí cụ thể mã nguồn chứa lỗi bảo mật, thơng qua kết có được, nhà phát triển ứng dụng xác định vị trí chỉnh sửa phù hợp Một ưu điểm khác kiểm tra hộp đen chế hoạt động tương tự với cách thức mà người từ bên ngồi cơng vào ứng dụng web Do đó, kết kiểm tra hộp đen áp dụng trực tiếp vào công cụ bảo mật giao tiếp với bên ngoài, chẳng hạn tường lửa mức ứng dụng web (web application firewall) Về quy trình hoạt động, trước tiên người sử dụng công cụ kiểm tra hộp đen cần nhập vào địa URL bắt đầu ứng dụng web cần kiểm tra Ngoài ra, người sử dụng nhập vào tên đăng nhập mật để cơng cụ tự động đăng nhập trang bảo vệ dành riêng cho người dùng xác thực Những lựa chọn liên quan đến trình duyệt ứng dụng (chẳng hạn độ sâu, có duyệt trang bên ngồi khơng, v.v…) hồ sơ nhóm nguy bảo mật (như mô tả phụ lục P.1) sử dụng để kiểm tra nên thiếp lập trước thực quét ứng dụng để tìm lỗi, giúp trình quét tập trung tiết kiệm thời gian Khi trình quét lỗi thực thi, thành phần crawler công cụ kiểm tra hộp đen mở URL bắt đầu người sử dụng nhập vào, đọc nội dung trang để có danh sách hyperlink đích đến web form Crawler sử dụng hyperlink đích đến để xây dựng URL duyệt Quá trình tiếp tục lặp lại cho trang dừng toàn ứng dụng web duyệt qua, điều kiện dừng thỏa mãn Trên trang, kiểm tra thực thi để đánh giá tồn nhóm nguy bảo mật trang 155 Sau minh họa quy trình hoạt động mô tả bên với công cụ kiểm tra hộp đen Acunetix [114] đề cập luận án Acunetix cho phép cấu hình thơng số cho q trình quét lỗi cách lựa chọn chi tiết sử dụng giao diện bước (Scan Wizard) Phần minh họa sử dụng giao diện bước Tại bước đầu tiên, người sử dụng nhập vào địa URL, tên file, địa IP bắt đầu ứng dụng web minh họa Hình P.1 Hình P.1 Lựa chọn cách thức quét lỗi Sau nhập vào địa URL khởi tạo, người dùng chọn đích đến (target) q trình qt lỗi (minh họa Hình P.2) Đích đến chọn theo hệ điều hành, máy chủ web, ngôn ngữ lập trình, v.v… để giảm thời gian quét 156 Hình P.2 Lựa chọn đích đến việc quét lỗi Những lựa chọn cho trình duyệt qua ứng dụng web crawler thiết lập mơ tả Hình P.3 Một số lựa chọn chẳng hạn có xem xét đích đến web form khơng, có phân biệt chữ hoa chữ thường khơng Hình P.3 Cấu hình cho trình duyệt crawler 157 Hồ sơ lỗi (scanning profile) kiểm tra chế độ thực kiểm tra (scanning mode) lựa chọn hình kế tiếp, minh họa Hình P.4 Việc chọn hồ sơ lỗi phù hợp cho phép tiết kiệm thời gian cách kiểm tra lỗi cần quan tâm Hình P.4 Lựa chọn hồ sơ chế độ quét lỗi Sau lựa chọn hồ sơ chế độ quét lỗi, trang Scan Wizard cho phép nhập vào thông tin xác thực (Hình P.5) Hình P.5 Thơng tin để xác thực q trình qt lỗi 158 Hai bước cịn lại liên quan đến việc cấu hình trang báo lỗi lưu trữ lựa chọn thực để sử dụng lại cho lần sau Sau đó, việc quét lỗi thực Tiến độ trình quét lỗi minh họa Hình P.6 Hình P.6 Tiến độ trình quét lỗi 159 ... vận dụng vào toán bảo mật ứng dụng web dựa trực quan hóa thơng tin Trong Chương 3, hướng tiếp cận để giải toán bảo mật ứng dụng web dựa trực quan hóa trình bày Cụ thể, đối tượng bảo mật ứng dụng. .. đối tượng bảo mật trực quan hóa tồn bên thân ứng dụng web xuất phát từ bên ứng dụng web Trong luận án này, đối tượng bảo mật bên ứng dụng web gồm có cấu trúc ứng dụng web [45] lỗi bảo mật [50]... vụ bảo mật mà ứng dụng 35 web trực quan hóa mức độ tồn ứng dụng trang cụ thể Trực quan hóa mức độ toàn ứng dụng nhấn mạnh vào tập hợp trang web liên quan chúng toàn ứng dụng Trong đó, trực quan