Trang chủ > Hacker - Xâm Nhập, Network > Cách phòng chống tấn công qua ARP

Cách phòng chống tấn công qua ARP

Việc phòng chống kiểu tấn công gửi bản tin ARP giả mạo nói riêng và các bản tin giả mạo khác nói chung có thể được tiếp cận theo nhiều hướng: hướng thứ nhất là làm cách nào đó đảm bảo rằng người dùng được cấp quyền tham gia vào mạng là những người đáng tin cậy (có thể coi hướng tiếp cận này là kiểu chứng thực hướng người dùng) hoặc cấp quyền cho một số hạn chế người dùng tham gia vào mạng.Ví dụ như chứng thực kiểu port-based dựa vào chuẩn 802.1x; cấu hình static ARP. Hướng tiếp cận thứ hai là cải tiến các giao thức lớp 2; thêm vào các giao thức đó các thông tin chứng thực. Ví dụ như việc sử dụng giao thức S-ARP. Hướng tiếp cận thứ ba là sử dụng phần mềm phát hiện gói tin giả mạo.

3.1.Chứng thực kiểu port-based (chuẩn 802.1x):
3.1.1.Giới thiệu chung về chuẩn IEEE 802.1x:
Chuẩn 802.1x [19] ra đời nhằm xây dựng một mô hình chứng thực kiểu client-server nhằm hạn chế người dùng tham gia vào mạng LAN thông qua các cổng vật lí có thể truy cập được.

Mô hình triển khai của 802.1x:

Hình 2.2: Sơ đồ chứng thực 802.1x

Viet Matrix Revolutions

Viet Matrix Revolutions

Chức năng của từng khối trong mô hình trên:
Client: đây có thể là máy trạm hoặc các thiết bị có nhu cầu được chứng thực để có đủ thẩm quyền tham gia vào mạng.
Authenticator (switch): có nhiệm vụ trung chuyển các thông tin chứng thực qua lại giữa client và server dùng để chứng thực.
Authentication server: dựa vào thông tin client gửi đến để ra quyết định xem client có đủ thẩm quyền để tham gia vào mạng hay không.

Authenticator và authentication server có thể được tích hợp chung trên một thiết bị nhưng để tránh trường hợp client tiếp xúc trực tiếp và có thể có các hành động làm tổn hại server; authentication server thường được nối thông qua một switch và server này tồn tại trong suốt với client.

Quá trình trao đổi bản tin giữa authenticator và authentication server được thực hiện thông qua giao thức chứng thực EAP (Extensible Authentication Protocol) dùng cho kết nối điểm điểm còn quá trình trao đổi bản tin giữa authenticator và client được thực hiện thông qua giao thức chứng thực EAPOL (EAP over LAN).

Một điểm cần chú ý : trước khi client được chứng thực, chỉ có một số giao thức cơ bản được dùng để trao đổi qua lại giữa nó và switch: giao thức STP; CDP… Chỉ sau khi client được chứng thực; các frame dữ liệu khác mới được trao đổi một cách bình thường.

3.1.2.Giao thức chứng thực mở rộng điểm điểm EAP_PPP:
Quá trình chứng thực được biểu diễn qua sơ đồ:

Hình 2.3: Sơ đồ chứng thực EAP_PPP

Viet Matrix Revolutions

Viet Matrix Revolutions

Sau khi kết nối vật lí được thiết lập; authenticator sẽ gửi một hoặc một vài bản tin request đến client. Các bản tin request này có một vài dạng như: yêu cầu ID của user; chứa các thông tin mã hóa phục vụ chứng thực như One-time-password; mã hóa MD-5…Client sau khi nhận được các request này, căn cứ vào thông tin nhận được sẽ phải tính toán ra một số trường tương ứng với thông tin nhận được và gửi trả bản tin phúc đáp cho authenticator.

Các thông tin được tính toán này còn tùy thuộc vào từng kiểu request của authenticator. Sau khi nhận được bản tin phúc đáp, authenticator kiểm tra xem tính toán đó có đúng không. Nếu đúng, nó sẽ gửi lại bản tin success cho client và client được chứng thực còn ngược lại client sẽ nhận được bản tin failure và không được cấp quyền tham gia vào mạng.

Cấu trúc chung của một bản tin EAP:

Hình 2.4: Cấu trúc bản tin EAP

Viet Matrix Revolutions

Viet Matrix Revolutions

trong đó:
Code chỉ ra kiểu của bản tin EAP:
1.Request 2.Response 3.Success 4.Failure
Identifier:độ dài một byte; dùng để match giữa response và request và do đó một hệ thống chức thực kiểu này tại một thời điểm chỉ có thể cấp quyền cho tối đa 256 client.
Length: độ dài 2 byte; chỉ ra độ lớn của cả bản tin EAP.
Data: có độ dài là không hoặc nhiều byte tùy thuộc vào kiểu bản tin EAP.

Các kiểu bản tin request/response: có thêm một trường type để chỉ ra kiểu bản tin request/response sẽ được dùng để trao đổi và thông số này được thống nhất trong bản tin request và response trong cùng một phiên chứng thực; có 6 kiểu bản tin request/response :
1. Identity: được authenticator gửi để yêu cầu ID của client; trong trường hợp này thì thường ID sẽ được người dùng nhập vào.
2. Notification: được authenticator gửi cho client một bản tin được hiển thị; ví dụ thông báo cho client biết password đã hết hiệu lực.
3. Nak: đây chỉ có thể là bản tin Response. Nó được gửi để đáp trả lại request có kiểu chứng thực mong muốn không được chấp nhận (ví dụ client muốn được chứng thực theo MD5 trong khi authenticator lại chỉ chấp nhận chứng thực theo One-Time Password) .
4. MD5-challenge.
5. One-Time Password.
6. Generic token Card

Trong đó các kiểu 4;5;6 đều là các kiểu chứng thực có thể được lựa chọn. Tư tưởng chung của các kiểu chứng thực này là chứng thực dựa vào mã mật [16]. Client và authenticator sẽ chia sẻ chung một khoá mật. Để chứng thực người dùng, authenticator sẽ gửi cho client một bản tin trong đó có chứa một số ngẫu nhiên dùng để xác định phiên truyền (bản tin này được gọi là challenge).

Hình 2.5: Mô hình chứng thực sử dụng mã mật

Viet Matrix Revolutions

Viet Matrix Revolutions

Sau khi client nhận được bản tin; nó phải dùng thuật toán băm một chiều tính toán ra kết quả dựa vào số ngẫu nhiên và mã mật mà nó đang giữ. Kết quả này sẽ được gửi lại cho authenticator. Đồng thời authenticator cũng chạy thuật toán trên và sẽ dùng kết quả thu được so sánh với kết quả do client gửi đến. Nếu hai kết quả trùng khớp, client được chứng thực và ngược lại.

3.1.3.Giao thức chứng thực mở rộng EAP trong mạng LAN:
Tư tưởng cơ bản của giao thức EAPOL cũng tương tự như giao thức EAP-PPP [17] tuy nhiên khi chứng thực cho các host trong một mạng LAN thì giao thức EAPOL có khác biệt đôi chút: EAPOL cần có một đối tượng trung gian authenticator dùng để trung chuyển thông tin chứng thực giữa client và authentication server.

Hình 2.6: Mô hình chứng thực EAPOL

Viet Matrix Revolutions

Viet Matrix Revolutions

Quá trình trao đổi bắt đầu khi một máy trạm thiết lập kết nối vật lí tới authenticator (trong trường hợp này là một switch). Switch sẽ gửi yêu cầu UserId của client. Sau khi nhận được phúc đáp của client; switch phải chuyển thông tin này sang định dạng EAP gửi đến authentication server. Server gửi lại bản tin yêu cầu Access-Challenge. Bản tin này thường cũng chứa thông tin mã hoá MD5 hoặc OTP để yêu cầu client tính toán và gửi lại kết quả.

Dựa trên kết quả tính toán do client gửi đến, authentication server sẽ quyết định xem client có phải hợp lệ hay không. Khi client không muốn tham gia vào mạng nữa; nó phải gửi lại bản tin EAPOL-off đến switch và switch sẽ coi như cổng của host nối với nó là chưa được chứng thực.

Việc host có thể tham gia vào mạng hay không hoàn toàn tuỳ thuộc vào trạng thái của port trên switch mà nó kết nối tới. Cổng trên switch này có một trong ba trạng thái:
Authorized: cổng đã được chứng thực rồi: trong trường hợp này, khi client nối vào một cổng không hỗ trợ 802.1x; nó bắt đầu gửi đi EAPOL-start tuy nhiên sẽ không nhận được hồi âm từ switch. Sau một khoảng thời gian tiếp tục gửi bản tin EAPOL-start đi mà vẫn không thấy hồi âm thì host sẽ mặc định coi mình đã được chứng thực rồi.
Unauthorized: cổng không thể được cấp quyền: switch sẽ bỏ qua mọi nỗ lực thiết lập quyền kết nối của client.
Auto: khi thiết lập chế độ này, cổng sẽ tạm thời ở trong trạng thái unauthorized tuy nhiên vẫn cho các bản tin EAPOL-start đi qua và nếu client được chứng thực; cổng này sẽ chuyển sang trạng thái authorized còn ngược lại cổng vẫn ở trong trạng thái unauthorized tuy nhiên việc yêu cầu chứng thực có thể được thực hiện lại.

Chú ý: nếu kết nối giữa host và switch bị down hoặc host gửi EAPOL-off đến cổng của switch thì cổng này sẽ được chuyển sang trạng thái unauthorized.

Cấu trúc các bản tin dùng để trao đổi: Một EAPOL frame cho mạng Ethernet có cấu trúc như sau:

Hình 2.7: Cấu trúc bản tin EAPOL

Viet Matrix Revolutions

Viet Matrix Revolutions

Trong đó có một số trường đáng quan tâm:
Packet Type: có độ dài 1 byte, dùng để xác định kiểu bản tin được trao đổi: có 5 kiểu bản tin :
1. EAP-packet
2. EAPOL-Start
3. EAPOL-Logoff
4. EAPOL-Key
5. EAPOL-Encapsulated-ASF-Alert
Packet Body: tuỳ nội dung từng packet type ; nếu packet type là EAPOL-Key: chứa khoá dùng để xác thực thì Packet body sẽ chứa các mô tả khoá.

3.1.4.Cấu hình chứng thực kiểu port-based:
Sơ đồ: mô hình triển khai 802.1x.
Yêu cầu thiết bị: cả máy trạm và switch đều hỗ trợ chuẩn 802.1x sử dụng giao thức lớp 2 EAPOL

Các lệnh cấu hình:
Cấu hình trên switch về phía máy trạm:
Switch(config)#aaa new-model :câu lệnh cho phép kích hoạt tính năng chứng thực trên switch.
Switch(config)#aaa authentication dot1x {default|list-name} method1
[method2…] :câu lệnh dùng để định ra một loạt các phương thức có thể
dùng để chứng thực; các phương thức có thể là:
1. group{group-name|radius|tacacs+ }: dùng một hoặc một nhóm các server dùng để chứng thực.
2. enable: cho phép dùng password để chứng thực người dùng.
3. line: password trong các trường hợp 802.1x được sử dụng cho switch line (console hoặc vty_virtual terminal).
4. local: username và password được định nghĩa ngay trên switch.
5. none: không cần chứng thực.
Switch(config)# dot1x system-auth-control: câu lệnh cho phép sử dụng chuẩn 802.1x trên switch.
Switch(config-if)# dot1x port-control {force-authorized|force-unauthorized|auto}: đặt một cổng vào một trong ba chế độ

Cấu hình trên switch về phía server chứng thực (RADIUS server hoặc TACACS+ server):
Switch(config)#radius-server host {hostname |ip-address}[ key string ]
Switch(config)#tacacs -server host {hostname |ip-address}[ key string ]
Trong đó key là khoá mật được chia sẻ chung giữa switch và server chứng thực.

3.2.Static ARP:
Để ngăn chặn việc một host cập nhật lại ánh xạ IP_MAC theo bản tin ARP giả mạo; ta có thể cấu hình ánh xạ IP_MAC tĩnh của các host trong mạng lên tất cả các host. Tuy nhiên cách làm này chỉ phù hợp với mạng rất nhỏ bởi:

Việc lưu toàn bộ ánh xạ IP_MAC của tất cả các host là không cần thiết vì một host thường không trao đổi với tất cả các host trên mạng.
Ngăn cản việc cấu hình DHCP server và làm tăng hoạt động của người quản trị bởi vì việc thay đổi địa chỉ của một host sẽ khiến người quản trị phải cấu hình lại bảng ánh xạ trên tất cả các host.
Đối với một số hệ điều hành như Windows, bảng ARP tĩnh này thực ra cũng chỉ tồn tại trong một phiên làm việc; khi người dùng khởi động lại máy, toàn bộ bảng ánh xạ tĩnh này sẽ bị xóa.

Câu lệnh cấu hình ánh xạ tĩnh trên hệ điều hành Windows:
arp[-s InetAddr EtherAddr [IfaceAddr]]
trong đó: InetAddr là địa chỉ IP; EtherAddr là địa chỉ MAC và IfaceAddr là địa chỉ của giao diện cần áp dụng.Ví dụ: arp -s 10.0.0.80 00-AA-00-4F-2A-9C

  1. Chưa có phản hồi.
  1. No trackbacks yet.

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

%d bloggers like this: