Tải bản đầy đủ (.doc) (118 trang)

Tìm hiểu kỹ thuật chặn bắt và phân tích gói tin nhằm mực đích phục vụ phát hiện xâm nhập trên mạng máy tính

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.88 MB, 118 trang )

Học viện Kỹ thuật Mật mã

ĐỒ ÁN TỐT NGHIỆP

MỤC LỤC
Trang
MỤC LỤC 1
DANH MỤC CÁC TỪ VIẾT TẮT..................................................................4
DANH MỤC CÁC BẢNG...............................................................................8
DANH MỤC CÁC HÌNH VẼ........................................................................12
LỜI MỞ ĐẦU................................................................................................16
Chương 1 18
1.1. TỔNG QUAN HỆ THỐNG MẠNG TCP/IP........................................18
1.1.1. Khái niệm mạng máy tính...............................................................18
1.1.2. Kiến trúc phân tầng của mạng máy tính..........................................19
1.1.3. Mô hình tham chiếu OSI.................................................................21
1.1.4. Mô hình TCP/IP..............................................................................24
1.1.5. So sánh giữa mô hình OSI và TCP/IP.............................................25
1.2. TÌM HIỂU VỀ MÔ HÌNH TCP/IP.......................................................26
1.2.1. Cấu trúc phân tầng của mô hình TCP/IP.........................................26
1.2.2. Quá trình truyền nhận dữ liệu trong TCP/IP...................................29
1.2.3. Sơ lược chức năng từng tầng trong mô hình TCP/IP......................30
1.2.4. Các giao thức chính trong mô hình TCP/IP và khuôn dạng dữ liệu
tương ứng..................................................................................................31
Chương 2 43
2.1. CÁC KHÁI NIỆM................................................................................43
2.1.1. Packet..............................................................................................43
2.1.2. Network Traffic...............................................................................43
2.1.3. Packet capture.................................................................................43
2.1.4. Packet Analyzer (Sniffer)................................................................44
2.2. ỨNG DỤNG CỦA VIỆC CHẶN BẮT GÓI TIN.................................44


-1-


Học viện Kỹ thuật Mật mã

ĐỒ ÁN TỐT NGHIỆP

2.2.1. Khả năng.........................................................................................44
2.2.2. Mục đích của việc chặn bắt gói tin..................................................45
2.3. CÁC THÀNH PHẦN CHÍNH CỦA MỘT CHƯƠNG TRÌNH CHẶN
BẮT GÓI TIN..............................................................................................45
2.3.1. Thành phần phần cứng....................................................................45
2.3.2. Thành phần Capture driver..............................................................46
2.3.3. Thành phần Buffer:.........................................................................46
2.3.4. Thành phần Real-time analysis.......................................................46
2.3.5. Thành phần Decode.........................................................................46
2.3.6. Thành phần Packet editting/transmission........................................46
2.4. CÁCH THỨC HOẠT ĐỘNG CỦA VIỆC CHẶN BẮT GÓI TIN......46
2.4.1. Theo dõi Network Traffic...............................................................46
2.4.2. Phân tích Network Traffic...............................................................46
2.5. CÁC PHƯƠNG PHÁP CHẶN BẮT GÓI TIN....................................49
2.5.1. Mức hệ điều hành (Socket, Raw Socket)........................................49
2.5.2. Mức Network Adapter (Pcap).........................................................50
2.5.3. So sánh Raw Socket và Pcap..........................................................51
2.6. PHÒNG CHỐNG SNIFFER TRÊN MẠNG MÁY TÍNH...................53
2.6.1. Phát hiện sniffer trong mạng...........................................................53
2.6.2. Ngăn chặn sniffer............................................................................54
2.6.3. Một số chương trình phát hiện sniffer.............................................54
Chương 3 55
3.1. HƯỚNG THỰC HIỆN CHƯƠNG TRÌNH..........................................55

3.2. LỰA CHỌN PHƯƠNG PHÁP VÀ NỀN TẢNG XÂY DỰNG
CHƯƠNG TRÌNH.......................................................................................58
3.2.1. Lựa chọn ngôn ngữ lập trình...........................................................58
-2-


Học viện Kỹ thuật Mật mã

ĐỒ ÁN TỐT NGHIỆP

3.2.2. Lựa chọn phương pháp chặn bắt gói tin..........................................59
3.3. THƯ VIỆN WINPCAP VÀ SHARPPCAP..........................................60
3.3.1. WinPcap..........................................................................................60
3.3.2. SharpPcap........................................................................................62
3.4. PHÂN TÍCH THIẾT KẾ CHƯƠNG TRÌNH.......................................72
3.4.1. Các chức năng chính.......................................................................72
3.4.2. Phân tích xây dựng các chức năng chính........................................73
3.5. CHƯƠNG TRÌNH HOÀN THIỆN.......................................................80
3.5.1. Mô tả...............................................................................................80
3.5.2. Giao diện chương trình...................................................................81
Chương 4 85
4.1. Ý TƯỞNG CHUNG CHO VIỆC THỰC HIỆN PHÁT HIỆN XÂM
NHẬP THÔNG MINH................................................................................85
4.2. MÔ HÌNH MAXIMUM ENTROPY....................................................86
4.2.1. Khái niệm Entropy..........................................................................86
4.2.2. Giới thiệu mô hình học thống kê Maximum Entropy (ME)...........87
4.2.3. Các thuật toán xác định tham số trong mô hình Maximum Entropy.
...................................................................................................................90
4.2.4. Học máy theo mô hình Maximum Entropy dựa trên thuật toán GIS.
...................................................................................................................93

4.3. XÂY DỰNG CHƯƠNG TRÌNH PHÁT HIỆN XÂM NHẬP THÔNG
MINH...........................................................................................................97
4.3.1. Lựa chọn thư viện hỗ trợ thuật toán GIS.........................................97
4.3.2. Giới thiệu về thư viện SharpEntropy..............................................97
4.3.3. Làm việc với SharpEntropy..........................................................101
4.3.4. Phân tích thiết kế chương trình.....................................................102
KẾT LUẬN 107
-3-


Học viện Kỹ thuật Mật mã

ĐỒ ÁN TỐT NGHIỆP

TÀI LIỆU THAM KHẢO............................................................................110
PHỤ LỤC 110
A. CHƯƠNG TRÌNH CHẶN BẮT VÀ PHÂN TÍCH GÓI TIN..............111
A.1. Các bước làm việc với SharpPcap của chương trình......................111
A.2. Các lớp của chương trình................................................................113
A.3. Các hàm xử lý chính của chương trình...........................................114
B. CHƯƠNG TRÌNH PHÁT HIỆN XÂM NHẬP THÔNG MINH..........115
B.1. Các lớp của chương trình................................................................115
B.2. Các hàm xử lý chính của chương trình............................................116
B.3. Demo một tập mẫu học để training cho chương trình.....................118

DANH MỤC CÁC TỪ VIẾT TẮT

-4-



Học viện Kỹ thuật Mật mã

Ký hiệu

ĐỒ ÁN TỐT NGHIỆP

Thuật ngữ

Ý nghĩa

TCP/IP

Transmission Control
Protocol/Internet Protocol

Bộ giao thức liên mạng

SNA

Systems Network
Architecture

Kiến trúc mạng do IBM tạo ra

DECnet

Digital Equipment
Corporation protocol suite

Bộ giao thức mạng độc quyền

của hãng Digital Equipment
Corporation

ARPANET Advanced Research
Projects Agency Network

Mạng lưới cơ quan với các đề án
nghiên cứu tân tiến

OSI

Open Systems
Interconnection

Mô hình tham chiếu kết nối các
hệ thống mở

PDU

Protocol Data Unit

Đơn vị dữ liệu giao thức

WAN

Wide Area Network

Mạng diện rộng

FDDI


Fiber Distributed Data
Interface

Giao diện Dữ liệu Phân bố theo
Cáp sợi quang

ATM

Asynchronous Transfer
Mode

Chế độ truyền không đồng bộ

DoD

Department of Defense

Mô hình mạng của Bộ Quốc
phòng Mỹ

FTP

File transfer Protocol

Giao thức truyền tập tin

SMTP

Simple Mail Transfer

Protocol

giao thức truyền tải thư tín đơn
giản

DHCP

Dynamic Host
Configuration Protocol

Giao thức cấu hình địa chỉ động
cho các host

DNS

Domain Name System

Hệ thống dịch vụ tên miền

SNMP

Simple Network

Giao thức quản lý mạng đơn

-5-


Học viện Kỹ thuật Mật mã


ĐỒ ÁN TỐT NGHIỆP

Management Protocol

giản

HTTP

HyperText Transfer
Protocol

Giao thức truyền tải siêu văn bản

WWW

World Wide Web

mạng lưới toàn cầu

UDP

User Datagram Protocol

Giao thức gói dữ liệu người
dùng

TCP

Transmission Control
Protocol


Giao thức điều khiển truyền dẫn

IP

Internet Protocol

Giao thức liên mạng

ARP

Address Resolution
Protocol

Giao thức phân giải địa chỉ

ICMP

Internet Control Message
Protocol

Giao thức thông báo điểu khiển
mạng

IGMP

Internet Group
Management Protocol

Giao thức quản lý nhóm mạng


MAC

Media Access Control

Giao thức điều khiển truy nhập
môi trường

LAN

Local Area Network

Mạng máy tính cục bộ

IEEE

Institute of Electrical and
Electronics Engineer

Viện kỹ nghệ Điện và Điện Tử

CRC

cyclic redundancy check

Mã sửa sai dự phòng

CSMA/CD Carrier Sense Multiple
Access with Collision
Detect


Đa truy cập cảm nhận sóng
mang

RARP

Reserve Address
Resolution Protocol

Giao thức phân giải địa chỉ
ngược

PING

Packet internet gropher

Cộng cụ kiểm tra kết nối mạng

-6-


Học viện Kỹ thuật Mật mã

ĐỒ ÁN TỐT NGHIỆP

TTL

Time To Live

Thời gian sống của gói tin


MTU

Maximum Transmission
Unit

Đơn vị truyền tải dữ liệu ngược

DPC

Deep Packet Capture

Là hành động chặn bắt toàn bộ
các gói tin trên mạng

DPI

Deep Packet Inspection

Kiểm tra và phát hiện các hiện
tượng mạng

POP

Post Office Protocol

Giao thức nhận thư

NNTP


Network News Transfer
Protocol

Giao thức chuyển tin trong mạng
máy tính

IMAP

Internet Message Access
Protocol

Giao thức nhận thư, phiên bản
mới của POP

API

Application Programming
Interface

Giao diện lập trình ứng dụng

Pcap

packet capture

Thư viện chứa giao diện lập
trình ứng dụng dùng cho việc
xây dựng các chương trình bắt
gói tin


SSL

Sercure Socket Layer

Giao thức truyền tải an toàn
trong mạng máy tính

SSH

Sercure Shell

Giao thức kết nối từ xa an toàn

CLR

Common Language
Runtime

Môi trường phát triển ứng dụng
chung

IDS

Intrusion Detection System Hệ thống phát hiện xâm nhập

IPS

Intrusion Prevention
Systems


Hệ thống phòng chống xâm
nhập

MEM

Maximum Entropy Model

Mô hình độ hỗn loạn cực đại

GIS

Generalized Iterative

Thuật toán lặp tổng quát

-7-


Học viện Kỹ thuật Mật mã

ĐỒ ÁN TỐT NGHIỆP

Scaling
IIS

Improved Iterative Scaling

Thuật toán lặp mở rộng

DANH MỤC CÁC BẢNG

Trang
MỤC LỤC 1
DANH MỤC CÁC TỪ VIẾT TẮT..................................................................4
DANH MỤC CÁC BẢNG...............................................................................8
DANH MỤC CÁC HÌNH VẼ........................................................................12
LỜI MỞ ĐẦU................................................................................................16
Chương 1 18
1.1. TỔNG QUAN HỆ THỐNG MẠNG TCP/IP........................................18
1.1.1. Khái niệm mạng máy tính...............................................................18
1.1.2. Kiến trúc phân tầng của mạng máy tính..........................................19
1.1.3. Mô hình tham chiếu OSI.................................................................21
-8-


Học viện Kỹ thuật Mật mã

ĐỒ ÁN TỐT NGHIỆP

1.1.4. Mô hình TCP/IP..............................................................................24
1.1.5. So sánh giữa mô hình OSI và TCP/IP.............................................25
1.2. TÌM HIỂU VỀ MÔ HÌNH TCP/IP.......................................................26
1.2.1. Cấu trúc phân tầng của mô hình TCP/IP.........................................26
1.2.2. Quá trình truyền nhận dữ liệu trong TCP/IP...................................29
1.2.3. Sơ lược chức năng từng tầng trong mô hình TCP/IP......................30
1.2.4. Các giao thức chính trong mô hình TCP/IP và khuôn dạng dữ liệu
tương ứng..................................................................................................31
Chương 2 43
2.1. CÁC KHÁI NIỆM................................................................................43
2.1.1. Packet..............................................................................................43
2.1.2. Network Traffic...............................................................................43

2.1.3. Packet capture.................................................................................43
2.1.4. Packet Analyzer (Sniffer)................................................................44
2.2. ỨNG DỤNG CỦA VIỆC CHẶN BẮT GÓI TIN.................................44
2.2.1. Khả năng.........................................................................................44
2.2.2. Mục đích của việc chặn bắt gói tin..................................................45
2.3. CÁC THÀNH PHẦN CHÍNH CỦA MỘT CHƯƠNG TRÌNH CHẶN
BẮT GÓI TIN..............................................................................................45
2.3.1. Thành phần phần cứng....................................................................45
2.3.2. Thành phần Capture driver..............................................................46
2.3.3. Thành phần Buffer:.........................................................................46
2.3.4. Thành phần Real-time analysis.......................................................46
2.3.5. Thành phần Decode.........................................................................46
2.3.6. Thành phần Packet editting/transmission........................................46
2.4. CÁCH THỨC HOẠT ĐỘNG CỦA VIỆC CHẶN BẮT GÓI TIN......46
-9-


Học viện Kỹ thuật Mật mã

ĐỒ ÁN TỐT NGHIỆP

2.4.1. Theo dõi Network Traffic...............................................................46
2.4.2. Phân tích Network Traffic...............................................................46
2.5. CÁC PHƯƠNG PHÁP CHẶN BẮT GÓI TIN....................................49
2.5.1. Mức hệ điều hành (Socket, Raw Socket)........................................49
2.5.2. Mức Network Adapter (Pcap).........................................................50
2.5.3. So sánh Raw Socket và Pcap..........................................................51
2.6. PHÒNG CHỐNG SNIFFER TRÊN MẠNG MÁY TÍNH...................53
2.6.1. Phát hiện sniffer trong mạng...........................................................53
2.6.2. Ngăn chặn sniffer............................................................................54

2.6.3. Một số chương trình phát hiện sniffer.............................................54
Chương 3 55
3.1. HƯỚNG THỰC HIỆN CHƯƠNG TRÌNH..........................................55
3.2. LỰA CHỌN PHƯƠNG PHÁP VÀ NỀN TẢNG XÂY DỰNG
CHƯƠNG TRÌNH.......................................................................................58
3.2.1. Lựa chọn ngôn ngữ lập trình...........................................................58
3.2.2. Lựa chọn phương pháp chặn bắt gói tin..........................................59
3.3. THƯ VIỆN WINPCAP VÀ SHARPPCAP..........................................60
3.3.1. WinPcap..........................................................................................60
3.3.2. SharpPcap........................................................................................62
3.4. PHÂN TÍCH THIẾT KẾ CHƯƠNG TRÌNH.......................................72
3.4.1. Các chức năng chính.......................................................................72
3.4.2. Phân tích xây dựng các chức năng chính........................................73
3.5. CHƯƠNG TRÌNH HOÀN THIỆN.......................................................80
3.5.1. Mô tả...............................................................................................80
3.5.2. Giao diện chương trình...................................................................81

- 10 -


Học viện Kỹ thuật Mật mã

ĐỒ ÁN TỐT NGHIỆP

Chương 4 85
4.1. Ý TƯỞNG CHUNG CHO VIỆC THỰC HIỆN PHÁT HIỆN XÂM
NHẬP THÔNG MINH................................................................................85
4.2. MÔ HÌNH MAXIMUM ENTROPY....................................................86
4.2.1. Khái niệm Entropy..........................................................................86
4.2.2. Giới thiệu mô hình học thống kê Maximum Entropy (ME)...........87

4.2.3. Các thuật toán xác định tham số trong mô hình Maximum Entropy.
...................................................................................................................90
4.2.4. Học máy theo mô hình Maximum Entropy dựa trên thuật toán GIS.
...................................................................................................................93
4.3. XÂY DỰNG CHƯƠNG TRÌNH PHÁT HIỆN XÂM NHẬP THÔNG
MINH...........................................................................................................97
4.3.1. Lựa chọn thư viện hỗ trợ thuật toán GIS.........................................97
4.3.2. Giới thiệu về thư viện SharpEntropy..............................................97
4.3.3. Làm việc với SharpEntropy..........................................................101
4.3.4. Phân tích thiết kế chương trình.....................................................102
KẾT LUẬN 107
TÀI LIỆU THAM KHẢO............................................................................110
PHỤ LỤC 110
A. CHƯƠNG TRÌNH CHẶN BẮT VÀ PHÂN TÍCH GÓI TIN..............111
A.1. Các bước làm việc với SharpPcap của chương trình......................111
A.2. Các lớp của chương trình................................................................113
A.3. Các hàm xử lý chính của chương trình...........................................114
B. CHƯƠNG TRÌNH PHÁT HIỆN XÂM NHẬP THÔNG MINH..........115
B.1. Các lớp của chương trình................................................................115
B.2. Các hàm xử lý chính của chương trình............................................116
B.3. Demo một tập mẫu học để training cho chương trình.....................118

- 11 -


Học viện Kỹ thuật Mật mã

ĐỒ ÁN TỐT NGHIỆP

DANH MỤC CÁC HÌNH VẼ

Trang
MỤC LỤC 1
DANH MỤC CÁC TỪ VIẾT TẮT..................................................................4
DANH MỤC CÁC BẢNG...............................................................................8
DANH MỤC CÁC HÌNH VẼ........................................................................12
LỜI MỞ ĐẦU................................................................................................16
Chương 1 18
1.1. TỔNG QUAN HỆ THỐNG MẠNG TCP/IP........................................18
1.1.1. Khái niệm mạng máy tính...............................................................18
1.1.2. Kiến trúc phân tầng của mạng máy tính..........................................19
1.1.3. Mô hình tham chiếu OSI.................................................................21
1.1.4. Mô hình TCP/IP..............................................................................24
1.1.5. So sánh giữa mô hình OSI và TCP/IP.............................................25
1.2. TÌM HIỂU VỀ MÔ HÌNH TCP/IP.......................................................26
- 12 -


Học viện Kỹ thuật Mật mã

ĐỒ ÁN TỐT NGHIỆP

1.2.1. Cấu trúc phân tầng của mô hình TCP/IP.........................................26
1.2.2. Quá trình truyền nhận dữ liệu trong TCP/IP...................................29
1.2.3. Sơ lược chức năng từng tầng trong mô hình TCP/IP......................30
1.2.4. Các giao thức chính trong mô hình TCP/IP và khuôn dạng dữ liệu
tương ứng..................................................................................................31
Chương 2 43
2.1. CÁC KHÁI NIỆM................................................................................43
2.1.1. Packet..............................................................................................43
2.1.2. Network Traffic...............................................................................43

2.1.3. Packet capture.................................................................................43
2.1.4. Packet Analyzer (Sniffer)................................................................44
2.2. ỨNG DỤNG CỦA VIỆC CHẶN BẮT GÓI TIN.................................44
2.2.1. Khả năng.........................................................................................44
2.2.2. Mục đích của việc chặn bắt gói tin..................................................45
2.3. CÁC THÀNH PHẦN CHÍNH CỦA MỘT CHƯƠNG TRÌNH CHẶN
BẮT GÓI TIN..............................................................................................45
2.3.1. Thành phần phần cứng....................................................................45
2.3.2. Thành phần Capture driver..............................................................46
2.3.3. Thành phần Buffer:.........................................................................46
2.3.4. Thành phần Real-time analysis.......................................................46
2.3.5. Thành phần Decode.........................................................................46
2.3.6. Thành phần Packet editting/transmission........................................46
2.4. CÁCH THỨC HOẠT ĐỘNG CỦA VIỆC CHẶN BẮT GÓI TIN......46
2.4.1. Theo dõi Network Traffic...............................................................46
2.4.2. Phân tích Network Traffic...............................................................46
2.5. CÁC PHƯƠNG PHÁP CHẶN BẮT GÓI TIN....................................49
- 13 -


Học viện Kỹ thuật Mật mã

ĐỒ ÁN TỐT NGHIỆP

2.5.1. Mức hệ điều hành (Socket, Raw Socket)........................................49
2.5.2. Mức Network Adapter (Pcap).........................................................50
2.5.3. So sánh Raw Socket và Pcap..........................................................51
2.6. PHÒNG CHỐNG SNIFFER TRÊN MẠNG MÁY TÍNH...................53
2.6.1. Phát hiện sniffer trong mạng...........................................................53
2.6.2. Ngăn chặn sniffer............................................................................54

2.6.3. Một số chương trình phát hiện sniffer.............................................54
Chương 3 55
3.1. HƯỚNG THỰC HIỆN CHƯƠNG TRÌNH..........................................55
3.2. LỰA CHỌN PHƯƠNG PHÁP VÀ NỀN TẢNG XÂY DỰNG
CHƯƠNG TRÌNH.......................................................................................58
3.2.1. Lựa chọn ngôn ngữ lập trình...........................................................58
3.2.2. Lựa chọn phương pháp chặn bắt gói tin..........................................59
3.3. THƯ VIỆN WINPCAP VÀ SHARPPCAP..........................................60
3.3.1. WinPcap..........................................................................................60
3.3.2. SharpPcap........................................................................................62
3.4. PHÂN TÍCH THIẾT KẾ CHƯƠNG TRÌNH.......................................72
3.4.1. Các chức năng chính.......................................................................72
3.4.2. Phân tích xây dựng các chức năng chính........................................73
3.5. CHƯƠNG TRÌNH HOÀN THIỆN.......................................................80
3.5.1. Mô tả...............................................................................................80
3.5.2. Giao diện chương trình...................................................................81
Chương 4 85
4.1. Ý TƯỞNG CHUNG CHO VIỆC THỰC HIỆN PHÁT HIỆN XÂM
NHẬP THÔNG MINH................................................................................85
4.2. MÔ HÌNH MAXIMUM ENTROPY....................................................86

- 14 -


Học viện Kỹ thuật Mật mã

ĐỒ ÁN TỐT NGHIỆP

4.2.1. Khái niệm Entropy..........................................................................86
4.2.2. Giới thiệu mô hình học thống kê Maximum Entropy (ME)...........87

4.2.3. Các thuật toán xác định tham số trong mô hình Maximum Entropy.
...................................................................................................................90
4.2.4. Học máy theo mô hình Maximum Entropy dựa trên thuật toán GIS.
...................................................................................................................93
4.3. XÂY DỰNG CHƯƠNG TRÌNH PHÁT HIỆN XÂM NHẬP THÔNG
MINH...........................................................................................................97
4.3.1. Lựa chọn thư viện hỗ trợ thuật toán GIS.........................................97
4.3.2. Giới thiệu về thư viện SharpEntropy..............................................97
4.3.3. Làm việc với SharpEntropy..........................................................101
4.3.4. Phân tích thiết kế chương trình.....................................................102
KẾT LUẬN 107
TÀI LIỆU THAM KHẢO............................................................................110
PHỤ LỤC 110
A. CHƯƠNG TRÌNH CHẶN BẮT VÀ PHÂN TÍCH GÓI TIN..............111
A.1. Các bước làm việc với SharpPcap của chương trình......................111
A.2. Các lớp của chương trình................................................................113
A.3. Các hàm xử lý chính của chương trình...........................................114
B. CHƯƠNG TRÌNH PHÁT HIỆN XÂM NHẬP THÔNG MINH..........115
B.1. Các lớp của chương trình................................................................115
B.2. Các hàm xử lý chính của chương trình............................................116
B.3. Demo một tập mẫu học để training cho chương trình.....................118

- 15 -


Học viện Kỹ thuật Mật mã

ĐỒ ÁN TỐT NGHIỆP

LỜI MỞ ĐẦU

Ngày nay, sự phát triển của công nghê thông tin và hệ thống mạng máy
tính đang diễn ra mạnh mẽ trên toàn thế giới cũng như ở Việt Nam. Những
ứng dụng của chúng đã và đang có mặt ở mọi nơi trong đởi sống kinh tế xã
hội. Trong khi công nghệ mạng và Internet mang lại nhiều cơ hội phát triển và
cạch tranh mới cho các doanh nghiệp thì đồng thời cũng đặt ra những vẫn đề
về nhu cầu cần phải bảo vệ hệ thống máy tính trước các mối đe dọa về mất an
toàn trong hoàn cảnh mà sự phát triển của những hoạt động phá hoại hệ thống
máy tính cũng song hành cùng sự phát triển của hệ thống mạng và Internet.
Song song với sự phát triển mạnh mẽ của công nghê thông tin cũng như
các hệ thống phát hiện và phòng chống xâm nhập thì các kỹ thuật tấn công,
xâm nhập các hệ thống của các tổ chức cũng ngày càng tinh vi hơn, đa dạng
hơn. Vì vậy vấn đề đặt ra là cần phải xây dựng những hệ thống phát hiện và
phòng chống những tấn công, xâm nhập trái phép để có thể ứng phó với các
nguy cơ mất an ninh đã và đang xảy ra hiện nay. Và một trong những kỹ thuật
cơ bản của các hệ thống phòng chống và phát hiện xâm nhập hoặc firewall là
kỹ thuật chặn bắt và phân tích gói tin trên mạng máy tính.
Nhận thức được tầm quan trọng của vấn đề bảo mật và an ninh thông tin
hiện nay nên em đã quyết định chọn đề tài: “Tìm hiểu kỹ thuật chặn bắt và
phân tích gói tin nhằm mục đích phục vụ phát hiện xâm nhập trên mạng máy
tính.”. Với hi vọng rằng đề tài này sẽ giúp em nâng cao vốn hiểu biết và có
- 16 -


Học viện Kỹ thuật Mật mã

ĐỒ ÁN TỐT NGHIỆP

được cái nhìn tổng quát nhất về vấn đề bảo mật hiện nay. Đồng thời, thông
qua việc tìm hiểu về kỹ thuật chặn bắt và phân tích gói tin giúp em có thể hiểu
sâu về cơ chế, cấu trúc cũng như cách thức hoạt động cơ bản của các hệ thống

phòng chống và phát hiện xâm nhập. Đây sẽ là cơ hội tốt và là tiền đề để em
có thể đi sâu và rộng hơn về vấn đề bảo mật trong tương lai.
Đề tài chủ yếu tập trung giới thiệu về cách thức hoạt động của các giao
thức mạng, giới thiệu về kỹ thuật chặn bắt và phân tích gói tin, xây dựng một
chương trình chặn bắt và phân tích gói tin, đồng thời đi vào tìm hiểu và xây
dựng thử nghiệm một hệ thống phát hiện xâm nhập thông minh dựa trên kết
quả thu được từ việc chặn bắt và phân tích gói tin. Cấu trúc chính của đề tài
bao gồm các phần sau:
Lời mở đầu: Nêu lên tầm quan trọng và xu hướng phát triển của vấn đề
bảo mật hiện nay và giới thiệu về đề tài.
Chương 1: Cơ sở lý thuyết về mạng máy tính.
Chương 2: Kỹ thuật chặn bắt gói tin trên mạng máy tính.
Chương 3: Xây dựng chương trình chặn bắt gói tin.
Chương 4: Ứng dụng kỹ thuật chặn bắt gói tin để xây dựng chương trình
phát hiện xâm nhập thông minh.
Kết luận: Đánh giá tổng kết về đề tài cũng như đưa ra một số giải pháp.
Do kinh nghiệm chưa nhiều nên đề tài không tránh khỏi những thiếu sót,
sơ xuất, nên em rất mong nhận được những nhận xét đánh giá của các thầy cô
và sự đóng góp ý kiến của các bạn để có thể rút ra được kinh nghiệm cho việc
học tập, làm việc và nghiên cứu sau này. Em cũng xin chân thành cảm ơn
Thạc sĩ Nguyễn Anh Tuấn và Thạc sĩ Nguyễn Quốc Toàn đã tận tình hướng
dẫn em thực hiện đề tài này.

SV thực hiện

- 17 -


Học viện Kỹ thuật Mật mã


ĐỒ ÁN TỐT NGHIỆP

Chương 1
CƠ SỞ LÝ THUYẾT VỀ MẠNG MÁY TÍNH
1.1. TỔNG QUAN HỆ THỐNG MẠNG TCP/IP.
1.1.1. Khái niệm mạng máy tính.
Từ những năm 1960 đã xuất hiện các mạng nối các máy tính và các
Terminal để sử dụng chung nguồn tài nguyên, giảm chi phí khi muốn thông
tin trao đổi số liệu và sử dụng trong công tác văn phòng một cách tiện lợi.
Với việc tăng nhanh các máy tính mini và các máy tính cá nhân làm tăng
yêu cầu truyền số liệu giữa các máy tính, giữa các terminal, và giữa các
terminal với máy tính là một trong những động lực thúc đẩy sự ra đời và phát
triển ngày càng mạnh mẽ các mạng máy tính. Quá trình hình thành mạng máy
tính có thể tóm tắt qua các giai đoạn sau:
- Giai đoạn các terminal nối trực tiếp với máy tính: Đây là giai đoạn đầu
tiên của mạng máy tính, để tận dụng công suất của máy tính người ta ghép nối
các terminal vào một máy tính được gọi là các máy tính trung tâm.
- Giai đoạn các bộ tiền xử lý (Prontal): Ở giai đoạn 1 máy tính trung tâm
quản lý truyền tin tới các terminal, ở giai đoạn 2 máy tính trung tâm quản lý
truyền tin tới các bộ tập trung qua các bộ ghép nối điều khiển đường truyền.
Ta có thể thay thế bộ ghép nối đường truyền bằng các máy tính nini gọi là
prontal, đó chính là bộ tiền xử lý.
- 18 -


Học viện Kỹ thuật Mật mã

ĐỒ ÁN TỐT NGHIỆP

- Giai đoạn mạng máy tính:

+ Vào những năm 1970 người ta bắt đầu xây dựng mạng truyền thông
trong đó các thành phần chính của nó là các nút mạng gọi là bộ chuyển mạch
dùng để hướng thông tin tới đích.
+ Các mạng được nối với nhau bằng đường truyền còn các máy tính
xử lý thông tin của người dùng hoặc các trạm cuối được nối trực tiếp vào các
nút mạng để khi cần thì trao đổi thông tin qua mạng. Các nút mạng thương là
máy tính nên đồng thời đóng vai trò của người sử dụng.
+ Chức năng của nút mạng là quản lý truyền tin, quản lý mạng.
Như vậy các máy tính ghép nối với nhau hình thành mạng máy tính, ở
đây ta thấy mạng truyền thông cũng ghép nối các máy tính với nhau nên khái
niệm mạng maý tính và mạng truyền thông có thể không phân biệt.
Việc hình thành mạng máy tính nhằm đạt các mục đích sau:
- Tận dụng và làm tăng giá trị của tài nguyên.
- Chinh phục khoảng cách.
- Tăng chất lượng và hiệu quả khai thác và xử lý thông tin.
- Tăng độ tin cậy của hệ thống nhờ khả năng thay thế khi xảy ra sự cố
đối với một máy tính nào đó.
Như vậy: Mạng máy tính là tập hợp các máy tính được ghép với nhau
bởi các đường truyền vật lý theo một kiến trúc nào đó.
1.1.2. Kiến trúc phân tầng của mạng máy tính.
Để giảm độ phức tạp trong thiết kế và cài đặt mạng, các mạng máy tính
được tổ chức thiết kế theo kiểu phân tầng (layering). Trong hệ thống thành
phần của mạng được tổ chức thành một cấu trúc đa tầng, mỗi tầng được xây
dựng trên tầng trước đó; mỗi tầng sẽ cung cấp một số dịch vụ cho tầng cao
hơn. Số lượng các tầng cũng như chức năng của mỗi tầng là tuỳ thuộc vào nhà
thiết kế (Ví dụ cấu trúc phân tầng của mạng SNA của IBM, mạng DECnet của
Digital, mạng ARPANET. .. là có sự khác nhau). Nguyên tắc cấu trúc của
mạng phân tầng là: mỗi hệ thống trong một mạng đều có cấu trúc phân tầng

- 19 -



Học viện Kỹ thuật Mật mã

ĐỒ ÁN TỐT NGHIỆP

(Số lượng tầng, chức năng của mỗi tầng là như nhau). Mục đích của mỗi tầng
là để cung cấp một số dịch vụ nhất định cho tầng cao hơn.
Tầng i của hệ thống A sẽ hội thoại với tầng i của hệ thống B, các quy tắc
và quy ước dùng trong hội thoại gọi là giao thức mức I.
Giữa hai tầng kề nhau tồn tại một giao diện (interface) xác định các thao
tác nguyên thuỷ của tầng dưới cung cấp lên tầng trên.
Trong thực tế dữ liệu không truyền trực tiếp từ tầng i của hệ thống này
sang tầng i của hệ thống khác (trừ tầng thấp nhất trực tiếp sử dụng đường
truyền vật lý để truyền các xâu bít (0,1) từ hệ thống này sang hệ thống khác).
Dữ liệu được truyền từ hệ thống gửi (sender) sang hệ thống nhận (receiver)
bằng đường truyền vật lý và cứ như vậy dữ liệu lại đi ngược lên các tầng trên.
Như vậy khi hai hệ thống liên kết với nhau, chỉ tầng thấp nhất mới có liên kết
vật lý còn ở tầng cao hơn chỉ có liên kết logic (liên kết ảo ) được đưa vào để
hình thức hoá các hoạt động của mạng thuận tiện cho việc thiết kế và cài đặt
các phần mềm truyền thông. Như vậy để viết chương trình cho tầng N, phải
biết tầng N+1 cần gì và tầng N -1 có thể làm được gì.

- 20 -


Học viện Kỹ thuật Mật mã

ĐỒ ÁN TỐT NGHIỆP


Hình 1.1: Minh họa kiến trúc phân tầng tổng quát.
Nguyên tắc để xây dựng kiến trúc phân tầng như sau:
- Để đơn giản cần hạn chế số lượng các tầng.
- Tạo ranh giới các tầng sao cho các tương tác và mô tả các dịch vụ là tối
thiểu.
- Chia các tầng sao cho các chức năng khác nhau được tách biệt với
nhau, và các tầng sử dụng các loại công nghệ khác nhau cũng được tách biệt.
- Các chức năng giống nhau được đặt vào cùng một tầng.
- Chọn ranh giới các tầng theo kinh nghiệm đã được chứng tỏ là thành
công.
- Các chức năng được định vị sao cho có thể thiết kế lại tầng mà ảnh
hưởng ít nhất đến các tầng kế nó.
- Tạo ranh giới giữa các tầng sao cho có thể chuẩn hóa giao diện tương
ứng.
- Tạo một tầng khi dữ liệu được xử lý một cách khác biệt.
- Cho phép thay đổi chức năng hoặc giao thức trong một tầng không làm
ảnh hưởng đến các tầng khác.
- Mỗi tầng chỉ có các ranh giới (giao diện) với các tầng kề trên và kề
dưới nó.
- Có thể chia một tầng thành các tầng con khi cần thiết.
- Tạo tầng con để cho phép giao diện với các tầng kế cận.
- Cho phép hủy bỏ các tầng con nếu thấy không cần thiết.
1.1.3. Mô hình tham chiếu OSI.
1.1.3.1. Khái quát về mô hình OSI.

- 21 -


Học viện Kỹ thuật Mật mã


ĐỒ ÁN TỐT NGHIỆP

Hình 1.2: Mô hình OSI.
Mô hình tham chiếu OSI[1] là một cấu trúc phả hệ có 7 tầng, nó xác định
các yêu cầu cho sự giao tiếp giữa hai máy tính. Mô hình này đã được định
nghĩa bởi Tổ chức tiêu chuẩn hoá quốc tế (International Organization for
Standardization) trong tiêu chuẩn số 7498-1 (ISO standard 7498-1).
Mục đích của mô hình là cho phép sự tương thích giữa các hệ máy đa
dạng được cung cấp bởi các nhà sản xuất khác nhau. Mô hình cho phép tất cả
các thành phần của mạng hoạt động hòa đồng với nhau. Vào những năm cuối
thập niên 1980, ISO đã tiến cử việc thực thi mô hình OSI như một tiêu chuẩn
mạng.
Hiện nay chỉ có một phần của mô hình OSI được sử dụng. Nhiều người
cho rằng các đặc tả của mô hình OSI quá phức tạp và việc cài đặt đầy đủ các
chức năng của nó sẽ đòi hỏi nhiều thời gian, mặc dù có nhiều người nhiệt tình
ủng hộ mô hình OSI.
1.1.3.2. Phương thức hoạt động của mô hình OSI.
Mô hình tham chiếu OSI được chia làm 7 tầng, mỗi tầng đều có chức
năng và nhiệm vụ riêng biệt, đó là:
- Tầng ứng dụng (Application ).
- Tầng trình diễn (Presentation).
- 22 -


Học viện Kỹ thuật Mật mã

ĐỒ ÁN TỐT NGHIỆP

- Tầng phiên (Session).
- Tầng giao vận (Transport).

- Tầng mạng (Network ).
- Tầng liên kết dữ liệu (Data Link).
- Tầng vật lý (Physical).
Ở mỗi tầng mô hình trong tầng ISO, có hai phương thức hoạt động chính
được áp dụng đó là: phương thức hoạt động có kết nối (connection-oriented)
và không kết nối (connectionless).
- Với phương thức có kết nối (connection-oriented):
+ Trước khi truyền dữ liệu cần thiết phải thiết lập một liên kết logic
giữa các thực thể cùng tầng.
+ Trong phương thức có kết nối quá trình truyền dữ liệu phải trải qua
ba giai đoạn theo thứ tự thời gian.
* Thiết lập kết nối: hai thực thể đồng mức ở hai hệ thống thương
lượng với nhau về tập các tham số sẽ được sử dụng trong giai đoạn sau.
* Truyền dữ liệu: dữ liệu được truyền với các cơ chế kiểm soát và
quản lý.
* Huỷ bỏ kết nối (logic): giải phóng các tài nguyên hệ thống đã
cấp phát cho liên kết để dùng cho các liên kết khác.
+ Tương ứng với ba giai đoạn trao đổi, ba thủ tục cơ bản được sử
dụng. Mỗi thủ tục trên sẽ dùng các hàm nguyên thuỷ (Request, Indication,
Response, Confirm) để cấu thành các hàm cơ bản của giao thức ISO.
- Phương thức không kết nối (connectionless):
+ Với phương thức không kết nối thì không cần lập liên kết logic và
mỗi đơn vị dữ liệu được truyền là độc lập với các đơn vị dữ liệu trước hoặc
sau nó.
+ Phương thức không kết nối chỉ có duy nhất một giai đoạn đó là:
truyền dữ liệu.

- 23 -



Học viện Kỹ thuật Mật mã

ĐỒ ÁN TỐT NGHIỆP

So sánh hai phương thức hoạt động trên chúng ta thấy rằng phương thức
hoạt động có kết nối cho phép truyền dữ liệu tin cậy, do đó có cơ chế kiểm
soát và quản lý chặt chẽ từng kết nối logic. Nhưng nó phức tạp và khó cài đặt.
Ngược lại, phương thức không kết nối cho phép các PDU (Protocol Data
Unit) được truyền theo nhiều đường khác nhau để đi đến đích, thích nghi với
sự thay đổi trạng thái của mạng, song lại trả giá bởi sự khó khăn gặp phải khi
tập hợp các PDU để di chuyển tới người sử dụng.
Hai tầng kề nhau có thể không nhất thiết phải sử dụng cùng một phương
thức hoạt động mà có thể dùng hai phương thức khác nhau.

1.1.4. Mô hình TCP/IP.
1.1.4.1. Khái quát về mô hình TCP/IP.
Để các máy tính liên lạc được với nhau qua mạng thì chúng phải sử dụng
cùng một ngôn ngữ hay còn gọi là giao thức (Protocol). Giao thức là một hệ
các luật và chuẩn cho phép các máy tính trong mạng liên lạc với nhau.
TCP/IP[2] (Transmission Control Protocol/Internet Protocol) là một bộ
gồm nhiều giao thức truyền thông khác nhau. Đây là bộ giao thức phổ biến
nhất mà Internet và hầu hết các mạng máy tính thương mại hiện đang sử
dụng. Bộ giao thức này được đặt tên theo hai giao thức chính của nó là TCP
và IP. Chúng cũng là hai giao thức đầu tiên được định nghĩa trong bộ giao
thức TCP/IP.
Bộ giao thức TCP/IP có thể được coi là một tập hợp các tầng. Mỗi tầng
trong đó giải quyết một tập hợp các vấn đề có liên quan đến việc truyền, nhận
dữ liệu, chúng cung cấp các dịch vụ cho các giao thức tầng trên và sử dụng
các dịch vụ của các giao thức tầng thấp hơn. Về mặt lôgic, các tầng ở phía
trên gần với người dùng hơn và làm việc với dữ liệu trừu tượng hơn, chúng

dựa vào các giao thức tầng dưới để biến đổi dữ liệu thành các dạng mà cuối
cùng có thể được truyền đi dưới dạng các tín hiệu điện.
- 24 -


Học viện Kỹ thuật Mật mã

ĐỒ ÁN TỐT NGHIỆP

TCP/IP được thiết kế cho hai mục tiêu chính:
- Cho phép truyền thông qua các đuờng dây của mạng diện rộng (Wide
Area Network - WAN).
- Cho phép truyền thông giữa các môi trường đa dạng.
1.1.4.2. Đặc điểm của mô hình TCP/IP.
- Là bộ giao thức chuẩn, mở và sẵn có, vì: nó không thuộc sở hữu của
bất cứ một tổ chức nào; các đặc tả thì sẵn có và rộng rãi. Vì vậy bất kì ai cũng
có thể xây dựng phần mềm truyền thông qua mạng máy tính dựa trên nó.
- TCP/IP độc lập với phần cứng mạng vật lý, điều này cho phép TCP/IP
có thể được dùng để kết nối nhiều loại mạng có kiến trúc vật lý khác nhau
như: Ethernet, Tokenring, FDDI, X25, ATM...(Trong phạm vi đề tài ta chỉ xét
tới Ethernet).
- TCP/IP dùng địa chỉ IP để định danh các host trên mạng tạo ra một
mạng ảo thống nhất khi kết nối mạng.
- Các giao thức lớp cao được chuẩn hoá thích hợp và sẵn có với người
dùng.
1.1.5. So sánh giữa mô hình OSI và TCP/IP.
Do nhiều nguyên nhân như lịch sử, chi phí… nên bộ giao thức TCP/IP
đã được sử dụng rất lâu trước khi mô hình OSI ra đời. Cũng do vậy nên mô
hình OSI không được sử dung rộng rãi trong thực tế mà là mô hình học thuật
dùng để so sánh với mô hình thực tế là TCP/IP. Hai cái có liên quan ít nhiều,

song không phải là hoàn toàn giống nhau. Điểm khác biệt đầu tiên dễ thấy
nhất là số lượng của các tầng. Trong khi bộ giao thức TCP/IP có 4 thì mô
hình OSI có tới 7 tầng với sự khác biệt là 2 tầng mới: tầng phiên và tầng trình
diễn. Nhiều so sánh đã gộp 2 tầng này vào tầng ứng dụng trong bộ giao thức
TCP/IP. Hình vẽ sau đây so sánh các tầng tương ứng lẫn nhau giữa OSI và
TCP/IP:

- 25 -


×