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

Nghiên cứu kỹ thuật đọc lén dữ liệu trong mạng lan dùng phương pháp arp poisoning và xây dựng công cụ phát hiện đọc lén

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

TẬP ĐOÀN BƯU CHÍNH VIỄN THÔNG VIỆT NAM

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
------------------------------

ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
Đề tài : “NGHIÊN CỨU KỸ THUẬT ĐỌC LÉN DỮ LIỆU
TRONG MẠNG LAN DÙNG PHƯƠNG PHÁP ARP
POISONING VÀ XÂY DỰNG CÔNG CỤ PHÁT HIỆN MÁY
ĐỌC LÉN”

Người hướng dẫn
Hệ

:

THS. LÊ PHÚC

:

ĐẠI HỌC CHÍNH QUY

TP. HỒ CHÍ MINH, NĂM 2012


TẬP ĐOÀN BƯU CHÍNH VIỄN THÔNG VIỆT NAM

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
------------------------------


ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
Đề tài : “NGHIÊN CỨU KỸ THUẬT ĐỌC LÉN DỮ LIỆU
TRONG MẠNG LAN DÙNG PHƯƠNG PHÁP ARP
POISONING VÀ XÂY DỰNG CÔNG CỤ PHÁT HIỆN MÁY
ĐỌC LÉN”

Người hướng dẫn
Hệ

:

THS. LÊ PHÚC

:

ĐẠI HỌC CHÍNH QUY

TP. HỒ CHÍ MINH, NĂM 2012


Đồ án tốt nghiệp Đại học

Lời cảm ơn

LỜI CẢM ƠN
Để hoàn thành đồ án tốt nghiệp này, lời đầu tiên em xin cảm ơn quý Thầy cô Khoa
công nghệ thông tin trường Học viện công nghệ bưu chính viễn thông đã tận tình
giảng dạy, truyền đạt những kiến thức quý báu trong quá trình học tập làm nền tảng và
tạo điều kiện cho em thực hiện tốt đồ án tốt nghiệp Đại học.

Em xin bày tỏ lòng biết ơn sâu sắc nhất tới thầy Lê Phúc người đã hướng dẫn tận
tình, chỉ bảo em trong suốt thời gian thực tập và làm đồ án.
Mặc dù đã cố gắng trong nghiên cứu và thực hiện đồ án, nhưng vì thời gian và
trình độ còn hạn chế nên chắc chắn bài báo cáo sẽ không tránh khỏi nhiều thiếu sót.
Em rất mong nhận được sự đóng góp và giúp đỡ của các thầy cô giáo, các bạn sinh
viên để em có thể phát triển hơn nữa những nghiên cứu và chương trình của mình.
Một lần nữa em xin chân thành cảm ơn tất cả mọi người đã giúp đỡ em hoàn thành
đồ án tốt nghiệp này một cách tốt nhất.
Em xin chân thành cảm ơn!

Trang i


Đồ án tốt nghiệp Đại học

Mục lục

MỤC LỤC
Trang
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT............................................................iv
DANH MỤC CÁC BẢNG VẼ..................................................................................................v
DANH MỤC CÁC HÌNH VẼ.................................................................................................vi
MỞ ĐẦU....................................................................................................................................1
CHƯƠNG 1: CÁC PHƯƠNG PHÁP ĐỌC LÉN DỮ LIỆU TRÊN MẠNG LAN.............2
1.1. Đọc lén dữ liệu trên mạng – sniffing.

2

1.2. Tác hại của sniffing.


2

1.3. Hoạt động của sniffing.

2

1.4. Sniffing trong môi trường Shared Ethernet.

3

1.5. Sniffing trong môi trường Switched Ethernet.

4

1.6. Các phương pháp sniffing trên mạng LAN.

5

1.6.1. MAC attack..............................................................................................................................................5
1.6.2. DHCP attack............................................................................................................................................6
1.6.3. Spoofing Attack.......................................................................................................................................7
1.6.4. DNS poisoning........................................................................................................................................8

CHƯƠNG 2: CƠ CHẾ ĐỌC LÉN DÙNG PHƯƠNG PHÁP ARP POISONING............10
2.1. Giao thức ARP (Address Resolution Protocol).

10

2.2. Cơ chế hoạt động của ARP.


10

2.2.1. Cơ chế hoạt động của ARP trong mạng LAN........................................................................................11
2.2.2. Cơ chế hoạt động của ARP trong môi trường hệ thống mạng.............................................................12

2.3. ARP Cache.

13

2.4. Tấn công giả mạo ARP cahe (ARP poisoning).

14

2.4.1. Cơ chế tấn công giả mạo ARP Cache (ARP Poisoning)..........................................................................14
2.4.2. Thực hiện tấn công ARP poisoning.......................................................................................................19

2.5. Các biện pháp phòng chống.

24

2.5.1. Bảo mật mạng LAN...............................................................................................................................24
2.5.2. Cấu hình lại bảng ARP Cache................................................................................................................25

CHƯƠNG 3: XÂY DỰNG CÔNG CỤ PHÁT HIỆN ĐỌC LÉN TRÊN MẠNG LAN....26
3.1. Ý tưởng cơ bản của việc phát hiện ARP poisoning.

26

3.2. Bộ lọc phần cứng.


26

3.3. Cơ bản về phát hiện node promiscuous.

27

3.4. Bộ lọc phần mềm.

28

3.4.1. Linux......................................................................................................................................................28
3.4.2. Windows...............................................................................................................................................29

Trang ii


Đồ án tốt nghiệp Đại học
3.5. Xây dựng công cụ phát hiện đọc lén trên mạng LAN.

Mục lục
31

3.5.1. Ý tưởng phát hiện đọc lén trên mạng LAN...........................................................................................31
3.5.2. Các vấn đề cơ bản về xây dựng công cụ phát hiện đọc lén trên mạng LAN.........................................31
3.5.3. Lưu đồ giải thuật và cơ chế của hệ thống phát hiện đọc lén trên mạng LAN......................................33

3.5.3.1. Các lược đồ của hệ thống..................................................................................33
3.5.3.2. Cơ chế phát hiện đọc lén của hệ thống và xây dựng công cụ phát hiện đọc lén
trên mạng LAN..............................................................................................................35
3.6. Thực hiện thử nghiệm phát hiện đọc lén trên mạng LAN bằng công cụ vừa xây

dựng.
38
KẾT LUẬN..............................................................................................................................43
TÀI LIỆU THAM KHẢO......................................................................................................44

Trang iii


Đồ án tốt nghiệp Đại học

Danh mục các ký hiệu và chữ viết tắt

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
Từ viết tắt

Từ đầy đủ

Nghĩa của từ

ARP

Address Resolution Protocol

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

CAM

Content addressable memory

Bộ nhớ nội dung địa chỉ


COM

Component Object Model

Mô hình đối tượng thành phần

DFD

Data flow diagram

Lược đồ dòng dữ liệu

DHCP

Dynamic Host Configuration
Protocol

Giao thức cấu hình host động

DNS

Domain Name System

Hệ thống tên miền

DNSSEC

Domain Name System Security
Extensions


Công nghệ bảo mật mở rộng cho hệ
thống tên miền.

FTP

File Tranfer Protocol

Giao thức truyền tập tin

HTTP

HyperText Tranfer Protocol

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

IMAP

Internet Message Access
Protocol

Giao thức truy cập thư tín trên internet

IP

Internet Protocol

Giao thức Internet

LAN


Local Area Network

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

MAC

Media Access Control

Điều khiển môi trường truy cập

NIC

Network Interface Controller

Card giao tiếp mạng

NNTP

Network News Tranfer Protocol Giao thức truyền tải tin tức trên mạng

OSI

Open Systems Interconnection
Reference Model

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

POP


Post Office Protocol

Giao thức lấy thư tín

Promisc

Promiscuous

Hỗn tạp/Hỗn loạn

SMTP

Simple Mail Tranfer Protocol

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

SQL

Structured Query Language

Ngôn ngữ truy vấn có cấu trúc

TCP

Tranmission Control Protocol

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

TTL


Time To Live

Thời gian sống

VLAN

Virtual Local Area Network

Mạng nội bộ ảo

Trang iv


Đồ án tốt nghiệp Đại học

Danh mục các bảng vẽ

DANH MỤC CÁC BẢNG VẼ
Trang
Bảng 1.1. Các gói tin DHCP.....................................................................................................7
Bảng 3.1. Bộ lọc phần cứng và phần mềm trên Linux.........................................................29
Bảng 3.2. Kết quả thử nghiệm các loại địa chỉ vật lý...........................................................30
Bảng 3.3. TTL và Window Size của các hệ điều hành.........................................................32
Bảng 3.4. Thông số gói ARP request.....................................................................................35

Trang v


Đồ án tốt nghiệp Đại học


Mở đầu

DANH MỤC CÁC HÌNH VẼ
Trang
Hình 1.1. Mạng Shared Ethernet.............................................................................................3
Hình 1.2. Mạng Switched Ethernet.........................................................................................4
Hình 1.3. Hoạt động của bảng CAM.......................................................................................5
Hình 1.4. Hoạt động của DHCP...............................................................................................6
Hình 1.5. Tấn công MAC spoofing..........................................................................................8
Hình 2.1. Mô hình OSI............................................................................................................10
Hình 2.2. Cơ chế hoạt động của quá trình truyền thông ARP............................................13
Hình 2.3. Cập nhật bảng ARP Cache....................................................................................14
Hình 2.4. Mô hình tấn công giả mạo ARP Cache.................................................................18
Hình 2.5. Địa chỉ IP và MAC thật của Gateway trên ARP Cache của thiết bị phát ARP
Request.....................................................................................................................................18
Hình 2.6. Địa chỉ MAC thật của Gateway đã bị máy tấn công thay thế bằng MAC của
máy tấn công............................................................................................................................19
Hình 2.7. Sơ đồ mạng sử dụng thực hiện tấn công ARP poisoning....................................20
Hình 2.8. Chọn card NIC để thực hiện tấn công..................................................................20
Hình 2.9. Scan địa chỉ MAC của các host trên cùng mạng LAN........................................21
Hình 2.10. Chọn mục tiêu tấn công ARP poisoning.............................................................21
Hình 2.11. Bắt đầu tấn công ARP poisoning........................................................................22
Hình 2.12. ARP cache máy nạn nhân sau khi bị tấn công ARP poisoning........................22
Hình 2.13. Địa chỉ MAC của máy tấn công..........................................................................23
Hình 2.14. Nạn nhân đăng nhập trên website yahoo...........................................................23
Hình 2.15. Thông tin tài khoản và mật khẩu của nạn nhân bị lấy cắp..............................24
Hình 3.1. Bộ lọc phần cứng....................................................................................................27
Hình 3.2. Cách phát hiện node promiscuous cơ bản............................................................28
Hình 3.3. Lưu đồ giải thuật phát hiện ARP poisoning cơ bản............................................31

Trang vi


Đồ án tốt nghiệp Đại học

Mở đầu

Hình 3.4. Trường Sender IP address trong gói tin ARP.....................................................32
Hình 3.5. Lược đồ ngữ cảnh hệ thống phát hiện đọc lén trên mạng LAN.........................33
Hình 3.6. DFD-0 Hệ thống phát hiện đọc lén trên mạng LAN...........................................34
Hình 3.7. Lưu đồ giải thuật hệ thống phát hiện đọc lén trên mạng LAN..........................37
Hình 3.8. Sơ đồ mạng sử dụng thử nghiệm công cụ phát hiện đọc lén trên mạng LAN.. 38
Hình 3.9. Bắt đầu thực hiện Scan MAC address trên mạng...............................................39
Hình 3.10. Danh sách các host trong mạng LAN.................................................................39
Hình 3.11. Chọn các host để bắt đầu tấn công.....................................................................40
Hình 3.12. Bắt đầu tấn công ARP poisoning để đọc lén trên mạng LAN..........................40
Hình 3.13. ARP cache máy victim 1 sau khi bị ARP poisoning..........................................41
Hình 3.14. Bắt đầu bắt gói tin trên mạng LAN....................................................................41
Hình 3.15. Thông báo phát hiện hệ thống mạng đang bị đọc lén.......................................42
Hình 3.16. Thông tin của máy attacker.................................................................................42

Trang vii


Đồ án tốt nghiệp Đại học

Mở đầu

MỞ ĐẦU
Công nghệ mạng máy tính và truyền thông ngày nay đang được sử dụng một

cách rộng rãi với những phần mềm công nghệ được tạo ra để cung cấp cho người
dùng. Sự phát triển mạnh mẽ của mạng Internet đã mang lại những lợi ích về mặt
thông tin cho mỗi cá nhân, gia đình, tổ chức công ty.
Sự phát triển mạnh mẽ của mạng máy tính và truyền thông bên cạnh đó cũng
mang lại rất nhiều khó khăn trong việc thiết kế, bảo dưỡng và an ninh mạng. Đặc biệt
là trong lĩnh vực bảo đảm an toàn cho thông tin người dùng. Đây là một vấn đề rất khó
khăn vì dữ liệu, thông tin người dùng là vô cùng quan trọng đối với mỗi cá nhân, tổ
chức. Trên mạng nội bộ LAN khi các dữ liệu luân chuyển trên mạng có thể dễ dàng bị
đọc lén bởi các hacker, điều này vô cùng nguy hiểm gây hại nghiêm trọng đến cá nhân
người dùng và các tổ chức nhất là khi hacker có thể đọc lén được các thông tin nhạy
cảm.
Hiện nay việc đọc lén mạng lại được thực hiễn dễ dàng bởi rất nhiều các công
cụ giúp thực hiện như Cain&Abel, Ettercap, Dsniff, Wireshark, TCPdump, ..., việc
nghe lén này tuy nguy hiểm nhưng người sử dụng lại khó có thể phát hiện là dữ liệu
của họ đang bị đọc lén. Do đó việc có một công cụ có thể phát hiện được việc đọc lén
đang diễn ra trên mạng này là vô cùng quan trong. Đó chính là lý do để em chọn đề tài
“Nghiên cứu kỹ thuật đọc lén dữ liệu trong mạng LAN dùng phương pháp ARP
poisoning và xây dựng công cụ phát hiện đọc lén”.
Với mục đích tạo ra một công cụ giúp ích cho việc phát hiện đọc lén nhằm phần
nào đó có thể đưa ra những cảnh báo về hiện trạng mạng có bị đọc lén hay không, qua
đó người dùng có thể có những giải pháp để hạn chế việc dữ liệu nhạy cảm bị đọc lén.
Thông qua đề tài, em có thể nắm bắt những giải pháp, kỹ thuật cơ chế đọc lén dữ liệu,
từ đó có thể tạo ra công cụ của riêng mình. Những kiến thức thu được qua đề tài sẽ
giúp em rất nhiều trong tương lai sau này.
Nội dung của đề tài này gồm có:
 Chương 1: Các phương pháp đọc lén dữ liệu trên mạng LAN.
 Chương 2: Cơ chế đọc lén dùng phương pháp ARP poisoning.
 Chương 3: Xây dựng công cụ phát hiện đọc lén trên mạng LAN.
 Phần kết luận và các tài liệu tham khảo.


Trang 1


Đồ án tốt nghiệp Đại học

Chương 1: Các phương pháp đọc lén dữ liệu trên mạng LAN

CHƯƠNG 1: CÁC PHƯƠNG PHÁP ĐỌC LÉN DỮ LIỆU TRÊN MẠNG
LAN.
1.1. Đọc lén dữ liệu trên mạng – sniffing.
Đọc lén dữ liệu trên mạng (sniffing) là một phần của kỹ thuật tấn công truyền
thông dữ liệu của ngành bảo mật máy tính. Kỹ thuật này không tấn công trực diện vào
các máy tính người dùng hay máy chủ, mà nó nhằm vào không gian truyền dữ liệu
giữa các máy, là phương pháp đọc lén các gói tin trong mạng. Sniffing ban đầu là kỹ
thuật được các quản trị viên dùng theo dõi, chuẩn đoán, phát hiện các sự cố nhằm giúp
cải thiện hoạt động hệ thống mạng. Tuy nhiên, kỹ thuật này về sau bị biến tướng, trở
thành công cụ phục vụ cho mục đích thu thập trái phép các thông tin của người dùng
khi luân chuyển trên mạng.

1.2. Tác hại của sniffing.
Hiện nay, đọc lén mạng thực hiện rất dễ dàng bởi có quá nhiều các công cụ
giúp thực hiện như Cain&Abel, Ettercap, Dsniff, Wireshark, TCPdump, … Các công
cụ này ngày càng được tối ưu hóa để để dễ sử dụng và tránh bị phát hiện khi sử dụng.
So với các kiểu tấn công khác, tấn công dạng sniffing cực kỳ nguy hiểm, bởi nó có thể
ghi lại toàn bộ thông tin được truyền dẫn trên mạng, và người sử dụng không biết là
đang bị đọc lén do máy tính của họ vẫn hoạt động bình thường, không có dấu hiệu
xâm hại. Do đó việc phát hiện và phòng chống đọc lén là rất khó, và hầu như chỉ có
thể phòng chống trong thế bị động (passive) – nghĩa là chỉ phát hiện được khi bị đọc
lén.
Khi hệ thống mạng bị đọc lén kẻ tấn công - attacker có thể lấy được các thông tin nhạy

cảm như mật khẩu email, website, telnet, ftp, sql, …, dữ liệu trong email, các tập tin
được lưu chuyển trên mạng.

1.3. Hoạt động của sniffing.
Khi một máy tính kết nối vào một mạng nội bộ - LAN (Local Area Network) sẽ
có 2 địa chỉ. Một là địa chỉ MAC (Media Access Control), đây là địa chỉ riêng biệt
được gán cho mỗi card mạng – NIC (Network Interface Controller). Địa chỉ MAC
được sử dụng bởi giao thức Ethernet khi tạo ra các khung truyền – frames để lưu
chuyển dữ liệu trong mạng. Một địa chỉ khác là địa chỉ IP (Internet Protocol). Lớp
Data Link - Data Link Layer dùng Ethernet header với địa chỉ MAC làm đại chỉ nguồn
– source address và địa chỉ đích – destination address. Lớp Network – Network Layer
có nhiệm vụ lập ra bảng ánh xạ một địa chỉ IP với một địa chỉ MAC theo yêu cầu của
Data Link Protocol. Nó sẽ tra cứu địa chỉ MAC của máy đích trong ARP (Address
Resolution Protocol) cache. Nếu không có entry nào được tìm thấy cho địa chỉ MAC
tương ứng với địa chỉ IP, gói tin ARP request sẽ được gửi broadcast đến tất cả các máy
Trang 2


Đồ án tốt nghiệp Đại học

Chương 1: Các phương pháp đọc lén dữ liệu trên mạng LAN

tính trong mạng. Máy tính với địa chỉ IP đó sẽ gửi gói tin ARP reply với địa chỉ MAC
của nó. Địa chỉ MAC này sẽ được thêm vào trong ARP cache của máy yêu cầu.
Các hacker sẽ sử dụng các gói tin đọc lén (hoặc giả mạo) lan truyền vào trong mạng
thông qua hub hoặc switch.
Attacker có thể bắt và phân tích tất cả các traffic của người dùng trong mạng.
Để thực hiện attacker – sniffer sẽ chuyển card mạng – NIC (Network Interface
Controller) của máy tính sang chế độ hỗn tạp – Promiscuous mode để có thể lắng nghe
tất cả dữ liệu đang lưu chuyển trong mạng. Sau đó sniffer có thể đọc được toàn bộ nội

dung dựa vào phân giải – Decapsulation gói tin bắt được.

1.4. Sniffing trong môi trường Shared Ethernet.
Trong môi trường Shared Ethernet, tất cả các host kết nối đến cùng bus và cạnh
tranh băng thông với nhau. Trong môi trường này, các gói tin – packets cho một máy
được nhận bởi tất cả các máy khác. Do đó khi một máy A muốn truyền dữ liệu đến
máy B, nó sẽ gửi một packet trên mạng với địa chỉ MAC đích là địa chỉ MAC của máy
B và địa chỉ MAC nguồn là địa chỉ MAC của chính nó. Tất cả các máy tính trên mạng
sẽ so sánh địa chỉ MAC đích trong frame với địa chỉ MAC của chúng. Nếu không phù
hợp frame này sẽ bị loại (hình 1.1). Sniffer sẽ phá vỡ luật này và nhận vào tất cả các
frames. Như vậy một máy tính được khởi động chế độ Promiscuous sẽ lắng nghe tất cả
traffic trên mạng (Passive sniffing).

Hình 1.1. Mạng Shared Ethernet.

Trang 3


Đồ án tốt nghiệp Đại học

Chương 1: Các phương pháp đọc lén dữ liệu trên mạng LAN

1.5. Sniffing trong môi trường Switched Ethernet.
Môi trường Ethernet mà các host kết nối đến switch thay vì hub được gọi là
Switched Ethernet. Switch duy trì một bảng lưu lại mỗi địa chỉ MAC của máy tính kết
nối với nó với 1 cổng – port vật lý trên switch được gọi là bảng CAM – CAM table
(Content addressable memory). Switch sẽ chuyển phát các packet đến từng máy đích
cụ thể chứ không broadcast nó đến tất cả các máy tính trên mạng như môi trường
Shared Ethernet (hình 1.2). Kết quả là sẽ sử dụng tốt hơn băng thông và cải thiện bảo
mật. Do đó việc đặt máy tính vào chế độ Promiscuous để thu thập packets không hoạt

động. Để sniff trên switch sniffer sẽ gửi các gói tin giả mạo nhằm mục đích thu thập
dữ liệu trên mạng. Các phương thức tấn công trên switch MAC flooding, DNS
(Domain Name System) flooding, ARP poisoning, DHCP (Dynamic Host
Configuration Protocol) attacks, Password sniffing, Spoofing attack.

Hình 1.2. Mạng Switched Ethernet.
Các giao thức dễ bị tấn công sniffing
 Telnet & Rlogin: Thăm dò Username và Password.
 HTTP (Hypertext Tranfer Protocol): Dữ liệu gửi dưới dạng clear text.
 SMTP (Simple Mail Tranfer Protocol): Password và dữ liệu gửi dưới dạng clear
text.
 NNTP (Network News Tranfer Protocol): Password và dữ liệu gửi dưới dạng
clear text.
 POP (Post Office Protocol): Password và dữ liệu gửi dưới dạng clear text.
 FTP (Files Tranfer Protocol): Password và dữ liệu gửi dưới dạng clear text.
Trang 4


Đồ án tốt nghiệp Đại học

Chương 1: Các phương pháp đọc lén dữ liệu trên mạng LAN

 IMAP (Internet Message Access Protocol): Password và dữ liệu gửi dưới dạng
clear text.


1.6. Các phương pháp sniffing trên mạng LAN.
1.6.1. MAC attack.
Bảng CAM dùng để lưu trữ các địa chỉ MAC đang hoạt động trên Port
cùng thông số VLAN tương ứng.

Hoạt động của bảng CAM.

Hình 1.3. Hoạt động của bảng CAM.
Khi một frame đi đến một port của Switch thì địa chỉ MAC nguồn sẽ
được học và lưu lại trong bảng CAM. Cả port nhận vào và VLAN cũng được
lưu vào trong bảng với một khoảng thời gian timestamp. Nếu địa chỉ MAC đã
được học trước đó nhưng được chuyển đến port khác thì địa chỉ MAC và
timestamp cũng sẽ được lưu lại ứng với port nhận được gần nhất, và entry trước
sẽ bị xóa. Nếu địa chỉ MAC được tìm thấy ứng với 1 port đã có trong bảng thì
chỉ có thời gian timestamp được update.
Do bảng CAM có dung lượng hữu hạn nên bảng CAM có thể bị tràn.
Khi bảng CAM tràn, các gói tin ARP request sẽ được đẩy ra tất cả các port của
Switch. Việc này làm cho switch hoạt động như hub. Quá trình này sẽ lây lan
sang các switch lân cận.

Trang 5


Đồ án tốt nghiệp Đại học

Chương 1: Các phương pháp đọc lén dữ liệu trên mạng LAN

MAC flooding là phương pháp tấn công làm tràn bảng CAM của switch
bằng cách phát ra vô số các gói tin vơi MAC giả mạo không có thật. Khi bảng
CAM bị tràn, switch hoạt động như hub đẩy các frame đến tất cả các port trừ
port nhận vào, và từ đó attacker có thể dễ dàng bắt gói
Để tránh bị MAC attack ta có thể dùng Port security: đây là phương
pháp gán địa chỉ MAC trên port được chỉ đinh. Chỉ cho phép dữ liệu xuất phát
từ MAC này đi vào port.
1.6.2. DHCP attack.

Hoạt động của DHCP:
DHCP server cấp phát, quản lý thông tin cấu hình TCP/IP của các client
như địa chỉ IP, default gateway, dns server, và khoảng thời gian được cấp phát.

Hình 1.4. Hoạt động của DHCP.
 DHCP client gửi broadcast gói DHCP Discover ra toàn mạng để
tìm DHCP server.
 DHCP server sẽ trả lời client bằng gói DHCP Offer hỏi những
tham số client muôn nhận.
 DHCP client gửi gói DHCP request với các tham số yêu cầu.
 DHCP server gửi gói DHCP ACK cho client với các tham số cấu
hình cần thiết.
Gói tin

Tác dụng

DHCP Discover

Client broadcast để xác định DHCP server.

DHCP Offer

Server trả lời gói DHCP Discover bằng gói Offer hỏi những
tham số client muốn nhận.

DHCP Request

Client có thể gửi về server: các tham số cần xin cấp, xác nhận
lại việc sử dụng địa chỉ trước đó, gia hạn thêm thời gian sử dụng


DHCP ACK

Server gửi cho client các tham số cấu hình cần thiết.
Trang 6


Đồ án tốt nghiệp Đại học

Chương 1: Các phương pháp đọc lén dữ liệu trên mạng LAN

DHCP NAK

Server thông báo với client đã sử dụng sai địa chỉ lớp mạng,
hoặc đã hết hạn sử dụng IP được cấp.

DHCP Decline

Client thông báo với server địa chỉ lớp mạng đã được sử dụng.

DHCP Release

Client thông báo với server hủy bỏ IP được cấp, trả về cho
server và dừng đếm khoảng thời gian Release.

DHCP Inform

Client xin cấp một số thông số phụ khi client đã có địa chỉ IP
Bảng 1.1. Các gói tin DHCP.

DHCP Starvation Attack:

Attacker broadcast gói tin DHCP request cho toàn bộ dải IP và cố
lấy tất cả các IP có thể cấp về mình.
Đây là phương thức tấn công từ chối dịch vụ - DoS (Denial of
Service) dựa trên gói tin DHCP.
Giả mạo DHCP Server – Rogue DHCP Server Attack:
Attacker giả mạo DHCP Server cấp thông tin cấu hình TCP/IP
cho client. Khi Client gửi broadcast gói tin DHCP Discover ra toàn
mạng, attacker nhận được gói tin này sẽ gửi gói DHCP offer để mạo
nhận rằng mình là DHCP server, sau đó Client sẽ gửi gói DHCP request
để yêu cầu thông tin cấu hình, và attacker gửi trả về client gói tin DHCP
ACK với các thông tin cấu hình sai lệch như: attacker làm gatewat, dns
server, …
Phòng thủ DHCP Starvation và Rogue DHCP Server Attack:
Sử dụng Port security ngăn chặn DHCP Starvation Attack.
Sử dụng tính năng DHCP snooping ngăn chặn Rogue DHCP
Server Attack. DHCP snooping cho phép cấu hình port dưới 2 dạng
trusted và untrusted. Untrusted port sẽ loại bỏ bản tin DHCP reply đi vào
nó. Trusted port sẽ chấp nhận DHCP reply vào.
1.6.3. Spoofing Attack.
MAC spoofing/duplicating
Hiện tượng nhân bản của một địa chỉ MAC dựa vào các công cụ
sniff hệ thống mạng nhằm lấy địa chỉ MAC hợp pháp của Client khi
tham gia vào mạng. Bằng cách lắng nghe trên mạng, một user giả mạo
có thể sử dụng địa chỉ MAC của user hợp lệ để thu thập các gói tin gửi
cho user hợp lệ này.

Trang 7


Đồ án tốt nghiệp Đại học


Chương 1: Các phương pháp đọc lén dữ liệu trên mạng LAN

Hình 1.5. Tấn công MAC spoofing.
Các nguy cơ xuất phát từ Spoofing attack:
 MAC spoofing: attacker có thể sử dụng MAC đang hoạt động trên
mạng, hoặc có thể định danh mình như một người dùng hợp lệ.
 IP spoofing: Ping of death, ICMP unreachable storm, SYN flood,
địa chỉ IP có thể bị giả mạo.
Phòng thủ Spoofing attack:
 IP DHCP snooping.
 IP source Guard được cấu hình trên untrusted port, sử dụng cơ sở
dữ liệu của DHCP snooping để xác định tính hợp lệ của địa chỉ IP
 Kích hoạt IP source Guard, bảo vệ IP (theo cơ sở dữ liệu của
DHCP snooping) và MAC (theo cơ sở dữ liệu của Port security)
1.6.4. DNS poisoning.
Phương pháp DNS poisoning đánh lừa DNS server rằng nó đã nhận
được thông tin phân giải địa chỉ trong khi thực tế nó không nhận được gì.
Kết quả là tên miền được phân giải ra một địa chỉ IP khác địa chỉ hợp lệ
Một số kỹ thuật DNS poisoning:
 Intranet DNS spoofing (Local Network)
 DNS cache poisoning: Attacker làm thay đổi các record lưu trữ
của DNS server, do đó DNS server sẽ truy vào địa chỉ IP của một
website giả được thiết lập bởi attacker. Nếu DNS server không
xác minh lại các gói tin DNS response, nó sẽ lưu trữ những record
với các IP bị sai lệch.
 Proxy Server DNS poisoning.
 Internet DNS spoofing (Remote Network).
Phòng thủ DNS spoofing:
 Phân giải tất cả các DNS query vào Local DNS Server.

 Block các DNS request tới External DNS server.
 Triển khai DNSSEC (Domain Name System Security
Extensions).
 Cấu hình cho người dùng một port ngẫu nhiên làm source port
(nằm trong khoảng định sẵn) cho mỗi gói query gửi đi.
 Cấu hình Firewall loại bỏ các gói tin DNS đi ra External DNS
server.
Trang 8


Đồ án tốt nghiệp Đại học

Chương 1: Các phương pháp đọc lén dữ liệu trên mạng LAN

 Hạn chế sử dụng dịch vụ DNS, bằng cách phân quyền cho user.
 Sử dụng hạn chế tần suất DNS Non-Existent Domain
(NXDOMAIN).

Trang 9


Đồ án tốt nghiệp Đại học

Chương 2: Cơ chế đọc lén dùng phương pháp ARP poisoning

CHƯƠNG 2: CƠ CHẾ ĐỌC LÉN DÙNG PHƯƠNG PHÁP ARP
POISONING.
2.1. Giao thức ARP (Address Resolution Protocol).
Địa chỉ MAC là một địa chỉ vật lý được gán cho mỗi thiết bị mạng và đó là địa
chỉ duy nhất. Các thiết bị trong cùng một mạng dùng địa chỉ MAC này để liên lạc với

nhau tại tầng Data Link trong mô hình OSI.

Hình 2.1. Mô hình OSI.
Khi các máy tính truyền dữ liệu cho nhau, sẽ tạo ra các packet và các packet
này được lưu truyền trên mạng. Các packet này được sử dụng để các thiết bị liên lạc
với nhau tại tầng Network. Trong header của packet sẽ có địa chỉ IP nguồn và địa chỉ
IP đích phục vụ cho việc truyền thông. Tuy nhiên khi các packet được đóng thành các
frame ở tầng DataLink để truyền trên môi trường mạng thì cần có một địa chỉ cố định
và duy nhất của phần cứng, do đó khi tạo ra các frame thì cần phải có địa chỉ MAC.
Do đó cần phải có một cơ chế chuyển đổi các dạng địa chỉ này qua lại với nhau. Vì
vậy giao thức ARP đã ra đời để thực hiện điều đó.
ARP là giao thức ánh xạ địa chỉ IP để tìm ra địa chỉ vật lý của thiết bị trong
mạng local.

2.2. Cơ chế hoạt động của ARP.
Quá trình ARP (Address Resolution Protocol) được thực hiện theo cơ chế: Một
thiết bị IP trong mạng gửi một gói tin broadcast đến toàn mạng để yêu cầu các thiết bị
khác gửi trả lại địa chỉ phần cứng (địa chỉ MAC) của mình nhằm thực hiện truyền tin
cho nhau giữa thiết bị phát và thiết bị nhận.

Trang 10


Đồ án tốt nghiệp Đại học

Chương 2: Cơ chế đọc lén dùng phương pháp ARP poisoning

ARP về cơ bản là một quá trình 2 chiều Request/Reply giữa các thiết bị trong
cùng mạng nội bộ. Thiết bị nguồn yêu cầu(request) bằng cách gửi một bản tin
broadcast trên toàn mạng. Thiết bị đích sẽ trả lời (reply) bằng một bản tin unicast đến

thiết bị nguồn.
Mục đích của Request và Reply là tìm ra địa chỉ MAC phần cứng có liên quan
tới địa chỉ IP đã gửi để lưu lượng có thể đến được đích của nó trong mạng.
Khi thực hiện một quá trình ARP, trước hết thiết bị phát phải xác định xem địa
chỉ IP đích của gói tin có phải nằm cùng trong mạng nội bộ của mình hay không.Nếu
đúng vậy thì thiết bị sẽ gửi trực tiếp gói tin đến thiết bị đích. Nếu địa chỉ IP đích nằm
trên mạng khác, thì thiết bị sẽ gửi gói tin đến một trong các router nằm cùng trên mạng
nội bộ để router này làm nhiệm vụ forward (chuyển tiếp) gói tin.
2.2.1. Cơ chế hoạt động của ARP trong mạng LAN.
Nhằm giúp dễ hiểu hơn cho cơ chế hoạt động của ARP trong mạng LAN,
nhóm đưa ra một ví dụ sau:
 Thiết bị A khi muốn truyền tin sẽ thực hiện chuyển các gói tin dạng Packets
(tại tầng Network) xuống tầng Datalink để đóng gói gói tin vào Frames
(trong đó có địa chỉ MAC).
 Khi A muốn gửi gói tin này đến một thiết bị khác (ví dụ như X). Nhưng
hiện tại, thiết bị A chỉ biết địa chỉ IP của X, mà không biết địa chỉ MAC của
X là gì, khi đó thiết bị A phải thực hiện dò tìm. (Ghi chú: Trước khi dò tìm,
A chưa biết X là thiết bị nào).
 Để thực hiện dò tìm, A sẽ gửi một ARP Request (bao gồm địa chỉ MAC
của A và địa chỉ IP của X)lên toàn bộ một miền broadcast, tức là gửi cho
nhiều thiết bị khác trong cùng mạng LAN để hỏi rằng: "Địa chỉ MAC của
thiết bị có địa chỉ IP này là gì ?".
 Sau khi nhận được ARP Request, mỗi một thiết bị trong miền broadcast sẽ
tiến hành so sánh địa chỉ IP nhận được với địa chỉ IP của mình.
• Nếu không trùng khớp, các thiết bị này sẽ loại bỏ thông tin của ARP
Request này.
• Nếu trùng khớp và đúng là IP của nó (thiết bị X), thì X sẽ gửi trả lại cho A
một ARP Reply (có chứa thông tin địa chỉ MAC của mình). (Ghi chú:
ARP Reply này thuộc dạng unicast, tức chỉ gửi cho một thiết bị cụ thể là
thiết bị phát).

Trang 11


Đồ án tốt nghiệp Đại học

Chương 2: Cơ chế đọc lén dùng phương pháp ARP poisoning

 Sau khi nhận được địa chỉ MAC của X, thiết bị phát (tức là A) sẽ cập nhật

bảng ARP cache của nó và khi đó, hai thiết bị này đã có thể truyền thông
được với nhau, A đã có thể gửi gói tin của mình cho X.
2.2.2. Cơ chế hoạt động của ARP trong môi trường hệ thống mạng.
Đối với hoạt động của ARP trong một môi trường phức tạp hơn đó là hai hệ
thống mạng gắn với nhau thông qua một Router C, Victim A thuộc mạng A muốn
gửi gói tin đến máy B thuộc mạng B, thì do các broadcast không thể truyền qua
Router nên khi đó Victim A sẽ xem Router C như một cầu nối hay một trung gian
(Agent) để truyền dữ liệu. Trước đó, Victim A sẽ biết được địa chỉ IP của Router C
(địa chỉ Gateway) và biết được rằng để truyền gói tin tới B phải đi qua C. Tất cả
các thông tin như vậy sẽ được chứa trong một bảng gọi là bảng định tuyến
(Routing Table). Bảng định tuyến theo cơ chế này được lưu giữ trong mỗi máy.
Bảng định tuyến chứa thông tin về các Gateway để truy cập vào một hệ thống
mạng nào đó. Ví dụ trong trường hợp trên trong bảng sẽ chỉ ra rằng để đi tới LAN
B phải qua port X của Router C. Bảng định tuyến sẽ có chứa địa chỉ IP của port X.
Quá trình truyền dữ liệu theo từng bước sau :
 Victim A gửi một ARP Request (broadcast) để tìm địa chỉ MAC của port X.
 Router C trả lời (ARP Reply), cung cấp cho Victim A địa chỉ MAC của port X.
 Sau khi biết được địa chỉ MAC của port X, Victim A truyền gói tin đến port X
của Router.
 Router nhận được gói tin từ Victim A và chuyển gói tin ra port Y của Router.
Trong gói tin có chứa địa chỉ IP của máy B. Router sẽ gửi ARP Request để tìm

địa chỉ MAC của máy B.
 Nhận thấy địa chỉ IP được gửi là của mình, máy B sẽ trả lời (ARP Reply) cho
Router biết địa chỉ MAC của mình. Sau khi nhận được địa chỉ MAC của máy
B, Router C gửi gói tin của A đến cho B.
Trong cả hai trường hợp trên (cùng mạng LAN hay liên mạng), các thiết bị đều
phải gửi gói tin IP đến một thiết bị có IP khác trên cùng mạng nội bộ để tìm địa
chỉ MAC. Việc gửi gói tin trong cùng mạng thông qua Switch là dựa vào địa chỉ
MAC hay địa chỉ phần cứng của thiết bị. Sau khi gói tin được đóng gói thì mới bắt
đầu được chuyển qua quá trình phân giải địa chỉ ARP và được chuyển đi.

Trang 12


Đồ án tốt nghiệp Đại học

Chương 2: Cơ chế đọc lén dùng phương pháp ARP poisoning

Hình 2.2. Cơ chế hoạt động của quá trình truyền thông ARP.
2.3. ARP Cache.
ARP là một giao thức phân giải địa chỉ động. Quá trình gửi gói tin Request và
Reply sẽ tiêu tốn băng thông mạng. Chính vì vậy, càng hạn chế tối đa việc gửi gói tin
Request và Reply sẽ càng góp phần làm tăng khả năng hoạt động của mạng.Từ đó sinh
ra nhu cầu của ARP Caching, nghĩa là lưu lại thông tin của các gói tin vào bộ nhớ
đệm ARP Cache.
ARP Cache tĩnh và động (Static and Dynamic ARP Cache Entries)
ARP cache có thể coi như một bảng có chứa một tập tương ứng giữa các
phần cứng và địa chỉ IP. Mỗi một thiết bị trên một mạng đều có ARP cache của
riêng mình. Có hai cách lưu giữ các entry trong Cache để phân giải địa chỉ diễn
ra nhanh. Đó là:
 ARP Cache tĩnh (Static ARP Cache Entries): Ở đây, sự phân giải địa

chỉ phải được cập nhật một cách thủ công vào bảng cache và được duy
trì lâu dài bởi người quản trị. Để thực hiện cấu hình ARP tĩnh cho máy
tính hệ điều hành Windows, ta vào:

Trang 13


Đồ án tốt nghiệp Đại học

Chương 2: Cơ chế đọc lén dùng phương pháp ARP poisoning

Start > Run > cmd >Gõ arp –a.Và Enter. Khi đó, bảng danh sách ARP sẽ
được liệt kê. Để cấu hình lại ARP tĩnh ta thực hiện gõ tiếp lệnh: arp-s
[ip_cua_computer] [dia_chi_mac]. Như hình sau:

Hình 2.3. Cập nhật bảng ARP Cache.
 ARP Cache động(Dynamic ARP Cache Entries): Ở đây, các địa chỉ IP
và địa chỉ phần cứng được giữ trong cache bởi phần mềm sau khi nhận
được kết quả của việc hoàn thành quá trình phân giải trước đó. Các địa
chỉ được giữ tạm thời và sau đó được gỡ bỏ.
Dynamic Cache được sử dụng rộng rãi hơn vì tất cả các quá trình
diễn ra tự động và không cần đến sự tương tác của người quản trị. Ngoài
hạn chế của việc phải nhập bằng tay, Static Cache còn thêm hạn chế nữa
là khi địa chỉ IP của các thiết bị trong mạng thay đổi thì sẽ dẫn đến việc
phải thay đổi ARP cache.

2.4. Tấn công giả mạo ARP cahe (ARP poisoning).
2.4.1. Cơ chế tấn công giả mạo ARP Cache (ARP Poisoning).
Tấn công giả mạo ARP Cache chỉ thực hiện được trong môi trường
mạng LAN, mà không thực hiện được trên WAN.

Việc giả mạo bảng ARP Cache chính là lợi dụng bản tính không an toàn
của giao thức ARP. Không giống như các giao thức khác, chẳng hạn như DNS
(có thể được cấu hình để chỉ chấp nhận các nâng cấp động khá an toàn), các
Trang 14


Đồ án tốt nghiệp Đại học

Chương 2: Cơ chế đọc lén dùng phương pháp ARP poisoning

thiết bị sử dụng giao thức phân giải địa chỉ (ARP) sẽ chấp nhận nâng cấp bất cứ
lúc nào.
Điều này có nghĩa là bất cứ thiết bị nào cũng có thể gửi gói ARP Reply
đến một máy tính khác và máy tính này sẽ cập nhật vào bảng ARP Cache của
nó ngay giá trị mới này. Việc gửi một gói ARP Reply khi không có bất cứ một
Request nào được tạo ra có thể được gọi nôm na là việc gửi ARP "vu vơ". Khi
các ARP Reply vu vơ này đến được các máy tính đã gửi Request, máy tính
Request này sẽ nghĩ rằng đó chính là đối tượng mình đang tìm kiếm để truyền
thông, và nó sẽ thực hiện update bảng ARP Cache của mình mà không hề biết
là nó đang truyền thông với một kẻ tấn công.
 Cơ chế tấn công giả mạo ARP Cache.
Cơ chế tấn công giả mạo ARP Cache cụ thể sẽ như sau:
Giả sử trong một mạng LAN có 4 thiết bị (máy tính) như sau:


Victim A: là máy phát ARP Request, và cũng là một trong hai nạn nhân
trong cuộc tấn công ARP Cache.
ARP Cache của Victim A
IP
10.0.0.09

MAC
ff-ff-ff-ff-00-09



Victim B: là máy nhận thông tin từ VictimA, và cũng là một trong hai nạn
nhân trong cuộc tấn công ARP Cache. Máy Victim B có:
ARP Cache của Victim B
IP
10.0.0.10
MAC
ff-ff-ff-ff-00-10

• Attacker: là máy tính thực hiện tấn công ARP Cache, có:

ARP Cache của Attacker
IP
10.0.0.11
MAC
ff-ff-ff-ff-00-11

Attacker(kẻ tấn công) muốn thực hiện tấn công ARP đối với máy
VictimA và B. Attacker muốn rằng mọi gói tin mà Victim Avà Victim
Trang 15


Đồ án tốt nghiệp Đại học

Chương 2: Cơ chế đọc lén dùng phương pháp ARP poisoning


Btrao đổi đều bị chụp lại để xem trộm. Khi đó, cuộc tấn công sẽ xảy ra
như sau:
• Đầu tiên, Victim A muốn gửi dữ liệu cho Victim B, Victim A cần phải biết
địa chỉ MAC của Victim B để liên lạc. Khi đó, Victim A sẽ gửi broadcast
ARP Request tới tất cả các máy trong cùng mạng LAN để hỏi xem địa chỉ
IP 10.0.0.10 (IP của Victim B) có địa chỉ MAC là bao nhiêu.Thông tin có
chứa trong ARP Request do A gửi sẽ là:

Nội dung gói ARP Request của A
IP Victim B
10.0.0.10
MAC A
ff-ff-ff-ff-00-09
• Lúc này, Victim B và Attacker đều nhận được gói tin ARP Request
doVictim A gửi đến. Tuy nhiên, chỉ có Victim B gửi lại gói tin ARP Reply
(bao gồm các thông tin về IP của Victim B, MAC của Victim B và MAC
của Victim A) lại cho Victim A, bởi vì chỉ có B là có IP giống với IP trong
gói ARP Request của A.

Nội dung gói ARP Reply của B
IP Victim B
10.0.0.10
MAC Victim B
ff-ff-ff-ff-00-10
MAC A
ff-ff-ff-ff-00-09
• Sau khi nhận được gói tin ARP Reply từ Victim B, Victim A sẽ biết được
địa chỉ MAC của Victim B, và thực hiện lưu địa chỉ MAC này vào Cache
của mình (tức ARP Cache máy A). Sau đó, Victim A bắt đầu thực hiện liên
lạc, truyền dữ liệu tới Victim B dựa trên thông tin địa chỉ MAC vừa lưu. Khi

này, Attacker không thể xem nội dung dữ liệu được truyền giữa 2 máy


Victim A và Victim B.
Lúc này mọi việc vẫn đang xảy ra bình thường thì Attacker tiến hành tấn
công ARP bằng cách thực hiện gửi liên tục các ARP Reply chứa thông tin
về IP Victim B, MAC của Attacker và MAC Victim A, nghĩa là trong gói
ARP Reply, Attacker đã thực hiện thay đổi MAC Victim B thành MAC của
Trang 16


×