Network Driver vs Network Security Driver
Cần phân biệt rõ hai khái niệm:
1. Network Driver (Driver card mạng) - Cấp hệ điều hành
- Phần mềm kernel-mode cho phép OS giao tiếp với card mạng (NIC): Ethernet, Wi-Fi, Bluetooth
- Chức năng: gửi/nhận frame, xử lý interrupt, offload (checksum, TSO, LRO, RSS)
- Ví dụ:
e1000e(Intel),ath9k(Atheros),iwlwifi(Intel Wi-Fi),virtio-net(VM) - Không có chức năng bảo mật vốn dĩ (chỉ chuyển gói tin)
2. Network Security Driver / Filter Driver - Cấp bảo mật
Là kernel-mode driver can thiệp vào luồng gói tin để thực thi chính sách bảo mật. Phổ biến trên Windows (NDIS/WFP), Linux (Netfilter/XDP/eBPF).
Các loại chính
| Loại | Cơ chế | Ví dụ sản phẩm |
|---|---|---|
| NDIS Filter Driver (Windows) | Chèn vào stack NDIS, intercept send/receive | Wireshark (NPcap), VPN client, EDR network filter |
| WFP Callout Driver (Windows Filtering Platform) | Đăng ký callout tại layer (ALE, Stream, Datagram) | Windows Firewall, Cisco AnyConnect, CrowdStrike, Defender for Endpoint |
| Netfilter Kernel Module (Linux) | Hook vào netfilter hooks (PREROUTING, FORWARD, POSTROUTING...) | iptables/nftables, Docker/Calico CNI, Falco, Cilium |
| XDP/eBPF (Linux) | Chạy chương trình eBPF tại driver NIC (pre-stack) | Cilium, Katran, Facebook BPF, Cloudflare L4LB |
| DPDK PMD (Poll Mode Driver) | Bypass kernel, user-space polling, zero-copy | Open vSwitch DPDK, VPP, testpmd, Suricata AF_PACKET |
Chức năng bảo mật điển hình
- Packet Filtering: Allow/Drop theo 5-tuple, app ID, user ID
- Deep Packet Inspection (DPI): Phân tích L7 (HTTP, DNS, TLS SNI, JA3 fingerprint)
- TLS Inspection: Decrypt/re-encrypt (cần CA tin cậy trên endpoint)
- Traffic Redirect: Chuyển gói tin sang sandbox, sensor, proxy
- Bandwidth/QoS Control: Throttle, prioritize
- Network Access Control (NAC): 802.1X supplicant, posture assessment
- VPN/Tunnel: IPsec, WireGuard, SSL VPN virtual adapter
Ví dụ thực tế: Windows Defender Firewall
- User mode:
mpssvc(Windows Firewall Service) quản lý rule - Kernel mode: WFP Callout Drivers (fwpuclnt.sys, tcpip.sys) enforce rule tại layer ALE_AUTH_CONNECT, ALE_FLOW_ESTABLISHED...
- EDR (CrowdStrike, SentinelOne): cài WFP callout + NDIS filter → xem full packet context + process ID
Linux: eBPF/XDP - Tương lai Network Security Driver
- Chạy bytecode an toàn trong kernel (verifier)
- XDP: Xử lý gói tin tại NIC driver (trước stack kernel) - cực nhanh (10M+ pps)
- tc-bpf: Classifier/eBPF tại qdisc (ingress/egress)
- Công cụ:
bcc,bpftrace,cilium,katran,pixie
Rủi ro bảo mật của Driver
- Kernel exploit → SYSTEM/root (CVE-2021-1732, CVE-2023-38606...)
- Driver không ký (unsigned) → test signing mode, dễ bị load malware
- Performance impact: latency, throughput drop nếu code kém
- Compatibility: Windows update break driver, kernel version mismatch Linux
Kết luận
"Network Security Driver" không phải driver card mạng. Là kernel security component (NDIS Filter, WFP Callout, Netfilter, eBPF/XDP) thực thi chính sách bảo mật tại tầng network stack. Xu hướng: eBPF/XDP trên Linux, WFP trên Windows.