]> git.ipfire.org Git - thirdparty/suricata.git/log
thirdparty/suricata.git
7 years agounified2: address strict aliasing issue 3334/head
Victor Julien [Wed, 4 Apr 2018 11:49:35 +0000 (13:49 +0200)] 
unified2: address strict aliasing issue

7 years agodecode/ipv6: expose addr as 'struct in6_addr' as well
Victor Julien [Wed, 4 Apr 2018 11:28:29 +0000 (13:28 +0200)] 
decode/ipv6: expose addr as 'struct in6_addr' as well

7 years agomingw: minor compile warning fixes
Victor Julien [Wed, 4 Apr 2018 10:43:17 +0000 (12:43 +0200)] 
mingw: minor compile warning fixes

7 years agotests/detect-engine-hsbd: deinit det_ctx threads
Giuseppe Longo [Tue, 3 Apr 2018 08:45:34 +0000 (10:45 +0200)] 
tests/detect-engine-hsbd: deinit det_ctx threads

7 years agodetect-engine: free events
Giuseppe Longo [Tue, 3 Apr 2018 08:44:42 +0000 (10:44 +0200)] 
detect-engine: free events

Events are stored in a detection engine but actually
they are not freed.

7 years agosmb: use inspect API v2 for smb keywords
Victor Julien [Sun, 1 Apr 2018 10:33:10 +0000 (12:33 +0200)] 
smb: use inspect API v2 for smb keywords

Simplies code and supports transforms.

7 years agompm/hs: fix minor coverity warning 3331/head
Victor Julien [Tue, 3 Apr 2018 10:10:46 +0000 (12:10 +0200)] 
mpm/hs: fix minor coverity warning

CID 1428797 (#1 of 1): Unchecked return value (CHECKED_RETURN)
    check_return: Calling HashTableAdd without checking return value
    (as is done elsewhere 5 out of 6 times).

7 years agoconfigure: fix small issue with libevent check
Victor Julien [Tue, 3 Apr 2018 10:06:37 +0000 (12:06 +0200)] 
configure: fix small issue with libevent check

7 years agodoc: add lua directory to Makefile
Eric Leblond [Tue, 3 Apr 2018 09:09:55 +0000 (11:09 +0200)] 
doc: add lua directory to Makefile

7 years agodoc/lua: small update to the usage intro
Victor Julien [Tue, 3 Apr 2018 08:13:43 +0000 (10:13 +0200)] 
doc/lua: small update to the usage intro

7 years agodoc: document lua function about flow var
Eric Leblond [Fri, 16 Feb 2018 08:22:35 +0000 (09:22 +0100)] 
doc: document lua function about flow var

7 years agodoc: add a lua support top level section
Eric Leblond [Fri, 16 Feb 2018 07:52:51 +0000 (08:52 +0100)] 
doc: add a lua support top level section

Both output and signature are using lua. So lua functions should
be displayed in a single section.

7 years agodoc: document lua TLS functions
Eric Leblond [Thu, 15 Feb 2018 11:32:45 +0000 (12:32 +0100)] 
doc: document lua TLS functions

7 years agodoc: minor updates (tls custom, TODO removal, ftp/smb file rules)
Pascal Delalande [Sat, 31 Mar 2018 16:20:16 +0000 (18:20 +0200)] 
doc: minor updates (tls custom, TODO removal, ftp/smb file rules)

7 years agodetect/pktvar: clean up keyword parsing
Victor Julien [Fri, 30 Mar 2018 11:36:59 +0000 (13:36 +0200)] 
detect/pktvar: clean up keyword parsing

7 years agodoc: add ntlmssp, kerberos and other setup fields
Victor Julien [Fri, 30 Mar 2018 08:24:33 +0000 (10:24 +0200)] 
doc: add ntlmssp, kerberos and other setup fields

7 years agolua output: Update example script to match style of user doc examples
Richard Sailer [Fri, 16 Mar 2018 17:34:43 +0000 (18:34 +0100)] 
lua output: Update example script to match style of user doc examples

7 years agolua output doc: Use more descriptive variable names in the examples
Richard Sailer [Fri, 16 Mar 2018 17:43:15 +0000 (18:43 +0100)] 
lua output doc: Use more descriptive variable names in the examples

This also removes the "args" parameter of the hooking functions in the examples,
since this parameter is unused in all functions.
It would not be very helpful anyways since 3 of the 4 functions don't get passed
any parameters. The only exception is init() which gets a table containing:
  script_api_ver = 1

7 years agolua output doc: Add explaining introduction text
Richard Sailer [Fri, 16 Mar 2018 17:39:07 +0000 (18:39 +0100)] 
lua output doc: Add explaining introduction text

7 years agodoc: fix json formatting in smb doc
Victor Julien [Fri, 30 Mar 2018 07:29:48 +0000 (09:29 +0200)] 
doc: fix json formatting in smb doc

7 years agoPrint syslog format with SCLogDebug() instead of printf()
Alexander Gozman [Thu, 29 Mar 2018 15:55:52 +0000 (15:55 +0000)] 
Print syslog format with SCLogDebug() instead of printf()

7 years agoapp-layer-ssl: remove possibility to overflow HAS_SPACE macro
Mats Klepsland [Wed, 28 Mar 2018 21:26:20 +0000 (23:26 +0200)] 
app-layer-ssl: remove possibility to overflow HAS_SPACE macro

7 years agoapp-layer-ssl: really fix CID 1433623 3323/head
Mats Klepsland [Thu, 29 Mar 2018 15:57:42 +0000 (17:57 +0200)] 
app-layer-ssl: really fix CID 1433623

7 years agodoc: initial smb eve documentation 3321/head
Victor Julien [Thu, 29 Mar 2018 14:20:22 +0000 (16:20 +0200)] 
doc: initial smb eve documentation

7 years agodoc: add by_either to suppress explanation
Victor Julien [Thu, 29 Mar 2018 13:31:47 +0000 (15:31 +0200)] 
doc: add by_either to suppress explanation

7 years agodoc: add smb section to yaml
Victor Julien [Thu, 29 Mar 2018 13:13:35 +0000 (15:13 +0200)] 
doc: add smb section to yaml

7 years agodoc: minor fix
Victor Julien [Thu, 29 Mar 2018 13:13:18 +0000 (15:13 +0200)] 
doc: minor fix

7 years agoapp-layer-ssl: fix use-after-free (CID 1433623)
Mats Klepsland [Wed, 28 Mar 2018 20:29:15 +0000 (22:29 +0200)] 
app-layer-ssl: fix use-after-free (CID 1433623)

Ja3BufferAddValue frees the buffer on error, so there is no point
in doing it twice (use-after-free).

7 years agoapp-layer-ssl: fix use-after-free (CID 14336229)
Mats Klepsland [Wed, 28 Mar 2018 20:25:46 +0000 (22:25 +0200)] 
app-layer-ssl: fix use-after-free (CID 14336229)

Nullify JA3 buffer on free to avoid use-after-free vulnerability.

7 years agotls: work around coverity warnings
Victor Julien [Wed, 28 Mar 2018 13:24:18 +0000 (15:24 +0200)] 
tls: work around coverity warnings

7 years agodoc: add SMB to file extraction. Minor improvements.
Victor Julien [Thu, 29 Mar 2018 11:09:26 +0000 (13:09 +0200)] 
doc: add SMB to file extraction. Minor improvements.

7 years agodoc: update suricata-update screenshot
Victor Julien [Thu, 29 Mar 2018 11:06:31 +0000 (13:06 +0200)] 
doc: update suricata-update screenshot

7 years agodoc: improve suricata-update docs now that its bundled
Victor Julien [Thu, 29 Mar 2018 08:15:34 +0000 (10:15 +0200)] 
doc: improve suricata-update docs now that its bundled

7 years agodoc: improve making sense of alerts
Victor Julien [Thu, 29 Mar 2018 08:01:50 +0000 (10:01 +0200)] 
doc: improve making sense of alerts

7 years agodoc: add suricata-update to intro for rules
Victor Julien [Wed, 28 Mar 2018 19:37:44 +0000 (21:37 +0200)] 
doc: add suricata-update to intro for rules

7 years agoBug #2466: map SC_LOG_CONFIG level to syslogs LOG_DEBUG 3317/head
Alexander Gozman [Mon, 26 Mar 2018 14:14:48 +0000 (14:14 +0000)] 
Bug #2466: map SC_LOG_CONFIG level to syslogs LOG_DEBUG

7 years agosuricatasc: move lib to suricata.sc
Jason Ish [Mon, 26 Mar 2018 13:55:10 +0000 (07:55 -0600)] 
suricatasc: move lib to suricata.sc

Pull the sc python package under the suricata top level
package. A suricatasc package still exists for compatibility
that pulls in suricata.sc.

7 years agosuricatasc: allow to run from non-standard python locations
Jason Ish [Mon, 26 Mar 2018 13:49:17 +0000 (07:49 -0600)] 
suricatasc: allow to run from non-standard python locations

When we install to a non-standard prefix, the Python modules
are not in the standard location requiring the PYTHONPATH
to be fixed up.

This wa a pre-existing issue with suricatasc, and not due to
the move into the python directory.

7 years agosuricatasc: move into python/
Jason Ish [Mon, 26 Mar 2018 13:38:54 +0000 (07:38 -0600)] 
suricatasc: move into python/

Will be built and installed as part of the Python code used
for suricatactl, which is intended to be the generic place
for all Python utility code that gets installed with Suricata.

No change to suricatasc code.

7 years agoapp-layer-ssl: use BIT_U32 for flags
Mats Klepsland [Thu, 22 Mar 2018 12:27:00 +0000 (13:27 +0100)] 
app-layer-ssl: use BIT_U32 for flags

7 years agoapp-layer-tls-handshake: remove since it is no longer needed
Mats Klepsland [Thu, 22 Mar 2018 11:56:22 +0000 (12:56 +0100)] 
app-layer-tls-handshake: remove since it is no longer needed

Remove this file and all its content, since the functionality
was reimplemented in app-layer-ssl.

7 years agoapp-layer-ssl: reimplement function for decoding certificates
Mats Klepsland [Wed, 21 Mar 2018 22:29:01 +0000 (23:29 +0100)] 
app-layer-ssl: reimplement function for decoding certificates

Do a complete rewrite of the function for decoding the SSL/TLS
certificate from the handshake.

7 years agotls: replace variable in header file with TAILQ_EMPTY()
Mats Klepsland [Thu, 22 Mar 2018 12:17:17 +0000 (13:17 +0100)] 
tls: replace variable in header file with TAILQ_EMPTY()

Use TAILQ_EMPTY to check if a certificate exists instead of
setting two variables in the app-layer-ssl header file for
that purpose only.

7 years agosmb: minor optimizations
Victor Julien [Tue, 27 Mar 2018 08:31:28 +0000 (10:31 +0200)] 
smb: minor optimizations

7 years agorust: remove multi level 'experimental' 3315/head
Victor Julien [Mon, 26 Mar 2018 09:50:58 +0000 (11:50 +0200)] 
rust: remove multi level 'experimental'

Don't treat 'external' parsers as more experimental. All parsers
depend on crates to some extend, and all have C glue code. So the
distinction doesn't really make sense.

7 years agoIKEv2: Use JSON arrays instead of comma-separated values
Pierre Chifflier [Thu, 15 Mar 2018 13:06:08 +0000 (14:06 +0100)] 
IKEv2: Use JSON arrays instead of comma-separated values

7 years agoIKEv2: suppress some debug output
Pierre Chifflier [Thu, 15 Mar 2018 07:27:17 +0000 (08:27 +0100)] 
IKEv2: suppress some debug output

7 years agoIKEv2: remove events counter
Pierre Chifflier [Tue, 13 Mar 2018 12:24:38 +0000 (13:24 +0100)] 
IKEv2: remove events counter

7 years agoAdd ikev2 to userguide
Pierre Chifflier [Tue, 6 Mar 2018 07:03:11 +0000 (08:03 +0100)] 
Add ikev2 to userguide

7 years agoRemove the 'experimental' mark for IKEv2
Pierre Chifflier [Fri, 2 Mar 2018 18:35:49 +0000 (19:35 +0100)] 
Remove the 'experimental' mark for IKEv2

7 years agoIKEv2 logger: use Debug trait for IkePayloadType
Pierre Chifflier [Fri, 2 Mar 2018 16:44:06 +0000 (17:44 +0100)] 
IKEv2 logger: use Debug trait for IkePayloadType

7 years agoAdd logger for IKEv2
Pierre Chifflier [Fri, 2 Mar 2018 08:20:33 +0000 (09:20 +0100)] 
Add logger for IKEv2

7 years agoAdd rules for IKEv2 events
Pierre Chifflier [Fri, 2 Mar 2018 21:16:48 +0000 (22:16 +0100)] 
Add rules for IKEv2 events

7 years agoAdd new parser: IKEv2
Pierre Chifflier [Wed, 31 Jan 2018 07:13:41 +0000 (08:13 +0100)] 
Add new parser: IKEv2

Add a new parser for Internet Key Exchange version (IKEv2), defined in
RFC 7296.
The IKEv2 parser itself is external. The embedded code includes the
parser state and associated variables, the state machine, and the
detection code.

The parser looks the first two messages of a connection, and analyzes
the client and server proposals to check the cryptographic parameters.

7 years agoRust: fix prototype of parsing function (make pstate mutable)
Pierre Chifflier [Mon, 15 Jan 2018 21:52:39 +0000 (22:52 +0100)] 
Rust: fix prototype of parsing function (make pstate mutable)

7 years agoRust: expose function AppLayerParserStateSetFlag
Pierre Chifflier [Mon, 15 Jan 2018 21:51:39 +0000 (22:51 +0100)] 
Rust: expose function AppLayerParserStateSetFlag

7 years agoconfigure: allow to disable libnss and libnspr
Renato Botelho [Thu, 22 Mar 2018 14:02:42 +0000 (11:02 -0300)] 
configure: allow to disable libnss and libnspr

Let user chose to disable libnss and libnspr support even if these
libraries are installed in the system. Default remains to enable when
libraries are found and disable parameter were not used

7 years agonfs/rpc: fix reponse parsing
Victor Julien [Wed, 21 Mar 2018 14:50:11 +0000 (15:50 +0100)] 
nfs/rpc: fix reponse parsing

7 years agoauth/krb5: move kerberos5 wrapper to rust root
Victor Julien [Tue, 20 Mar 2018 08:29:41 +0000 (09:29 +0100)] 
auth/krb5: move kerberos5 wrapper to rust root

Make it available outside of just the SMB parser.

7 years agosmb: clean up partial read/write record handling
Victor Julien [Sat, 24 Mar 2018 15:17:20 +0000 (16:17 +0100)] 
smb: clean up partial read/write record handling

7 years agosmb: improve skip handling
Victor Julien [Sat, 24 Mar 2018 09:30:26 +0000 (10:30 +0100)] 
smb: improve skip handling

When skipping records the skip tracker could underflow if the record
parsing had more data than expected.

Enforce the calculation by moving it into a method and make the actual
fields private.

7 years agosmb2: improve read/write record parsing
Victor Julien [Sat, 24 Mar 2018 09:15:52 +0000 (10:15 +0100)] 
smb2: improve read/write record parsing

parse_smb2_response_read()/parse_smb2_response_write() can be called on
incomplete data, so they didn't use the read/write length field to grab
the data field. Instead it just used rest(). However in some cases
SMB2 records have trailing data, which would be included in the
READ/WRITE data.

This patch addresses this by using the length field if enough data is
available.

7 years agochangelog: update for 4.1.0-beta1 suricata-4.1.0-beta1
Victor Julien [Thu, 22 Mar 2018 10:23:34 +0000 (11:23 +0100)] 
changelog: update for 4.1.0-beta1

7 years agodoc: fix http_header_names example
Victor Julien [Tue, 13 Feb 2018 10:41:33 +0000 (11:41 +0100)] 
doc: fix http_header_names example

7 years agothreshold: don't touch globals after init 3305/head
Victor Julien [Wed, 21 Mar 2018 18:29:30 +0000 (19:29 +0100)] 
threshold: don't touch globals after init

Don't free/reinit pcre globals per tenant. Others may be using them
at the same time, or try to free/reinit them at the same time.

7 years agodetect-tls-sni: use *_Register2 API functions 3304/head
Mats Klepsland [Fri, 16 Mar 2018 21:39:17 +0000 (22:39 +0100)] 
detect-tls-sni: use *_Register2 API functions

Use *_Register2 API functions when registering 'tls_sni' detection
keyword.

7 years agodetect-tls-cert-serial: use *_Register2 API functions
Mats Klepsland [Fri, 16 Mar 2018 21:17:34 +0000 (22:17 +0100)] 
detect-tls-cert-serial: use *_Register2 API functions

Use *_Register2 API functions when registering 'tls_cert_serial'
detection keyword.

7 years agodetect-tls-cert-subject: use *_Register2 API functions
Mats Klepsland [Fri, 16 Mar 2018 21:08:03 +0000 (22:08 +0100)] 
detect-tls-cert-subject: use *_Register2 API functions

Use *_Register2 API functions when registering 'tls_cert_subject'
detection keyword.

7 years agodetect-tls-cert-issuer: use *_Register2 API functions
Mats Klepsland [Fri, 16 Mar 2018 21:00:19 +0000 (22:00 +0100)] 
detect-tls-cert-issuer: use *_Register2 API functions

Use *_Register2 API functions when registering 'tls_cert_issuer'
detection keyword.

7 years agodetect-tls-cert-fingerprint: use *_Register2 API functions
Mats Klepsland [Fri, 16 Mar 2018 20:48:25 +0000 (21:48 +0100)] 
detect-tls-cert-fingerprint: use *_Register2 API functions

Use *_Register2 API functions when registering 'tls_cert_fingerprint'
detection keyword.

7 years agonfs/rpc: improve RPCv2 parser, add GssApi
Victor Julien [Tue, 20 Mar 2018 07:27:24 +0000 (08:27 +0100)] 
nfs/rpc: improve RPCv2 parser, add GssApi

Improve RPCv2 credentials parsing. Add GssApi and turn creds into
an enum.

Minor cleanups and optimizations.

7 years agonfs: minor cleanup
Victor Julien [Sat, 17 Mar 2018 21:17:41 +0000 (22:17 +0100)] 
nfs: minor cleanup

7 years agoprelude: swap msg and class_msg in Prelude alert
Antoine LUONG [Wed, 21 Feb 2018 17:48:26 +0000 (18:48 +0100)] 
prelude: swap msg and class_msg in Prelude alert

7 years agoprelude: fix duplicated analyzer in Prelude alert
Antoine LUONG [Tue, 20 Feb 2018 15:36:13 +0000 (16:36 +0100)] 
prelude: fix duplicated analyzer in Prelude alert

7 years agopcap/file: fix missing files stopping engine #2451
Danny Browning [Tue, 27 Feb 2018 15:46:24 +0000 (08:46 -0700)] 
pcap/file: fix missing files stopping engine #2451

https://redmine.openinfosecfoundation.org/issues/2451

When a missing (or empty named) file is passed to source-pcap-file while
using unix socket, the pcap processing thread will incorrectly be stopped,
and no longer available for subsequent files.

7 years agorules: optimize bidir rules with same src/dst
Alexander Gozman [Sun, 21 Jan 2018 11:21:40 +0000 (11:21 +0000)] 
rules: optimize bidir rules with same src/dst

As an optimization, reset bidirectional flag for rules with same src and dst.
If one created bidirectional rule like 'alert tcp any any <> any any ...',
the rule was checked twice (for each packet in every direction). This is
suboptimal and may give duplicated alerts. To avoid this, bidirectional
rules are now checked for the same src and dst (addresses and ports) and
if it's the case, the rule is treated as unidirectional and a corresponding
message is logged.

7 years agodoc: fix typo in unix socket doc
Eric Leblond [Tue, 20 Mar 2018 21:15:27 +0000 (22:15 +0100)] 
doc: fix typo in unix socket doc

Also fixes a dead link to code.

7 years agodoc: more info on unix socket rule reload
Eric Leblond [Tue, 20 Mar 2018 21:06:19 +0000 (22:06 +0100)] 
doc: more info on unix socket rule reload

7 years agodoc: fix typo in ebpf xdp doc
Eric Leblond [Tue, 20 Mar 2018 20:55:59 +0000 (21:55 +0100)] 
doc: fix typo in ebpf xdp doc

7 years agosuricata.yaml: fix some spelling mistakes
Eric Leblond [Tue, 20 Mar 2018 20:04:20 +0000 (21:04 +0100)] 
suricata.yaml: fix some spelling mistakes

7 years agoder: don't overwrite errcode 3297/head
Victor Julien [Tue, 20 Mar 2018 14:49:00 +0000 (15:49 +0100)] 
der: don't overwrite errcode

If the code has already been set it is more detailed than the more
generic 'invalid object'.

7 years agosuricata-update: bundle suricata update
Jason Ish [Wed, 31 Jan 2018 21:42:42 +0000 (15:42 -0600)] 
suricata-update: bundle suricata update

Add autoconf/automake support for installing suricata-update
if found in the top level suricata-update.

7 years agoconf: user-configurable umask setting
Mats Klepsland [Tue, 21 Feb 2017 11:06:17 +0000 (12:06 +0100)] 
conf: user-configurable umask setting

Make umask user-configurable by setting 'umask' in suricata.yaml.

7 years agoDER parser: ensure errcode is set for every return path
Pierre Chifflier [Thu, 1 Mar 2018 17:58:41 +0000 (18:58 +0100)] 
DER parser: ensure errcode is set for every return path

7 years agoDER parser: fix undefined behaviors and add missing length tests
Pierre Chifflier [Thu, 15 Feb 2018 14:00:35 +0000 (15:00 +0100)] 
DER parser: fix undefined behaviors and  add missing length tests

Fix several undefined behaviors, caused by possible use or read of
uninitialized memory.

7 years agostream-tcp: add counters for midstream pickups
Antti Tönkyrä [Mon, 19 Mar 2018 10:18:56 +0000 (12:18 +0200)] 
stream-tcp: add counters for midstream pickups

If midstream pickups are enabled this will help in discovering how
many midstream pickups are being done by Suricata.

7 years agodoc: add JA3 fields to the TLS logger documentation
Mats Klepsland [Thu, 28 Dec 2017 21:45:50 +0000 (22:45 +0100)] 
doc: add JA3 fields to the TLS logger documentation

7 years agoeve: add JA3 fields to TLS JSON logger
Mats Klepsland [Thu, 28 Dec 2017 21:40:27 +0000 (22:40 +0100)] 
eve: add JA3 fields to TLS JSON logger

Add JA3 object to TLS JSON logger (extended log).

7 years agodoc: add documentation for Ja3GetString Lua function
Mats Klepsland [Thu, 28 Dec 2017 20:51:44 +0000 (21:51 +0100)] 
doc: add documentation for Ja3GetString Lua function

7 years agolua: add Ja3GetString function
Mats Klepsland [Thu, 28 Dec 2017 20:45:08 +0000 (21:45 +0100)] 
lua: add Ja3GetString function

Add Ja3GetString() to return the content of the JA3 string buffer from the
TLS session.

Example:

  function init (args)
      local needs = {}
      needs["protocol"] = "tls"
      return needs
  end

  function setup (args)
      filename = SCLogPath() .. "/ja3_string.log"
      file = assert(io.open(filename, "a"))
  end

  function log (args)
      ja3_string = Ja3GetString()
      if ja3_string == nil then
          return
      end

      file:write(ja3_string .. "\n")
      file:flush()
  end

  function deinit (args)
      file:close()
  end

7 years agodoc: add documentation for Ja3GetHash Lua function
Mats Klepsland [Thu, 28 Dec 2017 20:21:16 +0000 (21:21 +0100)] 
doc: add documentation for Ja3GetHash Lua function

7 years agolua: add Ja3GetHash function
Mats Klepsland [Thu, 28 Dec 2017 20:06:28 +0000 (21:06 +0100)] 
lua: add Ja3GetHash function

Add Ja3GetHash() to return the content of the JA3 hash buffer from the
TLS session.

Example:

  function init (args)
      local needs = {}
      needs["protocol"] = "tls"
      return needs
  end

  function setup (args)
      filename = SCLogPath() .. "/ja3_hash.log"
      file = assert(io.open(filename, "a"))
  end

  function log (args)
      ja3_hash = Ja3GetHash()
      if ja3_hash == nil then
          return
      end

      file:write(ja3_hash .. "\n")
      file:flush()
  end

  function deinit (args)
      file:close()
  end

In the (useless) example above, each JA3 hash is logged to a log file.

7 years agodoc: add documentation for ja3_string keyword
Mats Klepsland [Sun, 10 Dec 2017 15:47:07 +0000 (16:47 +0100)] 
doc: add documentation for ja3_string keyword

7 years agodetect: add (mpm) keyword ja3_string
Mats Klepsland [Sun, 10 Dec 2017 15:05:37 +0000 (16:05 +0100)] 
detect: add (mpm) keyword ja3_string

Match on JA3 string using ja3_string keyword, e.g:

alert tls any any -> any any (msg:"JA3 string test";
        ja3_string; content:"65-68-69-102"; sid:1;)

7 years agodoc: add documentation for ja3_hash keyword
Mats Klepsland [Sun, 10 Dec 2017 15:40:58 +0000 (16:40 +0100)] 
doc: add documentation for ja3_hash keyword

7 years agodetect: add (mpm) keyword ja3_hash
Mats Klepsland [Thu, 7 Dec 2017 08:30:03 +0000 (09:30 +0100)] 
detect: add (mpm) keyword ja3_hash

Match on JA3 hash using ja3_hash keyword, e.g:

alert tls any any -> any any (msg:"JA3 hash test";
        ja3_hash;
        content:"e7eca2baf4458d095b7f45da28c16c34";
        sid:1;)

7 years agoutil-ja3: add function to check if JA3 is disabled
Mats Klepsland [Tue, 26 Dec 2017 12:33:05 +0000 (13:33 +0100)] 
util-ja3: add function to check if JA3 is disabled

7 years agoapp-layer-ssl: generate JA3 fingerprints
Mats Klepsland [Thu, 30 Nov 2017 10:04:03 +0000 (11:04 +0100)] 
app-layer-ssl: generate JA3 fingerprints

Decode additional fields from the client hello packet and generate
JA3 fingerprints.

7 years agoapp-layer-ssl: split function into multiple smaller functions
Mats Klepsland [Mon, 27 Nov 2017 11:23:57 +0000 (12:23 +0100)] 
app-layer-ssl: split function into multiple smaller functions

Split 'TLSDecodeHandshakeHello' into smaller functions to make
it easier to read the code when the function grows in size.

7 years agosmb: suppress notice messages 3291/head
Victor Julien [Fri, 16 Mar 2018 13:42:58 +0000 (14:42 +0100)] 
smb: suppress notice messages