2.4. Giải pháp đánh dấu gói tin PLA DFM phục vụ truy vết nguồn tấn công
2.4.2. Khái niệm về đánh dấu gói tin và các kỹ thuật cơ bản
Kỹ thuật trace back bằng đánh dấu gói tin
Trong kỹ thuật traceback bằng đánh dấu gói tin, thơng tin đánh dấu của một số hoặc tất cả các bộ định tuyến trên đường đi của lưu lượng được gửi tới trạm đích. Thơng tin đánh dấu thường là các địa chỉ IP của bộ định tuyến, trạm đích sẽ sử dụng thông tin này để truy vết, dựng lại đường đi của gói tin mà khơng cần sử dụng trường địa chỉ IP nguồn nằm trong gói tin. Thông tin đánh dấu thường được chèn vào các trường ít sử dụng trong phần tiêu đề của gói tin IP trong q trình lưu chuyển tới trạm đích. Có hai kỹ thuật đánh dấu gói tin chính là đánh dấu theo xác suất PPM và đánh dấu xác định DPM.
Kỹ thuật đánh dấu gói tin PPM và DPM
PPM [122] thực hiện đánh dấu tại tất cả các bộ định tuyến trên đường đi của gói tin theo một tỷ lệ gói tin tại mỗi bộ định tuyến với xác suất cố định p = 0,04. Thông tin đánh dấu được tạo bởi phép toán “XOR” giữa hai địa chỉ IP của hai bộ định tuyến kế tiếp và được chia thành các phân đoạn nhỏ. Mỗi phân đoạn được lựa chọn ngẫu nhiên và lưu trong 16 bit trường
Identification của gói tin được đánh dấu và được coi như một mẫu của thơng tin đường đi (path).
Khi máy đích nhận được đủ số lượng mẫu, đường đi này có thể được sắp xếp, tái tạo lại.
Ưu điểm chính của PPM là đơn giản, dễ thực hiện, không làm tăng kích thước gói tin và có khối lượng tính tốn nhỏ tại các bộ định tuyến. PPM có nhược điểm là máy đích phải thực hiện khối lượng tính tốn cao để tái tạo lại đường đi; tỷ lệ traceback thành cơng thấp vì xác suất ghi đè mẫu thơng tin lên gói tin đã đánh dấu cao [48]. Một số đề xuất cải tiến đã được đưa ra như sử dụng xác suất thay đổi động dựa trên sự giảm dần giá trị TTL của gói tin (DPPM) [50], hoặc giải pháp EAST [121] sử dụng số định danh mạng tự trị (AS) làm thông tin đánh dấu thay cho địa chỉ IP của router. EAST còn sử dụng 8 bit trường TOS để đánh dấu và do đó tồn bộ thơng tin đánh dấu của mỗi AS có thể được đưa trọn vẹn vào 1 gói tin. Tuy nhiên, các giải pháp này vẫn không khắc phục được vấn đề là cần nhiều khối lượng tính tốn tại máy đích.
Nhóm tác giả Belenky [50], [122] đề xuất giải pháp DPM đánh dấu các gói tin tại các bộ
định tuyến biên của mạng ISP. Thông tin đánh dấu là địa chỉ IP của cổng vào trên bộ định tuyến biên (32 bits). DPM sử dụng 16 bits của trường Indentification để lưu thông tin đánh dấu và bit
Reserved Flag để chỉ thị nếu gói tin đã được đánh dấu (cờ). 32 bit thông tin đánh dấu được phân
mảnh thành các phần nhỏ mà có thể được nhúng vào tiêu đề của gói tin IP. Mỗi phân đoạn này được lựa chọn với xác suất p =1/K với K là số lượng gói tin cần cho quá trình đánh dấu.
Kỹ thuật DPM có thể traceback lại khi đang bị tấn cơng DDoS do u cầu tính tốn thấp hơn tại máy đích. Bên cạnh đó, giải pháp này khơng làm tăng kích thước gói tin và có thể ngăn chặn tấn cơng đánh dấu giả mạo. Tuy nhiên tỷ lệ traceback nhầm nguồn của lưu lượng vẫn khá
cao đặc biệt khi có tấn cơng DDoS tới mạng đích. Khắc phục hạn chế trên, các giải pháp cải tiến bao gồm Extended DPM [123] và Flexible DPM [47] được đề xuất trong đó sử dụng thêm 8 bit của trường TOS của gói tin IP để nâng khơng gian đánh dấu lên tới 25 bits/gói tin. Nhờ đó giảm số lượng gói tin cần thiết để đánh dấu và tăng tỷ lệ traceback thành cơng nhưng có thể dẫn tới xung đột do các bit này được sử dụng cho các mục đích khác như quy định trong RFC 2474 [124], hay RFC 3168 [125]. Mặc dù các giải pháp nâng cấp này đã cải thiện hiệu quả đánh dấu, nhưng vẫn có một số vấn đề tồn tại bao gồm: u cầu tính tốn cịn cao, độ chính xác thấp.
Kỹ thuật đánh dấu gói tin theo luồng DFM
Kỹ thuật đánh dấu gói tin theo luồng DFM được đề xuất bởi Vahid Aghaei-Foroushani [48] là giải pháp nâng cấp của DPM. Giống như DPM, DFM thực hiện đánh dấu tại bộ định tuyến biên các gói tin lưu chuyển từ bên trong hệ thống mạng ra ngoài Internet. Tuy nhiên DFM chỉ thực hiện đánh dấu đối với K gói tin đầu tiên của mỗi luồng. Trong đó, một luồng TCP/UDP được xác định bởi 5 thông số: địa chỉ IP nguồn và đích, số hiệu giao thức L4, số hiệu cổng nguồn và đích; luồng ICMP được xác định bởi 6 tham số: địa chỉ IP nguồn và đích, số hiệu giao thức L4, mã code ICMP, loại ICMP và ID của luồng ICMP. Các gói tin thuộc một luồng được xác định bởi Thời gian chờ liên gói tin (inactive timeout) và Thời gian tồn tại tối đa (active timeout) giống như idle timeout và hard timeout của Openflow.
Trong DFM, thông tin đánh dấu được mở rộng lên 60 bits gồm: (i) 32 bit In-portIP là địa chỉ IP cổng vào bộ định tuyến biên; (ii) 12 bit NIID là giá trị địa chỉ MAC hay VLAN ID của thiết bị kết nối với bộ định tuyến; và (iii) 16 bit NodeID là giá trị để nhận diện trạm nguồn. Số lượng gói tin cần để đánh dấu cho mỗi luồng phụ thuộc vào việc sử dụng các trường tiêu đề của gói tin IP chứa thông tin đánh dấu. DFM sử dụng linh hoạt các trường tiêu đề để đánh dấu,
ngoài 16 bits Identification, 1 bit của Reserved Flag, DFM có thể sử dụng các trường ít sử dụng
khác, bao gồm 8 bits TOS và 13 bits Fragment Offset. Bảng 2.9 thể hiện quan hệ giữa số gói tin yêu cầu K tương ứng với các trường hợp sử dụng các trường thông tin khác nhau của gói tin đánh dấu.
Bảng 2.9. Các trường và số lượng gói tin yêu cầu trong mỗi luồng để đánh dấu trong DFM
Các trường tiêu đề gói tin được sử dụng Kích thước đánh dấu (bits) K
Identification, Reserved Flag, TOS và Fragment Offset 37 2
Identification, Reserved Flag và TOS 25 3
Identification, Reserved Flag và Fragment Offset 30 3
Identification và Reserved Flag 17 4
Đánh dấu theo luồng giúp cho DFM giảm gần 90% số lượng gói tin đánh dấu [95] so với DPM, nhờ đó u cầu tính tốn q trình đánh dấu cũng được giảm đi. Ngồi ra, DFM cung cấp khả năng traceback gần hơn tới nguồn phát lưu lượng nhờ bổ sung thông tin đánh dấu chi tiết. Bên cạnh đó, để tránh đánh dấu giả mạo, DFM đưa ra tuỳ chọn về chứng thực sử dụng các khoá mã hố cơng khai giữa các bộ định tuyến biên, máy đích có thể xác minh thơng tin đánh
dấu và loại bỏ khả năng sửa đổi, đánh dấu giả mạo.
Đánh giá hiệu năng của DFM thơng qua phân tích lưu lượng Internet
Hình 2.21. Phân bố số lượng gói tin trên 1 luồng từ bộ dữ liệu CAIDA
Để nâng cao hiệu năng đánh dấu và tăng tỷ lệ traceback thành công, một trong những tiêu chí quan trọng đó là cần giảm số lượng gói tin đánh dấu trong mỗi luồng lưu lượng. Mặc dù số lượng và kích thước tổng của các gói tin được đánh dấu giảm nhiều và tỷ lệ traceback thành công cao hơn khi so sánh với kỹ thuật DPM, nhưng DFM vẫn cần K gói tin đầu tiên mỗi luồng để lưu giữ thông tin đánh dấu. Khi luồng có ít hơn K gói tin thì khơng thể đánh dấu thành cơng và do đó máy đích sẽ khơng thể traceback địa chỉ vùng phát sinh gói tin. Để khảo sát tỷ lệ đánh dấu thành công trong kỹ thuật DFM, 5 triệu luồng lưu lượng từ bộ dữ liệu CAIDA [107] [108] được lựa chọn và phân tích theo luồng bằng cơng cụ Scapy [109] với giá trị inactive timeout và
active timeout lần lượt là 15 giây và 30 phút (lấy theo giá trị mặc định của giao thức NetFlow
[126]). Kết quả phân tích được thể hiện như trong đồ thị Hình 2.21. Theo kết quả phân tích, các luồng có 1 gói tin chiếm tỷ lệ lớn (trên 40%). Với phân bố này, thậm chí với trường hợp K=2, tỷ lệ đánh dấu thành công vẫn khá thấp (dưới 60%).