Commit Graph

503 Commits

Author SHA1 Message Date
zhengchao
0cf4b2bb24 抽象垃圾回收模块,新增Maat_garbage_collection.cpp/h 2020-06-05 11:44:54 +08:00
zhengchao
65af4bfd13 尝试分离hierarchy的中间版本 2020-06-05 11:44:54 +08:00
zhengchao
cad9604695 使用glibc中的remove函数替代rm命令;清理无用代码,垃圾回收方式删除外键文件功能,在不支持MAAT_OPT_FOREIGN_CONT_LINGER选项后已不使用。 2020-06-05 11:44:54 +08:00
zhengchao
54504a9d77 在编译配置级别支持合取范式,编译配置最多8个子句(Clause)组成,子句内的分组是“或”运算,子句之间是“与”运算。 2020-06-05 11:44:54 +08:00
zhengchao
091a19fd4c 头文件中keyword和district为'\0'多保留1个字节。 2020-06-05 11:43:15 +08:00
zhengchao
a96c3fc3b6 修复读取epxr配置时,关键字长度超过1024字节后导致内存越界 TSG-1893 2020-06-05 10:42:47 +08:00
zhengchao
5c304dfe14 修复创建ip_matcher时导致的内存泄漏。Close #22 v2.9.1 2020-06-05 10:24:37 +08:00
zhengchao
de9cee06b6 更新Maat版本号到2.9 v2.9 v2.9.0 2020-05-13 19:37:38 +08:00
郑超
593e891cf2 Merge branch 'feature-ip-plugin' into 'master'
Feature ip plugin

See merge request MESA_framework/maat!42
2020-05-13 16:37:10 +08:00
zhengchao
de53e4676b 更新ip_matcher,解决IPv6字节序问题。
根据rfc2553,ipv6地址是一个16字节的数组,用网络序存储。
3.2 IPv6 Address Structure
   A new in6_addr structure holds a single IPv6 address and is defined
   as a result of including <netinet/in.h>:
      struct in6_addr {
          uint8_t  s6_addr[16];      /* IPv6 address */
      };
This data structure contains an array of sixteen 8-bit elements, which make up one 128-bit IPv6 address. The IPv6 address is stored in network byte order.
IPv6地址由高位到低位存储在第0至15个uint8_t中。例如地址2001:0db8:1234::5210,rfc2553存储为(通过inet_pton):
static const uint8_t myaddr[16] = { 0x20, 0x01, 0x0d, 0xb8, 0x12, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x10 };

上述地址转换为uint32_t网络序后:
static const uint32_t myaddr_network_byte_order[4]={ 0xb80d0120, 0x3412, 0x0, 0x10520000}

再转换为主机序后,这也是MAAT输入ipmatcher和rulescan的格式:
static const uint32_t myaddr_host_byte_order[4]={ 0x20010db8, 0x12340000, 0x0, 0x5210}

目前,ip_matcher中int数组高位到低位的顺序是a[3]a[2]a[1]a[0],与RFC2553、Linux都不一致。
2020-05-13 14:53:26 +08:00
zhengchao
4b4d25b691 合并plugin和ip_plugin的处理逻辑,抽象为Maat_ex_data.h/cpp。 2020-05-13 14:53:25 +08:00
zhengchao
9d0d510348 新增IP回调表,可以进行IPv4和IPv6的区间匹配。 2020-05-13 14:53:25 +08:00
郑超
8729ebfbbe Merge branch 'bugfix-loss-hit-compile' into 'master'
scan_hit_status_update_by_compile函数的循环中,未重置n_exsited_path,导致丢失命中的compile。

See merge request MESA_framework/maat!41
v2.8.1
2020-04-20 16:57:21 +08:00
zhengchao
8205efb1b3 scan_hit_status_update_by_compile函数的循环中,未重置n_exsited_path,导致丢失命中的compile。 2020-04-20 16:56:51 +08:00
刘学利
5a450d2d15 Merge branch 'CI' into 'master'
Ci

See merge request MESA_framework/maat!40
v2.8.0
2020-04-15 15:40:45 +08:00
liuxueli
6932f3d29b 修正CMakeList.txt及Package.cmake 2020-04-15 15:00:32 +08:00
liuxueli
2421e1ae83 安装openssl-devel 2020-04-15 14:44:12 +08:00
liuxueli
4a65c4d671 修改环境变量 2020-04-15 13:59:32 +08:00
liuxueli
264dff07c8 安装sapp-devel;使用sapp头文件 2020-04-15 13:49:49 +08:00
liuxueli
ae84f93ea5 安装依赖库 2020-04-15 13:45:27 +08:00
liuxueli
8fab23085d 安装依赖库 2020-04-08 10:13:16 +08:00
liuxueli
58c0b6e30f 安装依赖库 2020-04-08 09:33:14 +08:00
liuxueli
60574646f2 安装依赖库 2020-04-08 09:23:23 +08:00
liuxueli
f825b22e34 安装依赖库的devel版本 2020-04-07 16:12:10 +08:00
liuxueli
125494b9f8 add autorevision.sh 2020-04-07 16:06:22 +08:00
liuxueli
0ffb995693 支持CI及上传rpm至yum源 2020-04-07 16:04:09 +08:00
郑超
576ba6c0de Merge branch 'bugfix-hit-path-miss-no-reference-group' into 'master'
修复bug:命中未被compile或其它group引用的group时,未将其加入hit path。

See merge request MESA_framework/maat!39
2020-04-03 19:45:19 +08:00
zhengchao
7f46a386cf 修复bug:命中未被compile或其它group引用的group时,未将其加入hit path。 2020-04-03 19:44:59 +08:00
郑超
737f377511 Merge branch 'feature-ip-composition' into 'master'
Feature ip composition

See merge request MESA_framework/maat!38
2020-03-31 19:54:53 +08:00
zhengchao
ecaab32f02 解决Maat JSON加载时间过长的问题:由json转换的iris格式用\n换行,但是读取iris格式时先搜索"\r"后搜索"\n",导致搜索时间过长。 2020-03-31 19:52:26 +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
郑超
590157e5c5 Merge branch 'bugfix-hit-path-duplicate' into 'master'
编译配置命中更新hit path流程,在复制共享region_id的hit path时,重复复制。

See merge request MESA_framework/maat!37
2020-03-09 20:47:15 +08:00
zhengchao
91a186d2d3 编译配置命中更新hit path流程,在复制共享region_id的hit path时,重复复制。 2020-03-09 20:45:59 +08:00
郑超
e20bb224e7 Merge branch 'feature-hit-path' into 'master'
Feature hit path

See merge request MESA_framework/maat!36
2020-03-05 09:04:13 +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
郑超
2cd54ae7cf Merge branch 'feature-execute-sequence' into 'master'
执行顺序术语修改:将execute sequence修改为evaluation order。

See merge request MESA_framework/maat!35
2020-02-04 16:37:51 +08:00
zhengchao
32f4e4507e 执行顺序术语修改:将execute sequence修改为evaluation order。 2020-02-04 16:36:29 +08:00
郑超
f0866dae76 Merge branch 'feature-execute-sequence' into 'master'
增加Maat_rule_sort_by_exec_seq函数,可以按执行顺序对策略排序。

See merge request MESA_framework/maat!34
2020-02-04 11:01:58 +08:00
zhengchao
017a2a3816 增加Maat_rule_sort_by_exec_seq函数,可以按执行顺序对策略排序。 2020-02-04 11:00:57 +08:00
郑超
02b9914210 Merge branch 'feature-encrypt-maat-json' into 'master'
Feature encrypt maat json

See merge request MESA_framework/maat!33
2020-01-22 20:55:54 +08:00
zhengchao
0b15441525 Merge branch 'feature-encrypt-maat-json' of git.mesalab.cn:MESA_framework/maat into feature-encrypt-maat-json 2020-01-22 20:54:48 +08:00
zhengchao
987cb5708a maat json文件支持aes-256-cbc加密,密码通过MAAT_OPT_DECRYPT_KEY选项指定,只在内存中解密,iris格式的中间状态文件也被加密。 2020-01-22 20:51:05 +08:00
zhengchao
d914fa1cb2 重构渲染iris文件的代码,逐条写入内存后,再一次性写入文件。 2020-01-22 20:51:04 +08:00
zhengchao
94f11e5a7b 支持maat json文件加密。 2020-01-22 20:51:04 +08:00
zhengchao
cc40446df7 maat json文件支持aes-256-cbc加密,密码通过MAAT_OPT_DECRYPT_KEY选项指定,只在内存中解密,iris格式的中间状态文件也被加密。 2020-01-22 20:49:45 +08:00
zhengchao
1df85b7825 重构渲染iris文件的代码,逐条写入内存后,再一次性写入文件。 2020-01-22 18:25:01 +08:00