Commit graph

9176 commits

Author SHA1 Message Date
Daniel Thayer
f336aa5084 Fix a race condition in some failing tests
The tests that were using the broccoli-v6addrs test program would
sometimes fail because broccoli-v6addrs would try to connect to Bro
and fail (presumably because Bro hadn't yet fully initialized).
Fixed by using the new broccoli-v6addrs "-r" option which will retry
upon failure to connect to Bro.
2017-05-22 14:32:59 -05:00
Jon Siwek
4d06ee85ce Merge branch 'topic/corelight/ascii-gzip' of https://github.com/corelight/bro
* 'topic/corelight/ascii-gzip' of https://github.com/corelight/bro:
  Add gzip log writing to the ascii writer.
2017-05-22 00:10:09 -05:00
Julien Wallior
9a75c52726 Add nfs unittest. Includes an example for the new nfs_proc_rename. 2017-05-18 08:41:52 -04:00
Johanna Amann
8af810e00b SCT: Fix script error when mime type of file unknown. 2017-05-14 19:53:22 -07:00
Johanna Amann
7a1ec3501d SCT: another memory leak in SCT parsing. 2017-05-14 19:38:36 -07:00
Johanna Amann
e1d42ec99c SCT validation: fix small memory leak (public keys were not freed) 2017-05-14 09:55:17 -07:00
Johanna Amann
0107ad6c31 Merge branch 'topic/johanna/ocsp-sct-validate' of ssh://git.bro.org/bro into topic/johanna/ocsp-sct-validate 2017-05-14 08:07:18 -07:00
Seth Hall
7c107f9f02 Merge remote-tracking branch 'origin/topic/johanna/notice-suppression'
* origin/topic/johanna/notice-suppression:
  Lessen cluster node of notice suppression.
2017-05-12 15:35:55 -04:00
Johanna Amann
eb50b3fed1 Change end-of-connection handling for validation
Move from using CCS (before: established) to just doing certificate
validation at the end of the connection.

This is (again) more robust in the case of aborted connection. I am
moving this into a hook because of the complexity of the
end-of-connection handling for SSL.

This should probably be extended to not just handle SSL validation, but
all other logging constructs that are currently called in _established.
2017-05-11 22:50:20 -07:00
Johanna Amann
876f492a35 OCSP/TLS/SCT: Fix a number of test failures.
These were caused by earlier code updates.

This commit also removes the ocsp stapling logging script; it was
defunctional and the information provided by it wnever really has been
especially interesting.
2017-05-06 08:01:20 -07:00
Johanna Amann
ff2c5b9345 Update submodule
[nomail]
2017-05-05 11:09:47 -07:00
Jon Siwek
874d2b9fb0 Merge branch 'topic/corelight/logging-hooks' of https://github.com/corelight/bro
* 'topic/corelight/logging-hooks' of https://github.com/corelight/bro:
  Plugin: Add hooks for log init and writing.
2017-05-04 11:44:43 -05:00
Johanna Amann
a334247478 SCT Validate: make caching a bit less aggressive.
This triggers a re-validation of the SCT when the certificate validation
status changed. This means that a SCT will show as valid if the
certificate chain could be validated and can now be used to determine
the correct issuer key hash.
2017-05-03 22:06:24 -07:00
Johanna Amann
ff998dfa43 Lessen cluster node of notice suppression.
With this commit, the data structure that is transfered for notice
suppression is much smaller than before, not including potentially
complex data structures like the fa_file record.
2017-05-03 13:28:16 -07:00
Johanna Amann
7f292dc4ad TLS: Fix compile warning (comparison between signed/unsigned).
This was introduced with the addition of new TLS1.3 extensions.
2017-05-02 11:51:55 -07:00
Jon Siwek
12e809dfa0 Merge branch 'topic/corelight/file-rename-unlink' of https://github.com/corelight/bro
* 'topic/corelight/file-rename-unlink' of https://github.com/corelight/bro:
  Add rename, unlink, and rmdir bifs.
2017-05-01 10:41:28 -05:00
Johanna Amann
684ea8aa37 Plugin: Add hooks for log init and writing.
The two hooks being added are:

void HookLogInit(const std::string& writer, const std::string& instantiating_filter, bool local, bool remote, const logging::WriterBackend::WriterInfo& info, int num_fields, const threading::Field* const* fields);

which is called when a writer is being instantiated and contains
information about the fields being logged, as well as

bool HookLogWrite(const std::string& writer, const std::string& filter, const logging::WriterBackend::WriterInfo& info, int num_fields, const threading::Field* const* fields, threading::Value** vals);

which is called for each log line being written by each writer. It
contains all the data being written. The data can be changed in the
function call and lines can be prevented from being written.

This commit also fixes a few small problems with plugin hooks itself,
and extends the tests that were already there, besides introducing tests
for the added functionality.
2017-04-24 14:02:05 -07:00
Johanna Amann
c868a19a28 Add gzip log writing to the ascii writer.
This feature can be enabled globally for all logs by setting
LogAscii::gzip_level to a value greater than 0.

This feature can be enabled on a per-log basis by setting gzip-level in
$confic to a value greater than 0.
2017-04-24 13:15:32 -07:00
Johanna Amann
333bb71ed1 Add rename, unlink, and rmdir bifs. 2017-04-24 11:58:05 -07:00
Robin Sommer
2c2c9c9052 Updating submodule(s).
[nomail]
2017-04-22 08:12:25 -07:00
Robin Sommer
ad4b2d6880 Updating submodule(s).
[nomail]
2017-04-22 08:12:15 -07:00
Robin Sommer
f80a10fb96 Merge remote-tracking branch 'origin/topic/johanna/format-checks'
* origin/topic/johanna/format-checks:
  Guard a few more format strings with __attribute__((format))
2017-04-21 14:19:47 -07:00
Robin Sommer
bf15ff4c83 Merge remote-tracking branch 'origin/topic/johanna/tls13-extensions'
* origin/topic/johanna/tls13-extensions:
  Add support for two TLS 1.3 extensions.
2017-04-21 14:15:23 -07:00
Robin Sommer
b307b29f42 Updating CHANGES and VERSION. 2017-04-21 14:14:00 -07:00
Johanna Amann
81dbbbd3a2 Update submodule
[nomail]
2017-04-17 22:02:39 +02:00
Johanna Amann
15375ba1e3 Guard a few more format strings with __attribute__((format))
This will cause compile-time error messages to be raised if someone
passes incorrect parameters to these strings.
2017-04-17 21:46:58 +02:00
Seth Hall
b3d7d8b1da Documentation updates for loading Bro scripts. 2017-04-17 12:09:18 -04:00
Johanna Amann
9e302c7e89 Merge remote-tracking branch 'origin/fastpath'
* origin/fastpath:
  Fix some failing tests
2017-04-10 13:31:17 -07:00
Daniel Thayer
817b9e01a3 Fix some failing tests
Increase delay time before launching 2nd process to give bro more of a
chance to startup.
2017-04-10 15:24:21 -05:00
Johanna Amann
a7b1161c12 Threading Types: add a bit of documentation to subnet type.
This explains how the length field is currently handled when exchanging
data in both directions.
2017-04-10 11:37:43 -07:00
Robin Sommer
7826cbdfb6 Fixing couple issues reported by Coverity. 2017-04-08 09:57:45 -07:00
Johanna Amann
a3b664c77d Merge remote-tracking branch 'origin/fastpath'
* origin/fastpath:
  Fix the test group name in some broker test files
2017-04-07 10:33:47 -07:00
Johanna Amann
bdc693e72a NetControl: small rule_error changes
* add rule_error test for acld plugin

* add namespace for rule_error calls in OpenFlow
2017-04-07 10:26:34 -07:00
Daniel Thayer
fcbf54f697 Fix the test group name in some broker test files
Some broker leak tests were being ignored because the test group
name was incorrect.
2017-04-07 12:24:29 -05:00
Johanna Amann
61906fe7fb Merge branch 'topic/johanna/tls13-extensions' into topic/johanna/ocsp-sct-validate 2017-04-05 12:04:15 -07:00
Johanna Amann
6c9449c780 Add support for two TLS 1.3 extensions.
New events:

event ssl_extension_supported_versions(c: connection, is_orig: bool, versions: index_vec)

event ssl_extension_psk_key_exchange_modes(c: connection, is_orig: bool, modes: index_vec)
2017-04-05 11:55:40 -07:00
Johanna Amann
0cd0ffed13 SSL: update dpd signature for TLS1.3
The dpd signature missed a few cases that are used for TLS 1.3,
especially when draft versions (which are all that we are seeing at the
moment) are being negotiated.

This fix mostly allows draft versions in the server hello (identified by
7F[version]; since we do not know how many drafts there will be, we are
currently allowing a rather safe upper limit.
2017-04-05 08:58:08 -07:00
Roberto Del Valle Rodriguez
1ee9610b77 Added rename event to rpc/nfs protocol analyzer.
This event identifies and reports information
	about nfs/rpc calls and replies of the type
	rename.
2017-04-03 18:27:51 -04:00
Julien Wallior
e69bb37cc7 Expand parsing of RPC Call packets to add Uid, Gid, Stamp, MachineName
and AuxGIDs
2017-04-03 18:27:36 -04:00
Julien Wallior
04478acb59 Fix NFS protocol parser. 2017-04-03 18:27:25 -04:00
Johanna Amann
d531a5405a SSL: Fix type of ssl validation result 2017-03-29 12:40:14 -07:00
Johanna Amann
b8e81029f8 TLS-SCT: compile on old versions of OpenSSL (1.0.1...) 2017-03-29 09:17:30 -07:00
Johanna Amann
aec62aeee9 SCT: Add caching support for validation 2017-03-29 09:17:30 -07:00
Johanna Amann
22b1eda472 SCT: Add signed certificate timestamp validation script.
This also rewrites the certificate validation script (which we need for
this) slightly.

This could need a bit of caching, but should generally work very
reliably.
2017-03-29 09:17:30 -07:00
Johanna Amann
115a676d08 SCT: Allow verification of SCTs in Certs.
This is much more complex than the TLS Extension/OCSP cases. We need to
first alter the certificate and remove the extension from it, before
extracting the tbscert. Furthermore, we need the key hash of the issuing
certificate to be able to validate the proof - which means that we need
a valid certificate chain.

Missing: documentation, nice integration so that we can just add a
script and use this in Bro.
2017-03-29 09:17:24 -07:00
Johanna Amann
41a2028dee SCT: only compare correct OID/NID for Cert/OCSP.
The old way of doing it did not really cause problems - but now only the
OID that can be used in practice is checked.
2017-03-29 09:04:11 -07:00
Johanna Amann
c403a7f4e6 SCT: add validation of proofs for extensions and OCSP.
This does not yet work for certificates, because this requires some
changing the ASN.1 structure before validation (we need to extract the
tbscert and remove the SCT extension before).

API will change in the future.
2017-03-29 09:04:05 -07:00
Robin Sommer
391685af73 Merge remote-tracking branch 'origin/fastpath'
* origin/fastpath:
  Fix a test that was failing on some platforms
2017-03-23 07:26:18 -07:00
Daniel Thayer
ca51dfc9c7 Fix a test that was failing on some platforms
Fixed by sorting the .stderr file, since the ordering of lines was
not consistent on all platforms.
2017-03-22 14:37:37 -05:00
Robin Sommer
05915571db Updating submodule(s).
[nomail]
2017-03-20 12:17:40 -07:00