Tuesday , 19 June 2018
Home » Tự học Quản trị mạng » Tự học CCNA » Nguy cơ an ninh trong giao thức IPv6

Nguy cơ an ninh trong giao thức IPv6

ipv6

      Hình 1: So sánh Header trong IPv4 và IPv6.

Nguy cơ an ninh trong giao thức IPv6

Giới thiệu

IPv6 là một giao thức mới, mang lại những tính năng và cải tiến mới đặc biệt quan tâm đến tính đơn giản như tốc độ định tuyến (routing speed), chất lượng dịch vụ (QoS) và tính an ninh (Security).

 

Mặc dù đã có nhiều cải tiến về bảo mật so với IPv4, tuy nhiên IPv6 vẫn tồn tại nhiều nguy cơ về an ninh. Ngoài một số nguy cơ giống như IPv4 mà đã có những giải pháp khắc phục hoàn chỉnh, còn một số những nguy cơ chỉ xuất hiện trên IPv6 và nguy cơ liên quan đến quá trình chuyển đổi giữa IPv4 và IPv6. Các dạng nguy cơ có thể kể đến như: Tấn công do thám; Truy cập trái phép; Nguy cơ liên quan đến phân mảnh gói tin; Amplification (DDoS) Attacks; Vấn đề an ninh do cơ chế chuyển tiếp.

Tấn công do thám

Việc tăng số bit địa chỉ từ 32 bit của IPv4 lên 128 bit của IPv6 ngoài việc giải quyết bài toán địa chỉ IPv4 đã được sử dụng hết mà còn là một giải pháp an ninh. Như ta đã biết quét cổng (Port Scanning) là một trong những phương pháp rà quét được biết đến rộng rãi nhất hiện nay. Thông thường những lỗ hổng bảo mật đã biết có liên quan đến ports hoặc dịch vụ và quét cổng cho ta biết port nào đang mở và dịch vụ nào đang chạy. Với độ dài Subnet mặc định trong IPv6 là 64 bits tương đương 264 địa chỉ thì việc quét đầy đủ tất cả địa chỉ trong một dải là không khả thi, tính sơ bộ nếu tốc độ quét là 1.000000 địa chỉ/giây thì phải mất hơn 500.000 năm để quét. Đó thực sự là một rào cản với kẻ tấn công muốn thu thập thông tin bằng phương pháp quét cổng. Ngoài ra, công cụ quét cổng thường được sử dụng là Nmap hiện tại vẫn chưa hỗ trợ việc quét mạng IPv6. Tuy nhiên, không có sự khác biệt về mặt kỹ thuật quét cổng trong hai giao thức IPv4 và IPv6, ngoại trừ một không gian địa chỉ cần quét quá lớn trong IPv6; cho nên các biện pháp phòng chống quét cổng trong IPv4 như sử dụng ACL (Access Control List) trên Router biên hay tắt các dịch vụ không cần thiết trên Firewall vẫn được khuyến nghị áp dụng đối với IPv6.

IPv6 hỗ trợ địa chỉ multicast, kẻ tấn công có thể lợi dụng điều này để có thể xác định các nguồn tài nguyên (key resources) và tấn công chúng. Giải pháp chống do thám trong IPv6 được đề xuất:

– Lọc các địa chỉ IPv6 dùng trong nội bộ tại router biên ví dụ như chặn địa chỉ multicast tại tất cả các nút.

– Sử dụng các địa chỉ tĩnh tiêu chuẩn nhưng khó đoán cho các hệ thống quan trọng: thử một vài bit phức tạp hơn ::1 cho default gateways ( ví dụ như ::DEF1).

– Duy trì bảo mật cho máy chủ và ứng dụng, như IPv4.

– Chọn các chế độ lọc ICMP phù hợp.

Truy cập trái phép

Việc triển khai các chính sách điều khiển truy cập trong IPv6 thường được áp dụng trên firewall. Yêu cầu firewall cho IPv6 bao gồm:

– Không cần thiết phải NAT, do vậy không che giấu địa chỉ được. Người sử dụng phải lựa chọn giữa chí phí phần cứng, hiệu năng thiết bị với các chính sách bảo mật.

– Hỗ trợ đọc IPv6 header.

– Hỗ trợ việc chuyển đổi giữa IPv4 và IPv6.

– Không phá vỡ tính bảo mật của IPv4

Ứng với mỗi vị trí đặt firewall trong hệ thống mạng sẽ cũng có những khuyến nghị khác nhau:

Trường hợp Firewall được đặt trước Router biên (Hình 2):

ipv6_2

Hình 2: Firewall đặt trước Router biên.

+ Firewall phải hỗ trợ hoặc sử dụng bộ lọc ND/NA (Neighbor Discovery/Neighbor Advertisement).

+ irewall phải hỗ trợ RS/RA (Router Solicitation/Router Advertisement) nếu SLAAC (Stateless Address Autoconfiguration) được sử dụng.

+ Firewall phải hỗ trợ bản tin MLD (Multicast Listener Discovery) nếu bản tin multicast được yêu cầu.

Trường hợp Firewall được đặt sau Router biên (Hình 3):

ipv6_3

Hình 3: Firewall đặt sau Router biên.

+ Firewall phải hỗ trợ ND/NA.

+ Firewall nên hỗ trợ lọc giao thức định tuyến động.

+ Firewall nên có đa dạng các loại interfaces.

Trường hơp Firewall được đặt trong Router (Hình 4):

 

Hình 4: Firewall đặt trong Router.

Phương thức này giúp vấn để bảo mật mạnh mẽ hơn – chính sách định tuyến và bảo mật tại cùng một vị trí – rất phổ biến trong các router SOHO. Hệ thống này sẽ xử lý các chức năng của cả router và firewall.

Nguy cơ phân mảnh và xử lý Header (Fragmentation and header handling)

Một kẻ tấn công có thể thực hiện giả mạo header trên header mở rộng để tiến hành tấn công. Hắn có thể tạo ra một gói tin IPv6 có số lượng header mở rộng không giới hạn liên kết với nhau trong một danh sách lớn. Việc kết nối hàng loạt header mở rộng với nhau giúp kẻ tấn công có thể tránh được Firewall và IPS (Instrution Prevention Systems).

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. Một số công cụ điển hình mà các hacker hay sử dụng là: Whisker, Fragrouter, Teardrop và Bonk.

Các giải pháp được kể đến ở đây như:

– Loại bỏ tất cả các gói tin có routing header nếu ta không có MIPv6.

– Loại bỏ tất cả các phân mảnh nhỏ hơn 1280 octets (ngoại trừ phân mảnh cuối cùng).

– Đặt timeout kiểm tra các gói tin phân mảnh trong 60s.

Khuếch đại bản tin Ampli

Trong IPv6 không có địa chỉ broadcast vì vậy sẽ ngăn chặn được kiểu tấn công khuếch đại Smurt attack khi kẻ tấn công gửi gói tin IMCP đến địa chỉ broadcast của thiết bị. Người ta định nghĩa các địa chỉ multicast dành cho một nhóm các thiết bị cụ thể như link-local address, site-local address, all site-local router, … tương ứng với việc tạo ra giao thức ICMPv6 để phản hồi các gói tin multicast đó.

Việc định nghĩa các bản tin multicast chỉ làm giảm bớt thiệt hại của vụ tấn công bởi vì việc kiểu tấn công giả mạo địa chỉ nguồn thành multicast vẫn gây lên hậu quả nghiêm trọng. Vì vậy các giải pháp sau có thể được tham khảo:

– Tuân thủ theo RFC 2463 trên các host.

– Thực hiện RFC 2827 trên các bộ lọc (ingress filtering).

– Thực hiện loại bỏ trên bộ lọc các bản tin IPv6 trong trường hợp địa chỉ nguồn là địa chỉ multicast.

Vấn đề an ninh do cơ chế chuyển tiếp

Quá trình chuyển đổi IPv4 sang hoàn toàn IPv6 được dự báo là cần trong khoảng thời gian dài. Trong khoảng thời gian giao thời đó đỏi hỏi các công nghệ chuyển đổi từ IPv4 sang IPv6 và ngược lại, tiêu biểu là đường hầm (tunneling) hoặc chạy đồng thời (dual-stack). Vì vậy đối với người thiết kế và quản trị mạng, việc hiểu các tác động an ninh của các cơ chế chuyển đổi để áp dụng vào các thiết bị bảo mật như Firewall và IDS (Intrustion Detection System) là vô cùng quan trọng.

Dual-stack chạy đồng thời cả IPv4 và IPv6, vì vậy kẻ tấn công có thể sử dụng cả IPv4 và IPv6 để tấn công do đó Firewall và IDS phải hỗ trợ của IPv4 lẫn IPv6 và phải có các quy tắc lọc và phát hiện đối với cả hai giao thức.

Đối với tunneling, gói tin IPv6 được đóng gói trong IPv4 và truyền đi. Công nghệ tunneling cũng làm phát sinh những nguy cơ mới, kẻ xâm nhập có thể tránh các bước kiểm tra của hệ thống firewall vì firewall không thể kiểm tra hai giao thức trong cùng một thời điểm. Có hai phương pháp tunneling được kể đến là 6to4 tunneling và Teredo tunneling. Nếu phương pháp tunneling được sử dụng thì tất cả các thiết bị nhận phải được phép mở gói tin (decapsulation) do đó địa chỉ IPv4 hoặc IPv6 có thể bị giả mạo, tiềm ẩn nguy cơ bị tấn công DoS (Denial of Service) mà đối tượng là IPv6 node, IPv4 node hoặc cả hai. Vì vậy các khuyến nghị an ninh được đưa ra là:

– Tránh công nghệ chuyển đổi giữa IPv4 và IPv6, thay vào đó nên sử dụng dual-stack.

– Chỉ hệ thống được cấp quyền mới được phép làm điểm cuối của tunnel (tunnel end-point).

– Bảo mật tunnel bằng IPSec.

Lượt xem (922)

About Nguyễn Thanh Sơn

Nguyễn Thanh Sơn
Network Security, Web Design, Computer Science

Xem thêm

mohinh-juniper

Cấu hình mô hình mạng thực tế với thiết bị Juniper

  Tiếp tục với các bài viết cơ bản trên thiết bị Juniper, hôm nay …

Để lại bình luận:

Loading Facebook Comments ...

Leave a Reply

Your email address will not be published. Required fields are marked *