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

Bảo vệ thông tin trên mạng TCP IP

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 (2.03 MB, 118 trang )

Bộ giáo dục và đào tạo
Trường Đại học Bách khoa Hà Nội
=====*****=====

Nguyễn Tú Anh

Đề tài

Bảo vệ thông tin trên mạng tcp/ip

Luận văn thạc sỹ
Ngành: điện tử viễn thông

Người hướng dẫn khoa học: TS. Nguyễn viết nguyên

Hà nội, 11-2004


Môc lôc
LỜI MỞ ĐẦU
CHƯƠNG 1: TỔNG QUAN VỀ MẠNG TCP/IP
I. GIỚI THIỆU MẠNG TCP/IP ................................................................................... 3
I.1. Cấu trúc phân tầng trong họ giao thức TCP/IP ................................................ 3
I.2. Giao thức liên mạng IP................................................................................... 8
I.2.1. Cấu trúc gói IP ................................................................................. 9
I.2.2. Cấu trúc địa chỉ IP. .......................................................................... 11
I.2.3. Phân đoạn các khối dữ liệu .............................................................. 11
I.2.4. Cơ chế truyền gói IP ........................................................................ 11
I.3. Giao thức TCP ................................................................................................ 12
I.3.1. Cấu trúc đoạn dữ liệu TCP ......................................................... 13
I.3.2. Chức năng cơ bản của TCP ........................................................ 14


II. ĐÁNH GIÁ CÁC ĐIỂM YẾU VỀ AN NINH BẢO MẬT TRONG MẠNG
TCP/IP .................................................................................................................................... 18
II.1. Tại sao mạng TCP/IP có nhiều điểm yếu ......................................................... 18
II.2. Các điểm yếu trong mạng TCP/IP ............................................................... 19
II.3. Các giao thức và dịch vụ dễ tấn cơng .......................................................... 20
CHƯƠNG 2: AN TỒN THƠNG TIN TRÊN MẠNG
I. AN TOÀN MẠNG ..................................................................................................................... 22
II. CÁC HÀNH ĐỘNG TẤN CƠNG TRÊN MẠNG .......................................................... 24
II.1. Hành động thăm dị (Probe) ...................................................................................... 25
II.2. Hành động quét (Scan) ............................................................................................... 25

II.3. Hành động hút nạp dữ liệu (Spooling) .................................................................... 25
II.4. Hành động cướp quyền điều khiển hệ thống . ...................................................... 25
II.5. Hành động thu thập các gói tin (Packet Sniffer) ................................................. 26
II.6. Hành động tấn công tứ chối dịch vụ (Denial of Service) .................................. 26
II.7. Hành động giả mạo ..................................................................................................... 26
III. YÊU CẦU ĐẶT RA ĐỐI VỚI HỆ THỐNG BẢO MẬT ............................................ 26


IV. BẢO MẬT TRONG MẠNG TCP/IP ................................................................................ 27
IV.1. Bảo mật lớp ứng dụng .............................................................................................. 27
IV.1.1. Mật mã khóa cá nhân PGP ...................................................................... 27
IV.1.2. S-HTTP (Secure HTTP) .......................................................................... 28
IV.2. Bảo mật lớp giao vận ................................................................................................ 28
IV.2.1. SSL (Security Socket Layer) .................................................................. 28
IV.2.2. SSH (Secure Shell) .................................................................................... 29
IV.2.3. Lọc (Filtering) ............................................................................................ 29
IV.3. Bảo mật lớp mạng ...................................................................................................... 30
IV.3.1. Giao thức bảo mật IP ................................................................................ 30
IV.3.2. ACL (Access Control List) ..................................................................... 31

IV.4. Bảo mật lớp liên kết dữ liệu ..................................................................................... 31
V. CÁC CÔNG NGHỆ BẢO MẬT CHO MẠNG TCP/IP ................................................ 32
CHƯƠNG 3: MỘT SỐ GIẢI PHÁP AN NINH MẠNG CỤ THỂ
I. GIẢI PHÁP BỨC TƯỜNG LỬA - FIREWALL................................................................ 35
I.1. Tại sao phải dùng Firewall ......................................................................................... 35
I.2. Bức tường lửa ................................................................................................................. 36
I.2.1. Khái niệm ........................................................................................................ 36
I.2.2. Các biện pháp bảo vệ liên quan đến Firewall ........................................ 37
I.3. Các thành phần trong hệ thống Firewall ................................................................. 38
I.3.1. Bộ lọc gói dữ liệu .......................................................................................... 38
I.3.2. Bộ lọc phiên và kiểm sốt có trạng thái .................................................. 39
I.3.3. Các cổng ứng dụng ....................................................................................... 39
I.4. Các kiến trúc Firewall thông dụng ........................................................................... 40
I.4.1. Kiến trúc Dual-Homed ............................................................................... 40
I.4.2. Kiến trúc che dấu Host ................................................................................ 41
I.4.3. Kiến trúc che dấu mạng ............................................................................... 43
II. CƠNG NGHỆ MÃ HĨA VÀ CƠ SỞ HẠ TẦNG KHĨA CƠNG KHAI ................. 45
II.1. Bảo vệ thơng tin bằng mật mã ................................................................................. 45
II.1.1. Mã hóa đối xứng .......................................................................................... 46


II.1.2. Mã hóa khơng đối xứng – khóa mã cơng khai .................................... 48
II.1.2.1. Thuật tốn trao đổi khóa Diffie-Hellman ................................... 49
II.1.2.2. Thuật tốn mã hóa RSA................................................................... 50
II.1.3. Chuẩn chữ ký điện tử- DSS (Digital Signaling Standard) ............... 50
II.1.4. Đánh giá ưu nhược điểm của các loại mã hóa ..................................... 52
II.2. Cơ sở hạ tầng khóa cơng khai – PKI (Public Key Infrastructure) .................. 54
II.2.1. Cơ sở hạ tầng khóa cơng khai là gì? ....................................................... 55
II.2.2. Các khái niệm cơ bản trong PKI ............................................................. 56
II.2.2.1. Khóa và các cặp khóa ....................................................................... 57

II.2.2.2. Chứng chỉ ............................................................................................ 57
II.2.3. Cơng nghệ PKI tích hợp trong các ứng dụng như thế nào ............... 59
II.2.4. Các kỹ thuật bảo mật trong PKI .............................................................. 61
II.2.4.1. Mã hóa khóa cơng khai .................................................................... 61
II.2.4.2. Chữ ký điện tử trong PKI ................................................................ 61
II.2.5. Các thành phần trong PKI ......................................................................... 63
II.2.5.1. Certificate Authorities ...................................................................... 63
II.2.5.2. Registration Authorities .................................................................... 65

II.2.5.3.Ứng dụng PKI ..................................................................................... 67
II.2.6. Lựa chọn giải pháp PKI ............................................................................. 67
II.2.7. Ứng dụng PKI cho mạng riêng ảo VPN .............................................. 69
CHƯƠNG 4: ĐỀ XUẤT GIẢI PHÁP BẢO MẬT CHO HỆ THỐNG
MẠNG NGÂN HÀNG ĐẦU TƯ VÀ PHÁT TRIỂN VIỆT NAM -BIDV
I. An toàn mạng ngân hàng .......................................................................................................... 72
I.1. Tầm quan trọng của việc an ninh cho hệ thông ngân hàng .............................. 72
I.2. Tiêu chuẩn an ninh đối hệ thống ngân hàng trong thương mại điện tử .......... 72
II. Hiện trạng và yêu cầu bảo mật hệ thống mạng BIDV ...................................................... 73
II.1. Hiện trạng và mức độ an ninh bảo mật trong mạng BIDV .............................. 73
II.2. Yêu cầu đối với giải pháp bảo mật cho mạng BIDV ......................................... 81
III. Giải pháp bảo mật cụ thể cho mạng BIDV ........................................................................ 82
III.1. Mơ hình bảo mật tổng quát mạng BIDV ............................................................. 82


III.2. Hệ thống bức tường lửa ............................................................................................ 83
IV.3. Thiết lập mạng riêng ảo VPN cho các truy nhập hệ thống từ xa .................. 86
IV.4. Hệ thống dị tìm xâm nhập bất hợp pháp ............................................................ 91
IV.4. Hệ thống xác thực truy nhập ................................................................................... 93
IV.5. Mã hóa thơng tin trên các đường truyền công cộng ......................................... 98
IV.6. Sử dụng các hệ thống giám sát tình trạng an ninh trên mạng ........................ 99

IV.7. Phương pháp bố trí máy chủ có độ an tồn cao cho các ứng dụng Internet 100
IV. Bảo mật cho các ứng dụng và dịch vụ của mạng BIDV ................................................ 104
CHƯƠNG 5: NHẬN XÉT VÀ ĐÁNH GIÁ GIẢI PHÁP
1. Mức độ an ninh bảo mật của giải pháp ................................................................................. 110
2. Khả năng mở rộng trong tương lai ....................................................................................... 110
3.Hạn chế của giải pháp ................................................................................................................. 111
4. Giải pháp bảo mật nâng cao cho dịch vụ mạng BIDV trong tương lai ........................ 111
KẾT LUẬN
TÀI LIỆU THAM KHẢO


TÀI LIỆU THAM KHẢO
1. Network and Internetwork Security - William Stallings
< Prientice Hall International Editions -1995>
2. Firewall Complete - Marcus Goncalves
< McGraw-Hill International - 1998>
3. Bức tường lửa Internet và an ninh mạng - Ths.Trần Quang Cường, PTS.Hồ
Khánh Lâm – NXB Bưu điện, 01-2000.
3. Secure Electronic Commerce - Warwick Ford & Michael S.baum
< Prentice Hall International Editions – 1997>
4. Mission Critical Internet Security
< Source: www.syngress.com>
5. Virtual Private Network - Charlie Scott.Paul Wolfe & Mike Erwin
< Source: www.vpnguide.com>
6. Cisco Network Security - Cisco System, Inc.
< Source: www.cisco.com>
7. Public Key Infrastructure - RSA Security Inc.
< www.rsasecurity.com>
8. Tạp chí tin học ngân hàng – NXB Cục công nghệ tin học ngân hàng



-1Bảo mật thông tin trên mạng TCP/IP

LỜI MỞ ĐẦU
Trong thời đại hội nhập kinh tế toàn cầu, vấn đề về trao đổi thông tin càng
trở nên quan trọng và cấp thiết, việc có được thơng tin chính xác kịp thời là hết sức
quan trọng đối với mọi cá nhân, cũng như các tổ chức và doanh nghiệp. Mạng máy
tính đặc biệt là mạng kết nối dùng công nghệ IP đã giúp cho mọi người tiếp cận,
trao đổi những thông tin mới nhất một cách nhanh chóng, thuận tiện mà cụ thể là
mạng Internet, Intranet, Extranet, cùng các dịch vụ trên nó mang lại cho con người
những lợi ích khơng thể phủ nhận.
Tuy nhiên một vấn đề cần phải giải quyết cho từng cá nhân, hay từng tổ chức khi
dùng công nghệ IP để kết nối mạng là có đảm bảo được vấn đề an ninh bảo mật về
thông tin cũng như hệ thống mạng của họ hay không? Vấn đề an ninh bảo mật
thông tin trên mạng TCP/IP là cái cần được giải quyết đầu tiên khi thiết kế, xây
dựng để đưa một dịch vụ mạng hay một mạng vào hoạt động. Đặc biệt khi mà hàng
ngày có thể liệt kê ra nhiều vụ thử tấn công, hay tấn công của tin tặc vào một mạng
mới cài đặt, hay một trang web mới đưa ra.
Tin tặc ln tìm và dùng nhiều loại tấn công khác nhau, bằng các phương thức khác
nhau trên mạng Internet vào hàng trăm trạm máy lớn nhỏ trên mạng....Số lượng tấn
công hàng năm không hề giảm mà ngày càng tăng và mức độ vi phạm và thiệt hại
ngày càng trầm trọng.
Hiện nay có rất nhiều cơng nghệ và giải pháp an ninh trên mạng TCP/IP, nhưng vấn
đề đặt ra cho người thiết kế và tích hợp hệ thống cũng như người quản trị là cần
phải chọn và xây dựng giải pháp phù hợp với yêu cầu kinh tế, kỹ thuật.
Trong luận văn này tơi trình bày về một số công nghệ an ninh bảo mật trong mạng
TCP/IP hiện nay đang được sử dụng và việc đề xuất giải pháp xây dựng một hệ
thống an ninh bảo mật cho một mạng dùng riêng
Nội dung luận văn gồm 5 chương:
Chương 1: Tổng quan về mạng TCP/IP

Chương 2: An tồn thơng tin trên mạng

Nguyễn Tú Anh – Cao học ĐTVT 2002


-2Bảo mật thông tin trên mạng TCP/IP

Chương 3: Các giải pháp bảo mật cho mạng nội bộ
Chương 4: Đề xuất giải pháp bảo mật mạng BIDV
Chương 5: Nhận xét và đánh giá giải pháp
Vấn đề mà luận văn này đề cập liên quan đến nhiều lĩnh vực khác nhau và khá rộng.
Tơi cố gắng trình bày những vấn đề cơ bản và cần thiết nhất phục vụ cho việc an
ninh mạng dùng cơng nghệ IP nói chung và mạng cung cấp các dịch vụ như mạng
ngân hàng, nhưng trong khuôn khổ một luận văn cao học, nên không thể trách khỏi
khiếm khuyết, rất mong được sự đóng góp của các thầy và các bạn đồng nghiệp.
Tôi xin chân thành cảm ơn thầy giáo TS. Nguyễn Viết Nguyên, thầy giáo TS. Hồ
Khánh Lâm cùng các thầy giáo khoa ĐTVT, Trung tâm sau đại học trường đại học
Bách Khoa Hà Nội cùng các đồng nghiệp đã giúp đỡ tơi trong q trình học tập và
hoàn thành luận văn này.

Nguyễn Tú Anh – Cao học ĐTVT 2002


-3Bảo mật thông tin trên mạng TCP/IP

CHƯƠNG 1: TỔNG QUAN VỀ MẠNG TCP/IP
I. TỔNG QUAN VỀ MẠNG TCP/IP
I.1. Cấu trúc phân tầng trong giao thức TCP/IP
Mạng Internet là một mạng thơng tin liên kết các máy tính trên khắp thế giới
với nhau thông qua mạng điện thoại hay các kênh chun dùng đặc biệt. Thơng qua

Internet, người dùng có thể liên lạc với nhau, chia sẽ tài nguyên, tìm kiếm thông tin
và truy xuất nhiều dịch vụ khác nhau....
Mạng Internet có thể coi là cộng đồng các mạng LAN nối với nhau bằng
giao thức TCP/IP. Giao thức TCP và giao thức IP là hai giao thức quan trọng nhất
trên Internet. Giao thức TCP là giao thức ở lớp 4 trong mơ hình 7 lớp OSI, nó cung
cấp một phương tiện truyền dữ liệu tin cậy, chính xác và cho phép truyền lại các gói
dữ liệu bị mất. Giao thức IP là giao thức lớp 3 trong mơ hình OSI, nó cung cấp một
phương thức truyền linh hoạt, nó tạo ra một liên kết ảo khi truyền các gói dữ liệu.
Giao thức TCP/IP thực chất là một họ giao thức cùng làm việc với nhau để
cung cấp phương tiện truyền thông liên mạng. Cấu trúc phân tầng của TCP/IP so
với mô hình tham chiếu OSI.

Hình 1.1: Mơ hình giao thức TCP/IP
Nguyễn Tú Anh – Cao học ĐTVT 2002


-4Bảo mật thông tin trên mạng TCP/IP

-

Tầng ứng dụng (Application Layer): bao gồm các ứng dụng và các tiến trình
sử dụng trên mạng như: Telnet, FTP, SMTP...

-

Tầng truyền vận (Transport Layer): cung cấp các dịch vụ truyền dữ liệu liên
tục như các giao thức TCP, UDP...

-


Tầng liên mạng (Internet Layer): xác định đơn vị truyền và tìm đường bao
gồm các giao thức như IP, ARP...

-

Tầng truy nhập mạng (Network access Layer): có nhiệm vụ truy nhập mạng
vật lý, các chuẩn thường dùng là: Ethernet (IEEE802.3), Token bus
(IEEE802.4), Token ring (IEEE802.5).

Telnet

FTP

Transmistion Control
Protocaol (TCP)

SMTP

DNS

User Datagram
Protocol (UDP)

SNMP

RIP
ICMP

ARP


Internet Protocol (IP)

Ethernet

Tokenbus

Tokenring

IEEE 802.3

IEEE802.4

IEEE802.5

FDDI
ANSI X3 T95

Hình 1.2: Họ giao thức TCP/IP
Trong cấu trúc phân tầng này, khi dữ liệu truyền từ tầng ứng dụng đến tầng vật
lý thì mỗi tầng đều thêm phần header của tầng đó vào. Các header này chứa các
thông tin điều khiển để cho việc truyền dữ liệu được chính xác. Mỗi tầng dưới xem
tất cả các thơng tin mà nó nhận được từ tầng trên là dữ liệu và nó thêm phần header
của nó vào trước dữ liệu này và truyền xuống tầng dưới. Quá trình truyền dữ liệu từ
tầng dưới lên tầng trên sẽ diễn ra theo chiều ngược lại, tức là mỗi tầng sẽ tách phần
header của nó ra trước khi truyền dữ liệu lên tầng trên.
Mỗi tầng có cấu trúc dữ liệu độc lập với tầng trên và tầng dưới nó. Tức là
mỗi tầng đều có cấu trúc dữ liệu riêng và một thuật tốn riêng để mơ tả cấu trúc đó.

Nguyễn Tú Anh – Cao học ĐTVT 2002



-5Bảo mật thông tin trên mạng TCP/IP

Tuy nhiên cấu trúc dữ liệu mỗi tầng được cấu tạo tương thích với tầng kề nó để việc
truyền dữ liệu có hiệu quả hơn.
Cấu trúc đóng khung dữ liệu trong mơ hình TCP/IP

Hình 1.3: Q trình đóng gói dữ liệu trong TCP/IP
Tầng truy nhập mạng:
Tầng truy nhập mạng là tầng thấp nhất trong cấu trúc phân tầng của TCP/IP.
Các giao thức ở lớp này cung cấp cho hệ thống phương thức để truyền dữ liệu trên
các tầng vật lý khác nhau của mạng. Nó định nghĩa các thức truyền các gói dữ liệu
IP, các giao thức ở tầng này phải biết cấu trúc vật lý mạng ở dưới nó để định dạng
được chính xác các dữ liệu sẽ được truyền tùy thuộc vào từng loại mạng cụ thể.
Chức năng định dạng dữ liệu được truyền trong tầng này bao gồm việc đóng
gói các khối dữ liệu vào các frames sẽ được truyền trên mạng và sắp xếp các địa chỉ
IP vào phần địa chỉ vật lý được dùng trong mạng.
Tầng liên mạng:
Tầng liên mạng là tầng ngay trên tầng truy nhập mạng trong cấu trúc phân
tầng của TCP/IP. Internet Protocol (IP) là giao thức quan trọng trong tầng này và là
giao thức trung tâm của TCP/IP. Nó thực hiện một số nhiệm như định nghĩa hệ
thống địa chỉ IP, định nghĩa các khối dữ liệu (datagram), định tuyến, phát hiện lỗi,
phân đoạn và tập hợp lại. Nó quản lý sự truyền thơng tin từ máy này tới máy khác.

Nguyễn Tú Anh – Cao học ĐTVT 2002


-6Bảo mật thơng tin trên mạng TCP/IP

Sự phân đoạn có thể xảy ra ở tầng liên mạng này vì các kỹ thuật mạng khác nhau có

các thành phần giao vận tối đa khác nhau. Giao thức mạng (IP), Giao thức kiểm
soát tin nhắn internet (ICMP), Giao thức phân giải địa chỉ (ARP) là các giao thức
được sử dụng ở tầng liên mạng này.
- IP là một giao thức thuộc loại khơng liên kết, do đó truyền gói tin khơng tin
cậy. Tất cả các giao thức của các tầng cao hơn đều sử dụng IP để gửi và nhận các
gói tin. IP nhận các phân đoạn từ tầng giao vận, phân đoạn thành các gói tin và
truyền qua tầng mạng.
Địa chỉ IP là một địa chỉ logic được gán cho mỗi nút trong mạng TCP/IP. Địa chỉ IP
được thiết kế nhằm cho phép các gói tin truyền qua các mạng. Vì các địa chỉ IP dễ
dàng thay đổi hoặc giả mạo, không nên sử dụng chúng để nhận dạng trong môi
trường không đáng tin cậy. Các địa chỉ nguồn và địa chỉ đích ở trong IP header.
Giới hạn giao thức cho thấy các giao thức ở cấp độ cao hơn sử dụng IP. Giá trị thập
phân của TCP là 6 và của UDP là 17.
- ICMP cung cấp chức năng chẩn đốn và báo lỗi cho IP. Ví dụ, ICMP có thể
cung cấp các thông tin phản hồi cho máy gửi tin khi thơng tin khơng đến được máy
đích hoặc thời gian q hạn. Tiếng ping là một thơng tin địi hỏi báo hiệu lại ICMP,
và sự phản ứng là một tín hiệu phản hồi ICMP.
- ARP có nhiệm vụ xử lý địa chỉ IP logic thành địa chỉ phần cứng (địa chỉ
của card mạng) cho lớp mạng. Nếu địa chỉ IP của máy đích cùng lớp mạng với địa
chỉ IP máy nguồn thì giao thức ARP được sử dụng để xác định địa chỉ phần cứng
của máy đích. Nếu địa chỉ IP đích khác lớp mạng với địa chỉ IP nguồn, thì ARP
được sử dụng đế xác định địa chỉ phần cứng của gateway. Cache ARP, một bảng
truyền đạt giữa địa chỉ IP và địa chỉ phần cứng, lưu trữ trong thời gian ngắn nếu
không được trao đổi thông tin giữa đích và nguồn.
Tầng giao vận:
Hai giao thức quan trọng nhất của tầng này là TCP (Transmission Control
Protocol) và UDP (User Datagram Protocol).

Nguyễn Tú Anh – Cao học ĐTVT 2002



-7Bảo mật thông tin trên mạng TCP/IP

-

Giao thức TCP là giao thức có liên kết, cung cấp cơ chế truyền tin tin cậy với
khả năng phát hiện lỗi và sửa lỗi theo kiểu đầu cuối đến đầu cuối.

-

UDP là một giao thức thuộc loại khơng liên kết, do đó việc truyền tin là
không tin cậy. UDP truyền dữ liệu một cách trực tiếp, nó sử dụng 16 bit để
ghi nhận cổng nguồn và cổng đích trong phần header của dữ liệu. Vì sự kết
nối khơng được thiết lập và gián đoạn nên có rất ít tin được truyền đi, các
phân đoạn bị mất, bị huỷ hoặc không được truyền đi sẽ khơng được truyền
lại trừ khi lớp ứng dụng có yêu cầu.

UDP được sử dụng để gửi những tin đơn giản từ máy này sang máy khác. Bởi vì
tính đơn giản của nó, các gói tin UDP sẽ dễ dàng bị giả mạo hơn là các gói tin TCP.
Nếu việc truyền dữ liệu đáng tin cậy và có trật tự là cần thiết thì nên ứng dụng TCP.
Giao thức quản lý mạng đơn giản (SNMP), Giao thức truyền file (FTP), BOOTstrap
Protocol (BOOTP), hệ thống file mạng, giao thức DHCP là những ví dụ ứng dụng
UDP cho giao vận. Khơng giống như kết nối định hướng TCP - chỉ kết nối giữa hai
máy chủ, UDP có thể truyền đại chúng tới nhiều hệ thống cùng một lúc.
Tầng ứng dụng:
Đây là tầng trên cùng trong họ giao thức TCP/IP. Tầng này bao gồm tất cả các tiến
trình dùng các giao thức của tầng giao vận để truyền dữ liệu. Tầng ứng dụng chứa
các giao thức và các hàm cần thiết cho các ứng dụng của người dùng để thực hiện
các chứa năng thông tin như sau:
- Các giao thức cho việc truy nhập file từ xa: mở, đóng, đọc, ghi và truy

nhập các file chia sẽ.
- Các dịch vụ truyền file và truy nhập cơ sở dữ liệu từ xa.
- Các dịch vụ xử lý mẫu tin cho các ứng dụng e-mail.
- Và các dịch vụ khác như Gopher, Mosai, WWW...
Như vậy họ giao thức TCP/IP được xây dựng trên cơ sở phân tầng có sự tương ứng
với mơ hình tham chiếu OSI. Các tầng trong họ giao thức TCP/IP đều chứa một tập
các giao thức cung cấp khả năng truyền dữ liệu tin cậy giữa các tầng và giữa các
mạng kết nối vơi nhau trên Internet.

Nguyễn Tú Anh – Cao học ĐTVT 2002


-8Bảo mật thông tin trên mạng TCP/IP

I.2. Giao thức liên mạng IP
Giao thức liên mạng IP cung cấp chức năng liên kết các mạng nội bộ thành
liên mạng để truyền dữ liệu. IP là giao thức kiểu không liên kết (connectionless).
Phương thức không liên kết không cần thiết lập kết nối trước khi truyền dữ liệu và
do đó khơng cần phải giải phóng liên kết khi khơng có như cầu truyền. Điều này
làm giảm nhẹ các thủ tục kết nối mạng nhưng làm tăng độ phức tạp trong công tác
kiểm sốt luồng dữ liệu và kiểm tra tính đúng đắn của dữ liệu, đặc biệt là trong
trường hợp nhiều người sử dụng đồng thời.
I.2.1. Cấu trúc gói tin IP
Cấu trúc gói tin IP được mơ tả trên hình 2.3. Ý nghĩa của các trường như sau:
-

Trường VER (Version): 4 bit chỉ báo version của IP đang sử dụng

-


Trường HLEN (Header Length): 4bit chỉ độ dài header của datagram tính
theo đơn vị word 32 bit. Độ dài tối thiểu 5 word.

-

Trường Service Type: 8 bit chứa các thông tin về dịch vụ, có vai trị quan
trọng trong việc điều khiển các gói dữ liệu.

-

Trường Total Length: 16 bit, chỉ độ dài tồn bộ khối dữ liệu, bao gồm cả
phần header, tính theo đơn vị byte.

-

Trường Identification: 16 bit, dùng để nhận dạng các khối dữ liệu định danh
duy nhất cho một datagram trong thời gian nó cịn trên liên mạng, nhận dạng
các đoạn trong khối, giống như số hiệu tuần tự.

-

Trường Flags: 3 bit, liên quan đến sự phân đoạn các datagram

-

Trường Fragment Offset: 13 bit dùng chỉ vị trí của đoạn (fragment) trong
datagram, mỗi fragment phải chứa một vùng dữ liệu có độ dài là bội của 64
bit.

-


Trường Time to Live: 8 bit dùng để quy định thời gian tồn tại của datagram
trong liên mạng. Thời gian này được cho bởi trạm gửi và giảm đi một đơn vị
khi qua một node của mạng. Khi thời gian này giảm đến 0 thì datagram bị
hủy để tránh tình trạng luẩn quẩn trong mạng

Nguyễn Tú Anh – Cao học ĐTVT 2002


-9Bảo mật thông tin trên mạng TCP/IP

-

Trường Protocol: 8 bit dùng để chỉ giao thức tầng trên kế tiếp sẽ nhận vùng
dữ liệu này

Hình 1.4: Cấu trúc gói tin IP
-

Trường header checksum: 16 bit là mã kiểm soát lỗi CRC 16 bit cho vùng
header

-

Trường Source Address: 32 bit là địa chỉ IP nguồn

-

Trường Destination Address: 32 bit là địa chỉ IP đích


-

Trường Options: độ dài thay đổi. Khai báo các options do người gửi yêu cầu

-

Trường Padding: độ dài thay đổi dùng để đảm bảo phần header luôn kết thúc
ở 32 bit

-

Trường Data: độ dài thay đổi tối đa là 65535 bytes.
I.2.2. Cấu trúc địa chỉ IP

Để đảm bảo cho tất cả các trạm là việc trong liên mạng được xác định một cách duy
nhất, mỗi máy tính trên mạng TCP/IP cần phải có một địa chỉ xác định gọi là địa chỉ
IP. Hiện nay mỗi địa chỉ IP được tạo bởi một số 32 bits (IPv4) được chia thành 4
vùng, mỗi vùng 1 byte, thường được biểu diễn dưới dạng thập phân có dấu chấm
phân cách các vùng.
Mục đích của địa chỉ IP là định danh duy nhất một host trên mạng. IPv4 sử dụng 3
loại địa chỉ trong trường nguồn và đích là:

Nguyễn Tú Anh – Cao học ĐTVT 2002


-10Bảo mật thông tin trên mạng TCP/IP

- Unicast: Để thể hiện một địa chỉ đơn hướng, địa chỉ đơn hướng là địa chỉ định rõ
ra một host, tức là dữ liệu sẽ được chuyển đến duy nhất một host trong mạng.
- Multicast: là địa chỉ đa hướng tức là địa chỉ dùng để chỉ một nhóm các host trên

mạng, khi đó dữ liệu sẽ được truyền đến các host có địa chỉ thuộc địa chỉ Multicast
đó.
- Broardcast: Thể hiện tất cả các host trên mạng con, dữ liệu sẽ được truyền đến tất
cả các host trong cùng một mạng con, vì đị chỉ broardcast chỉ mang tính cục bộ.
Các địa chỉ IP được chia thành 2 phần: một phần xác định mạng và một phần xác
định host trong mạng đó. Người ta chia thành 5 lớp A, B, C, D và E, các lớp địa chỉ
mạng này được thể hình như hình 2.4.
0 1

7 8

lớp A

0

lớp B

10

lớp C

110

lớp D

1110

lớp E

11110


15 16

netid

23 24

31

hostid
netid

hostid

netid

hostid
multicast
Reserved

Hình 1.5: Cấu trúc các lớp địa chỉ IP
Cấu trúc địa chỉ IP được mơ tả trên hình 2.4. Các bit đầu tiên của byte đầu tiên được
dùng để xác định lớp địa chỉ, các bit còn lại được chia làm hai phần:
• Một phần dùng để định địa chỉ mạng (Netid).
• Một phần dùng để định địa chỉ Host trên mạng đó (hostid)
-

Lớp A: bit đầu tiên là 0, 7 bit kế tiếp là netid, 24 bit cuối là hostid. Lớp này
định danh tối đa 27 mạng, mỗi mạng tối đa 224 host


Nguyễn Tú Anh – Cao học ĐTVT 2002


-11Bảo mật thông tin trên mạng TCP/IP

-

Lớp B: 2 bit đầu tiên là 10, 14 bit kế tiếp dùng cho netid, 16 bit cuối dùng
cho hostid. Lớp này định danh tối đa 214 mạng, mỗi mạng tối đa 216 host.

-

Lớp C: 3 bit đầu tiên là 110, 21 bit tiếp theo dùng cho netid, 8 bit cuối cùng
dùng cho hostid. Lớp này có tối đa 221 mạng, mỗi mạng tối đa 28 host.

-

Lớp D: 4 bit đầu tiên là 1110, 28 bit còn lại là multicast address. Được dùng
để gửi dữ liệu đến một nhóm người sử dụng trên mạng

-

Lớp E: 5 bit địa chỉ đầu là 11110, dự phòng trong tương lai.
I.2.3. Phân đoạn các khối dữ liệu
Trong quá trình truyền dữ liệu, một khối dữ liệu (datagram) có thể dược

truyền đi thông qua các mạng khác nhau. Một datagram nhận được từ mạng nào đó
có thể quá lớn đối với một đơn vị dữ liệu trên mạng khác. Do mỗi loại cấu trúc,
mạng cho phép đơn vị truyền cực đại MTU khác nhau. MTU là kích thước cực đại
của một khối dữ liệu mà chúng ta có thể truyền. Nếu như một khối dữ liệu nhận

được lớn hơn MTU thì nó cần được phân đoạn thành các khối nhỏ hơn gọi là
Fragment để truyền đi, quá trình này gọi là phân đoạn các khối dữ liệu.
Khuôn dạng của các fragment cũng giống như khuôn dạng của các khối dữ liệu.
Trong phần header có chứa các thơng tin để xác định mỗi fragment và cung cấp
các thông tin để hợp nhất các fragment thành khối dữ liệu như ban đầu.
I.2.4. Cơ chế truyền gói tin IP
 Đối với thực thể IP trạm nguồn:
Khi nhận được yêu cầu gửi từ tầng trên, nó thực hiện các bước sau đây:
- Tạo một IP datagram theo các thông số của hàm SEND.
- Tính checksum và ghép vào header của datagram
- Ra quyết định chọn đường: trạm đích nằm trên cùng một mạng hoặc là gateway
nếu trạm đích khơng cùng mạng.
- Chuyển datagram xuống tầng dưới để truyền qua mạng.
 Đối với gateway:
Khi nhận được một datagram chuyển tiếp, nó thực hiện các bước sau:
- Tính checksum, nếu bất cập thì loại bỏ datagram

Nguyễn Tú Anh – Cao học ĐTVT 2002


-12Bảo mật thông tin trên mạng TCP/IP

- Giảm giá trị của tham số time-to-live xuống một đơn vị. Nếu thời gian đã hết thì
loại bỏ datagram
- Ra quyết định chọn đường.
- Phân đoạn datagram nếu cần
- Thiết lập lại IP header, bao gồm các giá trị mới của các vùng time-to-live,
Fragmentation và Checksum.
- Chuyển datagram xuống tầng dưới để truyền qua mạng
 Đối với thực thể IP ở trạm đích:

- Tính Checksum, nếu bất cập thì loại bỏ datagram
- Tập hợp các fragment của datagram (nếu có phân đoạn)
- Chuyển dữ liệu và các thông số điều khiển lên tầng trên bằng cách dùng hàm
Deliver.

I.3. Giao thức TCP
Giao thức điều khiển truyền TCP (Transmission Control Protocol) là một giao thức
theo kiểu có liên kết (connection-oriented), nghĩa là cần phải thiết lập một liên kết
logic giữa một cặp thực tế TCP trước khi chúng trao đổi dữ liệu cho nhau.
Giao thức TCP được thiết kế phù hợp với việc phân cấp giao thức theo tầng, trợ
giúp cho các ứng dụng liên mạng. Nó cung cấp các liên lạc tin cậy cho việc tương
tác giữa các thực thể trong quá trình kết nối.
Đơn vị dữ liệu dùng trong TCP là đoạn dữ liệu (segment). IP cung cấp cho TCP khả
năng gửi và nhận các segment có độ dài thay đổi được chứa trong datagram. IP
datagram cung cấp phương tiện để định danh các TCP nguồn và đích, IP cũng đồng
thời làm việc với sự phân đoạn hay ráp nối các TCP segment để chuyển giao thông
qua liên mạng và các gateway.

Nguyễn Tú Anh – Cao học ĐTVT 2002


-13Bảo mật thông tin trên mạng TCP/IP

I.3.1. Cấu trúc đoạn dữ liệu TCP

Hình 1.6: Khn dạng dữ liệu TCP
Khn dạng của đoạn dữ liệu TCP được mơ tả trên hình 1.7:
Mơ tả các trường:
- Source Port: 16 bít số hiệu cổng của trạm nguồn
- Destination Port: 16 bít số hiệu cổng của trạm đích

- Sequense Number: 32 bít số hiệu tuần tự của byte dữ liệu đầu tiên trong segment,
trừ trường hợp bít SYN được thiết lập. Nếu bít SYN được thiết lập thì sequense
Number là số hiệu tuần tự ban đầu. Trường hợp này thường được dùng để thực hiện
việc điều đình khi TCP mở một kết nối đối với một TCP ở xa.
- Acknowlegement Number: 32 bít số hiệu của segment tiếp theo mà trạm nguồn
đang chờ để nhận, trường hợp này được dùng để báo cho biết segment trước có
nhận thành cơng hay khơng. Trường này được kiểm tra khi cờ ACK được thiết lập.
Khi kết nối được thiết lập thì trường này ln ln được gửi đi
- Data Offset: 4 bít cho biết số lượng các word trong header của TCP. Chỉ vị trí bắt
đầu của vùng dữ liệu
- Reserved: 6 bít chưa sử dụng
- Các cờ:
URG: Khi được thiết lập thì vùng Urgent Poiter có hiệu lực
ACK: Khi đượ thiết lập thì vùng Acknowlegement Number có hiệu lực
PSH: Chức năng PUSH được thiết lập
Nguyễn Tú Anh – Cao học ĐTVT 2002


-14Bảo mật thông tin trên mạng TCP/IP

RST: Khởi động lại liên kết
SYN: Dùng để đồng bộ hóa các số hiệu tuần tự lúc ban đầu khi thiết lập liên kết.
FIN: khơng cịn dữ liệu ở trạm nguồn để truyền tiếp.
- Window: 16 bít chỉ số byte dữ liệu được chấp nhận, bắt đầu từ byte được chỉ ra
trong vùng ACK Number. Trường này dùng để kiểm soát luồng truyền quản lý
buffer.
- Checksum: 16 bít mã kiểm sốt lỗi CRC cho toàn bộ segment (gồm cả header và
data)
- Ugent Pointer: 16 bít có hiệu lực khi URG được thiết lập. Chỉ số hiệu tuần tự của
byte đi theo dữ liệu khẩn, cho biết độ dài của dữ liệu khẩn.

- Options: có độ dài thay đổi được. Khai báo các options của TCP, trong đó có độ
dài tối đa của vùng TCP data trong một segment.
- Padding: Có độ dài thay đổi. Phần chèn thêm header của TCP để header luôn kết
thúc ở cột mốc 32 bít, trường padding chỉ gồm tồn số 0.
- TCP data: có độ dài thay đổi. Chứa dữ liệu của tầng trên. Độ dài tối đa ngầm định
là 536 byte, giá trị này có thể thay đổi được trong phần options.
Khái niệm về cổng (port):
Trong mơ hình phân tầng của TCP/IP, giao thức TCP nằm ở tầng truyền vận. Tầng
truyền vận có thể tạo ra nhiều liên kết logic trong cùng một liên kết mạng, quá trình
náy gọi là ghép kênh (multiplexing). Quá trình ghép kênh xảy ra khi một số liên kết
truyền vận chia xẻ cùng một liên kết mạng
Khi quá trình ghép kênh đã xảy ra thì nhiều phần tử phần mềm sẽ sử dụng cùng một
địa chỉ của tầng mạng để làm địa chỉ hoạt động của nó. Để xác định duy nhất phần
tử phần mềm nằm trong tầng truyền vận, người ta sử dụng thêm một kiểu định danh
khác. Đó là địa chỉ truyền vận (Transport Address), địa chỉ truyền vận là tổ hợp của
địa chỉ tầng mạng và số hiệu của điểm truy nhập dịch vụ (SAP number) tầng truyền
vận. Đây chính là số hiệu cổng (port number) được dùng để xác định địa chỉ truyền
vận.

Nguyễn Tú Anh – Cao học ĐTVT 2002


-15Bảo mật thơng tin trên mạng TCP/IP

Các Router có thể kiểm tra trường port number trong header của TCP và thực hiện
các quyết định lọc gói dựa vào các giá trị trong trường này.
Một số dịch vụ ứng dụng TCP/IP sử dụng các giá trị cổng chuẩn được liệt kê trong
bảng 1.1.

Cổng


Mô tả

20

ftp data

21

ftp control

23

telnet

25

Smtp(mail)

70

Gopher protocol

79

Finger protocol

80

World Wide Web HTTP


513

rlogin
Bảng 1.1: Một số cổng chuẩn của TCP

Khái niệm socket:
Một cổng kết hợp với một địa chỉ IP tạo thành một Socket duy nhất trong liên mạng.
Dịch vụ TCP được cung cấp nhờ một liên kết logic giữa một cặp socket
Một socket có thể tham gia liên kết với nhiều socket ở xa khác nhau. Trước khi
truyền dữ liệu giữa hai trạm, cần phải thiết lập một liên kết TCP giữa chúng và khi
khơng cịn nhu cầu truyền thi liên kết đó được giải phóng.
Giao diện giữa TCP với giao thức mức thấp hơn sẽ do giao thức mức thấp hơn xác
định, giao thức mức thấp ở đây là giao thức IP.
I.3.2. Các chức năng cơ bản của TCP
Các chức năng cơ bản của TCP như sau:
- Truyền dữ liệu cơ bản
- Khôi phục lại dữ liệu
- Điều khiển luồng
- Dồn kênh
Nguyễn Tú Anh – Cao học ĐTVT 2002


-16Bảo mật thông tin trên mạng TCP/IP

- Thiết lập kết nối
- Lựa chọn ưu tiên và bảo mật.
I.3.2.1 Truyền dữ liệu cơ bản:
TCP có thể truyền liên tục các byte theo mỗi hướng giữa các người dùng bằng cách
đóng gói một số lượng byte nào đó trong các segment để truyền qua mạng Internet.

TCP sẽ quyết định khi nào đóng gói và đưa dữ liệu đi vào lúc nào thấy thuận tiện.
Người dùng cần được bảo đảm rằng tất cả các dữ liệu họ chuyển cho TCP đã được
truyền đi, một hàm PUSH được dùng cho mục đích này. Để đảm bảo dữ liệu chuyển
giao cho TCP thực sự đã được truyền đi, một hàm PUSH được xúc tiến ngay lập tức
và chuyển giao dữ liệu hết cho bên nhận, tuy nhiên điểm push chính xác có thể
khơng thấy được đối với người dùng bên nhận.
I.3.2.2 Khôi phục dữ liệu:
TCP buộc phải khôi phục lại dữ liệu đã bị hư hỏng, mất mát, trung lặp hoặc được
chuyển giao không theo yêu cầu do hệ thống liên lạc của mạng Internet. Điều này
được thực hiện bằng cách gán một số hiệu tuần tự cho mỗi segment được truyền và
yêu cầu xác nhận ACK từ TCP nhận. Nếu ACK không nhận được trong khoảng thời
gian một timeout thì dữ liệu sẽ được truyền lại. Ở bên nhận. số hiệu tuần tự được sử
dụng để xếp thứ tự chính xác các segment nhanạ được và để hạn chế trùng lặp. Các
checksum được thêm vào mỗi segment để kiểm tra tại đầu nhận.
I.3.2.3 Điều khiển luồng
TCP cung cấp một phương tiện cho bên nhận để điều hành lượng dữ liệu gửi tới, đó
là cơ chế cửa số. Mỗi ACK chỉ ra khoảng số liệu tuần tự chấp nhận tùy vào segment
cuối cùng nhận được thành công. Cửa sổ biểu thị số lượng các byte mà bên gửi có
thể truyền trước khi nhận được sự cho phép tiếp theo.

Nguyễn Tú Anh – Cao học ĐTVT 2002


-17Bảo mật thơng tin trên mạng TCP/IP

Hình 1.7: Cơ chế điều khiển luồng
I.3.2.4 Dồn kênh:
Để cho nhiều quá trình trong một host sử dụng các tiện ích liên lạc TCP một cách
đồng thời, TCP cung cấp một tập hợp các địa chỉ hoặc cổng trong nội bộ tững host,
móc nối các địa chỉ mạng và địa chỉ host vào nhau từ tầng liên lạc mạng tạo ra một

socket có thể được dùng cho nhiều kết nối đồng thời.
I.3.2.5 Thiết lập kết nối:
Các cơ cấu truyền dữ liệu, khôi phục dữ liệu, điều khiển luồng đòi hỏi các TCP phải
khởi tạo và duy trì các thơng tin trạng thái cho mỗi luồng dữ liệu. Việc kết hợp các
thông tin này, bao gồm các socket, các số hiệu tuần tự, các kích thước cửa sổ được
gọi là một kết nối. Mỗi một kết nối định nghĩa duy nhất bởi một cặp socket xác định
hai đầu của nó. Khi hai q trình muốn liên lạc với nhau, đầu tiên TCP phải thiết
lập kết nối. Khi việc liên lạc hoàn thành, kết nối được đóng lại để giải phóng tài
nguyên cho các ứng dụng khác.
Giao thức TCP thực hiện thiết lập kết nối theo kiểu bắt tay 3 bước. Hình 2.6 là quá
trình thiết lập kết nối giữa host A và host B.
Khi host A muốn kết nối với host B. A gửi đến B gói TCP có các cờ SYN = 1, ACK
= x, B mở kết nối gửi về A gói TCP với SYN = 1, ACK = x+1. Khi A nhận được gói tin
xác nhận mở kết nối từ B nó xác nhận lại bằng cách gửi đến B SYN = 0, ACK = y+1

Nguyễn Tú Anh – Cao học ĐTVT 2002


-18Bảo mật thơng tin trên mạng TCP/IP

Hình 1.8: Q trình thiết lập liên kết

II. ĐÁNH GIÁ CÁC ĐIỂM YẾU VỀ AN NINH BẢO MẬT MẠNG TCP/IP
II.1 Tại sao mạng TCP/IP có nhiều yếu điểm.
Ngay từ khi thiết kế các giao thức trong bộ giao thức TCP/IP vấn đề an ninh
mạng chưa được đặt ra, do vậy vấn đề bảo vệ hạ tầng mạng là rất khó khăn. Khi
phát triển các ứng dụng trên mạng, nhà sản xuất cũng không thể đảm bảo về sự
hoàn thiện của sản phẩm đã phát hành. Hơn nữa mạng Internet là một môi trường
mở và ln thay đổi cả về cơng nghệ, cấu hình, người dùng đông và đa dạng. Các
yêu cầu về vật chất để thực hiện tin tặc là rất dễ và rẻ, chỉ cần một máy tính được

kết nối vào mạng ở một nơi bất kỳ trên thế giới là có thể phát động được một cuộc
tấn công.
Phần lớn dữ liệu trên mạng Internet là khơng được mã hóa, do vậy tính bảo
mật và tính tồn vẹn của dữ liệu là khó đảm bảo. Tin tặc có thể dùng các cơng cụ
bắt gói để thu lượm các thơng tin trên mạng. Mặt khác mạng Internet phát triển rất
nhanh, các ứng dụng ngày càng nhiều, phong phú và phức tạp. Các sản phẩm phần
mềm dùng trên các dịch vụ mạng khi thiết kế phát triển và khai thác trên mạng
thường chưa được đánh giá đầy đủ về an ninh – an toàn. Một điểm yếu cuối cùng đó
là vấn đề người sử dụng, do mạng Internet phát triển rất nhanh, người sử dụng chưa

Nguyễn Tú Anh – Cao học ĐTVT 2002


-19Bảo mật thông tin trên mạng TCP/IP

được huấn luyện kỹ và thiếu kinh nghiệm về an ninh – an toàn. Đó là cơ hội để tin
tặc lấy cắp thơng tin nhạy cảm, đột nhập hệ thống và thực hiện các cuộc tấn cơng.
II.2 Các điểm yếu trong mạng TCP/IP
• Thiếu sót khi thiết kế giao thức, hay thiết kế phần mềm. Trong bộ giao thức
TCP/IP có nhiều giao thức rất dễ bị tấn công như giao thức NFS (Network
File System), phục vụ vấn đề dùng chung tệp, nhưng nó khơng có cơ chế xác
thực, do đó khơng đảm bảo người dùng là người được quyền dùng.
• Thiết sót khi phát triển phần mềm, khi giao thức đã được thiết kế tốt, nhưng
khi phát triển phần mềm vẫn tạo ra các lỗ hổng an ninh.
• Thiết sót khi đặt cấu hình hệ thống.
II.3 Các giao thức, dịch vụ dễ bị tấn cơng
II.3.1 Các giao thức điển hình trong họ giao thức TCP/IP
• TCP: là giao thức có liên kết, nghĩa là trước khi truyền liên kết phải được
thiết lập, quá trình thực hiện thiết lập liên kết theo 3 bước. Đây là giao thức
mà tin tặc lợi dụng quá trình thiết lập để là treo hệ thống bằng cách gửi các

gói SYN với địa chỉ IP nguồn giả mạo
• UDP: là giao thức không liên kết nên cơ chế truyền tin của nó rất đơn giản.
Bởi vì tính đơn giản của nó, các gói tin UDP sẽ dễ dàng bị giả mạo hơn là
các gói tin TCP. Tin tặc dùng giao thức này để tấn công làm tê liệt hệ thống
bằng cách gửi rất nhiều gói tin UDP dưới dạng “UDP storm”.
• IP: là giao thức lớp 3, có địa chỉ IP là địa chỉ logic, vì các địa chỉ IP dễ dàng
thay đổi hoặc giả mạo, nên rất dễ bị tấn cơng khi tin tặc sử dụng địa chỉ giả
• ICMP: là thủ tục truyền các thông tin điều khiển trên lớp 3 của TCP/IP. Xử
lý các thông báo trạng thái cho các gói tin IP như lỗi và các thay đổi trong
phần cứng của mạng ảnh hưởng đến sự định tuyến thông tin truyền trong
mạng.

Nguyễn Tú Anh – Cao học ĐTVT 2002


×