Các tuỳ chọn luật là trái tim của hệ thống phát hiện xâm nhập Snort. Tất cả các tuỳ chọn Snort đƣợc tách biệt nhau bởi ký tự dấu „:‟. Từ khoá tuỳ chọn luật tách biệt với các đối số của nó bằng dấi „:‟
Các từ khoá:
msg – In một thông điệp ở các alert và các log gói tin
logt – Log gói tin tới một tên file ngƣời dùng muốn thay cho file output chuẩn
ttl – Kiểm tra giá trị trƣờng TTL của IP header
tos – Kiểm tra giá trị TOS của IP header.
id – Kiểm tra giá trị trƣờng ID phân mảnh của IP header theo giá trị cụ thể.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
fragbits – Kiểm tra bit phân mảnh của IP header.
dsize – Kiểm tra kích thƣớc tải tin của gói tin theo một giá trị.
flags – Kiểm tra các cờ TCP theo một giá trị cho trƣớc
seq – Kiểm tra trƣờng TCP sequence number theo một giá trị cho trƣớc
ack – Kiểm tra trƣờng TCP acknowlegement theo một giá trị cụ thể
window – Kiểm tra trƣờng TCP window theo giá trị cụ thể
itype – Kiểm tra trƣờng ICMP type theo một giá trị cụ thể
icode – Kiểm tra trƣờng ICMP code theo một giá trị
icmp_id – Kiểm tra trƣờng ICMP ECHO ID theo một giá trị
icmp_seq – Kiểm tra số hiệu ICMP ECHO sequence theo một giá trị
content – Tìm một mẫu trong tải tin của gói tin
content – lost – Tìm một tập các mẫu trong tải tin của gói tin
offset – Là một bổ sung cho tuỳ chọn content, đặt độ sâu tìm kiếm đối với một mẫu.
nocase – Tìm chuỗi content cho trƣớc không phân biệt chữ hoa chữ thƣờng.
sesion – Kết xuất thông tin lớp ứng dụng đối với một phiên cho trƣớc
rpc – Theo dõi các dịch vụ RPC đối với gọi thủ tục/ ứng dụng cụ thể.
resp – ứng phó chủ động ( ví dụ nhƣ khoá các kết nối)
react – ứng phó chủ động ( khoá websites)
reference – Các nhận dạng tấn công từ bên ngoài
sid – Số hiệu duyệt Snort
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
clastype – Xác địng phân lớp luật
priority – Xác định mức nghiêm ngặt của luật
uricontent – Tìm kiếm một mẫu trong phần URI của một gói tin
tag – Các actionlog cải tiến cho các luật
ip_proto – Giá trị theo thức của IP header
samip – Xác định nguồn và đích IP có giống nhau không
stateles – Hợp lệ không xem xét đến trạng thái luồng
regex – Tìm kiếm mẫu đại diện
byte_test – Kiểm tra mẫu là số
distance – Buộc so sánh mẫu tƣơng đối nhảy khoảng trống
within – buộc so sánh mẫu tƣơng đối nằm trong một số đếm
byte_jump – Kiểm tra mẫu số và điều chỉnh khoảng
2.3.3.1 Msg
Tuỳ chọn msg đƣa ra thông điệp cho phần cảnh báo và phần log để in cùng với một kế xuất gói tin đến cảnh báo. Nó là mỗi chuỗi văn bản đơn giản dùng “/” nhƣ là một ký tự trống để chỉ ra ký tự rời rạc nếu không có thể làm cho việc phân tích cú pháp Snort khó khăn.
Đinh dạng: msg: “ < message text>”
2.3.3.2 Logto
Tuỳ chọn logto yêu cầu Snort log tất cả các gói tin mà luật này tác động tới một file đầu ra đặc biệt. Điều này đặc biệt thuận tiện cho việc kết hợp dữ liệu từ những hoạt động nhƣ NMAP, quét HTTP CGI,... Nên lƣu ý rằng tuỳ chọn này không làm việc khi Snort đang ở trong log kiểu nhị phân.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
2.3.3.3 TTL
Tuỳ chọn này dùng để thiết lập một giá trị time-to-live cụ thể cho việc kiểm tra. Kiểm tra Snort thực hiện chỉ thành công khi có một mẫu đƣợc tìm chính xác. Từ khoá tuỳ chọn này đƣợc dành cho việc dùng trong việc phát hiện các cuộc tấn công traceroute
Định dạng: ttl: <number>’
2.3.3.4 TOS
Từ khoá tos cho phép kiểm tra trƣờng TOS phần mào đầu của gói tin IP theo một giá thị cụ thể. Kiểm tra Snort thực hiện chỉ thành công khi có một mẫu đƣợc tìm chính xác.
Định dạng: tos: < number >
2.3.3.5 ID
Từ khoá tuỳ chọn này đƣợc dùng để kiểm tra một mẫu chính xác trong trƣờng fragment ID của phần mào đầu IP. Một số công cụ hacking thiết đặc trƣờng này một cách đặc biệt cho các mục đích khác nhau, ví dụ, giá trị 31337 rất quen thuộc đối với nhiều hacker. Tuỳ chọn này có thể chống lại các hackers bằng việc đặt một luật đơn giản để kiểm tra.
Đinh dạng: id: <number>
2.3.3.6 Ipoption
Nếu các tuỳ chọn IP có mặt trong một gói tin, tuỳ chọn này sẽ tìm một tuỳ chọn cụ thể thực tế, ví dụ nhƣ định tuyến nguồn. Các đối số cho tuỳ chọn này là:
rr- Ghi lại đƣờng đi
eol – Kết thúc danh sách
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
ts – Time Stamp
sec – Tuỳ chọn bản mật IP
lsrr – Nới lỏng định tuyến nguồn
ssrr – Thắt chặn định tuyến nguồn
satid – Nhận dạng luồng
Định dạng: ipopts: option;
2.3.3.7 Fragbits
Luật này kiểm tra các bít phân mảnh và bit dành riêng trong IP header. Ba bit đó là Reserved Bit (RB), More Fragments (MF) và Don‟t Fragment (DF). Những bit này đƣợc kiểm tra theo các kết hợp khác nhau. Dùng cá giá trị sau cho mỗi bit cụ thể: * R – Reserved Bit, *D – DF bit, * M – MF bit.
Cũng có thể dùng các tuỳ chọn bổ sung để chỉ ra các tiêu chuẩn phù hợp về mặt logic cho các bit cụ thể: *+- cờ ALL, tìm trên các bit quy định và tất cả các bit khác * - cờ ANY, tìm trên các bit đƣợc quy định *! – cờ NOT, tìm trên các bit không đƣợc quy định.
Định dạng: fragbits: <bitvalues>
2.3.3.8 Dsize
Tuỳ chọn dsize đƣợc dùng để kiểm tra kích thƣớc phần tải tin của gói tin. Nó có thể đƣợc thiết lập với mọi giá trị cùng với việc dùng dấu lớn hơn, nhỏ hơn để chỉ ra phạm vi và các giới hạn. Ví dụ, nếu biết một dịch vụ nào đó có bộ đệm với kích thƣớc nhất định, có thể thiết đặt tuỳ chọn này để theo dõi các vụ tràn bộ đệm có chủ ý. Đây là cách nhanh hơn nhiều để kiểm tra việc tràn bộ đệm so với kiểm tra nội dung của tải tin.
Tuỳ chọn này có thể dùng để kiểm tra một phạm vi các giá trị. Ví dụ, dsize: 400<>500 sẽ tải về tất cả các gói tin có kích thƣớc từ 400 đến 500 byte
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Kiểm tra này luôn luôn trả về lõi đối với gói tin đƣợc xây dựng lại Định dạng: dsize: [<>] <nuinber> [<><number>]
Lƣu ý: Các toán tử „<‟ và „<‟ là tuỳ ý
2.3.3.9 Content
Từ khoá content cho phép ngƣời dùng thiết đặt các luật tìm kiếm những content cụ thể trong phần tải tin và kích hoạt các đáp trả dựa trên dữ liệu đó. Mỗi khi một tìm kiếm mẫu tuỳ chọn content đƣợc thực hiện, hàm tìm kiếm mẫu Boyer –Moore đƣợc gọi và kiểm tra đƣợc thực thi theo các content của gói tin. Nếu dữ liệu đúng với chuỗi dữ liệu mẫu ở bất cứ chỗ nào trong tải tin của gói tin, nếu kiểm tra thành công thì phần còn lại của các kiểm tra tuỳ chọn luật đƣợc thực hiện. Lƣu ý rằng kiểm tra có phân biệt chƣa hoa chữ thƣờng.
Dữ liệu tuỳ chọn cho từ khoá content hơi phức tạp, có thể chứa cả dữ liệu dạng text và dữ liệu nhị phân. Dữ liệu nhị phân đƣợc nằm trong dấu “/” và biểu diễn nhƣ bytecode.
Các ký tự sau không có ở bên trong một luật content: “: ; /”
Nếu luật này đƣợc đặt trƣớc bởi một dấu “!”, cảnh báo sẽ kích hoạt khi gói tin không chứa content này.
Định dạng: content : [!] “<content string>”
2.5.3.10 Nocase
Tuỳ chọn Nocase đƣợc dùng để bỏ tính năng phân biệt chữ hoa chữ thƣờng trong phần content.
Định dạng: nocase Ví dụ luật content với nocase:
alert tep any any -> 192.168.1.0/24 21 (content : “USER root”/ nocase; msg: “ FTP user access attemp”;)
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
2.3.3.11 Các cờ
Luật này kiểm tra các cờ TCP để so khớp. Các cờ đƣợc kiểm tra trong snort: -F, -S, -R, -P, -A, -U
Có các toán tử logic đƣợc dùng để quy định các chuẩn so sánh đối với các cờ đƣợc chỉ ra:
+ ALL flag, so sánh với tất cả các cờ.
• ANY flag, so sánh với các cờ không đƣợc quy định trong gói tin Các bit dự trữ có thể đƣợc dùng để phát hiện các ứng xử bất thƣờng, chẳng hạn nhƣ các tấn công in dấu chân stack IP hoặc các hoạt động đáng nghi khác.
Tuỳ chọn mask sẽ đƣợc quy định để xử lý việc viết luật cho các gói tin bắt đầu phiên nhƣ ECN ở đó một gói tin SYN đƣợc gửi với việc thiết lập trƣớc các bit dành riêng 12. Một luật có thể kiểm tra giá trị cờ S, 12 nếu muốn tìm các gói tin đồng bộ mà không quan tâm đến các giá trị của các bit dành riêng.
Định dạng: flags: < flag value> [mask value]
2.3.3.12 Seq
Tuỳ chọn này là số hiệu TCP sequence. Nó chỉ cần thiết khi gói tin có sequence đƣợc thiết lập tĩnh,và do đó tuỳ chọn này không đƣợc dùng nhiều
Định dạng: seq: <number>
2.3.3.13 Ack
Từ khoá tuỳ chọn luật ack là trƣờng acknowledge của phần mào đầu gói tin TCP. Luật này dùng để phát hiện NMAP [?,?] TCP pigs. Ping NMAP TCP thiết đặt trƣờng này bằng 0 và gửi một gói tin với thiết lập cờ TCP ACK này để xem một host trên mạng có active không.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Định dạng: ack: < number>
2.3.3.14 Window
Tuỳ chọn bày là kích thƣcớ cửa sổ TCP. Nó kiểm tra kích thƣớc của sổ tĩnh window
Định dạng: [!] <number>
2.3.3.15 Itype
Luật này kiểm tra giá trị TCMP type. Trƣờng này đƣợc thiết lập với giá trị số. Xem một số giá trị có trong file decode, hoặc bất cứ tham chiến ICMP nào. Lƣu ý rằng các giá trị này có thể đƣợc thiết lập ngoài phạm vi để phát hiện các giá trị ICMP type không hợp lệ thƣờng đƣợc dùng trong các cuộc tấn công flooding và tấn công từ chối dịch vụ.
Định dạng: itype: < number>
2.3.3.16 Icode
Tuỳ chọn này thiết lập một giá trị số và snort sẽ phát hiện bất cứ lƣu lƣợng nào dùng giá trị ICMP code. Các giá trị ngoài phạm vi có thể cũng đƣợc dùng để phát hiện các lƣu lƣợng đáng nghi.
Định dạng: icode <number>
2.3.3.17 Session
Từ khoá session đƣợc dùng để lấy dữ liệu của ngƣời dùng từ các phiên TCP. Nó cực kỳ hữu dụng để xem ngƣời dùng nào đang gõ trong các phiên telnet, rlogin hoặc thâm chí và web. Có hai từ khóa đối số sẵn có đối với tuỳ chọn luật session là pintable và all. Từ khoá printable chỉ in ra dữ liệu mà ngƣời dùng có thể đọc đƣợc hoặc có thể gõ đƣợc. Từ khoá all thay thế cho ccs ký tự không thể tin đƣợc bằng mã hexa tƣơng ứng. Chức năng này có thể làm snort chậm đáng kể, do đó nó thƣờng không đƣợc dùng khi tải trên mạng
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
nặng, và phù hợp nhất đối với các file log nhị phân xử lý sau (định dạng tepdump).
Định dạng: session: [printable / all]
2.3.3.18 Icmp-id
Tuỳ chọn icmp_id phân tích một số hiệu icmp id của gói tin icmp echo theo một giá trị cụ thể. Việc này có ích do một số chƣơng trình kênh ngầm dùng các trƣờng icmp tĩnh khi chúng trao đổi. Nó đƣợc dùng để phát hiện các vụ tấn công tiềm tàng.
Định dạng: icmp_ip <number>
2.3.3.19 icmp_seq
Tuỳ chọn icmp_seq phân tích trƣờng ICMP sequence của gói tin ICMP ECHO theo một giá trị cụ thể. Việc này có ích do có một số chƣơng trình ngầm dùng các trƣờng icmp tĩnh khi chúng trao đổi. Nó đƣợc dùng để phát hiện một số vụ tấn công tiềm tàng.
Định dạng: icmp_seq: <number>
2.3.3.20 Rpc
Tuỳ chọn này xem xét các yêu cầu RPC và tự động giải mã ứng dụng, thủ tục và phiên bản chƣơng trình, thành công khi cả ba biến này đƣợc khớp đúng. Dạng của gói tuỳ chọn này là ứng dụng, thủ tục, phiên bản. Các ký tự đại diện là hợp lệ đối với cả thủ tục và các số hiệu phiên bản và đƣợc chỉ ra với *
Định dạng: rpc: < number, [/*], [number/*]>;
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Từ khoá Classtype phân chia cảnh báo thành các loại tấn công. Ngƣời dùng có thể quy định mỗi phân lớp luật có mức độ nguy hiểm gì. Các luậth có một phân lớp sẽ có một quyền ƣu tiên mặc định.
Định dạng: Classtype: < class name>
Các phân lớp luật chuẩn nằm cùng với snort đƣa ra trong bảng sau. Ƣu tiên 1 (mức độ nguy hiểm cấp 1) là mức ƣu tiên cao nhất của tập luật mặc định và ƣu tiên 4 (mức độ nguy hiểm cấp thấp nhất) là ƣu tiên thấp nhất.
Classtype Description
attempted-admin Attempted Administrator Privilge Gain
attempted –user Attempted User Privilege Gain
shellcode –detect Exeeutable code was detected
successful-admin Successful Administrator Privilge Gain
successful -user Successful User Privilege Gain
trojan –activity A Network Trojan was detected
unsueeessful-user unsueeessful User Privilege Gain
web-application-attack Web Spplication Attack
Các phân lớp luật ưu tiên cao - Ưu tiên mức 1
2.3.3.22 Priority
Priority thể hiện mức nghiêm trọng của luật. Định dạng:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
attempted-dos Attempted Denial of Service
attempted – recon Attempted Information Leak
bad-unknown Potentially Bad Traffic
denial –of-service Detªtion of a Denial of Servicc Attack
misc – attack Misc Attack
non-standard-protocol Dtªtion of non standard protocol or event
rpc-portmap-decode Decode of an RPC Query
successful-dos Denial of Serviee
sueecssful-recon largescale Large Scale Information Leak
suspicious –filename –
detect A suspicius filename was detected
suspicious-login An attempted login using a suspicious username was detected
system –call-detect A system call was deteeted
unusual-client-port-
conneetion A client was using an unusual port
web-application-activity access to a potentially vulnerablc web application
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Từ khoá này cho phép các luật log nhiều hơn chỉ một gói tin do luật kích hoạt các lƣu lƣợng liênquan đến host nguồn bị “tag”. Nhƣng lƣu lƣợng này đƣợc log để phân tích các mã đáp trả và lƣu lƣợng sau tấn công.
Định dạng: tag: <type>. <count>. <metric>, [dirrection]
type
session – log các gói tin trong phiên mà luật thực hiện
host – log các gói tin từ host làm cho tag đƣợc kích hoạt ( dùng them từ khoá [direction]
count – Count đƣợc quy ƣớc là số đơn vị. Đơn vị đƣợc quy định trong
trƣờng metric.
metric
packets – taghost/session cho <count> gói tin
seconds – tag host/session cho <count> giây