Thanks Bram.  I've opened a bug to address this.<br><br>Russ<div><br><div class="gmail_quote">On Fri, Aug 16, 2013 at 7:46 AM, Bram <span dir="ltr"><<a href="mailto:bram-fabeg@...3414..." target="_blank">bram-fabeg@...3414...</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
<br>
Currently the HTTP Preprocessor fails to detect websockets (see - <a href="http://www.websocket.org" target="_blank">http://www.websocket.org</a> )<br>
This causes snort to produce the alert 'HI_CLIENT_UNKNOWN_METHOD'.<br>
<br>
Attached are two dumps, both dumps were created using <a href="http://www.websocket.org/echo.html" target="_blank">http://www.websocket.org/echo.<u></u>html</a> but with different versions of chrome (with different versions of the websocket protocol)<br>

<br>
Config:<br>
        dynamicpreprocessor directory /usr/lib/snort_<u></u>dynamicpreprocessor/<br>
        preprocessor stream5_global: \<br>
           track_tcp yes, \<br>
           track_udp no, \<br>
           track_icmp no<br>
        preprocessor stream5_tcp: policy first, ports both 80<br>
<br>
        preprocessor http_inspect: global iis_unicode_map unicode.map 1252 compress_depth 65535 decompress_depth 65535<br>
        preprocessor http_inspect_server: server default \<br>
            http_methods { GET HEAD POST PUT SEARCH MKCOL COPY MOVE LOCK UNLOCK NOTIFY POLL BCOPY BDELETE BMOVE LINK UNLINK OPTIONS HEAD DELETE TRACE TRACK CONNECT SOURCE SUBSCRIBE UNSUBSCRIBE PROPFIND PROPPATCH BPROPFIND BPROPPATCH RPC_CONNECT PROXY_SUCCESS BITS_POST CCM_POST SMS_POST RPC_IN_DATA RPC_OUT_DATA RPC_ECHO_DATA } \<br>

            chunk_length 500000 \<br>
            server_flow_depth 0 \<br>
            client_flow_depth 0 \<br>
            post_depth 65495 \<br>
            oversize_dir_length 500 \<br>
            max_header_length 4096 \<br>
            max_headers 100 \<br>
            max_spaces 0 \<br>
            small_chunk_length { 10 5 } \<br>
            ports { 80 } \<br>
            non_rfc_char { 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 } \<br>
            enable_cookie \<br>
            extended_response_inspection \<br>
            inspect_gzip \<br>
            normalize_utf \<br>
            unlimited_decompress \<br>
            normalize_javascript \<br>
            apache_whitespace no \<br>
            ascii no \<br>
            bare_byte no \<br>
            directory no \<br>
            double_decode no \<br>
            iis_backslash no \<br>
            iis_delimiter no \<br>
            iis_unicode no \<br>
            multi_slash no \<br>
            utf_8 no \<br>
            u_encode yes \<br>
            webroot no<br>
<br>
        alert ( msg: "HI_CLIENT_UNKNOWN_METHOD"; sid: 31; gid: 119; rev: 1; metadata: rule-type preproc ; )<br>
<br>
        output alert_fast: stdout<br>
<br>
Running it shows:<br>
        $ snort -v -l /var/log -c /etc/ips/snort.conf --daq-dir /lib/daq/ -r /tmp/websocket_A.cap 2>&1 | grep '119:'<br>
        08/12-15:57:18.473363  [**] [119:31:1] (http_inspect) UNKNOWN METHOD [**] [Priority: 0] {TCP} <a href="http://10.10.1.1:44486" target="_blank">10.10.1.1:44486</a> -> <a href="http://174.129.224.73:80" target="_blank">174.129.224.73:80</a><br>

<br>
        $ snort -v -l /var/log -c /etc/ips/snort.conf --daq-dir /lib/daq/ -r /tmp/websocket_B.cap 2>&1 | grep '119:'<br>
        08/16-14:08:07.908889  [**] [119:31:1] (http_inspect) UNKNOWN METHOD [**] [Priority: 0] {TCP} <a href="http://10.10.1.1:56727" target="_blank">10.10.1.1:56727</a> -> <a href="http://174.129.224.73:80" target="_blank">174.129.224.73:80</a><br>

<br>
<br>
While the 'UNKNOWN METHOD' alert is technically correct it would be better if a specific alert was added for the upgrade to websockets.<br>
In addition to that: after the switch to Websockets all further (HTTP) alerts should be disabled on the socket (since it's no longer HTTP)<br>
<br>
<br>
Best regards,<br>
<br>
Bram<br>
<br>
<br>
------------------------------<u></u>------------------------------<u></u>----<br>
This message was sent using IMP, the Internet Messaging Program.<br>
<br>
</blockquote></div><br></div>