S7CommPlus 检查器

S7CommPlus 检查器概述

类型

检查器(服务)

使用方式

检测

实例类型

多实例

所需其他检查器

stream_tcp

已启用

false

S7CommPlus 是由Siemens 开发的专有协议。S7CommPlus 支持Siemens S7 产品系列的可编程逻辑控制器之间的通信。

S7Commplus 检查器可检查并分析 S7Commplus 流量。可以设置入侵规则选项以对指定的 S7CommPlus 函数和操作代码报头字段发出警报,并检测 S7CommPlus 流量中的攻击。

配置 S7CommPlus 检查器的最佳实践

如果您的网络中没有开启的 S7CommPlus 设备,请不要在应用于流量的网络分析策略中开启 S7CommPlus 巡检器。

S7CommPlus 检查器参数

S7CommPlus TCP 端口配置

绑定程序 检查器定义 S7CommPlus TCP 端口配置。有关详细信息,请参阅绑定程序检查器概述

示例:
[
    {
        "when": {
            "role": "server",
            "proto": "tcp",
            "ports": "102"
        },
        "use": {
            "type": "s7commplus"
        }
    },
    {
        "when": {
            "role": "any",
            "service": "s7commplus"
        },
        "use": {
            "type": "s7commplus"
        }
    }
]


s7commplus 检查器不提供任何参数。


S7CommPlus 检查器规则

启用 s7commplus 检查器规则以 生成事件并在内联部署中丢弃攻击性数据包

表 1. S7CommPlus 检查器规则

GID:SID

Rule Message

149:1

S7commplus MBAP 信头中的长度与给定 S7commplus 功能所需的长度不匹配

149:2

S7commplus 协议 ID 为非零

149:3

保留的 S7commplus 功能代码正在使用中

S7CommPlus 检查器入侵规则选项

可以单独使用 S7Commplus 关键字或组合来创建自定义入侵规则,这些规则根据 S7Commplus 检查器检测的流量识别攻击。对于可配置的关键字,指定在允许的范围内的单个已知值或单个整数。

请注意以下提示:

  • 同一规则中的多个 S7commplus 关键字都使用 AND 运算。

  • 在同一规则中使用多个 s7commplus_funcs7commplus_opcode 关键字会否定该规则。被否定的规则无法匹配流量。要使用这些关键字搜索多个值,请创建多个规则。

s7commplus_content

使用 s7commplus_content 关键字将光标定位到 S7CommPlus 数据包负载的开头。我们建议您在 S7CommPlus 入侵规则中使用 contentprotected_content 关键字之前设置此关键字。

语法: s7commplus_content;

示例: s7commplus_content;

s7commplus_func

使用 s7commplus_func 关键字匹配 S7Commplus 信头中的以下值之一。可以指定 S7CommPlus 参数名称或相应的十六进制代码。

类型: 字符串

语法: s7commplus_fuc:<header_parameter>;

有效值:

名称

代码

explore

0x04BB

createobject

0x04CA

deleteobject

0x04D4

setvariable

0x04F2

getlink

0x0524

setmultivar

0x0542

getmultivar

0x054C

beginsequence

0x0556

endsequence

0x0560

invoke

0x056B

getvarsubstr

0x0586

0x00xFF

请注意,数字表达式允许使用其他值。

示例: s7commplus_fuc: createobject;

s7commplus_opcode

使用 s7commplus_opcode 关键字匹配 S7Commplus 信头中的以下值之一。可以指定 S7CommPlus 参数名称或相应的十六进制代码。

类型: 字符串

语法: s7commplus_opcode:<header_parameter>

有效值:

名称

代码

请求

0x31

效率低下

0x32

通知

0x33

response2

0x02

0x00xFF

请注意,数字表达式允许使用其他值。

示例: s7commplus_opcode:0x31;