ICMP - Internet Control Message Protocol
ICMP - Internet Control Message Protocol
ICMP là giao thức lớp network được các thiết bị mạng(như router) sử dụng để chẩn đoán các sự cố truyền thông mạng.
Các công dụng của giao thức ICMP
– Thông báo lỗi và cảnh báo: ICMP thông báo về lỗi và vấn đề xảy ra trong quá trình truyền thông dữ liệu, bao gồm các vấn đề như đích không thể đạt được, thời gian sống của gói tin hết hạn, và lỗi tham số.
– Kiểm tra hoạt động của thiết bị mạng: ICMP cho phép gửi các yêu cầu “Echo Request” để kiểm tra hoạt động của một thiết bị mạng. Thiết bị đó sẽ phản hồi lại với một thông báo “Echo Reply”.
– Điều hướng địa chỉ IP: ICMP có thể được sử dụng để cập nhật bảng định tuyến của các thiết bị mạng (như router) bằng cách gửi các thông báo “Redirect” để chỉ định địa chỉ IP mới cho các máy tính mạng.
– Thiết lập và giữ kết nối: ICMP có vai trò quan trọng trong việc thiết lập và duy trì kết nối mạng, đặc biệt khi giao thức TCP/IP được sử dụng. Các thông báo ICMP giúp quá trình này diễn ra hiệu quả và ổn định.
– Phân tích môi trường mạng: ICMP có thể được sử dụng để phân tích môi trường mạng bằng cách kiểm tra các thông số như độ trễ (ping), thời gian sống (TTL), và quá trình đánh giá đường truyền.
– Kiểm tra tính sẵn sàng của dịch vụ: Bằng cách sử dụng ICMP, người quản trị mạng có thể kiểm tra tính sẵn sàng và hoạt động của các dịch vụ mạng và ứng dụng bằng cách gửi các yêu cầu “Echo Request” đến các cổng (port) cụ thể trên thiết bị mạng.
Cơ chế hoạt động của giao thức ICMP
Cơ chế hoạt động của giao thức ICMP tập trung vào việc truyền tải các thông báo kiểm soát và thông báo lỗi giữa các thiết bị mạng. Đây là các bước hoạt động cơ bản của ICMP:
– Tạo thông điệp ICMP: Khi cần gửi một thông báo kiểm soát hoặc thông báo lỗi, ICMP sẽ tạo ra một gói tin ICMP chứa các trường dữ liệu quan trọng như loại thông điệp, mã lỗi, checksum, và dữ liệu khác liên quan.
– Nhúng vào gói tin IP: Gói tin ICMP này sẽ được nhúng vào trong một gói tin IP như một phần dữ liệu. Điều này đồng nghĩa với việc ICMP được tích hợp và truyền tải dựa trên giao thức IP.
– Chuyển địa chỉ đích: Gói tin ICMP sẽ được gửi tới địa chỉ IP của thiết bị đích (hoặc một đích khác nếu đang sử dụng mã lệnh Redirect).
– Truyền tải gói tin ICMP: Gói tin ICMP sẽ được chuyển tiếp thông qua các thiết bị mạng, như router, theo quy trình định tuyến. Đối với việc truyền tải gói tin ICMP, các thiết bị mạng xử lý nó giống như bất kỳ gói tin IP khác.
– Xử lý tại thiết bị đích: Tại thiết bị đích, gói tin ICMP sẽ được rút trích và xử lý bởi giao thức ICMP. Hành động tiếp theo sẽ phụ thuộc vào loại thông điệp ICMP và mã lỗi.
– Xử lý thông điệp ICMP: Thiết bị đích sẽ xử lý thông điệp ICMP theo loại thông điệp và mã lỗi tương ứng. Điều này có thể bao gồm cập nhật bảng định tuyến, gửi lại thông điệp phản hồi, hoặc thông báo lỗi tới ứng dụng hoặc hệ điều hành.
– Phản hồi (nếu cần): Đối với một số loại thông điệp ICMP (như Echo Request), thiết bị đích có thể phản hồi lại với một thông điệp tương ứng (Echo Reply). Điều này cho phép gửi thông báo kiểm tra tính hoạt động của mạng.
Định dạng gói tin của giao thức ICMP
Dưới đây là cấu trúc chung của một gói tin ICMP:
Phần Header (tiêu đề ICMP)
– Type (Loại): Chiều dài 8 bits. Xác định loại thông điệp ICMP, ví dụ: Echo Request, Echo Reply, Destination Unreachable, Time Exceeded, v.v.
– Code (Mã): Chiều dài 8 bits. Xác định mã lỗi cụ thể hoặc thông số cho loại thông điệp đã xác định.
– Checksum (Kiểm tra bảo mật): Chiều dài 16 bits. Sử dụng để kiểm tra tính toàn vẹn của gói tin ICMP.
– Identifier và Sequence Number (Nhận dạng và Số thứ tự): Chiều dài 16 bits cho mỗi trường. Thường được sử dụng trong các thông điệp Echo Request và Echo Reply để định danh yêu cầu và phản hồi.
Phần Dữ liệu (tuỳ chọn)
Chiều dài và cấu trúc phần dữ liệu phụ thuộc vào loại thông điệp ICMP cụ thể.
ICPM trong DDoS attacks:
ICMP flood attack
Ping flood hoặc ICMP flood là khi attacker cố gắng làm quá tải thiết bị mục tiêu bằng các gói tin ICMP echo-request. Mục tiêu phải xử lý và phẩn hồi từng gói tin, tiếu tốn tài nguyên máy tính của mục tiêu cho đến khi người dùng bình thường không thể nhận được dịch vụ
Ping of death attack
Ping of death attack là khi attacker gửi một 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ột máy mục tiêu, khiến máy bị đóng băng hoặc sập. Gói tin bị phân mảnh trên đường đến mục tiêu, nhưng khi mục tiêu lắp ráp lại thì gói tin thành kích thước vượt quá thước tối đa ban đầu, gây ra tràn bộ nhớ đệm. Kiểu tấn công này hầu như đã đi vào dĩ vãng; các thiết bị được tạo ra sau năm 1998 thường được bảo vệ chống lại loại tấn công này. Một số thiết bị cũ vẫn có thể bị tấn công. Một cuộc tấn công Ping of Death mới đối với các gói IPv6 cho Microsoft Windows đã được phát hiện gần đây hơn và đã được vá vào giữa năm 2013
Smurf attack
Trong Smurf attack, attacker gửi một gói tin ICMP với địa chỉ IP nguồn giả mạo. Thiết bị mạng trả lời gói tin, gửi những phản hồi tới địa chỉ IP giả mạo và làm ngập nạn nhân bằng 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 Smurf chỉ có thể thực hiện được với thiết bị cũ.
Last updated