Thuật toán đánh dấu gói tin trong xác định nguồn tấn công từ chối dịch vụ

15:54 | 11/07/2016

Tấn công từ chối dịch vụ là một trong những dạng tấn công phổ biến nhất hiện nay. Trong dạng tấn công này, những kẻ tấn công thường sử dụng kỹ thuật giả mạo địa chỉ IP để che giấu danh tính thật. Chính vì vậy, xác định nguồn gốc của tấn công từ chối dịch vụ là một việc hết sức khó khăn. Bài báo này trình bày một số phương pháp để truy vết địa chỉ IP bằng cách sử dụng một số thuật toán đánh dấu gói tin.

Truy vết địa chỉ IP (IP Traceback) là một kỹ thuật thuộc lĩnh vực điều tra mạng, thực hiện việc phân tích lưu lượng Internet nhằm tìm ra nguồn phát sinh tấn công và triển khai các biện pháp bảo vệ. Việc truy vết địa chỉ IP giúp xác định nguồn gốc của một gói tin trên mạng mà không cần dựa vào các trường trong địa chỉ IP nguồn. Do tính chất đáng tin cậy của giao thức IP, địa chỉ IP nguồn của một gói tin không được xác thực. Điều này dẫn đến việc địa chỉ nguồn trong một gói tin IP có thể bị làm giả để sử dụng cho nhiều dạng tấn công khác nhau. Hầu hết các phương pháp tiếp cận hiện nay về vấn đề truy vết địa chỉ IP được thiết kế nhằm giải quyết bài toán phát hiện tấn công từ chối dịch vụ (DoS/DDoS).

Các phương pháp truy vết địa chỉ IP

Phương pháp kiểm tra liên kết: còn được gọi là phương pháp truy vết hop-by-hop, thực hiện phân tích đệ quy tất cả các liên kết theo hướng ngược lại (upstream) để xác định các chặng đường mà gói tin tấn công đi qua. Việc thực hiện bắt đầu từ bộ định tuyến gần nạn nhân nhất đến khi xác định được các bộ định tuyến nguồn. Hai kỹ thuật thuộc mô hình này là gỡ rối đầu vào (input debugging) và kiểm soát ngập lụt (controlled flooding).

Phương pháp truy vết ICMP: là một kỹ thuật truy vết dựa trên giao thức ICMP (Internet Control Message Protocol), mỗi bộ định tuyến có xác suất tạo ra một gói tin ICMP được gọi là gói tin dấu vết, tương ứng với gói tin được lựa chọn và hướng đến cùng một đích. Mỗi bộ định tuyến chỉ tạo ra một thông điệp này trong số 20 nghìn gói tin đi qua nó. Gói tin dấu vết chứa thông tin về chặng đường kế tiếp và trước đó, nhãn thời gian, địa chỉ MAC.... Trong tấn công DoS, càng nhiều gói tin dấu vết được tạo ra, hoạt động truy vết sẽ càng hiệu quả.

Phương pháp ghi nhật ký: nhằm mục đích lưu vết các gói tin ở một số bộ định tuyến quan trọng để xác định đường dẫn trên mạng đến nguồn tấn công. Cách tiếp cận này có ưu điểm nổi bật là có thể truy vết đường dẫn sử dụng một gói tin duy nhất. Tuy nhiên, yêu cầu không gian lưu trữ lớn tại các bộ định tuyến khiến việc triển khai phương pháp này rất khó khăn. 

Phương pháp sử dụng thuật toán đánh dấu gói tin: nhằm ghi lại các thông tin định tuyến của gói tin. Thông tin được đánh dấu có thể bao gồm danh tính của bộ định tuyến hoặc bất kỳ thông tin nào khác có thể phân biệt được đường đi của gói tin trên Internet. Thông tin này được sử dụng bởi các nạn nhân để xác định đường dẫn mà gói tin đi qua và có thể không chứa toàn bộ các thông tin của tuyến đường. Nạn nhân có thể thu thập thông tin của tuyến đường để xây dựng lại đường dẫn đầy đủ về nguồn tấn công. 

Một số thuật toán đánh dấu gói tin

Gần đây, một số thuật toán sử dụng trong việc truy vết địa chỉ IP dựa trên một số thuật toán đánh dấu gói tin được nghiên cứu, đề xuất. Các phương pháp này đã có những cải tiến nhằm khắc phục những nhược điểm còn tồn tại của những thuật toán và phương pháp truy vết trước đó.

Thuật toán đánh dấu gói tin theo xác suất (Probabilistic Packet Marking - PPM) là thuật toán được đề xuất bởi Savage, nhằm giải quyết vấn đề truy vết địa chỉ IP. Ý tưởng chính của thuật toán là đánh dấu gói tin đi qua bộ định tuyến cùng định danh của chúng với một xác suất cố định. Gói tin có thể được đánh dấu với đầy đủ hoặc một phần thông tin đường dẫn của tuyến đường. Nạn nhân có thể sử dụng các gói dữ liệu được đánh dấu để xây dựng lại toàn bộ đường dẫn tấn công.

Thuật toán PPM sử dụng 16 bit trong trường định danh của tiêu đề IP (IP header). Nó chia trường này thành 3 trường: trường bắt đầu (32 bit), trường kết thúc (32 bit) và trường khoảng cách.

Thay vì ghi lại toàn bộ thông tin đường dẫn mà các gói tin đi qua, bản ghi định tuyến chỉ đánh dấu thông tin các cạnh được chọn (là khoảng cách giữa hai bộ định tuyến gần nhau). Trường bắt đầu và kết thúc ghi lại địa chỉ IP của bộ định tuyến tại các điểm kết thúc của cạnh đã đánh dấu. Trường khoảng cách ghi lại các chặng đường giữa các cạnh được đánh dấu và nạn nhân. Nạn nhân thu thập các gói tin đã đánh dấu và kiểm tra tiêu đề gói tin để xây dựng lại toàn bộ đường dẫn mà gói tin đi qua. Tuy nhiên, có thể có các gói tin bị bỏ qua (không được đánh dấu). Kẻ tấn công có thể chuyển đổi các gói tin tấn công thành các gói tin không được đánh dấu, dẫn đến kết quả truy vết không chính xác hay thất bại.

Thuật toán đánh dấu gói tin xác định (Deterministic Packet Marking - DPM) dựa trên việc đánh dấu tất cả các gói tin tại giao diện đi vào và địa chỉ IP của nó. Việc đánh dấu được thực hiện khi một gói tin đi vào mạng bằng bộ định tuyến gần nguồn nhất và không thay đổi, không bị ghi đè bởi các bộ định tuyến khác, điều này giúp loại bỏ các vấn đề liên quan đến việc giả mạo đánh dấu. Bộ định tuyến chỉ đánh dấu các gói tin gửi đến, không đánh dấu các gói tin gửi đi.

Trường đánh dấu được chia thành trường định danh (Identification - ID) (16 bit) và Cờ dự trữ (Reverse Flag) (1 bit). Địa chỉ IP được chia thành hai nửa, mỗi nửa 16 bit và một trong số đó được chọn ngẫu nhiên để đánh dấu vào trường định danh. Trường Reverse Flag được xác định là một phần của địa chỉ IP được đánh dấu vào trường định danh, trong đó 0 nghĩa là nửa đầu và 1 là nửa sau. Nạn nhân có thể nhận tất cả địa chỉ IP đi vào bộ định tuyến bằng cách nối hai nửa địa chỉ IP trong gói tin.

Thuật toán đánh dấu gói tin theo xác suất động (Dynamic Probabilistic Packet Marking - DPPM) là thuật toán đánh dấu nhưng linh hoạt hơn so với thuật toán PPM. Khả năng đánh dấu gói tin động tránh được việc bỏ sót gói tin (do khuyết điểm của thuật toán PPM) và cho phép các nạn nhân xác định một cách chính xác nguồn gốc những kẻ tấn công, bao gồm cả tấn công từ chối dịch vụ sử dụng địa chỉ IP giả mạo.


Hình 1. Cơ chế hoạt động của thuật toán DPPM

Xác suất đánh dấu là cao nhất khi gói tin đi vào mạng và thấp nhất khi gói tin đến gần đích. Với một đường dẫn tấn công, cho i (1 ≤ i ≤ D) là khoảng cách của một gói tin đi từ nguồn đến bộ định tuyến. Bộ định tuyến Ri chọn pi = 1/i để đánh dấu xác suất và giá trị khoảng cách của gói tin xuất phát từ nguồn của nó có thể được suy ra từ giá trị Time-to-live (TTL) trong tiêu đề IP. Hình 1 mô tả cơ chế truy vết của thuật toán DPPM với xác suất đánh dấu pi = 1/i để đánh dấu gói tin cho bộ định tuyến Ri.

Nạn nhân có xác suất như nhau để có được thông tin mỗi bộ định tuyến dọc theo đường dẫn tấn công mà không cần quan tâm khoảng cách từ mình và bộ định tuyến đến chúng. Đây là một ưu điểm của DPPM đảm bảo xác suất cuối cùng không đổi. Những phân tích chính thức chỉ ra rằng DPPM nhanh hơn so với PPM trong hầu hết các phương diện.

Thuật toán đánh dấu xác thực tiên tiến (Advanced and Authenticated Marking - AAM) cho phép xây dựng lại đường dẫn tấn công chính xác và hiệu quả. Thuật toán này hỗ trợ xác thực việc đánh dấu của bộ định tuyến, cho phép nạn nhân tránh các vấn đề về giả mạo. Nó giả định rằng tất cả các bộ định tuyến và nạn nhân chia sẻ một khóa bí mật Ki và sử dụng mã xác thực thông điệp (MAC) áp dụng trên địa chỉ IP để xác thực việc đánh dấu của bộ định tuyến.

Thay vì đánh dấu gói tin với địa chỉ IP của bộ định tuyến, giá trị băm của địa chỉ này được đánh dấu bằng một số mã xác thực trong trường khoảng cách (5 bit) và trường lưu thông tin cạnh (11 bit). Việc xác thực cho phép xây dựng lại đường dẫn tấn công. Các bản đồ mạng thu được từ các đường dẫn giúp cho việc truy vết IP chính xác và hiệu quả.

Kết luận

Các phương pháp truy vết IP vẫn tồn tại những nhược điểm riêng, trong đó sử dụng thuật toán đánh dấu gói tin theo xác suất (PPM) là kỹ thuật đơn giản nhất, những nhược điểm của kỹ thuật này đã và đang dần được khắc phục bởi những kỹ thuật tiên tiến hơn như DPM, DPPM, AAM,... Tuy nhiên tất cả những kỹ thuật truy vết IP tiên tiến đều tập trung vào việc xử lý vấn đề lưu trữ nhiều hơn là khả năng tính toán. Cho đến nay vẫn chưa có một thuật toán truy vết IP nào có khả năng giải quyết được triệt để những hạn chế còn tồn tại. Vì vậy, trong tương lai, cần tập trung hoàn thiện các thuật toán truy vết IP hiện có và xây dựng những phương án nhằm xử lý các cuộc tấn công đang liên tục gia tăng trên mạng Internet, cũng như chú trọng nâng cao khả năng tự động hóa quy trình truy vết.