]>
git.ipfire.org Git - thirdparty/suricata.git/log
Victor Julien [Wed, 4 Apr 2018 11:49:35 +0000 (13:49 +0200)]
unified2: address strict aliasing issue
Victor Julien [Wed, 4 Apr 2018 11:28:29 +0000 (13:28 +0200)]
decode/ipv6: expose addr as 'struct in6_addr' as well
Victor Julien [Wed, 4 Apr 2018 10:43:17 +0000 (12:43 +0200)]
mingw: minor compile warning fixes
Giuseppe Longo [Tue, 3 Apr 2018 08:45:34 +0000 (10:45 +0200)]
tests/detect-engine-hsbd: deinit det_ctx threads
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.
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.
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).
Victor Julien [Tue, 3 Apr 2018 10:06:37 +0000 (12:06 +0200)]
configure: fix small issue with libevent check
Eric Leblond [Tue, 3 Apr 2018 09:09:55 +0000 (11:09 +0200)]
doc: add lua directory to Makefile
Victor Julien [Tue, 3 Apr 2018 08:13:43 +0000 (10:13 +0200)]
doc/lua: small update to the usage intro
Eric Leblond [Fri, 16 Feb 2018 08:22:35 +0000 (09:22 +0100)]
doc: document lua function about flow var
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.
Eric Leblond [Thu, 15 Feb 2018 11:32:45 +0000 (12:32 +0100)]
doc: document lua TLS functions
Pascal Delalande [Sat, 31 Mar 2018 16:20:16 +0000 (18:20 +0200)]
doc: minor updates (tls custom, TODO removal, ftp/smb file rules)
Victor Julien [Fri, 30 Mar 2018 11:36:59 +0000 (13:36 +0200)]
detect/pktvar: clean up keyword parsing
Victor Julien [Fri, 30 Mar 2018 08:24:33 +0000 (10:24 +0200)]
doc: add ntlmssp, kerberos and other setup fields
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
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
Richard Sailer [Fri, 16 Mar 2018 17:39:07 +0000 (18:39 +0100)]
lua output doc: Add explaining introduction text
Victor Julien [Fri, 30 Mar 2018 07:29:48 +0000 (09:29 +0200)]
doc: fix json formatting in smb doc
Alexander Gozman [Thu, 29 Mar 2018 15:55:52 +0000 (15:55 +0000)]
Print syslog format with SCLogDebug() instead of printf()
Mats Klepsland [Wed, 28 Mar 2018 21:26:20 +0000 (23:26 +0200)]
app-layer-ssl: remove possibility to overflow HAS_SPACE macro
Mats Klepsland [Thu, 29 Mar 2018 15:57:42 +0000 (17:57 +0200)]
app-layer-ssl: really fix CID
1433623
Victor Julien [Thu, 29 Mar 2018 14:20:22 +0000 (16:20 +0200)]
doc: initial smb eve documentation
Victor Julien [Thu, 29 Mar 2018 13:31:47 +0000 (15:31 +0200)]
doc: add by_either to suppress explanation
Victor Julien [Thu, 29 Mar 2018 13:13:35 +0000 (15:13 +0200)]
doc: add smb section to yaml
Victor Julien [Thu, 29 Mar 2018 13:13:18 +0000 (15:13 +0200)]
doc: minor fix
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).
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.
Victor Julien [Wed, 28 Mar 2018 13:24:18 +0000 (15:24 +0200)]
tls: work around coverity warnings
Victor Julien [Thu, 29 Mar 2018 11:09:26 +0000 (13:09 +0200)]
doc: add SMB to file extraction. Minor improvements.
Victor Julien [Thu, 29 Mar 2018 11:06:31 +0000 (13:06 +0200)]
doc: update suricata-update screenshot
Victor Julien [Thu, 29 Mar 2018 08:15:34 +0000 (10:15 +0200)]
doc: improve suricata-update docs now that its bundled
Victor Julien [Thu, 29 Mar 2018 08:01:50 +0000 (10:01 +0200)]
doc: improve making sense of alerts
Victor Julien [Wed, 28 Mar 2018 19:37:44 +0000 (21:37 +0200)]
doc: add suricata-update to intro for rules
Alexander Gozman [Mon, 26 Mar 2018 14:14:48 +0000 (14:14 +0000)]
Bug #2466: map SC_LOG_CONFIG level to syslogs LOG_DEBUG
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.
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.
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.
Mats Klepsland [Thu, 22 Mar 2018 12:27:00 +0000 (13:27 +0100)]
app-layer-ssl: use BIT_U32 for flags
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.
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.
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.
Victor Julien [Tue, 27 Mar 2018 08:31:28 +0000 (10:31 +0200)]
smb: minor optimizations
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.
Pierre Chifflier [Thu, 15 Mar 2018 13:06:08 +0000 (14:06 +0100)]
IKEv2: Use JSON arrays instead of comma-separated values
Pierre Chifflier [Thu, 15 Mar 2018 07:27:17 +0000 (08:27 +0100)]
IKEv2: suppress some debug output
Pierre Chifflier [Tue, 13 Mar 2018 12:24:38 +0000 (13:24 +0100)]
IKEv2: remove events counter
Pierre Chifflier [Tue, 6 Mar 2018 07:03:11 +0000 (08:03 +0100)]
Add ikev2 to userguide
Pierre Chifflier [Fri, 2 Mar 2018 18:35:49 +0000 (19:35 +0100)]
Remove the 'experimental' mark for IKEv2
Pierre Chifflier [Fri, 2 Mar 2018 16:44:06 +0000 (17:44 +0100)]
IKEv2 logger: use Debug trait for IkePayloadType
Pierre Chifflier [Fri, 2 Mar 2018 08:20:33 +0000 (09:20 +0100)]
Add logger for IKEv2
Pierre Chifflier [Fri, 2 Mar 2018 21:16:48 +0000 (22:16 +0100)]
Add rules for IKEv2 events
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.
Pierre Chifflier [Mon, 15 Jan 2018 21:52:39 +0000 (22:52 +0100)]
Rust: fix prototype of parsing function (make pstate mutable)
Pierre Chifflier [Mon, 15 Jan 2018 21:51:39 +0000 (22:51 +0100)]
Rust: expose function AppLayerParserStateSetFlag
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
Victor Julien [Wed, 21 Mar 2018 14:50:11 +0000 (15:50 +0100)]
nfs/rpc: fix reponse parsing
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.
Victor Julien [Sat, 24 Mar 2018 15:17:20 +0000 (16:17 +0100)]
smb: clean up partial read/write record 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.
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.
Victor Julien [Thu, 22 Mar 2018 10:23:34 +0000 (11:23 +0100)]
changelog: update for 4.1.0-beta1
Victor Julien [Tue, 13 Feb 2018 10:41:33 +0000 (11:41 +0100)]
doc: fix http_header_names example
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.
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.
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.
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.
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.
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.
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.
Victor Julien [Sat, 17 Mar 2018 21:17:41 +0000 (22:17 +0100)]
nfs: minor cleanup
Antoine LUONG [Wed, 21 Feb 2018 17:48:26 +0000 (18:48 +0100)]
prelude: swap msg and class_msg in Prelude alert
Antoine LUONG [Tue, 20 Feb 2018 15:36:13 +0000 (16:36 +0100)]
prelude: fix duplicated analyzer in Prelude alert
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.
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.
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.
Eric Leblond [Tue, 20 Mar 2018 21:06:19 +0000 (22:06 +0100)]
doc: more info on unix socket rule reload
Eric Leblond [Tue, 20 Mar 2018 20:55:59 +0000 (21:55 +0100)]
doc: fix typo in ebpf xdp doc
Eric Leblond [Tue, 20 Mar 2018 20:04:20 +0000 (21:04 +0100)]
suricata.yaml: fix some spelling mistakes
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'.
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.
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.
Pierre Chifflier [Thu, 1 Mar 2018 17:58:41 +0000 (18:58 +0100)]
DER parser: ensure errcode is set for every return path
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.
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.
Mats Klepsland [Thu, 28 Dec 2017 21:45:50 +0000 (22:45 +0100)]
doc: add JA3 fields to the TLS logger documentation
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).
Mats Klepsland [Thu, 28 Dec 2017 20:51:44 +0000 (21:51 +0100)]
doc: add documentation for Ja3GetString Lua 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
Mats Klepsland [Thu, 28 Dec 2017 20:21:16 +0000 (21:21 +0100)]
doc: add documentation for Ja3GetHash Lua 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.
Mats Klepsland [Sun, 10 Dec 2017 15:47:07 +0000 (16:47 +0100)]
doc: add documentation for ja3_string keyword
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;)
Mats Klepsland [Sun, 10 Dec 2017 15:40:58 +0000 (16:40 +0100)]
doc: add documentation for ja3_hash keyword
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;)
Mats Klepsland [Tue, 26 Dec 2017 12:33:05 +0000 (13:33 +0100)]
util-ja3: add function to check if JA3 is disabled
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.
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.
Victor Julien [Fri, 16 Mar 2018 13:42:58 +0000 (14:42 +0100)]
smb: suppress notice messages