Mạng máy tính: ICMP là gì?


Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên

ICMP là gì?

Giao thức thông báo điều khiển Internet (Internet Control Message Protocol - ICMP) là giao thức lớp mạng được các thiết bị mạng sử dụng để chẩn đoán các sự cố giao tiếp mạng. ICMP chủ yếu được sử dụng để xác định xem dữ liệu có đến đích dự định một cách kịp thời hay không. Thông thường, giao thức ICMP được sử dụng trên các thiết bị mạng, chẳng hạn như bộ định tuyến (Router). ICMP rất quan trọng trong việc báo cáo và kiểm tra lỗi, nhưng nó cũng có thể được sử dụng trong các cuộc tấn công từ chối dịch vụ phân tán (Distributed Denial-of-Service - DDoS).

ICMP dùng để làm gì?

Mục đích chính của ICMP là báo cáo lỗi. Khi hai thiết bị kết nối qua Internet, ICMP sẽ tạo ra lỗi để chia sẻ với thiết bị gửi trong trường hợp bất kỳ dữ liệu nào không đến được đích dự kiến. Ví dụ: nếu một gói dữ liệu quá lớn đối với bộ định tuyến, bộ định tuyến sẽ loại bỏ gói đó và gửi tin nhắn ICMP trở lại nguồn dữ liệu ban đầu.

Công dụng thứ cấp của giao thức ICMP là thực hiện chẩn đoán mạng; cả hai tiện ích đầu cuối thường được sử dụng là traceroute và ping đều hoạt động bằng ICMP. Tiện ích traceroute được sử dụng để hiển thị đường dẫn định tuyến giữa hai thiết bị Internet. Đường dẫn định tuyến là đường dẫn vật lý thực tế của các bộ định tuyến được kết nối mà yêu cầu phải đi qua trước khi đến đích. Hành trình giữa bộ định tuyến này với bộ định tuyến khác được gọi là 'bước nhảy' và tuyến đường theo dõi cũng báo cáo thời gian cần thiết cho mỗi bước nhảy trên đường đi. Điều này có thể hữu ích cho việc xác định nguồn gây trễ mạng.

Tiện ích ping là phiên bản đơn giản của traceroute. Một ping sẽ kiểm tra tốc độ kết nối giữa hai thiết bị và báo cáo chính xác mất bao lâu để một gói dữ liệu đến đích và quay trở lại thiết bị của người gửi. Mặc dù ping không cung cấp dữ liệu về định tuyến hoặc bước nhảy nhưng đây vẫn là một thước đo rất hữu ích để đánh giá độ trễ giữa hai thiết bị. Các tin nhắn yêu cầu tiếng vang và trả lời tiếng vang ICMP thường được sử dụng cho mục đích thực hiện ping.

Thật không may, các cuộc tấn công mạng có thể khai thác quá trình này, tạo ra các phương tiện gây gián đoạn như tấn công lũ lụt ICMP và tấn công ping of death.

ICMP hoạt động như thế nào?

Không giống như Giao thức Internet (IP), ICMP không được liên kết với giao thức lớp vận chuyển như TCP hoặc UDP. Điều này làm cho ICMP trở thành giao thức không kết nối: một thiết bị không cần mở kết nối với thiết bị khác trước khi gửi tin nhắn ICMP. Lưu lượng IP thông thường được gửi bằng TCP, có nghĩa là bất kỳ hai thiết bị nào trao đổi dữ liệu trước tiên sẽ thực hiện bắt tay TCP để đảm bảo cả hai thiết bị đều sẵn sàng nhận dữ liệu. ICMP không mở kết nối theo cách này. Giao thức ICMP cũng không cho phép nhắm mục tiêu một cổng cụ thể trên thiết bị.

Gói ICMP là gì?

Gói ICMP là gói sử dụng giao thức ICMP. Các gói ICMP bao gồm tiêu đề ICMP sau tiêu đề IP thông thường. Khi bộ định tuyến hoặc máy chủ cần gửi thông báo lỗi, phần dữ liệu hoặc nội dung gói ICMP luôn chứa bản sao tiêu đề IP của gói gây ra lỗi.

ICMP được sử dụng như thế nào trong các cuộc tấn công DDoS?

Tấn công lũ ICMP

Lũ ping hoặc lũ (flood) ICMP là khi kẻ tấn công cố gắng áp đảo thiết bị mục tiêu bằng các gói yêu cầu tiếng vang ICMP. Mục tiêu phải xử lý và phản hồi từng gói, tiêu tốn tài nguyên máy tính của nó cho đến khi người dùng hợp pháp không thể nhận được dịch vụ.

Tấn công lũ ICMP:

Lũ ICMP, một số yêu cầu tiếng vang và trả lời tiếng vang

Ping tấn công tử thần

Ping tấn công tử thần (ping of death) là khi kẻ tấn công gửi một ping lớn hơn kích thước tối đa cho phép của một gói tin đến máy mục tiêu, khiến máy bị treo hoặc gặp sự cố. Gói bị phân mảnh trên đường đến mục tiêu, nhưng khi mục tiêu tập hợp lại gói thành kích thước vượt quá giới hạn tối đa ban đầu, kích thước của gói sẽ gây ra tràn bộ đệm.

Vào thời điểm này, cuộc tấn công ping tử thần phần lớn mang tính lịch sử. Tuy nhiên, thiết bị mạng cũ hơn vẫn có thể dễ bị ảnh hưởng bởi nó.

Tấn công Smurf (xì trum)

Trong một cuộc tấn công Smurf, kẻ tấn công gửi gói ICMP có địa chỉ IP nguồn giả mạo. Thiết bị mạng trả lời gói tin, gửi phản hồi đến IP giả mạo và gửi cho nạn nhân các gói ICMP không mong muốn. Giống như 'ping of death', ngày nay cuộc tấn công của Smurf chỉ có thể thực hiện được với các thiết bị cũ.

ICMP không phải là giao thức lớp mạng duy nhất được sử dụng trong các cuộc tấn công DDoS lớp 3. Ví dụ, những kẻ tấn công cũng đã sử dụng các gói GRE trong quá khứ.

Thông thường, các cuộc tấn công DDoS ở lớp mạng nhắm vào thiết bị và cơ sở hạ tầng mạng, trái ngược với các cuộc tấn công DDoS ở lớp ứng dụng nhắm vào các thuộc tính web.

» Tiếp: Lớp Network (Mạng) là gì?
Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên
Copied !!!