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 toà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.