IPv6 là một giao thức Internet mới, đang được triển khai sâu rộng tại nhiều nước, trong đó có Việt Nam. Mặc dù đã có những cải tiến trong cấu trúc nhằm khắc phục các nhược điểm của IPv4, tuy nhiên IPv6 vẫn còn tồn tại nhiều nguy cơ về an ninh. Hiện nay, tấn công DoS trên IPv6 chưa phải là mối nguy hiểm thường trực, nhưng có nhiều dấu hiệu cho thấy đã có những thử nghiệm và nghiên cứu phương pháp tấn công DoS trên IPv6.
Trong một cuộc thí nghiệm tại trường Đại học Halmstad – Thụy Điển được công bố đầu năm nay, giáo sư Tony Larsson và công sự đã tiến hành kiểm tra khả năng chống chịu với các cuộc tấn công DoS trong mạng IPv6. Thí nghiệm sử dụng các công cụ mã nguồn mở để phát động các cuộc tấn công tới mạng IPv6 đơn giản với thiết bị định tuyến và một số máy tính để bàn. Kịch bản là tạo header mở rộng lớn bằng cách thêm các hop-by-hop header và phân mảnh header theo nhiều trường hợp giả lập khác nhau. Kết quả theo dõi và phân tích đã ghi nhận nhiều trường hợp thiết bị định tuyến bị tê liệt hoàn toàn và tải CPU của máy tính để bàn lên tối đa. Điều đó chứng tỏ IPv6 hoàn toàn có thể bị tấn công DoS.
Đối với IPv6, nguy cơ tấn công DoS có liên quan đến phần header mở rộng. Những trường được yêu cầu xử lý bởi tất cả các node trên đường đi của gói tin mới được duy trì trong header IPv6 . Các trường còn lại chứa thông tin có thể hoặc không liên quan đến gói tin IP được chuyển đến phần header mở rộng IPv6. Và chính phần header mở rộng này vừa là điểm mạnh nhưng cũng đang trở thành điểm yếu mà tin tặc có thể lợi dụng trong các cuộc tấn công DoS.
IPv6 không giới hạn các header mở rộng (không vượt quá kích thước gói tin IPv6) và quá trình thực hiện là xử lý hoàn toàn các trường theo thứ tự chúng xuất hiện trong header. Vì vậy, tin tặc có thể thực hiện giả mạo header mở rộng để tiến hành tấn công. Chúng có thể tạo ra một gói tin IPv6 có số lượng header mở rộng tối đa cho phép và liên kết với nhau trong một danh sách lớn. Ví dụ như gửi lặp bản tin hop-by-hop option header nhiều lần khiến cho việc xác định đường đi của các node trong mạng bị cản trở hoặc làm tắc nghẽn băng thông.
So sánh Header trong IPv4 và IPv6
Thông tin tuỳ chọn của lớp mạng không bao gồm trong header IPv6. Nó bao gồm những header riêng rẽ được mã hoá và đặt giữa IPv6 và header lớp trên. Khi gói tin đi từ nguồn tới đích, các node trung gian không được phép xử lý các header mở rộng đến khi nó đến đích, hoặc những node đích (trường hợp địa chỉ Multicast) trừ một vài trường hợp ngoại lệ (khi có mặt của Hop-by-Hop Option Header).
Header mở rộng
Có 6 kiểu trong header mở rộng: Hop-by-Hop Option, Destination Option, Routing, Fragment, Authentication và ESP (Encapsulating Security Payload). Khi sử dụng cùng lúc nhiều header mở rộng, thường sắp xếp các header lần lượt theo thứ tự sau:
- Hop-by-Hop Option header: xác định chu trình cần được thực hiện mỗi lần gói tin đi qua một router. Sự có mặt của trường hop-by-hop buộc gói tin phải kiểm tra bởi tất cả các node trung gian trên đường từ nguồn đến đích, bao gồm cả node nguồn và đích.
- Destination Option header: được sử dụng để xác định chu trình cần thiết phải xử lý bởi node đích.
- Routing header: được sử dụng để xác định đường dẫn định tuyến. Node nguồn sử dụng Routing header để liệt kê địa chỉ của các router mà gói tin phải đi qua. Các địa chỉ liệt kê trong phần này được sử dụng như địa chỉ đích của gói tin IPv6 theo thứ tự được liệt kê và gói tin sẽ được gửi từ router này đến router khác tương ứng.
- Fragment header: Được sử dụng khi một node muốn gửi một gói tin có kích thước lớn hơn MTU của đường dẫn đến đích. Node nguồn chịu trách nhiệm phân mảnh các gói dữ liệu nếu MTU của liên kết dọc theo đường truyền tải nhỏ hơn gói tin. Các router dọc đường đi không phân mảnh gói tin. Các mảnh sẽ nối lại tại đích.
- Authentication header: được thêm vào IPv6. Mục đích là để cung cấp tính toàn vẹn và xác thực cho các gói IP.
- ESP: tính toàn vẹn và bảo mật được cung cấp bởi Encapsulating Security Payload (ESP). Ta có thể sử dụng Authentication header kết hợp vởi ESP để cung cấp khả năng xác thực.
Ngoài ra, trong IPv6, việc phân mảnh không bao giờ được thực hiện bởi các router trung gian mà chỉ các thiết bị đầu cuối mới có thể tạo và tập hợp các phân mảnh lại. Quá trình này có thể bị kẻ tấn công lợi dụng để che giấu cuộc tấn công của chúng hoặc để tấn công một node mạng bất kỳ. Bằng việc chia cuộc tấn công vào nhiều bản tin phân mảnh nhỏ, kẻ tấn công có thể vượt qua được các bộ lọc hay các bộ phát hiện xâm nhập.
Cần lưu ý, chúng ta đang xem xét mạng chỉ chạy thuần IPv6. Thực tế hiện nay, IPv6 đang triển khai nên cần chạy song song với IPv4. Lỗ hổng trên IPv4 rất nhiều, hơn nữa, các thiết bị Firewall, IDS sử dụng cho IPv4 không hỗ trợ IPv6 nên việc bảo vệ mạng từ bên ngoài không hề an toàn. Vì vậy, công việc của các nhà phát triển thiết bị cũng như các chuyên gia nghiên cứu là tìm ra giải pháp tối ưu cho phần header mở rộng trên IPv6 và phương án đảm bảo an toàn khi chạy dual-stack hoặc tunneling (chạy đồng thời IPv4 và IPv6).