Commit graph

6192 commits

Author SHA1 Message Date
Jon Siwek
0537711fd4 update broker submodule 2015-01-27 10:48:05 -06:00
Jon Siwek
36bc7ba5b5 Handle guess_lexer exceptions in pygments reST directive 2015-01-27 10:15:22 -06:00
Jon Siwek
5527543601 broker integration: add unit tests for remote log/print/event 2015-01-26 16:53:13 -06:00
Jon Siwek
2b598e3d5a broker integration: add remote logging
It now works a bit differently than before: whether to send a remote log
write is now a property of the logging stream, not the logging filter
and it's now up the the receiver side filters to instantiate the desired
writer.  i.e. the sender now has no say in what the receiver should use
as the log writer backend.

Under the new style of remote logging, the "Log::enable_remote_logging"
option is repurposed to set the default behavior for new logging
streams.  There's also "Comm::{enable,disable}_remote_logging()" to
explicitly set the desired behavior for a given logging stream.  To
receive remote logs, one calls "Comm::subscribe_to_logs(<topic>)", where
senders implicitly use topics of the form "bro/log/<stream id>".
2015-01-26 14:24:42 -06:00
Vlad Grigorescu
1f41c0470c Improve Kerberos DPD and fix a few parse errors. 2015-01-23 17:22:10 -05:00
Jon Siwek
6cedd67c38 DNP3: fix reachable assertion and buffer over-read/overflow.
A DNP3 packet using a link layer header that specifies a zero length can
trigger an assertion failure if assertions are enabled.  Assertions are
enabled unless Bro is compiled with the NDEBUG preprocessor macro
defined.  The default configuration of Bro will define this macro and so
disables assertions, but using the --enable-debug option in the
configure script will enable assertions.  When assertions are disabled,
or also for certain length values, the DNP3 parser may attempt to pass a
negative value as the third argument to memcpy (number of bytes to copy)
and result in a buffer over-read or overflow.

Reported by Travis Emmert.
2015-01-23 11:25:00 -06:00
Jon Siwek
d6d5276d76 Update binpac: Fix potential out-of-bounds memory reads in generated code.
Field lengths derived from other data in the input could potentially
lead to reading from outside the bounds of the input buffer.

Reported by John Villamil and Chris Rohlf - Yahoo Paranoids
2015-01-23 10:43:28 -06:00
Jon Siwek
5df71ddc91 broker integration: add auto sending remote events
i.e. ability to toggle whether all local dispatches of an event also
generate a remote event message to peers.
2015-01-22 11:29:53 -06:00
Robin Sommer
4d0a09a037 Updating submodule(s).
[nomail]
2015-01-22 07:25:27 -08:00
Jon Siwek
e62c711e09 Fix typo. 2015-01-21 16:57:16 -06:00
Jon Siwek
7b2316262d Update documentation (broken links, outdated tests). 2015-01-21 16:38:31 -06:00
Jon Siwek
f4d18e6940 Update NEWS for deprecated/changed functions. 2015-01-21 16:15:17 -06:00
Jon Siwek
23f04835c6 Deprecate split* family of BIFs.
These functions are now deprecated in favor of alternative versions that
return a vector of strings rather than a table of strings.

Deprecated functions:

- split: use split_string instead.
- split1: use split_string1 instead.
- split_all: use split_string_all instead.
- split_n: use split_string_n instead.
- cat_string_array: see join_string_vec instead.
- cat_string_array_n: see join_string_vec instead.
- join_string_array: see join_string_vec instead.
- sort_string_array: use sort instead instead.
- find_ip_addresses: use extract_ip_addresses instead.

Changed functions:

- has_valid_octets: uses a string_vec parameter instead of string_array.

Addresses BIT-924, BIT-757.
2015-01-21 15:34:42 -06:00
Jon Siwek
011e2cdd32 Improve use of &deprecated on functions.
- Don't report warnings on function definition if declaration is marked
  deprecated.
- Allow &deprecated to apply to a standalone function definition.
2015-01-21 12:27:09 -06:00
Jon Siwek
87962a48dd Add a new attribute: &deprecated.
While scripts are parsed, a warning is raised for each usage of an
identifier marked as &deprecated.  This also works for BIFs.

Addresses BIT-924, BIT-757.
2015-01-21 09:40:50 -06:00
Vlad Grigorescu
b8376ca733 Add Kerberos support for PKINIT (x509 cert authentication) 2015-01-20 20:43:51 -05:00
Vlad Grigorescu
3c3920bfbc Kerberos - Add TCP support 2015-01-20 17:46:26 -05:00
Vlad Grigorescu
2e8eb574f5 A number of Kerberos fixes, following testing. Added some fields to the log, and parsed some more data. 2015-01-19 18:16:27 -05:00
Robin Sommer
f51dc5cbb8 Fixing (harmless) Coverity warning. 2015-01-17 08:07:18 -08:00
Jon Siwek
7e563b7275 broker integration: add remote events 2015-01-15 15:45:08 -06:00
Robin Sommer
c67c7c6196 Merge remote-tracking branch 'origin/fastpath'
* origin/fastpath:
  small changes to ec curve names in a newer draft
2015-01-15 09:44:41 -08:00
Robin Sommer
0024881f3d Merge remote-tracking branch 'origin/topic/vladg/mysql'
* origin/topic/vladg/mysql:
  Updating MySQL with Robin's suggestions:

BIT-1285 #merged
2015-01-14 14:21:00 -08:00
Robin Sommer
41ff1c4cd0 Merge remote-tracking branch 'origin/topic/robin/dnp3-merge-v4'
* origin/topic/robin/dnp3-merge-v4:
  add test trace in which DNP3 packets are over UDP; update test scripts and baseline results
  A bit more DNP3 tweaking.
  remove redundnt codes; find a way to use the analyzer function, such as Weird; fix a small bug in ProcessData function in DNP3.cc; passed the test
  Renameing the DNP3 TCP analyzer
  quickly fix another bug; adding missing field of the declaration of dnp3_request_application_header and dnp3_response_application_header
  Removing the debug printf in DNP3.cc
  fixed the bug of deciding the size of object 1 varition 1 in DNP3
  Fix some things in DNP3 UDP analyzer.
  changed a bug, but still not working
  modify DNP3.cc and DNP3.h to add DNP3_UDP_Analyzer; binpac unchanged

BIT-1231 #merged
2015-01-14 13:25:42 -08:00
Jon Siwek
1e462481dc broker integration: add remote printing 2015-01-14 13:28:34 -06:00
Jon Siwek
0daa954ddb broker integration: add remote connection status events. 2015-01-14 10:40:11 -06:00
Jon Siwek
1e8d6cd917 broker integration: add API for connecting to peers 2015-01-13 17:14:21 -06:00
Vlad Grigorescu
2c8a3fce49 Merge remote-tracking branch 'origin/master' into topic/vladg/kerberos
Conflicts:
	testing/btest/Baseline/core.print-bpf-filters/output2
	testing/btest/Baseline/scripts.policy.misc.dump-events/smtp-events.log
2015-01-13 14:46:18 -05:00
Vlad Grigorescu
272916c189 Updating MySQL with Robin's suggestions:
- Use a boolean success instead of a result string
 - Change the affected_rows response detail string to a "rows" count
 - Fix the state tracking to log incomplete commands
2015-01-13 14:39:25 -05:00
Vlad Grigorescu
05ecac2497 Refactored the SSH analyzer. Added supported for algorithm detection and more key exchange message types. 2015-01-13 12:02:31 -05:00
Johanna Amann
0480f0d811 small changes to ec curve names in a newer draft 2015-01-13 08:38:18 -08:00
Jon Siwek
39d51ca99c Improve documentation for connection_established event. 2015-01-12 09:38:50 -06:00
Jon Siwek
7120098ca2 Add support for building/linking broker within bro
The new --enable-broker flag can be used to toggle the use of Broker,
which also implies building with -std=c++11, though nothing makes
use of these features at the moment.
2015-01-08 16:43:07 -06:00
Jon Siwek
d8890ea009 Increase minimum required CMake version to 2.8. 2015-01-08 13:11:17 -06:00
Hui Lin
794273913f add test trace in which DNP3 packets are over UDP; update test scripts and baseline results 2015-01-07 15:04:22 -06:00
Jon Siwek
1ba0527cae Merge remote-tracking branch 'origin/fastpath'
* origin/fastpath:
  Improve documentation of the Intelligence Framework
2015-01-07 10:04:01 -06:00
Daniel Thayer
b5e9433b04 Improve documentation of the Intelligence Framework
Added some missing information and rearranged a few sentences so the order
makes more sense.
2015-01-07 00:01:35 -06:00
Vlad Grigorescu
245bd07af7 Add host key support for SSH1. 2015-01-06 21:23:18 -06:00
Vlad Grigorescu
5e206ed108 Add support for SSH1 2015-01-06 20:27:20 -06:00
Jon Siwek
593e74d4b7 Updating submodule(s).
[nomail]
2015-01-06 15:12:28 -06:00
Jon Siwek
4b6c683679 Merge remote-tracking branch 'origin/topic/jsiwek/file-reassembly-merge'
* origin/topic/jsiwek/file-reassembly-merge:
  Add NEWS items related to file analysis changes.
  Revert "Workaround race condition in unified2 file module."
  Workaround race condition in unified2 file module.
  Fix reference counting bug in refactored file reassembly code.
  Change file extraction to explicitly NUL-fill gaps
  Review/fix/change file reassembly functionality.
  Improve TAR file detection and other small changes.
  Updates for file mime type identification.
  Updates the files event api and brings file reassembly up to master.
  More file reassembly work.
  Initial commit of file reassembly.
2015-01-06 10:11:25 -06:00
Jon Siwek
58a9162ce7 Add NEWS items related to file analysis changes. 2015-01-05 16:57:24 -06:00
Jon Siwek
138438b88e Merge branch 'master' into topic/jsiwek/file-reassembly-merge
Conflicts:
	testing/btest/Baseline/plugins.hooks/output
2015-01-05 15:50:36 -06:00
Jon Siwek
1971d25a5c Fix race condition in unified2 file analyzer startup.
Retrieval of extended alert information from sid-msg.map, gen-msg.map,
and classification.config files uses Bro's input framework, but since
the unified2 file analyzer also relies on the input framework,
coordination is needed to start analysis only after extended info has
been read at least once.
2015-01-05 15:38:04 -06:00
Jon Siwek
a3d78cc830 Revert "Workaround race condition in unified2 file module."
This reverts commit 1a03a95f35.
2015-01-05 14:51:58 -06:00
Robin Sommer
494545f1eb Updating submodule(s).
[nomail]
2014-12-31 09:39:35 -08:00
Robin Sommer
bd8893f0d0 Changing Makefile's test-all to run test-all for broctl. 2014-12-31 09:19:09 -08:00
Robin Sommer
9af5fb1302 Updating submodule(s).
[nomail]
2014-12-31 09:14:55 -08:00
Robin Sommer
055e5c69f3 Merge remote-tracking branch 'origin/fastpath'
* origin/fastpath:
  Correct a typo in the Notice framework doc
2014-12-31 09:06:24 -08:00
Vlad Grigorescu
727eada9ac Move SSH analyzer to new plugin architecture. 2014-12-27 17:46:42 -06:00
Vlad Grigorescu
fa98aee0a7 Merge remote-tracking branch 'origin/master' into topic/vladg/ssh
Conflicts:
	src/analyzer/protocol/CMakeLists.txt
	src/analyzer/protocol/ssh/Plugin.cc
	src/analyzer/protocol/ssh/SSH.h
2014-12-27 17:22:26 -06:00