Bài báo này mô tả một máy so trùng tên Cuckoo-based Pattern Matching (CPM) dựa trên một giải thuật hashing đã được phát triển gần đây gọi là Cuckoo Hashing. Chúng tôi hiện thực giải thuật này với những cải tiến song song hóa phù hợp cho việc so trùng nhiều mẫu có chiều dài khác nhau. | TAÏP CHÍ PHAÙT TRIEÅN KH&CN, TAÄP 14, SOÁ K2 - 2011 SO TRÙNG MẪU DỰA TRÊN CUCKOO HASHING ỨNG DỤNG CHO NIDS Trần Ngọc Thịnh Trường Đại học Bách khoa, ĐHQG-HCM (Bài nhận ngày 07 tháng 12 năm 2010, hoàn chỉnh sửa chữa ngày 20 tháng 04năm 2011) TÓM TẮT: Bài báo này mô tả một máy so trùng tên Cuckoo-based Pattern Matching (CPM) dựa trên một giải thuật hashing đã được phát triển gần đây gọi là Cuckoo Hashing. Chúng tôi hiện thực giải thuật này với những cải tiến song song hóa phù hợp cho việc so trùng nhiều mẫu có chiều dài khác nhau. CPM có khả năng cập nhật dữ liệu dễ dàng, nhanh chóng đồng thời chiếm ít tài nguyên phần cứng. Với khả năng xử lý song song lớn, speedup của CPM lên tới 128 lần khi so sánh với hiện thực Cuckoo nối tiếp. Khi so sánh với các hiện thực so trùng mẫu bằng phần cứng trước đây, CPM có hiệu suất vượt trội với việc tiêu hao phần cứng ít hơn 30%. Từ khóa: so trùng mẫu, Cuckoo hashing, FPGA. tra nội dung của gói dữ liệu (packet payload). 1. GIỚI THIỆU Hiện nay, các hình thức xâm nhập bất hợp pháp là một trong những mối đe dọa lớn nhất của bảo mật mạng. Sự xâm nhập ngày càng gia tăng bởi sự có sẵn rất nhiều các công cụ phá hoại (hacking) với độ phức tạp, tinh vi gia tăng theo thời gian, dễ dàng làm suy yếu các công cụ bảo mật cơ bản. Thông thường, hệ thống mạng được bảo vệ bởi tường lửa, cung cấp các chức năng cơ bản của của việc giám sát và lọc ở mức phần đầu gói (packet header). Tuy nhiên, không phải tất cả xâm nhập hiểm độc đều bị ngăn chặn. Điều này đòi hỏi những giải pháp tốt hơn cho bảo mật mạng. Vì vậy, hệ thống phát hiện/ngăn chặn xâm nhập mạng Một cách tổng quát, phần lớn NIDS tìm kiếm dựa trên một tập quy luật (rules) có sẵn. Những qui luật này thường bao gồm thông tin về TCP/IP header và thường có những mẫu (patterns) của các loại hình tấn công như worm, Trojan, Hiện tại, phần lớn NIDS chạy dưới dạng phần mềm và chúng chỉ có thể đón bắt và xử lý gói dữ liệu ở tốc độ tối đa là vài trăm Mbps. Ví dụ, Snort [1] là một NIDS mã nguồn