首页
社区
课程
招聘
[求助]WFP有关问题
发表于: 2019-3-26 00:32 3901

[求助]WFP有关问题

2019-3-26 00:32
3901
1、公司需求使用WFP定向拦截一些进程的网络访问请求
2、目前使用FWPM_LAYER_ALE_AUTH_CONNECT_V4层的连接来进行阻断
3、问题 :现在在该层中经常会出现IRQL为DISPATCH_LEVEL的情况无法根据PID来获取进程名也就不知道是谁发送的
4、重注入的话虽然可以把PID带着但是异步处理方式很有可能导致在处理的时候PID因为进程退出就不在了所以这里必须同步获取进程名称
5、问题:对于已经建立连接的TCP请求,会直接从stream层走不会从connect走三次握手了,但是Stream层回调中inMetaValues已经没有ProcessID和ProcessPath了,这时候该怎么做阻断呢,个人想了个办法枚举进程端口,但是除了这种方法还有其他方法么

现在考虑使用上下文的方法再更靠近r3的WFP层级保存有关数据,然后放到下层来判断,但是问题是不懂为什么会在Connect这种对外发送数据时侯出现DISPATCH_LEVEL,一般In输入的网络流会出现这个等级我可以理解,但是为什么向外出的数据流会在DISPATCH_LEVEL不太理解?还有个问题是是否更靠近应用层WFP层级的Out函数不会出现DISPATCH_LEVEL

 求解!!!! 

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2019-3-26 12:50 被MRRighter编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 6588
活跃值: (4032)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
自己技术问题而已。
2019-3-26 00:38
0
雪    币: 8
活跃值: (104)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
zhatian 自己技术问题而已。
那请问你有什么好方法么
2019-3-26 09:35
0
雪    币: 4006
活跃值: (731)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
4
https://bbs.pediy.com/thread-224747.htm
2019-3-26 10:34
0
雪    币: 8
活跃值: (104)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
放学打我不 https://bbs.pediy.com/thread-224747.htm
确实用workItem是个好方法,可是在这么频繁调用的点用这个的话性能损耗个人觉得有点大,毕竟涉及到线程调度,我现在想的方法是能不能再更靠近r3的地方获取到相关的数据保存在上下文里面带下来或者说更靠r3的WFP层中是不是这种对外连接不会出现DISPATCH_LEVEL的情况
2019-3-26 10:58
0
雪    币: 1736
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
看下metadata里的FWPS_METADATA_FIELD_PROCESS_PATH,如果非得要进程名  加个PsSetCreateProcessNotify做个进程id和name的记录, 在回调里查询。IRQL的问题还是要多看文档,这种回调的IRQL<=DISPATCH_LEVEL都是正常。
2019-3-26 11:14
0
雪    币: 8
活跃值: (104)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
sylingyy 看下metadata里的FWPS_METADATA_FIELD_PROCESS_PATH,如果非得要进程名 加个PsSetCreateProcessNotify做个进程id和name的记录, 在回调 ...
这个问题其实想到了 只不过不想再用PssetCreateProcessNotify来做了想偷个懒哈哈哈
2019-3-26 12:46
0
游客
登录 | 注册 方可回帖
返回
//