1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Các phương pháp lậptrình vượt bức tường lửa (phan trung hieu vs trần lê quân) 1

32 1 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 32
Dung lượng 749,32 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Luận văn tốt nghiệp Mạng máy tính GVHD: ThS Đỗ Hoàng CườngCùng với sự phát triển không ngừng của Internet và các dịch vụ trên Internet, số lượng các vụ tấn công trên Internet cũng tăng t

Trang 1

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

Trang 2

Luận văn tốt nghiệp Mạng máy tính GVHD: ThS Đỗ Hoàng Cường

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 0112463 TRẦN LÊ QUÂN 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 ĐỖ HOÀNG CƯỜNG

NIÊN KHÓA 2001 – 2005

Trang 3

Luận văn tốt nghiệp Mạng máy tính GVHD: ThS Đỗ Hoàng Cường

LỜI NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Trang 4

Luận văn tốt nghiệp Mạng máy tính GVHD: ThS Đỗ Hoàng Cường

LỜI NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Trang 5

Luận văn tốt nghiệp Mạng máy tính GVHD: ThS Đỗ Hoàng Cường

Trước hết, chúng con xin cảm ơn những bậc làm cha, làm mẹ đã luôn ủng hộ, chăm sóc chúng con và tạo mọi điều kiện tốt nhất để chúng con có thể hoàn thành nhiệm vụ của mình

Chúng em xin cảm ơn nhà trường nói chung và Khoa CNTT nói riêng đã đem lại cho chúng em nguồn kiến thức vô cùng quý giá để chúng em có đủ kiến thức hoàn thành luận văn cũng như làm hành trang bước vào đời

Em xin cảm ơn các thầy cô thuộc bộ môn MMT, đặc biệt là thầy Đỗ Hoàng Cường – giáo viên hướng dẫn của chúng em đã tận tình hướng dẫn và giúp đỡ chúng

em mỗi khi chúng em có khó khăn trong quá trình học tập cũng như trong quá trình làm luận văn tốt nghiệp

Xin cảm ơn tất cả các bạn bè thân yêu đã động viên, giúp đỡ chúng em trong suốt quá trình học tập cũng như làm đề tài

Một lần nữa, xin cảm ơn tất cả mọi người…

TPHCM 7/2005 Nhóm sinh viên thực hiện

Trang 6

Luận văn tốt nghiệp Mạng máy tính GVHD: ThS Đỗ Hoàng Cường

LỜI NÓI ĐẦU

Nội dung luận văn được trình bày trong 8 chương thuộc về 5 phần khác nhau :

Phần thứ nhất: CƠ SỞ LÝ THUYẾT

• Chương 1: Giới thiệu về 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 bằng HTTP proxy Servers

• Chương 5: Vượt firewall bằng 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 duyêt 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

Trang 7

Luận văn tốt nghiệp Mạng máy tính GVHD: ThS Đỗ Hoàng Cường

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ệ dữ liệu: 13

1.2.3 Bảo vệ các tài nguyên sử dụng trên mạng: 13

1.2.4 Bảo vệ danh tiếng cơ quan: 13

1.3 Các kiểu tấn 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 các chức năng của hệ thống (DoS, DDoS): 15

1.3.5 Lỗi của người quản trị hệ thống: 16

1.3.6 Tấn công vào yếu tố con người: 17

1.4 Firewall là gì ? 17

1.5 Các chức năng 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 về Firewall: 25

1.8.1 Firewall dựa trên Application gateway: 25

1.8.2 Cổng vòng(Circuit level gateway): 27

1.8.3 Hạn chế của Firewall: 28

1.8.4 Firewall có dễ 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 là gì: 47

2.2 Tại sao proxy lại ra đời: 48

2.3 Tổng kết chung về proxy: 48

Chương 3: CÁC PHƯƠNG PHÁP LẬP TRÌNH VƯỢT FIREWALL 50

3.1 Vượt firewall là gì: 50

3.2 Phương pháp thứ nhất: HTTP Proxy 50

Trang 8

Luận văn tốt nghiệp Mạng máy tính GVHD: ThS Đỗ Hoàng Cường

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 các HTTP Proxy Server trở nên hữu ích: 53

4.2 Chức năng 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 một cách có chọn lọc: 59

4.2.4 Cung cấp dịch vụ Internet cho các cơ 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 và bất tiện khi cache các trang Web: 63

4.8 Những bất cập do proxy: 63

4.9 Kĩ thuật lập trình một HTTP Proxy cơ bản: 64

Chương 5: Vượt firewall bằng Web-Based Proxy 65

5.1 Thế nào là 1 web-based anonymous proxy ? 65

5.2 Cách thức hoạt động của 1 WBP : 66

5.3 Giới thiệu về 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 năng chính: 74

6.2.1 Lọc các trang web dựa trên việc duyệt danh sách các trang web có sẵn trong cơ sở dữ liệu: 74

6.2.2 Lọc các trang web dựa trên cơ chế kiểm tra địa chỉ (URL): 74

6.2.3 Lọc dựa trên nội dung của các Input Form trong trang web: 75

6.2.4 Cập nhật các 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 ý khi 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ữ dữ liệu : 79

6.4.1 Bảng Forbidden 79

6.4.2 Bảng Trusted 79

6.5 Thuật toán chính của ứng dụng : 79

6.5.1 Mô hình hoạt động của Plugin : 79

6.5.2 Diễn giải mô hình : 81

Trang 9

Luận văn tốt nghiệp Mạng máy tính GVHD: ThS Đỗ Hoàng Cường

6.6 Những ưu điểm và 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 năng chính của module: 83

7.3 Module bắt gói tin : 84

7.3.1 Đặc điểm của gói tin HTTP request đến HTTP Proxy Server: 84

7.3.2 Tóm tắt các bước cần lưu ý khi xây dựng module; 84

7.3.3 Chi tiết các đối tượng, hàm xử lí chính của module : 85

7.4 Module chặn địa chỉ IP: 85

7.4.1 Giới thiệu về Filter-Hook Driver : 85

7.4.2 Tóm tắt các bước xây dựng Filter-Hook Driver để bắt gói tin: 86

7.5 Chi tiết lưu trữ dữ liệu : 86

7.5.1 Bảng ForbiddenProxy 86

7.5.2 Bảng TrustedProxy: 86

7.6 Sơ đồ hoạt động của Module chặn địa chỉ 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 quả đạt được: 90

8.2 Hướng phát triển : 91

DANH SÁCH HÌNH Hình 1 Mô hình tấn công DDoS 16

Hình 2 Mô hình firewall 18

Hình 3 Lọc gói tin tại firewall 18

Hình 4 Một số chức năng của Firewall 20

Hình 5 Lọc gói tin 21

Hình 6 Firewall được cấu hình tại router 23

Hình 7 Firewall mềm 26

Hình 8 Tấn công hệ thống từ bên ngoài 29

Hình 9 Packet filtering 31

Hình 10 Mô hình single-Homed Bastion Host 33

Hình 11 Mô hình Dual-Homed Bastion Host 35

Hình 12 Mô hình 1 Proxy đơn giản 37

Hình 13 Một số protocol sau proxy 39

Hình 14 Mô hình proxy 48

Hình 15 Mô hình hoạt động chung của các proxy 55

Trang 10

Luận văn tốt nghiệp Mạng máy tính GVHD: ThS Đỗ Hoàng Cường

Hình 16 Một số protocol được hỗ trợ 56

Hình 17 Caching 58

Hình 18 Caching bị lỗi (failure) 59

Hình 19 Một transaction qua proxy 60

Hình 20 Truy xuất thông tin thông qua HTTP proxy 62

Hình 21 Truy xuất thông tin thông qua FTP proxy 62

Hình 22 Giao diện chính của Web Base Proxy 67

Hình 23 Mini form trên mỗi đầu trang 68

Hình 24 Sơ đồ hoạt động của 1 trang Web-Based Proxy 69

Hình 25 Giao diện chính của plug-in 73

Hình 26 Trang thông báo mỗi khi người dùng duyệt những trang web vi phạm 74

Hình 27 Cách trình bày thông thường của một trang web base proxy 75

Hình 28 Quá trình trình duyệt khởi động và nạp các BHO 77

Hình 29 Mô hình hoạt động của Plugin 80

Hình 30 Định dạng của gói tin gửi đến proxy server 84

Hình 31 Sơ đồ hoạt động của module chặn địa chỉ IP 87

DANH SÁCH BẢNG

Trang 11

Luận văn tốt nghiệp Mạng máy tính GVHD: ThS Đỗ Hoàng Cường

• An toàn cho sự hoạt động của toàn bộ hệ thống mạng

• Bảo mật cao trên nhiều phương diện

• Khả năng kiểm soát cao

Trang 12

Luận văn tốt nghiệp Mạng máy tính GVHD: ThS Đỗ Hoàng Cường

Cùng với sự phát triển không ngừng của Internet và các dịch vụ trên Internet, số lượng các vụ tấn công trên Internet cũng tăng theo cấp số nhân Trong khi các phương tiện thông tin đại chúng ngày càng nhắc nhiều đến Internet với những khả năng truy nhập thông tin dường như đến vô tận của nó, thì các tài liệu chuyên môn bắt đầu đề cập nhiều đến vấn đề bảo đảm và an toàn dữ liệu cho các máy tính được kết nối vào mạng Internet

Theo số liệu của CERT (Computer Emegency Response Team), số lượng các vụ tấn công trên Internet được thông báo cho tổ chức này là ít hơn 200 vào năm

1989, khoảng 400 vào năm 1991, 1400 vào năm 1993, và 2241 vào năm 1994

Những vụ tấn công này nhằm vào tất cả các máy tính có mặt trên Internet, các máy tính của tất cả các công ty lớn như AT&T, IBM, các trường đại học, các cơ quan nhà nước, các tổ chức quân sự, nhà băng Một số vụ tấn công có quy mô khổng lồ (có tới 100.000 máy tính bị tấn công) Hơn nữa, những con số này chỉ là phần nổi của tảng băng Một phần rất lớn các vụ tấn công không được thông báo, vì nhiều lý

do, trong đó có thể kể đến nỗi lo bị mất uy tín, hoặc đơn giản những người quản trị

hệ thống không hề hay biết những cuộc tấn công nhằm vào hệ thống của họ

Không chỉ số lượng các cuộc tấn công tăng lên nhanh chóng, mà các phương pháp tấn công cũng liên tục được hoàn thiện Điều đó một phần do các nhân viên quản trị hệ thống được kết nối với Internet ngày càng đề cao cảnh giác Cũng theo CERT, những cuộc tấn công thời kỳ 1988-1989 chủ yếu đoán tên người sử dụng-mật khẩu (UserID-password) hoặc sử dụng một số lỗi của các chương trình và hệ điều hành (security hole) làm vô hiệu hệ thống bảo vệ, tuy nhiên các cuộc tấn công vào thời gian gần đây bao gồm cả các thao tác như giả mạo địa chỉ IP, theo dõi thông tin truyền qua mạng, chiếm các phiên làm việc từ xa (telnet hoặc rlogin)

Nhu cầu bảo vệ thông tin trên Internet có thể chia thành ba loại gồm: Bảo vệ

dữ liệu; Bảo vệ các tài nguyên sử dụng trên mạng và Bảo vệ danh tiếng của cơ quan

Trang 13

Luận văn tốt nghiệp Mạng máy tính GVHD: ThS Đỗ Hoàng Cường

• Trong các yêu cầu này, thông thường yêu cầu về bảo mật được coi là yêu cầu số 1 đối với thông tin lưu trữ trên mạng Tuy nhiên, ngay cả khi những thông tin này không được giữ bí mật, thì những yêu cầu về tính toàn vẹn cũng rất quan trọng Không một cá nhân, một tổ chức nào lãng phí tài nguyên vật chất và thời gian để lưu trữ những thông tin mà không biết về tính đúng đắn của những thông tin

đó

1.2.3 Bảo vệ các tài nguyên sử dụng trên mạng:

Trên thực tế, trong các cuộc tấn công trên Internet, kẻ tấn công, sau khi đã làm chủ được hệ thống bên trong, có thể sử dụng các máy này để phục vụ cho mục đích của mình nhằm chạy các chương trình dò mật khẩu người sử dụng, sử dụng các liên kết mạng sẵn có để tiếp tục tấn công các hệ thống khác vv

1.2.4 Bảo vệ danh tiếng cơ quan:

Một phần lớn các cuộc tấn công không được thông báo rộng rãi, và một trong những nguyên nhân là nỗi lo bị mất uy tín của cơ quan, đặc biệt là các công ty lớn và các cơ quan quan trọng trong bộ máy nhà nước Trong trường hợp người quản trị hệ thống chỉ được biết đến sau khi chính hệ thống của mình được dùng làm bàn đạp để tấn công các hệ thống khác, thì tổn thất về uy tín là rất lớn và có thể để lại hậu quả lâu dài

Trang 14

Luận văn tốt nghiệp Mạng máy tính GVHD: ThS Đỗ Hoàng Cường

1.3 Các kiểu tấn công:

1.3.1 Tấn công trực tiếp:

Những cuộc tấn công trực tiếp thông thường được sử dụng trong giai đoạn đầu để chiếm được quyền truy nhập bên trong Một phương pháp tấn công cổ điển

là dò tìm tên ngời sử dụng và mật khẩu Đây là phương pháp đơn giản, dễ thực hiện

và không đòi hỏi một điều kiện đặc biệt nào để bắt đầu

Kẻ tấn công có thể sử dụng những thông tin như tên người dùng, ngày sinh, địa chỉ, số nhà vv để đoán mật khẩu Trong trường hợp có được danh sách người

sử dụng và những thông tin về môi trường làm việc, có một trương trình tự động hoá về việc dò tìm mật khẩu này

Một chương trình có thể dễ dàng lấy được từ Internet để giải các mật khẩu

đã mã hoá của các hệ thống unix có tên là crack, có khả năng thử các tổ hợp các từ trong một từ điển lớn, theo những quy tắc do người dùng tự định nghĩa Trong một

số trường hợp, khả năng thành công của phương pháp này có thể lên tới 30%

Phương pháp sử dụng các lỗi của chương trình ứng dụng và bản thân hệ điều hành đã được sử dụng từ những vụ tấn công đầu tiên và vẫn được tiếp tục để chiếm quyền truy nhập Trong một số trường hợp phương pháp này cho phép kẻ tấn công

có được quyền của người quản trị hệ thống (root hay administrator)

Hai ví dụ thường xuyên được đưa ra để minh hoạ cho phương pháp này là ví

dụ với chương trình sendmail và chương trình rlogin của hệ điều hành UNIX

Sendmail là một chương trình phức tạp, với mã nguồn bao gồm hàng ngàn

dòng lệnh của ngôn ngữ C Sendmail được chạy với quyền ưu tiên của người quản trị hệ thống, do chương trình phải có quyền ghi vào hộp thư của những người sử dụng máy Và Sendmail trực tiếp nhận các yêu cầu về thư tín trên mạng bên ngoài Đây chính là những yếu tố làm cho sendmail trở thành một nguồn

cung cấp những lỗ hổng về bảo mật để truy nhập hệ thống

Trang 15

Luận văn tốt nghiệp Mạng máy tính GVHD: ThS Đỗ Hoàng Cường

Rlogin cho phép người sử dụng từ một máy trên mạng truy nhập từ xa vào

một máy khác sử dụng tài nguyên của máy này Trong quá trình nhận tên và mật khẩu của người sử dụng, rlogin không kiểm tra độ dài của dòng nhập, do đó kẻ

tấn công có thể đưa vào một xâu đã được tính toán trước để ghi đè lên mã chương trình của rlogin, qua đó chiếm được quyền truy nhập

1.3.2 Nghe trộm:

Việc nghe trộm thông tin trên mạng có thể đưa lại những thông tin có ích

như tên, mật khẩu của người sử dụng, các thông tin mật chuyển qua mạng Việc nghe trộm thường được tiến hành ngay sau khi kẻ tấn công đã chiếm được quyền truy nhập hệ thống, thông qua các chương trình cho phép bắt các gói tin vào chế độ nhận toàn bộ các thông tin lưu truyền trên mạng Những thông tin

này cũng có thể dễ dàng lấy được trên Internet

1.3.3 Giả mạo địa chỉ:

Việc giả mạo địa chỉ IP có thể được thực hiện thông qua việc sử dụng khả năng dẫn đường trực tiếp (source-routing) Với cách tấn công này, kẻ tấn công gửi các gói tin IP tới mạng bên trong với một địa chỉ IP giả mạo (thông thường là địa chỉ của một mạng hoặc một máy được coi là an toàn đối với mạng bên trong), đồng thời chỉ rõ đường dẫn mà các gói tin IP phải gửi đi

1.3.4 Vô hiệu các chức năng của hệ thống (DoS, DDoS):

Đây là kểu tấn công nhằm tê liệt hệ thống, không cho nó thực hiện chức

năng mà nó thiết kế Kiểu tấn công này không thể ngăn chặn được, do những

phương tiện đợc tổ chức tấn công cũng chính là các phương tiện để làm việc và truy nhập thông tin trên mạng Ví dụ sử dụng lệnh ping với tốc độ cao nhất có thể, buộc một hệ thống tiêu hao toàn bộ tốc độ tính toán và khả năng của mạng để trả lời các lệnh này, không còn các tài nguyên để thực hiện những công việc có ích khác

Trang 16

Luận văn tốt nghiệp Mạng máy tính GVHD: ThS Đỗ Hoàng Cường

Hình 1 Mô hình tấn công DDoS

Client là một attacker sắp xếp một cuộc tấn công

• Handler là một host đã được thỏa hiệp để chạy những chương trình đặc biệt dùng đê tấn công

Mỗi handler có khả năng điều khiển nhiều agent

• Mỗi agent có trách nhiệm gửi stream data tới victim

1.3.5 Lỗi của người quản trị hệ thống:

Đây không phải là một kiểu tấn công của những kẻ đột nhập, tuy nhiên lỗi của người quản trị hệ thống thờng tạo ra những lỗ hổng cho phép kẻ tấn công sử dụng để truy nhập vào mạng nội bộ

Ngày đăng: 01/11/2022, 15:14

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm