WEB APPLICATION SECURITY

154 4 0
  • Loading ...
1/154 trang
Tải xuống

Thông tin tài liệu

Ngày đăng: 27/02/2019, 11:49

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CƠNG NGHỆ THƠNG TIN KHĨA LUẬN TỐT NGHIỆP WEB APPLICATION SECURITY Ngành : Công Nghệ Thông Tin Niên khóa : 2006 - 2010 Lớp : DH06DTM Sinh viên thực : Lâm Thế Diễn Hứa Văn Hiếu Trịnh Thái Long Nguyễn Minh Thành TP HỒ CHÍ MINH, tháng 10 năm 2010 Ngành BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NÔNG LÂM TP.HCM KHOA CÔNG NGHỆ THƠNG TIN KHĨA LUẬN TỐT NGHIỆP WEB APPLICATION SECURITY Giáo viên hướng dẫn: TS Phạm Văn Tính Sinh viên thực hiện: Lâm Thế Diễn Hứa Văn Hiếu Trịnh Thái Long Nguyễn Minh Thành TP HỒ CHÍ MINH, tháng 10 năm 2010 LỜI CẢM ƠN Sau gần tháng nỗ lực thực hiện, luận văn nghiên cứu “Web application security test” phần hoàn thành Ngoài cố gắng thân, chúng em nhận khích lệ nhiều từ phía nhà trường, thầy cơ, gia đình bạn bè Trước hết chúng xin cám ơn ba mẹ động viên tạo điều kiện tốt để chúng học tập hoàn thành luận văn tốt nghiệp Chúng em xin chân thành cảm ơn Khoa Công Nghệ Thông Tin, trường Đại học Nông Lâm TP.HCM tạo điều kiện thuận lợi cho chúng em thực luận văn tốt nghiệp Chúng em xin chân thành cám ơn thầy cô trường Đại học Nơng Lâm TP.HCM tận tình giảng dạy, trang bị truyền đạt kiến thức quý báu, truyền thụ cho chúng em kiến thức, kinh nghiệm, quan tâm dìu dắt giúp đỡ chúng em suốt trình học tập lúc thực luận văn Đặt biệt, chúng em xin bày tỏ lòng chân thành sâu sắc đến thầy Phạm Văn Tính, người tận tình hướng dẫn giúp đỡ chúng em trình làm luận văn tốt nghiệp Xin cám ơn tất bạn bè động viên, giúp đỡ q trình học tập hồn thành tốt luận văn tốt nghiệp Mặc dù cố gắng hoàn thành luận văn phạm vi khả cho phép chắn khơng tránh khỏi thiếu sót, kính mong nhân tận tình bảo quý thầy cô bạn bè Một lần nữa, chúng em xin chân thành cám ơn mong tình cảm chân thành tất người GVHD: TS.Phạm Văn Tính i SVTH: Diễn-Hiếu-Long-Thành TĨM TẮT BÁO CÁO Chương 1: Mở Đầu Giới thiệu tổng quan phát triển công nghệ thông tin giới Tình hình an ninh mạng giới việt nam Các lỗ hổng mạng dễ bị công nhất, đánh giá tổ chức quốc tế việt nam mức độ nguy hiểm tính phổ biến lỗ hổng Và cuối hướng tìm hiểu, đánh giá mục đích cuối đề tài chúng em Chương 2: Tổng Quan Giới thiệu thực trạng ứng dụng web xưa từ rút khái niệm web security, khái niệm ứng dụng web, mơ hình hoạt động ứng dụng web vấn đề có liên quan đến bảo mật ứng dụng web Chương 3: Cơ Sở Lý Thuyết 3.1: Phần mô tả chi tiết vấn đề liên quan đến trình xác thực phổ biến rộng rãi Khả khai thác thông tin công dựa vào nhứng lỗ hổng xác thực đưa biện pháp phòng ngừa để khắc phục lỗ hổng thiết kế ứng dụng 3.2: Chương trình bày khái niệm session token, kỹ thuật khai thác session, vị trí khai thác điểm yếu session token Cuối đưa biện pháp phòng thủ để hạn chế điểm yếu 3.3: Trình bày khái quát lỗi kiểm soát truy cập ứng dụng, rủi ro thường gặp lỗi kiểm soát truy cập Đồng thời, đưa phương pháp để giúp tránh lỗi kiểm sốt truy cập ứng dụng 3.4: Trình bày loại công phương pháp inject code bao gồm : kỹ thuật tiêm code vào ngôn ngữ thông dịch, tiêm code vào SQL, tiêm vào hệ điều hành, tiêm vào ngôn ngữ Scripting web, tiêm vào SOAP, tiêm vào Xpath, tiêm vào LDAP Đặc biệt phần giới thiệu nhiều kỹ thuật khai thác công lỗi SQL injection, giới thiệu lỗi thường gặp ba HQTCSDL MySQL, MS-SQL Oracle bị hacker khai thác lỗi SQL injection 3.5: Phần mô tả khái niệm lỗi path traversal, cách thực công, kỹ thuật dùng để vượt qua trở ngại thực công path traversal biện pháp để khắc phục lỗ hổng trình thiết kế ứng dụng GVHD: TS.Phạm Văn Tính ii SVTH: Diễn-Hiếu-Long-Thành 3.6: Các lỗ hổng logic ứng dụng khó phát có mức độ nguy hiểm cao bị hacker lợi dụng Trong phần mô tả chi tiết số lỗi phát trang web số biện pháp phòng ngừa Từ ví dụ rút kinh nghiệm cho trường hợp lỗ hổng tương tự 3.7: Trình bày khái quát lỗi XSS Phân loại loại lỗi XSS Các kỹ thuật dùng để phát hiện, khai thác công ứng dụng xảy lỗi XSS Đồng thời, chúng tơi đưa phương pháp để phòng chống việc công vào lỗi XSS 3.8: Phần trình bày khái niệm, kỹ thuật cơng đưa lời khuyên để ngăn chặn lỗi thông dụng: Redirection, HTTP Header Injection, Frame Injection, Request Forgery, JSON Hijacking, Session Fixation, ActiveX Controls 3.9: Phần mơ tả lỗ hổng xảy kiến trúc tầng ứng dụng Khả khai thác lỗ hổng đó, mức độ nguy hiểm đưa lời khuyên ngăn ngừa khả xuất lỗ hổng 3.10: Trình bày khái qt công từ chối dịch vụ Chỉ cho người dùng biết khả bị cơng từ chối dịch vụ Các kiểu công từ chối dịch vụ thường gặp đưa số phương pháp để khắc phục phòng chống kỹ thuật cơng từ chối dịch vụ 3.11: Trình bày khái quát lỗi file inclusion Đưa kỹ thuật tìm kiếm, khai thác ứng dụng xảy lỗi file inclusion Đồng thời, đưa phương pháp để phòng chống việc cơng vào lỗi file inclusion 3.12: Trình bày khái quát hệ quản trị sở liệu MySQL Trong chương chế bảo mật MySQL trình bày cụ thể Thứ chế bảo mật mơi trường mạng, tìm hiểu chế bảo mật SSL, cách cài đặt triển khai Thứ hai chế bảo mật sở liệu tìm hiểu cột chứa thông tin đăng nhập sơ liệu trình xác thực password 3.13: Trình bày lỗi xảy thường xảy client Đánh giá mức độ rủi ro đe dọa ứng dụng web Đồng thời đưa lời khuyên cụ thể cho loại lỗi 3.14: Phần đưa biện pháp xây dựng hệ thống mạng an toàn đưa lỗ hổng mạng thường xun bị cơng 3.15: Trình bày khái qt loại web server Đưa số lỗi thường xảy loại web server cách khắc phục cho trường hợp cụ thể GVHD: TS.Phạm Văn Tính iii SVTH: Diễn-Hiếu-Long-Thành Chương 4: Nghiên Cứu Thực Nghiệm Trình bày chi tiết số lỗi thường gặp, hướng dẫn cách phát hiện, khai thác công lỗi Đồng thời đưa số tiêu đánh giá lỗi như: tính phổ biến, mức độ nguy hiểm, dễ sử dụng Chương 5: Kết Quả Đạt Được Và Hướng Phát Triển Phần đưa bảng mô tả khái quát đánh giá mức độ nguy hiểm lỗi Đồng thời đưa bảng thống kê công cụ hỗ trợ phát hiện, khai thác công loại lỗi Đưa hướng phát triển luân văn GVHD: TS.Phạm Văn Tính iv SVTH: Diễn-Hiếu-Long-Thành MỤC LỤC LỜI CẢM ƠN i TÓM TẮT BÁO CÁO .ii MỤC LỤC .v DANH SÁCH CHỮ VIẾT TẮT ix DANH SÁCH CÁC HÌNH xi DANH SÁCH CÁC BẢNG xi Chương 1: MỞ ĐẦU Chương 2: TỔNG QUAN 2.1 Khái niệm Web Security 2.2.Tổng quan web server 2.3 Khái niệm ứng dụng web 2.4 Mơ hình hoạt động ứng dụng web .6 2.5 Các vấn đề liên quan đến bảo mật ứng dụng web Chương 3: CƠ SỞ LÝ THUYẾT 3.1 Lỗi xác thực web 3.1.1 Kỹ thuật xác thực 3.1.2 Thiết kế gây lỗi chế xác thực 3.1.3 Lỗi thực trình xác thực 11 3.1.4 Đảm bảo an toàn xác thực 13 3.2 Lỗi quản lý Session 14 3.2.1 Yếu điểm Session Token Generation 14 3.2.2 Yếu điểm xử lý Session Token 19 3.3 Lỗi kiểm soát truy cập 20 3.3.1 Các lỗi thường gặp kiểm soát truy cập 21 3.3.2 Khai thác lỗi kiểm soát truy cập 22 3.3.3 Đảm bảo kiểm soát truy cập 24 3.4 Inject code 25 3.4.1 Inject vào ngôn ngữ thông dịch 26 3.4.2 Inject vào SQL 27 3.4.3 Inject vào hệ điều hành 32 3.4.4 Inject vào ngôn ngữ Scripting web 36 GVHD: TS.Phạm Văn Tính v SVTH: Diễn-Hiếu-Long-Thành 3.4.5 Inject vào SOAP 37 3.4.6 Inject vào Xpath 38 3.4.7 Inject vào SMTP 39 3.4.8 Inject vào LDAP 41 3.5 Lỗ hổng Path Traversal 42 3.5.1 Lỗ hổng thường gặp 42 3.5.2 Tìm khai thác lỗ hổng Traversal Path .43 3.5.3 Ngăn chặn lỗ hổng Traversal Path 49 3.6 Yếu điểm logic ứng dụng 50 3.6.1 Bản chất lỗi Logic 50 3.6.2 Các ví dụ thực tế 50 3.6.3 Hạn chế lỗi Logic 54 3.7 Cross Site Scripting .54 3.7.1 Lỗ hổng Reflected XSS .55 3.7.2 Lỗ hổng Stored XSS .57 3.7.3.Tìm kiếm lỗi XSS 58 3.7.4 Khai thác lỗi XSS 59 3.7.5 Cách phòng chống 60 3.8 Một số lỗi thông thường .60 3.8.1 Lỗi Redirection .60 3.8.2 Giả mạo yêu cầu 64 3.8.3 Session Fixation 69 3.8.4 ActiveX Controls 72 3.8.5 Lỗ hổng Buffer overflow 75 3.9 Kiến trúc ứng dụng 77 3.9.1 Kiến trúc đa tầng 77 3.9.2 Shared Hosting cung cấp dịch vụ web .80 3.10 Tấn công từ chối dịch vụ 83 3.10.1 Các kỹ thuật công 83 3.10.2 Cách phòng chống 89 3.11 File Inclusion 90 3.11.1 Tìm kiếm lỗi 90 GVHD: TS.Phạm Văn Tính vi SVTH: Diễn-Hiếu-Long-Thành 3.11.2 Khai thác lỗi file inclusion 91 3.11.3 Cách phòng chống 96 3.12 Cơ sở liệu 97 3.12.1 MySQL 97 3.12.2 SQL Server 102 3.12.3 Oracle 102 3.13 Các lỗi xảy client 104 3.13.1 HTML input field 105 3.13.2 Cookies and HTTP headers 105 3.13.3 Java applet 106 3.13.4 Javascript 106 3.13.5 Flash 107 3.13.6 Ajax 108 3.14 Các lỗi xảy network 108 3.14.1 Những phương pháp nâng cao tính bảo mật mạng 109 3.14.2 Những điểm yếu mạng thường bị công 110 3.14.3 Kết luận 111 3.15 Các lỗi xảy web server 112 3.15.1 Apache tomcat 112 3.15.2 Microsoft Internet Information Service 115 Chương 4: NGHIÊN CỨU THỰC NGHIỆM 118 4.1 Lỗi SQL Injecton 118 4.1.1 Cách phát 118 4.1.2 Cách khai thác 120 4.2 Lỗi Path Traversal 120 4.2.1 Cách phát 121 4.2.2 Cách khai thác 121 4.3 Lỗi Cross Site Scripting 122 4.3.1 Cách phát 122 4.3.2 Cách khai thác 124 4.4 Lỗi trình chứng thực 125 4.4.1 Cách phát 125 GVHD: TS.Phạm Văn Tính vii SVTH: Diễn-Hiếu-Long-Thành 4.4.2 Cách khai thác 127 Chương 5: KẾT QUẢ ĐẠT ĐƯỢC VÀ HƯỚNG PHÁT TRIỂN 129 5.1 Những vấn đề đạt 129 5.2 Hướng phát triển 138 TÀI LIỆU THAM KHẢO 139 GVHD: TS.Phạm Văn Tính viii SVTH: Diễn-Hiếu-Long-Thành Chương 4: Nghiên Cứu Thực Nghiệm Nếu đăng ký tài khoản, cố gắng để đăng ký tài khoản với số loại mật yếu để khám phá luật lệ đưa Hình 4-7: Tạo tài khoản với mật yếu có ký tự Nếu bạn kiểm sốt tài khoản mật thay đổi, cố gắng thay đổi mật bạn để giá trị yếu khác Tìm trang công Bruteforce Cố gắng đăng nhập tay nhiều tài khoản xấu bạn kiểm soát, theo dõi thông báo lỗi nhận Sau khoảng 10 lần đăng nhập không thành công, ứng dụng không trả lại thơng báo việc khóa tài khoản, cố gắng để đăng nhập cách xác Nếu điều thành cơng, có lẽ khơng có sách khóa tài khoản Để chuẩn bị cho công công brute-force, xác định khác biệt phản ứng ứng dụng với lần đăng nhập thành cơng thất bại, sử dụng để phân biệt trạng thái trình cơng tự động Tìm kiếm thơng tin cần thiết cho cơng Tìm kiếm dự đốn danh sách tài khoản có: Các thơng tin tài khoản phổ biến Hình 4-8: Thông tin tài khoản trang web phổ biến GVHD: TS.Phạm Văn Tính 126 SVTH: Diễn-Hiếu-Long-Thành Chương 4: Nghiên Cứu Thực Nghiệm Một số ứng dụng tự động tạo tên tài khoản theo số trình tự dự đốn (ví dụ, cust5331, cust5332, vv) Khi ứng dụng hoạt động vậy, ta nhanh chóng tìm danh sách đầy đủ tiềm tất tên người dùng hợp lệ Tìm kiếm dự đốn danh sách mật yếu xuất 4.4.2 Cách khai thác Thực công Bruteforce vào trang: http://www.nhasachkimdung.com/ Công cụ sử dụng: Watchfire AppScan 7.0, Acunetix Web Vulnerability Scanner v6 Sau thực bước thu thập thông tin tiến hành q trình công brute force tài khoản hệ thống Thực theo bước sau:  Bước 1: Tạo file.txt chứa danh sách tên tài khoản mật đoán  Bước 2: Dùng tool Watchfire Authentication Tester Cấu hình thơng số cần thiết cho cơng Brute force  Bước 3: Chỉ định trạng thái trang web đăng nhập thành công thất bại để chương trình xác định trạng thái trình cơng  Bước 4: Nhập vào file txt (username password) tạo bước Hình 4-9: Cửa sổ nhận vào file chứa username password GVHD: TS.Phạm Văn Tính 127 SVTH: Diễn-Hiếu-Long-Thành Chương 4: Nghiên Cứu Thực Nghiệm  Bước 5: Bắt đầu trình Bruteforce mật Hình 4-10: Quá trình Brutefore mật thành Đánh giá Phổ biến: GVHD: TS.Phạm Văn Tính Nguy hiểm: 128 Dễ sử dụng: SVTH: Diễn-Hiếu-Long-Thành Chương 5: Kết đạt đuợc hướng phát triển Chương 5: KẾT QUẢ ĐẠT ĐƯỢC VÀ HƯỚNG PHÁT TRIỂN 5.1 Những vấn đề đạt Sau thời gian nghiên cứu vấn đề bảo mật ứng dụng web, nhóm em hồn thành mục tiêu sau:  Nắm vững chế, nguyên lý, điều kiện làm phát sinh lỗ hổng Wed Application  Hiểu đưa số phương pháp hạn chế mức độ nguy hiểm biện pháp xây dựng trang web an tồn  Có tầm nhìn tổng quan độ an toàn web đưa số đánh giá mức độ bảo mật trang web việt nam  Tìm hiểu thực số trang web kỹ thuật công phổ biến: cross-site scripting, session hi-jacking, công brute-force, khai thác inject code, buffer overflow, công từ chối dịch vụ, file inclusion  Các biện pháp bảo mật client đưa phương pháp thiết kế xây dựng hệ thống mạng an toàn  Xây dựng bảng thống kê loại lỗi phổ biến bảng kiểm tra loại lỗi số website thực tế Sau kiểm tra thực khai thác loại lỗi thực tế cơng cụ kết hợp với thủ cơng nhóm em đưa bảng thống kê lỗi: Lỗi xuất trình thực kết nối sơ liệu khơng an tồn Người dùng dựa vào thông báo lỗi sở liệu trả lại trình duyệt để thực cơng trở lại sở liệu Đây lỗi phổ biến nguy hiểm khởi đầu cho cơng khác GVHD: TS.Phạm Văn Tính Cơng cụ 129 Thủ công Nguy hi Giới thiệu lỗi SQL Injection Cách phát lỗi Tên lỗi 3.4.2 Ph ểm ổ biến Bảng 5-1: Thống kê loại lỗi BSQL_hacker Absinthe Acunetix_Web_Vu lnerability_Scanner iSEC.SecurityQA.T oolbar SVTH: Diễn-Hiếu-Long-Thành Cross-Site Scripting kỹ thuật công cách chèn vào website động thẻ HTML hay đoạn mã script nguy hiểm gây nguy hại cho người dùng khác Web_Vulnerability _Scanner Ứng dụng kiểm sốt thơng tin người dùng không tốt dẫn đến nguy để lộ thông tin người dùng, khả công brute-fore, đánh cắp mật đường truyền hay database Watchfire_App_Bu rpsuite 3.1 Loại điểm yếu dễ bị phát sinh session token truyền mạng mà khơng mã hóa hacker có vị trí thích hợp để nghe họ dễ dàng lấy token đăng nhập người dùng hợp lệ 3.2.2 Khi ứng dụng cài đặt control để ứng dụng gọi từ trang nó, control phải đăng ký an toàn Một điều xảy ra, website khác truy cập người dùng sử dụng control 3.8.4 3.4.4 7 Inject vào ngôn ngữ Scripting web xác thực Lỗi trình 3.7 Disclosure of Tokens in Network Watchfire_AppSca n_Enterprise ActiveX Control Cross Site Scripting Chương 5: Kết đạt đuợc hướng phát triển Các logic cốt lõi hầu hết ứng dụng web viết ngôn ngữ script PHP, VBScript, Perl Một điểm nguy hiểm công vào mã nguồn ứng dụng Lỗ hổng phát sinh từ hai nguồn chính: •Thực thi động mã kết hợp với liệu người dùng cung cấp iSEC.SecurityQA.T oolbar.2.0.172 Cain & Abel Commview •Thực thi động sở liệu người dùng cung cấp GVHD: TS.Phạm Văn Tính 130 SVTH: Diễn-Hiếu-Long-Thành 3.11 Lợi dụng trình sử dụng API để truy cập từ xa, tình nhà phát triển sử dụng kỹ thuật có đặc quyền cao để truy xuất, hacker dựa vào để thực cơng nhà phát triển dù khơng có quyền 3.4.3 Một ngơn ngữ thông dịch (interpreted language) dịch lệnh chạy lệnh, lần sau muốn chạy lại phải thơng dịch lại Chính đặc điểm nên ngôn ngữ thông dịch phát sinh lỗi code injection 3.4.1 Shared Hosting Nhà cung cấp dịch vụ có nhiều khách hàng thường hỗ trợ khách hàng sở hạ tầng Nếu hacker khách hàng can thiệp vào môi trường chia sẻ chung 3.10.2 Lỗ hổng redirection xuất Acunetix Web ứng dụng nhận liệu người dùng Vulnerability nhập vào sử dụng để định Scanner trình duyệt người dùng chuyển hướng sang URL khác với request ban đầu 3.8.1 Session token thường tiết lộ log hệ thống Mặc dù trường hợp xảy hậu nghiêm trọng log chứa thông tin quan trọng hacker chuyên nghiệp 3.2.2 in Logs Disclosure of Tokens Inject vào ngôn ngữ Inject vào hệ điều thông dịch hành Flood vào ứng dụng Đối với website, thông thường DosHTTP 2.0 form POST liệu bảo vệ ảnh nhận dạng captcha Nếu ứng dụng sử dụng form khơng có captcha làm cho hacker flood vào database ứng dụng cách dễ dàng Redirection Chương 5: Kết đạt đuợc hướng phát triển GVHD: TS.Phạm Văn Tính 131 SVTH: Diễn-Hiếu-Long-Thành Tấn công File Inclusion Đây lỗi lập trình PHP, biến register_globals, allow_url_include allow_url_fopen file PHP.ini Apache Server khai báo Điều cho phép hacker include file vào server (Local File Include) include đến file máy khác (Remote File Include) Inject vào Xpath Dựa vào điểm yếu XML từ người dùng vượt qua lọc, sau hacker thao tác truy vấn vào logic ứng dụng lấy liệu mà khơng có thẩm quyền 3.4.6 LDAP Thơng qua hệ thống LDAP ứng Retina_Network_ dụng từ hacker chỉnh sủa nội dung Security_Scanner_( cấu hình server ví dụ Active RNSS) Directory Windows 3.4.8 Inject vào SMTP Hacker gửi đầu vào phù hợp với kỹ thuật khơng bị lọc khử, tùy ý inject STMP vào hội thoại Bạn định nội dung tin nhắn địa email bạn Bạn xác định chủ đề tin nhắn chi tiết khác Inject vào lỗ hổng SMTP thường khai thác người gửi thư rác dựa vào hình thức mail dễ bị tổn thương sử dụng chúng để tạo khối lượng lớn email quấy nhiễu 3.4.7 Lỗi kiến trúc tầng Chương 5: Kết đạt đuợc hướng phát triển Nhiều ứng dụng web sử dụng kiến trúc đa tầng Mối quan hệ tin tưởng làm trầm trọng thêm nhiều lỗ hổng web phổ biến Nếu lỗi xuất tầng dẫn đến hành vi bất thường tầng khác 3.10.1 GVHD: TS.Phạm Văn Tính 132 SVTH: Diễn-Hiếu-Long-Thành Chương 5: Kết đạt đuợc hướng phát triển 3.8.2 3.8.2 Inject vào SOAP The Simple Object Access Protocol (SOAP) thơng điệp truyền thơng dựa cơng nghệ đóng gói liệu sử dụng định dạng XML.Vì XML ngơn ngữ thơng dịch nên SOAP có khả dễ bị tổn thương code injection Các yếu tố XML đại diện cú pháp, sử dụng metacharacters / 3.4.5 Buffer Overflow Lỗ hổng xảy người dùng đưa Acunetix Web liệu vào đệm có chiều dài vượt Vulnerability khả lưu trữ đệm kết Scanner liệu ghi đè lên liệu khác liền kề với 3.8.5 Lỗ hổng logic ứng dụng web vô đa dạng Từ lỗi đơn giản thể số dòng mã đến lỗ hổng phức tạp phát sinh từ số thành phần cốt lõi ứng dụng 3.6 Cross-Site Request Fogery Request Forgery On-site 3.8.3 Lỗi logic Session Fixation Trong công session fixation, theo Acunetix Web cách khác, hacker phải có Vulnerability token vô danh cấp từ Scanner ứng dụng, dùng cách để sửa token bên trình duyệt nạn nhân Sau người dùng đăng nhập, hacker sử dụng token để chiếm session người dùng Với request forgery, hacker không cần biết đến session token nạn nhân Thay vào đó, hacker khai thác hành vi bình thường trình duyệt web để chiếm lấy token người dùng, gửi request mà người dùng khơng có ý định gửi GVHD: TS.Phạm Văn Tính 133 Acunetix Web Vulnerability Scanner SVTH: Diễn-Hiếu-Long-Thành WebDAV Remote Authentication Bypass Web-based Distributed Authoring and Versioning thành phần mở rộng IIS cho phép người sử dụng quản lý file (xóa, chỉnh sửa, …) web server Lỗ hổng xảy trình xử lý ký tự unicode %c0%af (Unicode / character) Cho phép hacker vượt qua chế bảo vệ để liệt kê thư mục, file; đọc file, tạo file, Path traversal Chương 5: Kết đạt đuợc hướng phát triển Path traversal xuất việc kiểm Acunetix Web sốt liệu người dùng đòi hỏi ứng Vulnerability dụng phải truy cập vào file thư mục Scanner server file phụ trợ cách không an tồn Bằng việc gửi vào liệu thủ cơng, hacker tự cấp quyền để đọc, viết nơi file hệ thống truy cập 3.5 7 Bảng thống kê bao gồm lỗi phổ biến ứng dụng web liệt kê giảm dần theo mức độ phổ biến nguy hiểm Khái niệm bước khai thác chi tiết tham khảo theo mục sách ghi cột “thủ công” Dựa vào bảng thống kê bên trình khai thác số website thực tế, chúng em đưa bảng tiêu chí đánh giá mức độ bảo mật số ứng dụng web sau: Bảng 5-2: Tiêu chí đánh giá lỗi STT Trang Tên Lỗi Trang Trang Lỗi Xác Thực Cho phép mật yếu Xác định tên người dùng Cho phép đăng nhập sai nhiều lần Thông tin xác thực khơng mã hố đường truyền URL phục hồi mật tạo theo quy luật Tên người dùng tạo theo quy luật Mật tạo theo quy luật Trang Bypassing a Login GVHD: TS.Phạm Văn Tính     SQL Injection 134 SVTH: Diễn-Hiếu-Long-Thành Chương 5: Kết đạt đuợc hướng phát triển 10 Nhập liệu chuỗi đặc biệt làm xuất thông báo lỗi SQL Nhập vào liệu số biểu thức làm xuất thông báo lỗi SQL Tấn công sử dụng câu lệnh SELECT Tấn công sử dụng câu lệnh INSERT Tấn công sử dụng tốn tử UNION Tấn cơng sử dụng StoredProcedures Fingerprinting the Database        Extracting Useful Data Blind SQL Cross Site Scripting Feedback có chứa liệu nhập Chèn Script vào input field Chèn Script vào URL Lấy cookies người dùng Tái tạo cookies Chiếm session            Session Không kết thúc phiên cũ Tiết lộ token đường truyền Tiết lộ token log Chiếm session        Chú ý: Trang 1: www.nhasachkimdung.com Trang 2: www.vieclambank.com Trang 3: http://www.toeic.com.vn Trang 4: http://www.ttdinhduong.org GVHD: TS.Phạm Văn Tính 135 SVTH: Diễn-Hiếu-Long-Thành Chương 5: Kết đạt đuợc hướng phát triển Dựa vào tiêu chí đánh giá mức độ an ninh số ứng dụng web thực tế, chúng em đưa biểu đồ so sánh mức độ bảo mật ứng dụng web sau: Hình 5-1: Biểu đồ đánh giá mức độ bảo mật Nhận xét Bảng tiêu chí đánh giá liệt kê lỗi nguy hiểm mắc phải số trang web thực tế Từ bảng này, ta đưa đánh giá chung mức độ an toàn trang web Những khuyến cáo Người quản trị mạng Người quản trị hệ thống cần xác định rõ đối tượng quan trọng hệ thống cần bảo vệ; xác định mức độ ưu tiên đối tượng Ví dụ đối tượng cần bảo vệ hệ thống là: máy chủ dịch vụ, router, điểm truy cập thống, chương trình ứng dụng, hệ quản trị sở liệu, dịch vụ cung cấp… GVHD: TS.Phạm Văn Tính 136 SVTH: Diễn-Hiếu-Long-Thành Chương 5: Kết đạt đuợc hướng phát triển Xác định nguy hệ thống xác định lỗ hổng bảo mật dịch vụ, ứng dụng hệ thống Việc xác định đắn nguy giúp người quản trị tránh cơng mạng, có biện pháp bảo vệ đắn cách thường xuyên cập nhật tin tức nhóm tin bảo mật từ nhà cung cấp phần mềm để phát lỗi phần mềm sử dụng Khi phát lỗi cần cập nhật phần mềm để tránh trường hợp hacker lợi dụng lỗ hổng có ứng dụng chưa sửa chữa phiên cũ Kiểm soát chặt chẽ quyền tài khoản hệ thống; không sử dụng quyền root trường hợp không cần thiết Đối với tài khoản không sử dụng hệ thống cần đổi mật hủy bỏ Quản lý mật cách chặt chẽ  Buộc người sử dụng thay đổi mật thời gian định  Trong trường hợp người sử dụng bị mật khẩu, để cấp lại mật cần có thủ tục để xác thực người sử dụng …  Cần giám sát theo dõi chặt chẽ chương trình đổi mật khẩu, thường mục tiêu công Người xây dựng ứng dụng web Đảm bảo liệu cung cấp từ người dùng hợp lệ Tất liệu đưa vào ứng dụng phải kiểm tra loại bỏ ký tự đặc biệt Đưa lời cảnh báo cho người sử dụng Web rủi ro xảy ra, đặc biệt nên ý cho phép trình duyệt thực thi ngơn ngữ trình khách máy mình, khả lợi dụng ngôn ngữ lớn kỹ thuật XSS, Session Người sử dụng cần nhận thức vai trò quan trọng việc bảo vệ tài khoản Các hoạt động quản lý tài khoản bao gồm việc bảo vệ mật khẩu, thay đổi mật định kỳ, đăng ký thời điểm, … Sử dụng phần mềm bảo vệ client người sử dụng, log out khỏi hệ thống sau thời gian timeout … Phát tài khoản sử dụng trái phép: Người dùng cần quấn luyện cách phát tài khoản sử dụng trái phép Người sử dụng cần thường xuyên kiểm tra hoạt động để đảm bảo khơng có người khác lợi dụng tài khoản thực hành động khác GVHD: TS.Phạm Văn Tính 137 SVTH: Diễn-Hiếu-Long-Thành Chương 5: Kết đạt đuợc hướng phát triển Người sử dụng Sau sử dụng xong ứng dụng cần thoát khỏi hệ thống theo quy định để nội dung quan trọng lưu trữ cookie bị hủy bỏ, tránh khả hacker tiếp tục dùng sessionID tồn để đăng nhập vào hệ thống Tạo tài khoản với mật có mức độ bảo mật cao, thường xuyên thay đổi mật khẩu, không nên dùng mật cho nhiều tài khoản Không nên truy cập vào đường link nghi ngờ 5.2 Hướng phát triển Trong phạm vi luận văn đại học, luận văn đạt yêu cầu đặt Tuy nhiên, kết khiêm tốn hạn chế tài liệu thời gian Trong thời gian tới, có điều kiện, luận văn cố gắng phát triển thêm nội dung sau:  Tìm hiểu kỹ thuật công mức độ sâu hơn, đưa phương pháp bảo mật web mức độ cao  Sử dụng công cụ khai thác lỗ hổng tốt nhiều phương diện kỹ thuật  Đưa thang điểm mức độ nguy hiểm bước khai thác loại lỗi cụ thể  Phát triển chương trình dùng để kiểm tra lỗi từ bảng kiểm tra lỗi thực tế GVHD: TS.Phạm Văn Tính 138 SVTH: Diễn-Hiếu-Long-Thành TÀI LIỆU THAM KHẢO Trên Sách Dafydd Stuttard/ Marcus Pinto, The Web Application Hacker’s Handbook, 2008 Billy Hoffman/ Bryan Sullian, Ajax Security, 2007 Michael Cross, Developer’s Guide toWeb Application Security, 2007 Neil Daswani/ Christoph Kern/ Anita Kesavan, Foundations of Security, 2007 Jeff Forristal/ Julie Traxler, Hack Proofing your Web Applications, 2001 Rich Cannings/ Himanshu Dwivedi/ Zane Lackey, Hacking Exposed Web 2.0, 2008 Microsoft Corporation, Improving Application Security, 2003 Llia Alshanetsky, Php|Architect’s Guide to Php Security, 2005 McGraw_Hill company, HackNotes Web Security Portable Reference, 2003 Joel Scambray/ Mike Shema, Hacking Exposed Web Applications, 2002 10 Chris Snyder/ Michael Southwell, Pro PHP Security, 2005 11 Christopher Wells, Security Ajax Applications, 2007 12 Elsevier, XSS Exploits and Defense, 2007 13 Elsevier, Web Application Vulnerabilities, 2007 14 Hung Q Nguyen/ Bob Johnson/ Michel Hackett, Testing Applications on the Web, 2003 15 Shreeraj Shah, Web 2.0 Security Defending Ajax, RIA, and SOA, 2008 Trên Internet 16 Bảo mật sở liệu http://haiphongit.com/forum/showthread.php?t=1230 17 Tình hình an ninh mạng việt nam http://www.nhandan.com.vn/tinbai/?top=41&sub=76&article=170750 18 Những biện pháp cải thiện an ninh mạng http://www.scribd.com/doc/17154165/14TBTH14 19 Session http://en.wikipedia.org/wiki/Session_%28computer_science%29 20 Ajax http://vi.wikipedia.org/wiki/Ajax_%28l%E1%BA%ADp_tr%C3%ACnh%29 GVHD: TS.Phạm Văn Tính 139 SVTH: Diễn-Hiếu-Long-Thành 21 XSS http://ha.ckers.org/xss.html 22 Tấn công từ chối dịch vụ http://vi.wikipedia.org/wiki/T%E1%BA%A5n_c%C3%B4ng_t%E1%BB%AB_ch%E1 %BB%91i_d%E1%BB%8Bch_v%E1%BB%A5 23 File inclusion http://www.guru.net.vn/PermaLink,guid,1924e061-6881-453d-a8415ec94c00591f.aspx 24 Microsoft IIS 6.0 WebDAV Remote Authentication Bypass http://www.guru.net.vn/PermaLink,guid,c44d9bc7-90c3-485f-943d29eeb34e0ad2.aspx GVHD: TS.Phạm Văn Tính 140 SVTH: Diễn-Hiếu-Long-Thành ... dụng web Web security tập hợp tiêu chuẩn, nguyên tắc bảo mật lập trình nhằm giúp ứng dụng web trở nên an toàn Từ đưa tiêu chuẩn để đánh giá mức độ an toàn trang web 2.2.Tổng quan web server Web. .. niệm Web Security 2.2.Tổng quan web server 2.3 Khái niệm ứng dụng web 2.4 Mơ hình hoạt động ứng dụng web .6 2.5 Các vấn đề liên quan đến bảo mật ứng dụng web. .. Giới thiệu thực trạng ứng dụng web xưa từ rút khái niệm web security, khái niệm ứng dụng web, mô hình hoạt động ứng dụng web vấn đề có liên quan đến bảo mật ứng dụng web Chương 3: Cơ Sở Lý Thuyết
- Xem thêm -

Xem thêm: WEB APPLICATION SECURITY, WEB APPLICATION SECURITY

Gợi ý tài liệu liên quan cho bạn