oss-Site Scripting là một trong các lỗi chính mà k tẻ ấn công khai thác để ấ t n công vào nhiều dịch vụ Web.. ủ- Phát triển một công cụ được gọi là XSS Detection nhằm kiểm tra và phát hi
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Đinh Thái Sơn Trang phụ bìa PHÁT TRIỂN GIẢI PHÁP VÀ CÔNG CỤ ĐẢM BẢO AN NINH CHO CÁC DỊCH VỤ TRỰC TUYẾN Chuyên ngành : Công nghệ thơng tin LUẬN VĂN THẠC SĨ KĨ THUẬT CƠNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Nguyễn Khanh Văn Hà Nội – Năm 2013 Tai ngay!!! Ban co the xoa dong chu nay!!! 17061132158891000000 LỜI CAM ĐOAN Tôi xin cam đoan: Luận văn thạc sĩ Công nghệ thông tin “Phát triển giải pháp công cụ đảm bảo an ninh cho dịch vụ trực tuyến” cơng trình nghiên cứu thực cá nhân, thực sở nghiên cứu lý thuyết hướng dẫn khoa học Tiến sĩ: Nguyễn Khanh Văn Tôi xin chịu trách nhiệm lời cam đoan Hà Nội, ngày 01 tháng 03 năm 2013 Tác giả Đinh Thái Sơn LỜI CẢM ƠN Để hồn thành chương trình cao học viết luận văn này, xin chân thành cảm ơn đến q thầy Viện Cơng nghệ thơng tin Truyền Thông, trường Đại học Bách Khoa Hà Nội tận tình dạy bảo tơi thời gian học Tơi xin gửi lời biết ơn sâu sắc đến Tiến Sĩ Nguyễn Khanh Văn dành nhiều thời gian nhiệt huyết để hướng dẫn tơi hồn thành luận văn Nhân đây, xin cảm ơn Ban giám hiệu trường Đại học Hùng Vương thầy cô khoa Tốn cơng nghệ tạo điều kiện cho lớp cao học Công nghệ thông tin 2010B Hùng Vương học tập thuận lợi Mặc dù tơi cố gắng hồn thiện luận văn, nhiên chắn cịn nhiều thiếu sót, mong góp ý q báu q thầy bạn Hà Nội, ngày 01 tháng 03 năm 2013 Tác giả Đinh Thái Sơn MỤC LỤC Trang phụ bìa MỤC LỤC DANH MỤC CÁC THUẬT NGỮ, TỪ VIẾT TẮT DANH MỤC CÁC HÌNH VẼ PHẦN MỞ ĐẦU Lý chọn đề tài Mục đích nghiên cứu luận văn, đối tượng, phạm vi nghiên cứu 10 Cấu trúc luận văn 10 Chương 11 TỔNG QUAN VỀ AN NINH TRỰC TUYẾN 11 1.1 An ninh trực tuyến 11 1.2 Thống kê an ninh 11 1.3 Đánh giá 13 Chương 14 PHƯƠNG PHÁP PHÁT HIỆN VÀ NGĂN CHẶN CROSS-SITE SCRIPTING 14 2.1 Tìm hiểu Cross-site scripting 14 2.2 Các mối đe dọa từ Cross-site Scripting : 14 2.3 Phân loại Cross-site Scripting 16 2.4 Các cách ngăn chặn XSS: 20 2.4.1 Ngăn chặn XSS giai đoạn phát triển web 21 2.4.2 Ngăn chặn XSS phần mềm 22 2.4.3 Ngăn chặn XSS việc phân tích việc truyền liệu 23 2.4.4 Ngăn chặn XSS việc theo dõi liệu nhạy cảm 25 2.4.5 Mã hóa an tồn (Secure Coding) 25 2.4.6 Tường lửa ứng dụng Web (Web Application Firewalls - WAF): 26 2.4.7 Phương pháp phịng chống phía máy khách (client-side) 28 2.5 Các cách phát lỗi bảo mật chung 29 2.5.1 Phương pháp công 29 2.5.2 Penetration Testing thủ công 30 2.5.3 Phân tích mã 32 2.5.4 Máy quét lỗ hổng Web tự động 33 2.6 Mơ hình hoạt động WVS 35 2.6.1 Sự thực thi nội tuyến (inline) iStar 37 2.6.2 Thực thi hoàn chỉnh iStar 38 2.6.3 Hạn chế máy quét lỗ hổng Web 40 2.6.4 Một máy ghi trình tự điển hình 42 2.6.5 Phát lỗ hổng bảo mật lớp mạng 43 2.6.6 Sự phát tự động lỗ hổng bảo mật XSS loại (thế hệ thứ 2) 43 Chương 46 PHƯƠNG PHÁP PHÁT HIỆN VÀ PHÒNG TRÁNH XSS WORM 46 3.1 Khái niệm XSS Worm 46 3.2 Phương pháp lan truyền sâu 46 3.3 Phương pháp phát XSS worm 48 3.4 Chương trình XSS Detection : 54 3.5 Đánh giá chương trình 59 KẾT LUẬN 61 TÀI LIỆU THAM KHẢO 63 DANH MỤC CÁC THUẬT NGỮ, TỪ VIẾT TẮT STT Thuật ngữ Diễn giải XSS Cross- Site Scripting CERT Computer Emergency Response Team OWASP Open Web Application Security Project DOM Document Object Model PHP Hypertext Preprocessor ASP Active Server Page CGI Common Gateway Interface HTML Hypertext Markup Language HTTP Hypertext Transfer Protocol 10 URL Uniform Resource Locator 11 WVS Web Vulnerability Scanner 12 IDS Intrusion detection system 13 CAPTCHA Completely Automated PublicTuring test to tell Computers and Humans Apart 14 CSRF Cross-site Request Forgery 15 IDE Integrated Development Environement 16 API Application Programming Interface DANH MỤC CÁC HÌNH VẼ STT Danh mục hình Trang 1.1 Thống kê 10 lỗi website thường gặp phải 12 1.2 Thống kê thời gian vá lỗi 12 1.3 Mức độ nghiêm trọng lỗ hổng bảo mật gây 13 2.1 Thống kê lỗ hổng thường bị cơng năm 2009 15 2.2 Ví dụ tin nhắn, công Stored XSS để lấy cắp cookie 17 2.3 Các bước cơng Stored XSS 18 2.4 Ví dụ công “ Reflected XSS” 19 2.5 Các bước công Reflected XSS 19 2.6 Đoạn hex sử dụng lỗi XSS 21 2.7 Ví dụ lọc 27 2.8 Một dạng công XSS dựa vào mơ hình Black-box 33 2.9 2.10 2.11 Kỹ thuật White-box thực trình xử lý liệu Một kiến trúc Web Vulnerability Scanner chuẩn 33 34 36 Một workflow-base WVS 2.12 Thực kiểu nội tuyến 37 2.13 Thực thi Inline Istar 38 2.14 Thực thi complete iStar 39 2.15 Các mẫu tiêm độc hại 44 3.1 3.2 3.3 Đoạn mã XSS Worm viết Javascript Mơ hình kiến trúc kiểm sốt gói tin từ phía trình duyệt chống lại phát tán XSS worm Sự tương đồng mã nguồn gốc mã nguồn mã hóa 48 49 53 3.4 Mơ hình hoạt động XSS Detection 55 3.5 Một đoạn mã hàm list_url 55 3.6 Mô tả thuộc tính thẻ HTML 56 3.7 Một đoạn chương trình hàm Handle_starttag 57 3.8 Một đoạn chương trình mơ tả hàm scan_web 57 3.9 Chương trình scan với trang xss.progphp.com 59 3.10 Kết tìm kiếm lỗi dựa vào payload cho trước 59 3.11 Đánh giá xem website có khả dính lỗi XSS hay không 59 PHẦN MỞ ĐẦU Lý chọn đề tài Sự phát triển nhanh chóng Internet đem lại cho người dùng nhiều dịch vụ hữu ích đặc biệt dịch vụ tốn giải trí trực tuyến Tuy nhiên hầu hết ứng dụng tiềm ẩn nguy chứa lỗi bảo mật mà tin tặc khai thác công Cross-Site Scripting lỗi mà kẻ cơng khai thác để cơng vào nhiều dịch vụ Web Kể từ trình duyệt Web hỗ trợ việc thực script, kịch nhúng nội dung, kẻ cơng sử dụng lỗi bảo mật để truy nhập thông tin người dùng cách bất hợp pháp Việc phát mã script độc hại cần thiết người sử dụng dịch vụ việc phát thực cách sử dụng cơng cụ có sẵn cơng ty bảo mật uy tín cung cấp.Tuy nhiên Việt Nam việc phòng chống tác hại lỗi XSS gây chưa nghiên cứu cụ thể chi tiết.Vì hướng dẫn TS Nguyễn Khanh Văn, em chọn đề tài “Phát triển giải pháp công cụ đảm bảo an ninh cho dịch vụ trực tuyến” nhằm mô tả tổng quan dịch vụ trực tuyến sâu tìm hiểu cách thức công tác hại cách công Cross- Site Scripting gây ra, khả giải nhằm giảm bớt nguy hiểm công cách thức mang lại Đồng thời luận văn này, tác giả nghiên cứu XSS worm, nghiên cứu phương pháp lan truyền đưa mô hình ngăn chặn sử dụng thuật tốn tri-grams, tác giả phát triển công cụ xây dựng ngôn ngữ python, tác giả đặt tên XSS Detection.Công cụ nhằm phát số lỗi XSS thường gặp website, đánh giá dựa hai yếu tố: hiệu suất độ xác Kết so sánh với chương trình Web Vulnerability Scanner hãng Acunetix Kết cho thấy tính xác cơng cụ XSS Detection chấp nhận được, đủ để đáp ứng cho an toàn người dùng mà không cần so sánh với cơng cụ khác Mục đích nghiên cứu luận văn, đối tượng, phạm vi nghiên cứu -Theo đánh giá tác giả, đề tài không giới Việt Nam đề tài tương đối khó với nhiều vấn đề kỹ thuật Trong phạm vi điều kiện khả nghiên cứu, mục đích, đối tượng phạm vi nghiên cứu xác định sau: - Nghiên cứu tổng quan chung an ninh dịch vụ trực tuyến - Nghiên cứu Cross Site Scripting: • Tổng quan Cross Site Scripting • Các cách thức cơng Cross Site Scripting • Phương pháp ngăn chặn phịng tránh - Nghiên cứu XSS Worm - Thuật toán ngăn chặn lây lan XSS Worm - Phát triển công cụ gọi XSS Detection nhằm kiểm tra phát lỗi XSS website so sánh với công cụ WVS (Web Vulnerability Scanner ) Cấu trúc luận văn Phần nội dung luận văn chia thành chương, đó: Chương - Tổng quan an ninh trực tuyến : Thống kê đánh giá mức độ rủi ro số lỗi bảo mật hay bị mắc phải Chương - Phương pháp phát ngăn chặn Cross Site Scripting: Nghiên cứu Cross site Scripting, phân loại Cross site Scripting, cách thức phát ngăn chặn lỗi XSS Chương - Phương pháp phát phòng tránh XSS worm: Chương giới thiệu phương pháp phát từ phía người xây dựng ứng dụng từ phía người người dùng Mơ tả thuật toán ngăn chặn XSS worm, đồng thời xây dựng ứng dụng tác giả đặt tên XSS Detection nhằm quét phát lỗ hổng XSS 10