Một tấn công ARP spoofing (poisoning) thành công cho phép kẻ xâm nhập thay đổi việc chuyển giao dữ liệu trên một mạng, đưa tới một cuộc tấn công man-in-the-middle.
Trong mạng máy tính, **ARP spoofing**, **ARP cache poisoning**, hay **ARP poison routing**, là một kỹ thuật qua đó kẻ tấn công giả thông điệp ARP trong mạng cục bộ. 
Nói chung, 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ỉ có thể dùng trong các mạng mà dùng Address Resolution Protocol, và giới hạn trong các mạng cục bộ.

Lỗ hổng của 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 (datagram) Giao thức Internet (IP) được gửi từ một máy đến máy khác trong mạng cục bộ, địa chỉ IP đích phải được giải quyết thành địa chỉ MAC để 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. Hành vi này là lỗ hổng cho phép ARP spoofing xảy ra.

Mổ xẻ cuộc tấn công giả mạo ARP
-------------------------------

Nguyên tắc cơ bản đằng sau ARP spoofing là khai thác sự thiếu chứng thực trong giao thức ARP bằng cách gửi thông tin ARP giả mạo vào mạng LAN. Các cuộc tấn công giả mạo ARP có thể chạy từ máy chủ bị xâm nhập trên mạng LAN hoặc từ máy của kẻ tấn công được kết nối trực tiếp với mạng LAN bị nhắm tới.

Nói chung, mục tiêu của cuộc tấn công là kết hợp địa chỉ MAC host của kẻ tấn công với địa chỉ IP của máy đích, do đó bất kỳ lưu lượng truy cập nào dành cho máy đích sẽ được gửi đến máy của kẻ tấn công. Kẻ tấn công có thể chọn để kiểm tra các gói tin (theo dõi), trong khi chuyển tiếp lưu lượng truy cập tới đích thực sự để tránh phát hiện, sửa đổi dữ liệu trước khi chuyển tiếp nó (tấn công xen giữa) hoặc khởi chạy tấn công từ chối dịch vụ bằng cách gây ra một số hoặc tất cả các gói tin trên mạng sẽ bị bỏ đi.

Phòng ngừa
----------

### Từ mục ARP tĩnh

Hình thức chứng nhận đơn giản nhất là sử dụng từ mục tĩnh, chỉ đọc được cho các dịch vụ quan trọng trong bộ nhớ cache ARP của máy trạm. Điều này chỉ ngăn chặn các cuộc tấn công đơn giản và không mở rộng trên một mạng lớn, vì danh sách mỗi cặp Địa chỉ IP - địa chỉ MAC phải được thiết lập cho mỗi máy: Trên mỗi máy phải có một mục ARP cho mọi máy khác trên mạng, như vậy phải có n-1 mục ARP trên mỗi máy n.

Địa chỉ IP cặp với địa chỉ MAC trong bộ nhớ cache ARP cục bộ có thể được nhập tĩnh để các máy trạm bỏ qua tất cả các gói tin trả lời ARP. Trong khi các từ mục tĩnh cung cấp một số an toàn chống lại giả mạo nếu hệ điều hành xử lý chúng một cách chính xác, chúng sẽ dẫn đến những nỗ lực bảo trì vì gán địa chỉ của tất cả các hệ thống trong mạng phải được phân phối.

Ghi chú
-------

1. ↑  ARP was defined by RFC 826 in 1982.

Xem thêm
--------

* DNS spoofing
* IP address spoofing
* MAC spoofing
* Proxy ARP

Tham khảo
---------

1. ↑  Ramachandran, Vivek & Nandi, Sukumar (2005). "Detecting ARP Spoofing: An Active Technique". Trong Jajodia, Suchil & Mazumdar, Chandan (biên tập). *Information systems security: first international conference, ICISS 2005, Kolkata, India, December 19-21, 2005: proceedings*. Birkhauser. tr. 239. ISBN 978-3-540-30706-8.
2. 1 2 3  Lockhart, Andrew (2007). *Network security hacks*. O'Reilly. tr. 184. ISBN 978-0-596-52763-1.
3. ↑  Lockhart, Andrew (2007). *Network security hacks*. O'Reilly. tr. 186. ISBN 978-0-596-52763-1.

Liên kết ngoài
--------------

* Steve Gibson (ngày 11 tháng 12 năm 2005). "ARP Cache Poisoning". Steve Gibson (computer programmer).
* Stephanie Reigns (ngày 7 tháng 10 năm 2014). "Clearing your ARP cache on Linux". Stephanie Reigns. Bản gốc lưu trữ ngày 8 tháng 4 năm 2019. Truy cập ngày 28 tháng 7 năm 2017.