zhengchao
1179e9c76a
在编译配置级别支持合取范式,编译配置最多8个子句(Clause)组成,子句内的分组是“或”运算,子句之间是“与”运算。
2020-06-22 20:26:41 +08:00
zhengchao
48881faafe
头文件中keyword和district为'\0'多保留1个字节。
2020-06-22 20:26:40 +08:00
zhengchao
9c34ce3a9c
修复读取epxr配置时,关键字长度超过1024字节后导致内存越界 TSG-1893
2020-06-22 20:26:40 +08:00
郑超
4cb3f13b14
Merge branch 'bugfix-ip-plugin-htable-size-ineffective' into 'master'
...
修正设置IP Plugin时,未正确设置estimate size的bug,默认值4K,在加载大量配置时会发生严重哈希冲突。
See merge request MESA_framework/maat!46
v2.9.3
2020-06-22 20:23:54 +08:00
zhengchao
14078e971c
修正设置IP Plugin时,未正确设置estimate size的bug,默认值4K,在加载大量配置时会发生严重哈希冲突。
2020-06-22 20:22:20 +08:00
zhengchao
2cfdbc5127
修改v3版本的性能测试用例。
2020-06-22 20:15:08 +08:00
zhengchao
8983bfc9ad
打磨性能测试用例。
2020-06-19 20:49:54 +08:00
zhengchao
e214fc5afc
redis内部key改为unsigned long,适配性能测试用例。
2020-06-18 21:59:44 +08:00
zhengchao
7044456f83
Maat command支持批量提交
2020-06-17 19:59:55 +08:00
zhengchao
15253f9966
version3单元测试通过。
2020-06-16 22:19:02 +08:00
zhengchao
adf5cd8af8
通过原有功能的单元测试。
2020-06-16 21:31:26 +08:00
zhengchao
81a827d162
基础扫描功能的测试用例通过。
2020-06-14 20:52:14 +08:00
zhengchao
d67aa1b8b2
代码适配Maat command、maat json。
2020-06-13 21:05:42 +08:00
郑超
7519c63d66
Merge branch 'bugfix-foreign-content-missed' into 'master'
...
读取外键文件时,循环下标设置错误。
See merge request MESA_framework/maat!45
v2.9.2
2020-06-11 18:23:14 +08:00
zhengchao
34e495a1b9
读取外键文件时,循环下标设置错误。
2020-06-11 18:20:06 +08:00
zhengchao
f6973954be
读取外键文件时,循环下标设置错误。
2020-06-11 18:12:22 +08:00
zhengchao
10df3b503f
完成Maat_hierarchy规则加载重构的代码编写,未编译。
2020-06-11 18:03:32 +08:00
zhengchao
da7fde5620
准备放弃sqlite,改用multimap。sqlite必须集中提交以获得高性能,这将不利于Maat进行异常处理。同时考察了以下key value stores:
...
* LevelDB和RocksDB太重了
* Berkeley DB也有点重,而且免费版使用类似AGPL的高传染性License,收费版一个Processor就要1000-13000美元。它提供的bdbfirewallexample很有意思,以后可能有机会使用。
* LMDB轻量、快速,Mark下,以后有机会使用。
2020-06-07 11:23:08 +08:00
zhengchao
e09b31e8f9
准备用sqlite3替代MESA_htable进行Maat hierarchy构建。
2020-06-06 18:13:33 +08:00
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