9462_4.5.11. Các phương pháp lập trình vượt Firewall

luận văn tốt nghiệp

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

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
Phan Trung Hiếu
– Trang 2 –
Trần Lê Quân
Mssv: 0112463

Mssv:0112319

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
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………

Phan Trung Hiếu
– Trang 3 –
Trần Lê Quân
Mssv: 0112463

Mssv:0112319

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
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
Phan Trung Hiếu
– Trang 4 –
Trần Lê Quân
Mssv: 0112463

Mssv:0112319

Luận văn tốt nghiệp Mạng máy tính

GVHD: ThS Đỗ Hoàng Cường
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ể hoà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ẹ đã 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

Phan Trung Hiếu – Trần Lê Quân

Phan Trung Hiếu
– Trang 5 –
Trần Lê Quân
Mssv: 0112463

Mssv:0112319

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

Phan Trung Hiếu
– Trang 6 –
Trần Lê Quân
Mssv: 0112463

Mssv:0112319

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
Phan Trung Hiếu
– Trang 7 –
Trần Lê Quân
Mssv: 0112463

Mssv:0112319

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
Phan Trung Hiếu
– Trang 8 –
Trần Lê Quân
Mssv: 0112463

Mssv:0112319

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
Phan Trung Hiếu
– Trang 9 –
Trần Lê Quân
Mssv: 0112463

Mssv:0112319

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

Phan Trung Hiếu
– Trang 10 –
Trần Lê Quân
Mssv: 0112463

Mssv:0112319

Luận văn tốt nghiệp Mạng máy tính

GVHD: ThS Đỗ Hoàng Cường
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 ngoài là một
giải pháp hữu hiệu, đảm bảo được các yếu tố:
• 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
• Đả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
– Trang 11 –
Trần Lê Quân
Mssv: 0112463

Mssv:0112319

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.
Phan Trung Hiếu
– Trang 12 –
Trần Lê Quân
Mssv: 0112463

Mssv:0112319

Luận văn tốt nghiệp Mạng máy tính

GVHD: ThS Đỗ Hoàng Cường
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 yê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 toà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: Yê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 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.
Phan Trung Hiếu
– Trang 13 –
Trần Lê Quân
Mssv: 0112463

Mssv:0112319

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.
Phan Trung Hiếu
– Trang 14 –
Trần Lê Quân
Mssv: 0112463

Mssv:0112319

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.
Phan Trung Hiếu
– Trang 15 –
Trần Lê Quân
Mssv: 0112463

Mssv:0112319

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ộ.
Phan Trung Hiếu
– Trang 16 –
Trần Lê Quân
Mssv: 0112463

Mssv:0112319

Luận văn tốt nghiệp Mạng máy tính

GVHD: ThS Đỗ Hoàng Cường
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 toà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 ngoà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
– Trang 17 –
Trần Lê Quân
Mssv: 0112463

Mssv:0112319

Luận văn tốt nghiệp Mạng máy tính

GVHD: ThS Đỗ Hoàng Cường

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
ngoà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.

Lọc gói tin tại firewall
Hình 3
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 soát địa chỉ IP. Quy trình kiểm soá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
– Trang 18 –
Trần Lê Quân
Mssv: 0112463

Mssv:0112319

Luận văn tốt nghiệp Mạng máy tính

GVHD: ThS Đỗ Hoàng Cường
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
hợp pháp căn cứ trên địa chỉ nguồn.
bất
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 soá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 soát địa chỉ truy nhập, cấm địa chỉ truy nhập.
• Kiểm soát người sử dụng và việc truy nhập của người sử dụng. Kiểm
soát nội dung thông tin lưu chuyển trên mạng.
Phan Trung Hiếu
– Trang 19 –
Trần Lê Quân
Mssv: 0112463

Mssv:0112319

Luận văn tốt nghiệp Mạng máy tính

GVHD: ThS Đỗ Hoàng Cường

ột số chức năng của Firewall.
Hình 4 M
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
– Trang 20 –
Trần Lê Quân
Mssv: 0112463

Mssv:0112319

Luận văn tốt nghiệp Mạng máy tính

GVHD: ThS Đỗ Hoàng Cường
1.6 Nguyên 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 toá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
toà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
– Trang 21 –
Trần Lê Quân
Mssv: 0112463

Mssv:0112319

Luận văn tốt nghiệp Mạng máy tính

GVHD: ThS Đỗ Hoàng Cường
Đị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 soá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.

Ngoà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 yê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
– Trang 22 –
Trần Lê Quân
Mssv: 0112463

Mssv:0112319

Luận văn tốt nghiệp Mạng máy tính

GVHD: ThS Đỗ Hoàng Cường
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 soá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 (packet-
filtering technique), đó là tiến trình kiểm soát các gói tin qua bộ định tuyến.

Firewall được cấu hình tại router
Hình 6
Phan Trung Hiếu
– Trang 23 –
Trần Lê Quân
Mssv: 0112463

Mssv:0112319

Luận văn tốt nghiệp Mạng máy tính

GVHD: ThS Đỗ Hoàng Cường
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 toà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 luôn 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 thoái lưỡng nan.
Phan Trung Hiếu
– Trang 24 –
Trần Lê Quân
Mssv: 0112463

Mssv:0112319

Luận văn tốt nghiệp Mạng máy tính

GVHD: ThS Đỗ Hoàng Cường
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 ngoà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 hoàn toà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 hoá? 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
– Trang 25 –
Trần Lê Quân
Mssv: 0112463

Mssv:0112319

Đánh giá post

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *