AIEngine 下一代可编程的开源网络入侵检测系统,

概述

AIEngine是下一代交互式/可编程Python/Ruby/Java/Lua和Go网络入侵检测系统引擎,具有学习能力 无需任何人工干预、DNS 域分类、垃圾邮件检测、网络收集器、网络取证等等。

AIEngine 还帮助网络/安全专业人员识别流量并开发 用于在 NIDS、防火墙、流量分类器等上使用它们的签名。

主要功能:

  • 支持在引擎运行时与用户交互/编程。
  • 支持 PCRE JIT 进行正则表达式匹配。
  • 支持正则表达式图(复杂的检测模式)。
  • 支持六种类型的 NetworkStacks(lan、mobile、lan6、virtual、oflow 和 mobile6)。
  • 用于 IP 搜索的支持集和布隆过滤器。
  • 在 Linux、FreeBSD 和 MacOS 等操作系统上支持 x86_64、ARM 和 MIPS 架构。
  • 支持 HTTP、DNS 和 SSL 域匹配。
  • 支持 HTTP、DNS、SMTP 和 SSL 的禁止域和主机。
  • 未知流量的频率分析和自动正则表达式生成。
  • Yara 签名的生成。
  • 与数据库(MySQL、Redis、Cassandra、Hadoop 等)轻松集成以进行数据关联。
  • 与其他数据包引擎 (Netfilter) 轻松集成。
  • 支持内存清理缓存,用于刷新存储的内存信息。
  • 支持在网络/应用层检测 DDoS。
  • 支持拒绝 TCP/UDP 连接。
  • 支持实时网络取证。
  • 支持 SSL 上的 JA3 TLS 签名。
  • 支持比特币、CoAP、DHCPv4/DHCPv6、DNS、DTLS、GPRS、GRE、HTTP等协议,
    ICMPv4/ICMPv6、IMAP、IPv4/v6、Modbus、MPLS、MQTT、Netbios、NTP、OpenFlow、PPPoE、
    POP、Quic、RTP、SIP、SMB、SMTP、SSDP、SSH、SSL、TCP、UDP、VLAN、VXLAN;
  • 集成 HTTP Server,用于实时检索和配置系统。

网络堆栈类型:

  • StackLan (lan) 基于 IPv4 的局域网。
  • StackLanIPv6 (lan6) 支持 IPv6 的局域网。
  • 用于 IPv4 的 StackMobile(移动)网络移动(Gn 接口)。
  • StackVirtual (virtual) VxLan 和 GRE Transparent 适用于虚拟/云环境的堆栈。
  • StackOpenFlow (oflow) 用于开放流环境的堆栈。
  • StackMobileIPv6 (mobile6) 用于 IPv6 的网络移动(Gn 接口)。

使用指南

要使用 AIEngine(reduce version) 只需执行二进制 aiengine 或使用 python/ruby/java/lua 绑定。
本处仅以python为例进行说明,其余的使用,可参考官方文档:https://bitbucket.org/camp0/aiengine/src/master/

对于编译 Python 库也推荐 boost-python3-devel 或 boost-python-devel 和 python-devel。编译库的第一个选项是使用 O3 编译优化,这将生成一个小库

$ git clone https://bitbucket.com/camp0/aiengine
$ ./autogen.sh
$ ./configure
$ cd src
$ make python
$ python pyai_test.py

第二个选项将使用 setup.py 使用标准的 pythonic 方式编译库,这将生成 如果与前一个相比,一个更大的库大小。

$ git clone https://bitbucket.com/camp0/aiengine
$ ./autogen.sh
$ ./configure
$ cd src
$ python setup.py build_ext -i 
$ python pyai_test.py
$ python3.6 setup.py build_ext -i 
$ python3.6 pyai_test.py

python 库包含引擎提供的所有功能。

可选功能:系统根据您的要求提供以下启用/禁用功能。

  • enable-tcpqos 启用 TCP QoS Metrics 支持以测量连接的 QoS。
  • enable-bloomfilter 为 IP 查找启用布隆过滤器支持。 此选项应具有正确的库
  • enable-reject 为 StackLans 和 StackLanIPv6 对象上的中断建立连接启用 TCP/UDP 拒绝连接支持。
  • enable-pythongil 为多线程应用程序启用 Python Gil 支持。
  • enable-static-memory 为内存需求低的系统启用静态/固定内存支持(256 字节插槽)。
  • enable-code-coverage 启用代码覆盖支持(开发)。
  • enable-sanatizer 启用 sanatizer 测试支持(开发)。
  • enable-ja3 启用在 JA3 格式上生成 TLS 指纹。

将 AIEngine 与其他系统集成/编程:

AIEngine 是一个 python/ruby/java/lua 模块,它也允许在与其他系统和功能的集成方面更加灵活。 python模块提供导出的主要对象如下:

BitcoinInfo
    Cache
    CoAPInfo
    DCERCPInfo
    DHCPInfo
    DHCPv6Info
    DNSInfo
    DTLSInfo
    DatabaseAdaptor
    DomainName
    DomainNameManager
    Flow
    FlowManager
    Frequencies
    FrequencyGroup
    HTTPInfo
    HTTPUriSet
    IMAPInfo
    IPAbstractSet
        IPRadixTree
        IPSet
    IPSetManager
    LearnerEngine
    MQTTInfo
    NetbiosInfo
    NetworkStack
        StackLan
        StackLanIPv6
        StackMobile
        StackMobileIPv6
        StackOpenFlow
        StackVirtual
    POPInfo
    PacketDispatcher
    PacketFrequencies
    QuicInfo
    Regex
    RegexManager
    SIPInfo
    SMBInfo
    SMTPInfo
    SSDPInfo
    SSHInfo
    SSLInfo
    TCPInfo

更多说明文档,请参考:
https://bitbucket.org/camp0/aiengine/wiki/Home
‘https://aiengine.readthedocs.io/en/latest/aiengine.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笨猪起飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值