Commit Graph

436 Commits

Author SHA1 Message Date
zhengchao
0037646ef6 因使用MAAT_SET_SCAN_NO_COUNT后,在Group移除region id时会出现误命中,移除对MAAT_SET_SCAN_NO_COUNT的支持。 回调表使用feather中的垃圾回收队列,便于观察队列长度。 2021-07-21 14:48:08 +08:00
zhengchao
72ffbd9809 修复bug:上一版本引入,region更新不能反映到compile命中;
改善Maat_hierarchy_compile_mid_udpate的处理性能。
2021-07-20 20:55:52 +08:00
zhengchao
0ef61c7e0b 更新性能测试用例: 验证多线程、高命中情况下的扫描性能。 2021-07-19 20:55:13 +08:00
zhengchao
ebd07cc5a7 增加性能测试用例: 高命中率、多线程扫描。 2021-07-19 20:55:12 +08:00
zhengchao
233bc2f0ef Maat_set_scan_status可以设置MAAT_SET_SCAN_NO_COUNT类型参数, 指示下一次扫描不进行计数,以减少hit path的存储开销。 2021-07-19 20:55:12 +08:00
zhengchao
99e8ffb510 修改scan status重的测试用例,覆盖更多分支。 2021-07-19 20:55:11 +08:00
zhengchao
856b79ba6c 增加IP Plugin多线程性能测试规则文件 2021-07-19 20:55:07 +08:00
zhengchao
0b6e982fdc 增加IP Plugin的性能测试用例。 2021-07-19 20:55:06 +08:00
郑超
6d5a42fb4a 提高expr_plus和interval_plus表的扫描性能 2021-07-15 03:59:09 +00:00
zhengchao
1c08363dc4 bool Matcher对输入的item id(clause id)排序和去重,会改变外部ut_array内容,可能造成风险, 去除bool matcher 中的这部分代码。 2021-07-01 14:42:14 +08:00
郑超
8bf48ba1f3 Feature faster bool matcher on reptead item 2021-06-15 01:32:46 +00:00
zhengchao
fe73ef1156 Hierarchy中,使用垃圾回收方式释放compile,避免bool_matcher命中已删除的compile后,从而非法内存访问导致段错误。 修复 TSG-6548 2021-06-01 21:40:20 +08:00
zhengchao
7980d87924 bool matcher中引用了已经被释放的compile,导致段错误。 TSG-6548 2021-06-01 21:19:41 +08:00
zhengchao
6b9162272d 修复bug: Bool matcher重建时,maat hierarchy会重新生成clause id,会引发两种bug现象:
1. 新生成的clause id,与扫描状态mid中缓存的clause id冲突,导致误命中。引发 TSG-6419
2. mid中已缓存了clause id,但是由于构造的bool macher使用新的clause id,导致漏命中。
修复方案:
1. 将生成clause id的哈希表保存在hierarchy中, 保证增量更新前后clause id不变化;
2. 在mid中增加时间戳作为版本号,旧版本的mid不进行bool matcher运算,以免误命中。
2021-05-27 20:44:21 +08:00
zhengchao
df4fad9e8b 增加测试用例: 使用同一个mid扫描时, 更新boolmatcher。 2021-05-24 23:11:54 +08:00
zhengchao
a58baa274f 为刘梦岩2021-5-15提出的IPv6误命中bug,增加单元测试用例。该问题已在rulescan_VERSION_2020_12_20、MAAT_FRAME_VERSION_3_1_21_20210513重现。 2021-05-17 20:07:51 +08:00
zhengchao
f2fac87894 修复bug: TSG-6324 在流式扫描过程中,发生版本号回滚导致的全量更新后,Maat_stream_scan_string_end释放rulescan流式扫描句柄时,会非法访问已被销毁的rulescan句柄内存,从而导致段错误。 2021-05-13 16:11:37 +08:00
zhengchao
1460f891c6 支持加载使用gzip命令压缩的maat JSON文件。允许先压缩、后加密,不支持先加密后压缩。 2021-04-28 21:44:04 +08:00
zhengchao
c5239762fe 增加测试用例:正则规则中不包含字符串 2021-04-28 12:07:12 +08:00
zhengchao
154a4e592d 增加测试用例:在扫描过程中进行全量更新。 2021-04-20 14:58:14 +08:00
zhengchao
e3b3288dc1 集成支持expr_id的bool matcher 2021-04-19 10:27:11 +08:00
zhengchao
653727e19a 增加删除8个子串的与表达式的测试用例 2020-12-20 19:54:39 +06:00
zhengchao
f908f2e3ac 修复加载8个字符串与表达式报错的bug TSG-4717;增加Hierarchy日志中输出去重后Clause的数量。 2020-12-16 10:51:34 +06:00
zhengchao
a925ed039d region_compile中compile_rule缓存数组的大小,调整为与调用参数相同。去除部分无效代码。 2020-12-05 16:54:04 +06:00
zhengchao
f8ca593ea1 增加大量compile引用一个group的测试用例。 2020-12-05 15:14:51 +06:00
zhengchao
e9a9c89116 增加IP composition的测试用例,确认端口范围的起始不能为1。 2020-11-24 21:08:40 +06:00
zhengchao
dfe0c6007b Foreign file column content uses "null" to present empty file, which will not retrieval from redis server. 2020-11-24 21:08:39 +06:00
刘学利
b29714d006 Feature fqdn plugin 2020-09-28 16:53:40 +08:00
liuxueli
0c694b5f98 增加增强数值扫描功能及对应测试用例
增加changelog到rpm包
2020-08-22 18:52:25 +08:00
zhengchao
a44e14f82d 删除IP Plugin表项时,未能及时更新ip_matcher,也未能正确同步uthash和ip_matcher的状态,导致ip_matcher返回了已被删除的ex_data。解决方案:
- 在IP Plugin的table runtime中增加垃圾回收队列,延迟删除EX_data,并延后ip_matcher在扫描线程的生效时机。
- 在scanner中增加ip_plugin_update_q_size,在IP Plugin的table runtime中增加changed_flag,以判断ip_matcher是否需要更新
2020-08-19 22:57:37 +08:00
zhengchao
f112c16d2c 修改v3版本的性能测试用例。 2020-06-22 20:27:29 +08:00
zhengchao
58ff7ddc16 打磨性能测试用例。 2020-06-22 20:27:29 +08:00
zhengchao
73d27d983c redis内部key改为unsigned long,适配性能测试用例。 2020-06-22 20:26:44 +08:00
zhengchao
af27d7197c Maat command支持批量提交 2020-06-22 20:26:44 +08:00
zhengchao
2dbbd55c95 version3单元测试通过。 2020-06-22 20:26:44 +08:00
zhengchao
df19a8ce71 通过原有功能的单元测试。 2020-06-22 20:26:43 +08:00
zhengchao
469539ab5a 基础扫描功能的测试用例通过。 2020-06-22 20:26:43 +08:00
zhengchao
2c80ba4c0a 代码适配Maat command、maat json。 2020-06-22 20:26:43 +08:00
zhengchao
7e1cb56d4f 完成Maat_hierarchy规则加载重构的代码编写,未编译。 2020-06-22 20:26:42 +08:00
zhengchao
1179e9c76a 在编译配置级别支持合取范式,编译配置最多8个子句(Clause)组成,子句内的分组是“或”运算,子句之间是“与”运算。 2020-06-22 20:26:41 +08:00
zhengchao
4b4d25b691 合并plugin和ip_plugin的处理逻辑,抽象为Maat_ex_data.h/cpp。 2020-05-13 14:53:25 +08:00
zhengchao
7f46a386cf 修复bug:命中未被compile或其它group引用的group时,未将其加入hit path。 2020-04-03 19:44:59 +08:00
zhengchao
54c5cf9d86 新增composition类型表,支持IP构成功能,可将Source和Destination两个子表组合为待扫描的IP表,子表可以是虚拟表。 2020-03-11 23:26:55 +08:00
zhengchao
7bf6dd6278 增加IP virtual的测试用例。 2020-03-11 15:45:43 +08:00
zhengchao
ad2e957d2f 修复bug:IPv4和IPv6规则未正确加载源端口,IPv6规则未正确加载目的端口。 2020-03-04 19:39:39 +08:00
zhengchao
af6f23fd13 Evaluation Order为0时,策略执行顺序最靠后。 2020-02-28 18:00:44 +08:00
zhengchao
b6fd57ffb9 增加hit path功能的单元测试用例。 2020-02-11 18:00:06 +08:00
zhengchao
278a6b9203 为支持命中路径功能,重构scan_status相关函数,用TAILQ替代dynamic_array。 2020-02-11 00:14:56 +08:00
zhengchao
32f4e4507e 执行顺序术语修改:将execute sequence修改为evaluation order。 2020-02-04 16:36:29 +08:00
zhengchao
017a2a3816 增加Maat_rule_sort_by_exec_seq函数,可以按执行顺序对策略排序。 2020-02-04 11:00:57 +08:00