Commit Graph

312 Commits

Author SHA1 Message Date
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
6881611975 [SCANNER]add hyperscan libs 2022-10-27 17:58:52 +08:00
zhengchao
7e860f2c58 Refactor from scratch. 2022-10-26 14:41:22 +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
d2db95e528 Maat_rule_get_ex_data读取compile rule的exdata时,对scanner判空,避免无配置时发生段错误。 修复 TSG-9349 2022-01-12 10:43:46 +05:00
zhengchao
9e91bc0973 Expr_plus表增加中英文混合district的测试用例 2021-10-20 10:54:55 +03:00
zhengchao
d954c5a011 expr_plus和interval_plus表的district对英文大小写不敏感。 2021-10-20 00:02:43 +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时,会错误的返回之前已命中的编译配置。 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时出现误命中。 2021-10-11 12:00:26 +03:00
liuxueli
a2f2adc82a 策略中的district与扫描时设置的district不一致时命中了策略 2021-10-11 14:57:18 +08:00
liuxueli
c84fb97aae 如果扫描无规则数值类型的table时直接返回,导致未进行非表达式的运算。 2021-08-20 14:44:09 +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
zhengchao
50934de91d Plugin表更新后,不需要进行Hierarchy的重建。 2021-08-05 13:51:17 +08:00
zhengchao
0cb6a59d31 增加FQDN Plugin多线程扫描和更新的测试用例 2021-08-05 11:50:53 +08:00
zhengchao
96abe1d9f4 Maat_hierarchy_build_region2clause_hash中,不在对group中的region id排序和去重, 可以提高大Group的加载性能。 2021-07-27 15:17:29 +08:00
zhengchao
479eb77369 基于Maat_cmd的测试用例增加扫描状态输出。 2021-07-21 15:30:30 +08:00
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