Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 56 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
56
Dung lượng
1,96 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI 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 1 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 và công cụ đảm bảo an ninh cho các dịch vụ trực tuyến” này là công trình nghiên cứu thực sự của cá nhân, được thực hiện trên cơ sở nghiên cứu lý thuyết và dưới sự hướng dẫn khoa học của Tiến sĩ: Nguyễn Khanh Văn. Tôi xin chịu trách nhiệm về lời cam đoan này. Hà Nội, ngày 01 tháng 03 năm 2013 Tác giả Đinh Thái Sơn 2 LỜI CẢM ƠN Để hoàn thành chương trình cao học và viết luận văn này, tôi xin chân thành cảm ơn đến quí thầy cô trong Viện Công nghệ thông tin và 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 trong 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 rất nhiều thời gian và nhiệt huyết để hướng dẫn tôi hoàn thành luận văn này. Nhân đây, tôi cũng xin cảm ơn Ban giám hiệu trường Đại học Hùng Vương và các thầy cô trong khoa Toán công nghệ đã tạo điều kiện cho lớp cao học Công nghệ thông tin 2010B tại Hùng Vương chúng tôi được học tập thuận lợi. Mặc dù tôi đã cố gắng hết sức hoàn thiện luận văn, tuy nhiên chắc chắn vẫn còn nhiều thiếu sót, rất mong sự góp ý quý báu của quí thầy cô và các bạn. Hà Nội, ngày 01 tháng 03 năm 2013 Tác giả Đinh Thái Sơn 3 MỤC LỤC Trang phụ bìa 1 MỤC LỤC 4 DANH MỤC CÁC THUẬT NGỮ, TỪ VIẾT TẮT 5 DANH MỤC CÁC HÌNH VẼ 6 PHẦN MỞ ĐẦU 8 1. Lý do chọn đề tài 8 2. Mục đích nghiên cứu luận văn, đối tượng, phạm vi nghiên cứu 8 3. Cấu trúc luận văn 9 2.4.1 Ngăn chặn XSS trong giai đoạn phát triển web 19 2.4.2. Ngăn chặn XSS bằng phần mềm 21 2.4.3. Ngăn chặn XSS bằng việc phân tích việc truyền dữ liệu 22 2.4.4. Ngăn chặn XSS bằng việc theo dõi dữ liệu nhạy cảm 23 2.4.5. Mã hóa an toàn (Secure Coding) 23 2.4.6. Tường lửa ứng dụng Web (Web Application Firewalls - WAF): 24 2.4.7. Phương pháp phòng chống phía máy khách (client-side) 25 2.5.1. Phương pháp tấn công 27 2.5.2. Penetration Testing thủ công 27 2.5.3. Phân tích mã 29 2.5.4. Máy quét lỗ hổng Web tự động 30 2.6. Mô hình hoạt động của WVS 32 2.6.1. Thực thi nội tuyến (inline) 33 2.6.2. Thực thi hoàn chỉnh 34 2.6.3. Hạn chế của máy quét lỗ hổng Web hiện nay 35 2.6.4. Một máy ghi trình tự điển hình 37 2.6.5. Phát hiện các lỗ hổng bảo mật trên lớp mạng 38 2.6.6 Sự phát hiện tự động các lỗ hổng bảo mật XSS loại 2 (thế hệ thứ 2) 38 TÀI LIỆU THAM KHẢO 56 4 DANH MỤC CÁC THUẬT NGỮ, TỪ VIẾT TẮT STT Thuật ngữ Diễn giải 1 XSS Cross- Site Scripting 2 CERT Computer Emergency Response Team 3 OWASP Open Web Application Security Project 4 DOM Document Object Model 5 PHP Hypertext Preprocessor 6 ASP Active Server Page 7 CGI Common Gateway Interface 8 HTML Hypertext Markup Language 9 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 5 DANH MỤC CÁC HÌNH VẼ STT Danh mục cá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 do các lỗ hổng bảo mật gây ra 13 2.1 Thống kê các lỗ hổng thường bị tấn công năm 2009 15 2.2 Ví dụ về một tin nhắn, tấn công Stored XSS để lấy cắp cookie 17 2.3 Các bước tấn công Stored XSS 18 2.4 Ví dụ về tấn công “ Reflected XSS” 19 2.5 Các bước tấn công Reflected XSS 19 2.6 Đoạn hex được sử dụng trong lỗi XSS 21 2.7 Ví dụ về một bộ lọc 27 2.8 Một dạng tấn công XSS dựa vào mô hình Black-box 33 2.9 Kỹ thuật White-box thực hiện trong quá trình xử lý dữ liệu 33 2.10 Một kiến trúc Web Vulnerability Scanner chuẩn 34 2.11 Một workflow-base WVS 36 2.12 Thực hiện kiểu nội tuyến 37 2.13 Thực thi Inline trong Istar 38 2.14 Thực thi complete trong iStar 39 2.15 Các mẫu tiêm độc hại 44 3.1 Đoạn mã XSS Worm viết bằng Javascript 48 3.2 Mô hình kiến trúc kiểm soát các gói tin từ phía trình duyệt chống lại sự phát tán của XSS worm 49 3.3 Sự tương đồng giữa mã nguồn gốc và mã nguồn đã được mã hóa 53 3.4 Mô hình hoạt động của XSS Detection 55 6 3.5 Một đoạn mã của hàm list_url 55 3.6 Mô tả các thuộc tính của thẻ HTML 56 3.7 Một đoạn chương trình của 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 các trang xss.progphp.com 59 3.10 Kết quả tìm kiếm lỗi các dựa vào các payload cho trước 59 3.11 Đánh giá xem website có khả năng dính lỗi XSS hay không 59 7 PHẦN MỞ ĐẦU 1. Lý do chọn đề tài Sự phát triển nhanh chóng của Internet đem lại cho người dùng rất nhiều dịch vụ hữu ích đặc biệt là các dịch vụ thanh toán hoặc giải trí trực tuyến. Tuy nhiên hầu hết các ứng dụng này đều tiềm ẩn nguy cơ chứa các lỗi bảo mật mà tin tặc có thể khai thác và tấn công. Cross-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. Kể từ khi trình duyệt Web hỗ trợ việc thực hiện các script, các kịch bản được nhúng trong nội dung, kẻ tấn công có thể sử dụng lỗi bảo mật này để truy nhập thông tin người dùng một cách bất hợp pháp. Việc phát hiện các mã script độc hại là rất cần thiết đối với người sử dụng dịch vụ và việc phát hiện này có thể được thực hiện bằng cách sử dụng các công cụ có sẵn do các 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 các lỗi do XSS gây ra chưa được nghiên cứu cụ thể và chi tiết.Vì vậy dưới sự hướng dẫn của TS. Nguyễn Khanh Văn, em đã chọn đề tài “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” nhằm mô tả tổng quan các dịch vụ trực tuyến và đi sâu tìm hiểu cách thức tấn công và các tác hại do cách tấn công Cross- Site Scripting gây ra, khả năng giải quyết nhằm giảm bớt sự nguy hiểm của các cuộc tấn công bằng cách thức này mang lại. Đồng thời trong luận văn này, tác giả cũng nghiên cứu về XSS worm, nghiên cứu phương pháp lan truyền và đưa ra mô hình ngăn chặn sử dụng thuật toán tri-grams, tác giả cũng phát triển một công cụ mới được xây dựng bằng ngôn ngữ python, được tác giả đặt tên là XSS Detection.Công cụ này nhằm phát hiện một số lỗi XSS thường gặp trên website, và sẽ được đánh giá dựa trên hai yếu tố: hiệu suất và độ chính xác. Kết quả so sánh với chương trình Web Vulnerability Scanner của hãng Acunetix. Kết quả cho thấy tính chính xác của công cụ XSS Detection là có thể chấp nhận được, đủ để đáp ứng cho sự an toàn của người dùng mà không cần so sánh với các công cụ khác. 2. Mục đích nghiên cứu luận văn, đối tượng, phạm vi nghiên cứu -Theo đánh giá của tác giả, đây là đề tài tuy không mới trên thế giới nhưng ở Việt Nam đây là đề tài tương đối mới và khó với nhiều vấn đề kỹ thuật mới. Trong phạm vi điều kiện và khả năng nghiên cứu, mục đích, đối tượng và phạm vi nghiên cứu được xác định như sau: 8 - Nghiên cứu tổng quan chung về an ninh các dịch vụ trực tuyến - Nghiên cứu Cross Site Scripting: • Tổng quan về Cross Site Scripting. • Các cách thức tấn công Cross Site Scripting. • Phương pháp ngăn chặn và phòng tránh. - Nghiên cứu về XSS Worm. - Thuật toán ngăn chặn sự lây lan của XSS Worm. - Phát triển một công cụ được gọi là XSS Detection nhằm kiểm tra và phát hiện lỗi XSS trong các website và so sánh với công cụ WVS (Web Vulnerability Scanner ) 3. Cấu trúc luận văn Phần nội dung chính của luận văn được chia thành 3 chương, trong đó: Chương 1 - Tổng quan về an ninh trực tuyến : Thống kê và đánh giá mức độ rủi ro của một số lỗi bảo mật hay bị mắc phải. Chương 2 - Phương pháp phát hiện và ngăn chặn Cross Site Scripting: Nghiên cứu về Cross site Scripting, phân loại Cross site Scripting, cách thức phát hiện và ngăn chặn lỗi XSS. Chương 3 - Phương pháp phát hiện và phòng tránh XSS worm: Chương này giới thiệu các phương pháp phát hiện từ phía người xây dựng ứng dụng và 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 một ứng dụng được tác giả đặt tên là XSS Detection nhằm quét và phát hiện lỗ hổng XSS. Chương 1 TỔNG QUAN VỀ AN NINH TRỰC TUYẾN 1.1. An ninh trực tuyến Ngày nay, khi Internet ngày càng phát triển, việc tiếp cận đến các dịch vụ trực tuyến ngày càng dễ dàng hơn.Cùng với sự phát triển đó là sự xuất hiện của hàng loạt các website thương mại điện tử, thanh toán trực tuyến, các mạng xã hội, các trò chơi trực tuyến, vv….Việc đảm bảo an ninh, an toàn thông tin cho các giao dịch này là hết sức quan trọng. Thống kê an ninh cho thấy sự quan tâm của tin tặc đối với các hình thức giao dịch trực tuyến này. Cụ thể là cùng với sự tăng lên của số lượng các dịch vụ thanh toán 9 trực tuyến, thì số lỗi bảo mật được phát hiện trên các website đó ngày càng tăng. Đặc biệt, người quản trị website cũng không nhận thấy các lỗi bảo mật này. Đến khi phát hiện được, thì tác hại là không nhỏ. Các lỗi bảo mật liên quan đến các dịch vụ trực tuyến thường liên quan đến các ứng dụng web, công cụ dùng để triển khai thanh toán điện tử. Lý do là những lập trình viên thiết kế các ứng dụng web này chưa quan tâm đúng mức đến việc đảm bảo an ninh cho các giao dịch điện tử, hoặc có thể họ chưa được đầu tư, đào tạo bài bản cho những vấn đề này. Chính vì thế, mặc dù có quan tâm, rà soát các chương trình, tuy nhiên vẫn không thể tránh khỏi một ứng dụng web dính các lỗi bảo mật. Theo thống kê của BKAV (bkav.com.vn) trong năm 2012 có khoảng hơn 2203 website của các doanh nghiệp và cơ quan Việt Nam bị tấn công, lỗi phổ biến là khai thác lỗ hổng trên các hệ thống mạng. Cũng theo thống kê này thì số lượng website bị lỗi hầu như không giảm mà đang có chiều hướng tăng lên. Thực trạng cho thấy, an ninh mạng, an ninh trực tuyến vẫn chưa được quan tâm đúng mức tại các cơ quan, doanh nghiệp, hầu hết các cơ quan này cũng chưa bố trí được nhân sự phụ trách an ninh mạng, hoặc đội ngũ chưa đáp ứng được với tình hình thực tế. 1.2. Thống kê an ninh Theo thống kê an ninh từ tổ chức whitehat (www.whitehatsec.com) số lượng các lỗi liên quan đến việc đánh cắp thông tin người dùng, hay truy xuất vào cơ sở dữ liệu ngày càng tăng. Cụ thể, tổ chức này thống kê 10 lỗi website thường gặp phải trong năm 2011 như sau : Hình 1.1 : Thống kê 10 lỗi website thường gặp phải 10 [...]... qua các các công cụ như Web Vulnerability Scanners ( một công cụ quét lỗ hổng web rất hữu ích ), hay bằng thủ công kiểm tra các phản hồi HTTP hoặc bằn cách thử các giá trị đầu vào khác nhau Qua đó, tạo ra tập các hành động của ứng dụng web Phương pháp White-Box thì ngược lại, các Pentester ( những người đánh giá độ an toàn website thông qua cách tấn công chúng) có tất cả các thông tin cần thiết và thậm... 2004 tại Microsoft và các tác giả cho rằng sau đó chất lượng tổng thể về an ninh của các sản phẩm của Microsoft sẽ cải thiện đáng kể Trong bất cứ một nhóm phương pháp phát triển phần mềm nào, phần quan trọng nhất nằm trong sự hiểu 23 biết của tất cả các nhà phát triển, đó là quá trình xây dựng và cung cấp các tính năng SDL chỉ là một ví dụ, trong đó kiến thức an ninh, an toàn thông tin và học vấn được... tin không tốt và không thể tìm thấy lỗ hổng bảo mật thì chắc chắn nó sẽ bỏ lỡ các lỗ hổng bảo mật Hình 2.10: Một kiến trúc Web Vulnerability Scanner chuẩn Mô đun tấn công quét tất cả các dạng, các thông số URL của các trang thu thập được và tiêm nhiễm các mẫu tấn công vào các thông số khác nhau Bộ phận phân tích phân tích và giải thích phản hồi của máy chủ Nó sử dụng tiêu chuẩn tấn công và từ khóa 30... (Secure Coding) Cách tốt nhất để ngăn chặn các lỗ hổng bảo mật trong các ứng dụng là viết mã an toàn Quá trình phát triển phần mềm đã dần dần được cải thiện theo thời gian và có nhiều phương pháp tiếp cận khác nhau Tùy thuộc vào quy mô nhóm, quy mô dự án, thời gian và ngân sách tiền tệ hoặc chỉ đơn giản là sở thích cá nhân, nhóm nhà phát triển phần mềm có thể lựa chọn từ tập hợp các mô hình phát triển phần... thể truy cập vào mã nguồn để tìm các lỗ hổng Hoạt động của các ứng dụng Web có thể được theo dõi bằng cách sử dụng công cụ gỡ lỗi, máy chủ Web và các phiên bản cơ sở dữ liệu được biết đến Phương pháp Black-Box thường là phương pháp phổ biến để tìm kiếm các cuộc tấn công Dưới đây là tổng quan về kỹ thuật phổ biến cho cả hai phương pháp tiếp cận Black-Box và White-Box 26 2.5.1 Phương pháp tấn công Trọng... các thông số đầu vào được sửa đổi một chút bằng cách chèn các vectơ tấn công có chứa các kí tự quan trọng như ‘, ", Đôi khi , các vectơ tấn công có thể được thay thế bằng vectơ tấn công tương tự, phá vỡ các bộ lọc cụ thể Giả sử, bộ lọc đầu vào lọc chuỗi con Nếu bộ lọc không tái kiểm tra các chuỗi, các vector tấn công sẽ vượt qua được bộ lọc và. .. các WAF bằng nhiều cách khác nhau, ví dụ bằng cách giới thiệu phiên bản XSS vượt qua được các bộ lọc, thủ tục xử lý đầu vào, bằng cách thêm vào các thuật toán phân tích đầu ra của một ứng dụng Web, hoặc bằng cách theo dõi các mã script được phép và không được phép Những cách tiếp cận này khá thú vị, tuy có chiến lược làm giảm sự tấn công vào các ứng dụng web nhưng không giải quyết được các vấn đề bảo. .. Giovanni Vigna có giới thiệu một hệ thống phát hiện xâm nhập Hệ thống này giúp phát hiện các cuộc tấn công vào máy chủ web và ứng dụng web Các log file của máy chủ web được phân tích cho các dị thường trong các yêu cầu HTTP Giải pháp này bao gồm giai đoạn đọc và giai đoạn phát hiện Trong giai đoạn đọc, các chuỗi truy vấn gửi đến ứng dụng web được sử dụng để tính điểm mà dựa trên một mô hình Mô hình và. .. vào những trang web tin cậy Điều này có thể rất khó khăn nếu một công cụ tìm kiếm được sử dụng để tìm kiếm một thứ gì đó trên trang web Các trang web được trả về bởi công cụ tìm kiếm mà chưa từng được xem trước đó thì nó không thể biết các trang web đó có tin cậy hay không Sau đây, là các phương pháp ngăn chặn và phát hiện mà đã có những hiệu quả nhất định 2.4.1 Ngăn chặn XSS trong giai đoạn phát triển. .. phát hiện các điểm số cho mỗi câu truy vấn được tính toán bằng cách sử dụng mô hình đào tạo mà vượt quá một ngưỡng nhất định thì là dấu hiệu cho một cuộc tấn công Để phát hiện ra các dị thường đòi hỏi một mô hình tốt để cung cấp các điểm số chính xác và ngưỡng phải là một số không quá cao (nếu không các cuộc tấn công có thể không bị phát hiện) Nhưng ưu điểm của nó là có thể phát hiện các cuộc tấn công . BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI 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 . do XSS gây ra chưa được nghiên cứu cụ thể và chi tiết.Vì vậy dưới sự hướng dẫn của TS. Nguyễn Khanh Văn, em đã chọn đề tài 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. 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 1 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 và công