Commit graph

7932 commits

Author SHA1 Message Date
Seth Hall
71b135bd64 Merge branch 'topic/seth/smb' of ssh://git.bro-ids.org/bro into topic/seth/smb
# Conflicts:
#	src/analyzer/protocol/smb/SMB.cc
2016-07-27 03:57:53 -04:00
Seth Hall
ede0bad217 Simplify how packets go into the SMB analyzer.
There was a copy of every single packet being made as it entered
the SMB analyzer.  This was because the entire analyzer used to be
handwritten (only using binpac for unit parsing, not for parsing
the whole protocol).  Now that the entire parser is binpac we don't
need that layer of indirection anymore and we're able to remove
a lot of complexity.
2016-07-27 03:56:15 -04:00
Johanna Amann
93db6cd876 Fix behavior of connection_pending event
It is now really only raised when Bro is terminating. Also adds a
test-case that raises the event.
2016-07-26 15:49:51 -07:00
Robin Sommer
743e563dd9 Updating doc test baseline. 2016-07-26 15:06:23 -07:00
Johanna Amann
7603567782 Correct endianness of IP addresses in SNMP.
Addresses BIT-1644
2016-07-26 15:02:11 -07:00
Robin Sommer
5b73345b73 Merge remote-tracking branch 'origin/topic/johanna/bit-1181'
BIT-1181 #merged

* origin/topic/johanna/bit-1181:
  Input: Further small changes to error handling
  Add error events to input framework.
2016-07-26 14:52:27 -07:00
Robin Sommer
cc67acdcfe Merge remote-tracking branch 'origin/topic/johanna/bit-1325'
BIT-1325 #merged

* origin/topic/johanna/bit-1325:
  Enable SQLite shared cache mode.
2016-07-26 14:39:01 -07:00
Johanna Amann
51b8dee70b Adjust default priority of ACTION_DROP hook.
We use -5, just like all other normal notice framework actions.
2016-07-26 13:39:40 -07:00
Johanna Amann
4f51d6fc47 Fix types when constructing SYN_packet record.
The types used by the core did not match the types expected by the
scripting framework, leading, e.g., to trouble with the logging
framework.

Discovered and fixed by Grant Moyer.

Fixes BIT-1650
2016-07-26 11:51:26 -07:00
Johanna Amann
c8e1a39758 Input: Further small changes to error handling
Calling Error() in an input reader now automatically will disable the
reader and return a failure in the Update/Heartbeat calls.

Also adds more tests.

Addresses BIT-1181
2016-07-25 15:35:46 -07:00
Robin Sommer
f6ff7f1e66 Updating link in docs for deprecated plugin. 2016-07-23 07:29:32 -07:00
Robin Sommer
af834410f6 Updating submodule(s).
[nomail]
2016-07-23 07:26:15 -07:00
Robin Sommer
163ee380d3 Updating submodule(s).
[nomail]
2016-07-23 07:25:52 -07:00
Robin Sommer
5738398935 Updating submodule(s).
[nomail]
2016-07-23 07:20:55 -07:00
Johanna Amann
6b9abe85a7 Add error events to input framework.
This change introduces error events for Table and Event readers. Users
can now specify an event that is called when an info, warning, or error
is emitted by their input reader. This can, e.g., be used to raise
notices in case errors occur when reading an important input stream.

Example:

event error_event(desc: Input::TableDescription, msg: string, level: Reporter::Level)
	{
	...
	}

event bro_init()
	{
	Input::add_table([$source="a", $error_ev=error_event, ...]);
	}

For the moment, this converts all errors in the Asciiformatter into
warnings (to show that they are non-fatal) - the Reader itself also has
to throw an Error to show that a fatal error occurred and processing
will be abort.

It might be nicer to change this and require readers to mark fatal
errors as such when throwing them.

Addresses BIT-1181
2016-07-22 19:45:28 -07:00
Johanna Amann
bd4c32460b SQLite writer: Remove unused string formatting function. 2016-07-22 14:53:31 -07:00
Johanna Amann
4968a5c654 Enable SQLite shared cache mode.
This allows all threads accessing the same database to share sqlite
objects. This, for example, fixes the issue with several threads
simultaneously writing to the same database file.

See https://www.sqlite.org/sharedcache.html

Addresses BIT-1325
2016-07-21 12:10:20 -07:00
Johanna Amann
697b59cdc8 Update submodules
[nomail]
2016-07-21 11:50:39 -07:00
Daniel Thayer
59f0ea1a0c Add a test for starting a cluster with a logger node
Also modified cluster framework scripts so that any node can raise an
event to be handled on the logger node.
2016-07-15 15:23:49 -05:00
Robin Sommer
990f2ab0ea Merge branch 'topic/robin/bit-1612-merge' 2016-07-15 09:17:44 -07:00
Robin Sommer
647a18e433 Merge remote-tracking branch 'origin/topic/johanna/bit-1612' into topic/robin/bit-1612-merge 2016-07-15 09:03:11 -07:00
Daniel Thayer
88d066e921 Update broctl submodule 2016-07-15 00:23:18 -05:00
Johanna Amann
83b94331cd HLL: make large value test use signed integer, not counts. 2016-07-14 18:13:01 -07:00
Robin Sommer
4d84ee82da Merge remote-tracking branch 'origin/topic/johanna/bit-1612'
Addig a new random seed for external tests.

I added a wrapper around the siphash() function to make calling it a
little bit safer at least.

BIT-1612 #merged

* origin/topic/johanna/bit-1612:
  HLL: Fix missing typecast in test case.
  Remove the -K/-J options for setting keys.
  Add test checking the quality of HLL by adding a lot of elements.
  Fix serializing probabilistic hashers.
  Baseline updates after hash function change.
  Also switch BloomFilters from H3 to siphash.
  Change Hashing from H3 to Siphash.
  HLL: Remove unnecessary comparison.
  Hyperloglog: change calculation of Rho
2016-07-14 16:26:17 -07:00
Daniel Thayer
7491cbc327 Merge remote-tracking branch 'origin/master' into topic/dnthayer/ticket1627 2016-07-14 18:17:03 -05:00
Johanna Amann
8d9cd60fa8 SSL: Fix ref/unref problem.
VectorType unref'd the Record type we used during construction,
apparently leading to it not being present anymore at some point of
time.

Fix this problem by doing it just like all other analyzers.
2016-07-14 14:33:12 -07:00
Johanna Amann
4252c003d0 HLL: Fix missing typecast in test case.
This kind of error apparently triggered a warning in 2.4, but does no
longer on master.
2016-07-14 07:25:33 -07:00
Johanna Amann
499ed5b566 Remove the -K/-J options for setting keys.
The options were never really used and do not seem especially useful;
initialization with a seed file still works.

This also fixes a bug with the initialization of the siphash key.
2016-07-13 16:57:53 -07:00
Johanna Amann
313647ce0e Merge remote-tracking branch 'origin/master' into topic/johanna/bit-1612 2016-07-13 10:58:56 -07:00
Johanna Amann
c625128e4e Add test checking the quality of HLL by adding a lot of elements.
The test adds 170,000 IP addresses. After the recent hashing changes,
HLL estimates 171,250 entries (completely stable). Before, HLL estimated,
depending on the initial seeds, ~700 to 300,000 entries.
2016-07-13 10:36:11 -07:00
Johanna Amann
4a14fd4688 Fix serializing probabilistic hashers. 2016-07-13 10:12:17 -07:00
Johanna Amann
cdb6a1b6e6 Baseline updates after hash function change. 2016-07-13 10:11:37 -07:00
Johanna Amann
f1bae871e9 Also switch BloomFilters from H3 to siphash.
This removes all dependencies on H3 in our source tree.
2016-07-13 09:04:10 -07:00
Johanna Amann
e1218cc7fa Change Hashing from H3 to Siphash.
This commit mostly changes the hash function that is used for Internal
hashing of data < 36 bytes from H3 to Siphash. This change is motivated
by the fact that it turns out that H3 apparently does not deliver a very
good source of data uniqueness; running HLL with H3 as a hashing
function results in quite poor results (up to of 75% off in my tests).
In difference, running HLL with Siphash (or HMAC-MD5) changes this
factor to ~2%.

This also fixes a long-standing bug in Hash.h which truncated our hash
values to 32 bit on most machines.

Furthermore, it once again fixes a problem with the Rank function in
HLL.
2016-07-13 06:44:51 -07:00
Johanna Amann
1ba33bf66e Merge remote-tracking branch 'origin/topic/robin/missing-syn-2'
* origin/topic/robin/missing-syn-2:
  Change TCP analysis to process connections without the initial SYN as non-partial connections.

BIT-1492 #merged
2016-07-12 11:42:32 -07:00
Johanna Amann
c15f48661d Merge remote-tracking branch 'origin/master' into topic/johanna/bit-1612 2016-07-12 10:58:31 -07:00
Robin Sommer
214abc6180 Merge remote-tracking branch 'origin/topic/johanna/sigalg'
BIT-1646 #merged

* origin/topic/johanna/sigalg:
  Forgotten types file for signature algorithm extension
  SSL: add support for signature_algorithms extension.
2016-07-12 10:21:25 -07:00
Johanna Amann
bafd902389 Forgotten types file for signature algorithm extension 2016-07-12 09:51:50 -07:00
Robin Sommer
39734255be Change TCP analysis to process connections without the initial SYN as
non-partial connections.

Before, if we saw a responder-side SYN/ACK, but had not seen the
initial orginator-side SYN, Bro would treat the connection as partial,
meaning that most application-layer analyzers would refuse to inspect
the payload. That was unfortunate because all payload data was
actually there (and even passed to the analyzers). This change make
Bro consider these connections as complete, so that analyzers will
just normally process them.

The leads to couple more connections in the test-suite to now being
analyzed.

Addresses #1492. (I used an HTTP trace for debugging instead of the
HTTPS trace from the ticket, as the clear-text makes it easier to
track the data flow).
2016-07-11 17:18:32 -07:00
Johanna Amann
11ec4903ee SSL: add support for signature_algorithms extension. 2016-07-11 15:01:59 -07:00
Johanna Amann
fa83497f26 Merge remote-tracking branch 'origin/topic/dnthayer/ticket1645'
* origin/topic/dnthayer/ticket1645:
  Disable broker by default

I added the --disable-broker back to configure (as a no-op), to not
break the build for everyone that is currently doing that in their build
scripts.

BIT-1645 #merged
2016-07-11 11:25:37 -07:00
Daniel Thayer
1c1a6e60b0 Disable broker by default
Replaced the --disable-broker configure option with --enable-broker,
and changed the install docs to show CAF as an optional dependency.
2016-07-09 15:55:28 -05:00
Johanna Amann
74e98565f4 Merge remote-tracking branch 'origin/topic/robin/history-rxmit'
* origin/topic/robin/history-rxmit:
  Flagging retransmissions in connection history.
  Removing ack_above_hole event.

BIT-977 #merged
2016-07-08 19:30:10 -07:00
Robin Sommer
0c080bca7a Extendign connection history field to flag when Bro flips a
connection's endpoints.

The character is '^'.

Addresses BIT-1629.
2016-07-08 14:56:52 -07:00
Robin Sommer
aa33da2775 Updating submodule(s).
[nomail]
2016-07-08 12:40:15 -07:00
Robin Sommer
5eecb1e740 Updating submodule(s).
[nomail]
2016-07-08 12:39:45 -07:00
Robin Sommer
7e7002329c Merge remote-tracking branch 'origin/topic/seth/smb' into topic/robin/smb-merge 2016-07-07 12:07:53 -07:00
Robin Sommer
ad4263a98d Minor cleanup. 2016-07-07 11:55:57 -07:00
Seth Hall
4348269ce1 Merge branch 'topic/seth/smb' of ssh://git.bro-ids.org/bro into topic/seth/smb 2016-07-07 14:17:46 -04:00
Seth Hall
d1b1a560c0 Add a DCE-RPC test. 2016-07-07 14:17:25 -04:00