prelude-correlator: Changes to 'refs/tags/0.9.0-beta4'
[email protected] Wed, 17 Jun 2009 18:37:30 +0200 (CEST)
| Newsgroups | gmane.comp.security.ids.prelude.cvs |
|---|---|
| Message-ID | <[email protected]> |
Tag '0.9.0-beta4' created by Yoann Vandoorselaere <[email protected]> at 2009-06-17 17:37 +0200 0.9.0-beta4 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEABECAAYFAko5G84ACgkQD4LqTXjyBR/BswCeNF3JZD54pjxv2fkibVOcYg8S FNsAnirjzkyuE6uREEaRJjH5f+u+5Q5z =usDB -----END PGP SIGNATURE----- Changes since the dawn of time: Gene Ramon Gomez (6): Add credit header to brute-force.rules, start worm.rules Default disables added Fix documentation Implement Eventscan/Eventsweep/Eventstorm rules Fix required field regex Implement floating threshold windows Sebastien Tricaud (3): (typo): Not LML but Correlator (feature): Add the possibility to daemonize the correlator Add correlation rule to match IP addresses against the dshield database. Do not add this rule in Makefile.am since the dshield mirror installation is required before using this rule (it can't be used as is). Yoann Vandoorselaere (256): prelude-correlator module. r8188@arwen: yoann | 2006-04-27 16:12:55 +0200 r8189@arwen: yoann | 2006-04-27 18:12:09 +0200 Correct last/silent usage. Correct the way correlation check are done. Implement --dry-run mode. Detailed error message Correctly set dry-run option callback. Cosmetic changes Prevent last keyword from affecting other rules Fix some parser problem. Implement support for creating multiple context from retrieved value that Print context name Port worm.rules from old SEC format. In the near future, correlation rule are going to be able to use IDMEF object Preliminary support for object to object copy. Won't work until recent object copy Fix potential double free. Configuration file handling. Install default file. Install worm.rules Don't check for ambiguous IDMEF path. Now allowed for copy. Miscelaneous bug fixes Add missing Implement capture_string_get_parent(). Ooops. Avoid un-necessary copy, by using capture_string_get_parent() Fix typo. All list are now flat. Make handling multiple value much simpler. Remove last keyword, which prevented processing of further rules. Use add_context rather than new_context, in order to not miss packet drop. Make use of object copy in the generated alerts. Use multiple context + IDMEF object copy feature. Fix IDMEF path leak on error. Require libprelude >= 0.9.10 Fix dist. Introduce pcre_context_set_idmef() to set the IDMEF object after context creation. Do not install correlation-plugins.h private header Declare pcre_context_set_idmef() function Fix brute-force ruleset Implement automatic object comparison, when copying IDMEFAlert data to the generated CorrelationAlert. That way, we never end up with duplicated object within the generated CorrelationAlert. Require latest libprelude work. Fix a warning. Add missing copyright notice. Handle NULL value. Fix a bug with context that both require and create context. Using the pre_action keyword, this detection can be performed in 1 rules instead of 2. Alway copy source/target object to the created CorrelationAlert. Handle context destruction of listed value. Make capture-string handle negative index, so that listed value can be handled backward. Modify value-container so that we can now handle listed value. That is, when a pattern Fix parsing of value with escaped character. Use the left operand as the path, since it's where append/prepend attribute might be used. Fix linked list corruption on prelude_string_destroy(). New rules format. The new format take into account the order in which the operation Make sure the destroy() function is called once for each plugin instance on exit. - Require libprelude 0.9.11. Define a runtime savedir. Cache the prelude_msg_t object since it's used by the IDMEF message. Revert un-necessary code modification The alert might remain cached after it is sent, only add the analyzer object once, remove it afterwise. Complete rework of the pcre plugin. Support for dynamic rule scripting: Demonstration of newer feature Fix double free Slight reordering Check that context name is always prefixed with '$', error out if it is not. Fix a bug with 'alert' operation not being added to the good path (out of if/for branch). Allow 'if' command without comparison value. Useful to check whether a context exist. Ability to check several context at once. Move context save/restore to pcre-context.c. pcre_context_set_value_from_string() can now resolve IDMEF context. Various bugfix. removed. As of now, context require the '$' prefix. Let pcre-context resolve the IDMEF message. Remove unused global Remove old unused code. Error handling cleanup Datatype fix. Fix a possible memory leak on context destruction. Remove debugging spew. Fix raw IDMEF list copy (example: target = target). Round float values before converting them to string. Cleanup. Make it possible to have a variable list index. List initialization. Implement "else if" and "else" command. Various bug fix in "if" command handling. Implement assignement of multiple values. Keep the '$' variable prefix, so that we can do more checking at higher level - Handle addition on IDMEF context assignement. Try to avoid code duplication. All context operation now have regexp searching capability. Correct context pattern matching. Slight ruleset fix Remove un-needed check. s/prelude-lml/prelude-correlator/ Fixes time.h inclusion. Make timeout explicit int32_t: we need to know it's size for portable context saving. Use RETSIGTYPE More error checking when loading context from disk. Use prelude_extract_int32_safe() to read context timeout. Fix an useless warning. Add support for GnuLib. Format string fixes. GnuLib + distcheck work. GnuLib + distcheck work. Add plugin subdir. Remove netdb.h inclusion. Implement pcre_context_print() and pcre_context_print_all(). Restore timer for any type of context. Fix print-input / print-output option, so that they use their optional arguments. Additionally, add a small API for plugin to register signal. Register SIGQUIT signal. This signal can now be used to get a dump of all available contexts, and their value. Fix EVENTSCAN detection. Correct correlation_alert.name. Fix problem with if/for parsing. Fix leak due to missing prelude_io_close(). When merging message, compare field by field, and explicitly skip port and portlist comparison. This is done to avoid merge failure since source->service tend to be different for each correlated message. In the future, it might be a good idea to generate a portlist. Improve merging. Require libprelude-0.9.13.2. Improve merging. Require libprelude-0.9.13.2. Update. Correctly set Analyzer->model, Analyzer->class and Analyzer->Version. Module path migration: move /trunk/prelude-correlator /prelude-correlator/trunk Remove debug spew. Add a new "unique" keyword that might now be used when creating a context. Upon Remove debug spew. New ruleset: business-hour.rules Hook business-hour.rules. Call prelude_deinit() on exit(). Whitespace police. Whitespace police. Add missing prototype. Add not equal (!=) if operator. Whitespace police. Rework logging priority, use prelude_plugin_instance_unsubscribe(). Fix regression with if comparison returning always true. Whitespace police. Whitespace police. The user can now provide infinite number of "elseif" command. Whitespace police. Initial LUA support for prelude-correlator. The only Implement alert_on_expire keyword, add a debug function. Return nil if match can not find match. Moved dump() debugging function to lib.lua, handle new match Port PCRE firewall.rules to LUA plugin. Remove explicit call to lua_gc(). Proper LUA indentation for LUA class support code. Ruleset fixes and optimisation: take advantage of provided LUA Port scan.rules and worm.rules to the LUA plugin. Cleanup table dump function, rename to tabledump() Implement IDMEF:match() method, replacing global match function. Fix memory leak. Implement IDMEF:get2(), allowing to retrieve an IDMEF value converted Implement IDMEF:getAnalyzerID(), allowing to retrieve the last Fix broken string initialization. We now have two specialized method, IDMEF:get(), which return Add some utility function, make the code compatible with LUA < 5.1 Run each ruleset independantly, this require that all ruleset Error handling improvements, bug fixes. distcheck fixes. Rename option to something more obvious. Setup a default instance of the LUA plugin. Print out the number of rulesets loaded. Correct polling timeout. Fix warnings. Allow the user to run LUA code out of the LUA rule running function, Implement IDMEFTime retrieval. Kill warning. Port old PCRE business-hour ruleset to LUA. Deprecate PCRE plugin: remove from the build. Remove debug output, coding style fixes. Build system update. Update GnuLib code. Initial Prelude-Correlator beta release. Always use $(DESTDIR), thanks to Steve Grubb <[email protected]> for Check for both lua5.1.pc and lua.pc: differents distributions seems Update NEWS, bump version number. Fix invalid installation path under certain conditions, thanks Correct multi-path detection (was not working with exactly two IDMEF Always return a table when retrieving multiple path (even Fix problem with business-hour ruleset, of updating a non Update GnuLib code. Update NEWS, bump version number. Fix ctx:set() typo, this fixes one of the problem referenced Allow to set 'nil' IDMEF value. This fixes the second issue Add AUTHORS file. Update GnuLib code. Update NEWS, bump version number. Fix impact severity / description path, thanks s/Prelude-LML/Prelude-Correlator/ Include signal.h, should fix #318. Handle idmef-data type. Implement multiple OpenSSH authentication type correlation, courtesy of Implement patch by Jeffrey C. Ollie <[email protected]>, which make IDMEF:getraw() Whitespace police. Replace dshield split() function implementation with a generic string.split() Rename table_lookup to table.find Re-implement normalize_ip() using string.format(). This speedup and simplify Fix Lua compilation problem. Complete Lua Timer() implementation. An Lua callback function can Do not stop loading if a given Lua ruleset fail. Define PRELUDE_CORRELATOR_LIB_DIR, and make it available from Lua ruleset. Use PRELUDE_CORRELATOR_LIB_DIR Now default to install dshield.lua Rewrite of the DShield ruleset featuring: Add logging from Lua ruleset. Define info(), warn(), and error() logging function, Use local. Initial infrastructure. Initial Correlation rule port from Lua. Rename to pycor Add missing IDMEF import. Install rulesets, create siteconfig. Use siteconfig.lib_dir to store internal data. Use path provided by siteconfig as base plugins path. Avoid exception if path already exist. Fix exception on NULL value. Fix typo. Launch the plugin by ourself. Additionally, handle plugin exception. Fixup indentation. flatten the list before looping through it. Improved exception printing. Implement getPluginCount(). Implement __getstate__ and __setstate__ method, so that an IDMEF instance can be pickled() and unpickled(). Update all ruleset to use the context.search, and context.destroy method. Implement simple context timer. Context() will now return the currently Wake up timer every second, implement signal handling and context loading/saving. Only alert on expire if destroy() is called from a timer. Always stop context timer on destroy() Port scan ruleset from Lua. Fix typo. Improved dry-run mode. Print statistics on SIGQUIT. Rewrite Timer() implementation. Implement the stats() function. Automatic reloading of DShield data. Implement match() as an IDMEF method. Cache compiled regex. Remove Fix reset(). Remove debug spew. Use idmef.match(). Ability to provide a replacement value with the Get() method. Reset attribute on expire. Port firewall ruleset from Lua. Add flatten argument to the Get() method, which default value is True. When retrieving a listed path, the default is to flatten it. Remove explicit flatten() usage, the Get() method now automatically perform it Code cleanup. Add template method. Make Get() return an empty list if flatten is specified and there is no value. Remove regex cache since recent Python version already does that. Force the caller to compile the regex by himself. Compile the regexp. Avoid duplicate check, and compile the regex ourselve. Prefix with OPERATOR_, as done in libprelude 0.9.22. Update permission prefix. Add option usage, and version option. Fix exception, use Python hasattr(). If IDMEF.Get() return None, and flatten is set, only return an empty tuple Handle Pickle EOFError, and fixes possible exception when pickling the Make dry-run actually work. Correctly set IDMEFAnalyzer class, model, manufacturer and version. Basic configuration handling. Ability for a plugin to be disabled by default. Make it possible to modify default server, uri, and reload time from the configuration. Remove debug spew. Fix exception. Remove everything in preparation for the import of the Python Correlator version. Rename from pycor to prelude-correlator Merge git://github.com/yoannv/pycor Correct business hour detection, thanks J. Ignacio OrmeƱo <[email protected]> for pointing this out. Whitespace police. Libprelude version check, require 0.9.23. Rename from pycor to prelude-correlator. Fix for Python 2.6 deprecation warning, no need to provide arguments to the parent method. Initial README file. Use setuptools for distribution and plugins. Fix typo. More typo fixes. Automate reference of IDMEF Alert within CorrelationAlert. Fix multiple IDMEF.match() issues Fix missing argument to BruteForce plugins function. Fix DShield host list download address, raise exception if download fail Do not reset threshold and alert_on_expire on update. Catch exception to secure Timer callback. Increase default threshold for bruteUser to 5 Include GIT generated Changelog when making source distribution Update NEWS, bump version number. _______________________________________________ Prelude-cvslog site list [email protected] http://lists.prelude-ids.org/mailman/listinfo/prelude-cvslog