高级规则使用
普通的模板都是基于某些常用的场景设定的规则,里面的参数是有限的。
但是有时候,希望可以实现更加复杂的组合的时候,这些模板的参数设置就满足不了需求。
比如:希望可以指定父进程路径参数、或者进程签名。
这时候就需要用到高级模板。
高级模板
下面这个规则表示:拦截父进程是 powershell.exe ,并且进程名是 rundll32.exe 或者 进程原始文件名是 rundll32.exe 的进程连接网络
高级模板参数分为两个部分,左边是事件,右边是逻辑条件。
事件参数
需要先选择事件,才可以进行右边的规则设置。不同的事件提供是字段是不一样的,一般建议一次只选择一个事件。当然也是支持同时选中多个事件的,选中多个事件后,事件的字段就只有这些事件的共同部分。
支持的公共字段和运算符
逻辑条件
选好事件后,就可以进行规则逻辑条件编辑。
基本的规则条件都是: 字段 + 运算 + 值 的模式,比如 进程文件名 + 字符串等于 + notepad.exe 这样的。
然后使用逻辑 and、or 组合起来。
|| 表示 or 逻辑 : 所在分组有一个匹配成功,就表示匹配上了
& 表示 and 逻辑 : 所在分组需要全部匹配成功,才表示匹配上
界面支持拖动,添加好条件后,可以很方便通过拖动来调整逻辑关系。
内核模式
高级模板有两个,一个是高级模板,一个是高级模板(内核模式)
高级模板 | 高级模板(内核模式) | |
---|---|---|
说明 | 事件会上抛到应用层进行规则匹配,可以支持弹窗交互。 | 规则设置进内核,事件直接在内核匹配,不会上抛到应用层。 |
使用场景 | 大部分场景 | 需要性能优化的场景,比如文件读取、注册表读取这些非常频繁的事件 |
是否支持弹窗 | 支持 | 不支持 |
是否支持记录事件 | 支持 | 不支持 |
字段支持情况 | 支持所有的字段 | 只支持原始字段(不支持签名、原始名等扩展字段) |
大部分场景都用高级模板就好了,但是对于文件读取、注册表读取等场景,建议使用内核模式,因为这样可以优化性能,避免造成系统卡慢。
频繁操作
冰盾还支持对短时间内重复的操作进行检测和拦截。比如
勒索病毒场景:短时间内修改大量的文件。
网络爆破场景:短时间内反复链接远程桌面端口。
针对这些场景,可以添加频繁操作的规则。
频繁操作的规则是在高级模板的基础上,添加了操作频率参数。
怎么定义一个操作是相同的操作呢?
从三个维度组合去判断,操作进程(针对网络则是网络来源地址)、事件类型(比如操作文件)、操作目标(比如操作的文件路径)。
这三个参数可以任何勾选组合(只是勾选一个)。比如:
勾选了 操作进程:表示某个进程触发的任意匹配规则的行为,都是相同的行为
勾选了 操作进程 + 操作目标:表示相同的进程操作了相同的目标,则认为是相同的行为。
触发了频繁操作,还可以指定后续一定时间内,相同的操作都是频繁操作(不受前面的次数控制了)。这样就可以实现网络爆破检查到后,直接拉黑一定的时间,比如设置了1个小时,则表示这个小时内相同的操作都是频繁操作,结合弹窗拦截则可以拉黑这个攻击来源。
事件说明
大部分的事件根据名称就知道含义了,一些没有特别需要注意的则不添加说明。
事件类型 | 说明 |
---|---|
创建进程 | 对应CreateProcess,可以用于拦截进程启动 |
打开进程 | 对应OpenProcess,拦截打开进程,可以用于保护进程 |
创建线程 | 对应CreateThread、CreateRemoteThread,可以拦截远程线程注入 |
打开线程 | |
加载模块 | |
加载驱动 | |
操作文件 | 对应CreateFile,应用层为了性能会过滤掉所有只读打开的事件,内核的高级模板则所有打开都支持。 |
读文件 | 对应ReadFile,如果需要拦截读取文件,建议使用高级模板(内核模式),使用内核模式的“操作文件”就可以拦截了。如果需要使用这个事件,一般需要配合创建文件映射一起使用,不然一些通过文件映射的读取方式没法拦截。 |
写文件 | |
重命名文件 | |
删除文件 | |
修改文件大小 | |
修改文件信息 | |
枚举文件 | 在应用层有性能问题,建议使用高级模板(内核模式) |
创建文件映射 | |
创建文件硬链接 | |
修改文件安全属性 | |
创建注册表键 | |
打开注册表键 | |
删除注册表键 | |
重命名注册表键 | |
枚举注册表键 | 在应用层有性能问题,建议使用高级模板(内核模式) |
加载注册表键 | |
设置注册表值 | |
查询注册表值 | 在应用层有性能问题,建议使用高级模板(内核模式) |
网络连接(TCP) | |
网络连接(UDP) | |
远程访问本地网络(TCP) | |
远程访问本地网络(UDP) | |
发送数据(TCP) | |
接收数据(TCP) | |
发送数据(UDP) | |
接收数据(UDP) | |
PING | |
HTTP | |
创建计划任务 | |
磁盘命令控制 | |
域名解析 | |
修改设备状态 | |
创建快捷方式 | |
修改其他进程内存 | |
读取其他进程内存 | |
远程创建进程 | |
修改其他进程的线程上下文 | |
插入异步过程调用到其他进程 | |
映射内存到其他进程 | |
复制其他进程的句柄 | |
创建服务 | |
启动服务 | |
停止服务 | |
修改服务配置 | |
关闭(重启)系统 | |
注销系统 | |
修改系统时间 | |
修改桌面背景 | |
读取剪切板 | |
开启摄像头 | |
开启麦克风 | |
屏幕截图 | |
设置全局钩子 | |
键盘记录 | |
关闭进程窗口 | |
跨进程发送消息 | |
模拟鼠标(键盘) | |
创建COM接口 | |
连接跨进程通信端口 | |
执行PowerShell命令 |