TÌM HIỂU VÀ MINH HỌA SNIFFER 1
MỤC LỤC
LỜI CẢM ƠN ............................................................................................................. 3
PHẦN I: GIỚI THIỆU ĐỀ TÀI .................................................................................. 4
PHẦN II: NỘI DUNG ................................................................................................ 5
CHƢƠNG I: CÁC GIAO THỨC LIÊN QUAN ......................................................... 5
1.1 GIAO THỨC PHÂN GIẢI ĐỊA CHỈ-ARP (ADDRESS RESOLUTION
PROTOCOL) ........................................................................................................... 5
1.2 GIAO THỨC CẤU HÌNH HOST ĐỘNG-DHCP (DYNAMIC HOST
CONFIGURATION PROTOCOL) ....................................................................... 10
1.3 SPANNING TREE PROTOCOL (STP) ..................................................... 13
1.4 MẠNG LANS ẢO-VLAN (VIRTUAL LOCAL AREA NETWORK) ...... 17
1.5 HỆ THỐNG PHÂN GIẢI TÊN MIỀN-DNS (DOMAIN NAME SYSTEM)
…………………………………………………………………………….22
1.6 ĐỊA CHỈ MAC (MEDIA ACCESS CONTROL) ....................................... 25
CHƢƠNG II: TỔNG QUAN VỀ SNIFFER ............................................................ 28
2.1 ĐỊNH NGHĨA SNIFFER ............................................................................ 28
2.2 PHÂN LOẠI SNIFFER ............................................................................... 28
2.3 MỘT SỐN PHƢƠNG PHÁP PHÁT HIỆN SNIFFER ............................... 29
2.4 CÁC PHƢƠNG PHÁP PHÒNG CHỐNG SNIFFER ................................. 33
CHƢƠNG III: CÁC LOẠI SNIFFER VÀ CÁCH PHÒNG CHỐNG ..................... 35
3.1 MAC FLOODING ....................................................................................... 35
3.2 DHCP STARVATION ................................................................................ 39
3.3 ROGUE DHCP SERVER ........................................................................... 45
3.4 ARP POISONING ....................................................................................... 49
3.5 DNS POISONING ....................................................................................... 55
3.6 MAC SPOOFING........................................................................................ 63
3.7 VLAN HOPPING ........................................................................................ 65
TÌM HIỂU VÀ MINH HỌA SNIFFER 2
3.8 SPANNING TREE PROTOCOL ATTACK............................................... 71
PHẦN III: TỔNG KẾT VÀ ĐÁNH GIÁ ................................................................. 77
1. KẾT QUẢ ĐẠT ĐƢỢC ................................................................................. 78
2. HƢỚNG PHÁT TRIỂN .................................................................................. 78
PHẦN IV: TÀI LIỆU THAM KHẢO ...................................................................... 79
TÌM HIỂU VÀ MINH HỌA SNIFFER 3
LỜI CẢM ƠN
Trƣớc tiên, nhóm em xin gửi lời cảm ơn chân thành nhất tới thầy Đinh Công
Đoan, ngƣời thầy đã tận tình giúp đỡ, chỉ bảo nhóm trong suốt quá trình làm tiểu
luận.
Bên cạnh đó, xin chân thành cám ơn khoa Công nghệ Thông tin, Bộ môn
Mạng máy tính, trƣờng Đại học Sƣ Phạm Kỹ Thuật TP.HCM đã tạo điều kiện
thuận lợi cho nhóm thực hiện đề tài này.
Nhóm em cũng xin gửi lời biết ơn sâu sắc tới thầy, cô trong trƣờng Đại học
Sƣ Phạm Kỹ Thuật TP.HCM. Thầy, cô đã dìu dắt, truyền lại cho chúng em không
chỉ những kiến thức chuyên ngành mà còn dạy bảo chúng em đạo làm ngƣời, rèn
luyện cho chúng em nghị lực, khát vọng vƣơn lên, phát huy khả năng tƣ duy sáng
tạo trong mọi lĩnh vực.
Cuối cùng, nhóm xin đƣợc cảm ơn gia đình, bạn bè, những ngƣời thân yêu
nhất. Mọi ngƣời luôn ở bên cạnh động viên, khuyến khích chúng em trong suốt
thời gian học tập và nghiên cứu.
Dù đã cố gắng hoàn thành đề tài tiểu luận đúng yêu cầu, nhƣng do thời gian
hạn hẹp và khả năng còn hạn chế nên chắc chắn sẽ có những thiếu sót không
tránh khỏi. Nhóm mong nhận đƣợc sự thông cảm và chỉ bảo của các quý thầy cô .
TP.HCM, tháng 1 năm 2013
Nhóm thực hiện:
Phan Huỳnh Trung
và Nguyễn Đức Phú
TÌM HIỂU VÀ MINH HỌA SNIFFER 4
PHẦN I: GIỚI THIỆU ĐỀ TÀI
Hiện nay, khi công nghệ thông tin đang phát triển một cách mạnh mẽ, mạng
máy tính là một thành phần không thể thiếu đối với các hệ thống thông tin của
mọi tổ chức. Hơn nữa, hầu hết các giao dịch, dịch vụ của xã hội đều đƣợc triển
khai trên mạng. Nhƣng liệu khi tham gia vào hoạt động trên mạng thông tin của
chúng ta có thực sự an toàn, đó là câu hỏi mà nhiều ngƣời thƣờng xuyên đặt ra và
đi tìm lời giải đáp. Nếu chúng ta không khắc phục những điểm yếu này thì môi
trƣờng mạng sẽ trở thành một mảnh đất màu mỡ cho những hacker xâm nhập,
gây ra sự thất thoát thông tin, tiền bạc. Do đó bảo mật trong mạng đang là một
vấn đề quan trọng hàng đầu.
Hiểu đƣợc các vấn đề đó, nhóm đã quyết định chọn đề tài “Tìm hiểu và
minh họa một số kỹ thuật Sniffer”. Đề tài này sẽ tập trung mô phỏng các
phƣơng thức tấn công tổng quát trên mạng thông qua các chƣơng trình Sniffer và
tìm hiểu các cách phát hiện cũng nhƣ phòng chống Sniffer sao cho hiệu quả nhất.
Nội dung đề tài gồm 4 phần: phần giới thiệu đề tài, phần nội dung, phần tổng
kết và phần tài liệu tham khảo.
Phần nội dung của bài tiểu luận đƣợc chia thành 4 chƣơng: chƣơng đầu tiên
giới thiệu các giao thức liên quan đến Sniffer. Chƣơng tiếp theo sẽ giới thiệu tổng
quan về Sniffer, phân loại các loại Sniffer, các giao thức dễ bị Sniffer và phƣơng
pháp phát hiện cũng nhƣ phòng chống Sniffer hiệu quả. Chƣơng cuối cùng là
trình bày các loại Sniffer và các minh họa cụ thể.
TÌM HIỂU VÀ MINH HỌA SNIFFER 5
PHẦN II: NỘI DUNG
CHƢƠNG I: CÁC GIAO THỨC LIÊN QUAN
1.1 Giao thức phân giải địa chỉ-ARP (Address Resolution Protocol)
1.1.1 Khái niệm
ARP là phƣơng thức phân giải địa chỉ động giữa địa chỉ lớp network và địa
chỉ lớp data-link. Sở dĩ cần phải có giao thức chuyển đổi nhƣ vậy là do có nhiều
giao thức lớp 3 nhƣ IP, IPX, Appletalk… mỗi giao thức lại có qui ƣớc về địa chỉ
logic riêng. Khi đƣợc đóng gói vào một frame tại lớp thì tất cả các địa chỉ này
cần phải đƣợc qui đổi thành một kiểu địa chỉ thống nhất (địa chỉ MAC) nhằm
giúp cho mọi thiết bị có thể trao đổi với các thiết bị khác khi chúng nằm trong
cùng một môi trƣờng truyền dẫn vật lý.
Ban đầu ARP chỉ đƣợc sử dụng trong mạng Ethernet để phân giải địa chỉ IP
và địa chỉ MAC. Nhƣng ngày nay ARP đã đƣợc ứng dụng rộng rãi và dùng trong
các công nghệ khác dựa trên lớp hai.
Hình 1.1. Vị trí của ARP
1.1.2 Cấu trúc bảng tin ARP
- Hardware type: xác định kiểu mạng phần cứng: Ethernet, Token ring.
- Protocol: xác định kiểu của giao thức lớp network.
- HLEN: độ dài địa chỉ MAC: 48 bits (Ethernet), 32 bits (Token ring).
- PLEN: độ dài địa chỉ IP.
TÌM HIỂU VÀ MINH HỌA SNIFFER 6
Hình 1.2. Cấu trúc bản tin ARP
- Operation: xác định kiểu thông điệp ARP (Request/Respone)
- Sender HA/ Target HA: địa chỉ MAC máy gửi/máy nhận.
- Sender IP/ Target IP: địa chỉ IP máy gửi/máy nhận.
1.1.3 Cơ chế hoạt động
Quá trình thực hiện ARP đƣợc bắt đầu khi một thiết bị nguồn trong một
mạng IP có nhu cầu gửi một gói tin IP. Trƣớc hết thiết bị đó 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 gói tin.
Cả hai trƣờng hợp ta đều thấy đƣợc là thiết bị phải gói tin IP đến một thiết bị IP
khác trên cùng mạng nội bộ. Ta biết rằng 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.
ARP về cơ bản là một quá trình 2 chiều request/response giữa các thiết bị
trong cùng mạng nội bộ. Thiết bị nguồn request bằng cách gửi một bản tin
broadcast trên toàn mạng. Thiết bị đích response bằng một bản tin unicast đến
thiết bị nguồn.
TÌM HIỂU VÀ MINH HỌA SNIFFER 7
Các bƣớc hoạt động của ARP
- B1. Source Device Checks Cache: Trong bƣớc này, thiết bị sẽ kiểm tra
cache (bộ đệm) của mình. Nếu đã có địa chỉ IP đích tƣơng ứng với MAC
nào đó rồi thì lập tức chuyển lên bƣớc 9.
- B2. Source Device Generates ARP Request Message: Bắt đầu khởi tạo
gói tin ARP Request với các trƣờng địa chỉ nhƣ trên.
- B3. Source Device Broadcasts ARP Request Message: Thiết bị nguồn
quảng bá gói tin ARP Request trên toàn mạng.
- B4. Local Devices Process ARP Request Message: Các thiết bị trong
mạng đều nhận đƣợc gói tin ARP Request. Gói tin đƣợc xử lý bằng cách
các thiết bị đều nhìn vào trƣờng địa chỉ Target Protocol Address. Nếu
trùng với địa chỉ của mình thì tiếp tục xử lý, nếu không thì hủy gói tin.
- B5. Destination Device Generates ARP Reply Message: Thiết bị với IP
trùng với IP trong trƣờng Target Protocol Address sẽ bắt đầu quá trình
khởi tạo gói tin ARP Reply bằng cách lấy các trƣờng Sender Hardware
Address và Sender Protocol Address trong gói tin ARP nhận đƣợc đƣa
vào làm Target trong gói tin gửi đi. Đồng thời thiết bị sẽ lấy địa chỉ
datalink của mình để đƣa vào trƣờng Sender Hardware Address.
- B6. Destination Device Updates ARP Cache: Thiết bị đích (thiết bị khởi
tạo gói tin ARP Reply) đồng thời cập nhật bảng ánh xạ địa chỉ IP và
MAC của thiết bị nguồn vào bảng ARP cache của mình để giảm bớt thời
gian xử lý cho các lần sau.
- B7. Destination Device Sends ARP Reply Message: Thiết bị đích bắt đầu
gửi gói tin Reply đã đƣợc khởi tạo đến thiết bị nguồn. Gói tin reply là gói
tin gửi unicast.
- B8. Source Device Processes ARP Reply Message: Thiết bị nguồn nhận
đƣợc gói tin reply và xử lý bằng cách lƣu trƣờng Sender Hardware
Address trong gói reply nhƣ địa chỉ phần cứng của thiết bị đích.
TÌM HIỂU VÀ MINH HỌA SNIFFER 8
- B9. Source Device Updates ARP Cache: Thiết bị nguồn update vào ARP
cache của mình giá trị tƣơng ứng giữa địa chỉ network và địa chỉ
datalink của thiết bị đích. Lần sau sẽ không còn cần tới request.
Hình 1.3. Quá trình gửi/nhận bản tin ARP
1.1.4 ARP Caching
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 họat động của
mạng. Từ đó sinh ra nhu cầu của ARP Caching.
ARP Cache có dạng giống nhƣ một bảng tƣơng ứng giữa địa chỉ hardware và
địa chỉ IP. Có hai cách đƣa các thành phần tƣơng ứng vào bảng ARP:
- Static RP Cache Entries: Đây là cách mà các thành phần tƣơng ứng
trong bảng ARP đƣợc đƣa vào lần lƣợt bởi ngƣời quản trị. Công việc
đƣợc tiến hành một cách thủ công.
- Dynamic ARP Cache Entries: Đây là quá trình mà các thành phần địa
chỉ hardware/IP đƣợc đƣa vào ARP cache một cách hoàn toàn tự động
bằng phần mềm sau khi đã hoàn tất quá trình phân giải địa chỉ. Chúng
đƣợc lƣu trong cache trong một khoảng thời gian và sau đó sẽ đƣợc xóa.
TÌM HIỂU VÀ MINH HỌA SNIFFER 9
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ị. Tuy nhiên static cache
vẫn có phạm vi ứng dụng nhất định của nó. Đó là trƣờng hợp mà các workstation
nên có static ARP entry đến router và file server nằm trong mạng. Điều này sẽ
hạn chế việc gửi các gói tin để thực hiện quá trình phân giải địa chỉ.
Tuy nhiên 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.
Quá trình xóa thông tin trong Cache
Ta xét trƣờng hợp bảng cache của một thiết bị A, trong đó có chứa thông tin
về thiết bị B trong mạng. Nếu các thông tin trong cache đƣợc lƣu mãi mãi, sẽ có
một số vấn đề nhƣ sau xảy ra:
- Địa chỉ phần cứng thiết vị đƣợc thay đổi: Đây là trƣờng hợp khi thiết bị
B đƣợc thay đổi card mạng hay thiết bị giao tiếp, làm thay đổi địa chỉ
MAC của thiết bị. Điều này làm cho các thông tin trong cache của A
không còn đúng nữa.
- Địa chỉ IP của thiết bị đƣợc thay đổi: Ngƣời quản trị hay nhà cung cấp
thay đổi địa chỉ IP của B, cũng làm cho thông tin trong cache của A bị sai
lệch.
- Thiết bị đƣợc rút ra khỏi mạng: Khi B đƣợc rút ra khỏi mạng nhƣng A
không đƣợc biết, và gây lãng phí về tài nguyên của A để lƣu thông tin
không cần thiết và tốn thời gian để tìm kiếm.
Để tránh đƣợc những vấn đề này, các thông tin trong dynamic cache sẽ đƣợc
tự động xóa sau một khoảng thời gian nhất định. Quá trình này đƣợc thực hiện
một cách hoàn toàn tự động khi sử dụng ARP với khoảng thời gian thƣờng là 10
hoặc 20 phút. Sau một khoảng thời gian nhất định đƣợc lƣu trong cache , thông
tin sẽ đƣợc xóa đi. Lần sử dụng sau, thông tin sẽ đƣợc update trở lại.
TÌM HIỂU VÀ MINH HỌA SNIFFER 10
1.1.5 Giao thức phân giải địa chỉ ngƣợc RARP (Reverse ARP)
RARP là giao thức phân giải địa chỉ ngƣợc. Quá trình này ngƣợc lại với quá
trình ARP ở trên, nghĩa là cho trƣớc địa chỉ mức liên kết, tìm địa chỉ IP tƣơng
ứng. Nhƣ vậy RARP đƣợc sử dụng để phát hiện địa chỉ IP, khi biết địa chỉ vật lý
MAC.
Khuôn dạng gói tin RARP tƣơng tự nhƣ khuôn dạng gói ARP đã trình bày,
chỉ khác là trƣờng Operation có giá trị 0×0003 cho mã lệnh yêu cầu (RARP
Request) và có giá trị 0×0004 cho mã lệnh trả lời (RARP Reply).
Nguyên tắc hoạt động của RARP ngƣợc với ARP, nghĩa là máy đã biết trƣớc
địa chỉ vật lý MAC tìm địa chỉ IP tƣơng ứng của nó.
1.2 Giao thức cấu hình Host động-DHCP (Dynamic Host Configuration
Protocol)
1.2.1 Khái niệm.
Giao thức cấu hình host động (DHCP) làm việc theo cơ chế Client-Server.
DHCP cho phép các DHCP Client trong một mạng nhận cấu hình IP của mình từ
một DHCP Server. Khi sử dụng DHCP thì công việc quản lý IP của ngƣời quản
trị sẽ ít hơn vì phần lớn IP của Client đƣợc lấy về từ Server.
Server chạy DHCP thực hiện tiến trình xác định địa chỉ IP cấp cho Client.
Client sử dụng địa chỉ đƣợc cấp từ Server trong một khoảng thời gian nhất định
do ngƣời quản trị mạng quy định. Khi thời này hết hạn thì Client phải yêu cầu
cấp lại địa chỉ mới mặc dù thông thƣờng Client sẽ vẫn đƣợc cấp lại địa chỉ cũ.
DHCP sử dụng giao thức UDP (User Datagram Protocol) làm giao thức vận
chuyển của nó. Client gửi thông điệp cho server trên port 67. Server gửi thông
điệp cho Client trên port 68.
Ƣu điểm của DHCP:
- Quản lý TCP/IP tập trung.
- Giảm gánh nặng cho các nhà quản trị hệ thống.
- Giúp hệ thống mạng luôn đƣợc duy trì ổn định và linh hoạt.
TÌM HIỂU VÀ MINH HỌA SNIFFER 11
1.2.2 Cơ chế hoạt động của DHCP.
Giao thức DHCP làm việc theo mô hình Client/Server. Theo đó, quá trình
tƣơng tác giữa DHCP Client và Server diễn ra theo 4 bƣớc sau đây
IP Lease Request:
Đầu tiên, client sẽ broadcast một message tên là DHCPDISCOVER, vì
Client lúc này chƣa có địa chỉ IP cho nên nó sẽ dùng một địa chỉ source (nguồn)
là 0.0.0.0 và cũng vì Client không biết địa chỉ của DHCP Server nên nó sẽ gửi
đến một địa chỉ broadcast là 255.255.255.255. Lúc này gói tin DHCPDISCOVER
này sẽ broadcast lên toàn mạng. Gói tin này cũng chứa một địa chỉ MAC (Media
Access Control - là địa chỉ mà mỗi một network adapter (card mạng) sẽ đƣợc nhà
sản xuất cấp cho và là mã số để phân biệt các card mạng với nhau) và đồng thời
nó cũng chứa computer name của máy Client để DHCP Server có thể biết đƣợc
Client nào đã gởi yêu cầu đến.
IP Lease Offer:
Nếu có một DHCP hợp lệ (nghĩa là nó có thể cấp địa chỉ IP cho một Client)
nhận đƣợc gói tin DHCPDISCOVER của Client thì nó sẽ trả lời lại bằng một gói
tin DHCPOFFER, gói tin này đi kèm theo những thông tin sau:
- MAC address của Client.
- Một IP address cấp cho (offer IP address).
- Một subnetmask.
- Thời gian thuê.
- Địa chỉ IP của DHCP cấp IP cho Client này.
Lúc này DHCP Server sẽ đƣợc giữ lại một IP đã offer (cấp) cho Client để nó
không cấp cho DHCP Client nào khác. DHCP Client chờ một vài giây cho một
offer, nếu nó không nhận một offer nó sẽ rebroadcast (broadcast gói
DHCPDISCOVER) trong khoảng thời gian là 2, 4, 8 và 16 giây, bao gồm một
khoảng thời gian ngẫu nhiên từ 0 - 1000 mili giây.
Nếu DHCP Client không nhận một offer sau 4 lần yêu cầu, nó sử dụng một
địa chỉ IP trong khoảng 169.254.0.1 đến 169.254.255.254 với subnetmask là
TÌM HIỂU VÀ MINH HỌA SNIFFER 12
255.255.0.0. Nó sẽ sử dụng trong một số trong khoảng IP đó và việc đó sẽ giúp
các DHCP Client trong một mạng không có DHCP Server thấy nhau. DHCP
Client tiếp tục cố gắng tìm kiếm một DHCP Server sau mỗi 5 phút.
IP Lease Selection:
DHCP client đã nhận đƣợc gói tin DHCPOFFER thì nó sẽ phản hồi
broadcast lại một gói DHCPREQUEST để chấp nhận cái offer đó.
DHCPREQUEST bao gồm thông tin về DHCP Server cấp địa chỉ cho nó. Sau đó,
tấc cả DHCP Server khác sẽ rút lại các offer (trƣờng hợp này là trong mạng có
nhiều hơn 1 DHCP Server) và sẽ giữ lại IP address cho các yêu cầu xin IP
address khác.
IP Lease Acknowledgement:
DHCP server nhận đƣợc DHCPREQUEST sẽ gởi trả lại DHCP Client một
DHCPACK để cho biết là đã chấp nhận cho DHCP Client đó thuê IP address đó.
Gói tin này bao gồm địa chỉ IP và các thông tin cấu hình khác (DNS Server,
WINS Server... ). Khi DHCP Client nhận đƣợc DHCPACK thì cũng có nghĩa là
kết thúc quá trình tìm kiếm của mình.
Cơ chế tự động refresh lại thời gian đăng ký (lease time).
Bây giờ ta coi nhƣ là DHCP Client đã đăng ký đƣợc một IP address rồi. Theo
mặc định của DHCP Server thì mỗi IP lease chỉ đƣợc có 8 ngày. Nếu theo nhƣ
mặc định (8 ngày) thì một DHCP Client sau một khoảng thời gian là 50% (tức là
4 ngày) nó sẽ tự động xin lại IP address với DHCP mà nó đã xin ban đầu. DHCP
Client lúc này sẽ gởi một sẽ gởi một DHCPREQUEST trực tiếp (unicast) đến
DHCP Server mà nó đã xin ban đầu.
Nếu mà DHCP Server đó "còn sống", nó sẽ trả lời bằng một gói DHCPACK
để renew (cho thuê mới lại) tới DHCP Client, gói này bao gồm thông các thông
số cấu hình mới cập nhật nhất trên DHCP Server. Nếu DHCP Server "đã chết",
thì DHCP Client này sẽ tiếp tục sử dụng cấu hình hiện thời của nó.
TÌM HIỂU VÀ MINH HỌA SNIFFER 13
Hình 1.4. Thứ tự các gói tin trong DHCP
Nếu sau 87.5% (7 ngày) của thời gian thuê hiện thời của nó, nó sẽ broadcast
một DHCPDISCOVER để update địa chỉ IP của nó. Vào lúc này, nó không kiếm
tới DHCP Server ban đầu cho nó thuê nữa mà nó là sẽ chấp nhận bất cứ một
DHCP Server nào khác.
Nếu thời gian đăng ký đã hết thì Client sẽ ngay lập tức dừng lại việc sử dụng
IP address đã đăng ký đó. Và DHCP Client sau đó sẽ bắt đầu tiến trình thuê một
địa chỉ nhƣ ban đầu.
1.3 Spanning Tree Protocol (STP)
1.3.1 Khái niệm
Trong hệ thống mạng, ngƣời quản trị luôn thiết kế hệ thống có tính sẵn sàng
cao (HA-High Availability). Vì thế, ngƣời quản trị luôn thiết kế hệ thống luôn có
đƣờng dự phòng để phòng những trƣờng hợp những đƣờng chính bị mất kết nối.
Nhƣng nhƣ thế sẽ dễ dẫn tới hiện tƣợng lặp (loop) trong mạng, vì thế ta cần có
giao thức STP.
STP là một giao thức ngăn chặn sự lặp vòng, cho phép các Switch truyền
thông với nhau để phát hiện vòng lặp vật lý trong mạng. Sau đó giao thức này sẽ
định rõ một thuật toán mà Switch có thể tạo ra một topology luận lý chứa loop-
free. Nói cách khác STP sẽ tạo một cấu trúc cây của free-loop gồm các lá và các
TÌM HIỂU VÀ MINH HỌA SNIFFER 14
nhánh nối toàn bộ mạng lớp 2.Các nguyên nhân chính dẫn đến sự chậm trễ hoặc
thậm chí sự đụng độ củaqSwitch:
Hình 1.5. Mô hình STP
Bão Broadcast
Bão Broadcast là hiện tƣợng rất nhiều frame chạy liên tục trong môi trƣờng
các Switch đấu vòng. Làm cho tốc độ hệ thống mạng chậm và có thể làm treo các
Switch tốc tộ thấp.
Instability MAC-address Table
Đây là hiện tƣợng bảng CAM không ổn định. Bảng CAM trong Switch sẽ
cập nhật liên tục mỗi khi có một gói tin đƣợc gởi đi trong mạng.
Multiple Frame Copies
Đây là hiện tƣợng thiết bị đầu cuối nhận rất nhiều frame do các frame này
chạy vòng trong hệ thống. Hiện tƣợng này sẽ làm cho thiết bị đích sẽ chạy chậm
vì tốc độ xử lý của card mạng không đáp ứng một lúc rất nhiều frame.
1.3.2 Cơ chế hoạt động.
STP là một giao thức hoạt động ở lớp 2, nó sử dụng một giải thuật để tìm ra
các vòng lặp trong mạng và tác động của một mạng không bị loop. Giải thuật
chống Loop trong STP đƣợc thực hiện lần lƣợt qua 3 bƣớc:
Bƣớc 1: lựa chọn một Switch gốc (root bridge) trong số các Switch trên
mạng.
TÌM HIỂU VÀ MINH HỌA SNIFFER 15
Bƣớc 2: Lựa chon một root port (là một cổng duy nhất trên mà Switch sử
dụng để đi tới gốc) trên các Switch khác (trừ gốc).
Bƣớc 3: Lựa chọn một designated port (là một cổng duy nhất mà một
colision domain sử dụng để đi tới gốc.
Việc tính toán Spanning Tree dựa trên hai khái niệm khi tạo ra vòng lặp logic
trong cấu trúc mạng đó là BridgeID và Cost.
BridgeID (BID): là một trƣờng gồm 8 byte, gồm 2 trƣờng con:
- Địa chỉ MAC: có 6 byte đƣợc gán cho Switch, sử dụng dƣới dạng
Hexa.
- Bridge Priority: là độ ƣu tiên có chiều dài là 2 byte tạo thành 216
giá trị
từ 0 đến 65535, có giá trị mặc định là 32768
Hình 1.6. Bridge ID
Cost: là chi phí đi tới Root Bridge có giá trị thấp nhất, chi phí đƣợc tính
bằng tổng cost trên các đoạn đƣờng đi tới đích.
Hình 1.7. Cost
TÌM HIỂU VÀ MINH HỌA SNIFFER 16
1.3.3 Hoạt động của Spanning Tree
Thuật toán Spanning Tree sẽ đƣợc thực hiện trình tự theo các bƣớc sau:
- Bƣớc 1: Sau khi Switch đƣợc khởi động, nó gửi gói tin BPDU (Bridge
Protocol Data Units), gói tin này gồm Switch Bridge ID và Root ID 2
giây/lần.
- Bƣớc 2: Trong pha khởi tạo ban đầu mỗi thì Switch đều coi nó là Root
Bridge.
- Bƣớc 3: Nếu Switch nhận đƣợc Root ID trong bản tin BPDU của Switch
neighbour mà nhỏ hơn Root ID của nó thì nó sẽ coi Switch neighbour là
Root Bridge (Switch có Root ID nhỏ hơn thì sẽ đƣợc bầu làm Root Bridge).
- Bƣớc 4: Switch sau đó sẽ forward bản tin BPDU với Root ID nhỏ hơn này
tới các Switch kế cận nó.
- Bƣớc 5: Switch với Root ID nhỏ nhất đƣợc coi là Root Bridge trong topo
Spanning-Tree.
- Bƣớc 6: Trong trƣờng hợp 2 Switch có Root ID bằng nhau, chúng sẽ tiến
hàng quá trình bầu chọn thông qua địa chỉ MAC address. Switch nào có địa
chỉ MAC address nhỏ hơn thì đƣợc coi là Root Bridge.
- Bƣớc 7: Sau khi xác định đƣợc Root Bridge, trên các Non-Root Bridge sẽ
tìm ra các Port mà có Cost đến Root Bridge nhỏ nhất để đƣợc bầu làm Root
Port. Cost đến Root Bridge đƣợc tính bằng tổng Cost trên các Segment từ nó
tới đích. Cost bằng 10^8/BW.
o Bƣớc 7.1: Nếu Cost trên các cổng của Switch đến Root Bridge là giống
nhau thì nó sẽ chọn Port nào có kết nối tới Switch có Bridge ID nhỏ hơn
thì port đó đƣợc gọi là Root port.
o Bƣớc 7.2: Giả sử các cổng cùng nối đến một Switch, điều đó có nghĩa là
Bridge ID mà các port dựa vào để đƣa ra chọn lựa là 1, là giống nhau, thì
nó sẽ dựa vào Port ID trên các Switch mà nó kết nối tới. Port nào mà kết
nối tới Port ID có Port Priority nhỏ hơn thì đƣợc chọn là Root Port.
TÌM HIỂU VÀ MINH HỌA SNIFFER 17
Hình 1.8. Quá trình hoạt động của STP
- Bƣớc 8: Sau khi xác định Root Port, trên mỗi Segment các cặp Switch sẽ
tiến hành bầu chọn Designated Port. Nhiệm vụ của Designated Port là: Gửi
các bản tin PBDU và Replay BPDU của Root gửi tới. Quá trình bầu chọn
Designated Port tƣơng tự quá trình bầu chọn Root Port ( 1.Dựa vào cost;
2.Dựa vào Switch – Priority ; 3.Dựa vào Port ID của Switch )
- Bƣớc 9: Các port còn lại đƣợc xác định là Block Port.
1.4 Mạng LANs ảo-VLAN (Virtual Local Area Network)
1.4.1 Khái niệm
VLAN là một mạng LAN ảo. Mỗi VLAN đƣợc xem nhƣ một mạng con riêng
(có IP đƣợc chia nhƣ một mạng con) và đƣợc tạo ra bằng cách cấu hình trên thiết
bị chuyển mạch lớp 2. Một VLAN tập trung một nhóm thiết bị mạng (điện thoại
IP, PC, Server, máy in…) và đƣợc thiết kế dựa trên các yêu cầu đặt ra từ các
doanh nghiệp. Ví dụ, thiết bị mạng trong một phòng ban sẽ đƣợc cấu hình trong
một VLAN.
Mỗi VLAN sẽ đƣợc quản lý dựa trên số VLAN ID (số xác định khi cấu hình
VLAN) với một tên VLAN tƣơng ứng (tên VLAN này đặt tùy ý). VLAN ID có
thể đặt theo quy định từ 0 đến 4095.
TÌM HIỂU VÀ MINH HỌA SNIFFER 18
Hình 1.9. VLAN ID
1.4.2 Chức năng của VLAN
Việc cấu hình VLAN trong doanh nghiệp có rất nhiều ý nghĩa. Mục đích ra
đời của VLAN là giúp giảm chi phí hạ tầng, nâng cao đƣợc tính bảo mật, ngoài ra
VLAN còn có rất nhiều chức năng nhƣ:
- VLAN giúp cho hệ thống mạng đƣợc linh hoạt: Hệ thống mạng sẽ đƣợc
linh hoạt nếu nhƣ cấu hình VLAN vì khi muốn thêm hay bớt các thiết bị
mạng vào VLAN rất đơn giản, chỉ cần cấu hình hay hủy cấu hình trên cổng
của Switch cho thiết bị đó với VLAN tƣơng ứng. Mặc khác, việc cấu hình
VLAN làm cho việc di chuyển các thiết bị mạng một cách dễ dàng bằng cách
ngƣời quản trị chỉ cần cấu hình lại các cổng Switch rồi đặt các thiết bị đó vào
các VLAN theo yêu cầu.
- Tăng khả năng bảo mật: Đối với hệ thống mạng không cấu hình VLAN thì
ngƣời dùng với các thiết bị mạng đều có thể truy cập vào nhau, khi bị tấn
công tất cả các thiết bị đều ảnh hƣởng . Đối với các hệ thống đã cấu hình
VLAN thì các thiết bị ở các VLAN khác nhau không thể truy cập vào nhau,
khi bị tấn công chỉ có các thiết bị mạng thuộc VLAN tƣơng ứng bị ảnh
hƣởng.
TÌM HIỂU VÀ MINH HỌA SNIFFER 19
- Giảm miền quảng bá (broadcast domain): Hệ thống không cấu hình
VLAN là một miền broadcast, mỗi gói broadcast sẽ gởi đến tất cả các thiết bị
trong mạng. Khi đã cấu hình VLAN thì mạng LAN sẽ đƣợc chia nhỏ làm
nhiều segment (đoạn mạng), nếu khi có gói tin broadcast thì nó chỉ đƣợc
truyền duy nhất trong VLAN đó.
- Tiết kiệm băng thông mạng: Khi hệ thống mạng mở rộng, số lƣợng ngƣời
dùng tăng lên và nhu cầu sử dụng băng thông cũng tăng lên và do đó băng
thông và khả năng thực thi của hệ thống mạng sẽ giảm. Khi cấu hình VLAN
thì nó sẽ làm giảm broadcast domain và gói tin broadcast chỉ đƣợc truyền đi
trong VLAN tƣơng ứng và giúp tiết kệm băng thông của hệ thống.
- Hỗ trợ cho cân bằng tài và dự phòng: VLAN giúp cho việc truyền dữ liệu
có thể đi theo nhiều đƣờng khác nhau nhờ cơ chế ngăn chặn sự lặp vòng của
gói tin.
1.4.3 Các kiểu VLAN
Khi VLAN đƣợc cung cấp hay tạo ra ở thiết bị Switch thì các thiết bị mạng
đầu cuối phải đƣợc gán vào VLAN tƣơng ứng theo sự thiết kế. Dựa trên tính
năng VLAN có thể đƣợc cấu hình tĩnh hay động mà ngƣời quản trị mạng có thể
dùng một trong 2 phƣơng pháp sau để thiết lập thành viên cho VLAN (gán thiết
bị vào VLAN tƣơng ứng).
TÌM HIỂU VÀ MINH HỌA SNIFFER 20
Static VLAN (Port based VLAN):
Hình 1.10. Static VLAN
Đây là cách cấu hình VLAN tĩnh, tức là việc gán các thiết bị mạng vào làm
thành viên của VLAN dựa vào các cổng vật lý trên Switch, nói cách khác thì các
cổng của Switch đƣợc gán với các VLAN riêng biệt. Khi thiết bị mạng kết nối
vật lý đến đến một cổng trên Switch thì thiết bị này sẽ đƣợc tự động gán vào
VLAN đã đƣợc cấu hình từ trƣớc. Trong kiểu cấu hình VLAN này thì ngƣời quản
trị mạng sẽ cấu hình các cổng trên Switch gán cho các VLAN bằng tay. Một hay
nhiều cổng trên Switch sẽ đƣợc cấu hình vào một VLAN với một VLAN ID. Mặc
dù hai thiết bị mạng đƣợc kết nối vào cùng một Switch nhƣng lƣu lƣợng mạng
giữa hai thiết bị không thể trao đổi với nhau vì hai VLAN này không cùng một
VLAN ID.
Dynamic VLAN (MAC address base VLAN):
Đây là cách cấu hình VLAN động, việc cấu hình sẽ dựa trên địa chỉ MAC
của thiết bị thành viên VLAN. Khi một thiết bị mạng kết nối đến một cổng của
Switch thì thiết bị mạng này sẽ không đƣợc tự động đƣợc gán vào VLAN nhƣ
Static VLAN. Mà khi một thiết bị mạng kết nối đến một cổng của Switch, Switch
phải truy vấn đến một cơ sở dữ liệu để gán thiết bị mạng vào làm thành viên của
VLAN. Cơ sở dữ liệu này đƣợc gọi là VMPS (VLAN Membership Policy
Server) database. Ngƣời quản trị phải thực hiện gán địa chỉ MAC của các thiết bị
thành viên VLAN tƣơng ứng trong VMPS database trên TFTP (Trivial File
TÌM HIỂU VÀ MINH HỌA SNIFFER 21
Transfer Protocol) Server. Khi đổi thiết bị sang Switch khác, Switch sẽ dựa vào
VMPS database thực hiện chỉ định VLAN cho thiết bị đó.
Quá trình thực hiện Dynamic VLAN:
- Thiết bị mạng (Client) thực hiện kết nối vào một cổng trên Switch.
- Switch đóng vai trò VMPS Client nhận đƣợc địa chỉ MAC của thiết bị
mạng.
Hình 1.11. Dynamic VLAN (MAC address base VLAN)
- Switch VMPS Client tiến hành kiểm tra địa chỉ MAC này bằng cách gửi
gói request đến Switch đóng vai trò là VMPS Server.
- Thông tin VMPS database (địa chỉ MAC tƣơng ứng với VLAN) từ TFTP
Server sẽ đƣợc tải vào VMPS Server để kiểm chứng địa chỉ MAC request
từ VMPS Client.
- Nếu thông tin đƣợc kiểm chứng là đúng thì VMPS Server sẽ gửi về VLAN
ID cho VMPS Client.
- VMPS Client sẽ cấu hình cổng cho thiết bị mạng vào đúng VLAN dựa trên
những thông tin nhận từ VMPS Server.
Các cổng trên Switch chỉ thuộc 1 VLAN. Lƣu lƣợng sẽ không lƣu thông qua
các cổng này cho đến khi Switch VMPS server chỉ định VLAN cho cổng này.
Nhiều thiết bị mạng có thể hoạt động trên cùng 1 cổng của Switch khi chúng
cùng chung VLAN. Các cổng trên Switch mà thiết bị đƣợc gán vào làm thành
viên của VLAN theo Dynamic VLAN đƣợc gọi là cổng động (Dynamic port).
TÌM HIỂU VÀ MINH HỌA SNIFFER 22
Dynamic VLAN (Protocol base VLAN):
Đây cũng là cách cấu hình VLAN động. Cách cấu hình này gần giống nhƣ
MAC address base VLAN, nhƣng sử dụng một địa chỉ logic hay địa chỉ IP thay
thế cho địa chỉ MAC. Cách cấu hình không còn thông dụng nhờ sử dụng giao
thức DHCP.
1.5 Hệ thống phân giải tên miền-DNS (Domain Name System)
1.5.1 Khái niệm
Mỗi máy tính trong mạng muốn liên lạc hay trao đổi thông tin, dữ liệu cho
nhau cần phải biết rõ địa chỉ IP của nhau. Nếu số lƣợng máy tính trong mạng
nhiều thì việc nhớ những IP này là rất khó khăn. Mỗi máy tính ngoài địa chỉ IP ra
còn có tên máy (host name). Đối với con ngƣời thì việc nhớ tên máy bao giờ
cũng dễ nhớ hơn địa chỉ IP vì chúng có tính trực quang và gợi nhớ hơn. Do đó
ngƣời ta tìm cách ánh xạ địa chỉ IP thành tên máy.
Dịch vụ DNS hoạt động theo mô hình Client-Server:
Server: có chức năng là phân giải tên thành địa chỉ IP và ngƣợc lại địa chỉ IP
thành tên, đƣợc gọi là Name Server, lƣu trữ cơ sở dữ liệu của DNS.
Hình 1.12. Sơ đồ tổ chức DNS
Client: truy vấn phân giải tên đến DNS server đƣợc gọi là Resolver, chứa
các hàm thƣ viện dùng để tạo các truy vấn (query) đến Name Server.DNS
đƣợc thi hành nhƣ 1 giao thức của tầng Application trong mô hình mạng
TÌM HIỂU VÀ MINH HỌA SNIFFER 23
TCP/IP.Một hostname trong domain là sự kết hợp giữa những từ phân cách
nhau bởi dấu chấm (.).
Ví dụ: Tên máy là srv1 gọi là hostname. Tên đầy đủ trong domain theo mô
hình trên thì là srv1.csc.hcmuns.edu.vn gọi là FQDN (Fully Qualified
Domain Name).
1.5.2 Cơ chế phân giải tên
Phân giải tên thành địa chỉ IP
Root Name Server là máy chủ quản lý các name server ở mức top-level
domain. Khi có query về 1 tên domain nào đó thì Root Name Server sẽ cung cấp
tên và địa chỉ IP của name server quản lý top-level domain đó (thực tế thì hầu hết
các root server cũng chính là máy chủ quản lý top-level domain) và đến lƣợc các
name server của top-level domain cung cấp danh sách các name server có quyền
trên các secon-level domain mà domain này thuộc vào. Cứ nhƣ thế đến khi nào
tìm đƣợc máy chủ quản lý tên domain cần truy vấn.
Qua quá trình trên cho thấy vai trò rất quan trọng của Root Name Server
trong quá trình phân giải tên domain. Nếu mọi Root Name Server trên mạng
Internet không liên lạc đƣợc với nhau thì mọi yêu cầu phân giải tên đều sẽ không
đƣợc thực hiện.
Ví dụ : Client cần truy cập trang web Yahoo thì Client sẽ yêu cầu phân giải
địa chỉ IP của Web Server nào có chứa website Yahoo này. Đầu tiên Client sẽ tìm
trong cache của nó, nếu cache của nó không có thì nó sẽ gửi request querry đến
DNS local (nếu trong mạng nội bộ có DNS Server). Sau đó DNS local cũng sẽ
tìm trong cache của nó, nếu có nó sẽ gửi địa chỉ IP cần truy vấn đến cho Client,
nếu cache không có thì lúc này DNS local sẽ gửi request query này đến 1 Root
Name Server nào đó gần nó nhất mà nó biết đƣợc. Sau đó Root Name Server này
sẽ trã lời địa chỉ IP của Name Server quản lý miền .com cho DNS local. DNS
local lại hỏi tiếp name server quản lý domain .com miền yahoo.com địa chỉ IP là
bao nhiêu. Cuối cùng DNS local truy vấn máy chủ quản lý domain Yahoo và
nhận đƣợc câu trả lời.Truy vấn có thể ở 2 loại:
TÌM HIỂU VÀ MINH HỌA SNIFFER 24
- Truy vấn đệ quy (recursive query) : khi name server nhận đƣợc truy vấn
dạng này, nó bắt buộc phải trả về kết quả tìm đƣợc hoặc thông báo lỗi nếu
nhƣ truy vấn này không phân giải đƣợc. Name Server không thể tham
chiếu đến 1 Name Server khác. Name Server có thể gửi truy vấn dạng
recursive hoặc interative đến Name Server khác nhƣng phải thực hiện cho
đến khi nào có kết quả mới thôi.
Hình 1.13. Truy vấn đệ quy
- Truy vấn tƣơng tác (Iteractive query): khi name server nhận đƣợc truy
vấn dạng này, nó trả lời cho Resolver với thông tin tốt nhất mà nó có đƣợc
vào thời điểm lúc đó. Bản thân name server không thực hiện bất cứ một
truy vấn nào thêm. Thông tin trả về lúc đó có thể lấy từ dữ liệu cục bộ (kể
cả cache). Trong trƣờng hợp Name Server không tìm thấy thông tin trong
dữ liệu cục bộ nó sẽ trả về tên miền và địa chỉ IP của Name Server nào
gần nhất mà nó biết.
Phân giải địa chỉ IP thành tên host
Để có thể phân giải tên máy tính của 1 địa chỉ IP, trong không gian tên miền
ngƣời ta bổ xung thêm 1 nhánh tên miền mà đƣợc lập chỉ mục theo địa chỉ IP.
Phần không gian này có tên miền là in-addr.arpa. Mỗi node trong miền in-
addr.arpa có 1 tên nhãn là chỉ số thập phân của địa chỉ IP.
TÌM HIỂU VÀ MINH HỌA SNIFFER 25
Hình 1.14. Truy vấn tương tác
Ví dụ: Miền in-addr.arpa có thể có 256 subdomain tƣơng ứng với 256 giá trị
từ 0 đến 255 của byte đầu tiên trong địa chỉ IP. Trong mỗi subdomain lại có 256
subdomain con nữa ứng với byte thứ 2. Cứ nhƣ thế và đến byte thứ 4 có các bản
ghi cho biết tên miền đầy đủ của các máy tính hoặc các mạng có địa chỉ IP tƣơng
ứng.
1.6 Địa chỉ MAC (Media Access Control)
1.6.1 Khái niệm
Năm 1976, khi nhu cầu kết nối các máy tính lại với nhau trở nên cấp thiết, 3
công ty lớn là Xerox, Intel và Digital Equipment Corp (DEC) đã cùng nhau
nghiên cứu và đƣa ra bản thảo cho chuẩn DIX Ethernet, chuẩn cho phép các máy
tính kết nối với nhau thành mạng LAN. Đến năm 1980, tổ chức IEEE (Institute of
Electrical and Electronics Engineers) dựa vào bản thảo DIX Ethernet nói trên đã
xây dựng chuẩn Etherner đầu tiên, trong đó gồm 2 phần: IEEE 802.3 quy định về
lớp điều khiển truy cập môi trƣờng, viết tắt là MAC và IEEE 802.2 quy định về
lớp điều khiển kết nối logic, viết tắt là LLC (Logical Link Control).
Trong mô hình tham chiếu OSI (Open Systems Interconnection) hay mô hình
tham chiếu kết nối các hệ thống mở thì địa chỉ MAC nằm ở lớp 2 (data-link). Nói
một cách đơn giản, địa chỉ MAC là địa chỉ vật lý hay còn gọi là số nhận dạng của
TÌM HIỂU VÀ MINH HỌA SNIFFER 26
mỗi thiết bị (identification number) của mỗi thiết bị. Mỗi thiết bị (card mạng,
modem, router,...) đƣợc nhà sản xuất gán sẵn một địa chỉ MAC nhất định và địa
chỉ này là duy nhất trên thế giới (có thể giả mạo đƣợc địa chỉ MAC).
1.6.2 Cấu trúc địa chỉ MAC
Địa chỉ MAC đƣợc biểu diễn bằng một số nhị phân 48 bit. Trong đó 24 bit
đầu là mã số của hãng sản xuất thiết bị đó và đƣợc tổ chức IEEE cấp cho mỗi
hãng và 24 bit này gọi là OUI (Organizationnally Unique Identifier). Còn 24 bit
sau là số seri cho từng thiết bị do nhà sản xuất tự gán cho từng thiết bị. Địa chỉ
MAC này đƣợc lƣu trong chip ROM trên mỗi thiết bị trong quá trình sản xuất.
Địa chỉ MAC thƣờng đƣợc viết ở dạng 12 số hexa và có 2 kiểu ghi địa chỉ MAC:
XX:XX:XX:YY:YY:YY (cách nhau bởi dấu 2 chấm) hoặc XX-XXXX-YY-YY-
YY (cách nhau bởi dấu gạch ngang).
Địa chỉ MAC đƣợc phân làm 3 loại:
- Unicast: đây là loại địa chỉ dùng để đại diện cho một thiết bị duy nhất.
Hình 1.15. Cấu trúc địa chỉ MAC
- Multicast: đây là loại địa chỉ đại diện cho một nhóm các thiết bị trong
mạng LAN. Địa chỉ đƣợc dùng trong trƣờng hợp một ứng dụng có thể
muốn trao đổi với một nhóm các thiết bị. Bằng cách gửi đi một bản tin có
địa chỉ multicast; tất cả các thiết bị trong nhóm đều nhận và xử lí gói tin
trong khi các thiết bị còn lại trong mạng sẽ bỏ qua. Giao thức IP cũng hỗ
trợ truyền multicast. Khi một gói tin IP multicast đƣợc truyền qua một
mạng LAN, địa chỉ MAC multicast tƣơng ứng với địa chỉ IP sẽ là
0100.5exxx.xxxx.
TÌM HIỂU VÀ MINH HỌA SNIFFER 27
- Broadcast: địa chỉ này đại diện cho tất cả các thiết bị trong cùng một
mạng LAN. Điều đó cũng có nghĩa là nếu một gói tin có địa chỉ MAC là
FFFF.FFFF.FFFF đƣợc gửi đi thì tất cả các thiết bị trong mạng LAN đều
phải thu nhận và xử lí.
Số lƣợng địa chỉ MAC rất lớn (248
địa chỉ) và sẽ đƣợc tái sử dụng vài năm
một lần nên đủ giải quyết việc phân định địa chỉ vật lý cho tất cả các máy tính.
TÌM HIỂU VÀ MINH HỌA SNIFFER 28
CHƢƠNG II: TỔNG QUAN VỀ SNIFFER
2.1 Định nghĩa Sniffer
Sniffer là một hình thức nghe lén trên hệ thống mạng, dựa trên những đặc
điểm của cơ chế TCP/IP. Sniffer là một kỹ thuật bảo mật, đƣợc phát triển nhằm
giúp đỡ những nhà quản trị mạng khai thác mạng hiệu quả hơn và có thể kiểm tra
các dữ liệu ra vào mạng, cũng nhƣ các dữ liệu chạy trong mạng. Về mặt tiêu cực,
Sniffer đƣợc sử dụng nhƣ một công cụ với mục đích nghe lén các thông tin trên
mạng để lấy các thông tin quan trọng.
2.2 Phân loại Sniffer
2.2.1 Active Sniffer
- Môi trƣờng: Chủ yếu hoạt động trong môi trƣờng có các thiết bị chuyển
mạch gói.Phổ biến hiện nay là các dạng mạch sử dụng switch.
- Cơ chế hoạt động: Chủ yếu hiện nay thƣờng dùng cơ chế ARP và RARP
bằng cách phát đi các gói tin đầu độc, mà cụ thể ở đây là phát đi các gói
thông báo cho máy gởi gói tin là “tôi là ngƣời nhận” mặc không phải là
“ngƣời nhận”.
- Đặc điểm: Do phải gởi gói tin đi nên có thể chiếm băng thông mạng. Nếu
sniff quá nhiều máy trong mạng thì lƣợng gói gởi đi sẽ rất lớn (do liên tục
gởi đi các gói tin giả mạo) có thể dẫn đến nghẽn mạng hay gây quá tải trên
chính NIC của máy đang dùng sniff (thắt nút cổ chai).
Ngoài ra các sniffer còn dùng một số kỹ thuật để ép dòng dữ liệu đi qua NIC
nhƣ:
o MAC fooding: làm tràn bộ nhớ switch từ đó switch sẽ chạy chế độ
forwarding mà không chuyển mạch gói.
o MAC Spoofing/Duplicating: các sniffer sẽ thay đổi MAC của mình
thành MAC của một máy hợp lệ và qua đƣợc chức năng lọc MAC của
thiết bị.
o Đầu độc DHCP để thay đổi gateway của client.
o Giả mạo ARP.
TÌM HIỂU VÀ MINH HỌA SNIFFER 29
2.2.2 Passive Sniffer
- Môi trƣờng: chủ yếu hoạt động trong môi trƣờng không có các thiết bị
chuyển mạch gói. Phổ biến hiện nay là các dạng mạng sử dụng hub, hay các
mạng không dây.
- Cơ chế hoạt động: do không có các thiết bị chuyển mạch gói nên các host
phải bị broadcast các gói tin đi trong mạng từ đó có thể bắt gói tin lại xem
(dù host nhận gói tin không phải là nơi đến của gói tin đó).
- Đặc điểm: do các máy tự broadcast các gói nên hình thức sniff này rất khó
phát hiện.
2.2.3 Các giao thức dễ bị Sniffing
Bất kỳ giao thức nào không thực hiện mã hóa dữ liệu thì về nguyên tắc đều
có thể bị hacker tấn công qua hình thức sniffer. Những giao thức thông dụng nhƣ
Telnet, HTTP, POP3, SMNP, NNTP, FTP, IMAP đều bị sniffer đánh cắp dữ liệu
dễ dàng vì thông tin đăng nhập đƣợc gửi đi dƣới dạng cleartext.
2.3 Một sốn phƣơng pháp phát hiện Sniffer
2.3.1 Phƣơng pháp Ping
ICMP (Internet Control Message Protocol) là một giao thức hoạt động trong
bộ giao thức TCP, giao thức này dùng để kiểm tra kết nối trong hệ thống mạng
thông qua hành động Ping.
Các máy tính trên mạng thƣờng sử dụng giao thức TCP, khi gửi yêu cầu đến
những máy tính này, chúng sẽ phản hồi lại kết quả. Mỗi máy bao gồm hai loại địa
chỉ gồm địa chỉ IP và địa chỉ MAC. Khi dữ liệu đƣợc truyền trên mạng, một máy
tính chỉ chấp nhận gói tin khi gói tin này chứa địa chỉ MAC hợp lệ. Máy tính
chạy sniffer có thể đƣợc phát hiện bằng cách gởi đi những gói tin đến địa chỉ IP
của máy đó trong mạng, nhƣng không thông qua card mạng.
Ví dụ, máy tính chạy sniffer có địa chỉ MAC là 00-32-08-A4-64-21 và có địa
chỉ IP là 10.0.0.4. Ngƣời quản trị mạng có thể đổi địa chỉ MAC của máy trên
trong router table thành 00-32-08-A4-64-24, sau đó Ping đến địa chỉ IP và MAC
mới này. Theo nguyên tắc thì không có máy tính nào có thể trả lời, nhƣng vẫn có
TÌM HIỂU VÀ MINH HỌA SNIFFER 30
trả lời từ máy tính chạy chƣơng trình sniffer, vì máy này có thể đã tắt tính năng
MAC Address Filtering trên card mạng. Trên cơ sở đó, ngƣời quản trị mạng sẽ
xác định đƣợc máy tính nào chạy sniffer trên hệ thống.
2.3.2 Phƣơng pháp ARP
Phƣơng pháp phát hiện Sniffer này tƣơng tự nhƣ phƣơng pháp dùng Ping.
Khác biệt chỗ chúng ta sẽ sử dụng gói tin ARP. Trong header của gói tin ARP
chứa địa chỉ IP và địa chỉ MAC của cả máy tính gửi và máy tính nhận. Trong hệ
thống mạng, nếu một gói tin ARP nonbroadcast đƣợc gửi đi, tất cả các máy tính
trong mạng mà gói tin đi qua, kể cả máy có cài đặt sniffer, sẽ lƣu lại thông tin
này. Nếu ta ping tới địa chỉ broadcast, thì tất cả các máy trừ máy đã nhận gói tin
nonbroadcast sẽ trả lời lại. Nếu không có sự trả lời nào từ một máy nào đó, thì
máy đó có khả năng đã cài sniffer.
Ví dụ, giả sử có một gói tin ARP nonbroadcast từ gửi từ máy tính A đến máy
tính B. Máy tính C chạy sniffer sẽ lƣu lại gói tin ARP nonbroadcast này. Khi ping
tới địa chỉ broadcast, cả máy B và C đều không trả lời. Suy ra, máy tính C có
chạy các chƣơng trình sniffer.
2.3.3 Phƣơng pháp DNS
Một số chƣơng trình sniffer có tính năng phân giải ngƣợc các địa IP thành
DNS mà chúng nhìn thấy. Để thực hiện phƣơng pháp này, bạn cần theo dõi quá
trình phân giải ngƣợc trên DNS Server, bằng cách ping đến những địa chỉ IP
không tồn tại trên hệ thống, nếu có trả lời từ một máy tính nào đó thì rất có thể
máy đó đã đƣợc cài đặt chƣơng trình sniffer và nó đang cố gắng phân giải ngƣợc
địa chỉ IP không tồn tại này.
2.3.4 Phƣơng pháp Source-Route
Để phát hiện sniffer, phƣơng pháp Souce-Route sử dụng một kỹ thuật gọi là
loose-source route. Loose-source route chứa thông tin đƣờng đi (danh sách các
địa chỉ IP) mà gói tin phải đi qua để đến đƣợc đích.
Ví dụ, ta có các máy tính với IP nhƣ hình, loose-source route chứa đƣờng
dẫn 192.168.0.12 192.168.0.15 192.168.0.17 192.168.0.23, với
TÌM HIỂU VÀ MINH HỌA SNIFFER 31
192.168.0.12 là địa chỉ nguồn, 192.168.0.23 là địa chỉ đích. Giả sử rằng để đến
đƣợc máy D, gói tin từ máy A phải đi qua máy B và máy C. Nếu ngƣời quản trị
vô hiệu hóa tính năng routing trên máy C mà gói tin vẫn đi sang máy D đƣợc thì
rất có thể máy C đã cài đặt các chƣơng trình sniffer. Một cách khác để phát hiện
sniffer là sử dụng trƣờng time to live(TTL), nếu TTL ở máy A là 25, khi gói tin
đến máy B, TTL sẽ giảm xuống còn 24, tƣơng tự cuối cùng khi đến đƣợc đích
(máy D) TTL còn 22. Nếu máy D sniff các gói tin từ máy B thì khi đến D, TTL
chỉ giảm đến 23. Điều này chứng tỏ máy D có cài đặt các chƣơng trình sniffer.
2.3.5 Phƣơng pháp giăng bẫy (Decoy)
Phƣơng pháp này đƣợc sử dụng trong những phạm vi mạng rộng lớn hơn
nhƣ Internet. Rất nhiều giao thức sử dụng các password không đƣợc mã hoá trên
đƣờng truyền. Đơn giản bạn chỉ cần giả lập những Client sử dụng dịch vụ mà
Password không đƣợc mã hoá nhƣ : POP, FTP, Telnet,...Bạn có thể cấu hình
những User không có quyền hạn, hay thậm chí những User không tồn tại. Khi
sniff đƣợc những thông tin này, các Hacker sẽ tìm cách kiểm tra, sử dụng và khai
thác chúng...
2.3.6 Minh họa sử dụng công cụ Ettercap để phát hiện Arp poisoning
192.168.1.20Admin
192.168.1.10Attacker
192.168.1.21User
192.168.1.1
Hình 2.1. Mô hình minh họa
TÌM HIỂU VÀ MINH HỌA SNIFFER 32
Ở minh họa này máy Attacker sẽ sử dụng phần mềm Cain & Abel để thực
hiện tấn công Arp Poisoning, cách tấn công tƣơng tự nhƣ phần ở chƣơng 2. Trên
máy Admin sẽ cài thêm phần mềm Ettercap để giám sát hệ thống.
Các bƣớc thực hiện:
Trên máy Attacker, kết quả sau khi thực hiện tấn công Arp Poisoning.
Hình 2.2. Kết quả sau khi tấn công
Sang máy Admin khởi động Ettercap, chọn Sniff Unified Sniffing, chọn
eth0 (card mạng giao tiếp với hệ thống) OK.
Chọn tiếp Host Scan for host, để scan tất cả các host trong mạng, Start
Start sniffing, sang tab Plugin Manage the plugin.
Click đúp vào mục search_promisc để lọc ra những card mạng đang ở trạng
thái promiscuous mode, ta đƣợc kết quả
Hình 2.3. Phát hiện Sniffer bằng Ettercap
TÌM HIỂU VÀ MINH HỌA SNIFFER 33
Ở dòng Most probably sniffing NICs liệt kê những địa chỉ IP có khả năng
cao đang chạy các chƣơng trình Sniffer( máy Attacker). Ở phần này Admin cũng
có thể sử dụng thêm plugin arp_cop để theo dõi các hoạt động Arp đáng ngờ trên
hệ thống.
2.4 Các phƣơng pháp phòng chống Sniffer
Nhìn chung, sử dụng phần mềm phát hiện nghe trộm là giải pháp nhanh và
thuận tiện nhất đối với ngƣời dùng cuối. Tuy nhiên hạn chế lớn của các chƣơng
trình này là chỉ phát hiện đƣợc sau khi đã bị nghe lén phát hiện trong thế bị động
khi sự nghe trộm đã xảy ra. Cách đơn giản nhất để ngăn chặn những kẻ muốn
Sniffer dữ liệu là sử dụng các giao thức mã hoá chuẩn cho dữ liệu trên đƣờng
truyền. Dƣới đây là một số cách phòng chống Sniffer trên hệ thống mạng:
- Thay thế Hub bằng những Switch, nó có thể cung cấp một sự phòng chống
hiệu quả hơn, tuy nhiên cũng cần phải giới hạn mức độ và phạm vi broadcast
bằng cách phân chia VLAN.
- Giới hạn khả năng bị cài đặt chƣơng trình nghe lén bằng cách áp dụng chính
sách quản lý cài đặt phần mềm cho hệ thống nhƣ: Port Sercurity, DHCP
snooping, Dynamic Arp Inspection,…
- Đối với mạng nhỏ, nên sử dụng địa chỉ IP tĩnh và bảng ARP tĩnh để hạn chế
khả năng bị tấn công kiểu ARP spoofing thông qua giám sát chặt chẽ sự thay
đổi địa chỉ MAC (Media Access Control) trên thiết bị switch.
- Áp dụng cơ chế one-time password, thay đổi password liên tục.
- Mã hóa dữ liệu truyền dẫn bằng các cơ chế truyền thông dữ liệu an toàn SSL
(Secure Sockets Layer), mạng riêng ảo VNP (Virtual Private Network). Nói
cách khác là thay thế hoặc hạn chế sử dụng các giao thức truyền thông không
mã hóa dữ liệu bằng giao thức mã hóa. Ví dụ: Dùng SSH (Secure Shell Host)
thay cho Telnet/Rlogin, dùng SFTP (secure FTP) thay vì FTP, dùng HTTPS
thay cho HTTP,..
- Đối với hệ thống mạng công ty, cách bảo vệ tốt nhất là ngăn chặn, phòng
ngừa ngay từ đầu bằng cách xây dựng các chính sách bảo mật mạng
TÌM HIỂU VÀ MINH HỌA SNIFFER 34
(Network Security Policy). Trong đó có những chính sách quản lý truy xuất,
quản lý bảo vệ vật lý hệ thống mạng với những quy định nhƣ: ai đƣợc phép
tiếp xúc với các máy, đƣợc phép sử dụng máy, đƣợc phép gắn thêm thiết bị
vào máy, đƣợc phép cài đặt những loại chƣơng trình nào (không cho phép
ngƣời dùng tự ý cài đặt chƣơng trình), nhằm hạn chế đến mức tối đa khả
năng xâm nhập về mặt vật lý đế cài đặt các chƣơng trình nghe lén trong
mạng.
TÌM HIỂU VÀ MINH HỌA SNIFFER 35
CHƢƠNG III: CÁC LOẠI SNIFFER VÀ CÁCH PHÒNG CHỐNG
3.1 MAC flooding
3.1.1 Bảng CAM (Content Address Memory)
Bảng CAM là vùng nhớ trong RAM của Switch dùng để lƣu các ánh xạ giữa
địa chỉ MAC nguồn của các PC, thiết bị mạng và port trên Switch mà các thiết bị
đó kết nối vào mạng. Kích thƣớc các bảng CAM là giới hạn và tùy thuộc vào các
dòng Switch khác nhau. Dữ liệu trong bảng CAM đƣợc Switch xây dựng qua quá
trình học địa chỉ MAC, duy trì trong quá trình hoạt động và sẽ đƣợc cập nhật sau
một khoảng thời gian nhất định hoặc khi Switch khởi động lại. Thời gian cập
nhật của bảng CAM thƣờng là sau khoảng thời gian 300s.
Hình 3.1. Bảng CAM
3.1.2 MAC flooding
Tấn công:
MAC flooding thuộc loại active Sniffer, là một kiểu tấn công dựa vào điểm
yếu của Switch. Kẻ tấn công sẽ dùng một phần mềm để gửi đến Switch thật nhiều
gói tin mà mỗi gói tin có địa chỉ MAC nguồn khác nhau (các địa chỉ MAC này là
giả). Theo nguyên tắc hoạt động của Switch, khi nhận đƣợc địa chỉ MAC nguồn
của gói tin không có trong bảng CAM thì Switch sẽ học thêm địa chỉ này vào
bảng CAM ứng với port nhận gói tin gửi tới. Nhƣ vậy nếu trong một khoảng thời
gian mà Switch nhận đƣợc một số lƣợng lớn các gói tin nhƣ thế thì bảng CAM sẽ
bị đầy và Switch sẽ không thể học thêm địa MAC từ bất cứ máy nào gửi gói tin
đến. Khi bảng CAM bị đầy thì Switch sẽ gửi các gói tin mà nó nhận đƣợc ra tất
TÌM HIỂU VÀ MINH HỌA SNIFFER 36
cả các cổng trừ cổng nó nhận đƣợc, cơ chế này giống nhƣ một Hub (thiết bị hoạt
động ở lớp 1). Lúc này kẻ tấn công có thể thấy gói tin của các máy gửi cho nhau
trong mạng nhờ vào các phần mềm Sniffer.
Cách phòng chống:
Nguyên lý của phƣơng pháp phòng chống MAC flooding là không cho các
gói tin có địa MAC lạ đi qua Switch. Phƣơng pháp phòng chống hiệu quả nhất là
cấu hình port-security trên Switch. Đây là phƣơng pháp cấu hình cho phép điều
khiển việc truy cập vào các port của Switch thông qua địa chỉ MAC của thiết bị
gắn vào.
Khi Switch nhận đƣợc một gói tin chuyển đến, nó sẽ kiểm tra địa chỉ MAC
nguồn của gói tin với danh sách các địa chỉ MAC trong bảng CAM. Nếu địa chỉ
MAC này đã có trong bảng CAM thì switch sẽ forward gói tin đến địa chỉ MAC
đích mà gói tin yêu cầu. Nếu địa chỉ này chƣa có trong bảng CAM thì tuỳ theo sự
cấu hình của ngƣời quản trị mà Switch sẽ xử lí gói tin đến với các mức độ khác
nhau. Các biện pháp xử lí có thể là:
- shutdown: cổng sẽ bị ngừng hoạt động, không nhận và chuyển gói tin
- restrict: cổng chỉ cho phép các gói tin có địa chỉ MAC hợp lệ đi qua, các
gói tin vi phạm sẽ bị huỷ. Đồng thời sẽ báo syslog cho ngƣời quản trị.
- protect: cũng giống nhƣ trong trƣờng hợp restrict, tuy nhiên sẽ không báo
syslog.
3.2.3 Minh họa
Chuẩn bị
- Một Cisco Switch
- Một PC đóng vai trò User
- Một PC đóng vai trò Attacker
- Cáp kết nối
TÌM HIỂU VÀ MINH HỌA SNIFFER 37
Mô hình
Switch
F0/1
F0/7
User
Attacker
Hình 3.2. Mô hình MAC flooding
Thực hiện
Để tiến hành tấn công MAC flooding ta có rất nhiều công cụ nhƣng hiệu quả
hơn cả là macof. Đây là một phần mềm nhỏ trong gói phần mềm dsniff, gói phần
mềm này chỉ chạy trên môi trƣờng Linux. Ta có mô hình nhƣ hình trên, mô hình
gồm 2 PC và một Switch. Trên mô hình ta có một máy Attacker dùng để tấn công
MAC flooding và một máy là user bình thƣờng. Trên máy Attacker, trong
terminal ta dùng lệnh sau: macof –i eth0 (lệnh này thực hiện việc flood
MAC qua cổng ethernet0), macof –i eh0 –n n (lệnh này thực hiện việc flood
MAC qua interface ethernet0 và flood n lần).
Hình 3.3. Flood MAC trên ubuntu
Khi thực hiện lệnh trên, PC sẽ tiến hành gởi các địa chỉ MAC ảo tới Switch,
Switch sẽ học tất cả các địa chỉ MAC này và sau một thời gian Switch sẽ xảy ra
hiện tƣợng tràn bảng CAM. Ta xem tất cả các địa chỉ MAC trong bảng CAM
bằng lệnh trên Switch: Switch#show mac address-table
TÌM HIỂU VÀ MINH HỌA SNIFFER 38
Hình 3.4. Kết quả sau khi thực hiện MAC flooding
TÌM HIỂU VÀ MINH HỌA SNIFFER 39
Để phòng chống MAC flooding ta sẽ cấu hình chức năng port-security trên
Switch. Ta sẽ xác định cổng tin tƣởng và chỉ cho một hoặc một số cổng đƣợc gởi
frame qua Switch.
Hình 3.5. Cấu hình port-security trên Switch
3.2 DHCP starvation
3.2.1 DHCP starvation
Nhƣ chúng ta đã tìm hiểu ở chƣơng 1, 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. Quá trình cấp phát diễn ta gồm
4 bƣớc, trong đó bƣớc đầu tiên là Client broadcast DHCPDISCOVER nhằm xin
địa chỉ IP của Server, sau các bƣớc tiếp theo thì Client sẽ nhận đƣợc IP từ Server.
Nhƣ vậy, ta có thể thấy bƣớc đầu tiên rất quan trọng và rất dễ bị tấn công
TÌM HIỂU VÀ MINH HỌA SNIFFER 40
DHCP Request/Reply Message
Hình 3.6. Chức năng các gói tin DHCP
Tấn công
Khi một Client cần cấp ip từ DHCP Server thì đầu tiên Client sẽ gởi một gói
tin broadcast DHCPDISCOVER đến DHCP Server, sau đó thì DHCP sẽ xử lý và
cấp phát địa chỉ IP cho Client và hầu hết việc gởi gói tin DHCPDISCORVER của
Client đều đƣợc DHCP Server cấp địa chỉ IP. Lợi dụng điều này thì Attacker sẽ
tấn công vào dịch vụ DHCP. Ý tƣởng của việc tấn công DHCP starvation là
Attacker sẽ gởi rất nhiều gói broadcast DHCPDISCOVER với những địa MAC
TÌM HIỂU VÀ MINH HỌA SNIFFER 41
khác nhau tới DHCP Server, điều này sẽ làm cho DHCP Server “bị đánh lừa” từ
đó Attacker sẽ nhận địa những địa chỉ IP tƣơng ứng với những gói broadcast
DHCPDISCOVER đã gửi trƣớc đó. Điều này sẽ làm cho việc quản lý địa chỉ IP
gặp nhiều khó khăn vì các Users khi cần địa chỉ IP từ DHCP Server sẽ không
nhận đƣợc địa chỉ IP vì khi đó tất cả địa chỉ IP đã đƣợc cấp cho các gói tin từ
Attacker gởi tới.
DHCP starvation là một phƣơng thức tấn công từ chối dịch vụ (DoS-Denial
of Service) dựa trên bản tin DHCP và đây thuộc loại active sniffer.
Client
DHCP ServerYersinia
DHCPDISCOVER
DHCPOFFER
DHCPREQUEST
DHCPACK
Hình 3.7. Tấn công DHCP stravation
Phòng chống
Khi Client gởi một gói tin DHCPDISCOVER tới DHCP Server thì trong gói
tin đó cũng bao gồm cả địa chỉ MAC của Client cũng nhƣ là Computer name của
Client. Nhờ vào đặc điểm này DHCP Server có thể biết đƣợc gói tin từ Client nào
gởi tới. Ta có thể nhờ vào đặc điểm này để phòng chống việc tấn công DHCP
starvation, ý tƣởng của việc này là lọc những gói tin đƣợc gởi tới switch, chỉ cho
những địa chỉ chúng ta đã định sẵn đi qua, còn những gói tin từ những địa chỉ lạ
chúng ta sẽ hủy không cho gói tin từ địa chỉ lạ đó đi qua. Tính năng hiệu quả nhất
ta nên dùng là port-sercurity trên Switch.
TÌM HIỂU VÀ MINH HỌA SNIFFER 42
3.2.2 Minh họa
Chuẩn bị
- Một Cisco router
- Một Cisco switch
- Một PC đóng vai trò User
- Một PC đóng vai trò Attacker (chạy Linux đã cài sẵn yersinia)
Mô hình
RouterSwitch
F0/0 F0/24
F0/1
F0/7
User
Attacker
Hình 3.8. Mô hình tấn công DHCP starvation
Thực hiện
Để tiến hành tấn công DHCP starvation ta có rất nhiều công cụ, trên Linux ta
có một công cụ rất hiệu quả và dễ sử dụng đó là yersinia. Nhƣ mô hình trên ta
dùng một Router đóng vai trò nhƣ một DHCP Sever, Switch đóng vai trò forward
các gói tin từ PC gởi tới Router. Đầu tiên ta tiến hành cấu hình DHCP Server trên
Router.
Hình 3.9. Cấu hình DHCP Server trên Router
TÌM HIỂU VÀ MINH HỌA SNIFFER 43
Để tiến hành tấn công, đầu tiên ta khởi động chƣơng trình bằng lệnh
yersinia –G trong terminal
Hình 3.10. Giao diện yersinia trên ubuntu
Sau đó, chọn qua thẻ DHCP để theo dõi tiến trình Attack. Để bắt đầu tấn
công, click nút Launch attack để mở giao diện attack option.
Tiếp theo, chọn sending DISCOVER packet và click nút OK để gởi
DHCPDISCOVER cho DHCP Server.
Hình 3.11. DHCP Attack option
TÌM HIỂU VÀ MINH HỌA SNIFFER 44
Để xem những bản tin DHCPDISCOVER, ta chuyển qua thẻ DHCP trên
giao diện yersinia
Hình 3.12. Bản tin DHCPDISCOVER trên yersinia
Sau khi Attack bằng cách gởi gói tin DHCPDISCOVER, ta kiểm tra việc
Attack bằng cách xem những IP đã đƣợc Server cấp cho Client. Ta xem tất cả các
địa chỉ MAC trong bảng CAM bằng lệnh trên Router:
Router#show ip dhcp binding
TÌM HIỂU VÀ MINH HỌA SNIFFER 45
Hình 3.13. Show DHCP binding
Để phòng chống DHCP starvation, ta cũng cấu hình port-security trên Switch
tƣơng tự nhƣ trên phƣơng pháp phòng chống MAC flooding.
3.3 Rogue DHCP Server
3.3.1 Rogue DHCP Server
Trong mỗi hệ thống đều có một DHCP Server có nhiệm vụ cung cấp toàn bộ
IP cho hệ thống mạng, những IP này sẽ có Default-gateway và DNS-Server.
Những thông tin này đƣợc ngƣời quản trị mạng cấu hình sẵn, nó giúp hoạt động
trong mạng theo đúng mong muốn của ngƣời quản trị mạng. Nhƣng nếu toàn bộ
thông tin trên của các máy Client bị sai lệch không đúng với mong muốn của
ngƣời quản trị mạng thì toàn bộ hệ thống mạng sẽ hoạt động sai lệch. Trên những
TÌM HIỂU VÀ MINH HỌA SNIFFER 46
ý tƣởng đó, Attacker sẽ tấn công Rogue DHCP Server. Attacker trong cuộc tấn
công này sẽ đóng vai trò nhƣ một DHCP Server trong mạng, Attacker sẽ cài đặt
một DHCP pool, trong đó DHCP pool này sẽ có default gateway và DNS Server
chỉ về địa chỉ mà Attacker mong muốn
Hình 3.14. Rogue DHCP Server
Tấn công
Ý tƣởng của Rogue DHCP Server là một hệ thống mạng sẽ tồn tại một
DHCP Server không nằm trọng kế hoạch của ngƣời quản trị, DHCP này sẽ do
Attacker cấu hình. Khi Client xin địa chỉ IP bằng gói tin DHCPDISCOVER thì
Attacker sẽ trả lời lại những gói tin này, sau đó Client sẽ nhận đƣợc IP từ DHCP
Server giả này, địa chỉ IP này sẽ trỏ tới một địa chỉ Default-gateway của chính
máy Attacker và DNS-Server là do Attacker phân giải, điều này có thể dẫn đến
sai lệch về việc phân giải tên miền, từ đó việc sniff của Attacker sẽ rất dễ dàng.
Việc tấn công này không đảm bảo lúc nào cũng thành công, vì theo lý thuyết thì
khi Client gởi DHCPDISCOVER thì Server sẽ trả về IP. Nhƣng khi mạng tồn tại
2 Server thì Server nào trả IP về trƣớc thì Client sẽ nhận IP đó.
Phòng thủ
Trong hệ thống mạng các Server đƣợc kết nối với các thiết bị Client qua
Switch. Trên Switch ta có thể cấu hình DHCP snooping để phòng chống việc tấn
công Rogue DHCP Server. Ý tƣởng của phƣơng pháp trên là xác định cổng tin
tƣởng trên Switch, các thiết bị đầu cuối đƣợc nối với Switch chỉ nhận IP đƣợc
TÌM HIỂU VÀ MINH HỌA SNIFFER 47
cấp từ các Server đƣợc nối với cổng tin tƣởng trên Switch. DHCP snooping sẽ
các định cổng tin tƣởng trên các VLAN, vì vậy ta sẽ chia VLAN trên Switch
trƣớc khi cấu hình DHCP snooping cho hệ thống.
3.3.2 Minh họa
Chuẩn bị
- Một Cisco router
- Một Cisco switch
- Một PC đóng vai trò User
- Một PC đóng vai trò Attacker (chạy Windows Server 2008)
Mô hình
Hình 3.15. Mô hình tấn công Rogue DHCP Server
Thực hiện
Trên mô hình có 2 DHCP Server, đối với Server làm Attacker ta sử dụng
Windows Server 2008 để dựng DHCP Server và Server chính ta sử dụng Router
để dựng DHCP Server.
TÌM HIỂU VÀ MINH HỌA SNIFFER 48
Hình 3.16. DHCP trên Windows Server 2008
Trên DHCP ta tạo một scope mới, có dãy địa chỉ từ 172.16.1.1 đến
172.16.1.200
Hình 3.17. Tạo scope trên DHCP Server
Trên Router ta cũng cấu hình tạo một DHCP pool, việc cấu hình tƣơng tự
nhƣ trên phần DHCP stavation, dãy địa chỉ là toàn bộ lớp mạng 192.168.1.0/24.
Khi Client xin IP thì không chắc chắn rằng IP mà Client nhận đƣợc sẽ từ
TÌM HIỂU VÀ MINH HỌA SNIFFER 49
Attacker hay do Router cấp, vì thế ở bài LAB này đôi khi là IP của Attacker và
đôi khi cũng là Router.
Để cấu hình phòng chống cho việc tấn công Rogue DHCP Server, ta cấu
hình DHCP snooping. Mặc định tất cả các cổng trên Switch đều thuộc VLAN 1,
ta sẽ cấu hình trên VLAN 1 và sau đó xác định cổng tin tƣởng
Hình 3.18. Cấu hình DHCP snooping
Sau khi cấu hình ta sẽ kiểm tra việc cấu hình DHCP snooping
Hình 3.19. Kiểm tra DHCP snooping
3.4 ARP Poisoning
3.4.1 Quá trình ARP
HostA và HostB truyền tin cho nhau, các packet sẽ đƣợc đƣa xuống tầng
Datalink để đóng gói, các Host sẽ phải đóng gói MAC nguồn, MAC đích vào
frame. Nhƣ vậy trƣớc khi quá trình truyền dữ liệu xảy ra, 2 máy sẽ phải làm động
tác hỏi MAC của nhau.
Nếu HostA khởi động quá trình hỏi MAC trƣớc, nó broadcast gói tin ARP
request để hỏi MAC HostB, thì HostB coi nhƣ đã có MAC của HostA, và HostB
chỉ trả lời cho A MAC của HostB thôi (gói tin trả lời từ HostB là ARP response).
3.4.2 ARP Spoofing Attack
Lợi dụng điểm yếu của giao thức ARP là giao thức stateless, có nghĩa là một
host khi nhận bản tin reply vẫn cập nhật thông tin trong đó vào ARP cache mặc
TÌM HIỂU VÀ MINH HỌA SNIFFER 50
dù nó hoàn toàn không gửi đi ARP request. Kẻ tấn công lợi dụng điểm yếu này
để gửi đi bản tin gratuitous giả mạo địa chỉ MAC nguồn tới máy nạn nhân.
Hình 3.20. ARP Spoofing Attack
Đầu tiên, UserA muốn gởi dữ liệu cho Victim (User B). UserA cần phải biết
địa chỉ MAC của Victim để liên lạc. UserA sẽ gửi broadcast ARP Request tới tất
cả các máy trong cùng mạng LAN để hỏi xem IP 10.1.1.1 (IP của Victim) có địa
chỉ MAC là bao nhiêu. Tất cả các User trên mạng LAN (kể cả Attacker) đều nhận
đƣợc gói tin ARP Request, nhƣng chỉ có Victim là gửi lại gói tin ARP Response
lại cho UserA. ARP Response chứa thông tin về IP của Victim, MAC Victim,
MAC UserA.
Sau khi nhận đƣợc gói tin ARP Response từ Victim, UserA đã biết đƣợc địa
chỉ MAC của Victim. UserA bắt đầu thực hiện liên lạc, truyền dữ liệu tới Victim.
Các User khác không thể xem nội dung dữ liệu đƣợc truyền giữa 2 máy UserA và
Victim. Attacker muốn xem dữ liệu truyền giữa UserA và Victim. Attacker sử
dụng kiểu tấn công ARP Spoofing. Attacker thực hiện gửi liên tục ARP Response
chứa thông tin về IP Victim, MAC Attacker, MAC UserA. Ở đây, thay vì là
MAC Victim, Attacker đã đổi thành địa chỉ MAC của mình.
UserA nhận đƣợc ARP Response và nghĩ là IP Victim 10.1.1.1 sẽ có địa chỉ
MAC là 9:8:7:6:5:4 (MAC của Attacker). UserA lƣu thông tin này vào bảng ARP
Cache. Bây giờ mọi thông tin, dữ liệu UserA gửi tới 10.1.1.1 (Victim), Attacker
TÌM HIỂU VÀ MINH HỌA SNIFFER 51
đều có thể nhận đƣợc, Attacker có thể xem toàn bộ nội dung UserA gửi cho
Victim.
Attacker còn có thể kiểm soát toàn bộ quá trình liên lạc giữa UserA và
Victim thông qua ARP Attack. Attacker thƣờng xuyên gửi các gói tin ARP
Response chứa địa chỉ IP của UserA và Victim nhƣng có địa chỉ MAC là của
Attacker.
- UserA nhận đƣợc gói tin này thì cứ nghĩ Victim sẽ có địa chỉ MAC là
9:8:7:6:5:4 (MAC của Attacker).
- Victim nhận đƣơc gói tin này thì cứ nghĩ UserA sẽ có địa chỉ MAC là
9:8:7:6:5:4 (MAC của Attacker).
Mọi thông tin trao đổi giữa UserA và Victim, Attacker đều có thể nhận đƣợc.
Nhƣ vậy là Attacker có thể biết đƣợc nội dung trao đổi giữa UserA và Victim.
Bằng cách giả mạo các gói tin ARP, Attacker có thể chuyển hƣớng tất cả
các kết nối giữa hai thiết bị khiến toàn bộ traffic đi về máy của mình, từ đó sẽ
dẫn tới:
- Từ chối dịch vụ.
- Chặn dữ liệu.
- Nghe lén cuộc gọi VoIP.
- Đánh cắp Password.
- Chỉnh sửa dữ liệu.
3.4.3 Nhƣợc điểm của ARP Spoofing Attack
Chỉ có những máy nằm trong cùng đƣờng mạng với máy Attacker mới bị tấn
công. Các máy nằm khác mạng sẽ không thể bị tấn công bằng hình thức này vì
trong cùng một đƣờng mạng LAN, các máy sẽ thực hiện trao đổi dữ liệu với nhau
dựa vào địa chỉ MAC. HostA muốn trao đổi dữ liệu với HostB. HostA sẽ dò tìm
trong bảng ARP cache xem IP của HostB sẽ có địa chỉ MAC tƣơng ứng là gì.
HostA đóng gói dữ liệu cần truyền với MAC nguồn là MAC HostA, MAC đích
là MAC HostB. Sau đó HostA sẽ truyền dữ liệu tới HostB dựa vào MAC đích
của gói tin.
TÌM HIỂU VÀ MINH HỌA SNIFFER 52
Trong trƣờng hợp HostA, HostB khác đƣờng mạng muốn liên lạc với nhau,
ta phải dựa vào địa chỉ IP để truyền dữ liệu và phải thông qua một thiết bị định
tuyến, đó là router. HostA sẽ đóng gói dữ liệu cần truyền với MAC nguồn là
HostA, MAC đích là router. Gói tin đó sẽ đƣợc truyền đến router, router sẽ dựa
vào địa chỉ IP đích (IP HostB)và dò tìm trong bảng định tuyến nhằm xác định
con đƣờng đi đến HostB. Router có khả năng ngăn chặn các gói tin broadcast
Hình thức tấn công này không thể thực hiện đƣợc trong mạng WAN, trên
Internet mà chỉ thực hiện đƣợc trên cùng mạng LAN.
Cách phòng chống ARP Spoofing
- D ng lệnh:
arp -a xem bảng ARP trên máy mình, kiểm tra MAC của B có đúng
là MAC B hay không.
arp -d * xóa toàn bộ ARP table trên máy mình, nhƣ vậy các địa chỉ
MAC bị tấn công cũng mất, và máy tính sẽ bắt đầu học lại. Nhƣng nếu
máy tấn công vẫn tiếp tục bơm các gói tin ARP đầu độc thì việc xóa ARP
table này cũng vô ích.
arp -s gắn cố định IP đích vào MAC thật của nó, nhƣ vậy kẻ tấn công
không đầu độc đƣợc IP này nữa. Nhƣng việc này không khả thi cho mạng
lớn, nhiều máy tính, và có sự thay đổi IP (dùng DHCP).
- D ng thiết bị:
Sử dụng DAI (Dynamic ARP Inspection): DAI tƣơng thích với
các Trusted và Untrusted Port trên Switch. Trusted Port cho qua tất
cả các gói tin ARP. Untrusted Port xác nhận sự đúng đắn của các gói
tin ARP.
- Cấu hình kích hoạt DAI trên các VLAN
Switch(config)# ip arp inspection vlan [vlan_id,vlan_id,…]
Cấu hình Trusted và Untrusted Interface trên Switch
Switch(config-if)# ip arp inspection trust
Cấu hình DAI loại bỏ các gói ARP nếu địa chỉ IP không hợp lệ
TÌM HIỂU VÀ MINH HỌA SNIFFER 53
Switch(config-if)# ip arp inspection validate {[src-mac][dst-mac]
[ip]}
Kiểm tra
Switch# show ip dhcp snooping bindings
Switch# show ip arp inspection
3.4.4 Minh họa
Chuẩn bị
- Một Cisco router
- Một Cisco switch
- Một PC đóng vai trò Victim
- Một PC đóng vai trò Attacker (cài Sniffer)
Mô hình
Hình 3.21. Sơ đồ minh họa ARP Spoofing
Thực hiện
Để thực hiện minh họa này, ta cần có 3 máy tính chạy hệ điều hành Windows
XP, máy Attacker sẽ cài đặt thêm phần mềm Cain&Abel.
Trên máy attacker khởi chạy Cain&Abel, chọn tab Sniffer. Chọn Configure
chọn card mạng giao tiếp với hệ thống, ở đây chọn 192.168.1.3 Apply
OK
Chọn Start Sniffer, sau đó chọn tiếp Start ARP
Chọn Add to list để quét tất cả các máy có trên mạng OK, ta đƣợc kết quả
TÌM HIỂU VÀ MINH HỌA SNIFFER 54
Hình 3.22. ARP Spoofing trên Cain & Abel
Chọn sang tab ARP Add to list, chọn các máy muốn sniff, OK. Chọn
Start ARP 1 lần nữa.
Hình 3.23. Kết quả Spoofing
Sang máy User A, vào Command Prompt, gõ telnet 192.168.1.4 (telnet sang
máy Victim), đăng nhập bằng username Administrator, password 123456. Sang
máy Attacker, đến tab Password Telnet, ở khung bên phải, click vào dòng
cuối, chọn View, ta đƣợc kết quả:
Hình 3.24. Username và Password bắt được
TÌM HIỂU VÀ MINH HỌA SNIFFER 55
Sang máy User A, gõ lệnh arp –a, để xem bảng arp
Hình 3.25. Bảng ARP trên máy Victim
Việc phòng thủ ARP spoofing, chúng ta sẽ dùng tính năng DAI (Dynamic
ARP Inspection) trên Switch. Nhƣng vì một số nguyên nhân khách quan nên
nhóm không thể thực hiện tính năng này trên Switch, nên vì thế nhóm chỉ giới
thiệu tính năng này trong phần lý thuyết phòng thủ ARP spoofing.
3.5 DNS Poisoning
3.5.1 Tổng quan
DNS poisoning là kỹ thuật đánh lừa DNS server làm cho nó tƣởng là nó đã
nhận đƣợc thông tin phân giải địa chỉ-ip đúng tuy nhiên trên thực tế thì nó nhận
thông tin giả mạo. Đây là dạng attacker mà các Attacker thƣờng hay sử dụng khi
có mong muốn tấn công vào một mạng nào đó. Dạng attacke này nếu xảy ra sẽ có
hậu quả to lớn cho toàn bộ hệ thống bị tấn công, toàn bộ địa chỉ phân giải sẽ bị
thay đổi làm cho thông tin bị sai lệch. DNS poisonig gồm có 4 kiểu tấn công phổ
biến: Intranet DNS spoofing (local network), Internet DNS spoofing (remote
network), Proxy Server DNS poisoning, DNS Cache poisoning.
Hình 3.26. DNS Poisoning
TÌM HIỂU VÀ MINH HỌA SNIFFER 56
3.5.2 Intranet DNS Spoofing
Intranet DNS spoofing là kiểu tấn công dựa trên hoạt động của DNS. Kiểu
tấn công này tấn công vào mạng cục bộ. Đầu tiên, Attacker sẽ kết nối vào hệ
thống, Attacker sẽ đầu độc toàn bộ hệ thống bằng cách lây nhiễm Trojan. Con
Trojan này sẽ tiến hành thay đổi toàn bộ địa chỉ DNS của User thành địa chỉ mà
của Attacker dựng nên, vì thế khi User tiến hành yêu cầu phân giải địa chỉ thì yêu
cầu này sẽ gởi tới máy Attacker.
Hình 3.27. Intranet DNS spoofing
Bƣớc tiếp theo Attacker sẽ gởi trả về cho User một địa chỉ IP đã đƣợc phân
giải, mà địa chỉ đó chỉ tới một Website giả mà Attacker tạo nên (có thể mọi yêu
cầu phân giải của User đều đƣợc Attacker phân giải thành một địa chỉ IP). Ở
Website giả này, Attacker sẽ có toàn bộ thông tin mà User thao tác trên Website
bằng các phần mềm Sniffer, từ đó Attacker sẽ sử dụng những thông tin này để
gởi tới Website thật để tấn công toàn hệ thống.
Ví dụ: User trong hệ thống có địa chỉ IP 10.0.0.3 có yêu cầu phân giải địa chỉ
để đi tới Website thật có địa chỉ 200.0.0.4. Nhƣng nếu có Intranet DNS spoofing
xảy ra, khi đó Attacker có địa chỉ 100.0.0.5 sẽ lây nhiễm Trojan cho User làm địa
chỉ DNS của User này là 100.0.0.5. Sau đó Attacker sẽ phân giải Website mà
User muốn đến thành 65.0.0.2 và từ đó Attacker sẽ bắt gói tin User gởi tới sau đó
forward tới Website thật có địa chỉ 200.0.0.4.
TÌM HIỂU VÀ MINH HỌA SNIFFER 57
3.5.3 DNS Cache Poisoning
Các thông tin về địa chỉ của Website đƣợc DNS Server phân giải sẽ đƣợc lƣu
trữ vào các Record trong DNS cache. Khi một Client gởi yêu cầu truy nhập tới
một địa chỉ nào đó thì Local DNS Server sẽ tra các record trong cache của chính
mình và gửi địa chỉ phân giải cho Client. Nếu trong cache của Local DNS Server
không có sẵn địa chỉ đã phân giải sẵn mà Client yêu cầu thì Local DNS Server sẽ
gởi truy vấn tới External DNS Server, sau đó Local DNS Server sẽ nhận đƣợc địa
chỉ phân giải. Tiếp theo Local DNS Server sẽ lƣu thông tin này vào cache của
mình và trả truy vấn về cho Client . Nhƣng nếu trên các Record, thông tin của các
địa chỉ bị sai lệch thì DNS Server sẽ gởi cho Client các địa chỉ bị sai lệch.
Hình 3.28. DNS Cache poisoning
Dựa trên ý tƣởng trên, Attacker sẽ là làm thay đổi các Record lƣu trữ trên
DNS Server, do đó DNS Server sẽ query vào địa chỉ IP của một Website giả
đƣợc thiết lập bởi Attacker và trả về cho Client. Nếu DNS Server không xác
minh lại các gói tin, nó sẽ lƣu lại những Record với những IP sai lệch.
3.5.4 Internet DNS Spoofing
Internet DNS spoofing là một kỹ thuật MITM đƣợc sử dụng nhằm cung cấp
thông tin DNS sai cho một host để khi ngƣời dùng duyệt đến một địa chỉ nào đó,
ví dụ abc.vn có IP X.X.X.X, thì sẽ bị chuyển hƣớng đến một địa chỉ abc.vn giả
mạo cƣ trú ở địa chỉ IP Y.Y.Y.Y, đây là địa chỉ mà kẻ tấn công đã tạo trƣớc để
đánh cắp các thông tin của ngƣời dùng. Để rõ hơn, hãy tham khảo hình bên dƣới:
TÌM HIỂU VÀ MINH HỌA SNIFFER 58
Hình 3.29. Internet DNS Spoofing
Quá trình trên đƣợc tóm tắt nhƣ sau:
- Ban đầu, Attacker đầu độc Router, chuyển tất cả các DNS request về máy
của mình.
- Máy Victim yêu cầu phân giải tên miền abc.vn
- Attacker sẽ respone DNS phân giải abc.vn thành IP của website giả mạo.
- Khi Victim truy cập tới abc.vn sẽ bị chuyển hƣớng tới website giả
- Attacker sẽ bắt các gói tin, đánh cắp thông tin của Victim và chuyển
hƣớng tới Website thật.
3.5.5 Proxy Server DNS Poisoning
Proxy Server DNS poisoning là một kiểu tấn công dựa trên hoạt động DNS.
Ở kiểu tấn công này thì Attacker sẽ tấn công vào proxy trên trên trình duyệt IE
(Internet Explorer). Trong hệ thống mạng, Attacker sẽ lây nhiễm Trojan vào toàn
bộ các PC của hệ thống. Con Trojan này sẽ làm thay đổi proxy Serrver trên IE,
địa chỉ proxy Server mà User chỉ tới lúc này là địa chỉ của Attacker. Khi đó tất
cả các Web request của User đều chạy qua máy Attacker, Attacker sẽ chuyển tất
cả các request này sang một Website giả mà Attacker đã dựng sẵn. Trên Website
giả, Attacker sẽ bắt toàn bộ gói tin mà User gởi tới, sau đó tất cả gói tin này sẽ
đƣợc Attacker forward tới Website thật.
TÌM HIỂU VÀ MINH HỌA SNIFFER 59
Hình 3.30. Proxy Server DNS Poisoning
Ví dụ, User có yêu cầu tới Website có địa chỉ 200.0.0.4. Nhƣng nếu trong
trƣờng hợp có tấn công Proxy Server DNS poisoning xảy ra thì Attacker có địa
chỉ 100.0.0.5 sẽ cho lây nhiễm Trojan vào trong hệ thống. Trojan sẽ làm thay đổi
IE proxy (IP của proxy Server: 100.0.0.5). Khi đó các Web request sẽ đi qua
Attacker.
3.5.6 Phòng chống
Việc tấn công DNS poisoning thƣờng rất phức tạp, vì thế để phòng chống
DNS poisoning chúng ta phải kết hợp nhiều phƣơng pháp trên toàn hệ thống.
Dƣới đây là một số phƣơng pháp dùng để phòng chống DNS poisoning hiệu quả:
Phân giải tất cả DNS query vào Local DNS Server
Việc phân giải tất cả DNS query vào Local DNS Server nhằm đảm bảo mọi
yêu cầu phân giải từ User đều nằm trong cache của Local DNS Server
Block tất cả các request tới External DNS Server
Khi có request tới External DNS Server sẽ dễ làm cho User nhận thông tin
phân giải bị sai lệch, vì khi đó Attacker sẽ lợi dụng sơ hở để đóng vai trò là
External DNS Server.
TÌM HIỂU VÀ MINH HỌA SNIFFER 60
Triển khai DNSSEC
DNSSEC là công nghệ an toàn mở rộng của DNS, về bản chất DNSSEC
cung cấp các cơ chế có khả năng chứng thực và đảm bảo toàn vẹn dữ liệu cho hệ
thống DNS, theo đó DNSSEC đƣa ra 4 loại bản ghi mới:
- Bản ghi khóa công cộng DNS (DNSKEY - DNS Public Key): sử dụng để
chứng thực zone dữ liệu.
- Bản ghi chữ ký tài nguyên (RRSIG - Resource Record Signature): sử dụng
để chứng thực cho các bản ghi tài nguyên trong zone dữ liệu.
- Bản ghi bảo mật kế tiếp (NSEC - Next Secure): sử dụng trong quá trình
xác thực đối với các bản ghi có cùng sở hữu tập các bản ghi tài nguyên
hoặc bản ghi CNAME. Kết hợp với bản ghi RRSIG để xác thực cho zone
dữ liệu.
- Bản ghi ký ủy quyền (DS - Delegation Signer): thiết lập chứng thực giữa
các zone dữ liệu, sử dụng trong việc ký xác thực trong quá trình chuyển
giao DNS.
Cấu hình Firewall loại bỏ các gói tin DNS đi ra External DNS Server
Đây là một phƣơng pháp hạn chế việc User query ra ngoài External DNS
Server, Attacker sẽ dễ dàng gởi thông tin sai lệch về thông tin DNS cho User.
Hạn chế sử dụng dịch vụ DNS, bằng cách phân quyền cho User
Đây là một phƣơng pháp rất hữu hiệu, vì khi không dùng dịch vụ DNS thì
Attacker sẽ không thể tấn công DNS poisoning.
3.5.7 Minh họa
Vì một số lí do khách quan nên nhóm không thể tiến hành minh họa toàn bộ
những kiểu tấn công DNS poisoning nên chỉ đƣa ra một bài minh họa cho việc
tấn công này.
Để minh họa cho hình thức tấn công này cần có 2 máy tính chạy hệ điều
hành Windows XP (có thể sử dụng Linux) , riêng trên máy tấn công phải cài đặt
công cụ Ettercap và dựng sẵn một website giả mạo có giao diện giống với trang
TÌM HIỂU VÀ MINH HỌA SNIFFER 61
facebook.com thật, hai máy tính truy cập Internet thông qua ADSL Router có IP
là 192.168.1.1.
Chú ý cách tạo website giả mạo và tạo cơ sở dữ liệu để lƣu password mình sẽ
không đề cập ở đây, phần minh họa này chỉ tập trung vào cách làm sao để chuyển
hƣớng truy cập của nạn nhân đến website giả mà thôi.
Hình 3.31. Minh họa tấn công DNS poisoning
Thực hiện
Mở file etter.dns ở thƣ mục C:\Program Files\EttercapNG\share trên máy
Attacker, đây là một file khá đơn giản và có chứa các bản ghi DNS mà bạn muốn
giả mạo, thêm vào các dòng sau:
facebook.com A 192.168.1.22
*.facebook.com A 192.168.1.22
www.facebook.com PTR 192.168.1.22
Mục đích của việc làm này là khi nạn nhân truy cập facebook.com thật thì sẽ
bị chuyển hƣớng tới website giả mà ta đã dựng sẵn trên máy tấn công.
Khởi chạy công cụ Ettercap, chọn tab Sniff chọn tiếp Unifiedsniffing,
chọn card mạng giao tiếp với hệ thống.
Chọn tab Host Scan for host, để scan tất cả các host có trên mạng. Sau
khi đã scan xong, chọn tiếp tab Host Host List. Click chọn 192.168.1.23
Add to target 1. Click chọn 192.168.1.22 Add to target 2. Chọn tiếp tab
Start Start Sniffing. Sau đó chọn Tab Plugin Manage the plugin, click
double vào dns_spoof để kích hoạt tính năng gởi các DNS replies giả mạo đến
máy nạn nhận.
TÌM HIỂU VÀ MINH HỌA SNIFFER 62
Hình 3.32. Chọn tính năng dns_spoof
Sang máy nạn nhân, truy cập website www.facebook.com. Trở lại máy tấn
công, trên giao diện phần mềm Ettercap, ta thấy trang www.facebook.com đã bị
chuyển hƣớng đến địa chỉ IP của máy tấn công (chứa website giả mạo).
Hình 3.33. Kết quả DNS spoofing
Dùng wireshark để bắt gói tin, ta thấy rằng khi máy nạn nhân(192.168.1.23)
yêu cầu phân giải tên miền facebook.com, thì ADSL Router sẽ response về địa
chỉ 192.168.1.22 (địa chỉ website giả mạo).
Hình 3.34. Kết quả bắt gói tin trên Wireshark
Cuối cùng, ta đƣợc kết quả:
TÌM HIỂU VÀ MINH HỌA SNIFFER 63
Hình 3.35. Username và Password
3.6 MAC spoofing
3.6.1 MAC spoofing
Mỗi thiết bị mạng đều đƣợc nhà sản xuất gán cho một địa chỉ xác định, đó là
địa chỉ MAC. Địa chỉ này dùng để phân biệt thiết bị này với thiết bị kia và địa chỉ
này sẽ là duy nhất cho mỗi thiết bị. Nhƣng chúng ta có một kỹ thuật có thể thay
đổi địa chỉ này đó là MAC spoofing. Khi thay đổi địa chỉ MAC chúng ta có thể
vƣợt qua đƣợc các phƣơng pháp bảo mật dựa trên đặc điểm duy nhất của địa chỉ
MAC, những phƣơng pháp có thể vƣợt qua có thể là: ACLs (Access Control
List), port-sercurity…
3.6.2 Minh họa
Để thay đổi địa chỉ MAC trên thiết bị ta dùng phần mềm SMAC v2.7. Phần
mềm này đƣợc cài đặt trên Windows XP
Hình 3.36. SMAC v2.7 professional
TÌM HIỂU VÀ MINH HỌA SNIFFER 64
Ở dòng khoảng trắng, sổ xuống chọn 10NET COMMUNICATION/DCA
Hình 3.37. Chọn 10NET COMMUNICATION/DSA
Điền địa chỉ MAC mới vào những ô còn trống, sau đó click Update MAC để
đổi địa chỉ MAC.
Hình 3.38. Đổi địa chỉ MAC mới
Kiểm tra ta dùng lệnh ipconfig /all
Hình 3.39. Kiểm tra địa chỉ MAC sau khi đổi
TÌM HIỂU VÀ MINH HỌA SNIFFER 65
3.7 VLAN Hopping
3.7.1 Các giao thức hoạt động trong môi trƣờng VLAN
Các chuẩn đóng gói VLAN
Khi sử dụng nhiều VLAN trong mạng có các Switch đƣợc nối với nhau, giữa
các Switch sẽ đƣợc kết nối trunk. Đƣờng trunk này có nhiệm vụ truyền frame của
các VLAN khác nhau cùng một lúc. Khi gởi frame tới một Switch khác, các
Switch cần một các để định ra các VLAN mà frame muốn gởi tới. Vì thế chúng
ta cần một chuẩn để đóng gói các frame để các Switch phân biệt đƣợc frame đó
của VLAN nào. Ta có 2 chuẩn:
- Inter-Switch Link (ISL):
Đây là chuẩn độc quyền của Cisco nên chỉ có thể sử dụng trên các Switch
của Cisco. ISL đóng gói toàn bộ các frame Ethernet gốc trong một ISL
header. Các frame Ethernet đƣợc đóng gói bên trong không có gì thay đổi.
Trong ISL header sẽ gán VLAN ID, dựa vào VLAN ID này nên Switch nhận
biết đƣợc frame thuộc VLAN nào gởi tới.
Hình 3.40. Inter-Switch Link
- IEEE 802.1Q
IEEE 802.1Q (hay đơn giản là .1Q) là một chuẩn dùng chung cho tất cả
các thiết bị. Chuẩn này đƣợc sử dụng cho môi trƣờng LAN. 802.1Q sử dụng
một cách hoàn toàn khác với ISL, nó không đóng gói frame gốc mà nó thêm
vào header của frame 4 bytes. Trong 4 bytes đó thì sẽ chứa VLAN ID và dựa
vào VLAN ID mà Switch có thể nhận biết ra frame thuộc VLAN nào.
TÌM HIỂU VÀ MINH HỌA SNIFFER 66
Hình 3.41. IEEE 802.1Q
VLAN Trunking Protocol (VTP)
VTP là giao thức của Cisco dùng để đồng bộ tất cả VLAN trên Switch với
nhau. Xét ví dụ sau để thấy vì sao nên dùng VTP trong việc triển khai VLAN.
Tình huống đặt ra: Một công ty có 10 Switch, mỗi Switch đƣợc chia thành 10
VLAN, công việc cấu hình VLAN sẽ tốn nhiều thời gian và gây nhầm lẫn, kết
hợp với việc tạo thêm, xóa, thay đổi VLAN sẽ làm cho việc cấu hình phức tạp.
Lúc này với VTP cho phép quản lý VLAN hiệu quả hơn. Chỉ cần tạo VLAN trên
server, thông tin sẽ đƣợc phân phối đến các Switch khác, nếu có thay đổi VLAN
thì giữa các Switch sẽ tự động đồng bộ với nhau. VTP sử dụng gói tin VTP
advertisement để đồng bộ. Theo chu kỳ 5 phút 1 lần các Switch sẽ gửi gói tin này
cho các Switch nối trực tiếp với nó. Mặc định thì VTP đã đƣợc bật trên Switch
nhƣng không tắt giao thức này đƣợc.
.
Hình 3.42. Mô hình VTP
TÌM HIỂU VÀ MINH HỌA SNIFFER 67
Để thực hiện đồng bộ thông tin cấu hình VLAN thì phải thõa mãn 2 điều
kiện sau:
- Có đƣờng Trunk nối các Switch lại với nhau.
- Các Switch phải cùng chung một miền VTP (VTP domain).
VTP chỉ giúp đồng bộ thông tin cấu hình VLAN chứ không đồng bộ cổng.
Vì vậy phải cấu hình gán cổng cho các VLAN trên Switch.
Ví dụ: Switch A có các cổng F0/1, F0/2, F0/2 gán cho VLAN 10, trong khi
Switch B có các cổng F0/1, F0/2, F0/2 gán cho VLAN 20.
Dynamic Trunking Protocol (DTP)
DTP là giao thức độc quyền của Cisco. Giao thức này dùng để thiết lập
đƣờng Trunk và cách đóng gói frame VLAN (chuẩn IEEE 802.1Q hoặc chuẩn
ISL) giữa hai Switch. Có thể cấu hình đƣờng Trunk bằng tay giữa hai thiết bị
chuyển mạch. Nhƣng với giao thức DTP thì đƣờng Trunk đƣợc thiết lập một cách
tự động. Theo mặc định thì giao thứ DTP đã đƣợc bật trên các thiết bị chuyển
mạch của Cisco. Giữa Router và Switch có thể cấu hình đƣờng Trunk nhƣng
không có giao thức này vì Router không hiểu đƣợc giao thức DTP. Ngƣời quản
trị mạng có thể cấu hình trạng thái DTP trên mỗi trunk port. Các trạng thái bao
gồm: On, Off, Desirable,fAutorvàeNon-Negotiate.
- On: trạng thái này đƣợc sử dụng khi Switch khác không hiểu giao
thứcrDTP.
- Off: trạng thái này đƣợc sử dụng khi cổng đã đƣợc cấu hình từ trƣớc
không với mục đích trở thành trunk port.
- Desirable: trạng thái này đƣợc sử dụng khi cổng Switch muốn trở thành
trunk port.
- Auto: Đây là trạng thái mặc định trên nhiều Switch.
- Non-Negotiate: trạng thái này đƣợc sử dụng khi ngƣời quản trị muốn một
loại trunk đƣợc đóng gói ISL hay IEEE 802.1Q cụ thể.
Trên phần lớn Switch giao thức DTP trên các cổng đƣợc cấu hình mặc
định là auto.
TÌM HIỂU VÀ MINH HỌA SNIFFER 68
3.7.2 VLAN Hopping
VLAN hopping là một phƣơng thức tấn công mạng dựa trên những điểm yếu
của VLAN. Attacker sử dụng VLAN hopping khi muốn đi vòng qua các thiết bị
lớp 2, lớp 3 khi trao đổi thông tin từ một VLAN này sang một VLAN khác. Ý
tƣởng tấn công dựa trên các trunk port trên Switch đƣợc cấu hình bất hợp lý. Mặc
định, các trunk port có thể truy nhập tới tất cả các VLAN. Dữ liệu truyền qua các
đƣờng trunk này có thể đƣợc đóng gói theo chuẩn IEEE 802.1Q hoặc ISL (Inter-
Switch Link). VLAN hopping đƣợc thực hiện theo hai cách: Switch spoofing và
double tagging.
VLAN hopping với Switch spoofing
Tất cả các trunk port đều có thể truy cập tới tất cả các VLAN. Nếu Attacker
kết nối vào trunk port thì Attacker sẽ thấy đƣợc tất cả các gói tin của tất cả các
VLAN bằng các phần mềm Sniffer. Để tiến hành tấn công VLAN hopping theo
kiểu Switch spoofing, Attacker sẽ gởi các gói tin đƣợc đóng gói theo các chuẩn
Inter-Switch Link (ISL) hoặc 802.1Q cùng với Dynamic Trunking Protocol
(DTP), để thiết lập kết nối trunk đến Switch. Theo mặc định thì trạng thái DTP
trên mỗi trunk port trên Switch đều ở chế độ auto, khi Attacker gởi DTP packet
đến Switch thì Switch sẽ kết nối trunk với Attacker. Do đó Attacker sẽ dễ dàng
truy cập vào tất cả các VLAN. Attacker có thể gửi packet hoặc nhận các packet
tới bất kỳ VLAN nào.
Hình 3.43. VLAN hopping-Switch spoofing
VLAN hopping với double tagging
TÌM HIỂU VÀ MINH HỌA SNIFFER 69
Kiểu tấn công này lợi dụng cách thức hoạt động của Switch. Hiện nay, phần
lớn các Switch chỉ thực hiện đóng gói IEEE 802.1Q. Điều này cho phép Attacker
trong những tính huống cụ thể có khả năng gắn các đuôi 802.1Q (gọi là .1Q tag)
vào khung. Khung này sẽ vào VLAN với đuôi .1Q đầu ra không xác định. Một
đặc điểm quan trọng của kiểu tấn công VLAN hopping double tagging là nó có
thể tiến hành thậm chí với các cổng trunk đã đƣợc thiết lập ở chế độ Off.
Hình 3.44. VLAN hopping-Double tagging
Ngăn chặn kiểu tấn công này không dễ nhƣ việc ngăn chặn kiểu tấn công
VLAN hopping Switch spoofing. Biện pháp tốt nhất để đảm bảo các VLAN của
các trunk port đƣợc phân biệt rạch ròi với các VLAN của các cổng của User.
3.7.3 Minh họa VLAN hopping
Để minh họa tấn công VLAN hopping ta dùng chƣơng trinh yersinia trên
ubuntu
Hình 3.45. Tấn công VLAN hopping với yersinia
Chọn tab 802.1Q, sau đó chon Edit mode để chỉnh sửa VLAN muốn attack,
theo minh họa là VLAN 20.
TÌM HIỂU VÀ MINH HỌA SNIFFER 70
Hình 3.46. Tấn công VLAN 20
Sau đó hộp thoại hiện ra, chọn sending 802.1Q double enc. Packet, click
OK.
Hình 3.47. Sending 802.1Q
TÌM HIỂU VÀ MINH HỌA SNIFFER 71
3.8 Spanning Tree Protocol Attack
3.8.1 Các kiểu tấn công
Lợi dụng điểm yếu về chứng thực bản tin, một hacker có thể tiến hành tấn
công theo kiểu gửi đi bản tin BPDU giả dạng để tuyên bố mình là root bridge.
Thực hiện điều này không khó bởi chỉ cần gửi đi bản tin BPDU có priority cực
thấp thì khả năng của host trở thành root bridge là rất cao.
Hậu quả là, cấu trúc cây STP bị thay đổi không theo ý muốn của ngƣời quản
trị.Ví dụ khi kẻ tấn công chiếm đƣợc quyền làm root bridge, khi nhận đƣợc bản
tin TCN báo có sự thay đổi cấu hình từ một Switch, root vẫn gửi đi bản tin
BPDU với TC = 0 báo trạng thái STP bình thƣờng. Kết quả là mọi Switch khác
đều không biết về sự thay đổi này dẫn đến việc trao đổi thông tin có thể bị gián
đoạn. Dữ liệu truyền qua lại giữa các Switch thuộc các nhánh khác nhau của cây
STP sẽ đƣợc truyền qua host trƣớc (tấn công man in the middle).
Thay đổi cấu trúc cây STP:
Hình 3.48. Cấu trúc cây STP lúc đầu
Trƣớc khi bị tấn công, cây STP có root bridge là Switch 1. Attacker gửi đi
bản tin giả mạo có Priority thấp nhất (Priority 0) đến Switch 3. Khi Switch 3
nhận đƣợc bản tin BPDU từ cổng 3 của nó, nó biết là có sự thay đổi topology của
mạng. Lúc đó 3 cổng trên switch 3 sẽ chuyển từ trạng thái blocking sang trạng
thái listening để Switch tham gia vào quá trình bình bầu root bridge, root portvà
TÌM HIỂU VÀ MINH HỌA SNIFFER 72
designated port. Trong trạng thái này, switch 3 cũng gửi đi bản tin BPDU có
priority 0 đến hai Switch 1 và 2. Quá trình bình bầu diễn ra có kết quả nhƣ sau:
- Các Switch sẽ coi Attacker là root bridge.
- Trên Switch 3: cổng 3 đƣợc chọn làm root port vì có chi phí đến root thấp
nhất, vậy cổng 1, 2 đƣợc chọn làm designated port vì nó gửi đi bản tin
BPDU có chi phí thấp hơn so với chi phí của các bản tin gửi từ Switch 1
và 2.
- Trên Switch 1: cổng 1 đƣợc chọn làm root port, cổng 2 đƣợc chọn là
designated port .
- Trên Switch 2: cổng 2 đƣợc chọn làm root port; cổng 1 là non-designated
port.
Sau khi đã chọn đƣợc root port; Switch 3 sẽ gửi đi bản tin TCN qua cổng 3
cho root bridge mới thông báo là đã có sự thay đổi trong mạng. Attacker gửi lại
bản tin TCA cho Switch 3 và gửi đi bản tin BPDU có TC=1 đến tất cả các Switch
khác. Các Switch khác khi nhận đƣợc bản tin này sẽ đặt thời gian tồn tại các ánh
xạ trong bảng cache xuống còn 15 s để chuẩn bị học địa chỉ MAC mới.
Tất cả quá trình trên đƣợc diễn ra trong khoảng 15s (trạng thái listening).
Các Switch đợi thêm 15s nữa để học lại địa chỉ MAC (trạng thái learning). Sau
30s, các cổng là root port hoặc designated port sẽ đƣợc đặt vào trạng thái
forwarding còn các cổng là non-designated port sẽ đƣợc đặt vào trạng thái
blocking.
Hình 3.49. Cấu trúc cây STP đã bị thay đổi
Chúng ta thấy cấu trúc cây đã bị thay đổi
TÌM HIỂU VÀ MINH HỌA SNIFFER 73
Tấn công Man in the middle:
Hình 3.50. Sơ đồ tấn công Man in the middle
Trong sơ đồ tấn công trên, Attacker cần có hai card mạng gắn vào các cổng
tƣơng ứng trên các Switch, sau đó gửi bản tin BPDU với Priority nhỏ hơn
Priority của các Switch. Khi đó, Attacker sẽ trở thành root bridge.
Hình 3.51. Đường đi của dữ liệu
Dữ liệu từ PC 1 sang PC 2 phải đi qua máy của kẻ tấn công thay vì đi trực
tiếp qua đƣờng nối giữa Switch 1 và Switch 2 nhƣ trong sơ đồ mạng trƣớc khi bị
tấn công.
3.8.2 Cách phòng chống
Nguyên lý phòng chống STP là không cho host gửi bản tin BPDU giả mạo.
Cấu hình BPDU guard:
Cấu hình này thƣờng đi kèm với cấu hình portfast trên cùng một cổng. Nếu
cổng nhận đƣợc bất kì một bản tin BPDU nào đó thì ngay lập tức, cổng sẽ đƣợc
chuyển vào trạng thái errdisable, trạng thái cần phải bị shut-down do lỗi. Cổng
TÌM HIỂU VÀ MINH HỌA SNIFFER 74
chỉ có thể đƣợc hoạt động trở lại khi có sự can thiệp của ngƣời quản trị hoặc
đƣợc khôi phục lỗi tự động sau khoảng thời gian timeout của trạng thái
errdisable.
SW(config-if)# spanning-tree portfast
SW(config-if)# spanning-tree portfast bpduguard default
Cấu hình root guard:
Bình thƣờng khi một Switch nhận đƣợc bản tin BPDU của một Switch có
bridge ID tốt hơn root bridge của nó, ngay lập tức nó sẽ công nhận Switch mới
chính là root bridge và nhƣ vậy làm mất đi tính ổn định của mạng. Với việc cấu
hình root guard, khi một cổng của Switch nhận đƣợc bản tin BPDU quảng cáo tốt
hơn, port sẽ đƣợc chuyển sang một trạng thái đƣợc gọi là root-inconsistent. Trong
trạng thái này, dữ liệu và BPDU không đƣợc gửi nhận qua cổng nhƣng Switch
vẫn lắng nghe các bản tin BPDU trên đó. Chừng nào không nhận đƣợc bản tin
BPDU tốt hơn nữa, port sẽ trở lại trạng thái bình thƣờng.
SW(config-if)# spanning-tree guard root
3.8.3 Minh họa
Để thực hiện minh họa này, ta cần có:
- Máy Attacker chạy hệ điều hành Ubuntu, cài đặt sẵn 2 phần mềm Ettercap
và Yersinia.
- Hai cisco Switch và 1 máy victim chạy hệ điều hành Windows XP (có thể
dùng linux).
Victim
Attacker
F1/15SW1 SW2F1/15
eth0 eth1
F1/0
F1/1 F1/2
Root bridge
FWD FWD
SW1 MAC: c200.0ab8.0000
SW2 MAC: c201.0ab8.0000
Hình 3.52.Mô hình minh họa
TÌM HIỂU VÀ MINH HỌA SNIFFER 75
Trƣớc khi minh họa cách tấn công ta cần phải cấu hình để Victim có thể
telnet đến 2 Switch.
SW2(config)# int vlan 1
SW2(config-if)# ip address 10.0.0.2 255.255.255.0
SW2(config)# line vty 0 15
SW2(config-line)# password 654321
SW2(config-line)# login
SW2(config)# enable secret cisco
Cấu hình tƣơng tự với Switch 1.
Theo mô hình trên, vì Switch 1 có địa chỉ MAC nhỏ hơn của Switch 2
(priority mặc định bằng nhau) nên Switch 1 sẽ đƣợc bình chọn là root bridge, các
cổng của 2 Switch đang ở trạng thái forwarding.
Các bƣớc thực hiện:
Trên máy Attacker, khởi chạy phần mềm Ettercap.
Chọn tab Sniff Bridged sniffing, chọn First network interface là eth0,
second network interface là eth1.
Chọn Start Start sniffing, chọn đến tab View Connection.
Trên Terminal, gõ yersinia –G để khởi động Yersinia.
Chọn tab Edit interfaces, tick chọn eth0, eth1
Chọn Launch Attack, chuyển sang tab STP, chọn Claiming Root Role để
kích hoạt tính năng gởi BPDU giả mạo root bridge OK.
TÌM HIỂU VÀ MINH HỌA SNIFFER 76
Hình 3.53. Máy Attacker gởi tin BPDU
Ta thấy rằng, sau khi xác định đƣợc bridge ID của Switch (c200.0ab8.0000),
phần mềm Yersinia sẽ tự động sinh ra một bridge ID thấp hơn (c200.0ab7.0000)
để gởi đến Switch để bắt đầu lại quá trình bầu chọn root bridge.
Sang Switch 1 gõ lệnh: SW1# show spanning-tree vlan 1 brief.
Hình 3.54.Show STP trên Switch
TÌM HIỂU VÀ MINH HỌA SNIFFER 77
Khi đó, cổng f1/15 của Switch 2 sẽ ở trạng thái blocking. Cấu trúc cây STP
bây giờ sẽ là:
Victim
Attacker
F1/15SW1 SW2
BPDU
F1/15
eth0 eth1
BPDU
F1/0
F1/1 F1/2
Root bridge
FWD BLK
SW1 MAC: c200.0ab8.0000SW2 MAC: c201.0ab8.0000Attacker MAC: c201.0ab7.0000
Hình 3.55. Cấu trúc cây STP bị thay đổi
Trên máy victim ta mở Command promt, gõ lệnh telnet 10.0.0.2.
Login với mật khẩu đã cấu hình trƣớc đó.
Sang máy Attacker, trên giao diện Ettercap, ở tab Connection, double click
vào gói tin có port là 23 chọn Join view, ta đƣợc kết quả:
Hình 3.56. Password bắt được trên Ettercap
Ta có nhận xét là khi cổng f1/15 của Switch 2 ở trạng thái blocking thì dữ
liệu từ máy victim thay vì đi qua đƣờng nối giữa 2 Switch thì sẽ phải đi qua máy
Attacker
TÌM HIỂU VÀ MINH HỌA SNIFFER 78
PHẦN III: TỔNG KẾT VÀ ĐÁNH GIÁ
1. Kết quả đạt đƣợc
Sau quá trình tìm hiểu các kỹ thuật Sniffer, nhóm đã nắm đƣợc những vấn đề
cơ bản sau:
Hiểu sâu hơn về các giao thức nhƣ: ARP, DNS, DHCP, STP,..
Phân loại đƣợc 2 phƣơng thức Sniffer: Active Sniffer và Passive Sniffer.
Minh họa các kỹ thuật Sniffer cơ bản trong hệ thống mạng nhƣ: MAC
Attack, DHCP Attack, ARP Poisoning, DNS Poisoning.
Triển khai đƣợc các phƣơng thức phòng chống Sniffer: Port Security, DHCP
Snooping, Dynamic ARP Inspection.
Sử dụng đƣợc các phần mềm hỗ trợ việc giám sát hệ thống mạng.
Hạn chế: đề tài báo cáo đã hoàn tất tuy nhiên để hiểu rõ sâu hơn về các kiểu
tấn công trên mạng cần phải có thời gian dài nghiên cứu, do thời gian làm đề tài
không cho phép, nhận thức của bản thân có hạn, nên còn nhƣợc điểm và thiếu
sót, chúng em sẽ cố gắng hoàn thiện hơn nữa.
2. Hƣớng phát triển
Trên cơ sở của đề tài này, chúng em sẽ tìm hiểu thêm một số kỹ thuật tấn
công mạng khác nhƣ Footprinting, Scaning, Phishing,… Từ đó có thể từng bƣớc
làm chủ đƣợc hệ thống mạng, tăng cƣờng khả năng bảo mật, đối phó với các sự
cố xảy ra.
TÌM HIỂU VÀ MINH HỌA SNIFFER 79
PHẦN IV: TÀI LIỆU THAM KHẢO
Tiếng Việt
[1] Huỳnh Nguyên Chính, Giáo trình mạng máy tính nâng cao, Đại học Sƣ
Phạm Kỹ Thuật TP.Hồ Chí Minh.
Tiếng Anh
[1] Certified Ethical Hacker Version 7 Module 8 Sniffer, EC-Council Press.
[2] Yusuf Bhaiji, Layer 2 Attacks & Mitigation Techniques, Cisco Systems.
[3] Sean Convery, Hacking Layer 2: Fun with Ethernet Switch, Cisco Systems.
[4] Threats and Defense Mechanisms, EC-Council Press.
[5] CCNA Security - Cisco Certified Network Associate Security (640-554)
[6] http://wikipedia.org