nghiên cứu về các phương pháp lập trình vượt FIREWALL
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THƠNG TIN BỘ MƠN MẠNG MÁY TÍNH & VIỄN THƠNG PHAN TRUNG HIẾU - TRẦN LÊ QUÂN CÁC PHƯƠNG PHÁP LẬP TRÌNH VƯỢT FIREWALL KHĨA LUẬN CỬ NHÂN TIN HỌC NIÊN KHĨA 2001 - 2005 GVHD: ThS Đỗ Hồng Cường Luận văn tốt nghiệp Mạng máy tính TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MƠN MẠNG MÁY TÍNH & VIỄN THƠNG PHAN TRUNG HIẾU TRẦN LÊ QUÂN 0112463 0112319 CÁC PHƯƠNG PHÁP LẬP TRÌNH VƯỢT FIREWALL KHÓA LUẬN CỬ NHÂN TIN HỌC GIÁO VIÊN HƯỚNG DẪN Th.S ĐỖ HỒNG CƯỜNG NIÊN KHĨA 2001 – 2005 Phan Trung Hiếu Mssv: 0112463 - Trang - Trần Lê Quân Mssv:0112319 GVHD: ThS Đỗ Hoàng Cường Luận văn tốt nghiệp Mạng máy tính LỜI NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… Phan Trung Hiếu Mssv: 0112463 - Trang - Trần Lê Quân Mssv:0112319 GVHD: ThS Đỗ Hoàng Cường Luận văn tốt nghiệp Mạng máy tính LỜI NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… Phan Trung Hiếu Mssv: 0112463 - Trang - Trần Lê Quân Mssv:0112319 GVHD: ThS Đỗ Hoàng Cường Luận văn tốt nghiệp Mạng máy tính LỜI CẢM ƠN Sau tháng nỗ lực thực hiện, luận văn nghiên cứu “Các phương pháp lập trình vượt firewall” phần hoàn thành Ngoài nỗ lực 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è khoa Chính điều mang lại cho chúng em động viên lớn để chúng em hồn thành tốt luận văn Trước hết, chúng xin cảm ơn bậc làm cha, làm mẹ ln ủng hộ, chăm sóc chúng tạo điều kiện tốt để chúng hồn thành nhiệm vụ Chúng em xin cảm ơn nhà trường nói chung Khoa CNTT nói riêng đem lại cho chúng em nguồn kiến thức vơ q giá để chúng em có đủ kiến thức hoàn thành luận văn làm hành trang bước vào đời Em xin cảm ơn thầy cô thuộc môn MMT, đặc biệt thầy Đỗ Hoàng Cường – giáo viên hướng dẫn chúng em tận tình hướng dẫn giúp đỡ chúng em chúng em có khó khăn q trình học tập trình làm luận văn tốt nghiệp Xin cảm ơn tất bạn bè thân yêu động viên, giúp đỡ chúng em suốt trình học tập làm đề tài Một lần nữa, xin cảm ơn tất người… TPHCM 7/2005 Nhóm sinh viên thực Phan Trung Hiếu – Trần Lê Quân Phan Trung Hiếu Mssv: 0112463 - Trang - Trần Lê Quân Mssv:0112319 GVHD: ThS Đỗ Hồng Cường Luận văn tốt nghiệp Mạng máy tính LỜI NĨI ĐẦU Nội dung luận văn trình bày chương thuộc phần khác : Phần thứ nhất: CƠ SỞ LÝ THUYẾT • Chương 1: Giới thiệu firewall • Chương 2: Khái niệm proxy • Chương 3: Các phương pháp lập trình vượt firewall Phần thứ hai: CÁC PHƯƠNG PHÁP LẬP TRÌNH VƯỢT FIREWALL • Chương 4: Vượt firewall HTTP proxy Servers • Chương 5: Vượt firewall Web-based proxy Phần thứ ba: MODULE CHỐNG VƯỢT FIREWALL • Chương 6: Plug-in chống vượt firewall cho trình dut Internet Explorer • Chương 7: Service chống vượt Firewall Phần thứ tư: TỔNG KẾT • Chương 8: Kết luận Phân thứ năm: PHỤ LỤC Phan Trung Hiếu Mssv: 0112463 - Trang - Trần Lê Quân Mssv:0112319 GVHD: ThS Đỗ Hoàng Cường Luận văn tốt nghiệp Mạng máy tính MỤC LỤC Chương 1: GIỚI THIỆU VỀ FIREWALL 11 1.1 Đặt vấn đề: 11 1.2 Nhu cầu bảo vệ thông tin: .11 1.2.1 Nguyên nhân: 11 1.2.2 Bảo vệ liệu: .13 1.2.3 Bảo vệ tài nguyên sử dụng mạng: .13 1.2.4 Bảo vệ danh tiếng quan: 13 1.3 Các kiểu công: 14 1.3.1 Tấn công trực tiếp: 14 1.3.2 Nghe trộm: 15 1.3.3 Giả mạo địa chỉ: .15 1.3.4 Vô hiệu chức hệ thống (DoS, DDoS): 15 1.3.5 Lỗi người quản trị hệ thống: 16 1.3.6 Tấn công vào yếu tố người: 17 1.4 Firewall ? 17 1.5 Các chức chính: 19 1.5.1 Chức năng: 19 1.5.2 Thành phần: 20 1.6 Nguyên lý: 21 1.7 Các dạng firewall: 23 1.8 Các ý niệm chung Firewall: 25 1.8.1 Firewall dựa Application gateway: .25 1.8.2 Cổng vòng(Circuit level gateway): 27 1.8.3 Hạn chế Firewall: .28 1.8.4 Firewall phá hay không: 28 1.9 Một số mơ hình Firewall: .30 1.9.1 Packet-Filtering Router: 30 1.9.2 Mô hình Single-Homed Bastion Host: .32 1.9.3 Mơ hình Dual-Homed Bastion Host: 34 1.9.4 Proxy server: 36 1.9.5 Phần mềm Firewall – Proxy server: 37 1.10 Lời kết: 46 Chương 2: KHÁI NIỆM PROXY 47 2.1 Proxy gì: 47 2.2 Tại proxy lại đời: 48 2.3 Tổng kết chung proxy: 48 Chương 3: CÁC PHƯƠNG PHÁP LẬP TRÌNH VƯỢT FIREWALL .50 3.1 Vượt firewall gì: .50 3.2 Phương pháp thứ nhất: HTTP Proxy .50 Phan Trung Hiếu Mssv: 0112463 - Trang - Trần Lê Quân Mssv:0112319 GVHD: ThS Đỗ Hoàng Cường Luận văn tốt nghiệp Mạng máy tính 3.3 Phương pháp thứ hai: Web-Based Proxy .51 3.4 Phương pháp thứ ba: Http Tunneling 51 Chương 4: VƯỢT FIREWALL BẰNG HTTP PROXY .53 4.1 Khi HTTP Proxy Server trở nên hữu ích: 53 4.2 Chức chính: 56 4.2.1 Truy cập Internet: 56 4.2.2 Caching documents: .57 4.2.3 Điều khiển truy cập Internet cách có chọn lọc: 59 4.2.4 Cung cấp dịch vụ Internet cho quan sử dụng IP ảo: 60 4.3 Một phiên giao dịch (transaction) thông qua proxy : 60 4.4 Kết nối thông qua proxy server: .61 4.5 HTTP proxy: 61 4.6 FTP proxy: 62 4.7 Tiện lợi bất tiện cache trang Web: 63 4.8 Những bất cập proxy: .63 4.9 Kĩ thuật lập trình HTTP Proxy bản: 64 Chương 5: Vượt firewall Web-Based Proxy 65 5.1 Thế web-based anonymous proxy ? 65 5.2 Cách thức hoạt động WBP : 66 5.3 Giới thiệu trang Web Based Proxy: .67 5.3.1 Giao diện: 67 5.3.2 Chức năng: 67 5.3.3 Thuật toán: 69 Chương 6: Plug-in chống vượt firewall cho trình duyệt Internet Explorer .73 6.1 Giới thiệu sơ lược : 73 6.2 Các tính chính: .74 6.2.1 Lọc trang web dựa việc duyệt danh sách trang web có sẵn sở liệu: .74 6.2.2 Lọc trang web dựa chế kiểm tra địa (URL): 74 6.2.3 Lọc dựa nội dung Input Form trang web: 75 6.2.4 Cập nhật trang web based proxy: .76 6.2.5 Vơ hiệu hóa/kích hoạt plugin: 76 6.3 Một số vấn đề cần lưu ý viết plugin cho trình duyệt IE : 76 6.3.1 Khái niệm Browser Helper Objects (BHO): 76 6.3.2 Một số hàm xử lí quan trọng: 78 6.4 Chi tiết lưu trữ liệu : 79 6.4.1 Bảng Forbidden 79 6.4.2 Bảng Trusted 79 6.5 Thuật tốn ứng dụng : 79 6.5.1 Mơ hình hoạt động Plugin : .79 6.5.2 Diễn giải mơ hình : 81 Phan Trung Hiếu Mssv: 0112463 - Trang - Trần Lê Quân Mssv:0112319 GVHD: ThS Đỗ Hoàng Cường Luận văn tốt nghiệp Mạng máy tính 6.6 Những ưu điểm hạn chế: 82 Chương 7: SERVICE CHỐNG VƯỢT FIREWALL 83 7.1 Giới thiệu sơ lược : 83 7.2 Các tính module: 83 7.3 Module bắt gói tin : .84 7.3.1 Đặc điểm gói tin HTTP request đến HTTP Proxy Server: 84 7.3.2 Tóm tắt bước cần lưu ý xây dựng module; 84 7.3.3 Chi tiết đối tượng, hàm xử lí module : 85 7.4 Module chặn địa IP: 85 7.4.1 Giới thiệu Filter-Hook Driver : 85 7.4.2 Tóm tắt bước xây dựng Filter-Hook Driver để bắt gói tin: .86 7.5 Chi tiết lưu trữ liệu : 86 7.5.1 Bảng ForbiddenProxy 86 7.5.2 Bảng TrustedProxy: 86 7.6 Sơ đồ hoạt động Module chặn địa IP : 87 7.7 Diễn giải mơ hình : 87 7.8 Nhận xét – đánh giá : 88 7.8.1 Ưu điểm: .88 7.8.2 Khuyết điểm: 89 Chương 8: KẾT LUẬN 90 8.1 Những kết đạt được: .90 8.2 Hướng phát triển : 91 DANH SÁCH HÌNH Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Mơ hình cơng DDoS 16 Mơ hình firewall .18 Lọc gói tin firewall .18 Một số chức Firewall .20 Lọc gói tin 21 Firewall cấu hình router .23 Firewall mềm 26 Tấn cơng hệ thống từ bên ngồi .29 Packet filtering 31 10 Mơ hình single-Homed Bastion Host 33 11 Mơ hình Dual-Homed Bastion Host 35 12 Mơ hình Proxy đơn giản 37 13 Một số protocol sau proxy 39 14 Mơ hình proxy .48 15 Mơ hình hoạt động chung proxy 55 Phan Trung Hiếu Mssv: 0112463 - Trang - Trần Lê Quân Mssv:0112319 GVHD: ThS Đỗ Hoàng Cường Luận văn tốt nghiệp Mạng máy tính Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Một số protocol hỗ trợ 56 Caching 58 Caching bị lỗi (failure) 59 Một transaction qua proxy 60 Truy xuất thông tin thông qua HTTP proxy 62 Truy xuất thông tin thông qua FTP proxy 62 Giao diện Web Base Proxy .67 Mini form đầu trang 68 Sơ đồ hoạt động trang Web-Based Proxy 69 Giao diện plug-in 73 Trang thông báo người dùng duyệt trang web vi phạm .74 Cách trình bày thông thường trang web base proxy .75 Quá trình trình duyệt khởi động nạp BHO 77 Mơ hình hoạt động Plugin 80 Định dạng gói tin gửi đến proxy server 84 Sơ đồ hoạt động module chặn địa IP 87 DANH SÁCH BẢNG Phan Trung Hiếu Mssv: 0112463 - Trang 10 - Trần Lê Quân Mssv:0112319 GVHD: ThS Đỗ Hồng Cường Luận văn tốt nghiệp Mạng máy tính Khởi động Trình duyệt IE Phát kiện Plugin chuyển chuyển Khởi động Hàm xử lí kiện Đây kiện BeforeNavigate Sai Đúng Trang thông báo Đúng Trang web tin cậy ? Không Vi phạm Lưu vào CSDL Bộ lọc Không vi phạm Vi phạm Bộ lọc Không vi phạm Vi phạm Bộ lọc Không vi phạm Hình 29 Mơ hình hoạt động Plugin Phan Trung Hiếu Mssv: 0112463 - Trang 80 - Trần Lê Quân Mssv:0112319 GVHD: ThS Đỗ Hoàng Cường Luận văn tốt nghiệp Mạng máy tính 6.5.2 - Diễn giải mơ hình : BeforeNavigate: Sự kiện trình duyệt phát người dùng chuẩn bị duyệt đến trang web (khác với trang hành) Ví dụ: Khi click chuột vào link, nút trang web chuyển sang trang web mới, gõ địa vào address bar để chuẩn bị duyệt,… - Bộ lọc 1: Nhận vào địa trang web không đáng tin cậy tiến hành kiểm tra Bộ lọc truy xuất vào sở liệu để duyệt xem trang web có nằm sẵn danh sách trang bị cấm hay khơng Nếu có lọc lưu địa vào sở liệu chuyển hướng đến trang thông báo cấm cho người dùng Nếu khơng chuyển đến lọc - Bộ lọc 2: Nhận vào địa trang web không đáng tin cậy tiến hành kiểm tra Nếu địa chứa thêm địa trang web khác xem vi phạm (đã trình bày trên) Bộ lọc lưu địa vi phạm vào sở liệu - Bộ lọc 3: Nhận vào trỏ đối tượng IWebBrowser2 để xử lí Con trỏ đại diện cho trang web hành cần kiểm tra Dựa vào trỏ đối tượng này, ta lấy tồn nội dung trang web (các thẻ HTML, script,….) Như trình bày trên, lọc hoạt động dựa việc kiểm tra nội dung INPUT FIELD trang web Do lọc trọng đến việc lọc thẻ INPUT trang HTML trang web lọc xem trang Web Based Proxy chứa khơng q thẻ INPUT dạng text, thẻ Input có nội dung địa trang web Nếu trang web thỏa điều kiện nêu xem vi phạm lưu lại vào sở liệu Phan Trung Hiếu Mssv: 0112463 - Trang 81 - Trần Lê Quân Mssv:0112319 GVHD: ThS Đỗ Hoàng Cường Luận văn tốt nghiệp Mạng máy tính 6.6 Những ưu điểm hạn chế: Plugin áp dụng số thuật giải Heuristic nhằm phát trang Web-proxy chưa có sở liệu, khiến lọc thông minh có khả tự học địa trang web muốn qua mặt Firewall Khi chạy thử trang web-proxy mới, lọc hoạt động hiệu xác Đa số thuật giải xây dựng dựa việc quan sát trình vận hành trang Web-based Proxy tìm điểm chung đặc trưng khác biệt so với trang web khác làm chế hoạt động cho lọc Do thuật giải khơng đảm bảo tính xác 100% nên có số trường hợp thiếu sót hay chí sai sót ngồi ý muốn Đa số sai sót rơi váo trường hợp người dùng sử dụng search engine (như google,yahoo,…) để tiến hành tìm kiếm địa internet Trong trường hợp này, plugin tự cho trang web tìm kiếm Web-Based Proxy tiến hành ngăn chặn Lỗi khắc phục cách thêm vào danh sách trang web tin cậy buộc lọc kiểm tra “trang web tin cậy này” trước lọc Tuy nhiên cách khơng thể khắc phục hồn tồn Q trình hoạt động Plugin phụ thuộc nhiều vào “sự tồn tại” tập tin sở liệu lưu trữ trang Web-Based Proxy Nên tập tin không tồn hay bị lỗi, tính lọc Plugin chắn khơng thể hoạt động xác Trong q trình chạy thử kiểm lỗi, chúng em cố gắng sửa chữa hầu hết sai sót này.Chúng em xin cố gắng phát triển thêm để lọc ngày hoàn thiện Phan Trung Hiếu Mssv: 0112463 - Trang 82 - Trần Lê Quân Mssv:0112319 GVHD: ThS Đỗ Hồng Cường Luận văn tốt nghiệp Mạng máy tính Chương 7: SERVICE CHỐNG VƯỢT FIREWALL Chương chúng em xin phép trình bày module thứ hai: Service chống vượt firewall cho hệ điều hành Windows 7.1 Giới thiệu sơ lược : Service chống vượt Firewall ứng dụng viết dựa mơ hình Service truyền thống Windows Service ứng dụng chạy hệ thống, hoàn toàn tuân thủ theo yêu cầu tính bảo mật Windows quy định (Chỉ có người chủ Service – trường hợp module admin hệ thống – có quyền tắt/mở/xóa serive mà thơi) Service chịu trách nhiệm lọc bắt gói tin gửi mạng (Internet) nhằm phát ngăn chặn gói tin gửi đến HTTP Proxy Server lưu lại địa HTTP Proxy Server để làm sở hoạt động cho lọc Service bao gồm module nhỏ: module bắt gói tin module chặn địa IP 7.2 Các tính module: Theo giới thiệu, module chia làm module nhỏ riêng biệt, hỗ trợ q trình Service hoạt động: Đó module bắt gói tin module chặn địa IP - Module bắt gói tin: module viết dựa thư viện Winsock2.0 Windows, nhiệm vụ bắt gói tin lưu thông ra/vào card mạng hệ thống - Module chặn địa IP: module viết dựa mơ hình Filter-Hook Driver Microsoft giới thiệu tài liệu Windows 2000 DDK Ứng dụng viết dựa mô hình lọc gói tin vào card mạng hệ thống (theo tài Windows 2000 DDK) Theo tài liệu RFC HTTP Protocol, gói tin gửi đến HTTP Proxy Server có điểm đặc trưng riêng so với gói tin khác Service dựa vào đặc điểm làm sở hoạt động cho lọc Phan Trung Hiếu Mssv: 0112463 - Trang 83 - Trần Lê Quân Mssv:0112319 GVHD: ThS Đỗ Hoàng Cường Luận văn tốt nghiệp Mạng máy tính 7.3 Module bắt gói tin : Module chịu trách nhiệm bắt kiểm tra nội dung gói tin ra/vào card mạng 7.3.1 Đặc điểm gói tin HTTP request đến HTTP Proxy Server: Theo tài liệu RFC HTTP Protocol, gói tin HTTP request đến Proxy server có định dạng sau : Hình 30 Định dạng gói tin gửi đến proxy server Trong hình minh họa trên, ta thấy nội dung gói tin HTTP Request (câu lệnh HTTP lệnh GET) bổ sung thêm trường ProxyConnection: Keep-Alive Đây đặc điểm mấu chốt để phận biệt gói tin HTTP Request đến Proxy Server so với gói tin thơng thường khác 7.3.2 - Tóm tắt bước cần lưu ý xây dựng module; Khởi tạo thông tin cần thiết (địa chỉ,port, ) cho SOCK_RAW Socket - Chuyển chế độ hoạt động Socket sang chế độ SIO_RCVALL (bắt tất gói tin ra/vào hệ thống) - Bắt đầu nhận xử lí gói tin Lưu ý: Do mục tiêu đề ban đầu module bắt xử lí gói tin HTTP (TCP) nên cần phải gỡ bỏ Header gói tin nhận (đây gói IP) bắt đầu xử lí - Tham khảo thêm tài liệu cấu trúc gói tin TCP/IP HTTP Protocol q trình xử lí gói TCP Phan Trung Hiếu Mssv: 0112463 - Trang 84 - Trần Lê Quân Mssv:0112319 GVHD: ThS Đỗ Hoàng Cường Luận văn tốt nghiệp Mạng máy tính 7.3.3 - Chi tiết đối tượng, hàm xử lí module : socket(AF_INET, SOCK_RAW, IPPROTO_IP) • Hàm tạo Socket Lưu ý phải khởi tạo socket dạng SOCK_RAW bắt gói tin tầng IP - WSAIoctl(SOCKET s,DWORD dwIoControlCode, , , , , , ,) • Hàm thiết lập chế độ hoạt động cho socket Chỉ cần lưu ý đến tham số đầu tiên: SOCKET cần thiết lập chế độ hoạt động Ở dwIoControlCode phải SIO_RCVALL module bắt gói tin ra/vào card mạng - Một số hàm liên quan khác: recv, WSAStartup, … 7.4 Module chặn địa IP: Module chịu trách nhiệm lọc chặn gói tin ra/vào card mạng dựa địa IP Module xây dựng dựa mơ hình Filter-Hook Driver Windows 2000 DDK 7.4.1 Giới thiệu Filter-Hook Driver : Filter-Hook Driver khái niệm Microsoft đưa tài liệu Windows 2000 DDK Đây Driver mở rộng tính IP Filter Driver (Có sẵn hệ diều hành Windows 2000 trở sau) Thực chất Filter-Hook Driver khơng phải trình điều khiển dành cho mơi trường mạng, xem trình điều khiển dành cho nhân hệ thống (Kernel Mode Driver) Bên trình điều khiển này, cần định nghĩa hàm CALLBACK (1 dạng hàm bắt kiện) đăng kí hàm CALLBACK cho trình điều khiển lọc địa IP hệ thống (IP Filter Phan Trung Hiếu Mssv: 0112463 - Trang 85 - Trần Lê Quân Mssv:0112319 GVHD: ThS Đỗ Hoàng Cường Luận văn tốt nghiệp Mạng máy tính Driver) Khi đăng kí thành cơng, lọc địa gọi lại hàm CALLBACK gói tin gửi hay nhận vào hệ thống để xử lí 7.4.2 - Tóm tắt bước xây dựng Filter-Hook Driver để bắt gói tin: Khởi tạo Filter-Hook Driver Cung cấp tên thông số cho Driver sau: LoadDriver("IpFilterDriver","System32\\Drivers\\IpFltDrv.sys", null, true) - Lấy trỏ địa Ip Filter Driver khởi tạo bước để khởi tạo đăng kí hàm CALLBACK - Khởi tạo đăng kí hàm CALLBACK cách gửi trỏ hàm CALLBACK định nghĩa sẵn cho IP Filter Driver - Bắt đầu lọc gói tin Gọi hàm StartFilter - Khi muốn kết thúc, khơng lọc gói tin ta phải gỡ bỏ thơng tin đăng kí khỏi IP Filter Driver Lúc này, ta cần đăng kí lại với Driver với trỏ hàm CALLBACK Null 7.5 Chi tiết lưu trữ liệu : 7.5.1 Bảng ForbiddenProxy Tên trường Kiểu Chú thích ProxyIP Text Địa IP proxy bị cấm (do service lưu lại trình hoạt động) 7.5.2 Bảng TrustedProxy: Tên Kiểu Chú thích trườn g Phan Trung Hiếu Mssv: 0112463 - Trang 86 - Trần Lê Quân Mssv:0112319 GVHD: ThS Đỗ Hoàng Cường Luận văn tốt nghiệp Mạng máy tính Text ProxyIP Địa IP Proxy server tin cậy (thường địa Proxy Server mạng LAN) 7.6 Sơ đồ hoạt động Module chặn địa IP : Khởi động Service Khởi động Card mạng Module bắt gói tin Phát/Nhận Module chặn IP Gói tin IP Bắt đầu lọc Request đến Proxy Server? Thêm IP vào lọc Đ Hình 31 Sơ đồ hoạt động module chặn địa IP 7.7 Diễn giải mơ hình : Khi khởi động, service kích hoạt module module bắt gói tin module chặn địa IP tương úng Module chặn địa IP khởi động truy xuất vào sở liệu thêm địa IP Proxy Server bị cấm sẵn vào lọc IP Filter Driver bắt đầu lọc địa Khi Card mạng nhận/phát gói tin, module bắt gói tin nhận gói tin tiến hành phân tích Module kiểm tra Phan Trung Hiếu Mssv: 0112463 - Trang 87 - Trần Lê Quân Mssv:0112319 GVHD: ThS Đỗ Hoàng Cường Luận văn tốt nghiệp Mạng máy tính xem gói tin có phải gói tin HTTP Request đến Proxy Server hay khơng Nếu phải địa IP Proxy Server truyền tiếp cho Module lọc địa IP xử lí Địa thêm vào lọc địa lưu vào sở liệu 7.8 Nhận xét – đánh giá : 7.8.1 Ưu điểm: Do yêu cầu đặt ban đầu Module tìm cách chặn phương pháp vượt Firewall thông qua HTTP Proxy Server, nên chúng em cố gắng phát triển module dạng ứng dụng Mini Firewall Trong suốt trình nghiên cứu tìm hiểu, chúng em thống chọn mơ hình Service ứng dụng Windows làm sở xây dựng triển khai Module Ưu điểm mơ hình kế thừa u cầu tính an tồn bảo mật hệ điều hành qui định Khi khởi động vào môi trường Windows, Services hệ thống người dùng nạp chạy hệ thống, người quản trị hay chủ Service có quyền tắt/mở/xóa service Module nhường hẳn chức điều khiển Service cho hệ điều hành, nên Module ứng dụng tập trung vào hai tính bắt gói tin lọc địa IP Trong q trình chạy thử nghiệm, module hoạt động tốt loại CARD mạng, MODEM Windows Do module ứng dụng viết hồn tồn dựa mơi trường Winsock Windows (bộ thư viện dùng để phát triển ứng dụng mạng TCP/IP mơi trường Windows), nên bảo đảm tính tương thích cao Do hỗ trợ tính bắt gói tin, Module “phát học” địa Proxy Server (chưa có sở liệu) Sau lưu lại địa làm sở cho lọc hoạt động Phan Trung Hiếu Mssv: 0112463 - Trang 88 - Trần Lê Quân Mssv:0112319 GVHD: ThS Đỗ Hoàng Cường Luận văn tốt nghiệp Mạng máy tính 7.8.2 Khuyết điểm: Trong q trình chạy thử nghiệm, module chặn gần hầu hết địa HTTP Proxy Server Tuy nhiên Proxy Server (chưa có sở liệu), lọc phải “học” địa ngăn chặn Do phiên làm việc đầu tiên, lọc chưa chặn địa Đối với phiên làm việc sau lọc đảm bảo chạy tốt Trong trình thử nghiệm, việc lọc học nhiều địa lưu vào sở liệu tốn nhiều tài nguyên hệ thống (CPU,RAM) nên Service chạy chậm hẳn (đơi lúc Serive bị treo) Đáng tiếc đến lúc chúng em chưa khắc phục vấn đề Quá trình hoạt động Service phụ thuộc nhiều vào “sự tồn tại” tập tin sở liệu lưu trữ Proxy Server Nên tập tin không tồn hay bị lỗi, tính lọc Service chắn khơng thể hoạt động xác Phan Trung Hiếu Mssv: 0112463 - Trang 89 - Trần Lê Quân Mssv:0112319 GVHD: ThS Đỗ Hồng Cường Luận văn tốt nghiệp Mạng máy tính PHẦN THỨ TỔNG KẾT Chương 8: KẾT LUẬN Sau sáu tháng làm luận văn, nhiều chúng em tìm hiểu tương đối thành cơng phương pháp lập trình vượt firewall chương trình kèm theo: Http proxy, Web based Proxy, Plug-in chống vượt firewall, service chống vượt firewall Qua tìm hiểu được, chúng em cảm thấy nhiều điều phải làm để hồn thiện chương trình cần có hướng dẫn nhiều thầy cô, bạn bè… Kết cuối kết tháng ngày cố gắng, nỗ lực thân, giúp đỡ gia đình, nhà trường, bạn bè đặc biệt hướng dẫn tận tình thầy Đỗ Hồng Cường để chúng em hồn tất cách tốt đẹp luận văn so với đặt Cuối cùng, lần nữa, chúng em xin cảm ơn tất giúp đỡ để chúng em hồn thành tốt khóa luận Xin chân thành cảm ơn 8.1 Những kết đạt được: Theo yêu cầu đặt ban đầu “Nghiên cứu phương pháp lập trình vượt firewall Từ làm sở xây dựng module chống vượt Firewall bảo mật Web”, thời điểm luận văn đạt nội dung sau: - Phần u cầu: • Tìm hiểu triển khai thành công phương pháp: HTTP Proxy Server Web-based Proxy - Phần mở rộng: • Tìm hiểu triển khai thành công module chống vượt Firewall: Plugin chống vượt Firewall dành cho trình duyệt Internet Explorer Service chống vượt Firewall hệ điều hành Windows Ngồi ra, q trình nghiên cứu hồn thành đề tài, chúng em tiếp thu thêm số kết sau: Phan Trung Hiếu Mssv: 0112463 - Trang 90 - Trần Lê Quân Mssv:0112319 GVHD: ThS Đỗ Hồng Cường Luận văn tốt nghiệp Mạng máy tính • Tìm hiểu sâu thêm phương pháp lập trình ứng dụng mạng dựa thư viện Winsock Windows • Tìm hiểu phương pháp xây dựng triển khai Service ứng dụng Windows • Tìm hiểu cách xây dựng triển khai ứng dụng Plugin cho trình duyệt Internet Explorer • Được hiểu cách xây dựng phát triển ứng dụng dựa môi trường COM (Component Object Model) • Ngày nay, Internet ngày phát triển mạnh mẽ, nguồn tài nguyên bao la vơ tận, nên nhu cầu sử dụng Internet để tìm kiếm thông tin giao dịch, thương mại điều tất yếu Yêu cầu an toàn bảo mật thơng tin (tùy theo mục đích cá nhân hay doanh nghiệp) làm nảy sinh thêm vấn đề đau đầu cho nhà quản trị mạng là: Kiểm sốt quản lý q trình sử dụng Internet người dùng Với việc nghiên cứu đưa giải pháp khả thi yêu cầu mở rộng đề tài: Xây dựng module chống vượt Firewall, chúng em thiết nghĩ đóng góp phần vào việc giải vấn đề nan giải 8.2 Hướng phát triển : Trong trình nghiên cứu tìm hiểu đề tài, chúng em thống đề xuất phương pháp chủ yếu để vượt Firewall: HTTP Proxy Server, Web Based Proxy HTTP Tunneling Tất phương pháp phát triển dựa mơ hình ứng dụng mạng Client-Server truyền thống Trong phương pháp nêu phương pháp thứ 3: HTTP Tunneling phương pháp cao cấp khó phát Q trình nghiên cứu triển khai phương pháp tốn nhiều thời gian công sức Mặc dù chúng em cố gắng triển khai, ý tưởng chưa mang tính khả thi cao áp dụng vào thực tế Sau chúng em xin Phan Trung Hiếu Mssv: 0112463 - Trang 91 - Trần Lê Quân Mssv:0112319 GVHD: ThS Đỗ Hoàng Cường Luận văn tốt nghiệp Mạng máy tính đề số hướng phát triển sau nhằm mở rộng thêm ý nghĩa khoa học thực tiễn đề tài: • Cải thiện vấn đề tốc độ truy xuất lọc cho module thứ 2: Service chống vượt Firewall • Nghiên cứu tiếp phương pháp http tunneling • Triển khai ứng dụng minh họa cho phương pháp http tunneling • Hồn thiện Plug-in Service để đạt hiệu tối ưu • Triển khai thành công module chống vượt Firewall phương pháp HTTP Tunneling • Triển khai đề tài thành sản phẩm hoàn chỉnh để áp dụng vào thực tiễn Phan Trung Hiếu Mssv: 0112463 - Trang 92 - Trần Lê Quân Mssv:0112319 GVHD: ThS Đỗ Hoàng Cường Luận văn tốt nghiệp Mạng máy tính PHẦN THỨ PHỤ LỤC DANH SÁCH CÁC TÀI LIỆU THAM KHÀO - Website: • http://www.microsoft.com • http://www.quantrimang.com • http://www.codeproject.com • http://www.sourceforge.net • http://www.experts-exchange.com • http://www.webopedia.com • http://www.nyu.edu • http://www.learnthat.com • http://www.stayinvisible.com • http://www.proxify.com • http://www.silentsurf.net • http://www.adminvietnam.net • http://www.anonimizer.com • http://www.tcpipguide.com • http://www.vnsecurity.net - Danh sách tài liệu, sách, giáo trình tham khảo • Tài liệu điện tử MSDN Microsoft • Anthony Jones Jim Ohlund, Network Programming for Microsoft Windows, 1999 (ebooks) • O'Reilly, Learning PHP 5,June-2004 • Addision Wesley, The C++ Programming Language,June-97 Phan Trung Hiếu Mssv: 0112463 - Trang 93 - Trần Lê Quân Mssv:0112319 GVHD: ThS Đỗ Hoàng Cường Luận văn tốt nghiệp Mạng máy tính • Wrox Press,Beginning PHP 4,2001 • Sams Publishing ,Teach Yourself PHP, MySQL and Apache in 24h,12-2002 • Addision Wesley,C/C++ Network Programming I & II,10-2001 Phan Trung Hiếu Mssv: 0112463 - Trang 94 - Trần Lê Quân Mssv:0112319 ... Chương 3: CÁC PHƯƠNG PHÁP LẬP TRÌNH VƯỢT FIREWALL 3.1 Vượt firewall gì: • Nói cách nơm na, vượt firewall vượt qua truy cản chương trình bảo mật (Firewall) để truy cập đến đích mong muốn • Vượt firewall. .. firewall Phần thứ hai: CÁC PHƯƠNG PHÁP LẬP TRÌNH VƯỢT FIREWALL • Chương 4: Vượt firewall HTTP proxy Servers • Chương 5: Vượt firewall Web-based proxy Phần thứ ba: MODULE CHỐNG VƯỢT FIREWALL • Chương... 48 2.3 Tổng kết chung proxy: 48 Chương 3: CÁC PHƯƠNG PHÁP LẬP TRÌNH VƯỢT FIREWALL .50 3.1 Vượt firewall gì: .50 3.2 Phương pháp thứ nhất: HTTP Proxy .50 Phan Trung Hiếu