Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 87 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
87
Dung lượng
2,66 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC SƢ PHẠM HÀ NỘI TRẦN THỊ HÀ 1.1 NGHIÊN CỨU GIẢI PHÁP ĐÁNH GIÁ RỦI RO CHO ỨNG DỤNG WEB LUẬN VĂN THẠC SĨ MÁY TÍNH HÀ NỘI, 2015 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC SƢ PHẠM HÀ NỘI TRẦN THỊ HÀ 1.2 NGHIÊN CỨU GIẢI PHÁP ĐÁNH GIÁ RỦI RO CHO ỨNG DỤNG WEB Chuyên ngành: Khoa học máy tính Mã số: 60 48 01 01 LUẬN VĂN THẠC SĨ MÁY TÍNH Ngƣời hƣớng dẫn khoa học: TS HỒ VĂN HƢƠNG HÀ NỘI, 2015 LỜI CẢM ƠN Trong thời gian làm luận văn em gặp nhiều khó khăn nhƣng đƣợc giúp đỡ tạo điều kiện nhiều từ thầy cô giáo, bạn bè gia đình, em hoàn thành xong luận văn Trƣớc tiên em xin đƣợc bày tỏ lòng biết ơn tới thầy cô giáo công tác khoa Sau Đại Học – Trƣờng Đại học sƣ phạm Hà Nội 2, ngƣời giảng dạy cung cấp kiến thức khoa học quý báu suốt năm học qua để em có tảng kiến thức thực luận văn Đặc biệt em xin gứi lời cảm ơn sâu sắc tới TS Hồ Văn Hƣơng, ngƣời tận tình bảo, giúp đỡ tạo điều kiện để em hoàn thành luận văn Em xin gửi lời cảm ơn tới tập thể lớp Khoa Học Máy Tính – K17, trƣờng Đại học sƣ phạm Hà Nội nhiệt tình giúp đỡ chia sẻ kinh nghiệm quý báu cho em Cuối em xin gửi lời cảm ơn gia đình, bạn bè tạo điều kiện, giúp đỡ đóng góp nhiều ý kiến quý báu cho em sống, công việc học tập nói chung nhƣ trình em thực luận văn nói riêng Mặc dù có nhiều cố gắng nhƣng hạn hẹp kiến thức, kinh nghiệm nhƣ thời gian tìm hiểu, nghiên cứu thực nên luận văn không tránh khỏi thiếu sót Em mong nhận đƣợc góp ý thầy cô, bạn bè để em hoàn thiện tốt luận văn Em xin chân thành cảm ơn! Xuân Hòa, tháng 10 năm 2015 Học viên Trần Thị Hà LỜI CAM ĐOAN Tôi cam đoan công trình nghiên cứu riêng Các số liệu, kết nêu luận văn trung thực chƣa đƣợc công bố công trình khác Tác giả luận văn Trần Thị Hà MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN MỤC LỤC DANH MỤC CÁC THUẬT NGỮ, CÁC CHỮ VIẾT TẮT DANH MỤC BẢNG DANH MỤC HÌNH VẼ MỞ ĐẦU 10 CHƢƠNG 1: TỔNG QUAN VỀ ĐÁNH GIÁ RỦI RO CHO ỨNG DỤNG WEB 12 1.1 Một số khái niệm an toàn thông tin đánh giá rủi ro 12 1.1.1 Khái niệm an toàn thông tin 12 1.1.2 Khái niệm đánh giá rủi ro 13 1.2 Khái quát ứng dụng web 13 1.2.1 Giới thiệu chung 13 1.2.2 Giao thức HTTP 14 1.2.3 Kiến trúc web 15 1.2.4 Hoạt động web 17 1.3 Các mối đe dọa, loại lỗ hổng phổ biến ứng dụng web 19 1.3.1 Các mối đe dọa 19 1.3.2 Các loại lỗ hổng phổ biến theo tiêu chuẩn OWASP 20 1.4 Một số biện pháp đảm bảo an toàn ứng dụng web 22 1.5 Kết luận chƣơng 23 CHƢƠNG 2: GIẢI PHÁP ĐÁNH GIÁ VÀ MÔ HÌNH ĐÁNH GIÁ RỦI RO CHO ỨNG DỤNG WEB 24 2.1 Giới thiệu chung 24 2.2 Phân tích lỗ hổng bảo mật thành phần ứng dụng web 25 2.2.1 Lỗ hổng bảo mật máy chủ máy trạm 25 2.2.2 Lỗ hổng bảo mật máy chủ web 29 2.2.3 Lỗ hổng bảo mật máy chủ ứng dụng 30 2.2.4 Lỗ hổng máy chủ sở liệu 31 2.2.5 Lỗ hổng bảo mật kết nối 32 2.2.6 Một số kỹ thuật khai thác lỗ hổng bảo mật điển hình ứng dụng web 32 2.3 Các phƣơng pháp kiểm tra lỗ hổng bảo mật 38 2.1.1 2.3.1 Phƣơng pháp kiểm tra hộp đen 38 2.1.2 2.3.2 Phƣơng pháp kiểm tra hộp trắng 39 2.3.3 Phƣơng pháp kiểm tra hộp xám 41 2.1.3 2.3.4 Phân tích, so sánh phƣơng pháp kiểm tra lỗ hổng 41 2.4 Một số công cụ phần mềm kiểm tra 42 2.4.1 Các công cụ kiểm tra lỗ hổng hệ thống 43 2.1.4 2.4.2 Các công cụ kiểm tra lỗ hổng ứng dụng 45 2.5 Đánh giá công cụ dò quét lỗ hổng ứng dụng 52 2.5.1 Đánh giá kỹ thuật thuật toán sử dụng: 52 2.5.2 2.6 Khả ứng dụng thực tiễn 53 Tổng kết chƣơng 55 CHƢƠNG 3: THỬ NGHIỆM ĐÁNH GIÁ RỦI RO CHO ỨNG DỤNG WEB THEO PHƢƠNG PHÁP HỘP ĐEN 56 3.1 Đế xuất quy trình triển khai, đánh giá cổng thông tin điện tử: 56 3.1.1 Mục đích 56 3.1.1 Phạm vi áp dụng 56 3.1.2 Quy trình thực 56 3.1.3 Đánh giá quy trình 59 3.2 Áp dụng quy trình triển khai đánh giá cổng thông tin điện tử Trƣờng Đại học Sƣ Phạm Hà Nội 2, sử dụng công cụ Acunetix 59 3.2.1 Xây dựng kịch đánh giá 59 3.2.2 Triển khai đánh giá thực tế 60 3.2.3 3.3 Kết đánh giá 65 Áp dụng quy trình triển khai đánh giá cổng thông tin điện tử tỉnh Vĩnh Phúc, sử dụng công cụ Acunetix 70 3.3.1 Xây dựng kịch đánh giá 70 3.3.2 Triển khai đánh giá thực tế 71 3.4 Đề xuất giải pháp đảm bảo an toàn cho ứng dụng web 72 3.4.1 An toàn hạ tầng mạng 72 3.4.2 An toàn hệ thống máy chủ 73 3.4.3 An toàn cho ứng dụng 73 3.4.4 Đối phó với công từ chối dịch vụ 74 3.5 Tổng kết chƣơng 74 KẾT LUẬN CHUNG 75 TÀI LIỆU THAM KHẢO 77 PHỤ LỤC 78 DANH MỤC CÁC THUẬT NGỮ, CÁC CHỮ VIẾT TẮT Ký hiệu ASP CAPTC HA DOM ESAPI IDE Tiếng Anh Active Server Pages Completely Automated Public Turing test to tell Computers and Humans Apart Document Object Model Tiếng Việt Môi trƣờng cho ứng dụng chạy Server Phép thử Turing hoàn toàn tự động để phân biệt máy tính ngƣời Hệ giao tiếp lập trình ứng dụng cho HTML XML Anhanced Small Arms Protective Tăng cƣờng chắn nhỏ bảo vệ Insert chèn Integrated Development Environment Môi trƣờng phát triển tích hợp IDS Intrusion Detection System Một hệ thống phát xâm nhập IIS Internet Information Services Dịch vụ cung cấp thông tin Internet IPSec Internet Protocol Security Giao thức bảo mật Internet NTFS New Technology File System Hệ thống tập tin công nghệ OSI Open Systems Interconnection OWASP Open Web Application Security Project Mô hình tham chiếu kết nối hệ thống mở Dự án an ninh mở ứng dụng Web DANH MỤC BẢNG Bảng 2.1: Ƣu nhƣợc điểm phƣơng pháp kiểm tra hộp đen 39 Bảng 2.2: Ƣu nhƣợc điểm phƣơng pháp kiểm tra hộp trắng 40 Bảng 2.3: Ƣu nhƣợc điểm phƣơng pháp kiểm tra hộp xám 41 Bảng 3.1: Nội dung quy trình 58 Bảng 3.2 Xây dựng kịch 60 Bảng 3.3 Kết theo kịch .66 Bảng 3.4 Xây dựng kịch 71 Bảng 3.5 Kết theo kịch .72 DANH MỤC HÌNH VẼ Hình 1.1: Mô hình lớp 15 Hình 1.2: Mô hình hai lớp 16 Hình 1.3: Mô hình lớp 17 Hình 1.4: Mô hình N lớp 17 Hình 1.5: Mô hình hoạt động ứng dụng web 18 Hình 1.6: Một số Web Server thông dụng 19 Hình 1.7: Các lỗ hổng bảo mật có nguy công cao 22 Hình 2.1: Mối quan hệ rủi ro, mối đe dọa lỗ hổng bảo mật 24 Hình 2.2: Các lỗ hổng, mối đe dọa thành phần hệ thống 24 Hình 2.3: Các lỗ hổng mối đe dọa máy chủ web 30 Hình 2.4: Lỗ hổng mối nguy máy chủ ứng dụng 29 Hình 2.5: Lỗ hổng máy chủ CSDL 31 Hình 2.6: Kỹ thuật công File Inclusion 37 Hình 2.7: Thông tin tính giá công cụ quét tự động 43 Hình 2.8: Kết quét công cụ MBSA 44 Hình 2.9: Công cụ Nessus 45 Hình 2.10: Các thông tin WebScarab ghi lại đƣợc 46 Hình 2.11: Chƣơng trình kiểm tra lỗi bảo mật W3AF 46 Hình 2.12: Công cụ kiểm tra lỗi bảo mật Acunetix 49 Hình 2.13: Giao diện công cụ IBM Rational AppScan 52 Hình 3.1 Màn hình Crawl 61 Hình 3.2 Giao diện Acunetix 61 Hình 3.3 Nhập địa tùy chọn quét 62 Hình 3.4 Tùy chọn Scanning Profile 62 Hình 3.5 Thông tin Server 63 Hình 3.6 Chọn Login sequence 63 Hình 3.7 Kết thúc trình tùy chọn 64 Hình 3.8 Giao diện thực quét 64 71 10 11 Không chứa password dễ Weak passwords nhận biết nhƣ 123456, abcde Error page web server version disclosure Không bị lỗi Không tự động redirect sang 12 URL redirection 13 CSRF Không bị lỗi CSRF 14 GHDB Không bị lỗi Google hacking trang web khác Bảng 3.4 Xây dựng kịch 3.3.2 Triển khai đánh giá thực tế Tƣơng tự nhƣ trình dò quét website Trƣờng đại học Sƣ Phạm Hà Nội 2: http://www.hpu2.edu.vn Ta thực dò quét website tỉnh Vĩnh Phúc a Kết test theo kịch bản: STT Trƣờng hợp test CSS-over 40 different XSS variations are tested Kết mong muốn Đánh giá Không bị lỗi XSS Đạt SQL injection Không bị lỗi SQL injection Không đạt Blind SQL/Xpath injection Không bị lỗi Không đạt Buffer overflows Không bị lỗi tràn nhớ Đạt Không bị lỗi Đạt Download of Code Without Integrity Check Unrestricted Upload of File Không bị lỗi with Dangerous Type Application error message Không bị lỗi Session cookie without secure Không bị lỗi flag set Đạt Không đạt Không đạt Broken links Không bị lỗi Không đạt 10 Weak passwords Không chứa password dễ Đạt 72 nhận biết nhƣ 123456, abcde 11 Error page web server version disclosure Không bị lỗi Không tự động redirect sang Không đạt Đạt 12 URL redirection 13 CSRF Không bị lỗi CSRF Không đạt 14 GHDB Không bị lỗi Google hacking Không đạt trang web khác Bảng 3.5 Kết theo kịch Để xuất báo cáo khắc phục cố cổng thông tin điện tử tỉnh Vĩnh Phúc ta khắc phục tƣơng tự nhƣ lỗ hổng cổng thông tin điện tử Trƣờng Đại học Sƣ phạm Hà Nội Về cách khắc phục lỗi sử dụng thƣ viện class có sẵn nhƣ Hdiv 3.4 Đề xuất giải pháp đảm bảo an toàn cho ứng dụng web [4] 3.4.1 An toàn hạ tầng mạng Việc tổ chức mô hình mạng hợp lý có tác dụng lớn đến an toàn cho ứng dụng web Đây sở cho việc xây dựng hệ thống phòng thủ bảo vệ Ngoài ra, việc tổ chức mô hình mạng hợp lý hạn chế đƣợc công từ bên bên cách hiệu Trong mô hình mạng hợp lý cần phải phân biệt rõ ràng vùng mạng theo chức thiết lập sách an toàn thông tin riêng cho vùng mạng theo yêu cầu thực tế: - Vùng mạng Internet (hay Untrusted Network): gọi mạng - Vùng mạng DMZ Network: đặt máy chủ cung cấp dịch vụ trực tiếp mạng Internet nhƣ web server, mail server, FTP Server, v.v - Vùng mạng Server Network (hay Server Farm): đặt máy chủ không trực tiếp cung cấp dịch vụ cho mạng Internet - Vùng mạng Private Network: Đặt thiết bị mạng, máy trạm máy chủ 73 thuộc mạng nội đơn vị - Thiết lập hệ thống phòng thủ nhƣ tƣờng lửa (firewall) thiết bị phát hiện/phòng chống xâm nhập (IDS/IPS) để bảo vệ hệ thống, chống công xâm nhập trái phép Thiết bị firewall IDS/IPS đặt vị trí nhƣ sau: đặt firewall đƣờng nối mạng Internet với vùng mạng khác nhằm hạn chế công từ mạng bên vào; đặt firewall vùng mạng nội mạng DMZ nhằm hạn chế công vùng đó; đặt IDS/IPS vùng cần theo dõi bảo vệ - Nên đặt Router (Router biên) trƣớc kết nối đến nhà cung cấp dịch vụ internet (ISP) để lọc số lƣu lƣợng không mong muốn chặn gói tin đến từ địa IP không hợp lệ 3.4.2 An toàn hệ thống máy chủ Đảm bảo an toàn cho: máy chủ CSDL, máy chủ Web, máy chủ ứng dụng, bao gồm biện pháp sau: - Thƣờng xuyên cập nhật vá lỗi; - Quản lý tài khoản an toàn, bao gồm có việc đặt mật an toàn; - Cấu hình máy chủ không đƣa thông báo lỗi; - Trên máy chủ Web cần cài tƣờng lửa tầng ứng dụng URL Scan nhằm bảo vệ máy chủ web đồng thời giúp ngăn chặn lỗi phổ biến nhƣ: XSS, SQL Injection, v.v ; - Thiết lập chế lƣu, phục hồi; - Cài đặt phần mềm Anti-virus có quyền 3.4.3 An toàn cho ứng dụng - Đảm bảo an toàn kết nối, liệu nhạy cảm đƣờng truyền cần đƣợc mã hoá; Rà quét khắc phục lỗ hổng thuộc tầng ứng dụng, đặc biệt lỗ hổng nhƣ SQL Injection, XSS 74 3.4.4 Đối phó với công từ chối dịch vụ - Nâng cấp hệ thống máy chủ; - Nâng cấp đƣờng truyền thiết bị liên quan; - Cài đặt đầy đủ vá cho hệ điều hành phần mềm khác để phòng ngừa khả bị lỗi tràn đệm, cƣớp quyền điều khiển, v.v - Hạn chế số lƣợng kết nối thiết bị tƣờng lửa tới mức an toàn hệ thống cho phép - Sử dụng tƣờng lửa cho phép lọc nội dung thông tin (tầng ứng dụng) để ngăn chặn kết nối nhằm công hệ thống - Phân tích luồng tin (traffic) để phát dấu hiệu công cài đặt tƣờng lửa cho phép lọc nội dung thông tin (tầng ứng dụng) ngăn chặn theo dấu hiệu phát Đối phó với cố: - Khi phát có công DoS hay DDoS cần báo cho quan chức năng, nhƣ Trung tâm ứng cứu khẩn cấp máy tính Việt Nam Sử dụng thiết bị bảo vệ mạng có dịch vụ chống công DDoS chuyên nghiệp kèm theo, ví dụ nhƣ: Arbor, Checkpoint, Imperva, Perimeter, 3.5 Tổng kết chƣơng Chƣơng đƣa kịch đánh giá rủi ro cho ứng dụng web sử dụng công cụ phần mềm Acunetix để quét lỗ hổng web site, cụ thể website trƣờng Đại học Sƣ phạm Hà Nội cổng thông tin điện tử tỉnh Vĩnh Phúc Đồng thời luận văn đƣa đề xuất giải pháp bảo đảm an toàn cho ứng dụng web, cụ thể an toàn hạ tầng mạng, an toàn cho ứng dụng, an toàn cho hệ thống máy chủ biện pháp đối phó với công từ chối dịch vụ 75 KẾT LUẬN CHUNG Kết đạt đƣợc: Theo yêu cầu đặt ban đầu là: “Nghiên cứu giải pháp đánh giá rủi ro cho ứng dụng web”, thời điểm tại, luận văn đạt đƣợc yêu cầu đề Kết nghiên cứu luận văn đƣa cách nhìn hệ thống lỗ hổng bảo mật, phƣơng pháp đánh giá lỗ hổng bảo mật, lựa chọn phƣơng pháp đánh giá rủi ro ứng dụng web tiến hành đánh giá rủi ro cho website Luận văn đạt đƣợc kết cụ thể nhƣ sau: - Luận văn đƣa đƣợc cách nhìn tổng quan an toàn thông tin, đánh giá rủi ro, mối đe dọa, lỗ hổng bảo mật phổ biến ứng dụng web biện pháp bảo đảm an toàn cho ứng dụng web - Tác giả phân tích lỗ hổng bảo mật thành phần ứng dụng web, phƣơng pháp kiểm tra lỗ hổng bảo mật, phƣơng pháp đánh giá rủi ro cho ứng dụng web theo mô hình hộp đen, hộp trắng hộp xám; đánh giá đƣợc khả xảy công loại lỗ hổng tác động chúng tới hệ thống ứng dụng web - Luận văn nghiên cứu công cụ phần mềm phục vụ công tác kiểm tra, đánh giá cho lỗ hổng bảo mật hệ thống lỗ hổng cho ứng dụng web Quan trọng tác giả lựa chọn đƣợc công cụ đánh giá an toàn Website, giúp cho ngƣời dùng đánh giá trang web nào, viết ngôn ngữ cài đặt tảng - Cuối cùng, luận văn đề xuất đƣợc giải pháp bảo đảm an toàn cho ứng dụng web, cụ thể an toàn hạ tầng mạng, an toàn cho ứng dụng, an toàn cho hệ thống máy chủ biện pháp đối phó với công từ chối dịch vụ Những hạn chế - Thời gian nghiên cứu tài liệu vấn đề luận văn hạn chế - Do phải đánh giá tất thành phần website nên thời gian quét số trang web có cấu trúc phức tạp nhiều thời gian 76 Không làm chủ hết đƣợc sử dụng công cụ phát số lỗi giới hạn - Hƣớng phát triển Bƣớc đầu luận văn đạt đƣợc yêu cầu đặt Tuy nhiên, kết khiên tốn Trong thời gian tới có điều kiện, tác giả cố gắng phát triển thêm nội dung sau: - Tìm hiểu them lỗ hổng đƣợc công bố tìm phƣơng pháp dò tìm chúng - Nghiên cứu kỹ vấn đề bảo mật để đƣa lời khuyên hữu ích - Nghiên cứu vấn đề bảo mật không dừng lại mức độ ứng dụng web mà phát triển sâu để bảo mật hệ thống mạng hệ thống dịch vụ - Nghiên cứu để xây dựng công cụ dò quét cổng thông tin điện tử áp dụng đƣợc vào thực tế 77 TÀI LIỆU THAM KHẢO Tiếng Việt: [1] Hoàng Đăng Hải (2014), Tài liệu môn An ninh mạng, Học viện Công nghệ Bƣu Viễn thông, Hà Nội [2] Hồ Văn Hƣơng (2014), “Nghiên cứu lựa chọn công cụ đánh giá cổng thông tin điện tử”, An toàn thông tin số (030), 39-43 [3] Trịnh Nhật Tiến (2008), An toàn an toàn thông tin, Nhà xuất quốc gia [4] Trung tâm ứng cứu khẩn cấp máy tính Việt Nam (2009), TCVN ISO/IEC 27001:2009, Bộ Thông tin Truyền thông, Hà Nội [5] Nghị định Chính phủ số 72/2013/NĐ-CP Quản lý, cung cấp, sử dụng dịch vụ internet thông tin mạng Tiếng Anh: [6] HyunChul Johl, and Yashwant K Malaiya - Defining and Assessing (2011), Quantitative Security Risk Measures Using Vulnerability Lifecycle and cvss Metrics [7] The Open Web Application Security Project (2013) OWASP_ Testing^ Guide _v4 [8] Wade Anastasia Jere (2012), IBM Rational Appscan, Equ Press Trang web: [9] Acunetix Web Vulnerability Scanner, https://www.acunetix.com [10] Bkav webscan, http://webscan.bkav.com.vn [11] IBM Rational AppScan, https://www.ibm.com [12] http://www.hdiv.org/ 78 PHỤ LỤC Kỹ thuật khai thác lỗ hổng SQL Injection 1.1 Tấn công vƣợt qua kiểm tra đăng nhập Với dạng công này, tin tặc dễ dàng vƣợt qua trang đăng nhập nhờ vào lỗi dùng câu lệnh SQL thao tác sở liệu ứng dụng web Thông thƣờng phép ngƣời dùng truy cập vào trang web đƣợc bảo mật, hệ thống thƣờng xây dựng trang đăng nhập để yêu cầu ngƣời dùng nhập thông tin tên đăng nhập mật Sau kh i ngƣời dùng nhập thông tin vào, hệ thống kiểm tra tên đăng nhập mật có hợp lệ hay không để định cho phép hay từ chối thực tiếp Ví dụ, trƣờng hợp sử dụng ASP, ngƣời ta dùng trang: trang HTML để hiển thị Form nhập liệu trang ASP để xử lý thông tin nhập vào từ phía ngƣời dùng nhƣ sau: Login.htm Username: Password: ExecLogin.asp Chỗ sơ hở đoạn mã xử lý nhập liệu nằm chỗ liệu nhập vào từ ngƣời dùng đƣợc dùng để xây dựng trực tiếp câu lệnh SQL Chính điều cho phép tin tặc điều khiển câu truy vấn đƣợc thực Ví dụ, ngƣời dùng nhập chuỗi ngoặc sau vào ô nhập liệu username/password trang login.htm là:('OR=') Lúc này, câu truy vấn gọi thực là: SELECT * FROM T_USERS WHERE USR_NAME =''OR''='' and USR_PASSWORD= ''OR''='' Câu truy vấn hợp lệ, cho dù giá trị đƣợc gán cho Username-' Password -' sai, sau phép toán “OR” “rỗng” “rỗng” cho biểu thức Do hệ thống trả tất ghi bảng T_USERS 1.2 Tấn công sử dụng câu lệnh SELECT Dạng công phức tạp Để thực đƣợc kiểu công này, kẻ công phải có khả hiểu lợi dụng sơ hở thông báo lỗi từ hệ thống để dò tìm điểm yếu khởi đầu cho việc công Xét ví thƣờng gặp website tin tức Thông thƣờng, có trang nhận ID tin cần hiển thị sau truy vấn nội dung tin có ID Ví dụ, trang tìm kiếm Các trang cho phép ngƣời dùng nhập vào thông tin tìm kiếm nhƣ Họ, Tên … Đoạn mã thƣờng gặp là: Tƣơng tự nhƣ trên, tin tặc lợi dụng sơ hở câu truy vấn SQL để nhập vào trƣờng tên tác giả chuỗi giá trị: ' UNION SELECT ALL SELECT OtherField FROM OtherTable WHERE ' '=' (*) Lúc này, câu truy vấn đầu không thành công, chƣơng trình thực thêm lệnh sau từ khóa UNION Giả sử đoạn mã nhập vào là: ' DROP TABLE T_AUTHORS -Câu truy vấn thực việc xóa bảng Tấn công sử dụng câu lệnh SELECT kết hợp với từ khóa UNION: Từ khoá UNION nhằm kết hợp liệu hai câu lệnh SELECT, nhƣng với điều kiện, liệu câu lệnh thứ phải kiểu, cấu trúc với câu lệnh thứ hai Nếu liệu câu lệnh thứ có kiểu số, câu lệnh thứ hai kiểu chuỗi chắn sinh lỗi đƣa thông báo Điều tai hại hệ thống đƣa thông báo lỗi kèm thông tin quan trọng, tên bảng, tên trƣờng, đến ghi cụ thể, chẳng hạn nhƣ tài khoản ngƣời quản trị Ta xem ví dụ sau: http://yoursite.com/index.asp?id=10 UNION SELECT TOP TABLE_NAME FORM INFORMATION_SCHEA.TABLE WHERE TABLE_NAME NOT IN („table‟)Thông báo lỗi có dạng: Microsoft OLE DB Provider for ODBC Drivers error „80040e07‟ [Microsoft] [ODBC SQL Server Driver] [SQL Server]Syntax error converting the nvarchar value „admin_login‟ to a column of data type int /index.asp, line 81 Ta thấy rằng, trƣớc từ khoá UNION câu lệnh SELECT có liệu kiểu số (id=10), giá trị câu lệnh SELECT sau từ khoá UNION có dạng chuỗi (nvarchar) nên cần phải chuyển sang kiểu số (int) Đây nguyên nhân sinh lỗi 1.3 Tấn công sử dụng câu lệnh INSERT Thông thƣờng ứng dụng web cho phép ngƣời dùng đăng kí tài khoản để tham gia Chức thiếu sau đăng kí thành công, ngƣời dùng xem hiệu chỉnh thông tin Vì vậy, SQL injection đƣợc dùng hệ thống không kiểm tra tính hợp lệ thông tin nhập vào Gỉa sử kẻ công tìm tên bảng “admin_login”, bảng có chứa trƣờng sau: login_id, login_name, password, details Nhƣ vậy, kẻ công thêm ghi có thông tin nhƣ sau: http://www.tintuc.vn/Article.asp?ID=0;INSERT INTO „admin_login‟ („login_id‟,‟login_name‟,‟password‟,‟details‟)VALUE („123‟,‟attacker‟,‟123456‟,‟none‟)-Ở kẻ công sử dụng câu lệnh UPDATE để cập nhật thông tin vào bảng “admin_login” chẳng hạn thay đổi mật ngƣời quản trị Tấn công sử dụng stored-procedures Việc công stored-procedures gây tác hại lớn ứng dụng đƣợc thực thi với quyền quản trị hệ thống 'sa' Kiểu công đặc biệt nguy hiểm, thực tế việc thao tác DOS hệ thống - Ví dụ thực lệnh „Ping‟; exec master xp_cmdshell 'ping 10.10.1.2'- Tải tệp lên máy chủ (có thể chƣơng trình mã độc): C:/> osql.exe –S 198.188.178.1 –U sa –P “” –Q “exec master xp_cmdsell “tftp 203.192.16.12 GET nc.exe Kỹ thuật khai thác lỗ hổng Cross-Site Scripting 2.1 Kỹ thuật Reflected XSS 82 Kiểu công này, kẻ công tìm cách dụ ngƣời dùng nhấp chuột vào đƣờng dẫn URL có chứa đoạn script độc hại, đồng nghĩa với việc họ vô tình gửi yêu cầu có kèm theo đoạn script đến máy chủ bị lỗi xss Vì hệ thống khả kiểm soát nên phản hồi lại yêu cầu có kèm theo đoạn script Kẻ công gửi đƣờng dẫn URL độc hại qua email lừa đảo, đặt đƣờng dẫn diễn đàn Chi tiết đƣợc mô tả theo bƣớc nhƣ sau: Ngƣời dùng đăng nhập web giả sử đƣợc gán session: Set-Cookie: sessId=5e2c648fa5ef8d653adeede595dcde6f638639e4e59d4 Bằng cách đó, hacker gửi đƣợc cho ngƣời dùng URL: http://example.com/name=var+i=new+Image;+i.src=”http://hacker-site.net/ ”%2bdocument.cookie; Giả sử example.com website nạn nhân truy cập, hacker-site.net trang hacker tạo Nạn nhân truy cập đến URL Server phản hồi cho nạn nhân, kèm với liệu có request(đoạn javascript hacker) Trình duyệt nạn nhân nhận phản hồi thực thi đoạn javascript Đoạn javascript mà hacker tạo thực tế nhƣ sau: 83 var i=new Image; i.src=”http://hacker-site.net/”+document.cookie; Dòng lệnh chất thực request đến site hacker với tham số cookie ngƣời dùng: GET /sessId=5e2c648fa5ef8d653adeede595dcde6f638639e4e59d4 HTTP/1.1 Host: hacker-site.net Từ phía site mình, hacker bắt đƣợc nội dung request coi nhƣ session ngƣời dùng bị chiếm Đến lúc này, hacker giả mạo với tƣ cách nạn nhân thực quyền website mà nạn nhân có 2.2 Kỹ thuật Stored XSS Với kỹ thuật này, attacker không gửi đƣờng dẫn URL nhƣ nêu phần Thông qua trang viết bình luận (comment) website diễn đàn, chúng viết “bình luận” đoạn script độc hại Nếu hệ thống thiếu chế kiểm soát liệu bƣớc này, script độc hại đƣợc lƣu vào CSDL dƣới dạng comment blog, message forum visitor log Ví dụ dƣới minh họa cho Stored-XSS Ta có trang web mà ngƣời dùng để lại lời nhắn nhƣ sau: Thay nhập vào lời nhắn bình thƣờng, ta nhập vào đoạn mã sau: Xin alert(“XSS”)chào! Kết quả: 84 Ở đây, đoạn mã alert(“XSS”) đƣợc chèn vào lời nhắn, đƣợc thực thi nhƣ hình Vì lời nhắn đƣợc lƣu trữ database nên ngƣời dùng truy cập vào trang web thực thi đoạn mã Thay đoạn mã vô hại nhƣ trên, hacker thay đoạn mã nguy hiểm khác nhằm gây hại đến ngƣời dùng Nhƣ yậy ngƣời dùng vào trang bình luận Hệ thống hồi đáp lại phía ngƣời dùng, bao gồm đoạn script độc hại, âm thầm chạy máy Nhƣ nhận xét rằng, kiểu công Reflected XSS công chủ động, Stored XSS công thụ động Kỹ thuật khai thác lỗ hổng CSRF Các kĩ thuật CSRF đa dạng, lừa ngƣời dùng click vào link, gửi email chứa đoạn mã độc đến ngƣời dùng… Ví dụ 1: Ví dụ 2: Trong hai ví dụ ta thấy, thuộc tính width height nhận giá trị nhỏ, để cho ngƣời dùng hoàn toàn không để ý đến nội dung đƣờng dẫn Ngoài ví dụ 1, lợi dụng quyền ngƣời dùng, attacker tiến hành đặt sẵn lệnh chuyển tiền từ tài tài khoản khách hàng ngân hàng vào tài khoản chúng; ví dụ 2, attacker khiến cho ngƣời quản trị tự xoá ghi có articol_id=123 mà không hay biết Đó số nhiều ví dụ công CSRF Kỹ thuật khai thác lỗ hổng tràn đệm Kẻ công làm tràn đệm đoạn shellcode (mã độc) địa trả Địa địa chúng tạo để gọi thực thi đoạn shellcode, thay thực thi đoạn chƣơng trình hợp pháp Để làm đƣợc điều này, chúng tiến hành thay địa trả gọi đến đoạn chƣơng trình hợp pháp địa trả gọi đến đoạn shellcode Việc tính đƣợc địa trả việc khỏ, đòi hỏi kẻ công phải có kỹ thuật cạo Hình mô tả địa chƣơng trình hợp pháp bị ghi đè lên địa bắt đầu đệm chứa shellcode là: \x08\x35\xoc\x80 [...]... 3 Nhiệm vụ nghiên cứu - Nghiên cứu tổng quan về đánh giá rủi ro cho ứng dụng Web 11 - Nghiên cứu giải pháp đánh giá và mô hình đánh giá rủi ro cho ứng dụng Web - Nghiên cứu một số công cụ đánh giá lỗ hổng bảo mật của website - Tiến hành thử nghiệm đánh giá rủi ro cho ứng dụng Web theo phƣơng pháp hộp đen 4 Phƣơng pháp nghiên cứu - Phƣơng pháp nghiên cứu lý luận: Đọc tài liệu, phân tích, hệ thống hoá,... công cụ để thử nghiệm đánh giá ở chƣơng 3 Chương 3: Thử nghiệm đánh giá rủi ro cho ứng dụng web theo phương pháp hộp đen Sử dụng công cụ phần mềm kiểm tra lỗ hổng Acunetix xây dựng kịch bản, tiến hành thử nghiệm đánh giá rủi ro cho ứng dụng web của 2 đơn vị cụ thể và đề xuất các giải pháp đảm bảo an toàn cho ứng dụng web 12 CHƢƠNG 1: TỔNG QUAN VỀ ĐÁNH GIÁ RỦI RO CHO ỨNG DỤNG WEB 1.1 Một số khái niệm... các lỗ hổng bảo mật phổ biến của ứng dụng web và các biện pháp đảm bảo an toàn ứng dụng web Chương 2: Phương pháp đánh giá và mô hình đánh giá rủi ro cho ứng dụng web Giới thiệu và phân tích các lỗ hổng bảo mật của các thành phần ứng dụng web, phân tích và đánh giá các phƣơng pháp kiểm tra lỗ hổng, lựa chọn ra phƣơng pháp kiểm tra tối ƣu Đồng thời phân tích và đánh giá một số công cụ kiểm tra lỗ hổng... Nghiên cứu về các lỗ hổng bảo mật và phƣơng pháp đánh giá mức độ rủi ro cho ứng dụng Web nói chung và website nói riêng Kết quả nghiên cứu của luận văn sẽ góp phần giúp cho các nhà quản lý (hay chủ sở hữu) các website có đƣợc cái nhìn đầy đủ về hiện trạng và mức độ an toàn các website của họ thông qua kết quả đánh giá sự tồn tại các lỗ hổng, các nguy cơ tấn công tiềm ẩn 3 Nhiệm vụ nghiên cứu - Nghiên cứu. .. - Phương pháp mô phỏng thực nghiệm: Sử dụng công cụ Acunetix để áp dụng triển khai đánh giá cổng thông tin điện tử của Trường Đại học Sư Phạm Hà Nội 2 và cổng thông tin điển tử của Tỉnh Vĩnh Phúc Bố cục của luận văn gồm 3 chương: Chương 1: Tổng quan về đánh giá rủi ro cho ứng dụng web Trình bày các khái niệm về an toàn thông tin, đánh giá rủi ro, tổng quan về ứng dụng web Đồng thời nghiên cứu các mối... thông tin và đánh giá rủi ro Thông qua chƣơng này ta cũng nắm đƣợc một cách tổng quan về ứng dụng web Đồng thời, hiểu đƣợc các mối đe dọa và các loại lỗ hổng bảo mật của ứng dụng web, các biện pháp phòng chống tấn công, bảo đảm an toàn ứng dụng web 24 CHƢƠNG 2: GIẢI PHÁP ĐÁNH GIÁ VÀ MÔ HÌNH ĐÁNH GIÁ RỦI RO CHO ỨNG DỤNG WEB 2.1 Giới thiệu chung Thƣờng đi kèm với lỗ hổng bảo mật là các mối đe dọa và nguy... sử dụng SSL cũng đều cho phép tất cả các dữ liệu đi qua mà không hề kiểm tra tính hợp lệ của những dữ liệu này Điều này có nghĩa bảo mật ứng dụng web là một yếu tố quan trọng nằm trong hệ thống phòng thủ ngoại vi, cùng với tƣờng lửa và các thiết bị bảo mật khác Vì vậy, việc Nghiên cứu giải pháp đánh giá rủi ro cho ứng dụng Web ” là đề tài rất cấp thiết và có ý nghĩa thực tiễn 2 Mục đích nghiên cứu Nghiên. .. năng, một ứng dụng web (Web Application) là một chƣơng trình ứng dụng có thể tiếp cận thông qua môi trƣờng mạng Internet (hoặc Intranet), ứng dụng web phổ biển nhờ vào việc có thể truy cập ở bất cứ nơi đâu thông qua trình duyệt hoặc ứng dụng khác, ứng dụng web chỉ cần cập nhật và bảo trì trên máy chủ hoặc cụm máy chủ, chứ không phải thực hiện trên hàng ngàn máy tính sử dụng, đó cũng là lý do chính cho sự... hiện rủi ro sẽ tăng lên Nhƣ vậy, giữa lỗ hổng bảo mật, mối đe dọa và rủi ro là ba yếu tố có mối quan hệ chặt chẽ với nhau (Hình 2.1) Hình 2.1: Mối quan hệ giữa rủi ro, mối đe dọa và lỗ hổng bảo mật Một yếu tố khác cần phải đƣợc nhắc đến, đó là giá trị của một ứng dụng web càng cao (ví dụ website của ngân hàng) thì càng khiến cho rủi ro tăng lên Bản thân nó thu hút những ngƣời dùng (khách hàng hợp pháp) ,... ứng trên quan điểm của ngƣời đánh giá rủi ro cũng nhƣ ngƣời quản trị an toàn ứng dụng web thì việc hiểu rõ lỗ hổng bảo mật có ý nghĩa vô cùng quan trọng OWASP (Open Web Application Security Project) là một dự án mở về bảo mật ứng dụng web thúc đẩy cố gắng chung của cộng đồng nhằm giúp các cá nhân, tổ chức, doanh nghiệp có thể phát triển, mua và bảo trì các ứng dụng web một cách an toàn Hàng năm OWASP