Nghiên cứu lỗ hổng bảo mật Cross-Site Scripting và xây dựng chương trình phát hiện sâu mã độc phát tán

74 1.3K 8
Nghiên cứu lỗ hổng bảo mật Cross-Site Scripting và xây dựng chương trình phát hiện sâu mã độc phát tán

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Nghiên cứu lỗ hổng bảo mật Cross-Site Scripting và xây dựng chương trình phát hiện sâu mã độc phát tán PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 1. Thông tin về sinh viên Họ và tên sinh viên: Nguyễn Văn Bảo Điện thoại liên lạc: 0977728940 Email: anpha2010@gmail.com Lớp: Công nghệ phần mềm Hệ đào tạo: Đại học Đồ án tốt nghiệp được thực hiện tại: Trường Đại học Bách Khoa Hà Nội Thời gian làm ĐATN: Từ ngày / /2010 đến / /2010 2. Mục đích nội dung của ĐATN Nghiên cứu lỗ hổng bảo mật Cross-Site Scripting và xây dựng chương trình phát hiện sâu mã độc phát tán 3. Các nhiệm vụ cụ thể của ĐATN - Nghiên cứu lỗ hổng bảo mật Cross-Site Scripting - Tìm hiểu các phương pháp phòng tránh và phát hiện Cross-Site Scripting - Tìm hiểu về Cross-Site Scripting worm - Xây dựng chương trình phát hiện sâu mã độc phát tán 4. Lời cam đoan của sinh viên: Tôi – Nguyễn Văn Bảo - cam kết ĐATN là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của Tiến sĩ Nguyễn Khanh Văn. Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳ công trình nào khác. Hà Nội, ngày tháng năm Tác giả ĐATN 5. Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép bảo vệ: Hà Nội, ngày tháng năm Giáo viên hướng dẫn Sinh viên thực hiện: Nguyễn Văn Bảo – Khóa 50 – Lớp CNPM i Nghiên cứu lỗ hổng bảo mật Cross-Site Scripting và xây dựng chương trình phát hiện sâu mã độc phát tán TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP Ngày nay với sự phát triển sâu rộng của internet, nó đã xâm nhập vào hầu hết các lĩnh vực của đời sống xã hội. Con người ngày càng có nhu cầu kinh doanh buôn bán, trao đổi và lưu trữ thông tin trên mạng. Vì thế vấn đề bảo mật, an toàn thông tin ngày càng trở nên cấp thiết và cần có sự đầu tư thích đáng. Trong những năm gần đây có rất nhiều lỗ hổng bảo mật trên ứng dụng web được phát hiện. Một trong số đó là lỗ hổng bảo mật cross-site-scripting, cái mà đã gây nhiều tổn thất và có có những mối nguy hại tiềm tàng. Luận văn này được đưa ra để tìm hiểu về lỗ hổng bảo mật này, cùng với đó là nghiên cứu các biện pháp phòng tránh và ngăn chặn chúng. Phân tích và xem xét các biện pháp đó xem nó có những điểm mạnh điểm yếu gì, áp dụng trong hoàn cảnh nào là phù hợp. Ngoài ra luận văn còn tìm hiểu một dạng đặt biệt của lỗ hổng cross-site-scripting đó là cross-site-scripting worm, một loại worm có khả năng đặc biệt là lây lan một cách nhanh chóng mà không gây nên tắc ngẽn mạng. Cuối cùng là xây dựng chương trình phát hiện sự phát tán của worm trên. Sinh viên thực hiện: Nguyễn Văn Bảo – Khóa 50 – Lớp CNPM ii Nghiên cứu lỗ hổng bảo mật Cross-Site Scripting và xây dựng chương trình phát hiện sâu mã độc phát tán ABSTRACT OF THESIS Nowadays, internet have attend every aspect of the society with a rapid development. People have growing demands for doing business, salling, exchanging and storing information in the internet. Therfore, the security and safety of information become more and more important and need a proper investment. In the last few years, there have been many security vulnerabilities of web applications explored. One of them is the security vulnerabilities: cross- site-scripting, which have caused much damage and had potential dangers. This essay is supposed to explore this security gap, as well as give methods to prevent them. It’s necessary to analyze the advantages and disadvantages of those methods and the condition to use them. Furthermore, a special types of the cross-site-scripting gap is researched. It’s the cross-site- scripting worm (a worm with special strength of spreading rapidly without making network jammed). Finally, the essay gives the program to detect the propagation of that worm. Sinh viên thực hiện: Nguyễn Văn Bảo – Khóa 50 – Lớp CNPM iii Nghiên cứu lỗ hổng bảo mật Cross-Site Scripting và xây dựng chương trình phát hiện sâu mã độc phát tán LỜI CẢM ƠN Sau hơn 6 tháng nỗ lực thực hiện, luận văn “Nghiên cứu lỗ hổng bảo mật Cross-Site Scripting và xây dựng chương trình phát hiện sâu mã độc phát tán” đã phần nào hoàn thành. Ngoài sự cố gắng của bản thân, em cũng đã nhận được sự khích lệ, động viên rất nhiều từ phía nhà trường, thầy cô, gia đình và bạn bè. Trước hết con xin cảm ơn ba mẹ đã luôn tạo mọi điều kiện tốt để con học tập tốt và hoàn thành luận văn tốt nghiệp này. Em xin cảm ơn thầy cô trường Đại Học Bách Khoa Hà Nội đã truyền đạt những kiến thức quý báu cho em trong suốt quá trình học tập. Đặc biệt, em xin bày tỏ lòng chân thành cảm ơn sâu sắc đến tiến sĩ Nguyễn Khanh Văn, người đã tận tình hướng dẫn và giúp đỡ em trong suốt quá trình làm luận văn tốt nghiệp. Xin cám ơn tất cả bạn bè đã và đang động viên giúp đỡ mình trong quá trình học tập và hoàn thành đồ án tốt nghiệp này. Sinh viên thực hiện: Nguyễn Văn Bảo – Khóa 50 – Lớp CNPM iv Nghiên cứu lỗ hổng bảo mật Cross-Site Scripting và xây dựng chương trình phát hiện sâu mã độc phát tán MỤC LỤC PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP ii ABSTRACT OF THESIS iii LỜI CẢM ƠN iv MỤC LỤC v DANH MỤC TỪ VIẾT TẮT, THUẬT NGỮ ix LỜI GIỚI THIỆU 1 Mục tiêu của luận văn 2 Tổ chức của luận văn 3 CHƯƠNG 1: TỔNG QUAN VỀ CROSS SITE SCRIPTING 4 1.1.Định nghĩa XSS 4 1.2. Phân loại XSS 5 1.2.1. Stored XSS 5 1.2.2. Refleted XSS 7 CHƯƠNG 2: CÁC CÁCH NGĂN CHẶN XSS 10 2.1. Ngăn chặn XSS trong giai đoạn phát triển 10 2.2. Ngăn chặn XSS bằng phần mềm 12 2.3. Ngăn chặn XSS bằng việc phân tích việc truyền dữ liệu 13 2.4. Ngăn chặn XSS bằng việc theo dõi dữ liệu nhạy cảm 14 2.5. Ngăn chặn XSS trên phía máy khách 14 CHƯƠNG 3: PHƯƠNG PHÁP NGĂN CHẶN XSS SỬ DỤNG 16 “DYNAMIC DATA TAINTING” 16 3.1. Dynamic data tainting 16 Sinh viên thực hiện: Nguyễn Văn Bảo – Khóa 50 – Lớp CNPM v Nghiên cứu lỗ hổng bảo mật Cross-Site Scripting và xây dựng chương trình phát hiện sâu mã độc phát tán 3.1.1. Khởi tạo dữ liệu đánh dấu 17 3.1.2. Theo dõi dữ liệu đánh dấu 19 3.2. Data transmission 27 CHƯƠNG 4: XSS WORM 33 4.1. Khái niệm XSS worm 33 4.2. Phương pháp lây lan 33 4.3. Tác hại của XSS worm 34 4.3.1. XSS Worm đầu tiên: Samy worm 34 4.3.2. 24 giờ lan truyền đầu tiên: Samy xác lập một kỷ lục 35 4.3.3. Phân tích và so sánh 36 4.4. Chương trình phát hiện XSS worm 38 4.4.1. Phương pháp tiếp cận 39 4.4.2. Thiết kế chương trình 40 4.4.2.1. Lấy các giá trị tham số và URI link từ HTTP request 43 4.4.2.2. DOM script và các file script bên ngoài của trang web 43 4.4.2.3. Bộ giải mã tự động 44 4.4.2.4. Phát hiện chuỗi tương tự 44 4.4.3. Cài đặt chương trình 45 4.4.4. Đánh giá 56 CHƯƠNG 5: KẾT LUẬN 57 PHỤ LỤC 58 TÀI LIỆU THAM KHẢO 63 Sinh viên thực hiện: Nguyễn Văn Bảo – Khóa 50 – Lớp CNPM vi Nghiên cứu lỗ hổng bảo mật Cross-Site Scripting và xây dựng chương trình phát hiện sâu mã độc phát tán DANH MỤC HÌNH Hình 1: Các lỗ hổng trong ứng dụng web 2 Hình 2: Ví dụ về một tin nhắn cho tấn công “Stored XSS” mà lấy cắp cookie 5 Hình 3: Các bước tấn công stored XSS 6 Hình 4:Ví dụ về tấn công “Refleted XSS” 7 Hình 5: Các bước của tấn công Refleted XSS 8 Hình 6: Các nguồn bị đánh dấu ban đầu 18 Hình 7: Ví dụ về phép gán 20 Hình 8: Ví dụ về các phép toán học và logic 21 Hình 9: Ví dụ về vòng lặp for với điều kiện bị đánh dấu 22 Hình 10: Ví dụ cho một điều khiển phụ thuộc 23 Hình 11: Phạm vi bị đánh dấu của khối if 24 Hình 12: Opcode của ví dụ trong hình 11 24 Hình 13: Các vị dụ về cấu trúc điều khiển và lặp 25 Hình 14: Các tham số hàm 26 Hình 15: Ví dụ về hàm 26 Hình 16: Sử dụng của eval với thông tin bị đánh dấu 27 Hình 17: Ví dụ cho lưu trữ tạm thời dữ liệu bị đánh dấu vào DomTree 27 Hình 18: Ví dụ của việc truyền cookie bằng cách thay đổi nguồn của một ảnh bằng Javascript 29 Hình 19: Log file của một Get request thành công 29 Hình 20: Ví dụ truyền dữ liệu bằng submit một form 30 Hình 21: Hộp thoại hỏi cho việc truyền dữ liệu 31 Hình 22: Tấn công dùng vòng lặp do-while 32 Hình 23: 24 giờ đầu lan truyền của các worm 36 Sinh viên thực hiện: Nguyễn Văn Bảo – Khóa 50 – Lớp CNPM vii Nghiên cứu lỗ hổng bảo mật Cross-Site Scripting và xây dựng chương trình phát hiện sâu mã độc phát tán Hình 24: Lây nhiễm peer-to-peer 37 Hình 25: Lây nhiễm từ máy chủ web tới trình duyệt web 38 Hình 26: Ví dụ DOM tree của một văn bản 40 Hình 27: Quá trình gửi HTTP request và nhận HTTP response 41 Hình 28: Kiến trúc client cho phát hiện XSS 42 Hình 29: Package diagram 46 Hình 30: Class diagram 47 Hình 31: Mã đăng kí các sự kiện 48 Hình 32: Quá trình lấy các script trong document 49 Hình 33: Quá trình sử lý sự kiện có một yêu cầu gửi đi 50 Hình 34: Quá trình lấy dữ liệu trong tham số gửi đi 51 Hình 35: Cài đặt thuật toán trigram 53 Hình 36: Cài đặt chương trình 54 Hình 37: Hình ảnh chương trình khi cài đặt xong 55 Hình 38: Hình ảnh cảnh báo khi người dùng vào trang web có lỗi XSS worm 55 Hình 39: Cấu trúc trong một file xpi 58 Hình 40: Nội dung của một file install.rdf 59 Hình 41: Khai báo thanh trạng thái(statusbar) trong file browser.xul 60 Hình 42: Đoạn mã để thêm một statusbarpanel vào thanh trạng thái 60 Hình 43: Định dạng của file chrome.manifest 62 Hình 44: Ví dụ để ghép overlay trong extension vào trong cửa sổ trình duyệt 62 Sinh viên thực hiện: Nguyễn Văn Bảo – Khóa 50 – Lớp CNPM viii Nghiên cứu lỗ hổng bảo mật Cross-Site Scripting và xây dựng chương trình phát hiện sâu mã độc phát tán DANH MỤC TỪ VIẾT TẮT, THUẬT NGỮ Từ viết tắt Ý nghĩa CNTT Công nghệ thông tin CSDL Cơ sở dữ liệu UTF-7 Một chuẩn mã hóa HTTP Hypertext Transfer Protocol HTTP request Yêu cầu HTTP gửi đi URI Uniform Resource Identifier URL Uniform Resource Locator URN Uniform Resource Name DOM Mô hình đối tượng tài liệu ID Định danh Byte-code Mã trung gian giữa mã viết và mã máy DNS Domain name system XMLHttpRequest Một giao diện lập trình để truyền dữ liệu giữa máy khách và máy chủ Log-file Tập tin lưu trữ dấu vết truy cập trên máy chủ TFTP Một giao thức truyền file API Giao diện lập trình XML eXtensible Markup Language: ngôn ngữ đánh dấu mở rộng Sinh viên thực hiện: Nguyễn Văn Bảo – Khóa 50 – Lớp CNPM ix Nghiên cứu lỗ hổng bảo mật Cross-Site Scripting và xây dựng chương trình phát hiện sâu mã độc phát tán Sinh viên thực hiện: Nguyễn Văn Bảo – Khóa 50 – Lớp CNPM x [...]... 50 – Lớp CNPM 2 Nghiên cứu lỗ hổng bảo mật Cross-Site Scripting và xây dựng chương trình phát hiện sâu mã độc phát tán mức độ tác hại của loại worm này và xây dựng một giải pháp phát hiện chúng phía máy khách Tổ chức của luận văn Chương 1 Tổng quan về sross site scripting: chương này sẽ nêu ra định nghĩa thế nào là XSS, nguyên nhân gây ra lỗi XSS, và chỉ ra các loại tấn công XSS cơ bản Chương 2 Các cách... dụng web đối với dữ liệu nhập vào bởi người dùng Theo thống kê trong những năm gần đây các lỗ hổng được tìm thấy trong ứng dụng web tăng lên rất nhanh và chủ yếu là các lỗ hổng khai thác vấn đề trên Sinh viên thực hiện: Nguyễn Văn Bảo – Khóa 50 – Lớp CNPM 1 Nghiên cứu lỗ hổng bảo mật Cross-Site Scripting và xây dựng chương trình phát hiện sâu mã độc phát tán Hình 1: Các lỗ hổng trong ứng dụng web Trong... ra bởi một ứng dụng web có lỗ hổng thì trang web đó sẽ chứa đoạn mã HTML mà được truyền vào từ liên kết trên ( ) Sinh viên thực hiện: Nguyễn Văn Bảo – Khóa 50 – Lớp CNPM 8 Nghiên cứu lỗ hổng bảo mật Cross-Site Scripting và xây dựng chương trình phát hiện sâu mã độc phát tán Script sau đó được dịch và chạy bởi trình duyệt web và cookie của người dùng sẽ... hơn khi nó lọc và mã hóa mỗi đầu vào và đầu ra Sự đòi hỏi xử lý các yêu Sinh viên thực hiện: Nguyễn Văn Bảo – Khóa 50 – Lớp CNPM 11 Nghiên cứu lỗ hổng bảo mật Cross-Site Scripting và xây dựng chương trình phát hiện sâu mã độc phát tán cầu trên cho một trang web phổ biến có thể làm cho chi phí thực hiện của trang web lên rất cao 2.2 Ngăn chặn XSS bằng phần mềm Phần mềm kiểm tra cho các lỗ hổng XSS có thể... Bảo – Khóa 50 – Lớp CNPM 20 Nghiên cứu lỗ hổng bảo mật Cross-Site Scripting và xây dựng chương trình phát hiện sâu mã độc phát tán stack để tính toán và sau đó nhét kết quả trở lại Kết quả bị đánh dấu khi sử dụng toán hạng bị đánh dấu Hình 8: Ví dụ về các phép toán học và logic 3.1.2.3 Cấu trúc điều khiển và lặp Cấu trúc điều khiển và lặp được sử dụng để điều khiển dòng thực hiện của chương trình và. .. nghĩa về dữ liệu mà cần bảo mật trong document được truy cập Sinh viên thực hiện: Nguyễn Văn Bảo – Khóa 50 – Lớp CNPM 15 Nghiên cứu lỗ hổng bảo mật Cross-Site Scripting và xây dựng chương trình phát hiện sâu mã độc phát tán CHƯƠNG 3: PHƯƠNG PHÁP NGĂN CHẶN XSS SỬ DỤNG “DYNAMIC DATA TAINTING” Hầu hết các hệ thống được trình bày trong chương 2 đều cố gắng ngăn chặn XSS tấn công vào các ứng dụng web trên... được thực hiện như hình 3 sau: Sinh viên thực hiện: Nguyễn Văn Bảo – Khóa 50 – Lớp CNPM 5 Nghiên cứu lỗ hổng bảo mật Cross-Site Scripting và xây dựng chương trình phát hiện sâu mã độc phát tán Hình 3: Các bước tấn công stored XSS Trước tiên kẻ tấn công lưu bài viết chứa mã XSS trên diễn đàn Nạn nhân đầu tiên đăng nhập vào diễn đàn và sẽ được xác định bởi một cookie mà được thiết lập trên trình duyệt... nêu ra các hướng phát triển trong tương lai Sinh viên thực hiện: Nguyễn Văn Bảo – Khóa 50 – Lớp CNPM 3 Nghiên cứu lỗ hổng bảo mật Cross-Site Scripting và xây dựng chương trình phát hiện sâu mã độc phát tán CHƯƠNG 1: TỔNG QUAN VỀ CROSS SITE SCRIPTING 1.1 Định nghĩa XSS Một trang web có thể vô tình chứa các thẻ HTML hoặc script độc hại vì trang đó được tạo ra tự động mà không kiểm tra đầu vào được nhập... của đoạn mã tiêm Sinh viên thực hiện: Nguyễn Văn Bảo – Khóa 50 – Lớp CNPM 16 Nghiên cứu lỗ hổng bảo mật Cross-Site Scripting và xây dựng chương trình phát hiện sâu mã độc phát tán đó Nếu có hạn chế thì chỉ là chiều dài của đoạn mã nếu nó được nhúng thông qua một URL, vì chiều dài của một url là bị hạn chế Mã tiêm được gửi từ ứng dụng web tới trình duyệt web, sau đó sẽ được thực thi trong trình duyệt... trang được tạo Ví dụ trong UTF-7 tồn tại một mã hóa thay thế ký tự đặc biệt “ . chương trình phát hiện sâu mã độc phát tán Sinh viên thực hiện: Nguyễn Văn Bảo – Khóa 50 – Lớp CNPM x Nghiên cứu lỗ hổng bảo mật Cross-Site Scripting và xây dựng chương trình phát hiện sâu mã độc phát. của ĐATN Nghiên cứu lỗ hổng bảo mật Cross-Site Scripting và xây dựng chương trình phát hiện sâu mã độc phát tán 3. Các nhiệm vụ cụ thể của ĐATN - Nghiên cứu lỗ hổng bảo mật Cross-Site Scripting -. viên thực hiện: Nguyễn Văn Bảo – Khóa 50 – Lớp CNPM vi Nghiên cứu lỗ hổng bảo mật Cross-Site Scripting và xây dựng chương trình phát hiện sâu mã độc phát tán DANH MỤC HÌNH Hình 1: Các lỗ hổng trong

Ngày đăng: 06/05/2015, 10:35

Từ khóa liên quan

Mục lục

  • PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP

  • TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP

  • ABSTRACT OF THESIS

  • LỜI CẢM ƠN

  • MỤC LỤC

  • DANH MỤC TỪ VIẾT TẮT, THUẬT NGỮ

  • LỜI GIỚI THIỆU

    • Hình 1: Các lỗ hổng trong ứng dụng web

    • Mục tiêu của luận văn

    • Tổ chức của luận văn

    • CHƯƠNG 1: TỔNG QUAN VỀ CROSS SITE SCRIPTING

      • 1.1. Định nghĩa XSS

      • 1.2. Phân loại XSS

        • 1.2.1. Stored XSS

          • Hình 2: Ví dụ về một tin nhắn cho tấn công “Stored XSS” mà lấy cắp cookie

          • Hình 3: Các bước tấn công stored XSS

          • 1.2.2. Refleted XSS

            • Hình 4:Ví dụ về tấn công “Refleted XSS”.

            • Hình 5: Các bước của tấn công Refleted XSS

            • CHƯƠNG 2: CÁC CÁCH NGĂN CHẶN XSS

              • 2.1. Ngăn chặn XSS trong giai đoạn phát triển

              • 2.2. Ngăn chặn XSS bằng phần mềm

              • 2.3. Ngăn chặn XSS bằng việc phân tích việc truyền dữ liệu

              • 2.4. Ngăn chặn XSS bằng việc theo dõi dữ liệu nhạy cảm

              • 2.5. Ngăn chặn XSS trên phía máy khách

              • CHƯƠNG 3: PHƯƠNG PHÁP NGĂN CHẶN XSS SỬ DỤNG

Tài liệu cùng người dùng

Tài liệu liên quan