Commit Graph

672 Commits

Author SHA1 Message Date
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运算,以免误命中。
3.1.22
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
85daf06a79 TSG-6345 redis断开期间redis内的数据发生变化,且版本号未发生回滚,导致maat无法加载新配置。 修复方法: 重连redis后,触发全量配置更新。 v3.1.20 2021-05-13 17:51:23 +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
c1355dd3e5 为了便于单元测试,支持设置垃圾回收时间,默认10秒。 2021-04-28 12:06:34 +08:00
zhengchao
66c294feae 确认bug修复:组合扫描命中域配置或编译配置时,进行全量更新,会导致的hierarchy导致的死锁。 更新版本号为 v3.1.19 v3.1.19 2021-04-20 15:04:02 +08:00
zhengchao
154a4e592d 增加测试用例:在扫描过程中进行全量更新。 2021-04-20 14:58:14 +08:00
zhengchao
cd5f2c7c26 Maat Hierarchy中的compile mid结构体保留了Hier的指针,可能指向已被释放的hier,导致扫描线程死锁。 2021-04-20 12:47:05 +08:00
zhengchao
ac4b39e6f5 Maat_hierarchy_region_compile按照用户传入的结果数量申请缓存,当bool mactcher返回的结果中包含之前命中过的compile时, 可能导致bool matcher未返回全部的命中结果。 v3.1.18 2021-04-19 10:27:12 +08:00
zhengchao
0f6eccbb47 增加hierarachy中为每个线程分配expr_buff,以修复使用用户设置的缓冲区大小,导致不命中的bug。 2021-04-19 10:27:11 +08:00
zhengchao
e3b3288dc1 集成支持expr_id的bool matcher 2021-04-19 10:27:11 +08:00
liuxueli
0eff6faae6 使用流式扫描接口,命中多个不同策略时导致死循环 2021-04-18 21:10:27 +08:00
刘学利
912749b1cd Fix memory leak by update uncare table v3.1.17 2021-04-01 02:28:12 +00:00
郑超
f82454a310 修复bug:ip_plugin和fqdn_plugin的扫描线程可能访问到无效的EX_data_container,导致#26; plugin的扫描线程和更新线程发生线程不安全访问EX_data_rt中的uthash。 v3.1.16 2021-03-20 08:09:52 +00:00
liuxueli
1d8f35ca50 未对for中释放内存的变量置NULL,当redis-server不可用时,freeReplyObject释放内存时出错 v3.1.15 2021-03-17 16:00:36 +08:00
liuxueli
673eeb9413 校验子句的序号值,避免越界重启 v3.1.14 2021-03-15 11:25:59 +08:00
liuxueli
dc6d324b52 生效范围支持对\b、\\、\&字符转义 v3.1.13 2021-03-11 09:36:07 +08:00
zhengchao
80576aafbc 扫描expr_plus表时,避免对rulescan result的不必要的拷贝。 2021-03-09 13:44:43 +08:00
zhengchao
af64b86de8 增加版本号 v3.1.12 2021-03-08 20:04:12 +08:00
zhengchao
460831ea23 处理expr_plus中的district时,使用了memmove,当命中region较多时,显著影响性能。 #25 2021-03-08 18:59:51 +08:00
zhengchao
593cb23a7d 更新版本号到3.1.11 v3.1.11 2021-01-29 21:08:14 +08:00
zhengchao
e12bef3033 Maat_hierarchy_compile_mid_update_by_compile中的assert并不准确:在扫描命中region后,进行region_compile之前,该region被删除时,此region不会加入hit_path。 2021-01-29 21:06:32 +08:00
zhengchao
653727e19a 增加删除8个子串的与表达式的测试用例 v3.1.10 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缓存数组的大小,调整为与调用参数相同。去除部分无效代码。 v3.1.9 v3.1.8 2020-12-05 16:54:04 +06:00
zhengchao
f8ca593ea1 增加大量compile引用一个group的测试用例。 2020-12-05 15:14:51 +06:00
zhengchao
df48863c65 1. 提高group被大量compile同时引用的性能
2. 修复Maat_hierarchy_region_compile中对literal_ids的线程不安全访问,在配置更新时可导致段错误。
2020-12-05 13:39:48 +06:00
liuxueli
e6a7f24863 同时命中compile数量过多时,仅对MAX_GROUP_CACHE个数中间结果的进行排序,减少循环的次数 v3.1.5 2020-11-25 11:28:01 +06:00
zhengchao
b9779088b9 对命中clause_id的数量设置上限,避免同时命中compile数量过多时,utarray排序耗时过大。 2020-11-24 21:08:40 +06:00
zhengchao
e9a9c89116 增加IP composition的测试用例,确认端口范围的起始不能为1。 2020-11-24 21:08:40 +06:00
zhengchao
17c450f8c3 修改字符串配置编码转换失败的告警级别,从FATAL降为Debug, 2020-11-24 21:08:40 +06:00
zhengchao
1fd05de8a0 修复serial rule中存储foreign key的数组使用了错误的下标的bug。 2020-11-24 21:08:40 +06:00
zhengchao
12c29eb375 更新版本号到3.1.4 2020-11-24 21:08:39 +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
liuxueli
c18fe6e945 修复返回错误命中个数的BUG v3.1.4 2020-11-24 19:13:20 +06:00
杨威
b549f40a5c Update .gitlab-ci.yml testing源仅debug版开启asan 2020-10-30 23:06:16 +08:00
zhengchao
4fbcf21ef5 MAAT_OPT_SCAN_DETAIL选项的默认值错误的初始化为2,应该为0。 v3.1.3 2020-10-19 19:51:53 +08:00
zhengchao
dda54b519e 修复删除FQDN Plugin配置时产生的内存泄露。 2020-10-19 16:11:25 +08:00
yangwei
331e1a6380 🐞fix: 兼容C99,inline前增加static修饰 2020-10-14 18:23:48 +08:00
yangwei
d7034e56c6 🐞fix: 兼容C99标准,inline函数前增加static描述符 2020-10-14 17:53:03 +08:00
yangwei
d1ed37b595 🔧build:
更新gitignore和调整version.txt输出目录
2020-10-14 17:53:03 +08:00
杨威
1965c064e0 Update travis.sh, ASAN using devtoolset-7 2020-10-14 15:10:04 +08:00
刘学利
b6ea144cc1 Merge branch 'export-version-upload-to-sentry' into 'develop-version3'
Export version upload to sentry

See merge request MESA_framework/maat!57
v3.1.1
2020-10-09 16:16:58 +08:00
刘学利
881d9bff68 Export version upload to sentry 2020-10-09 16:16:58 +08:00
刘学利
571e48ea5b Merge branch 'export-version-upload-to-sentry' into 'develop-version3'
Export version upload to sentry

See merge request MESA_framework/maat!56
2020-10-09 16:07:11 +08:00
刘学利
a80aad28bd Export version upload to sentry 2020-10-09 16:07:11 +08:00
郑超
d3dd53ec4c Merge branch 'feature-redis-read-enhancement' into 'develop-version3'
Feature  redis read enhancement

See merge request MESA_framework/maat!55
2020-09-30 16:19:04 +08:00