Báo cáo đồ án tốt ngiệp
Báo cáo đồ án tốt ngiệp
Đề tài: “Thiết kế xây dựng ứng dụng tự động
kiểm soát truy cập mạng”
Giáo viên hướng dẫn:
Mục đích-Yêu cầu đồ án
Mục đích-Yêu cầu đồ án
1. Nghiên cứu các phương thức truyền tin, phần mềm bắt
gói tin trên mạng WinPcap và công cụ phân tích gói tin
PacketX.
2. Thiết kế xây dựng ứng dụng hỗ trợ thiết kế mạng cho một
khu vực mạng LAN, tự động kiểm soát truy cập mạng và
hỗ trợ máy chủ có cài đặt chương trình.
Nội dung báo cáo
Nội dung báo cáo
1. Nghiên cứu mô hình mạng OSI.
2. Bộ giao thức TCP/IP và điểm yếu trong hoạt động của
bộ giao thức TCP/IP
3. Nghiên cứu phần mềm bắt gói tin WinPcap và bộ công
cụ phân tích gói tin PacketX.
4. Xây dựng chương trình hỗ trợ thiết kế mạng, chặn bắt và
phân tích gói tin trên mạng.
Mô hình mạng OSI
Mô hình mạng OSI
1. Khái niệm về mạng máy tính:
2. Kiến trúc mạng máy tính.
Kiến trúc mạng máy tính (network architecture) thể hiện
cách nối các mạng máy tính với nhau ra sao (topo mạng)
và tập hợp các quy tắc, quy ước mà tất cả các thực thể
tham gia truyền thông trên mạng phải tuân theo để đảm
bảo cho mạng hoạt động tốt(giao thức mạng).
3. Mô hình mạng OSI
Mô hình mạng OSI
Mô hình mạng OSI
SESSION
Các giao thức tầng phiên
APPLICATION
Các giao thức tầng ứng dụng
NETWORK
Các giao thức tầng mạng
PRESENTATION
Các giao thức tầng trình diễn
TRANSPORT
Các giao thức tầng giao vận
DATA-LINK
Các giao thức tầng liên kết dữ liệu
PHYSICAL
Các giao thức tầng vật lý
Trên mạng Internet hiện nay, bộ giao thức TCP/IP sử
dụng mô hình mạng bốn tầng. Mỗi tầng trong mô hình
bốn tầng này tương ứng với một hoặc nhiều tầng trong
mô hình mạng OSI. Dưới đây là hình ảnh ánh xạ của
mô hình OSI và mô hình bộ giao thức TCP/IP.
Mô hình OSI Mô hình cho giao thức TCP/IP
Application
Application
Presentation
Session
Transport Transport
Network Internet
Data-link
Network Interface
Physical
Mô hình mạng OSI
Mô hình mạng OSI
Bộ giao thức TCP/IP
Bộ giao thức TCP/IP
1. Giao thức IP :
NetId HostId
Địa chỉ lớp A 0xxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx
Địa chỉ lớp B 10xxxxxx xxxxxxxx xxxxxxxx xxxxxxxx
Địa chỉ lớp C 110xxxxx xxxxxxxx xxxxxxxx xxxxxxxx
• Cấu trúc gói dữ liệu IP :
4 8 16 32 bits
Ver IHL Type of Server Total Length
Identification Flags Fragment offset
Time to Live Protocol Header Checksum
Source address
Destination address
Option + padding
Data
•
Một số giao thức sử dụng trong mạng IP:
Giao thức ARP (Address Resolution Protocol)
Giao thức RARP (Reverse Address Resolution Protocol)
Giao thức ICMP (Internet Control Message Protocol)
Bộ giao thức TCP/IP
Bộ giao thức TCP/IP
Bộ giao thức TCP/IP
Bộ giao thức TCP/IP
2. Giao thức TCP :
•
TCP là một giao thức có liên kết. Nghĩa là cần phải
thiết lập liên kết giữa 2 thực thể TCP trước khi trao đổi
DL.
•
Mội cổng TCP kết hợp với địa chỉ IP tạo thành một đầu
nối TCP/IP (socket) duy nhất trong liên mạng.
•
Cấu trúc dữ liệu gói TCP :
16 32 bits
Source port Destination port
Sequence number
Acknowledgement number
Offset Receiver U A P R S F Window
Checksum Urgent Pointer
Option + Padding
Data
Bộ giao thức TCP/IP.
Bộ giao thức TCP/IP.
•
Ba bước bắt tay tạo lập liên kết :
Trước khi hai máy tính có thể truyền thông với nhau
qua một kết nối TCP thì kết nối đó phải được thiết lập.
Quá trình xử lý việc thiết lập kết nối TCP được chia
thành ba bước. Mô hình dưới đây minh họa ba bước
bắt tay tạo liên kết TCP:
Client
Server
SYN(INS A)
ACK(INS B +1)
SYN(INS B) +ACK(INS A+1)
Bộ giao thức TCP/IP
Bộ giao thức TCP/IP
•
Bốn bước bắt tay giải phóng liên kết :
Để giải phóng một kết nối TCP đã được thiết lập, hai
máy sử dụng bốn bước. Mô hình dưới đây minh họa
bốn bước bắt tay giải phóng liên kết :
FIN(SN
)
ACK(SN+1)
FIN(SN)
ACK(SN+1)
Client
Server
Một số kỹ thuật tấn công phổ biến
1. Kỹ thuật tấn công dựa trên phân mảnh gói tin :
Kỹ thuật tấn công này dựa trên yêu cầu bảo vệ của bộ
lọc IP.
•
Kỹ thuật phân nhỏ gói tin :
Theo RFC 791, các gói tin dẫn đường có kích thước 68
byte và không có phân đoạn trong đó. Kỹ thuật tấn công
này sẽ yêu cầu kết nối từ một trong hai phân mảnh của
gói tin.
Một số kỹ thuật tấn công phổ biến
Fragment 1
16bits 32bits
Ver IHL TOS Total Length
Identification Flags Fragment Offset=0
TTL Protocol Header checksum
Source Address
Destination Address
Options
Source Port Destination Port
Sequence Number
Một số kỹ thuật tấn công phổ biến
Fragment 2
16 bits 32 bits
Ver IHL TOS Total Length
Identification Flags Fragment Offset=1
TTL Protocol Header checksum
Source Address
Destination Address
Options
Acknowlegment Number
Data
offset
Reserved
U
0
A
0
P
0
R
0
S
1
F
0
Window
Checksum Urgent Pointer
Option
Một số kỹ thuật tấn công phổ biến
Một số kỹ thuật tấn công phổ biến
Fragment 1+ Fragment 2
16bits 32bit
s
Ver IHL TOS Total Length
Identification Flags
Fragment
Offset=0
TTL Protocol Header checksum
Source Address
Destination Address
Options
Source Port Destination Port
Sequence Number
Acknowlegment Number
Data offset
Reserve
d
U
0
A
0
P
0
R
0
S
1
F
0
Window
Checksum Urgent Pointer
Option
Một số kỹ thuật tấn công phổ biến
Một số kỹ thuật tấn công phổ biến
•
Kỹ thuật phân mảnh – ghi đè gói tin :
Theo RFC 791, nếu hai phân mảnh IP chồng chéo nhau
thì phân mảnh thứ 2 sẽ được sử dụng. Trong kỹ thuật này
bộ lọc IP sẽ chấp nhận phân mảnh thứ nhất gồm 68 byte.
Phân mảnh thứ 2 không yêu cầu kết nối TCP (SYS=0,
ACK=0), phân mảnh này chứa dữ liệu cho kết nối thực tế
được chấp nhận bởi bộ lọc IP (vì bộ lọc IP xem rằng kết
nối chưa được mở). Do đó gói tin tạo ra là yêu cầu kết nối
không phụ thuộc vào quy tắc bộ lọc IP.
2. Giả mạo địa chỉ IP
Mục đích chính của kiểu tấn công này là chiếm dụng địa
chỉ IP của một máy tính trong mạng.
Một số kỹ thuật tấn công phổ biến
Một số kỹ thuật tấn công phổ biến
Nguyên tắc cơ bản của kiểu tấn công này là: Kẻ tấn công
có gói tin IP, đã làm thay đổi địa chỉ IP nguồn. Do vậy
gói tin trả lời sẽ không thể đến được máy tính của kẻ tấn
công.
3. Giả mạo ARP:
Kiểu tấn công này còn gọi là chuyển hướng ARP, chuyển
hướng giao thông mạng tới máy của kẻ tấn công.
4. Tấn công tràn SYS:
Một kết nối TCP từ client tới máy chủ sẽ được máy chủ
lưu vào bộ đệm TCP/IP cho tới khi nó nhận được gói tin
cuối cùng có cờ ACK từ client.Tuy nhiên thì nó sẽ không
nhận được những gói tin cuối cùng đó vì vậy có rất nhiều
kết nối tồn tại trong bộ nhớ của TCP/IP
Giới thiệu phần mềm bắt gói tin trên
Giới thiệu phần mềm bắt gói tin trên
mạng WinPcap và thư viện PacketX
mạng WinPcap và thư viện PacketX
1. Winpcap là thư viện mã nguồn mở dùng để bắt gói tin
và phân tích gói tin trên nền Win32. Winpcap hỗ trợ một
số chức năng sau :
•
Thu thập những gói dữ liệu thô.
•
Lọc gói DL theo yêu cầu trước khi truyền tới ứng dụng.
•
Truyền những gói DL thô tới mạng.
•
Thu thập thông tin thống kê lưu lượng mạng.
2. Thư viện PacketX là thư viện hỗ trợ lập trình trên cơ sở
phân tích các gói tin. Nó được phát triển từ thư viện
Winpcap và ẩn đi các hàm làm việc ở mức thấp thay vào
đó là các lớp làm việc ở mức cao do đó dễ dàng cho việc
xây dựng các ứng dụng mạng nhanh chóng, hiệu quả.
Xây dựng chương trình hỗ trợ thiết
Xây dựng chương trình hỗ trợ thiết
kế mạng, chặn bắt và phân tích gói
kế mạng, chặn bắt và phân tích gói
tin trên mạng
tin trên mạng
1. Giám sát trạng thái Online/Offline của các máy tính
trong mạng.
2. Giám sát các phiên trao đổi dữ liệu bằng giao thức TCP.
3. Hỗ trợ bảo vệ máy tính có cài đặt chương trình.
4. Hỗ trợ quản lý mạng Lan trong một tòa nhà.
Xây dựng chương trình hỗ trợ thiết
Xây dựng chương trình hỗ trợ thiết
kế mạng, chặn bắt và phân tích gói
kế mạng, chặn bắt và phân tích gói
tin trên mạng
tin trên mạng
•
Sơ đồ chức năng của hệ thống :
Xây dựng chương trình hỗ trợ thiết
Xây dựng chương trình hỗ trợ thiết
kế mạng, chặn bắt và phân tích gói
kế mạng, chặn bắt và phân tích gói
tin trên mạng
tin trên mạng
•
Thiết kế hệ thống dữ liệu :
HOSTINFO(Chi tiết về một máy tính trong mạng)
STT Tên trường Kiểu dữ liệu Ghi chú
1 Hostname String Tên máy
2 ip string Địa chỉ IP
3 mac String Địa chỉ MAC
4 online Boolean Trạng thái online/offline
5 isStop Boolean Trạng thái bị chặn/không
6 Connected Boolean Trạng thái connect với máy chủ
Chi tiết về một máy tính trong mạng
Xây dựng chương trình hỗ trợ thiết
Xây dựng chương trình hỗ trợ thiết
kế mạng, chặn bắt và phân tích gói
kế mạng, chặn bắt và phân tích gói
tin trên mạng
tin trên mạng
Chi tiết về một phiên truyền nhận dữ liệu
PACKETINFO(Chi tiết về một phiên truyền nhận DL)
STT Tên trường Kiểu dữ liệu Ghi chú
1 SrcIP String Địa chỉ IP nguồn
2 DesIP String Địa chỉ IP đích
3 SrcPort int Cổng nguồn
4 DesPort Int Cổng đích
5 TimeStart DateTime Thời điểm nhận được gói tin đầu
6 TimeStop DateTime Thời điểm nhận được gói tin cuối
7 Datasize Int Tổng số gói tin
8 SrcMAC String Địa chỉ mac nguồn
9 DesMAC String Địa chỉ mac đích
10 Protocol String Protocol
Xây dựng chương trình hỗ trợ thiết
Xây dựng chương trình hỗ trợ thiết
kế mạng, chặn bắt và phân tích gói
kế mạng, chặn bắt và phân tích gói
tin trên mạng
tin trên mạng
1. Giám sát trạng thái Online/Offline của các máy tính
trong mạng.
Chương trình sẽ gửi các gói tin kiểm tra sự tồn tại của
những máy tính đã có trong CSDL của chương trình và
liên tục cập nhật thông tin về những máy tính mới xuất
hiện trong mạng cho người quản trị.
Xây dựng chương trình hỗ trợ thiết
Xây dựng chương trình hỗ trợ thiết
kế mạng, chặn bắt và phân tích gói
kế mạng, chặn bắt và phân tích gói
tin trên mạng
tin trên mạng
2. Giám sát các phiên trao đổi DL bằng giao thức TCP.
Trên cơ sở các gói tin nhận được, chương trình phân tích
chi tiết trong header của các gói tin, đưa ra thông tin về
những phiên trao đổi dữ liệu bằng giao thức TCP/IP
diễn ra trong mạng.
Xây dựng chương trình hỗ trợ thiết
Xây dựng chương trình hỗ trợ thiết
kế mạng, chặn bắt và phân tích gói
kế mạng, chặn bắt và phân tích gói
tin trên mạng
tin trên mạng
3. Hỗ trợ máy tính có cài đặt chương trình.
Chức năng này cho phép người sử dụng ngăn chặn sự
trao đổi DL giữa các máy tính trong mạng với máy tính
có cài đặt chương trình.