Tìm hiểu tấn công ARP Spoofing
Trong mạng máy tính, ARP spoofing, ARP poisoning, hay ARP poison routing là một kỹ thuật thông qua đó kẻ tấn công giả mạo thông điệp ARP trong mạng cục bộ. Mục tiêu là kết hợp địa chỉ MAC của kẻ tấn công với địa chỉ IP của máy chủ khác, chẳng hạn như cổng mặc định (default gateway) làm cho bất kì lưu lượng truy cập nào dành cho địa chỉ IP đó được gửi đến kẻ tấn công ARP spoofing có thể cho phép kẻ tấn công chặn các khung dữ liệu trên mạng, sửa đổi lưu lượng, hoặc dừng tất cả lưu lượng.
Trong mạng máy tính, ARP spoofing, ARP poisoning, hay ARP poison routing là một kỹ thuật thông qua đó kẻ tấn công giả mạo thông điệp ARP trong mạng cục bộ. Mục tiêu là kết hợp địa chỉ MAC của kẻ tấn công với địa chỉ IP của máy chủ khác, chẳng hạn như cổng mặc định (default gateway) làm cho bất kì lưu lượng truy cập nào dành cho địa chỉ IP đó được gửi đến kẻ tấn công ARP spoofing có thể cho phép kẻ tấn công chặn các khung dữ liệu trên mạng, sửa đổi lưu lượng, hoặc dừng tất cả lưu lượng. Thông thường cuộc tấn công này được sử dụng như là một sự mở đầu cho các cuộc tấn công khác, chẳng hạn như tấn công từ chối dịch vụ, tấn công Man-in-the-middle attack, hoặc các cuộc tấn công cướp liên lạc dữ liệu. Cuộc tấn công này chỉ giới hạn trong mạng cục bộ
1. Lỗ hổng của ARP
ARP (Address Resolution Protocol) là một giao thức truyền thông được sử dụng rộng rãi để tìm ra các địa chỉ tầng liên kết dữ liệu từ các địa chỉ tầng mạng
Khi một gói tin được gửi từ một máy đến máy khác trong mạng cục bộ, địa chỉ IP dích phải được giải quyết thành địa chỉ MAC đển truyền qua tầng liên kết dữ liệu. Khi biết được địa chỉ IP của máy đích và địa chỉ MAC của nó cần truy cập, một gói tin broadcast được gửi đi trên mạng nội bộ. Gói này được gọi là ARP request. Máy đích với IP trong ARP request sẽ trả lời với ARP reply, nó chứa địa chỉ MAC cho IP đó
ARP là một giao thức phi trạng thái. Máy chủ mạng sẽ tự động lưu trữ bất kì ARP reply nào mà chúng nhận được, bất kể máy khác có yêu cầu hay không. Ngay cả các mục ARP chưa hết hạn sẽ bị ghi đè khi nhận được gói tin ARP reply mới. Không có phương pháp nào trong giao thức ARP mà giúp một máy có thể xác nhận máy mà từ đó gói tin bắt nguồn. Cơ chế hoạt động này chính là lỗ hổng cho phép ARP spoofing xảy ra
2. Nguyên lý tấn công
Giả sử ta có mạng LAN như mô hình trên gồm các host
Attacker - IP: 10.0.0.6 - MAC: 0000:7ee5
Host A - IP: 10.0.0.1 - MAC: 0000:9f1e
Victim - IP: 10.0.0.3 - MAC: 0000:ccab
- Thông thường, khi Host A muốn gửi dữ liệu cho Victim thì Host A sẽ phải biết địa chỉ MAC của Victim. Để biết được địa chỉ MAC của Victim, Host A sẽ gửi tin broadcast ARP request tới tất cả các máy trong mạng LAN để hỏi xem IP có địa chỉ 10.0.0.3 có MAC là gì
- Các máy sẽ nhận được ARP request từ Host A nhưng chỉ có Victim trả lời lại bằng gói tin ARP reply cho Host A
- Để thực hiện ARP spoofing Attacker sẽ gửi liên tục các gói tin reply cho Host A chứa nội dung là IP Victim, MAC Attacker, MAC Host A để làm cho Host A tưởng rằng dữ liệu cần phải gửi tới có địa chỉ đích là MAC của Attacker. Như vậy mọi dữ liệu khi Host A gửi cho Victim đã bị Attacker nghe lén
- Attacker có thể kiểm soát toàn bộ quá trình liên lạc giữa Host A và Victim bằng cách gửi các gói tin ARP reply mà trong đó có địa chỉ MAC là của Attacker. Như vậy mọi dữ liệu trên đường truyền đều qua Attacker
3. Phòng chống tấn công ARP Spoofing
DAI (Dynamic ARP Inspection) là một tính năng bảo mật loại bỏ các gói ARP độc hại, nó ngăn chặn các cuộc tấn công ARP Spoofing bằng việc chặn, loại bỏ các gói tin có ràng buộc IP - MAC không hợp lệ, cách thức hoạt động của DAI như sau:
- Ngăn chặn tất cả các ARP request và ARP response từ các cổng không đáng tin cậy
- Xác minh rằng mỗi gói tin bị chặn này có liên kết địa chỉ IP - MAC hợp lệ trước khi cập nhật vào bộ nhớ cache ARP cục bộ hoặc trước khi chuyển gói tin đến đích thích hợp
- Loại bỏ các gói tin ARP không hợp lệ
Theo dõi VnCoder trên Facebook, để cập nhật những bài viết, tin tức và khoá học mới nhất!