ĐINH TUẤN KHẢI
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC LẠC HỒNG
* * *
Đinh Tuấn Khải
CÔNG NGHỆ THÔNG TIN XÂY DỰNG HỆ THỐNG TƯỜNG LỬA MẠNG NỘI BỘ
Chuyên ngành : Công nghệ thông tin
Mã số : 60.48.02.01
Luận văn thạc sĩ Công nghệ thông tin
NGƯỜI HƯỚNG DẪN KHOA HỌC :
Ts. Đàm Quang Hồng Hải Đồng Nai – Năm 2012
i
dẫn chứng trong đề tài là trung thực.
Không có sự trùng lắp, sao chép từ bất kỳ đề tài,
hay công trình nghiên cứu khoa học nào của các tác giả khác. Đồng Nai, tháng 10 năm 2012
Đinh Tuấn Khải
iii TÓM TẮT
Cùng với sự phát triển của mạng Internet, vấn đề bảo mật và an toàn dữ
liệu cho các hệ thống mạng máy tính trên thế giới được đặt ra. Đề tài “Xây dựng
hệ thống tường lửa mạng nội bộ” với mục tiêu nâng cao tính an toàn cho mạng
nội bộ. Đầu tiên, Người quản trị quản lý hoạt động của hệ thống mạng nội bộ,
cho phép hoặc cấm các chương trình nguy hiểm kết nối Internet. Bên cạnh đó, hệ
thống cũng được bảo vệ virus lây lan trong mạng nội bộ, những hoạt động khác
lạ chương trình sẽ kiểm tra, duyệt quét và báo cáo. Với mô hình hệ thống tường
lửa mạng nội bộ đơn giản, dễ sử dụng và tích hợp tùy chọn quét virus cho thấy
tính khả thi khi áp dụng cho các hệ thống mạng nội bộ của một tổ chức, doanh
nghiệp ngày nay.
vii
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
DANH MỤC CÁC KÝ HIỆU SỬ DỤNG TRONG LUẬN VĂN
Ký hiệu
Thuật ngữ
Firewall
Firewall system
CSDL
Cơ sở dữ liệu
DMZ
DeMilitarized Zone
DNS
Domain Name System
DOS
Denial of Service
FTP
File Transfer Protocol
HĐH
Hệ điều hành
HTTP
Hypertext Transfer Protocol
ICMP
Internet Control Message Protocol
IDS
Intrusion Detection System
IP
Instruction Pointer
IPsec
Protocol security
ISVs
Independent Software Vendors
JS
Java Script files
LE-EXE
LinEar EXEcutable files
LIFO
Last In - First Out
WFP
Windows Filtering Platform
ix
DANH MỤC BẢNG BIỂU
Stt Bảng Mô tả Trang
1 BẢNG 2.1 Phân loại virus máy tính theo kiểu dữ liệu 17
2 BẢNG 2.2 Lịch trình cập nhật của Kaspersky Lab (1995-2004) 18
3 BẢNG 3.1 Các định dạng vật chủ chứa mã thi hành có thể nhiễm virus máy tính 39
4 BẢNG 3.2 Các loại tập tin chương trình 40
5 BẢNG 4.1 So sánh tính năng với một số sản phẩm hiện có 56 x
DANH MỤC HÌNH ẢNH
Stt Hình Mô tả Trang
1 HÌNH 2.1 Mô hình tường lửa bảo vệ hệ thống mạng nội bộ 10
2 HÌNH 2.2 Kiến trúc Dual – Homed host architecture 11
3 HÌNH 2.3 Kiến trúc Screened host architecture (SHA) 13
4 HÌNH 2.4 Kiến trúc Screened subnet architecture 14
5 HÌNH 3.1 Kiến trúc và khả năng mở rộng của WFP 25
6 HÌNH 3.2 Mô hình OSI rút gọn 33
7 HÌNH 3.3 Client gửi yêu cầu đến Server 34
8 HÌNH 3.4 Server chấp nhận yêu cầu và tạo một socket để phục vụ Client 35
9 HÌNH 3.5 Phân loại các tập tin chương trình 40
10 HÌNH 4.1 Mô hình ứng dụng Firewall 41
11 HÌNH 4.2 Sơ đồ hoạt động của hệ thống Firewall 42
12 HÌNH 4.3 Mô hình chức năng chương trình Firewall Client 43
36 HÌNH 4.27 Màn hình thông báo có chương trình chạy ở Client 55
xii
DANH MỤC BIỂU ĐỒ
Stt Biểu đồ Mô tả Trang
1 BIỂU ĐỒ 2.1 Biểu đồ so sánh tỷ lệ phân bố các lớp virus máy tính 17
2 BIỂU ĐỒ 2.2a Biểu đồ tăng trưởng các lớp virus máy tính 19
3 BIỂU ĐỒ 2.2b Biểu đồ tăng trưởng các lớp virus máy tính 19
MỤC LỤC
Trang
LỜI CẢM ƠN i
LỜI CAM ĐOAN ii
TÓM TẮT iii
MỤC LỤC iv
DANH MỤC KÝ HIỆU, CÁC CHỮ VIẾT TẮT vii
DANH MỤC BẢNG BIỂU ix
DANH MỤC HÌNH ẢNH x
DANH MỤC BIỂU ĐỒ xii
CHƯƠNG 1 MỞ ĐẦU 1
1.1 . Giới thiệu đề tài 1
1.1.1. Lý do chọn đề tài 1
1.1.2. Mục tiêu đề tài 1
1.2 . Đối tượng, phạm vi nghiên cứu của đề tài 2
2.1.9.2. Screened host architecture (SHA) 13
2.1.9.3. Screened subnet architecture 14
2.1.9.4. Sử dụng nhiều Bastion hosts 15
2.1.9.5. Ghép chung Interior Router và Exterior Router 15
2.1.9.6. Kiến trúc ghép chung Bastion host và Exterior Router 16
2.2. Khảo sát virus máy tính 16
2.3. Các cơ chế chẩn đoán virus máy tính 18
2.3.1. Phát hiện virus dựa vào chuỗi nhận dạng 20
2.3.2. Phát hiện virus dựa vào hành vi 20
2.3.3. Phát hiện virus dựa vào ý định 21
2.4. Tình hình nghiên cứu và ứng dụng ở nước ngoài 21
2.5. Các vấn đề mở của công nghệ anti-virus 22
CHƯƠNG 3 NGHIÊN CỨU CÔNG NGHỆ SỬ DỤNG TRONG TƯỜNG LỬA 23
3.1. WINDOWS FILTERING PLATFORM (WFP) 23
3.1.1. Giới thiệu Windows Filtering Platform 23
3.1.2. Những lợi ích khi sử dụng WFP 24
3.1.3. Kiến trúc của WFP 25
3.1.4. Tính năng của WFP 27
3.1.5. Các WFP APIs được dùng để viết chương trình tường lửa 28
3.2. SOCKET 31
3.2.1. Lịch sử hình thành 31
3.2.2. Định nghĩa Socket 32
3.2.3. Nguyên lý hoạt động 33
3.2.4. Socket hỗ trợ TCP 34
3.2.5. Socket hỗ trợ UDP 35
3.2.6. Các thuộc tính của socket 35
3.2.7. Một số hàm thông dụng cùa socket 37 3.3. Nhận dạng virus dạng thực thi 39
mới, công nghệ thông tin (CNTT) vừa là công cụ, vừa là động lực thúc đẩy
quá trình công nghiệp hóa, hiện đại hóa đất nước. Trong giai đoạn hội nhập
quốc tế, CNTT giữ vai trò đặc biệt quan trọng trong việc xử lý tính toán dữ
liệu, kết nối thông tin liên lạc của các đơn vị tổ chức trong và ngoài nước. Bảo
vệ an toàn dữ liệu cho các hệ thống tính toán, giữ vững an ninh mạng, đảm bảo
liên lạc thông suốt, duy trì chất lượng phục vụ luôn là vấn đề quan tâm hàng đầu
của các nhà quản trị hệ thống.
Sự phát triển của Internet tạo điều kiện cho các loại hình xâm nhập luận
lý trái phép vào các hệ thống CNTT cả chiều rộng và chiều sâu. Mỗi ngày các
hệ thống mạng phải đối phó với hàng loạt đợt tấn công mạng khiến nhiều hệ
thống bị đình trệ, tắc nghẽn và tê liệt; gây thiệt hại không nhỏ. Dự án nghiên
cứu về sự phát triển toàn cầu của Viện Hàn lâm Công nghệ Quốc gia Mỹ
(National Academy of Engineering, USA - 2008) nhận định vấn đề an ninh
thông tin là một trong 14 thách thức công nghệ lớn nhất của thế kỷ 21 mà nếu
giải quyết được, cuộc sống con người sẽ được cải thiện đáng kể [15].
Trong bối cảnh đó, đề tài “Xây dựng hệ thống tường lửa mạng nội bộ”
được tiến hành nhằm góp phần giải quyết vấn đề bảo vệ an toàn cho các hệ
thống CNTT nói chung và hệ thống mạng nội bộ trường Đại học Lạc Hồng nói
riêng.
1.1.2. Mục tiêu đề tài
Ngày càng có nhiều người kết nối mạng Internet và các công ty, tổ chức
ngày càng mở rộng hệ thống mạng, vấn đề bảo mật cho mạng nội bộ trở nên khó
khăn hơn bao giờ hết. Hiện nay, nhiều phương pháp đã được đưa ra phát triển để
đảm bảo an toàn cho cơ sở hạ tầng và giao tiếp trên Internet.
2
Trên cơ sở xác định loại hình nghiên cứu của đề tài là nghiên cứu ứng
dụng, mục tiêu của đề tài là xây dựng hệ thống tường lửa mạng nội bộ, tiếp đến
tích hợp nhận dạng virus máy tính với các tiêu chí cơ bản:
- Xây dựng hệ thống tường lửa có khả năng cấm những chương trình nguy
nghệ sử dụng trong chương trình Firewall. Nội dung chính là nghiên cứu về
Windows Filtering Platform, Socket và cách sử dụng nó trong luận văn. Mô
tả sơ lược về virus máy tính.
Chương 4: Đây là chương chính của khóa luận. Chương này sẽ trình bày nội
dung chương trình Firewall.
Chương 5: Tổng kết, đánh giá ý nghĩa thực tiễn, phân tích hạn chế, đề xuất
các biện pháp khắc phục và dự kiến hướng phát triển tương lai của đề tài.
4
CHƯƠNG 2
MỘT SỐ CÔNG NGHỆ BẢO MẬT MẠNG MÁY TÍNH
2.1. Tổng quan về tường lửa (Firewall)
2.1.1. Đặt vấn đề
Việc xây dựng một hệ thống bảo vệ, giám sát hoạt động những chương trình
ra ngoài Internet nhằm đảm bảo sự an toàn cho người sử dụng khi kết nối Internet
và việc quản lý hệ thống một cách dễ dàng là điều cần thiết. Đề tài tiến hành nghiên
cứu xây dựng hệ thống tường lửa mạng nội bộ nhằm giải quyết vấn đề trên.
2.1.2. Khái niệm tường lửa
Internet cho phép chúng ta truy cập tới mọi nơi trên thế giới thông qua một
số dịch vụ. Ngồi trước máy tính có thể biết được thông tin trên toàn cầu, nhưng
cũng chính vì thế mà hệ thống máy tính có thể bị xâm nhập vào bất kỳ lúc nào
mà không hề được biết trước. Do vậy, việc bảo vệ hệ thống là một vấn đề đáng
phải được quan tâm đặt lên hàng đầu và khái niệm Firewall ra đời để giải quyết
vấn đề này.
Tường lửa là một thiết bị phần cứng hoặc phần mềm được đặt giữa máy
tính và Internet, bức tường lửa là rào chắn mà một số cá nhân, tổ chức, doanh
nghiệp, cơ quan nhà nước lập ra nhằm ngăn chặn người dùng mạng Internet truy
cập các thông tin không mong muốn hoặc ngăn chặn người dùng từ bên ngoài
truy nhập các thông tin bảo mật nằm trong mạng nội bộ.
2.1.3. Lịch sử tường lửa
Equipment Corporation's (DEC) phát hành với tên SEAL. Đợt bán hàng lớn đầu
tiên của DEC là vào ngày 13 tháng 9 năm 1991 cho một công ty hóa chất tại bờ
biển phía Đông của Mỹ.
Tại AT&T, Bill Cheswick và Steve Bellovin tiếp tục nghiên cứu của họ về
lọc gói tin và đã phát triển một mô hình chạy được cho công ty của chính họ, dựa
trên kiến trúc của thế hệ tường lửa thứ nhất của mình. Năm 1992, Bob Braden và
Annette DeSchon tại Đại học Nam California đã phát triển hệ thống tường lửa
lọc gói tin thế hệ thứ tư. Sản phẩm có tên “Visas” này là hệ thống đầu tiên có
một giao diện với màu sắc và các biểu tượng, có thể dễ dàng cài đặt thành phần
mềm cho các hệ điều hành chẳng hạn Microsoft Windows và Mac/OS của Apple
và truy nhập từ các hệ điều hành đó. Năm 1994, một công ty Israel có tên Check
Point Software Technologies đã xây dựng sản phẩm này thành một phần mềm
sẵn sàng cho sử dụng, đó là FireWall-1. Một thế hệ thứ hai của các tường lửa
proxy đã được dựa trên công nghệ Kernel Proxy. Thiết kế này liên tục được cải
6
tiến nhưng các tính năng và mã chương trình cơ bản hiện đang được sử dụng
rộng rãi trong cả các hệ thống máy tính gia đình và thương mại. Cisco, một trong
những công ty an ninh mạng lớn nhất trên thế giới đã phát hành sản phẩm này
năm 1997.
2.1.4. Các kiểu tấn công mạng
2.1.4.1. Tấn công trực tiếp
Sử dụng một máy tính để tấn công một máy tính khác với mục đích dò
tìm mật mã, tên tài khoản tương ứng, … Họ có thể sử dụng một số chương trình
giải mã để giải mã các file chứa password trên hệ thống máy tính của nạn nhân.
Do đó, những mật khẩu ngắn và đơn giản thường rất dễ bị phát hiện.
2.1.4.2. Kỹ thuật đánh lừa (Social Engineering)
Đây là thủ thuật được nhiều hacker sử dụng cho các cuộc tấn công và thâm
nhập vào hệ thống mạng và máy tính bởi tính đơn giản mà hiệu quả của nó.
Thường được sử dụng để lấy cấp mật khẩu, thông tin, tấn công vào và phá hủy hệ
tường lửa. Tường lửa có thể hiểu là cổng duy nhất mà người đi vào nhà hay đi ra
cũng phải qua đó. Tường lửa hạn chế rất nhiều khả năng tấn công từ bên ngoài và
gia tăng sự tin tưởng lẫn nhau trong việc sử dụng tài nguyên chia sẻ trong mạng
nội bộ.
2.1.4.8. Kỹ thuật chèn mã lệnh
Một kỹ thuật tấn công căn bản và được sử dụng cho một số kỹ thuật tấn
công khác là chèn mã lệnh vào trang web từ một máy khách bất kỳ của người tấn
công.
Kỹ thuật chèn mã lệnh cho phép người tấn công đưa mã lệnh thực thi vào
phiên làm việc trên web của một người dùng khác. Khi mã lệnh này chạy, nó sẽ
cho phép người tấn công thực hiện nhiều việc như giám sát phiên làm việc trên
trang web hoặc có thể toàn quyền điều khiển máy tính của nạn nhân. Kỹ thuật tấn
công này thành công hay thất bại tùy thuộc vào khả năng và sự linh hoạt của
người tấn công.
2.1.4.9. Tấn công vào hệ thống có cấu hình không an toàn
Cấu hình không an toàn cũng là một lỗ hổng bảo mật của hệ thống. Các lỗ
hổng này được tạo ra do các ứng dụng có các thiết lập không an toàn hoặc người
quản trị hệ thống cấu hình không an toàn. Chẳng hạn như cấu hình máy chủ web
8
cho phép ai cũng có quyền duyệt qua hệ thống thư mục. Việc thiết lập như trên
có thể làm lộ các thông tin nhạy cảm như mã nguồn, mật khẩu hay các thông tin
của khách hàng.
2.1.4.10. Tấn công dùng Cookies
Cookie là những phần tử dữ liệu nhỏ có cấu trúc được chia sẻ giữa website
và trình duyệt của người dùng.
Cookies được lưu trữ dưới những tập tin dữ liệu nhỏ dạng text. Chúng được
các trình duyệt tạo ra để lưu trữ, truy tìm, nhận biết các thông tin về người dùng
đã ghé thăm và những vùng mà họ đi qua. Những thông tin này có thể bao gồm
tên, định danh người dùng, mật khẩu, sở thích, thói quen, … Cookies được trình
2.1.7. Các loại tường lửa
2.1.7.1. Có ba loại tường lửa cơ bản tùy theo:
Giao tiếp được thực hiện giữa một nút đơn và mạng, hay giữa một số
mạng.
Giao tiếp được chặn tại tầng mạng, hay tại tầng ứng dụng.
Tường lửa có theo dõi trạng thái của giao tiếp hay không.
2.1.7.2. Phân loại theo phạm vi của các giao tiếp được lọc
Tường lửa cá nhân, một ứng dụng phần mềm với chức năng thông
thường là lọc dữ liệu ra vào một máy tính đơn.
Tường lửa mạng, thường chạy trên một thiết bị mạng hay máy tính
chuyên dụng đặt tại ranh giới của hai hay nhiều mạng hoặc các khu phi
quân sự (mạng con trung gian nằm giữa mạng nội bộ và mạng bên
ngoài). Một tường lửa thuộc loại này lọc tất cả dữ liệu vào hoặc ra của
các mạng được kết nối qua nó.
2.1.7.3. Phân loại theo các tầng giao thức nơi dữ liệu có thể bị chặn
Tường lửa tầng mạng (iptables)
Tường lửa tầng ứng dụng (TCP Wrappers)
Tường lửa ứng dụng (hạn chế các dịch vụ ftp bằng việc định cấu hình tại
tệp /etc/ftpaccess)
10
2.1.7.4. Phân loại theo tường lửa theo dõi trang thái
Tường lửa có trạng thái (Stateful firewall)
Tường lửa phi trạng thái (Stateless firewall)
HÌNH 2.1: Mô hình tường lửa bảo vệ hệ thống mạng nội bộ
2.1.8. Nguyên lý hoạt động của tường lửa
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 tường
lửa có nghĩa rằng tường lửa hoạt động chặt chẽ với giao thức TCP/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
HÌNH 2.2: Kiến trúc Dual – Homed host architecture
Đây là kiến trúc đơn giản nhất. Kiến trúc này sẽ sử dụng một máy tính có ít
nhất 2 card giao tiếp (dual- homed host ). Máy tính này sẽ là cầu nối giữa mạng