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.. Nếu mà DHCP Server đó
Trang 1MỤ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
Trang 23.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
Trang 3LỜ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ú
Trang 4PHẦ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ể
Trang 5PHẦ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
Trang 6Hì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
Trang 7Cá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
Trang 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
Trang 9Dynamic 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
Trang 101.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
Trang 111.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
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à
Trang 12255.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ó
Trang 13Hì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
Trang 14nhá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
Trang 15Bướ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
Trang 161.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
Trang 17Hì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
Trang 18Hì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
Trang 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)
Trang 20Static 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
Trang 21Transfer 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)
Trang 22Dynamic 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
Trang 23TCP/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 webYahoothì Client sẽ yêu cầu phân giải địa chỉ IP của Web Server nào có chứa websiteYahoonà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ý domainYahoovà nhận đƣợc câu trả lời.Truy vấn có thể ở 2 loại:
Trang 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
Trang 25Hì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
Trang 26mỗ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
Trang 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
Trang 28CHƯƠ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
Trang 292.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ó
Trang 30trả 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
Trang 31192.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.20 Admin
192.168.1.10 Attacker
192.168.1.21 User
192.168.1.1
Hình 2.1 Mô hình minh họa
Trang 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
Trang 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
Trang 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
Trang 35CHƯƠ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
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
Trang 36cả 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
Trang 37Mô 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
Trang 38Hình 3.4 Kết quả sau khi thực hiện MAC flooding
Trang 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