Commit Graph

704 Commits

Author SHA1 Message Date
liuwentan
0536083cbe support scan ip 2022-12-09 17:12:18 +08:00
liuwentan
6ba2f6241e add conjunction table 2022-12-06 00:35:36 +08:00
liuwentan
6d18cf0f36 add input mode unit-test 2022-12-05 23:21:18 +08:00
liuwentan
ea4c1ba4c3 add json/redis rule parser 2022-12-03 22:23:41 +08:00
liuwentan
84a271144b fix memory leak and add framework test 2022-11-29 14:12:40 +08:00
liuwentan
7e6d131c9e framework work well 2022-11-25 16:32:29 +08:00
liuwentan
2a83517894 unfinished work 2022-11-17 05:05:35 +08:00
liuwentan
d9f62317b2 [SCANNER]modify hyperscan deps 2022-10-31 11:21:51 +08:00
liuwentan
6881611975 [SCANNER]add hyperscan libs 2022-10-27 17:58:52 +08:00
zhengchao
6d7354a866 Add some drafts 2022-10-27 17:24:54 +08:00
zhengchao
7e860f2c58 Refactor from scratch. 2022-10-26 14:41:22 +08:00
Zheng Chao
18ece0b026 Stash for source insight 2022-10-26 10:25:16 +08:00
zhengchao
e5c9d7a2a0 Hyperscan adapter is in progress. 2022-10-25 13:17:02 +08:00
liuxueli
bf7ef3eb6c 提供maat_redis_tool的rpm安装包 v3.6.15 2022-10-09 18:22:42 +08:00
zhengchao
f88f730fd6 Upgrade hiredis library: hiredis-vip-0.3.0.tar.gz -> hiredis-1.0.2.tar.gz. v3.6.14 v3.6.13 v3.6.12 2022-08-23 19:04:35 +08:00
zhengchao
10118ffed3 Add unit test cases for Boolean Expression Plugin (bool_plug) table. 2022-08-23 18:32:03 +08:00
zhengchao
ddd36c2969 Refactor table schema and runtime to support boolean expression plugin. 2022-08-23 15:04:55 +08:00
zhengchao
47a71011db 和redis通信发生错误后,立即关闭链接,待下次遍历重连。 v3.6.11 3.6.11 2022-07-13 14:59:28 +08:00
zhengchao
d482a8d226 加载plugint table和xx_plugin table时,table中的rule计数仅统计上次更新后的生效rule数量。 在全量更新时,rule number会变为0,部分解释了 TSG-11071 。 v3.6.10 2022-06-30 17:16:39 +08:00
zhengchao
258ece3fa1 从redis读取到无对应table的rule时,写日志。 2022-06-30 14:39:22 +08:00
zhengchao
432337da6d 新创建的clause,在加入哈希表时,使用了compile中的literal_ids指针,导致内存非法读。修复 TSG-9741 TSG-10495 v3.6.9 2022-04-29 20:37:01 +08:00
zhengchao
af4cdebe2c 修复bug: IP Plugin和FQDN Plugin更新时, 先释放了哈希表索引的ex data, 后进行匹配引擎重建,导致匹配线程从旧的匹配引擎中访问到已释放的结构体,造成Segmentation fault TSG-10486 v3.6.7 2022-04-28 11:32:14 +08:00
zhengchao
d814b4e9eb 修复bug:ex_data释放时,使用错误的hash表删除索引。 This fix is related to TSG-10486 v3.6.6 2022-04-27 14:25:15 +08:00
zhengchao
fd88b6a266 EX_data_rt_row2EX_data返回-1时,ip_rule和fqdn_rule内存未释放,导致内存泄漏 TSG-10475。 v3.6.5 2022-04-26 16:34:54 +08:00
zhengchao
742512e10f 修复由于笔误将Maat_hierarchy_clause_fetch中的局部变量的定义为静态变量的错误。 多个maat实例同时重建布尔表达式运算器时,该错误会导致线程不安全访问静态变量,但不应导致 TSG-9741 。 2022-04-23 18:17:28 +08:00
zhengchao
a4fcb73f8a 在ex data更新时,操作哈希时笔误,导致断错误。 v3.6.3 2022-03-04 13:01:28 +05:00
zhengchao
a184be53de ex data更新可能耗时10秒以上,超过全局垃圾回收时间,导致非法内存访问。因此, 每个表的ex data使用独立的垃圾回收队列,每次更新完毕时强制回收。 v3.6.2 2022-03-03 15:39:39 +05:00
刘学利
377d0da92c TSG-9690: 适配Rocky Linux8.5 v3.6.1 2022-03-02 03:13:16 +00:00
zhengchao
7e1f3eb3d6 删除无用的成员。 v3.6.0 2022-01-22 11:36:58 +05:00
zhengchao
732a944ff4 EX_data中的hash表使用RCU更新,替代读写锁,提高多线程下的访问性能。 2022-01-21 22:31:13 +05:00
zhengchao
dd86ba5fc1 JSON文件中不包含有效配置时,避免段错误。 TSG-9349 v3.5.3 2022-01-13 12:06:09 +05:00
zhengchao
d2db95e528 Maat_rule_get_ex_data读取compile rule的exdata时,对scanner判空,避免无配置时发生段错误。 修复 TSG-9349 2022-01-12 10:43:46 +05:00
zhengchao
65712be21c 未正确统计0号线程的outer_mid和inner_mid计数 v3.5.2 2021-10-24 17:23:08 +03:00
zhengchao
ab22b32a25 Use new method to stat rule number of plugin, ip_plugin and fqdn_plugin table. v3.5.1 2021-10-24 15:16:43 +03:00
zhengchao
6e50978258 maat stat输出plugin(含EX data)、fqdn_plugin、IP_plugin中有效规则的数量。调整outer scan_status的计数方式。 2021-10-24 12:04:11 +03:00
zhengchao
aee1da170e 修复expr表无配置时,maat_stat文件输出的stream计数出现负数的bug。 2021-10-24 09:23:56 +03:00
zhengchao
9e91bc0973 Expr_plus表增加中英文混合district的测试用例 v3.5.0 2021-10-20 10:54:55 +03:00
zhengchao
d954c5a011 expr_plus和interval_plus表的district对英文大小写不敏感。 2021-10-20 00:02:43 +03:00
zhengchao
342c3c36b3 将rulescan.h的编码由GBK转为utf8 v3.4.11 2021-10-12 11:52:45 +03:00
zhengchao
51b26e3a54 修复expr_plus和expr混合扫描时,expr漏命中的问题。 2021-10-12 09:55:53 +03:00
zhengchao
2eb2a4aca9 修复bug:对于已命中编译配置的mid,扫描expr_plus或interval_plus表,命中表达式/区间,但没命中district时,会错误的返回之前已命中的编译配置。 v3.4.10 2021-10-11 19:16:17 +03:00
liuxueli
42c017467f 设置district命中策略后,使用同一个scan_mid再设置不同的district也命中策略 2021-10-11 22:13:22 +08:00
zhengchao
593bcfb907 修复 TSG-7994 ,避免处理未知district时出现误命中。 v3.4.9 2021-10-11 12:00:26 +03:00
liuxueli
a2f2adc82a 策略中的district与扫描时设置的district不一致时命中了策略 2021-10-11 14:57:18 +08:00
liuxueli
c84fb97aae 如果扫描无规则数值类型的table时直接返回,导致未进行非表达式的运算。 v3.4.8.1 v3.4.8-hotfix v3.4.8 2021-08-20 14:44:09 +08:00
zhengchao
d86d220f33 Rebase. 适配支持Prometheus输出的Field Stat2 2021-08-19 22:10:36 +08:00
zhengchao
465ad3ca6a 如果扫描无规则table时直接返回,导致未进行非表达式的运算。 2021-08-19 21:47:38 +08:00
zhengchao
293ad8e21c 让非表达式的测试用例更复杂 2021-08-19 21:47:38 +08:00
zhengchao
bcba756119 增加非表达式测试用例:对于compile {url!=a&ip=b}, 先扫非条件(url不命中),后扫命中条件(ip命中) 2021-08-19 21:47:37 +08:00
zhengchao
3cc9c5dcb7 增加IP Composition表的非规则测试用例 2021-08-19 21:47:37 +08:00