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Ê QN
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 Đỗ Hoà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Ê QN
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 2 -
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 3 -
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 4 -
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 hơn 6 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 nào hoàn thành. Ngoài sự nỗ lực của bản thân, chúng em
đã nhận được sự khích lệ rất nhiều từ phía nhà trường, thầy cơ, gia đình và bạn bè trong
khoa. Chính điều này đã mang lại cho chúng em sự động viên rất lớn để chúng em có
thể hồn thành tốt luận văn của mình.
Trước hết, chúng con xin cảm ơn những bậc làm cha, làm mẹ đã ln ủ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ể hồ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 hồ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 q 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
Phan Trung Hiếu – Trần Lê Quân
Phan Trung Hiếu
Mssv: 0112463
- Trang 5 -
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 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 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 6 -
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ệ 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
Phan Trung Hiếu
Mssv: 0112463
- Trang 7 -
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 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 tố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 tố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
Phan Trung Hiếu
Mssv: 0112463
- Trang 8 -
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 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
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
1 Mơ hình tấn cơng DDoS ...........................................................................16
2 Mơ hình firewall.......................................................................................18
3 Lọc gói tin tại firewall...............................................................................18
4 Một số chức năng của Firewall. .................................................................20
5 Lọc gói tin ..............................................................................................21
6 Firewall được cấu hình tại router...............................................................23
7 Firewall mềm ..........................................................................................26
8 Tấn cơng hệ thống từ bên ngồi ...............................................................29
9 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 1 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 của các proxy ..................................................55
Phan Trung Hiếu
Mssv: 0112463
- Trang 9 -
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 được 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 chính của Web Base Proxy .......................................................67
Mini form trên mỗi đầu trang ..................................................................68
Sơ đồ hoạt động của 1 trang Web-Based Proxy ........................................69
Giao diện chính của plug-in ....................................................................73
Trang thơng báo mỗi khi người dùng duyệt những trang web vi phạm.......74
Cách trình bày thơng thường của một trang web base proxy .....................75
Quá trình trình duyệt khởi động và nạp các BHO ......................................77
Mơ hình hoạt động của Plugin .................................................................80
Định dạng của gói tin gửi đến proxy server ..............................................84
Sơ đồ hoạt động của module chặn địa chỉ IP............................................87
DANH SÁCH BẢNG
Phan Trung Hiếu
Mssv: 0112463
- Trang 10 -
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Ứ NHẤT
CƠ SỞ LÝ THUYẾT
Chương 1:
GIỚI THIỆU VỀ FIREWALL
1.1 Đặt vấn đề:
Song song với việc xây dựng nền tảng về công nghệ thông tin, cũng như phát
triển các ứng dụng máy tính trong sản xuất, kinh doanh, khoa học, giáo dục, xã hội,...
thì việc bảo về những thành quả đó là một điều khơng thể thiếu. Sử dụng các bức tường
lửa (Firewall) để bảo vệ mạng nội bộ (Intranet), tránh sự tấn cơng từ bên ngồi là một
giải pháp hữu hiệu, đảm bảo được các yếu tố:
• An tồn cho sự hoạt động của tồ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 sốt cao
• Đảm bảo tốc độ nhanh
• Mềm dẻo và dễ sử dụng
• Trong suốt với người sử dụng
• Đảm bảo kiến trúc mở
1.2 Nhu cầu bảo vệ thông tin:
1.2.1 Nguyên nhân:
Ngày nay, Internet, một kho tàng thông tin khổng lồ, phục vụ hữu hiệu trong
sản xuất kinh doanh, đã trở thành đối tượng cho nhiều người tấn công với các mục
đích khác nhau. Đơi khi, cũng chỉ đơn giản là để thử tài hoặc đùa bỡn với người
khác.
Phan Trung Hiếu
Mssv: 0112463
- Trang 11 -
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
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
chun môn bắt đầu đề cập nhiều đến vấn đề bảo đảm và an tồ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 hồ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ụngmậ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.
Phan Trung Hiếu
Mssv: 0112463
- Trang 12 -
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
1.2.2 Bảo vệ dữ liệu:
Những thơng tin lưu trữ trên hệ thống máy tính cần được bảo vệ do các u
cầu sau:
• Bảo mật: Những thơng tin có giá trị về kinh tế, quân sự, chính sách vv...
cần được giữ kín.
• Tính tồn vẹn: Thơng tin khơng bị mất mát hoặc sửa đổi, đánh tráo.
• Tính kịp thời: u cầu truy nhập thông tin vào đúng thời điểm cần thiết.
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 u cầu về tính tồ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 ngun 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.
Phan Trung Hiếu
Mssv: 0112463
- Trang 13 -
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
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
hố 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 ngồ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.
Phan Trung Hiếu
Mssv: 0112463
- Trang 14 -
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
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 tố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 tồ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 tồn bộ tốc độ tính tố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 ngun để thực hiện những cơng việc có ích khác.
Phan Trung Hiếu
Mssv: 0112463
- Trang 15 -
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 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ộ.
Phan Trung Hiếu
Mssv: 0112463
- Trang 16 -
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
1.3.6 Tấn cơng vào yếu tố con người:
Kẻ tấn cơng có thể liên lạc với một ngời quản trị hệ thống, giả làm một
người sử dụng để yêu cầu thay đổi mật khẩu, thay đổi quyền truy nhập của mình
đối với hệ thống, hoặc thậm chí thay đổi một số cấu hình của hệ thống để thực hiện
các phương pháp tấn công khác. Với kiểu tấn công này không một thiết bị nào có
thể ngăn chặn một cách hữu hiệu, và chỉ có một cách giáo dục người sử dụng mạng
nội bộ về những yêu cầu bảo mật để đề cao cảnh giác với những hiện tượng đáng
nghi. Nói chung yếu tố con ngời là một điểm yếu trong bất kỳ một hệ thống bảo vệ
nào, và chỉ có sự giáo dục cộng với tinh thần hợp tác từ phía người sử dụng có thể
nâng cao được độ an tồn của hệ thống bảo vệ.
1.4 Firewall là gì ?
Thuật ngữ Firewall có nguồn gốc từ một kỹ thuật thiết kế trong xây dựng để ngăn
chặn, hạn chế hoả hoạn. Trong công nghệ mạng thông tin, Firewall là một kỹ thuật
được tích hợp vào hệ thống mạng để chống sự truy cập trái phép, nhằm bảo vệ các
nguồn thông tin nội bộ và hạn chế sự xâm nhập không mong muốn vào hệ thống. Cũng
có thể hiểu Firewall là một cơ chế (mechanism) để bảo vệ mạng tin tưởng (Trusted
network) khỏi các mạng không tin tưởng (Untrusted network).
Thông thường Firewall được đặt giữa mạng bên trong (Intranet) của một công ty,
tổ chức, ngành hay một quốc gia, và Internet. Vai trò chính là bảo mật thơng tin, ngăn
chặn sự truy nhập khơng mong muốn từ bên ngồi (Internet) và cấm truy nhập từ bên
trong (Intranet) tới một số địa chỉ nhất định trên Internet.
Phan Trung Hiếu
Mssv: 0112463
- Trang 17 -
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 2 Mơ hình firewall
Một cách vắn tắt, firewall là hệ thống ngăn chặn việc truy nhập trái phép từ bên
ngồi vào mạng cũng như những kết nối khơng hợp lệ từ bên trong ra. Firewall thực
hiện việc lọc bỏ những địa chỉ không hợp lệ dựa theo các quy tắc hay chỉ tiêu định
trước.
Hình 3 Lọc gói tin tại firewall
Firewall có thể là hệ thống phần cứng, phần mềm hoặc kết hợp cả hai. Nếu là
phần cứng, nó có thể chỉ bao gồm duy nhất bộ lọc gói tin hoặc là thiết bị định tuyến
(router được tích hợp sẵn chức năng lọc gói tin). Bộ định tuyến có các tính năng bảo
mật cao cấp, trong đó có khả năng kiểm sốt địa chỉ IP. Quy trình kiểm sốt cho phép
bạn định ra những địa chỉ IP có thể kết nối với mạng của bạn và ngược lại. Tính chất
Phan Trung Hiếu
Mssv: 0112463
- Trang 18 -
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
chung của các Firewall là phân biệt địa chỉ IP dựa trên các gói tin hay từ chối việc truy
nhập bất hợp pháp căn cứ trên địa chỉ nguồn.
1.5 Các chức năng chính:
1.5.1 Chức năng:
Chức năng chính của Firewall là kiểm sốt luồng thơng tin từ giữa Intranet
và Internet. Thiết lập cơ chế điều khiển dịng thơng tin giữa mạng bên trong
(Intranet) và mạng Internet. Cụ thể là:
• Cho phép hoặc cấm những dịch vụ truy nhập ra ngoài (từ Intranet ra
Internet).
• Cho phép hoặc cấm những dịch vụ phép truy nhập vào trong (từ Internet
vào Intranet).
• Theo dõi luồng dữ liệu mạng giữa Internet và Intranet.
• Kiểm sốt địa chỉ truy nhập, cấm địa chỉ truy nhập.
• Kiểm sốt người sử dụng và việc truy nhập của người sử dụng. Kiểm
sốt nội dung thơng tin lưu chuyển trên mạng.
Phan Trung Hiếu
Mssv: 0112463
- Trang 19 -
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 4 M ột số chức năng của Firewall.
1.5.2 Thành phần:
Firewall chuẩn bao gồm một hay nhiều các thành phần sau đây:
• Bộ lọc packet (packet-filtering router)
• Cổng ứng dụng (application-level gateway hay proxy server)
• Cổng mạch (circuite level gateway)
•
Bộ lọc paket (Paket filtering router).
Phan Trung Hiếu
Mssv: 0112463
- Trang 20 -
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
1.6 Ngun lý:
Khi nói đến việc lưu thơng dữ liệu giữa các mạng với nhau thơng qua Firewall thì
điều đó có nghĩa rằng Firewall hoạt động chặt chẽ với giao thức TCI/IP. Vì giao thức
này làm việc theo thuật tốn chia nhỏ các dữ liệu nhận được từ các ứng dụng trên
mạng, hay nói chính xác hơn là các dịch vụ chạy trên các giao thức (Telnet, SMTP,
DNS, SMNP, NFS...) thành các gói dữ liệu (data pakets) rồi gán cho các paket này
những địa chỉ để có thể nhận dạng, tái lập lại ở đích cần gửi đến, do đó các loại
Firewall cũng liên quan rất nhiều đến các packet và những con số địa chỉ của chúng.
Hình 5 Lọc gói tin
Bộ lọc packet cho phép hay từ chối mỗi packet mà nó nhận được. Nó kiểm tra
tồn bộ đoạn dữ liệu để quyết định xem đoạn dữ liệu đó có thoả mãn một trong số các
luật lệ của lọc packet hay không. Các luật lệ lọc packet này là dựa trên các thông tin ở
đầu mỗi packet (packet header), dùng để cho phép truyền các packet đó ở trên mạng.
Đó là:
Phan Trung Hiếu
Mssv: 0112463
- Trang 21 -
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
• Địa chỉ IP nơi xuất phát ( IP Source address)
• Địa chỉ IP nơi nhận (IP Destination address)
• Những thủ tục truyền tin (TCP, UDP, ICMP, IP tunnel)
• Cổng TCP/UDP nơi xuất phát (TCP/UDP source port)
• Cổng TCP/UDP nơi nhận (TCP/UDP destination port)
• Dạng thơng báo ICMP ( ICMP message type)
• Giao diện packet đến ( incomming interface of packet)
• Giao diện packet đi ( outcomming interface of packet)
Nếu luật lệ lọc packet được thoả mãn thì packet được chuyển qua Firewall. Nếu
không packet sẽ bị bỏ đi. Nhờ vậy mà Firewall có thể ngăn cản được các kết nối vào
các máy chủ hoặc mạng nào đó được xác định, hoặc khoá việc truy cập vào hệ thống
mạng nội bộ từ những địa chỉ không cho phép. Hơn nữa, việc kiểm sốt các cổng làm
cho Firewall có khả năng chỉ cho phép một số loại kết nối nhất định vào các loại máy
chủ nào đó, hoặc chỉ có những dịch vụ nào đó (Telnet, SMTP, FTP...) được phép mới
chạy được trên hệ thống mạng cục bộ.
Ưu điểm:
• Đa số các hệ thống Firewall đều sử dụng bộ lọc packet. Một trong những
ưu điểm của phương pháp dùng bộ lọc packet là chi phí thấp vì cơ chế
lọc packet đã được bao gồm trong mỗi phần mềm router.
• Ngồi ra, bộ lọc packet là trong suốt đối với người sử dụng và các ứng
dụng, vì vậy nó khơng u cầu sự huấn luyện đặc biệt nào cả.
Hạn chế:
• Việc định nghĩa các chế độ lọc package là một việc khá phức tạp; địi hỏi
người quản trị mạng cần có hiểu biết chi tiết vể các dịch vụ Internet, các
dạng packet header, và các giá trị cụ thể có thể nhận trên mỗi trường. Khi
Phan Trung Hiếu
Mssv: 0112463
- Trang 22 -
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
• Do làm việc dựa trên header của các packet, rõ ràng là bộ lọc packet
khơng kiểm sốt được nơi dung thơng tin của packet. Các packet chuyển
qua vẫn có thể mang theo những hành động với ý đồ ăn cắp thông tin hay
phá hoại của kẻ xấu.
1.7 Các dạng firewall:
Mỗi dạng Firewall khác nhau có những thuận lợi và hạn chế riêng. Dạng phổ biến
nhất là Firewall mức mạng (Network-level firewall). Loại Firewall này thường dựa trên
bộ định tuyến, vì vậy các quy tắc quy định tính hợp pháp cho việc truy nhập được thiết
lập ngay trên bộ định tuyến. Mơ hình Firewall này sử dụng kỹ thuật lọc gói tin (packetfiltering technique), đó là tiến trình kiểm sốt các gói tin qua bộ định tuyến.
Hình 6 Firewall được cấu hình tại router
Phan Trung Hiếu
Mssv: 0112463
- Trang 23 -
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
Khi hoạt động, Firewall sẽ dựa trên bộ định tuyến mà kiểm tra địa chỉ nguồn
(source address) hay địa chỉ xuất phát của gói tin. Sau khi nhận diện xong, mỗi địa chỉ
nguồn IP sẽ được kiểm tra theo các quy tắc do người quản trị mạng định trước.
Firewall dựa trên bộ định tuyến làm việc rất nhanh do nó chỉ kiểm tra lướt trên
các địa chỉ nguồn mà không hề có yêu cầu thực sự nào đối với bộ định tuyến, không
tốn thời gian xử lý những địa chỉ sai hay không hợp lệ. Tuy nhiên, bạn phải trả giá:
ngoại trừ những điều khiển chống truy nhập, các gói tin mang địa chỉ giả mạo vẫn có
thể thâm nhập ở một mức nào đó trên máy chủ của bạn.
Một số kỹ thuật lọc gói tin có thể được sử dụng kết hợp với Firewall để khắc
phục nhược điểm nói trên. Địa chỉ IP không phải là thành phần duy nhất của gói tin có
thể mắc bẫy bộ định tuyến. Người quản trị nên áp dụng đồng thời các quy tắc, sử dụng
thơng tin định danh kèm theo gói tin như thời gian, giao thức, cổng... để tăng cường
điều kiện lọc. Tuy nhiên, sự yếu kém trong kỹ thuật lọc gói tin của Firewall dựa trên bộ
định tuyến khơng chỉ có vậy.
Một số dịch vụ gọi thủ tục từ xa (Remote Procedure Call - RPC) rất khó lọc một
cách hiệu quả do các server liên kết phụ thuộc vào các cổng được gán ngẫu nhiên khi
khởi động hệ thống. Dịch vụ gọi là ánh xạ cổng (portmapper) sẽ ánh xạ các lời gọi tới
dịch vụ RPC thành số dịch vụ gán sẵn, tuy nhiên, do khơng có sự tương ứng giữa số
dịch vụ với bộ định tuyến lọc gói tin, nên bộ định tuyến không nhận biết được dịch vụ
nào dùng cổng nào, vì thế nó khơng thể ngăn chặn hoàn toàn các dịch vụ này, trừ khi
bộ định tuyến ngăn tồn bộ các gói tin UDP (các dịch vụ RPC chủ yếu sử dụng giao
thức UDP hay User Datagram Protocol). Việc ngăn chặn tất cả các gói tin UDP cũng sẽ
ngăn ln cả các dịch vụ cần thiết, ví dụ như DNS (Domain Name Service ố dịch vụ
đặt tên vùng). Vì thế, dẫn đến tình trạng tiến thối lưỡng nan.
Phan Trung Hiếu
Mssv: 0112463
- Trang 24 -
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
1.8 Các ý niệm chung về Firewall:
Một trong những ý tưởng chính của Firewall là che chắn cho mạng của bạn khỏi
tầm nhìn của những người dùng bên ngồi khơng được phép kết nối, hay chí ít cũng
khơng cho phép họ rớ tới mạng. Quá trình này thực thi các chỉ tiêu lọc bỏ do người
quản trị ấn định.
Trên lý thuyết, Firewall là phương pháp bảo mật an toàn nhất khi mạng của bạn
có kết nối Internet. Tuy nhiên, vẫn tồn tại các vấn đề xung quanh môi trường bảo mật
này. Nếu Firewall được cấu hình quá chặt chẽ, tiến trình làm việc của mạng sẽ bị ảnh
hưởng, đặc biệt trong mơi trường người dùng phụ thuộc hồn tồn vào ứng dụng phân
tán. Do Firewall thực thi từng chính sách bảo mật chặt chẽ nên nó có thể bị sa lầy. Tóm
lại, cơ chế bảo mật càng chặt chẽ bao nhiêu, thì tính năng càng bị hạn chế bấy nhiêu.
Một vấn đề khác của Firewall tương tự như việc xếp trứng vào rổ. Do là rào chắn
chống kết nối bất hợp pháp nên một khe hở cũng có thể dễ dàng phá huỷ mạng của
bạn. Firewall duy trì mơi trường bảo mật, trong đó nó đóng vai trị điều khiển truy nhập
và thực thi sơ đồ bảo mật. Firewall thường được mô tả như cửa ngõ của mạng, nơi xác
nhận quyền truy nhập. Tuy nhiên điều gì sẽ xảy ra khi nó bị vơ hiệu hố? Nếu một kỹ
thuật phá Firewall được phát hiện, cũng có nghĩa người vệ sĩ bị tiêu diệt và cơ hội sống
sót của mạng là rất mỏng manh. Vì vậy trước khi xây dựng Firewall, bạn nên xem xét
kỹ và tất nhiên phải hiểu tường tận về mạng của mình.
Một điều nữa, Firewall cũng có khả năng cấm các kết nối không được cho phép từ
bên trong ra. Điều này, nếu suy nghĩ đơn giản thì chúng ta thấy rất có lợi, tuy nhiên
trong một vài trường hợp thì nó vẫn có mặt hạn chế của nó.
1.8.1 Firewall dựa trên Application gateway:
Một dạng phổ biến là Firewall dựa trên ứng dụng application-proxy. Loại
này hoạt động hơi khác với Firewall dựa trên bộ định tuyến lọc gói tin. Application
gateway dựa trên cơ sở phần mềm. Khi một người dùng không xác định kết nối từ
Phan Trung Hiếu
Mssv: 0112463
- Trang 25 -
Trần Lê Quân
Mssv:0112319