网站首页 > 技术教程 正文
iMonitorSDK (https://imonitorsdk.com/) 一款为终端、主机提供系统行为监控的开发套件。旨在帮助终端安全、管控、审计、零信任、主机安全等行业应用可以快速实现必要功能,而不用关心底层驱动的开发、维护和兼容性问题,让其可以专注于业务开发。适用于下列场景:零信任、终端管控、行为审计、主机安全、主动防御(HIPS)、终端检测与响应(EDR)、数据防泄密(DLP)、上网行为管理。
本篇教程主要介绍iMonitorSDK的文件监控相关功能。
文件监控全部消息
带Post的表示动作已经完成
消息类型 | 说明 |
emMSGFileCreate | 打开、创建文件事件,返回拦截可以阻止文件的打开、创建 |
emMSGFilePostCreate | |
emMSGFileQueryOpen | 打开文件事件 |
emMSGFilePostQueryOpen | |
emMSGFileCleanup | |
emMSGFileCreateSection | 映射文件事件 |
emMSGFilePostCreateSection | |
emMSGFileRead | 读取文件事件 |
emMSGFilePostRead | |
emMSGFileWrite | 写文件事件 |
emMSGFilePostWrite | |
emMSGFileCreateHardLink | 创建文件硬链接事件 |
emMSGFilePostCreateHardLink | |
emMSGFileRename | 文件重命名事件 |
emMSGFilePostRename | |
emMSGFileDelete | 删除文件事件 |
emMSGFilePostDelete | |
emMSGFileSetSize | 设置文件大小事件 |
emMSGFilePostSetSize | |
emMSGFileSetBasicInfo | 设置文件基本信息事件 |
emMSGFilePostSetBasicInfo | |
emMSGFileFindFile | 查找文件、遍历文件事件 |
emMSGFilePostFindFile |
emMSGFileCreate
字段
具体字段的含义可以参考NtCreateFile的调用参数
struct FileCreate {
Path : Path;
Attributes : FileAttributes;
Access : FileAccess;
ShareAccess : FileShareAccess;
CreateDisposition : FileDisposition;
CreateOptions : FileOptions;
}
使用场景
文件创建事件是非常重要的一个事件,所有的文件打开操作都会触发这个事件。一般可以用来实现文件审计、文件管控、文档保护,也可以用来实现文件重定向。
默认的情况下,所有的文件创建、打开都会触发这个消息,而文件打开是非常频繁的,数据量特别大,如果是同步等待可能会影响系统性能。为了解决这个问题,SDK也支持配置只监控写权限打开的消息。
cxUserSessionConfig session_config;
session_config.FilterFileCreateOnlyModifiable = true;
emMSGFilePostCreate
字段
比emMSGFileCreate多了一个Information字段,表示文件创建是创建新的文件、还是打开已经存在的文件,对于审计场景来说非常有用。
struct FilePostCreate {
Path : Path;
Attributes : FileAttributes;
Access : FileAccess;
ShareAccess : FileShareAccess;
CreateDisposition : FileDisposition;
CreateOptions : FileOptions;
Information : ULONG;
}
emMSGFileCleanup
字段
struct FileCleanup {
Path : Path;
Information : ULONG; // 用来表示文件是否被修改过
}
使用场景
对于杀毒场景,需要监控文件落地(创建写入完成)事件,在新的文件落地的时候,进行病毒查杀,这时候就可以使用Cleanup事件了。Information表示这个文件是否被修改。
emMSGFileCreateSection
字段
struct FileCreateSection {
Path : Path;
PageProtection : FilePageProtection;
}
使用场景
这个消息对应于NtCreateSection(CreateFileMapping),表示创建文件映射,一般加载模块、加载进程都会触发,可以用来拦截模块的加载。(拦截模块加载也可以通过进程监控拦截。)
emMSGFileFindFile
字段
truct FileFindFile {
Path : Path;
FindName : Path;
RestartScan : Bool;
}
使用场景
遍历文件的时候触发,拦截了可以阻止进程查看目录,达到隐藏文件的效果。也可以用来开发智能识别勒索病毒(几乎所有的勒索病毒都会遍历文件)
其他消息
其他消息可以参考文件操作的API
猜你喜欢
- 2024-10-25 Java 17 NIO 知识点 Files 操作(java17课)
- 2024-10-25 PE格式:新建节并插入代码(怎么用pe创建新用户)
- 2024-10-25 入门Java不迷路!一篇教你搞懂Java 「File类」的概述和方法
- 2024-10-25 Qt 之QTemporaryFile用法(创建临时文件)
- 2024-10-25 EndNote使用技巧(4)之七种方法导入文献?一文全搞定
- 2024-10-25 Vue+Element UI实现断点续传、分片上传、秒传
- 2024-10-25 共享数据资源,VBA代码导入已有文本数据文件的方法
- 2024-10-25 (12)文本文件操作参考(文本的基本操作)
- 2024-10-25 使用StreamWriter类的对文件创建写入
- 2024-10-25 大文件上传:秒传、断点续传、分片上传
你 发表评论:
欢迎- 最近发表
-
- Win11学院:如何在Windows 11上使用WSL安装Ubuntu
- linux移植(Linux移植freemodbus)
- 独家解读:Win10预览版9879为何无法识别硬盘
- 基于Linux系统的本地Yum源搭建与配置(ISO方式、RPM方式)
- Docker镜像瘦身(docker 减小镜像大小)
- 在linux上安装ollama(linux安装locale)
- 渗透测试系统Kali推出Docker镜像(kali linux渗透测试技术详解pdf)
- Linux环境中部署Harbor私有镜像仓库
- linux之间传文件命令之Rsync傻瓜式教程
- 解决ollama在linux中安装或升级时,通过国内镜像缩短安装时长
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)