<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7652.24">
<TITLE>Snort 2.7.0.1 Preprocessor Drop Patches</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/plain format -->

<P><FONT SIZE=2>The current testing version of Snort (2.8 branch) has a new mechanism to handle dropping of packets from the preprocessors. For StillSecure's upcoming Strata Guard and Cobia IPS release, we have been testing drop integration in the 2.7 branch of Snort using our own modifications.<BR>
<BR>
At this time we are still testing our method as well as the method in 2.8RC1, but wanted to offer it to the community. We feel there are some positives in the way we have implemented our dropping method, so we wanted to release the code early for possible adoption into the 2.x Snort branch and to give the community a chance to play with dropping in a different way in Snort 2.7.0.1.<BR>
<BR>
The development we have done has all preprocessor drops contained within each respective preprocessor section of code. There are 2 main benefits to this. One is there is a centralized configuration for each preprocessor. The configuration takes place as traditional preprocessor configuration does, with the use of keywords. This also allows the display of your drop parameters at startup, in each of the preprocessor startup sections. The second benefit is that this method allows fine granularity control over each preprocessor. With the current method from Snort 2.8, you add preproccessor rules that act as a global over the entire preprocessor. For example if you have several HTTP Inspect engines and wanted to drop IIS backslash from just one of the engines you could not do this in the current 2.8 method but could with the method we have developed.<BR>
<BR>
We are going to continue to test both the way we have implemented preprocessor drops as well as the method in Snort 2.8. At this point there is not an official Snort release that we will use with Strata Guard and Cobia and we will continue to test both methods to determine what will work best for our products and for the user.<BR>
<BR>
At the bottom of this email is a list of the available preprocessors for dropping with the keyword and meaning. I also sent this information as an attachment.<BR>
<BR>
Included with this email are patch's for each of the preprocessors. We also have a prepackaged tarball of all the modifications available at <A HREF="http://download.stillsecure.com/Cobia/src/">http://download.stillsecure.com/Cobia/src/</A> . Please send any comments, suggestions, issues or ideas to make it better to jebrahimi@...2280...<BR>
<BR>
<BR>
// Joel<BR>
<BR>
StillSecure<BR>
Joel Ebrahimi<BR>
Senior Software Engineer<BR>
<BR>
<BR>
<A HREF="http://www.stillsecure.com/">http://www.stillsecure.com/</A><BR>
The information transmitted is intended only for the person<BR>
to whom it is addressed and may contain confidential material.<BR>
Review or other use of this information by persons other than<BR>
the intended recipient is prohibited. If you've received<BR>
this in error, please contact the sender and delete<BR>
from any computer.<BR>
<BR>
<BR>
-------------------------------------------------<BR>
Frag3<BR>
-------------------------------------------------<BR>
<BR>
options                         description<BR>
--------------                  -----------<BR>
drop_ipoptions                  Drop inconsistent IP optionscd pr<BR>
drop_teardrop                   Drop Teardrop attack<BR>
drop_short_frag                 Drop short fragment, possible DOS<BR>
drop_anomaly_oversize           Drop packet after defragmented packet<BR>
drop_anomaly_zero               Drop zero byte fragmented packet<BR>
drop_anomaly_badsize_sm         Drop negative  size fragment<BR>
drop_anomaly_badsize_lg         Drop over sized fragment<BR>
drop_anomaly_ovlp               Drop fragmentation overlap<BR>
drop_ipv6_bsd_icmp_frag         Drop IPV6 BSD mbufs kernel overflow<BR>
drop_ipv6_bad_frag_pkt          Drop bogus fragmentation packet<BR>
<BR>
<BR>
<BR>
-------------------------------------------------<BR>
Stream5<BR>
-------------------------------------------------<BR>
<BR>
options                         description<BR>
--------------                  -----------<BR>
drop_syn_on_est                 Drop SYN on established packet<BR>
drop_data_on_syn                Drop data on SYN packet<BR>
drop_data_on_closed             Drop data sent on stream not accepting data<BR>
drop_bad_timestamp              Drop TCP Timestamp is outside of PAWS window<BR>
drop_bad_segment                Drop bad segment,overlap adjusted size <= 0<BR>
drop_window_too_large           Drop window size (after scaling) larger than policy allows<BR>
drop_excessive_tcp_overlaps     Drop when limit on the number of TCP packerts reached<BR>
drop_data_after_reset           Drop data after Reset packet<BR>
<BR>
<BR>
<BR>
-------------------------------------------------<BR>
HTTP Inspect<BR>
-------------------------------------------------<BR>
<BR>
options                         description<BR>
--------------                  -----------<BR>
drop_ascii                      Drop ASCII encoding<BR>
drop_double_decode              Drop double decoding attacks<BR>
drop_u_encode                   Drop U encoding<BR>
drop_bare_byte                  Drop bare byte unicode encoding<BR>
drop_base36                     Drop base36 encoding<BR>
drop_utf_8                      Drop utf-8 encoding<BR>
drop_iis_unicode                Drop IIS unicode codepoint encoding<BR>
drop_multi_slash                Drop multislash encoding<BR>
drop_iis_backslash              Drop IIS backslash evasion<BR>
drop_self_dir_trav              Drop  self directory traversal<BR>
drop_apache_ws                  Drop apache whitspace<BR>
drop_iis_delimeter              Drop IIS non-rfc delimeter<BR>
drop_non_rfc_char               Drop non-rfc character<BR>
drop_oversize_dir               Drop oversize request URI directory<BR>
drop_large_chunk                Drop oversize chunk encoding<BR>
drop_proxy_use                  Drop detected proxy use<BR>
drop_webroot_dir                Drop webroot directory traversal<BR>
<BR>
<BR>
<BR>
-------------------------------------------------<BR>
SMTP<BR>
-------------------------------------------------<BR>
<BR>
options                         description<BR>
--------------                  -----------<BR>
drop_obsolete_types             Drop Obsolete DNS RR Types<BR>
drop_experimental_types         Drop Experimental DNS RR Types<BR>
drop_rdata_overflow             Drop DNS Client rdata txt Overflow<BR>
<BR>
<BR>
<BR>
-------------------------------------------------<BR>
DNS<BR>
-------------------------------------------------<BR>
<BR>
options                         description<BR>
--------------                  -----------<BR>
drop_obsolete_types             Drop Obsolete DNS RR Types<BR>
drop_experimental_types         Drop Experimental DNS RR Types<BR>
drop_rdata_overflow             Drop DNS Client rdata txt Overflow<BR>
<BR>
<BR>
<BR>
-------------------------------------------------<BR>
FTP/Telnet<BR>
-------------------------------------------------<BR>
<BR>
Telnet Configuration:<BR>
options                         description<BR>
--------------                  -----------<BR>
drop_encrypted_traffic          Drop encrypted traffic<BR>
drop_ayt_overflow               Drop consecutive TELNET AYT commands beyond set threshold<BR>
drop_sb_no_se                   Drop TELENT subnegotiation begin command without subnegotiation end<BR>
<BR>
<BR>
FTP Global Configuration:<BR>
options                         description<BR>
--------------                  -----------<BR>
drop_evasive_telnet_cmd         Drop evasive TELNET CMD's on FTP command channel<BR>
drop_encrypted_traffic          Drop encrypted FTP traffic<BR>
<BR>
<BR>
FTP Client Configuration:<BR>
options                         description<BR>
--------------                  -----------<BR>
drop_telnet_cmd                 Drop TELNET CMD on FTP Command Channel<BR>
drop_long_response_parameters   Drop FTP response message that are too long<BR>
drop_bounce_attempt             Drop FTP bounce attempts<BR>
<BR>
<BR>
FTP Server Configuration:<BR>
options                         description<BR>
--------------                  -----------<BR>
drop_telnet_cmd                 Drop TELNET CMD on FTP Command Channel<BR>
drop_invalid_cmd                Drop invalid FTP Command<BR>
drop_long_cmd_parameters        Drop FTP command parameters that are too long<BR>
drop_malformed_parameters       Drop FTP command parameters were malformed<BR>
drop_string_format_parameters   Drop FTP command parameters that contain potential string format<BR>
<BR>
<BR>
<BR>
-------------------------------------------------<BR>
SSH<BR>
-------------------------------------------------<BR>
<BR>
options                         description<BR>
--------------                  -----------<BR>
drop_gobbles                    Drop Gobbles exploit<BR>
drop_ssh1crc32                  Drop SSH1 CRC32 exploit<BR>
drop_srvoverflow                Drop server version string overflow<BR>
drop_protomismatch              Drop protocol mismatch<BR>
drop_badmsgdir                  Drop bad message direction<BR>
drop_paysize                    Drop payload size incorrect for the given payload<BR>
drop_recognition                Drop failure to detect SSH version string<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
</FONT>
</P>

</BODY>
</HTML>