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

Nghiên cứu, tìm hiểu các điểm yếu giao thức TCPIP xây dựng module tấn công và giải pháp phòng chống

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.24 MB, 92 trang )

Đồ Án Tốt Nghiệp

Nghiên cứu, tìm hiểu các điểm yếu giao thức TCP/IP
xây dựng Module tấn công và giải pháp phòng chống.

LỜI CẢM ƠN
Trước hết , em xin bày tỏ lòng biết ơn chân thành nhất đến thầy Chu
Minh Yên đã tận tân giúp đỡ, hướng dẫn em trong suốt thời gian làm đồ án tốt
nghiệp.
Em cũng xin chân thành cảm ơn quý thầy cô trong khoa An Toàn
Thông Tin, Học Viện Kỹ Thuật Mật Mã đã tận tình giảng dạy chúng em,
truyền đạt cho chúng em những kiến thức quý báu trong quá trình học tập.
Xin cảm gia đình và tất cả bạn bè đã động viên giúp đỡ tôi trong quá trình học
tập và hoàn thành đồ án tốt nghiệp.
Mặc dù đã cố gắng hết sức, song chắc chán đồ án tốt nghiệp không
tránh khỏi những hạn chế. Em rất mong nhận được sự thông cảm và chỉ bảo
tận tình của quý thầy cô và các bạn.

Hà Nội, tháng 6 năm 2011
Sinh viên thực hiện

GVHD: Th.S Chu Minh Yên

1


Đồ Án Tốt Nghiệp

Nghiên cứu, tìm hiểu các điểm yếu giao thức TCP/IP
xây dựng Module tấn công và giải pháp phòng chống.


MỤC LỤC

GVHD: Th.S Chu Minh Yên

2


Đồ Án Tốt Nghiệp

Nghiên cứu, tìm hiểu các điểm yếu giao thức TCP/IP
xây dựng Module tấn công và giải pháp phòng chống.

DANH MỤC HÌNH VẼ
Hình 1.1 Cấu trúc phần Header của gói tin IP................................................12
Hình 1.3 Cấu trúc Header của TCP.................................................................18
Hình 1.4 Giao tiếp 3 lượt trong tính kết nối..................................19
Hình 1.5 Nguyên tắc hoạt động của TCP.......................................................22
Hình 1.7 Mô hình tham chiếu TCP/IP và OSI................................................27
Hình 1.8 Nguyên lý hoạt động của TCP/IP...................................................29
Hình 1.9 Qúa trình bắt tay 3 bước............................................................31
Hình 1.10 Tấn công TCP SYN flood.............................................................32
Hình 1.11 Tấn công giả mạo IP......................................................................33
Hình 1.12 Tấn công giả mạo IP từ xa với kỹ thuật định tuyến theo nguồn
.........................................................................................................................34
Hình 1.13 Tấn công man-in-the-middle..........................................................35
Hình 1.14 Tấn công ARP...............................................................................37
Hình 2.1 Địa chỉ MAC ...................................................................................45
Hình 2.2 Xóa địa chỉ MAC.............................................................................45
Hình 2.3 Gán địa chỉ IP vào địa chỉ MAC .....................................................46
Hình 2.4 Giao diện của chương trình Netcut..................................................47

Hình 2.5 Giao diện của chương trình Anti Netcut..........................................47
Hình 2.6 Mô hình của AH Header..................................................................50
Hình 2.7 Mô hình Encapsulating Security Payload........................................51
Hình 2.8 Mô hình hoạt động của IPSec trong Active Directory Domain..53
Hình 2.9 Giải pháp IPSec VPN.........................................53
Hình 2.10 Mô hình SSL.................................................................................54
Hình 2.11 Giải pháp SSL VPN.......................................................................55
Hình 2.12 Cấu trúc IPv6.................................................................................57
Hình 2.13 Global Unicast Address trong IPv6...............................................57
Hình 2.14 Link-local Addresses trong IPv6....................................................58
Hình 2.15 Ví dụ về Link-Local Address.........................................................58
Hình 2.16 Mô tả 64 bits cuối cùng của IPv6...................................................58
Hình 2.17 Site-Local Addresses trong IPv6....................................................59
Hình 2.18 Unique Local Address....................................................................59
Hình 2.19 Multicast Address..........................................................................60
Hình 2.20 So sánh Header IPv4 Với Header IPv6..........................................63
GVHD: Th.S Chu Minh Yên

3


Đồ Án Tốt Nghiệp

Nghiên cứu, tìm hiểu các điểm yếu giao thức TCP/IP
xây dựng Module tấn công và giải pháp phòng chống.

Hình 2.21 Thực hiện bảo mật kết nối giữa hai mạng trong IPv4....................66
Hình 3.1 : Tấn công Smurf...........................................................................69
Hình 3.2 : Sơ đồ dạng tấn công DDOS .....................................................71
Hình 3.3 : Sơ đồ các mô hình tấn công DDOS............................................72

Hình 3.4 : Mô hình Agent – Handler...........................................................72
Hình 3.5 : Mô hình IRC – Based.................................................................73
Hình 3.6 Giao diện công cụ Cain and Able...............................................78
Hình 3.7 Tài khoản đăng nhập cho giao thức HTTP....................................79
Hình 3.8 Hiển thị kết quả sniff với giao thức http........................................79
Hình 3.9 tài khoản đăng nhập cho giao thức HTTPS...................................79
Hình 3.10 Hiển thị kết quả với giao thức https.............................................80
Hình 3.11: Capture monitoring khi chưa cấu hình IPsec..............................81
Hình 3.12 Dữ liệu khi chưa cấu hình Ipsec..................................................81
Hình 3.13 Cấu hình IPSEC.........................................................................82
Hình 3.14 Capture monitoring khi đã cấu hình IPsec..............................82
III.3 Xây dựng Module tấn công từ chối dịch vụ DOS...................................83
Tấn công DOS/DDOS là phương pháp tấn công chủ yếu dựa trên điểm yếu
giao thức TCP/IP, chính vì lý do đi xây dựng module tấn công DOS :..........83
III.3.1 Kỹ thuật tấn công ................................................................................83
III.3.2 Mô hình tấn công.................................................................................83
......................................................................................................................83
Hình 3.16 Mô hình tấn công DOS...............................................................84
Kẻ tấn công sẽ gửi các yêu cầu hoặc các gói tin không hợp lệ (không đúng
theo tiêu chuẩn) một cách cố ý, khiến cho hệ thống bị tấn công khi nhận được
yêu cầu hay gói tin này, xử lý không đúng hoặc không theo trình tự đã được
thiết kế, dẫn đến sự sụp đổ của chính hệ thống đó, gửi liên lục với tốc độ
được nhanh hơn.[4].........................................................................................84
Nếu quá trình đó kéo dài, đích bị tấn công sẽ nhanh chóng trở nên quá tải,
dẫn đến tình trạng crash (treo) nên các yêu cầu hợp lệ sẽ bị từ chối không thể
đáp ứng được. Có thể hình dung quá trình này cũng giống như khi máy tính
cá nhân (PC) hay bị “treo” khi mở cùng lúc quá nhiều chương trình cùng lúc.
[4]....................................................................................................................84
III.3.3 Xây dựng Module tấn công..................................................................84
Ý tưởng cho việc xây dựng công cụ tấn công là :..........................................84

GVHD: Th.S Chu Minh Yên

4


Đồ Án Tốt Nghiệp

Nghiên cứu, tìm hiểu các điểm yếu giao thức TCP/IP
xây dựng Module tấn công và giải pháp phòng chống.

- Tại công cụ tấn công sẽ cho phép nhập địa chỉ IP hoặc URL của website sẽ
hiển thị trình duyệt website bị tấn công để cho ta thấy được khi nào tấn công
có kết quả thành công.Nút Test hiển thị kết quả trình duyệt 1 lần..................84
- Cho phép nhập kích thước gói IP dùng để PING tới website đó..................84
- Nút Start bắt đầu thực hiện tấn công : Gửi yêu cầu trình duyệt tới website
liên tục và thực hiện Ping gói IP với kích thước lớn hơn kích thước gói IP cho
phép , với lệnh Ping được tăng tốc và liên tục dẫn đến đích bị tấn công sẽ
nhanh chóng trở nên quá tải, dẫn đến tình trạng treo nên các yêu cầu hợp lệ sẽ
bị từ chối không thể đáp ứng được.................................................................84
- Nút Stop thực hiện kết thúc cuộc tấn công...................................................84
- Khi tấn công đã thực hiện thành công thì sẽ không hiển thị gì trên trình
duyệt website tại công cụ tấn công vì lúc này dịch vụ đang bị treo không thể
đáp ứng các yêu cầu hợp lệ.............................................................................84
Sử dụng Visual Basic 2010 để xây dựng chương trình..................................84
Chương trình được xây dựng dựa trên các khối lệnh thực hiện như sau:......84
Lệnh trình duyệt website khi chưa thực hiện tấn công (test), trình duyệt
website sẽ được hiện thị ở khung Webbrower:...............................................84
.........................................................................................................................85
Hình 3.17 Code nút Test.................................................................................85
Lệnh bắt đầu thực hiện tấn công :..............................................................85

.......................................................................................................................85
Hình 3.18 Code nút Start.................................................................................85
Lệnh thực hiện tấn công:.................................................................................85
Yêu cầu kết nối(trình duyệt) liên tục.............................................................85
Giao tiếp với MS-DOS để thực hiện lệnh PING liên tục................................85
+ “- l” : kích thước gói IP..............................................................................85
+ “- f” : Tăng tốc độ lệnh PING....................................................................85
...........................................................................85
Hình 3.19 Code thực hiện tấn công.................................................................85
Giao diện chương trình tấn công DOS giao tiếp với người sử dụng :............86
.........................................................................................................................86
Hình 3.20:Giao diện tool tấn công DOS...............................................86
Hình 3.21 : Test chạy trình duyệt website..............................................86
Hình 3.22 Kết quả tấn công DOS bằng module xây dựng...........................87
GVHD: Th.S Chu Minh Yên

5


Đồ Án Tốt Nghiệp

Nghiên cứu, tìm hiểu các điểm yếu giao thức TCP/IP
xây dựng Module tấn công và giải pháp phòng chống.

Hình 3.23 Kết quả tấn công trên trình duyệt website....................................87
Yêu cầu kết nối(trình duyệt) liên tục.............................................................88
Giao tiếp với MS-DOS để thực hiện lệnh PING liên tục................................88
+ “- l” : kích thước gói IP..............................................................................88
+ “- f” : Tăng tốc độ lệnh PING....................................................................88
Các lệnh thực hiện đơn giản, dễ hiểu. Tại công cụ tấn công đã hiện thị được

trình duyệt website đang tấn công, để có thể xem được khi nào tấn công thành
công website đó...............................................................................................88
Các lệnh được thực hiện đơn luồng (thực hiện theo thứ tự), không thực hiện
đa luồng(thực hiện cùng lúc) nên quá trình tấn công diễn ra lâu hơn so với các
công cụ tấn công khác.....................................................................................88
III.3.6 Giải pháp phòng chống tấn công DOS.................................................88
Tổng hợp những giải pháp phòng chống [4]:.................................................88
Nhìn chung, tấn công từ chối dịch vụ không quá khó thực hiện, nhưng rất khó
phòng chống do tính bất ngờ và thường là phòng chống trong thế bị động khi
sự việc đã xảy ra rồi........................................................................................88
Việc đối phó bằng cách tăng cường “phần cứng” cũng là giải pháp tốt, nhưng
thường xuyên theo dõi để phát hiện và ngăn chặn kịp thời cái gói tin IP từ các
nguồn không tin cậy là hữu hiệu nhất.............................................................88
Mô hình hệ thống cần phải được xây dựng hợp lý, tránh phụ thuộc lẫn nhau
quá mức. Bởi khi một bộ phận gặp sự cố sẽ làm ảnh hưởng tới toàn bộ hệ
thống................................................................................................................88
Thiết lập mật khẩu mạnh (strong password) để bảo vệ các thiết bị mạng và
các nguồn tài nguyên quan trọng khác............................................................88
Thiết lập các mức xác thực đối với người sử dụng cũng như các nguồn tin
trên mạng. Đặc biệt, nên thiết lập chế độ xác thực khi cập nhật các thông tin
định tuyến giữa các router...............................................................................88
Chỉ kích hoạt các dịch vụ cần thiết, tạm thời vô hiệu hoá và dừng các dịch vụ
chưa có yêu cầu hoặc không sử dụng..............................................................88
Xây dựng hệ thống định mức, giới hạn cho người sử dụng, nhằm mục đích
ngăn ngừa trường hợp người sử dụng ác ý muốn lợi dụng các tài nguyên trên
server để tấn công chính server hoặc mạng và server khác............................88
Liên tục cập nhật, nghiên cứu, kiểm tra để phát hiện các lỗ hổng bảo mật và
có biện pháp khắc phục kịp thời.....................................................................89
GVHD: Th.S Chu Minh Yên


6


Đồ Án Tốt Nghiệp

Nghiên cứu, tìm hiểu các điểm yếu giao thức TCP/IP
xây dựng Module tấn công và giải pháp phòng chống.

Sử dụng các biện pháp kiểm tra hoạt động của hệ thống một cách liên tục để
phát hiện ngay những hành động bất bình thường. ........................................89
Xây dựng và triển khai hệ thống dự phòng. ...................................................89
Khi phát hiện máy chủ bị tấn công hãy nhanh chóng truy tìm địa chỉ IP đó và
cấm không cho gửi dữ liệu đến máy chủ........................................................89
Dùng tính năng lọc dữ liệu của router/firewall để loại bỏ các packet không
mong muốn, giảm lượng lưu thông trên mạng và tải của máy chủ.................89
Nếu bị tấn công do lỗi của phần mềm hay thiết bị thì nhanh chóng cập nhật
các bản sửa lỗi cho hệ thống đó hoặc thay thế................................................89
Dùng một số cơ chế, công cụ, phần mềm để chống lại TCP SYN Flooding..89
Tắt các dịch vụ khác nếu có trên máy chủ để giảm tải và có thể đáp ứng tốt
hơn...................................................................................................................89
Nếu được có thể nâng cấp các thiết bị phần cứng để nâng cao khả năng đáp
ứng của hệ thống hay sử dụng thêm các máy chủ cùng tính năng khác để phân
chia tải.............................................................................................................89
Tạm thời chuyển máy chủ sang một địa chỉ khác...........................................89

GVHD: Th.S Chu Minh Yên

7



Đồ Án Tốt Nghiệp

Nghiên cứu, tìm hiểu các điểm yếu giao thức TCP/IP
xây dựng Module tấn công và giải pháp phòng chống.

DANH MỤC BẢNG
Bảng 1.1 Cấu trúc mỗi nhóm Bits trong IP.....................................................13
Bảng 1.2 Cấu trúc các nhóm Bits trong IP.....................................................14
Bảng 1.3 Bảng liệt kê danh sách các địa chỉ riêng.........................................15
Bảng 1.4 Phân mảnh gói tin............................................................................17
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
............................................................................................................................

GVHD: Th.S Chu Minh Yên

8


Đồ Án Tốt Nghiệp

Nghiên cứu, tìm hiểu các điểm yếu giao thức TCP/IP
xây dựng Module tấn công và giải pháp phòng chống.

LỜI MỞ ĐẦU
Internet-một thuật ngữ không còn xa lạ gì hiện nay- đang ngày càng
trở nên một công cụ hết sức hữu ích trong đời sống xã hội hiện đại. Tại Việt
Nam, từ năm 1997, với sự triển khai dịch vụ Internet trong cộng đồng, một
loại hình thông tin mới dần thịnh hành và trở nên hết sức tiện lợi. Tuy nhiên,

ở những thời kỳ đầu của công nghiệp máy tính, việc truyền thông tin giữa các
máy tính, giữa các mạng là hết sức bất tiện và mất thời gian, công sức. Hơn
nữa, khi công nghiệp máy tính phát triển, các nhà sản xuất cho ra đời các loại
phần cứng, phần mềm khác nhau để đáp ứng với nhu cầu riêng lẻ của từng
doanh nghiệp. Nhưng cũng chính từ điều đó, đã dẫn đến một vấn đề lớn: Các
thiết bị phần cứng và phần mềm đó chỉ làm việc với các thiết bị cùng chủng
loại, cùng nhà sản xuất và làm việc trên mạng diện hẹp và có giới hạn, các
thiết bị đôi khi quá phức tạp và cần các phần mềm riêng biệt đi kèm cho mỗi
thiết bị và ứng dụng, đồng thời thiếu đi tính mềm dẻo và khả chuyển của các
mạng con, làm cho việc chuyển đổi, kết nối chúng trở lên phức tạp khó khăn
và đôi khi không thể thực hiện đợc.
Xuất phát từ những khó khăn thực tế đó, cùng với nhu cầu trao đổi
thông tin bộ giao thức liên kết mạng TCP/IP (Transmision Control
Protocol/Internet Protocol) ra đời, cùng với nó là kỹ thuật routing (định tuyến)
mạng để kết nối các mạng với nhau. Từ sự ra đời của chúng, ngày nay, một
mạng máy tính cho một tổ chức đã trở thành một hệ thống thống nhất, những
mạng LAN ( Local Area Netwwork-mạng cục bộ ) đã có thể kết nối với nhau,
trở thành những hệ thống lớn hơn, tiêu biểu là mạng Internet hiện nay, với
khả năng liên kết không giới hạn và là nguồn tài nguyên về thông tin khổng lồ
lớn nhất thế giới.
Từ những lợi ích của việc ra đời giao thức TCP/IP,nhiều ứng dụng dựa
vào nó đó được phát triển.Hacker đó lợi dụng những phỏt triển trờn để thực
hiện những tấn công vào hệ thống mạng nhằm phục vụ lợi ích cho họ. Cỏc
chuyờn gia về bảo mật cho biết họ đó phỏt hiện ra một lỗi bảo mật trong cơ
chế vận hành của bộ giao thức TCP/IP cho phộp tấn cụng bất kỡ thiết bị nào
cú kết nối băng rộng. Phỏt hiện này cú thể mang lại thiệt hại cho hàng triệu
người cú cụng việc phụ thuộc vào cỏc website, hệ thống mail và hệ thống
mạng núi chung

GVHD: Th.S Chu Minh Yên


9


Đồ Án Tốt Nghiệp

Nghiên cứu, tìm hiểu các điểm yếu giao thức TCP/IP
xây dựng Module tấn công và giải pháp phòng chống.

Sau một thời gian nghiên cứu và tìm hiểu về TCP/IP, em đã quyết định
chọn đề tài về TCP/IP để làm đồ án tốt nghiệp. Đối với sinh viên học An
Toàn Thông Tin nói chung và bản thân em nói riêng thì tìm hiểu về TCP/IP là
điều hết sức quan trọng. Nó là nền tảng đầu tiên và không thể thiếu để nghiên
cứu về An Toàn Thông Tin.
Đồ án tốt nghiệp :” Nghiên cứu, tìm hiểu các điểm yếu giao thức
TCP/IP, xây dựng module tấn công và giải pháp phòng chống” với mục đích
là tìm hiểu về bộ giao thức TCP/IP, điểm yếu, một số phương pháp tấn công
vào bộ giao thức TCP/IP và giải pháp phòng chống đối với các phương pháp
tấn công. Với mục đích đã đề ra cần giải quyết, nội dung của đồ án bao gồm :
Chương I. Tổng quan về giao thức TCP/IP và các điểm yếu mất an
toàn của giao thức: Giới thiệu tổng quan về giao thức IP, TCP và bộ giao
thức TCP/IP. Cấu trúc, các tính chất và cơ chế hoạt động của các giao thức
đó.Tìm hiểu một số điểm yếu trong bộ giao thức TCP/IP, các phương pháp
tấn công .
Chương II. Các giải pháp đảm bảo an toàn cho các hệ thống mạng
sử dụng bộ giao thức TCP/IP: Giới thiệu về các giải pháp khi không sử
dụng mật mã và các giải pháp sử dụng mật mã mã hóa gói tin để đảm bảo an
toàn trong hệ thống mạng có sử dụng bộ giao thức TCP/IP. giới thiệu các tính
năng an toàn mới trong IPv6.
Chương III. Một số tấn công dựa trên điểm yếu giao thức và xây

dựng Module tấn công : Tìm hiểu về hai loại tấn công phổ biến dựa vào
điểm yếu giao thức TCP/IP là tấn công từ chối dịch vụ và nghe lén trên đường
truyền. Xây dựng module tấn công đối với hệ thống thực tế và giải pháp
phòng chống cụ thể với từng loại tấn công đó.
Kết luận: Tổng kết những mặt đã làm được, những hạn chế và hướng
phát triển của đồ án.

GVHD: Th.S Chu Minh Yên

10


Đồ Án Tốt Nghiệp

Nghiên cứu, tìm hiểu các điểm yếu giao thức TCP/IP
xây dựng Module tấn công và giải pháp phòng chống.

Chương I : TỔNG QUAN VỀ GIAO THỨC TCP/IP VÀ
CÁC ĐIỂM YẾU MẤT AN TOÀN CỦA GIAO THỨC.
I.1 Tổng quan về giao thức TCP/IP
I.1.1 Giao thức IPv4
I.1.1.1 Giới thiệu về giao thức IP
Giao thức IP (Internet Protocol - Giao thức liên mạng) là một giao thức
hướng dữ liệu được sử dụng bởi các máy chủ nguồn và đích để truyền dữ liệu
trong một liên mạng chuyển mạch gói. Dữ liệu trong một liên mạng IP được
gửi theo các khối được gọi là các gói (packet hoặc datagram). Cụ thể, IP
không cần thiết lập các đường truyền trước khi một máy chủ gửi các gói tin
cho một máy khác mà trước đó nó chưa từng liên lạc. [2]
Giao thức IP cung cấp một dịch vụ gửi dữ liệu không đảm bảo (còn gọi
là cố gắng cao nhất), nghĩa là nó hầu như không đảm bảo gì về gói dữ liệu.

Gói dữ liệu có thể đến nơi mà không còn nguyên vẹn, nó có thể đến không
theo thứ tự (so với các gói khác được gửi giữa hai máy nguồn và đích đó), nó
có thể bị trùng lặp hoặc bị mất hoàn toàn. Nếu một phần mềm ứng dụng cần
được bảo đảm, nó có thể được cung cấp từ nơi khác, thường từ các giao thức
giao vận nằm phía trên IP. Các thiết bị định tuyến liên mạng chuyển tiếp các
gói tin IP qua các mạng tầng liên kết dữ liệu được kết nối với nhau. Việc
không có đảm bảo về gửi dữ liệu có nghĩa rằng các chuyển mạch gói có thiết
kế đơn giản hơn. (nếu mạng bỏ gói tin, làm đổi thứ tự hoặc làm hỏng nhiều
gói tin, người dùng sẽ thấy hoạt động mạng trở nên kém đi. Hầu hết các thành
phần của mạng đều cố gắng tránh để xảy ra tình trạng đó. Đó là lý do giao
thức này còn được gọi là cố gắng cao nhất.) [7]
I.1.1.2 Cấu trúc gói tin IP
Cấu trúc gói tin IP gồm 2 phần:
- Header
- DATA
+Header:

GVHD: Th.S Chu Minh Yên

11


Đồ Án Tốt Nghiệp

Nghiên cứu, tìm hiểu các điểm yếu giao thức TCP/IP
xây dựng Module tấn công và giải pháp phòng chống.

Hình 1.1 Cấu trúc phần Header của gói tin IP
IP header có chiều dài tối thiểu là 20 bytes, trường Options có chiều dài
tối đa là 40 bytes. Thông tin cụ thể về các trường như sau:

- Version: Phiên bản hiện thời là 4.
- IHL (Internet Length Header): Độ dài của phần header. Giá trị độ dài được
thể hiện dưới dạng 32-bit words (4-byte words).
- TOS (Type of Service): Kiểu dịch vụ.
- Total Length: Tổng chiều dài. Số lượng byte của gói tin IP bao gồm cả phần
header và phần dữ liệu..
- Identification, flags, and fragment offset: được dùng cho mục đích phân
mảnh và ghép gói tin IP.
- TTL (Time To Live): Số lượng các đường kết nối (links) mà một gói tin IP
có thể được chuyển tiếp tới trên Internet. Mỗi router giảm TTL đi một giá trị.
- Protocol: Giao thức: TCP, UDP (User Datagram Protocol), ICMP (Internet
Control Message Protocol)
- Header Checksum: Dùng để phát hiện lỗi trong quá trình truyền trong một
header của gói tin. Do giá trị TTL được thay đổi ở mỗi router, do đó
checksum được tính lại tại mỗi router.
- Source IP address: Địa chỉ IP nguồn. Được viết dưới dạng thập phân dùng
dấu chấm để phân cách các trường, ví dụ 202.128.53.31.
- Destination IP address: Địa chỉ IP đích.
- Options: Tùy chọn. Dùng để yêu cầu các tính năng đặc biệt cho gói tin IP, ví
dụ như mức độ bảo mật, đường (route) mà gói tin được gửi đi, và timestamp ở
mỗi router.
GVHD: Th.S Chu Minh Yên

12


Đồ Án Tốt Nghiệp

Nghiên cứu, tìm hiểu các điểm yếu giao thức TCP/IP
xây dựng Module tấn công và giải pháp phòng chống.


+DATA (Dữ liệu): Chứa thông tin lớp trên, chiều dài thay đổi đến 64Kb.
Trong khi địa chỉ IP của nguồn và đích là quan trọng của hoạt động của IP,
các trường khác làm cho IP rất linh hoạt. Các Header Field là thông tin được
cung cấp cho các giao thức lớp trên xác định dữ liệu đóng gói.
I.1.1.3 Các tính chất của IP
Định tuyến trong mạng IP
Trong ngành mạng máy tính, định tuyến (routing) là quá trình chọn lựa
các đường đi trên một mạng máy tính để gửi dữ liệu qua đó. Việc định tuyến
được thực hiện cho nhiều loại mạng, trong đó có mạng điện thoại, liên mạng,
Internet, mạng giao thông. Routing chỉ ra hướng, sự di chuyển của các gói (dữ
liệu) được đánh địa chỉ từ mạng nguồn của chúng, hướng đến đích cuối thông
qua các node trung gian, thiết bị phần cứng chuyên dùng được gọi là router
(bộ định tuyến). [1]
Tiến trình định tuyến thường chỉ hướng đi dựa vào bảng định tuyến, đó
là bảng chứa những lộ trình tốt nhất đến các đích khác nhau trên mạng. Vì
vậy việc xây dựng bảng định tuyến, được tổ chức trong bộ nhớ của router, trở
nên vô cùng quan trọng cho việc định tuyến hiệu quả. Các mạng nhỏ có thể có
các bảng định tuyến được cấu hình thủ công, còn những mạng lớn hơn có
topo mạng phức tạp và thay đổi liên tục thì xây dựng thủ công các bảng định
tuyến là vô cùng khó khăn. Tuy nhiên, hầu hết mạng điện thoại chuyển mạch
chung sử dụng bảng định tuyến được tính toán trước, với những tuyến dự trữ
nếu các lộ trình trực tiếp đều bị nghẽn. Định tuyến động (dynamic routing) cố
gắng giải quyết vấn đề này bằng việc xây dựng bảng định tuyến một cách tự
động, dựa vào những thông tin được giao thức định tuyến cung cấp, và cho
phép mạng hành động gần như tự trị trong việc ngăn chặn mạng bị lỗi và
nghẽn. [1]
Địa chỉ IP
Đơn vị thông tin cơ bản trong máy tính được biểu diễn dưới dạng số
nhị phân bao gồm 2 giá trị đếm là 0 và 1. Đôi khi còn được biểu diễn bằng số

bát phân, hay số thập lục phân.
Cấu trúc địa chỉ IP gồm 32bits, chia thành 4 nhóm, mỗi nhóm 8 bits:
1

1

128

64

1

1

1

32
16
8
4
2
Bảng 1.1 Cấu trúc mỗi nhóm Bits trong IP

1

GVHD: Th.S Chu Minh Yên

1

1


13

1


Đồ Án Tốt Nghiệp

Nghiên cứu, tìm hiểu các điểm yếu giao thức TCP/IP
xây dựng Module tấn công và giải pháp phòng chống.

Vậy giá trị 8 bits khi tất cả được bật lên 1 hiểu ở giá trị thập phân là:
255. Những giá trị thập phân có thể gán 4 nhóm của 32 Bits là:
0000000000000000000000000000000011111111
11111111
11111111
11111111
0-255
0-255
0-255
0-255
Bảng 1.2 Cấu trúc các nhóm Bits trong IP
Vậy địa chỉ IP có cấu trúc được chia làm hai hoặc ba phần là
network_id và host_id hoặc network_id và subnet_id và host_id. Là một con
số có kích thước 32 bit. Khi trình bày, 32 bit này thành bốn phần, mỗi phần có
kích thước 8 bit, gọi là octet hoặc byte. Có các cách trình bày sau:
- Ký pháp thập phân có dấu chấm (dotted-decimal notation).Ví dụ:
172.16.30.56
- Ký pháp nhị phân. Ví dụ: 10101100 00010000 00011110 00111000.
- Ký pháp thập lục phân. Ví dụ :82 39 1E 38

Không gian địa chỉ IP ( gồm 232 địa chỉ ) được chia thành 5 lớp (class)
để dễ quản lý đó là: A,B ,C,D và E. Trong đó các lớp A,B và C được triển
khai để đặt cho các host trên mạng Internet, lớp D dùng cho các nhóm
multicast, còn lớp E phục vụ cho mục đích nghiên cứu.
Các lớp địa chỉ IP

Hình 1.2 : Các lớp địa chỉ IP
GVHD: Th.S Chu Minh Yên

14


Đồ Án Tốt Nghiệp

Nghiên cứu, tìm hiểu các điểm yếu giao thức TCP/IP
xây dựng Module tấn công và giải pháp phòng chống.

Địa chỉ riêng (private address) và cơ chế chuyển đổi địa chỉ mạng
( Network Address Translation –NAT )
Tất cả các IP host khi kết nối vào mạng Internet đều phải có một địa chỉ
IP do tổ chức IANA (Internet Assigned Numbers Authority ) cấp phát – gọi là
địa chỉ hợp lệ (hay là được đăng ký ). Tuy nhiên số lượng host kết nối vào
mạng ngày càng gia tăng dẫn đến tình trạng khan hiếm địa chỉ IP. Một giải
pháp đưa ra là sử dụng cơ chế NAT kèm theo RFC (Request For Comment)
1918 quy định danh sách địa chỉ riêng. Các địa chỉ này sẽ không được IANA
cấp phát – hay còn gọi là địa chỉ không hợp lệ. Bảng sau liệt kê danh sách các
địa chỉ này:
Nhóm địa chỉ
Lớp
Số lượng mạng

10.0.0.0 đến
A
1
10.255.255.255
172.16.0.0 đến
B
16
172.32.255.255
192.168.0.0 đến
C
256
192.168.255.255
Bảng 1.3 Bảng liệt kê danh sách các địa chỉ riêng
Các giao thức trong mạng IP
Để mạng với giao thức IP hoạt động được tốt, phải cần một số giao
thức bổ sung, không phải là bộ phận của giao thức IP và dùng đến chúng khi
cần.
Giao thức ARP (Address Resolution Protocol): Địa chỉ IP được dùng
để định danh các host và mạng ở tầng mạng của mô hình OSI, và chúng
không phải là các địa chỉ vật lý của các trạm trên đó một mạng cục bộ
(Ethernet, Token Ring.). Trên một mạng cục bộ hai trạm chỉ có thể liên lạc
với nhau nếu chúng biết địa chỉ vật lý của nhau. Như vậy vấn đề đặt ra là phải
tìm được ánh xạ giữa địa chỉ IP (32 bits) và địa chỉ vật lý của một trạm. Giao
thức ARP đã được xây dựng để tìm địa chỉ vật lý từ địa chỉ IP khi cần thiết.
[8]
Giao thức RARP (Reverse Address Resolution Protocol): Là giao
thức ngược với giao thức ARP. Giao thức RARP được dùng để tìm địa chỉ IP
từ địa chỉ vật lý. [8]

GVHD: Th.S Chu Minh Yên


15


Đồ Án Tốt Nghiệp

Nghiên cứu, tìm hiểu các điểm yếu giao thức TCP/IP
xây dựng Module tấn công và giải pháp phòng chống.

Giao thức ICMP (Internet Control Message Protocol): Giao thức
này thực hiện truyền các thông báo điều khiển (báo cáo về các tình trạng các
lỗi trên mạng.) giữa các gateway hoặc một nút của liên mạng. Tình trạng lỗi
có thể là: một gói tin IP không thể tới đích của nó, hoặc một router không đủ
bộ nhớ đệm để lưu và chuyển một gói tin IP, Một thông báo ICMP được tạo
và chuyển cho IP. IP sẽ "bọc" (encapsulate) thông báo đó với một IP header
và truyền đến cho router hoặc trạm đích. [8]
I.1.1.4 Các bước hoạt động của giao thức IP
Khi giao thức IP được khởi động nó trở thành một thực thể tồn tại trong
máy tính và bắt đầu thực hiện những chức năng của mình, lúc đó thực thể IP
là cấu thành của tầng mạng, nhận yêu cầu từ các tầng trên nó và gửi yêu cầu
xuống các tầng dưới nó. nó thực hiện các bước sau đây [3]:
1) Tạo một IP datagram dựa trên tham số nhận được.
2) Tính checksum và ghép vào header của gói tin.
3) Ra quyết định chọn đường: hoặc là trạm đích nằm trên cùng mạng hoặc
một Gateway sẽ được chọn cho chặng tiếp theo.
4) Chuyển gói tin xuống tầng dưới để truyền qua mạng.
Đối với router, khi nhận được một gói tin đi qua, nó thực hiện các động tác
sau:
1) Tính chesksum, nếu sai thì loại bỏ gói tin.
2) Giảm giá trị tham số Time - to Live. nếu thời gian đã hết thì loại bỏ gói tin.

3) Ra quyết định chọn đường.
4) Phân đoạn gói tin, nếu cần.
5) Kiến tạo lại IP header, bao gồm giá trị mới của các vùng Time - to -Live,
Fragmentation và Checksum.
6) Chuyển datagram xuống tầng dưới để chuyển qua mạng.
Cuối cùng khi một datagram nhận bởi một thực thể IP ở trạm đích, nó sẽ thực
hiện bởi các công việc sau:
1) Tính checksum. Nếu sai thì loại bỏ gói tin.
2) Tập hợp các đoạn của gói tin (nếu có phân đoạn).
3) Chuyển dữ liệu và các tham số điều khiển lên tầng trên.
Phân mảnh và ghép một gói tin IP
Giá trị Maximum Transmission Unit (MTU) của một mạng là kích
thước tối đa của một gói tin IP được chuyển đi trong mạng đó (bao gồm của
GVHD: Th.S Chu Minh Yên

16


Đồ Án Tốt Nghiệp

Nghiên cứu, tìm hiểu các điểm yếu giao thức TCP/IP
xây dựng Module tấn công và giải pháp phòng chống.

phần header và phần dữ liệu). Ví dụ: MTU của Ethernet là 1500 byte, các
giao thức trên data link layer khác có thể có các giá trị MTU khác, ví dụ:
Token ring có MTU là 4464 byte, X.25 là 576 byte. Khi một gói tin IP được
gửi từ một mạng có MTU lớn hơn sang một mạng có MTU nhỏ hơn, gói tin
này phải được phân mảng thành nhiều phần nhỏ hơn. Tất cả các phần phân
mảnh sẽ được ghép lại tại đích đến của gói tin. Các thông tin trong phần
header hỗ trợ cho việc phân mảnh gói tin như sau:

- Identification: 16 bit. Dùng để định danh gói tin gốc của phân mảnh.
- Flags: 3 bit. Trong đó có 1 bit không được sử dụng. Có một "Do not
fragment" (DF) bit với ý nghĩa "Không phân mảnh gói tin này". Nếu chiều dài
gói tin lớn hơn MTU của mạng, router sẽ loại bỏ gói tin này. Có một "More
fragment" (MF) bit với ý nghĩa "Còn có thêm các phân mảnh khác thuộc về
cùng một gói tin IP với phân mảnh này". Gói tin cuối cùng có MF=0 (không
còn phân mảnh nào nữa)
- Fragment Offset: 13 bit. Chứa giá trị vị trí của phân mảnh trong gói tin gốc
(chỉ tính phần dữ liệu). Để chứa được chiều dài của gói tin IP (giá trị tối đa là
65535 byte) với 13 bit, IP sử dụng thông tin về vị trí với đơn vị là 8 byte. Do
đó, chiều dài của mỗi phân mảnh phải là bội số của 8, trừ phân mảnh cuối
cùng. Ví dụ: Phân mảnh một gói tin. Một gói tin được truyền tới một mạng
với MTU là 576 byt. Gói tin này có IP header chiếm 20 byte và phần dữ liệu
chiếm 1484 byte. Gói tin này cần được phân mảnh như sau: Chiều dài tối đa
của một phân mảnh là 576-20=556 byte. Thiết lập giá trị tối đa này là 552 để
thỏa mãn yêu cầu về bội số của 8
Tổng chiều dài
ID
MF
Fragment Offset
Gói tin gốc
1504
x
0
0
Phân mảnh 1 572
x
1
0
Phân mảnh 2 572

x
1
69
Phân mảnh 3 400
x
0
138
Bảng 1.4 Phân mảnh gói tin
I.1.2 Giao thức TCP
I.1.2.1 Giới thiệu về TCP
Giao thức TCP (Transmission Control Protocol - Giao thức điều khiển
truyền vận) là một trong các giao thức cốt lõi của bộ giao thức TCP/IP. Sử
dụng TCP, các ứng dụng trên các máy chủ được nối mạng có thể tạo các "kết
nối" với nhau, mà qua đó chúng có thể trao đổi dữ liệu hoặc các gói tin. [1]
GVHD: Th.S Chu Minh Yên

17


Đồ Án Tốt Nghiệp

Nghiên cứu, tìm hiểu các điểm yếu giao thức TCP/IP
xây dựng Module tấn công và giải pháp phòng chống.

Giao thức này đảm bảo chuyển giao dữ liệu tới nơi nhận một cách đáng
tin cậy và đúng thứ tự. TCP còn phân biệt giữa dữ liệu của nhiều ứng đồng
thời chạy trên cùng một máy chủ. TCP hỗ trợ nhiều giao thức ứng dụng phổ
biến nhất trên Internet và các ứng dụng kết quả, trong đó có WWW, thư điện
tử và Secure Shell. Trong bộ giao thức TCP/IP, TCP là tầng trung gian giữa
giao thức IP bên dưới và một ứng dụng bên trên. Các ứng dụng thường cần

các kết nối đáng tin cậy kiểu đường ống để liên lạc với nhau. [8]
I.1.2.2 Cấu trúc của gói tin TCP
Một gói tin TCP bao gồm 2 phần:
- Header
- Data (Dữ liệu)
Phần header có 11 trường trong đó 10 trường bắt buộc. Trường thứ 11 là tùy
chọn có tên là: options

Hình 1.3 Cấu trúc Header của TCP
+Header:
- Source port: Số hiệu của cổng tại máy tính gửi.
- Destination port: Số hiệu của cổng tại máy tính nhận.
- Sequence number: có 2 nhiệm vụ. Nếu cờ SYN bật thì là số thứ tự gói ban
đầu và byte đầu tiên được gửi có số thứ tự này cộng thêm 1. Nếu không có cờ
SYN thì là thứ tự của byte đầu tiên.
- Acknowledgement number: Nếu cớ ACK bật thì giá trị của trường chính là
số thứ tự gói tin tiếp theo mà bên nhận cần.
- Data offset: Trường có độ dài 4 bít qui định độ dài của phần header
- Reserved: Dành cho tương lai và có giá trị là 0.
GVHD: Th.S Chu Minh Yên

18


Đồ Án Tốt Nghiệp

Nghiên cứu, tìm hiểu các điểm yếu giao thức TCP/IP
xây dựng Module tấn công và giải pháp phòng chống.

- Flags (hay Control bits). Bao gồm 6 cờ: URG: Cờ cho trường Urgent

pointer. ACK: Cờ cho trường Acknowledgement. PSH: Hàm Push. RST:
Thiết lập lại đường truyền. SYN: Đồng bộ lại số thứ tự. FIN: Không gửi thêm
số liệu.
- Window: Số byte có thể nhận bắt đầu từ giá trị của trường báo nhận (ACK).
- Checksum: 16 bít kiểm tra cho cả phần header và dữ liệu.
- Urgent pointer: Nếu cờ URG bật thì giá trị trường này chính là số từ 16 bít
mà số thứ tự gói tin (sequence number) cần dịch trái.
- Options: Đây là trường tùy chọn. Nếu có thì độ dài là bội số của 32 bít.
+Data (Dữ liệu)
Trường cuối cùng không thuộc về header. Giá trị của trường này là
thông tin dành cho các tầng trên (trong mô hình 7 lớp OSI). Thông tin về giao
thức của tầng trên không được chỉ rõ trong phần header mà phụ thuộc vào
cổng được chọn.
I.1.2.3 Các tính chất của TCP
1. Quá trình bắt tay 3 bước.
TCP là một giao thức có tính kết nối. Điều này có nghĩa là mọi kết nối
đều có sự thông tin trước. Ví dụ A muốn kết nối tới B thì A phải thong báo
cho B biết trước và đợi trả lời đồng ý từ B. Sự thông tin này diễn ra theo 3
bước : [3]

Hình 1.4 Giao tiếp 3 lượt trong tính kết nối
A gửi thông điệp muốn kết nối tới B. (SYN)
B gửi thông điệp đồng ý kết nối lại cho A. (ACK, SYN)
GVHD: Th.S Chu Minh Yên

19


Đồ Án Tốt Nghiệp


Nghiên cứu, tìm hiểu các điểm yếu giao thức TCP/IP
xây dựng Module tấn công và giải pháp phòng chống.

A gửi thông điệp đã nhận được sự đồng ý lại cho B. (ACK)
SYN: synchronize, đồng bộ hoá kết nối.
ACK: acknowledgement, sự nhận biết.
Diễn giải quá trình:
Bước 1: A gửi một SYN message tới B, thông báo cổng (port) cần kết
nối tới, dung lượng đường truyền của A, khả năng gửi bao nhiêu thông điệp
không cần nhận biết, và các thông tin khác.
Bước 2: B nhận được thông tin từ A, nếu chấp nhận kết nối sẽ gửi trả
thông báo đã nhận được yêu cầu kết nối từ A và chấp nhận sự kết nối, đồng
thời cũng gửi thêm thông tin về B như khả năng gửi bao nhiêu thông điệp
không cần nhận biết
Bước 3: A gửi trả ACK cho B báo rằng A đã nhận được. Kết nối thành
công.
Ngoài ra, khi muốn chấm dứt kết nối, bốn bước sau sẽ được thực
hiện:
- A gửi tín hiệu chấm dứt kết nối. (SYN).
- B nhận tín hiệu và gửi trả tín hiệu cho biết đã nhận. (ACK).
- B gửi tín hiệu cho Application layer thông báo kết nối sẽ bị chấm dứt
đồng thời gửi trả cho A tín hiệu thông báo đồng ý chấm dứt.
- A gửi lại cho B tín hiệu cho biết A đã nhận được thông điệp từ B.
2. Reliability (sự tin cậy)
TCP đảm bảo độ tin cậy bằng 1 số byte sắp xếp cùng với 1 số xác nhận
được chuyển đến. Những Byte mà không được xác nhận trong 1 thời gian xác
định trước thì sẽ được chuyển.
3. Efficient flow control (điều khiển dữ liệu một cách hiệu quả)
TCP cung cấp khả năng điều khiển dòng dữ liệu một cách hiệu quả.
Khi thông báo đã nhận được quay trở về nguồn, TCP sẽ báo chỉ số cao nhất

mà nó có thể nhận được mà không bị tràn bộ đệm.
4. Full-duplex operation (hoạt động song song)
Khả năng hoạt động song song sẽ cho phép TCP gửi hoặc nhận dữ liệu
cùng một lúc.
5. Kiểm soát lỗi

GVHD: Th.S Chu Minh Yên

20


Đồ Án Tốt Nghiệp

Nghiên cứu, tìm hiểu các điểm yếu giao thức TCP/IP
xây dựng Module tấn công và giải pháp phòng chống.

Qua các phần trên, quá trình dữ liệu đi trên mạng đã khá rõ ràng nhưng
trên một mạng rộng lớn như Internet thì có gì đảm bảo dữ liệu sẽ tới đích một
cách an toàn. Điều gì xảy ra nếu trên đường đi các gói dữ liệu bị mất, tắc
nghẽn, lạc đường. Đây chỉ đơn thuần là các sự cố, nhưng thật đáng tiếc là nó
lại rất hay xảy ra trên thực tế, do đó một yêu cầu đặt ra là phải có cơ chế
thông báo và sửa lỗi trên mạng. Khi có lỗi, tầng IP đơn thuần huỷ bỏ dữ liệu
và thông báo lỗi. Thông báo lỗi được thực hiện qua một giao thức gọi là
ICMP (Internet Control Message Protocol). ICMP có thể coi là bạn đồng hành
với IP và có một số đặc điểm sau:
- Dùng IP để truyền thông báo qua mạng.
- Không có chức năng sửa lỗi mà chỉ đơn thuần là máy thông báo lỗi.
- Thông báo lỗi về gói dữ liệu IP nhưng lại không thể thông báo lỗi về
gói dữ liệu của chính mình.
- Nếu gói dữ liệu IP bị phân mảnh thì khi xảy ra lỗi, ICMP chỉ thông

báo lỗi của mảnh đầu tiên.
Khi có lỗi xảy ra trên đường truyền và phải truyền lại dữ liệu thì TCP
không chờ đợi thông báo xác nhận từ phía máy B mà nó làm theo cách sau:
khi truyền một gói dữ liệu, TCP bấm giờ và nếu thời gian hết mà không thấy
thông báo xác nhận thì nó tiến hành truyền lại. Như vậy thời gian để bấm giờ
hết sức quan trọng. Ban đầu thời gian này được thiết lập xung quanh khoảng
thời gian kể từ khi TCP A gửi dữ liệu đi đến khi nhận được thông báo xác
nhận. Nhưng về sau do cách tính này không hợp lý nên đã có nhiều cách thiết
lập khác nhau. Một trong các cách tính được dùng phổ biến hiện nay là thuật
toán của Phil Karn. Nội dung căn bản của thuật toán là mỗi khi hết thời gian
thì khoảng thời gian bấm đồng hồ tăng lên gấp một số lần cho trước.[3]
I.1.2.4 Nguyên tắc hoạt động
Không như giao thức UDP - giao thức có thể lập tức gửi gói tin mà
không cần thiết lập kết nối, TCP đòi hỏi thiết lập kết nối trước khi bắt đầu gửi
dữ liệu và kết thúc kết nối khi việc gửi dữ liệu hoàn tất.

GVHD: Th.S Chu Minh Yên

21


Đồ Án Tốt Nghiệp

Nghiên cứu, tìm hiểu các điểm yếu giao thức TCP/IP
xây dựng Module tấn công và giải pháp phòng chống.

Hình 1.5 Nguyên tắc hoạt động của TCP
Cụ thể, các kết nối TCP có ba pha:
- Thiết lập kết nối
- Truyền dữ liệu

- Kết thúc kết nối
Trước khi miêu tả các pha, cần lưu ý các trạng thái khác nhau của một socket:
-LISTEN: Đang đợi yêu cầu kết nối từ một TCP và cổng bất kỳ ở xa
(trạng thái này thường do các TCP server đặt).
-SYN-SENT: Đang đợi TCP ở xa gửi một gói tin TCP với các cờ SYN
và ACK được bật (trạng thái này thường do các TCP client đặt).
-SYN-RECEIVED: Đang đợi TCP ở xa gửi lại một tin báo nhận sau
khi đã gửi cho TCP ở xa đó một tin báo nhận kết nối (connection
acknowledgment)

GVHD: Th.S Chu Minh Yên

22


Đồ Án Tốt Nghiệp

Nghiên cứu, tìm hiểu các điểm yếu giao thức TCP/IP
xây dựng Module tấn công và giải pháp phòng chống.

-ESTABLISHED: Cổng đã sẵn sàng nhận/gửi dữ liệu với TCP ở xa
(đặt bởi TCP client và server).
-TIME-WAIT: Đang đợi qua đủ thời gian để chắc chắn là TCP ở xa đã
nhận được tin báo nhận về yêu cầu kết thúc kết nối của nó. Theo RFC 793,
một kết nối có thể ở tại trạng thái TIME-WAIT trong vòng tối đa 4 phút.
Thiết lập kết nối [3]
Để thiết lập một kết nối, TCP sử dụng một quy trình bắt tay 3 bước.
Trước khi client thử kết nối với một server, server phải đăng ký một cổng và
mở cổng đó cho các kết nối: đây được gọi là mở bị động. Một khi mở bị động
đã được thiết lập thì một client có thể bắt đầu mở chủ động. Để thiết lập một

kết nối :
1> SYN: Các chương trình máy con bắt đầu connection với máy chủ
bằng cách gửi 1 packet với cờ "SYN" đến máy chủ. Chương trình trên máy
con sẽ hỏi hệ điều hành cho 1 cổng để mở connection với máy chủ. Những
cổng trong vùng này được gọi là "cổng máy con" . Tương tự như vậy, máy
chủ sẽ hỏi HĐH (hệ điều hành ) để nhận được quyền chờ tín hiệu trong máy
chủ, vùng cổng 1 - 1023. Vùng cổng này được gọi là "vùng cổng dịch vụ"
( service port ).
2> SYN/ACK: khi yêu cầu mở connection được máy chủ nhận được tại
cổng đang mở, server sẽ gửi lại packet chấp nhận với 2 bit SYN và ACK:
SYN/ACK packet được gửi ngược lại bằng cách đổi 2 IP của server và client,
client IP sẽ thành IP đích và server IP sẽ thành IP bắt đầu. Tương tự n, cổng
cũng sẽ thay đổi, server nhận được packet ở cổng nào thì cũng sẽ dùng cổng
đó để gủi lại packet vào cổng mà client đã gửi. Server gửi lại packet này để
thông báo là server đã nhận được tín hiệu và chấp nhận connection, trong
trường hợp server không chấp nhận connection, thay vì SYN/ACK bits được
bật, server sẽ bật bit RST/ACK ( Reset Acknowledgement ) và gởi ngược lại
RST/ACK packet.
3> ACK Khi client nhận được SYN/ACK packet thì sẽ trả lời bằng
ACK packet: packet này được gởi với mục đích duy nhất báo cho máy chủ
biết rằng client đã nhận được SYN/ACK packet và lúc này connection đã
được thiết lập và dữ liệu sẽ bắt đầu lưu thông tự do giữa connection. Đến đây,
cả client và server đều đã nhận được một tin báo nhận (acknowledgement) về
kết nối.
GVHD: Th.S Chu Minh Yên

23


Đồ Án Tốt Nghiệp


Nghiên cứu, tìm hiểu các điểm yếu giao thức TCP/IP
xây dựng Module tấn công và giải pháp phòng chống.

I.1.3 Bộ Giao Thức TCP/IP
I.1.3.1 Giới thiệu
Bộ giao thức TCP/IP(bộ giao thức liên mạng), là một bộ các giao thức
truyền thông cài đặt chồng giao thức mà Internet và hầu hết các mạng máy
tính thương mại đang chạy trên đó. 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. Như nhiều bộ giao thức khác, 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 giải quyết một tập các vấn đề có
liên quan đến việc truyền dữ liệu, và cung cấp cho các giao thức tầng cấp trên
một dịch vụ được định nghĩa rõ ràng dựa trên việc sử dụng các dịch vụ của
các tầng thấp hơn. Về mặt lôgic, các tầng 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 cấp 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 một
cách vật lý.[2]
I.1.3.2 Tổng quát
Để cho các máy tính trao đổi dữ liệu với nhau TCP/IP sử dụng mô hình
truyền thông 4 tầng hay còn gọi là mô hình DoD (Department of Defense- Mô
hình của Bộ Quốc Phòng Mỹ). Các tầng trong mô hình này là (Theo thứ tự từ
trên xuống):
+ Tầng ứng Dụng (Application Layer)
+ Tầng Giao Vận (Transport Layer)
+ Tầng Liên Mạng (Internet Layer)
+ Tầng Giao Diện Mạng (Network Interface Layer)

Hình 1.6 Mô hình TCP/IP
GVHD: Th.S Chu Minh Yên


24


Đồ Án Tốt Nghiệp

Nghiên cứu, tìm hiểu các điểm yếu giao thức TCP/IP
xây dựng Module tấn công và giải pháp phòng chống.

Tầng giao diện mạng
Tầng giao diện mạng có trách nhiệm đưa dữ liệu tới và nhận dữ liệu từ
phương tiện truyền dẫn. Tầng này gồm các thiết bị phần cứng vật lí chẳng hạn
như card mạng và cáp. MAC đóng vai trò quan trọng trong việc gán địa chỉ và
truyền dữ liệu.
Tầng liên mạng
Nằm bên trên tầng giao diện mạng. Tầng này có chức năng gán địa chỉ,
đóng gói và định tuyến (Route) dữ liệu. Bốn giao thức quan trọng nhất trong
tầng này gồm:
+ IP (Internet Protocol): Có chức năng gán địa chỉ cho dữ liệu trước khi
truyền và định tuyến chúng tới đích.
+ ARP (Address Resolution Protocol): Có chức năng biên dịch địa chỉ IP của
máy đích thành địa chỉ MAC.
+ ICMP (Internet Control Message Protocol): Có chức năng thông báo lỗi
trong trường hợp truyền dữ liệu bị hỏng.
+ IGMP (Internet Group Management Protocol): Có chức năng điều khiển
truyền đa hướng (Multicast).
Tầng giao vận
Có trách nhiệm thiết lập phiên truyền thông giữa các máy tính và quy
định cách truyền dữ liệu. Hai giao thức chính trong tầng này gồm:
+ UDP (User Datagram Protocol): Còn gọi là giao thức gói người dùng. UDP

cung cấp các kênh truyền thông phi kết nối nên nó không đảm bảo truyền dữ
liệu 1 cách tin cậy. Các ứng dụng dùng UDP thường chỉ truyền những gói có
kích thước nhỏ, độ tin cậy dữ liệu phụ thuộc vào từng ứng dụng.
+ TCP (Transmission Control Protocol): Ngược lại với UDP, TCP cung cấp
các kênh truyền thông hướng kết nối và đảm bảo truyền dữ liệu 1 cách tin
cậy. TCP thường truyền các gói tin có kích thước lớn và yêu cầu phía nhận
xác nhận về các gói tin đã nhận.
Tầng ứng dụng
Gồm nhiều giao thức cung cấp cho các ứng dụng người dùng. Được sử
dụng để định dạng và trao đổi thông tin người dùng. Một số giao thức thông
dụng trong tầng này là:
+ DHCP (Dynamic Host Configuration Protocol): Giao thức cấu hình trạm
động.
GVHD: Th.S Chu Minh Yên

25


×