6. Bố cục của luận văn
2.3.1.3. Module phát hiện
Đây là module quan trọng nhất của Snort. Nó chịu trách nhiệm phát hiện các dấu hiệu xâm nhập. Module phát hiện sử dụng các luật đƣợc định nghĩa trƣớc để so sánh với dữ liệu thu thập đƣợc từ đó xác định xem có xâm nhập xảy ra hay không. Rồi tiếp theo mới có thể thực hiện một số công việc nhƣ ghi log, tạo thông báo và kết xuất thông tin.
Một module phát hiện có khả năng tách các phần của gói tin ra và áp dụng các luật lên từng phần nào của gói tin đó. Các phần đó có thể là:
+ IP header
+ Header ở tầng giao vận: TCP, UDP
+ Header ở tầng ứng dụng: DNS header, HTTP header, FTP header, … + Phần tải của gói tin (bạn cũng có thể áp dụng các luật lên các phần dữ liệu đƣợc truyền đi của gói tin)
Một vấn đề trong Module phát hiện đó là việc xử lý thế nào khi một gói tin bị phát hiện bởi nhiều luật. Do các luật trong Snort cũng đƣợc đánh thứ tự ƣu tiên, nên một gói tin khi bị phát hiện bởi nhiều luật khác nhau, cảnh báo đƣợc đƣa ra sẽ là cảnh báo ứng với luật có mức ƣu tiên lớn nhất.
Sau khi đƣợc xử lý bởi module tiền xử lý, gói tin đƣợc chuyển vào module phát hiện. Module phát hiện giống nhƣ một module tiền xử lý và nó là module tiền xử lý đƣợc sử dụng cuối cùng. Nhiệm vụ của module phát hiện là đánh giá gói tin dựa vào các rule có sẵn trong Snort.
Để làm điều này Snort sử dụng một rule tree có nghĩa là gói tin đƣợc so sánh dựa vào RTN (Rule Tree Node), nếu một RTN đƣợc thỏa mãn nó sẽ tìm tiếp trong
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ các danh sách của các OTN (Opt Tree Node). Quy trình tiếp tục cho đến khi Snort tìm đến hết rule tree.
RTN xử lý dữ liệu dựa trên rule header, OTN xử lý dữ liệu dựa trên rule option. Mặc dù vẫn sử dụng chức năng tìm theo danh sách cho chức năng đánh giá và phát hiện các gói tin. Nhƣng Snort không còn dùng cây của các OTN nữa. Thay vào đó Snort dùng fast pattern matcher, fast pattern matcher xác định một tập hợp các OTN và OTN nào sẽ đƣợc đánh giá. Sau đó Snort kiểm tra từng OTN và xắp xếp thành một hằng đợi gồm các OTN đã khớp với nội dung trong gói tin.