Khái niệm Pattern Matching trong An ninh mạng
Pattern Matching (Khớp mẫu) là kỹ thuật tìm kiếm một chuỗi ký tự/token/mẫu dữ liệu cụ thể trong tập dữ liệu lớn. Trong bảo mật mạng, đây là cốt lõi của các hệ thống phát hiện xâm nhập (IDS/IPS), tường lửa ứng dụng (WAF), và chống virus.
Ứng dụng chính trong bảo mật mạng
- NIDS/NIPS (Network Intrusion Detection/Prevention): So khớp signature tấn công đã biết (Snort rules, Suricata)
- Antivirus/EDR: So khớp chữ ký mã độc (signature-based detection)
- WAF (Web Application Firewall): Phát hiện SQLi, XSS, path traversal qua pattern
- DLP (Data Loss Prevention): Tìm số thẻ tín dụng, SSN, từ khóa nhạy cảm
- Log Analysis/SIEM: Correlation rule, regex parsing
Các thuật toán Pattern Matching phổ biến
| Thuật toán | Độ phức tạp | Ứng dụng |
|---|---|---|
| Naive / Brute Force | O(n*m) | Đơn giản, dữ liệu nhỏ |
| KMP (Knuth-Morris-Pratt) | O(n+m) | Tìm mẫu đơn, tiền xử lý pattern |
| Boyer-Moore | O(n/m) tốt nhất | Tìm kiếm văn bản, grep |
| Aho-Corasick | O(n + m + z) | Đa mẫu (multi-pattern) - IDS/IPS, AV |
| Commentz-Walter | Kết hợp BM + AC | Đa mẫu, hiệu quả cao |
| Regex Engine (NFA/DFA) | Tuỳ biểu thức | WAF, log parsing, DLP |