查看: 6408|回复: 40
收起左侧

[讨论] ESET HIPS AD拦截项目

  [复制链接]
hx1997
发表于 2011-7-26 23:50:34 | 显示全部楼层 |阅读模式
本帖最后由 hx1997 于 2011-9-5 22:47 编辑

ESET HIPS AD部分的拦截项目不知所云,看起来似乎完全是按开发者的想法来起的拦截项目名,而不是使用通用的。




可以看到,AD拦截项目从上到下依次是
Debugging another application
Intercept events from another application
Terminate/suspend another application
Start new application
Modify state of another application

关于这些项目的翻译可以看此贴 http://bbs.kafan.cn/thread-1038118-1-1.html

我们知道EQ、MD里的AD拦截项目都是类似于“修改其他进程内存”“创建远程线程”这样的,那ESET的“调用或尝试加载其他程序”“修改其他进程状态”这些是啥意思?

经过研究,总结如下

Debugging another application
说明:使用调试系列的函数操作其他进程时会触发这个。
栗子:DebugActiveProcess、DbgUiDebugActiveProcess
影响:调试其他程序可能导致程序崩溃、挂起、行为异常等。

Intercept events from another application
说明:此项目尚不明确其用途,已向客服请求帮助,不知会不会有结果。
PS:客服已回,http://bbs.kafan.cn/forum.php?mo ... ;page=1#pid20497052

Terminate/suspend another application
说明:看字面意思就知道,结束/挂起其他程序。(注意,此项目仅拦截直接结束/挂起程序的行为,间接结束/挂起的不算,比如让程序崩溃不在拦截之列;进程和线程的结束挂起都会拦截)
栗子:TerminateProcess、NtSuspendProcess
影响:结束一个进程/线程,或者暂停一个进程/线程的活动,这样进程/线程就无法进行任何操作。如果结束了关键线程,则所属进程可能崩溃。
对应:EQ中的“结束/挂起进程”和“结束/挂起线程”。

Start new application
说明:也是望文生义的,启动新进程。
栗子:CreateProcess、CreateProcessAsUser
作用:启动一个程序。
对应:EQ中的“运行应用程序”。

Modify state of another application
说明:试图注入代码到其他程序、设置线程上下文时会触发这个,总之就是操作其他程序就触发。将一个程序附加到作业对象时也触发此项。(目前不防读程序内存,尚不明确插APC是否拦截)
栗子:WriteProcessMemory、CreateRemoteThread、AssignProcessToJobObject
影响:修改其他程序状态可能导致程序崩溃、挂起、行为异常、无法完成原有功能等。
对应:EQ中的“修改其它进程内存”和“创建远程线程”。
关于作业对象:http://hi.baidu.com/flowercode/b ... 6fa6dfd439c922.html
Job就是作业对象。

Windows 里的令牌可能大家还算熟悉,但 Job 有多少人了解呢?若真的听说过,恐怕也就是听说过 TerminateJobObject 这个函数吧。

Job 作为资格很老的一个对象,在 Windows 内核里绝对不是二等公民。由于 Job 主要应用于服务器管理,它的权限控制算是很详细的。从内存使用到优先级,再到进程创建,都可以控制。

而 Job 的 CompletionPort 又可以实现类似通知回调的功能,所以用它来进行简单的访问控制是完全可以的。

最鲜为人知的一点大概是 Job 还可以进行用户界面隔离。

#define JOB_OBJECT_UILIMIT_NONE             0x00000000

#define JOB_OBJECT_UILIMIT_HANDLES          0x00000001
#define JOB_OBJECT_UILIMIT_READCLIPBOARD    0x00000002
#define JOB_OBJECT_UILIMIT_WRITECLIPBOARD   0x00000004
#define JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS 0x00000008
#define JOB_OBJECT_UILIMIT_DISPLAYSETTINGS 0x00000010
#define JOB_OBJECT_UILIMIT_GLOBALATOMS      0x00000020
#define JOB_OBJECT_UILIMIT_DESKTOP          0x00000040
#define JOB_OBJECT_UILIMIT_EXITWINDOWS      0x00000080

#define JOB_OBJECT_UILIMIT_ALL              0x000000FF

这样一来,操作其它进程窗口、读写剪贴板、更改显示设置、关机、切换桌面等不太好管理的操作都可以禁止。这也是 Ares 宣称的 UI 隔离功能的重要组成部分(还有 SSSDT Hook 等)。


希望ESET v5正式版后会有详细的HIPS规则文档或帮助之类的,好让我们方便地编写规则啊。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x

评分

参与人数 2经验 +20 人气 +2 收起 理由
瓜皮猫 + 1 等你规则
蝉鸣时 + 20 + 1 感谢提供分享

查看全部评分

yzzaa
发表于 2011-7-27 07:06:31 | 显示全部楼层
详细的HIPS规则文档
智琛
发表于 2011-7-27 11:19:09 | 显示全部楼层
小h你辛苦了
不过偶试验到了这些东西的作用,不过乃用心
青蛙傻傻
发表于 2011-7-27 11:29:22 | 显示全部楼层
楼主辛苦的说。
目前看来。ESET的HIPS不是很容易玩转呢
hx1997
 楼主| 发表于 2011-7-27 11:44:13 | 显示全部楼层
黄智琛 发表于 2011-7-27 11:19
小h你辛苦了
不过偶试验到了这些东西的作用,不过乃用心

问一下你知不知道“Intercept events from another application”代表了神马动作?

还有你以前知道“作业对象”吗?
iezhaoie
头像被屏蔽
发表于 2011-7-27 11:47:08 | 显示全部楼层
看起来好复杂啊
智琛
发表于 2011-7-27 11:49:25 | 显示全部楼层
hx1997 发表于 2011-7-27 11:44
问一下你知不知道“Intercept events from another application”代表了神马动作?

还有你以前知 ...

作业对象?不知道,因为毛豆出身,一直都没这一项,也没用过EQ。我在MD中也没见过

那个阻止其他程序调用事件,我个人做的试验是和com有关。估计就应该和com是有关系的。
但是我个人觉得这一项用处不大,因为还不完善
hx1997
 楼主| 发表于 2011-7-27 11:52:27 | 显示全部楼层
黄智琛 发表于 2011-7-27 11:49
作业对象?不知道,因为毛豆出身,一直都没这一项,也没用过EQ。我在MD中也没见过

那个阻止其他程序调 ...

看一下1L介绍吧,作业对象也很重要的,以前没有人想到要防这货?
COM我也试过,用clt试的,OLE和DDE都试了,ESET没反应
难道特定COM才会弹窗?
智琛
发表于 2011-7-27 11:55:24 | 显示全部楼层
hx1997 发表于 2011-7-27 11:52
看一下1L介绍吧,作业对象也很重要的,以前没有人想到要防这货?
COM我也试过,用clt试的,OLE和 ...

作业对象乃我都不搞编程,所以也不太好用

╮(╯▽╰)╭。我想只有这样了,因为调用事件
在基于Windows平台的程序设计中,事件(event)是一个很重要的概念。因为在几乎所有的Windows应用程序中,都会涉及大量的异步调用,比如响应点击按钮、处理Windows系统消息等,这些异步调用都需要通过事件的方式来完成。


那么什么是事件呢?所谓事件,就是由某个对象发出的消息,这个消息标志着某个特定的行为发生了,或者某个特定的条件成立了。比如用户点击了鼠标、socket上有数据到达等。那个触发(raise)事件的对象称为事件的发送者(event   sender),捕获并响应事件的对象称为事件的接收者(event   receiver)。
无|情
发表于 2011-7-27 11:55:32 | 显示全部楼层
支持楼主,顶起。坐等ESET 5.0 。。 。   。
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-6-8 22:22 , Processed in 0.153963 second(s), 19 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表