Tại sao lại cần ARP trong hệ thống mạng

ARP là viết tắt của Address Resolution Protocol . Trong tiếng Tây Ban Nha, chúng ta có thể dịch nó là Giao thức phân giải địa chỉ. Nó là một giao thức truyền thông quan trọng, vì nó chịu trách nhiệm liên kết địa chỉ MAC hoặc địa chỉ vật lý với địa chỉ IP. Nó xuất hiện vào những năm 1980.

Nó chịu trách nhiệm cho phép một thiết bị được kết nối với mạng có được đường MAC từ một máy tính khác được kết nối với cùng mạng đó. Nó cho phép dữ liệu được truyền qua một gói tin. Điều quan trọng là vì độ dài của địa chỉ IP và MAC không giống nhau. Đầu tiên dài 32 bit và thứ hai 48 bit.

Do đó, những gì giao thức ARP thực hiện trong thủ tục ánh xạ là dịch để các hệ thống có thể nhận ra nhau. Ngày nay, độ phân giải của địa chỉ IPv4 được sử dụng nhiều nhất, do đó giao thức này rất quan trọng. ARP có nhiệm vụ dịch địa chỉ từ 32 bit sang 48 bit và ngược lại.

Hoạt động của ARP là gì

Vậy chính xác thì giao thức ARP hoạt động như thế nào? Những bước nào là cần thiết? Giả sử chúng ta đã kết nối một máy tính mới hoặc bất kỳ thiết bị nào vào mạng. Máy tính đó, để liên kết với bộ định tuyến, sẽ nhận được một địa chỉ IP duy nhất. Đây là điều cần thiết để giao tiếp và có thể xác định chính mình.

Mô hình gói dữ liệu sẽ được chuyển hướng đến một máy chủ cụ thể. Cổng kết nối hoặc phần cứng trên mạng sẽ cho phép dữ liệu lưu chuyển và sẽ yêu cầu giao thức ARP tìm địa chỉ MAC phù hợp với địa chỉ IP đó.

Hãy nhớ rằng thông tin này được lưu trong bộ nhớ cache, vì vậy bước này được thực hiện lần đầu tiên. Từ đó, Bộ nhớ cache ARP giữ một danh sách với các địa chỉ IP khác nhau và địa chỉ MAC tương ứng.

Là dữ liệu cần thêm, chính người dùng có thể tạo bảng ARP tĩnh nơi lưu trữ các địa chỉ IP và MAC đó. Nhưng động, bộ nhớ cache ARP đó được lưu trữ trong hệ điều hành trên mạng IPv4 Ethernet. Ngay sau khi một thiết bị yêu cầu địa chỉ MAC để gửi dữ liệu đến bất kỳ máy tính nào khác được kết nối trong mạng đó, bộ nhớ cache ARP sẽ được xác minh. Nếu nó tồn tại, sẽ không cần thiết phải thực hiện một yêu cầu mới.

Cũng cần nói thêm rằng ARP cache không phải là vô hạn, hoàn toàn ngược lại. Nó bị giới hạn về kích thước và các địa chỉ chỉ được lưu vào bộ nhớ cache trong một thời gian ngắn. Điều này là để có thể giải phóng dung lượng và cũng để ngăn chặn các cuộc tấn công mạng có thể lấy cắp hoặc giả mạo địa chỉ.

Làm thế nào họ có thể tấn công ARP

Theo chủ đề của những gì chúng tôi đã đề cập, cần lưu ý rằng có thể có các cuộc tấn công bảo mật máy tính chống lại giao thức ARP. Loại tấn công cơ sở được gọi là ARP Spoofing, nhưng thông qua đó, chúng có thể thực hiện các cuộc tấn công từ chối dịch vụ và gây ra sự cố.

ARP giả mạo

Nó còn được gọi là ARP giả mạo . Về cơ bản, nó bao gồm việc gửi ARP giả. Bạn có thể liên kết địa chỉ MAC của kẻ tấn công với địa chỉ IP. Bằng cách này, bạn có thể thu thập thông tin được gửi qua địa chỉ IP và kiểm soát lưu lượng truy cập.

Kiểu tấn công này cho phép tin tặc đánh cắp dữ liệu quan trọng từ bất kỳ người dùng cá nhân hoặc công ty nào trong trường hợp tấn công thành công. Họ có thể làm điều đó thông qua một thiết bị mà họ đã tấn công và kiểm soát trước đó hoặc thậm chí là của chính họ nếu nó được kết nối với mạng cục bộ.

Mối đe dọa này có thể được ngăn chặn thông qua bảng ARP tĩnh . Điều này tránh bộ nhớ cache động, mặc dù nó không phải là điều khả thi trong hầu hết các trường hợp. Trong những trường hợp này, chúng tôi sẽ phải kiểm tra liên tục để tránh giả mạo. Để xảy ra kiểu tấn công này, tội phạm mạng cần sử dụng một số công cụ nhất định như Arpspoof hoặc Driftnet.

Chúng tôi cũng có thể liên hệ điều này với Man in the Middle tấn công . Những gì kẻ tấn công làm là chặn mọi thứ được gửi đi, chẳng hạn như mật khẩu hoặc dữ liệu. Nếu mạng không được bảo vệ, bạn có thể giả mạo danh tính của mình và lấy một số thông tin bí mật. Những gì kẻ tấn công làm theo nghĩa đen là ở giữa giao tiếp, lắng nghe mọi thứ được gửi và nhận.

Các cuộc tấn công DoS

Một kiểu tấn công khác có thể ảnh hưởng đến giao thức ARP là những gì được gọi là từ chối dịch vụ hoặc DoS. Trong trường hợp này, kẻ tấn công sẽ tìm cách gửi một số lượng lớn các yêu cầu để hệ thống, máy chủ hoặc mạng không thể phản hồi bình thường.

Sự cố này sẽ khiến người dùng không thể kết nối mạng. Để điều này xảy ra, họ phải khai thác một lỗ hổng trong giao thức mạng. Chúng có thể khiến chúng không thể kết nối đúng cách trong một thời gian. Nó tương tự như các cuộc tấn công kiểu này mà chúng ta có thể thấy đối với một máy chủ web, chẳng hạn, máy chủ này không thể truy cập được nữa đối với khách truy cập.

Khi kẻ tấn công đã khai thác thành công giao thức ARP, chúng có thể thực hiện DDoS hoặc các cuộc tấn công từ chối dịch vụ phân tán. Bạn có thể bắn phá một máy chủ với một số lượng lớn các yêu cầu và không thể giải quyết chúng một cách chính xác.

Tóm lại, giao thức ARP được sử dụng để phân giải địa chỉ IPv4 thành MAC. Để làm điều này, nó sử dụng các bảng ARP để tìm các địa chỉ tương ứng và liên kết chúng. Điều này cho phép các địa chỉ được dịch và các thiết bị được tìm thấy. Ví dụ, kết nối máy tính với bộ định tuyến là điều cần thiết. Để tránh tất cả những điều này mà chúng tôi đề cập, điều cần thiết là chúng tôi phải luôn duy trì bảo mật, rằng chúng tôi có các mạng được bảo vệ và luôn cảnh giác để phát hiện bất kỳ nỗ lực xâm nhập nào càng sớm càng tốt.

Như ta đã biết tại tầng Network của mô hình OSI , chúng ta thường sử dụng các loại địa chỉ mang tính chất quy ước như IP, IPX… Các địa chỉ này được phân thành hai phần riêng biệt là phần địa chỉ mạng [NetID] và phần địa chỉ máy [HostID]. Cách đánh số địa chỉ như vậy nhằm giúp cho việc tìm ra các đường kết nối từ hệ thống mạng này sang hệ thống mạng khác được dễ dàng hơn. Các địa chỉ này có thể được thay đổi theo tùy ý người sử dụng. Trên thực tế, các card mạng [NIC] chỉ có thể kết nối với nhau theo địa chỉ MAC, địa chỉ cố định và duy nhất của phần cứng. Do vậy ta phải có một cơ chế để chuyển đổi các dạng địa chỉ này qua lại với nhau. Từ đó ta có giao thức phân giải địa chỉ: Address Resolution Protocol [ARP].

Nguyên tắc làm việc của ARP trong một mạng LAN


Khi một thiết bị mạng muốn biết địa chỉ MAC của một thiết bị mạng nào đó mà nó đã biết địa chỉ ở tầng network [IP, IPX…] nó sẽ gửi một ARP request bao gồm địa chỉ MAC address của nó và địa chỉ IP của thiết bị mà nó cần biết MAC address trên toàn bộ một miền broadcast. Mỗi một thiết bị nhận được request này sẽ so sánh địa chỉ IP trong request với địa chỉ tầng network của mình. Nếu trùng địa chỉ thì thiết bị đó phải gửi ngược lại cho thiết bị gửi ARP request một gói tin [trong đó có chứa địa chỉ MAC của mình]. Trong một hệ thống mạng đơn giản, ví dụ như PC A muốn gửi gói tin đến PC B và nó chỉ biết được địa chỉ IP của PC B. Khi đó PC A sẽ phải gửi một ARP broadcast cho toàn mạng để hỏi xem "địa chỉ MAC của PC có địa chỉ IP này là gì ?" Khi PC B nhận được broadcast này, nó sẽ so sánh địa chỉ IP trong gói tin này với địa chỉ IP của nó. Nhận thấy địa chỉ đó là địa chỉ của mình, PC B sẽ gửi lại một gói tin cho PC A trong đó có chứa địa chỉ MAC của B. Sau đó PC A mới bắt đầu truyền gói tin cho B.

Nguyên tắc hoạt động của ARP trong môi trường hệ thống mạng:


Hoạt động của ARP trong một môi trường phức tạp hơn đó là hai hệ thống mạng gắn với nhau thông qua một Router C. Máy A thuộc mạng A muốn gửi gói tin đến máy B thuộc mạng B. Do các broadcast không thể truyền qua Router nên khi đó máy A sẽ xem Router C như một cầu nối hay một trung gian [Agent] để truyền dữ liệu. Trước đó, máy A sẽ biết được địa chỉ IP của Router C [địa chỉ Gateway] và biết được rằng để truyền gói tin tới B phải đi qua C. Tất cả các thông tin như vậy sẽ được chứa trong một bảng gọi là bảng định tuyến [routing table]. Bảng định tuyến theo cơ chế này được lưu giữ trong mỗi máy. Bảng định tuyến chứa thông tin về các Gateway để truy cập vào một hệ thống mạng nào đó. Ví dụ trong trường hợp trên trong bảng sẽ chỉ ra rằng để đi tới LAN B phải qua port X của Router C. Bảng định tuyến sẽ có chứa địa chỉ IP của port X. Quá trình truyền dữ liệu theo từng bước sau :

  • Máy A gửi một ARP request [broadcast] để tìm địa chỉ MAC của port X.

  • Router C trả lời, cung cấp cho máy A địa chỉ MAC của port X.

  • Máy A truyền gói tin đến port X của Router.

  • Router nhận được gói tin từ máy A, chuyển gói tin ra port Y của Router. Trong gói tin có chứa địa chỉ IP của máy B. Router sẽ gửi ARP request để tìm địa chỉ MAC của máy B.

  • Máy B sẽ trả lời cho Router biết địa chỉ MAC của mình. Sau khi nhận được địa chỉ MAC của máy B, Router C gửi gói tin của A đến B.

Trên thực tế ngoài dạng bảng định tuyến này người ta còn dùng phương pháp proxyARP, trong đó có một thiết bị đảm nhận nhiệm vụ phân giải địa chỉ cho tất cả các thiết bị khác.Theo đó các máy trạm không cần giữ bảng định tuyến nữa Router C sẽ có nhiệm vụ thực hiện, trả lời tất cả các ARP request của tất cả các máy .

Theo VietNamNet

Video liên quan

Chủ Đề