Tổng lượt truy cập

Saturday, November 27, 2010

Dynamic ARP Inspection


Hi all,

         Tấn công giao thức ARP đang được Attacker tận dụng triệt để, đây là cách để Attacker thực hiện tấn công đứng giữa (kẻ đứng giữa) thu thập thông tin toàn bộ thông tin trao đổi đi qua nó . Nhiều cơ quan công ty đang rất bối rối về việc phòng trách tấn công của Attacker bằng hình thức này. 

         Hôm nay Mysun sẽ giúp các bạn hiểu thêm nguyên lý và cách phòng tránh tấn công lợi dụng giao thức ARP.

1. Giới thiệu

ARP là giao thức ở tầng 2 dùng để ánh xạ địa chỉ IP với địa chỉ MAC. Ví dụ máy A muốn gửi dữ liệu cho máy B nhưng không không có địa chỉ MAC của máy B. Máy A sẽ tạo gói tin quảng bá để hỏi và gửi tới tất cả các máy trong mạng. Như vậy tất cả các máy tính sẽ nhận được gói tin request từ A, còn B sẽ gửi lại gói tin respond với địa chỉ MAC của nó.
Tuy nhiên, trong giao thức ARP còn cho phép không cần nhận được gói tin request vẫn gửi gói tin response. Hiểu đơn giản là gói tin quảng bá địa chỉ MAC của nó cho các máy khác trong mạng. Gọi tin như vậy gọi là gratuitous reply.
Dựa và điểm yếu này, một kẻ tấn công trong mạng sẽ gửi gói tin giả MAC của Gateway.

2. Quá trình ARP thông thường

Đây là sơ đồ:
Theo hình trên, đầu tiên PC-A gửi ra thông điệp ARP request theo kiểu broadcast để tìm kiếm địa chỉ MAC của IP-B. Sau đó, PC-B gửi ra thông điệp ARP Reply theo kiểu Unicast.

Một gói tin ARP như vậy sẽ có 2 phần là: Ethernet Header và ARP Message (message hiểu đơn giản là Data). Trong gói tin ARP có 4 trường quang trọng dùng để chưa thông tin là: địa chỉ MAC, IP của máy gửi và địa chỉ MAC, IP của máy đích.
Đối với một gói tin (thông điệp) dạng ARP request, địa chỉ đích IP là địa chỉ IP–B , địa chỉ MAC đích sẽ được để trống, vì đây là thông tin còn thiếu. Ngược lại, thông điệp ARP Reply (là một unicast) có địa chỉ MAC nguồn là MAC-B. Địa chỉ IP nguồn của thông điệp ARP Reply là địa chỉ IP-B.
Ethereal Capture gói tin ARP Reqest như sau:
Ethereal Capture gói tin ARP Reply như sau:
- Nguồn là máy có IP 2.6, MAC là 6d:53
- Đích là máy có IP 2.1, MAC đích của ARP Message chưa biết, còn MAC đích của Ethernet Header là broadcast.
- Đích là máy có IP 2.1, MAC là 7b:fc
- Nguồn là máy có IP 2.6, MAC là 6d:53

3. Quá trình giả ARP

Đây là sơ đồ:
Máy tấn công phát tán các gratuitous ARP chứa IP/MAC nguồn là IP-B nhưng MAC-C. PC-A cập nhật bảng ARP liệt kê địa chỉ IP-B kết hợp với MAC-C.
thông điệp ARP và sau đó lọc bỏ các thông điệp không phù hợp.

4. Phương án giải quyết dùng Dynamic ARP Inspection

Mục tiêu Dynamic ARP Inspection (DAI) cấu hình trên switch để:
- Chặn tất cả các gói tin ARP request, ARP reply
- Kiểm tra tính hợp lệ của ánh xạ IP-MAC
- Hủy các gói tin nếu không hợp lệ
Phương pháp DAI sử dụng:
- DAI xác định những gói tin ARP hợp lệ dựa vào một cơ sở dữ liệu tin cậy. Cơ sở dữ liệu này có thể tin từ DHCP Snooping, hoặc tìn từ ACL cấu hình tĩnh.
- Nếu thông điệp ARP Reply ko phải do DHCP cấp thì sẽ loại bỏ.
- DAI kiểm tra tính hợp lệ của thông điệp ARP Reply bằng cách so sánh với danh sách ánh xạ địa chỉ IP/MAC được cấu hình tĩnh.
- Switch còn drop các gói ARP Reply, nếu địa chỉ MAC nguồn trong Ethernet header với địa chỉ nguồn MAC trong thông điệp ARP không giống nhau.
- Switch còn drop các gói ARP Reply, nếu địa chỉ MAC đích và địa chỉ MAC liệt kê trong thông thông điệp ARP không giống nhau.
- Kiểm tra tần suất gửi gói tin ARP reply, mặc định là 15 gói/giây.