b. Hạn chế của việc dùng Policy-Based IPS.
2.1.4.3. Detection Engine (bộ phận kiểm tra)
Detection Engine là bộ phận quan trọng nhất của Snort. Trách nhiệm của nó là phát hiện bất kì dấu hiệu tấn cơng nào tồn tại trong gói tin bằng cách sử dụng các rule để đối chiếu với thơng tin trong gói tin. Nếu gói tin là phù hợp với rule, hành
động thích hợp được thực hiện
Hiệu suất hoạt động của bộ phận này phụ thuộc các yếu tố như: Số lượng rule, cấu hình máy mà Snort đang chạy, tốc độ bus sử dụng cho máy Snort, lưu
lượng mạng.
Detection Engine có thể phân chia gói tin và áp dụng rule cho các phần khác nhau của gói tin. Các phần đó có thể là:
· Phần IP header của gói tin
· Phần header của tần transport: Đây là phần tiêu đề bao gồm TCP, UDP hoặc các header của tầng transport khác. Nó cũng có thể làm việc với header của ICMP.
· Phần header của các lớp ứng dụng: Bao gồm header của lớp ứng dụng, nhưng không giới hạn, DNS header, FTP header, SNMP header, và SMTP
header.
· Packet payload: Có nghĩa là có thể tạo ra rule được sử dụng bởi detection engine để tìm kiếm một chuỗi bên trong dữ liệu của gói tin.
Bộ phận này hoạt động theo hai cách khác nhau theo hai phiên bản của Snort.
· Phiên bản 1.x: Việc xử lý gói tin cịn hạn chế trong trường hợp các dấu hiệu
trong gói tin đó phù hợp với dấu hiệu trong nhiều rule. Khi đó nếu có rule nào được áp dụng trước thì các rule cịn lại sẽ bị bỏ qua mặc dù các rule có
độ ưu tiên khác nhau. Như vậy sẽ nảy sinh trường hợp các rule có độ ưu tiên cao hơn bị bỏ qua.
· Phiên bản 2.x: Nhược điểm trên của phiên bản 1.x được khắc phục hoàn
toàn nhờ vào cơ chế kiểm tra trên tồn bộ rule. Sau đó lấy ra rule có độ ưu tiên cao nhất để tạo thông báo.
Tốc độ của phiên bản 2.x nhanh hơn rất nhiều so với phiên bản 1.x nhờ phiên
bản 2.x được biên dịch lại.