Quá trình thực hiện bằng cách: một thiết bị IP trong mạng gửi một gói tinlocal broadcast đến toàn mạng yêu cầu thiết bị khác gửi trả lại địa chỉ phần cứng địachỉ lớp datalink hay còn g
Trang 1DANH SÁCH CÁC HÌNH, BẢNG
Trang 2LỜI MỞ ĐẦU
Trang 3CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Khái niệm địa chỉ ip và mac
1.1.1 Địa chỉ IP, MAC là gì?
1.1.1.1 Giao thức IP - Internet Protocol
Internet Protocol - Giao thức Liên mạng: là một giao thức hướng dữ liệu được
sử dụng bởi các máy chủ nguồn và đích để truyền dữ liệu trong một liên mạng chuyểnmạch gói
Giao thức liên mạng IP cung cấp khả năng kết nối của mạng con thành liênmạng để truyền dữ liệu, vai trò của IP là vai trò của giao thức tầng mạng trong môhình OSI
Để định danh duy nhất cho một máy tính bất kỳ trên liên mạng Mỗi giao diệntrong 1 máy có hỗ trợ giao thức IP đều phải được gán 1 địa chỉ IP (một máy tính có thểgắn với nhiều mạng do vậy có thể có nhiều địa chỉ IP)
Giao thức liên mạng IP là một trong những giao thức quan trọng nhất của bộgiao thức TCP/IP
Giao thức IP là một giao thức kiểu không liên kết (connectionlees) có nghĩa làkhông cần có giai đoạn thiết lập liên kết trước khi truyền dữ liệu
Mỗi máy tính khi kết nối vào Internet đều có một địa chỉ duy nhất, đó chính làđịa chỉ IP Địa chỉ này dùng để phân biệt máy tính đó với các máy khác còn lại trênmạng Internet
1.1.1.2 Địa chỉ MAC - Media Access Control:
Là kiểu địa chỉ vật lí, đặc trưng cho một thiết bị hoặc một nhóm các thiết bịtrong LAN Địa chỉ này được dùng để nhận diện các thiết bị giúp cho các gói tin lớp 2
có thể đến đúng đích
1.1.2 Cấu trúc địa chỉ IP, MAC.
1.1.2.1 Giao thức IP - Internet Protocol :
Gồm 2 phần: địa chỉ mạng (netID) và địa chỉ máy (hostID)
+ Net ID: Dùng để nhận dạng những hệ thống trong cùng 1 khu vực vật lý cònđược gọi là Phân Đoạn (Segment) Mọi hệ thống trong cùng 1 Phân Đoạn phải có cùngĐịa Chỉ Mạng và Phần địa chỉ này phải là duy nhất trong số các mạng hiện có
+ Host ID: Dùng để nhận dạng 1 trạm làm việc, 1 máy chủ, 1 Router hoặc 1trạm TCP/IP (1 computer) trong 1 phân đoạn Phần địa chỉ trạm cũng phải là duy nhấttrong 1 mạng
Trang 4Hình 1.1: Minh họa cấu trúc địa chỉ IP.
Trong 1 byte , mỗi bit được gán một giá trị Nếu Bit được đặt là 0 thì nó đượcgán giá trị 0, nếu Bit được đặt là 1 thì có thể chuyển đổi thành 1 giá trị thập phân Bitthấp nhất trong Byte tương ứng với 1, Bit cao nhất tương ứng với 128 Vậy giá trị lớnnhất của 1 Byte là 255 tương ứng với trường hợp cả 8 Bit đều được đặt là 1
- Có 5 lớp địa chỉ IP để tạo các mạng có kích thước khác nhau gồm: Lớp A, Lớp
B, Lớp C, Lớp D, Lớp E
- TCP/IP hỗ trợ gán địa chỉ lớp A, lớp B, lớp C cho các trạm
- Các lớp này có chiều dài phần NET ID và HOST ID khác nhau nên số lượngMạng và số lượng Trạm trên mỗi mạng cũng khác nhau
1.1.2.2 Địa chỉ MAC - Media Access Control:
Một địa chỉ MAC bao gồm 6 byte và thường được viết dưới dạng hexa, mỗithiết bị (card mạng, modem, router ) được nhà sản xuất (NSX) chỉ định và gán sẵn 1địa chỉ nhất định; thường được viết theo 2 dạng: MM:MM:MM:SS:SS:SS (cách nhaubởi dấu :) hay MM-MM-MM-SS-SS-SS (cách nhau bởi dấu -) Địa chỉ MAC là một số
48 bit được biểu diễn bằng 12 số hexa (hệ số thập lục phân), trong đó 24bit đầu(MM:MM:MM) là mã số của NSX (Linksys, 3COM ) và 24 bit sau (SS:SS:SS) là sốseri của từng card mạng được NSX gán Như vậy sẽ không xảy ra trường hợp hai thiết
bị trùng nhau địa chỉ vật lý vì số nhận dạng ID này đã được lưu trong chip ROM trênmỗi thiết bị trong quá trình sản xuất, người dùng không thể thay đổi được Nói mộtcách đơn giản, địa chỉ MAC là địa chỉ vật lý hay còn gọi là số nhận dạng(Identification number) của thiết bị
Đị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.
- Multicast: đây là loại địa chỉ đại diện cho một nhóm các thiết bị trong LAN.
Địa chỉ được dùng trong trường hợp một ứng dụng có thể muốn trao đổi vớimộ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
Trang 5tin IP multicast được truyền qua một LAN, địa chỉ MAC multicast tương ứngvới địa chỉ IP sẽ là 0100.5exxx.xxxx.
- Broadcast: địa chỉ này đại diện cho tất cả các thiết bị trong cùng một 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 LAN đều phải thu nhận và xử lí
1.1.3 Mối liên hệ giữa địa chỉ IP và MAC
Trong mô hình OSI (Open Systems Interconnection) hay mô hình tham chiếukết nối các hệ thống mở thì địa chỉ MAC (Media Access Control) nằm ở lớp 2 (lớpliên kết dữ liệu hay Data Link Layer), trong khi địa chỉ IP làm việc ở lớp 3 (lớp mạnghay Network Layer) Địa chỉ MAC là cố định (được thiết lập cứng) trong khi địa chỉ
IP có thể thay đổi được (thiết lập mềm) Trong mạng luôn duy trì một ánh xạ giữa địachỉ IP và địa chỉ MAC của thiết bị Do đó, các thiết bị cần dùng một cơ chế nào đó đểtìm được địa chỉ MAC, IP của các thiết bị khác khi cần thiết lập kết nối DHCP cũngthường dựa vào địa chỉ MAC để quản lý việc gán địa chỉ IP cho mỗi thiết bị Để đápứng yêu cầu trên ta có 2 cơ chế sau:
• cơ chế ARP (Address Resolution Protocol) ánh xạ địa chỉ IP sang MAC
• Cơ chế RARP (Reverse Address Resolution Protocol) ánh xạ địa chỉ MAC sangIP
1.2 Giới thiệu giao thức ARP
1.2.1 ARP là gì và tại sao cần ARP
Mạng LAN nhỏ hoạt động dựa trên hai lớp một và hai trong mô hình OSI ( lớpphysical và datalink) Nhưng các giao thức liên mạng ( internet-work ) lại dựa trên địachỉ lớp ba (lớp network) Việc phân giải địa chỉ giữa lớp datalink và lớp network nhằmgiúp cho việc truyền dữ liệu được liên tục qua mạng
Có hai phương pháp phân giải địa chỉ là : map trực tiếp và phân giải động Việcmap trực tiếp gặp nhiều khó khăn do địa chỉ MAC (lớp datalink) là địa chỉ 48 bit trongkhi địa chỉ IP là 32 bit Bên cạnh đó các nhà phát triển muốn tạo ra một cơ chế linhhoạt trong sử dụng Chính vì vậy họ phát triển ARP (Address Resolution Protocol )
ARP là gì ?
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 datalink Quá trình thực hiện bằng cách: một thiết bị IP trong mạng gửi một gói tinlocal broadcast đến toàn mạng yêu cầu thiết bị khác gửi trả lại địa chỉ phần cứng ( địachỉ lớp datalink ) hay còn gọi là Mac Address của mình
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áccông nghệ khác dựa trên lớp hai
1.2.2 Cơ chế hoạt động của ARP
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
Trang 6đí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 đúngvậ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ênmạ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 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ằngviệ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 đựoc đóng gói thì mới bắt đầu được chuyển quaquá 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ị trongcùng mạng nội bộ Thiết bị nguồn request bằng cách gửi một bản tin local broadcasttrên toàn mạng Thiết bị đích response bằng một bản tin unicast trả lại cho thiết bị
nguồn
Hình 1.2: Cơ chế hoạt động của gói tin ARP.
Có hai dạng bản tin trong ARP: một được gửi từ nguồn đến đích, và một đượcgửi từ đích tới nguồn
1 Request: Khởi tạo quá trình, gói tin được gửi từ thiết bị nguồn tới thiết bị
đích
2 Reply: Là quá trình đáp trả gói tin ARP request, được gửi từ máy đích
đến máy nguồn
Có 4 loại địa chỉ trong một bản tin ARP :
1 Sender Hardware Address : địa chỉ lớp hai của thiết bị gửi bản tin
2 Sender Protocol Address : Địa chỉ lớp ba ( hay địa chỉ logic ) của thiết bị gửi
bản tin
3 Target Hardware Address : Địa chỉ lớp hai ( địa chỉ phần cứng ) của thiết bị
đích của bản tin
Trang 74 Target Protocol Address : Địa chỉ lớp ba ( hay địa chỉ logic ) của thiết bị đích
của bản tin
Hình 1.3: Cấu trúc gói tin ARP
Các bước hoạt động của ARP :
1 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 sang bước 9
2 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
3 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
4 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ị đềunhìn vào trường địa chỉ Target Protocol Address Nếu trùng với địa chỉ củamình thì tiếp tục xử lý, nếu không thì hủy gói tin
5 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 ARPReply bằng cách lấy các trường Sender Hardware Address và Sender ProtocolAddress 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 SenderHardware Address
6 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ầnsau
7 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
Trang 88 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óireply như địa chỉ phần cứng của thiết bị đích
9 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
Trang 9Tấn công giả mạo địa chỉ IP và MAC
ARP Spoofing (ARP Cache)MAC Flooding (CAM)
Giả mạo Gateway (1 victim)
Man In The Middle(2 victim)
SYN attack
Giả mạo địa chỉ IP Giả mạo địa chỉ MAC (ARP)
Smurf attack
CHƯƠNG 2: CÁC PHƯƠNG PHÁP GIẢ MẠO VÀ TẤN CÔNG GIẢ
MẠO ĐỊA CHỈ MAC VÀ IP
Có rất nhiều phương thức tấn công sử dụng kỹ thuật tấn công giả mạo địa chỉ IP
và MAC, tuy nhiên giới hạn của bài tập chỉ trong mạng LAN nên chúng ta sẽ tìm hiểucác phương pháp được phân loại như sau:
Hình 2.4: sơ đồ phân loại các cuộc tấn công sử dụng kỹ thuậ giả mạo IP và MAC
2.1 Giả mạo địa chỉ MAC (ARP).
2.1.1 Tấn công MAC Flooding (bảng CAM)
Cách tấn công này cũng dùng kỹ thuật ARP Poisoning mà đối tượng nhắm đến
là Switch Hacker sẽ gửi những gói ARP Reply giả tạo với số lượng khổng lồ nhằmlàm Switch xử lý không kịp và trở nên quá tải Khi đó, Switch sẽ không đủ sức thểhiện bản chất Layer2 của mình nữa mà broadcast gói tin ra toàn bộ các port của mình.Hacker dễ dàng bắt được toàn bộ thông tin trong mạng
2.1.1.1 Chức năng chuyển mạch của Switch
Việc đưa thiết bị chuyển mạch vào một LAN có nhiều mục đích nhưng mụcđích quan trong nhất là để chia một LAN ra thành nhiều vùng khác nhau nhằm giảmthiểu việc xung đột gói tin khi có quá nhiều thiết bị được nối vào cùng một môi trườngtruyền dẫn Các vùng được phân chia này được gọi là các collision domain.Chức năngchính của switch là vận chuyển các frame lớp 2 qua lại giữa các collision domain này.Các collision domain này còn được gọi là các đoạn LAN (LAN segment)
Trang 10Để có thể vận chuyển chính xác được gói tin đến đích, switch cần phải có một
sơ đồ ánh xạ giữa địa chỉ MAC của các thiết bị vật lí gắn tương ứng với cổng nào của
nó Sơ đồ này được lưu lại trong switch và được gọi là bảng CAM (Content AddressMemory)
Quá trình vận chuyển gói tin qua switch có thể được mô tả như sau:
• Nếu địa chỉ MAC nguồn của gói tin chưa có trong bảng CAM; switch sẽ cậpnhật với cổng tương ứng Nếu địa chỉ MAC nguồn đã tồn tại trong bảng nhưng vớimột cổng khác, switch sẽ báo lỗi “MAC flapping” và huỷ gói tin
• Nếu địa chỉ đích của gói tin là địa chỉ multicast hoặc địa chỉ broadcast hoặc làđịa chỉ unicast nhưng ánh xạ của địa chỉ này không tồn tại trong bảng CAM trước đóthì gói tin sẽ được gửi ra tất cả các cổng của switch trừ cổng mà nó nhận được gói tin
• Nếu địa chỉ đích của gói tin là địa chỉ unicast và ánh xạ của địa chỉ tồn tạitrong bảng CAM đồng thời cổng mà nó nhận được gói tin khác với cổng mà gói tincần được chuyển đi thì nó sẽ gửi gói tin đến chính xác cổng có trong bảng CAM
• Các trường hợp còn lại, gói tin sẽ bị huỷ
Hình 2.5: Chức năng chuyển mạch của Switch
Trong ví dụ trên, khi host A gửi bản tin đến host B Do switch chưa có địa chỉMAC của B trong bảng CAM của mình nên switch sẽ gửi broadcast ra mọi cổng cònlại đồng thời sẽ lưu lại địa chỉ MAC của A vào bảng CAM Sau khi host B nhận đượcbản tin từ A; B gửi lại tin cho A Khi đó, switch đã có địa chỉ của A nên sẽ gửi unicasttới port 1 đồng thời cập nhật địa chỉ MAC của B vào bảng CAM
Các thao tác đối với bảng CAM của một switch [1]:
Để xem nội dung bảng CAM của switch, dùng lệnh:
Trang 11Switch# show mac address-table dynamic [address mac-address |interface type mod/num |vlan vlan-id]
Lệnh này sẽ liệt kê tất cả các địa chỉ MAC mà switch học được Nếu muốn
cụ thể hơn, có thể tìm được vị trí của host đã gắn vào switch bằng cách chỉ
ra địa chỉ của nó hoặc có thể tìm được những địa chỉ MAC đã được học từmột giao diện nào đó
Xem kích thước bảng CAM của switch, dùng lệnh:
Switch# show mac address-table countXoá các ánh xạ trong bảng CAM, dùng lệnh:
Switch# clear adress-table dynamic [address mac-address |interface type mod/num |vlan vlan-id]
Trong hình dưới, host C của kẻ tấn công gửi đi liên tục hàng loạt các bản tin cóđịa chỉ MAC nguồn là địa chỉ giả mạo (host X và host Y) Switch sẽ cập nhật địa chỉcủa các host giả mạo này vào bảng CAM Kết quả là khi host A gửi tin đến cho host B;địa chỉ của B không tồn tại trong bảng nên gói tin được switch gửi ra các cổng của nó
và bản tin A chỉ gửi riêng cho B cũng sẽ được chuyển đến C
Trang 12Hình 2.6: Mô hình tấn công làm ngập bảng cam.
2.1.1.3 Cách phòng chống
Nguyên lí chung của các phương pháp phòng chống là không để các gói tin cóđịa chỉ MAC lạ đi qua switch Phương pháp phòng chống hiệu quả nhất là cấu hìnhport security trên switch 1 Đây là một đặc trưng cấu hình cho phép điều khiển việctruy cập vào cổng 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ỉ MACnguồn của gói tin với danh sách các địa chỉ đã được cấu hình trước đó Nếu hai địa chỉnày khác nhau 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 lệnh cấu hình port security:
• Switch(config-if)# switchport mode access
• Switch(config-if)# switchport port-security: cho phép cổng được hoạt độngtrong chế độ port-security
• Switch(config-if)# switchport port-security maximum value (tuỳ chọn): câulệnh cho phép cấu hình số địa chỉ MAC tối đa mà cổng có thể học tự động và cho phépcác thiết bị này truyền dữ liệu qua Mặc định thì cổng chỉ cho phép một địa chỉ MAC(một thiết bị) được gán vào và số địa chỉ có thể nằm trong khoảng từ 1 đến 1024
• Switch(config-if)# switchport port-security mac-address mac_address (tuỳchọn) : bên cạnh cách cấu hình cho phép switch học tự động địa chỉ MAC; có thể gántĩnh một số địa chỉ MAC có thể truy cập vào một port Nếu số lượng địa chỉ gán tĩnh
mà nhỏ hơn số địa chỉ MAC switch có thể học tự động thì số địa chỉ MAC còn lại sẽđược học tự động
• Switch(config-if)# switchport port-security violation {protect | restrict |shutdown} (tuỳ chọn) : Đây là các biện pháp mà người quản trị có thể tiến hành khimột gói tin đến không phù hợp với yêu cầu của port-security (khi có nhiều hơn số địa