Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 103 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
103
Dung lượng
1,41 MB
Nội dung
TRƢỜNG ĐẠI HỌC LẠC HỒNG BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC LẠC HỒNG LÊ NGỌC THỨC XÂY DỰNG CÔNG CỤ ĐÁNH GIÁ AN TOÀN WEBSITE LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Đồng Nai, năm 2012 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC LẠC HỒNG LÊ NGỌC THỨC XÂY DỰNG CÔNG CỤ ĐÁNH GIÁ AN TOÀN WEBSITE Chuyên ngành: Công nghệ thông tin Mã số: 60.48.02.01 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƢỜI HƢỚNG DẪN KHOA HỌC: TS. NGUYỄN ĐỨC THÁI Đồng Nai, năm 2012 LỜI CAM ĐOAN Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi. Các số liệu sử dụng trong luận văn và các kết quả nghiên cứu được trình bày trong luận văn là trung thực. Đồng Nai, tháng 12 năn 2012 Học viên Lê Ngọc Thức LỜI CẢM ƠN Trong thời gian học tập, nghiên cứu và thực hiện luận văn này, tôi đã nhận đƣợc sự giúp đỡ vô cùng to lớn của quý thầy cô trƣờng Đại học Lạc Hồng, cơ quan, gia đình, bạn bè và đồng nghiệp. Tôi xin tỏ lòng biết ơn chân thành đến: TS. Nguyễn Đức Thái, ngƣời đã tận tình hƣớng dẫn và giúp đỡ tôi trong suốt thời gian học tập, nghiên cứu thực hiện đề tài. Tập thể quý thầy cô trực tiếp giảng dạy lớp Cao học khóa 2 – nghành Công nghệ Thông tin đã tận tình giảng dạy, hƣớng dẫn tôi trong suốt thời gian học tập, nghiên cứu tại trƣờng Đại học Lạc Hồng. Ban lãnh đạo Sở Tài nguyên và Môi trƣờng tỉnh Đồng Nai đã tạo điều kiện về thời gian và động viên về mặt tinh thần trong quá trình tôi thực hiện đề tài. Đặc biệt là gia đình, bạn bè, đồng nghiệp và các bạn học viên lớp Cao học khóa 2 ngành Công nghệ thông tin đã ủng hộ, động viên, giúp đỡ tôi trong suốt thời gian học tập nghiên cứu và thực hiện đề tài. Xin chân thành cảm ơn ! Đồng Nai, tháng 12 năn 2012 Học viên Lê Ngọc Thức MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC CÁC CHỮ VIẾT TẮT iv DANH MỤC CÁC BẢNG v DANH MỤC HÌNH ẢNH vi CHƢƠNG I: GIỚI THIỆU ĐỀ TÀI 1 1. LÝ DO THỰC HIỆN ĐỀ TÀI 1 2. MỤC TIÊU VÀ GIỚI HẠN CỦA ĐỀ TÀI 4 2.1. Mục tiêu 4 2.2. Giới hạn của đề tài 4 3. PHƢƠNG PHÁP THỰC HIỆN ĐỀ TÀI 4 4. CẤU TRÚC LUẬN VĂN 5 CHƢƠNG II: NHỮNG CÔNG TRÌNH LIÊN QUAN 7 1. Bộ tiêu chí đánh giá 7 2. Bkav WebScan 8 3. Paros Proxy 9 4. Google Ratproxy 11 5. W3af (Web Application Attack and Audit Framework) 13 CHƢƠNG III: CƠ SỞ LÝ THUYẾT 16 1. GIỚI THIỆU VỀ ỨNG DỤNG WEB 16 1.1. Khái niệm ứng dụng web 16 1.2. Mô tả hoạt động của một ứng dụng web 19 2. CÁC KHÁI NIỆM, THUẬT NGỮ LIÊN QUAN 19 2.1. Hacker 19 2.2. Http header 20 2.3. Session 21 2.4. Cookie 22 2.5. Proxy 24 3. GIỚI THIỆU SƠ LƢỢC VỀ CÁC KỸ THUẬT TẤN CÔNG ỨNG DỤNG WEB 25 3.1. Kiểm soát truy cập web (Web access Control) 25 3.2. Chiếm hữu phiên làm việc (Session Mangement) 25 3.3. Lợi dụng các thiếu sót trong việc kiểm tra dữ liệu nhập hợp lệ (Input validation) 26 3.4. Để lộ thông tin (informational) 28 4. THAO TÁC TRÊN THAM SỐ TRUYỀN 28 4.1. Thao tác trên url 29 4.2. Thao tác trên biến ẩn form 30 4.3. Thao tác trên cookie 31 4.4. Thao tác trong http header 33 5. CHÈN MÃ LỆNH THỰC THI TRÊN TRÌNH DUYỆT NẠN NHÂN (CROSS SITE SCRIPTING) 35 5.1. Kỹ thuật tấn công cross site scripting (xss) 35 5.2. Phƣơng pháp tấn công xss 37 5.3. Cách phòng chống 42 6. CHÈN CÂU TRUY VẤN SQL (SQL INJECTION) 43 6.1. Khái niệm SQL injection 43 6.2. Giới thiệu mô hình cơ sở dữ liệu 43 6.3. Các cách tấn công 43 6.4. Cách phòng chống 51 7. CHIẾM HỮU PHIÊN LÀM VIỆC (SESSION MANGEMENT) 55 7.1. Tổng quan về Session ID 55 7.2. Ấn định phiên làm việc 55 7.3. Đánh cắp phiên làm việc 62 8. TRÀN BỘ ĐỆM (BUFFER OVERFLOW) 65 8.1. Khái niệm 65 8.2. Sơ đồ tổ chức của bộ nhớ 66 8.3. Một số cách gây tràn bộ đệm qua ứng dụng web 72 8.4. Các cách phòng chống 72 CHƢƠNG IV: XÂY DỰNG ỨNG DỤNG ĐÁNH GIÁ AN TOÀN WEBSITE 74 1. ĐẶC TẢ CHƢƠNG TRÌNH 74 1.1. Tổng quan 74 1.2. Yêu cầu 74 2. KIẾN TRÚC CHƢƠNG TRÌNH 75 2.1. Kiến trúc 75 2.2. Giao tiếp giữa chƣơng trình với máy chủ web 76 3. THIẾT KẾ CHỨC NĂNG HỆ THỐNG 77 3.1. Chức năng đánh giá toàn bộ nội dung website 77 3.2. Chức năng đánh giá trang hiện tại 77 3.3. Chức năng hiển thị file bị lỗi 78 3.4. Chức năng phân loại mức độ lỗi 79 3.5. Chức năng đƣa ra lời khuyên 80 4. CÔNG CỤ SỬ DỤNG ĐỂ QUÉT LỖ HỔNG BẢO MẬT 81 4.1. W3af 81 4.2. Phƣơng pháp quét lỗ hổng bảo mật 82 5. XÂY DỰNG CHƢƠNG TRÌNH 84 5.1. Xây dựng cơ sở dữ liệu 84 5.2. Một số hàm chính đƣợc sử dụng trong chƣơng trình 85 5.3. Mô tả chƣơng trình và cách sử dụng 86 CHƢƠNG V: KẾT QUẢ ĐẠT ĐƢỢC VÀ ĐÁNH GIÁ 89 1. KẾT QUẢ ĐẠT ĐƢỢC 89 2. ĐÁNH GIÁ CHƢƠNG TRÌNH 89 2.1. So sánh với các công cụ liên quan 89 2.2. Những vấn đề đạt đƣợc 90 2.3. Những vấn đề hạn chế 91 3. HƢỚNG PHÁT TRIỂN 91 DANH MỤC BẢNG Bảng 3.1: Các thành phần của một Cookie 29 Bảng 3.2: Bảng User 48 Bảng 3.3: So sánh Session hijacking và Session fixation 68 Bảng 5.1: Kết quả quét bằng Paros Proxy 90 Bảng 5.2: Kết quả quét bằng Google Ratproxy 90 Bảng 5.3: Kết quả quét bằng My Web Scan 90 DANH MỤC HÌNH ẢNH Hình 1.1: Tỉ lệ phần trăm các loại lỗ hổng bảo mật 3 Hình 2.1: Quy trình kiểm tra lỗ hổng an ninh website bằng Bkav WebScan 7 Hình 2.2: Kết quả sau khi quét webstie của Bkav WebScan 8 Hình 2.3: Kết quả thu đƣợc từ Paros 10 Hình 2.4: Kết quả quét bằng Ratproxy 12 Hình 2.5: Kết quả sau khi quét bằng w3af 14 Hình 3.1: Kiến trúc một ứng dụng web 17 Hình 3.2: Mô hình hoạt động của một ứng dụng web 18 Hình 3.3: Quá trình thực hiện XSS 38 Hình 3.4: Sơ lƣợc quá trình tấn công ngƣời dùng bằng kỹ thuật Session 56 Hình 3.5: Mô tả chi tiết quá trình thực hiện tấn công ngƣời dùng bằng kỹ thuật ấn định phiên làm việc 57 Hình 3.6: Tấn công thông qua tham số URL 58 Hình 3.7: sơ đồ tổ chức bộ nhớ 67 Hình 3.8: Stack 68 Hình 3.9: Push một giá trị vào stack 68 Hình 3.10: Pop một giá trị ra khỏi stack 69 Hình 4.1: Kiến trúc phân tầng của ứng dụng 76 Hình 4.2: Giao tiếp giữa ứng dụng và máy chủ 76 Hình 4.3: Chức năng đánh giá toàn bộ nội dung website 77 Hình 4.4: Chức năng đánh giá trang hiện tại 78 Hình 4.5: Chức năng hiển thị file bị lỗi 79 Hình 4.6: Chức năng phân loại mức độ lỗi 80 Hình 4.7: Chức năng đƣa ra lời khuyên 81 Hình 4.8: Cấu trúc bảng DM_Loi 85 Hình 4.9: Giao diện của chƣơng trình 87 [...]... mật website, nghiên cứu các báo cáo và những nhận xét của các chuyên gia về bảo mật để từ đó có cái nhìn tổng quan về thực trạng an toàn website Tìm hiểu các công cụ đánh giá an toàn website liên quan, để từ đó so sánh ƣu và nhƣợc điểm của sản phẩm mình xây dựng Xây dựng một cơ sở dữ liệu về các lỗ hổng bảo mật website để có cơ sở đánh giá các trang web có lỗ hổng bảo mật Tự viết mã nguồn để xây. .. phù hợp CHƢƠNG IV: XÂY DỰNG ỨNG DỤNG ĐÁNH GIÁ AN TOÀN WEBSITE Chƣơng này trình bày quá trình xây dựng ứng dụng Đánh giá an toàn website Từ những kết quả nghiên cứu lý thuyết ở trên và các công cụ tìm hiểu đƣợc, để làm cơ sở xây dựng nên ứng dụng CHƢƠNG V: KẾT QUẢ ĐẠT ĐƢỢC VÀ ĐÁNH GIÁ Trình bày kết quả đạt đƣợc của đề tài, phân tích ƣu điểm và hạn chế của đề tài, từ đó đƣa ra kết luận và hƣớng phát... ra kết luận và hƣớng phát triển tiếp theo 7 CHƢƠNG II: NHỮNG CÔNG TRÌNH LIÊN QUAN Qua quá trình nghiên cứu các công cụ đánh giá an toàn webstie, tác giả xin đƣợc giới thiệu một số công cụ đang đƣợc sử dụng phổ biến hiện nay 1 Bộ tiêu chí đánh giá Trƣớc khi khảo sát các công cụ đánh giá an toàn website, tác giả xin đƣợc đƣa ra bộ tiêu chí đang đƣợc sử dụng phổ biến hiện nay là OWASP OWASP viết tắt của... CHƢƠNG II: NHỮNG CÔNG TRÌNH LIÊN QUAN Chƣơng này trình bày các công cụ đánh giá an toàn website liên quan, từ đó có cái nhìn tổng quan về các công cụ hiện có, đồng thời so sánh đƣợc các ƣu, nhƣợc điểm của công cụ mà mình xây dựng CHƢƠNG III: CƠ SỞ LÝ THUYẾT Chƣơng này nghiên cứu lý thuyết về các lỗ hổng bảo mật website và các biện pháp phòng chống Đồng thời cũng nêu lên các kỹ thuật tấn công mà 6 hacker... framework để phát triển các ứng dụng về đánh giá an toàn website Nó có nhiều hàm hỗ trợ việc quét và dò tìm lỗ hổng bảo mật W3af đƣợc trang chuyên về công cụ bảo mật Sectools.org đánh giá là một trong 3 công cụ quét lỗ hổng website tốt nhất hiện nay Đây là công cụ đƣợc 14 cộng đồng mã nguồn mở đóng góp và xây dựng, các phiên bản mới đƣợc cập nhật liên tục, và hiện này đang là phiên bản r6376 W3af dò tìm... phục Xây dựng công cụ đánh giá an toàn webstie 2.2 Giới hạn của đề tài Đề tài tập trung nghiên cứu các lỗ hổng bảo mật phổ biến do mã nguồn trang web gây ra Chủ yếu khảo sát các lỗ hổng phổ biến nhất thƣờng bị hacker sử dụng để khai thác Đề tài đánh giá độ an toàn webstie theo phƣơng pháp Black Box, tức là: Đóng vai trò là ngƣời dùng đầu cuối (ngƣời sử dụng trang web), thông qua các thông tin đầu... ty và doanh nghiệp Do đó, việc phát hiện và ngăn chặn tấn công website đang ngày càng đƣợc chú trọng Bản thân là học viên chuyên ngành công nghệ thông tin, có niềm đam mê về ứng dụng web và bảo mật Với mong muốn áp dụng những kiến thức mà mình đã đƣợc học và tìm hiểu từ thực tế, em mạnh dạn nghiên cứu đề tài Xây dựng công cụ đánh giá an toàn website 2 MỤC TIÊU VÀ GIỚI HẠN CỦA ĐỀ TÀI 2.1 Mục tiêu Đề... viên bao gồm Ban Quản Trị, Ban Điều Hành toàn cầu, lãnh đạo các chi nhánh, lãnh đạo 8 các dự án và thành viên dự án OWASP hỗ trợ sự sáng tạo trong nghiên cứu an toàn thông tin bằng các khoản trợ cấp và cơ sở hạ tầng 2 Bkav WebScan Đây là dịch vụ quét, phát hiện và đánh giá các lỗ hổng an ninh của website Là sản phẩm của tập đoàn BKAV, chủ yếu sử dung cho những ngƣời quản trị website để quét website mà... Kết luận: Paros là một chƣơng trình miễn phí tốt để đánh giá các lỗ hổng bảo mật của website Có thể quét bất kỳ trang web nào mà không cần chứng thực quyền sở hữu đối với trang web đó Giao diện thì trực quan và dễ sử dụng Nhƣng nhƣợc điểm của Paros là không tự động quét toàn bộ trang web đƣợc mà phải thông qua trình duyệt để duyệt từng page của trang web Điều này rất thủ công và mất rất nhiều thời gian... trợ quét giao thức an toàn SSL (Secure Socket Layer) Tuy nhiên, phƣơng thức bán chủ động của Ratproxy đã làm giảm tính hiệu quả của chƣơng trình, ngƣời dùng phải thực hiện thao tác thủ công trên từng page của website làm mất rất nhiều thời gian và công sức 5 W3af (Web Application Attack and Audit Framework) W3af là 1 công cụ dùng để rà soát lỗi bảo mật và kiểm định mức độ an toàn của website Đúng nhƣ . CHƢƠNG IV: XÂY DỰNG ỨNG DỤNG ĐÁNH GIÁ AN TOÀN WEBSITE Chƣơng này trình bày quá trình xây dựng ứng dụng Đánh giá an toàn website . Từ những kết quả nghiên cứu lý thuyết ở trên và các công cụ tìm. QUAN Chƣơng này trình bày các công cụ đánh giá an toàn website liên quan, từ đó có cái nhìn tổng quan về các công cụ hiện có, đồng thời so sánh đƣợc các ƣu, nhƣợc điểm của công cụ mà mình xây. toàn website. Tìm hiểu các công cụ đánh giá an toàn website liên quan, để từ đó so sánh ƣu và nhƣợc điểm của sản phẩm mình xây dựng. Xây dựng một cơ sở dữ liệu về các lỗ hổng bảo mật website