7 tháng 3, 2012

Các cách tấn công và phòng chống tấn công dạng ARP

1. MAC, ARP là gì?

Mỗi thiết bị mạng đều có một địa chỉ MAC (Medium Access Control address) và địa chỉ đó là duy nhất. Các thiết bị trong cùng một mạng thường dùng địa chỉ MAC để liên lạc với nhau tại tầng Data Link.

Các thiết bị thường dùng cơ chế ARP (Address Resolution Protocol) và RARP (Reverse Address Resolution Protocol) để biết được các địa chỉ MAC, IP của các thiết bị khác

2. Quá trình ARP

HostA và HostB truyền tin cho nhau, các packet sẽ được đưa xuống tầng Datalink để đóng gói, các Host sẽ phải đóng gói MAC nguồn, MAC đích vào frame. Như vậy trước khi quá trình truyền dữ liệu xảy ra, 2 máy sẽ phải làm động tác hỏi MAC của nhau.

Nếu mà HostA khởi động quá trình hỏi MAC trước, nó broadcast gói tin ARP request để hỏi MAC HostB, thì HostB coi như đã có MAC của HostA, và HostB chỉ trả lời cho A MAC của HostB thôi (gói tin trả lời từ HostB là ARP reply).



3. Làm thế nào để tấn công bằng ARP

Giả sử ta có mạng Lan như mô hình trên gồm các host

Attacker: là máy hacker dùng để tấn công ARP attack
IP: 10.0.0.11
Mac: 0000:0000:0111

HostA
IP: 10.0.0.09
MAC: 0000:0000:0109

HostB
IP: 10.0.0.08
MAC: 0000:0000:0108

Victim: là máy bị tấn công ARP attack
IP: 10.0.0.10
MAC: 0000:0000:0110

Attacker muốn thực hiện ARP attack đối với máy Victim. Attacker muốn mọi gói tin HostA truyền tới máy Victim đều có thể chụp lại được để xem trộm. Làm thế nào để Attacker có thể hiện được điều đó?

Đầu tiên, HostA muốn gởi dữ liệu cho Victim. HostA cần phải biết địa chỉ MAC của Victim để liên lạc. HostA sẽ gửi broadcast ARP Request tới tất cả các máy trong cùng mạng Lan để hỏi xem IP 10.0.0.10 (IP của Victim) có địa chỉ MAC là bao nhiêu.

HostB, Attacker, Victim đều nhận được gói tin ARP Request, nhưng chỉ có Victim là gửi lại gói tin ARP Reply lại cho HostA. ARP Reply chứa thông tin về IP của Victim, MAC Victim, MAC HostA

Sau khi nhận được gói tin ARP Reply từ Victim, HostA đã biết được địa chỉ MAC của Victim. HostA bắt đầu thực hiện liên lạc, truyền dữ liệu tới Victim. HostB, Attacker không thể xem nội dung dữ liệu được truyền giữa 2 máy HostA và Victim

Attacker muốn xem dữ liệu truyền giữa HostA và Victim. Attacker sử dụng kiểu tấn công ARP Spoof. Attacker thực hiện gửi liên tục ARP Reply chứa thông tin về IP Victim, MAC Attacker, MAC HostA. Ở đây, thay vì là MAC Victim, Attacker đã đổi thành địa chỉ MAC của mình.

HostA nhận được ARP Reply và nghĩ là IP Victim 10.0.0.10 sẽ có địa chỉ MAC là 0000:0000:0111 ( MAC của Attacker). HostA lưu thông tin này vào bảng ARP Cache.

Bây giờ mọi thông tin, dữ liệu HostA gửi tới 10.0.0.10 (Victim), Attacker đều có thể nhận được, Attacker có thể xem tòan bộ nội dung HostA gửi cho Victim

Attacker còn có thể kiểm sóat tòan bộ quá trình liên lạc giữa HostA và Victim thông qua ARP Attack

Attacker thường xuyên gửi các gói tin ARP Reply chứa địa chỉ IP của HostA và Victim nhưng có địa chỉ MAC là của Attacker.

HostA nhận được gói tin này thì cứ nghĩ Victim sẽ có địa chỉ MAC là 0000:0000:0111 (MAC của Attacker)

Victim nhận đươc gói tin này thì cứ nghĩ HostA sẽ có địa chỉ MAC là 0000:0000:0111 (MAC của Attacker)

Mọi thông tin trao đổi giữa HostA và Victim, Attacker đều có thể nhận được. Như vậy là Attacker có thể biết được nội dung trao đổi giữa HostA và Victim

Sau khi bị tấn công ARP attack, sẽ rất nguy hiểm cho người dùng vì mọi thông tin trao đổi của họ đều bị lộ, nhất là những thông tin đó là quan trọng, cần phải giữ bí mật

4. Giới hạn và điểm yếu của kiểu tấn công ARP Spoof:

- Chỉ có những máy nằm trong cùng đường mạng với máy Attacker mới bị tấn công. Các máy nằm khác mạng sẽ không thể bị tấn công bằng hình thức này vì

+ Trong cùng một đường mạng LAN, các máy sẽ thực hiện trao đổi dữ liệu với nhau dựa vào địa chỉ MAC . HostA muốn trao đổi dữ liệu với HostB. HostA sẽ dò tìm trong bảng ARP cache xem IP của HostB sẽ có địa chỉ MAC tương ứng là gì. HostA đóng gói dữ liệu cần truyền với MAC nguồn là MAC HostA, MAC đích là MAC HostB. Sau đó HostA sẽ truyền dữ liệu tới HostB dựa vào MAC đích của gói tin

+ Trong trường hợp HostA, HostB khác đường mạng muốn liên lạc với nhau, ta phải dựa vào địa chỉ IP để truyền dữ liệu và phải thông qua một thiết bị định tuyến, đó là router. HostA sẽ đóng gói dữ liệu cần truyền với MAC nguồn là HostA, MAC đích là router. Gói tin đó sẽ được truyền đến router, router sẽ dựa vào địa chỉ IP đích (IP HostB)và dò tìm trong bảng định tuyến nhằm xác định con đường đi đến HostB. Router có khả năng ngăn chặn các gói tin broadcast

- Hình thức tấn công này không thể thực hiện được trong mạng WAN, trên Internet mà chỉ thực hiện được trên cùng mạng LAN

5. Một số chương trình tấn công bằng ARP


5. Cách phát hiện và phòng chống:


Dùng lệnh:
+ ipconfig /all xem MAC của mình
+ arp -a xem bảng ARP trên máy mình, kiểm tra MAC của B có phải đúng là MAC B hay không.
+ arp -d * xóa toàn bộ ARP table trên máy mình, như vậy các địa chỉ MAC bị tấn công cũng mất, và máy tính sẽ bắt đầu học lại. Nhưng nếu máy tấn công vẫn tiếp tục bơm các gói tin ARP đầu độc thì việc xóa ARP table này cũng vô ích
+ arp -s gắn cố định IP đích vào MAC thật của nó, như vậy kẻ tấn công không đầu độc được IP này nữa. Nhưng việc này không khả thi cho mạng lớn, nhiều máy tính, và có sự thay đổi IP (ví dụ dùng DHCP).

Dùng thiết bị:
Sử dụng switch có chức năng port secure (tham khảo tài liệu Cisco): chức năng này mục tiêu là để gắn cứng 1 hoặc 1 số MAC vào 1 port, như vậy máy tấn công không thể giả danh nhiều địa chỉ MAC được nữa.
Lệnh cấu hình:
http://www.cisco.com/en/US/products/...09186a00800d84 c2.html#31465
(Nguồn: hvaonline.net)

Ghi chú:
Hiện nay có một số loại virus lây nhiểm vào các máy tình trong LAN và sử dụng cơ chế tấn công này làm cho hệ thống LAN bị xáo trộn. Cụ thể, máy bị nhiễm loại virus này sẽ tự động gửi ra rất nhiều thông điệp ARP Reply giả mạo, nội dung thông báo này chứa thông tin về gateway giả mạo để kết nối từ LAN ra bên ngoài. Khi một máy tính trong LAN cần kết nối ra bên ngoài sẽ thông qua gateway này và thông tin gửi từ máy tính có thể bị đánh cắp. 
Nếu một số máy trong LAN bị nhiễm loại virus này có thể làm cho việc truy cập internet bị gián đoạn. Máy chạy dịch vụ trong LAN có thể bị truy cập không chính xác từ bên ngoài.

0 nhận xét:

|» Đăng hình ảnh | code chèn sẽ là [img] Link ảnh [/img]
|» Đăng nhạc của tui | code sẽ là [nct] Link bài hát [/nct]
|» Đăng Video Youtube | code sẽ là [youtube] Link Video Youtube [/youtube]
|» <b> Chữ in đậm <\/b>
|» <i> Chữ in nghiêng <\/i>

:) :( :)) :(( =)) Mã hóa code