- 快捷搜索
- 全站搜索
Hook技术是Windows操作系统提供的一种在二进制层面允许其他程序修改系统或者应用程序的行为手段。应用程序可以利用该技术,对系统的特定行为(如AP I调用)进行拦截,并插入自定义操作。
远程注入技术是Windows系统提供的一种对其他进程注入动态链接库(DLL)的技术。通过该技术,可以对其他进程的行为进行修改,或者扩展第三方进程的行为。
进程句柄是Windows系统为了隐藏进程操作内部实现,而提供的一种对进程对象的描述方式。通过指定的进程句柄,可以对该进程进行相应的操作。
框架结构图中各部分主要功能介绍如下:(1)在关键服务第一次启动时将“进程监视模块”注入到系统进程中,在系统进程空间运行“进程监视模块”。(2)进程监视模块定时检查关键服务是否运行,如果关键服务异常终止,则再次启动。(3)文件保护模块按照配置,对关键目录中的文件操作进行过滤,如果有关键目录之外的应用程序对关键目录中的文件进行删除操作,则阻止该操作。如果操作文件的进程位于关键目录内部,则允许其进行文件操作。(4)在用户运行软件卸载程序时,通过用户输入匹配的“卸载密码”才能完成卸载操作。
对于进程黑白名单监控策略,我们结合多个技术点实现进程管控,包括:采用PsSetCreateProcessNotifyRoutine注册进程通知回调,对NtCreateSectiOn、NtClose、Nt- CreateProcess函数进行挂钩,用于拦截和监控进程创建过程。拦截NtCreateSection 和 NtClose函数的目的是为了保证获取进程路径的正确性。同时还需拦截在创建进程时执行的函数NtCreateProcess、NtCreateProcessEx,用于判断被创建的进程是否允许运行,对非法进程创建进行拦截。当系统调用“进程通知回调函数”时,则对正在创建的进程再次判断,以确保准确获取该进程所对应的用户名,实现按用户控制进程是否允许运行。综上分析,为了实现有效的进程管控,需要对NtCreateSection、NtCIose、NtCreate Process、NtCreateProcessEx函数进行挂钩、也需要注册进程通知回调函数,解决现有单一技术管控进程导致的局限性。
三、技术的缺陷和应对措施
首先,由于采用远程注入方式,所以对被注入程序的权限要求相对较高,否则远程注入将失败。针对该缺陷,我们选取了合适的、具有较高权限的Windows自带服务程序(在实际应用中注入Windows系统管理服务运行的services.exe程序)。
其次,被注入进程可能会被异常结束,失去自我保护能力。针对该缺陷,选择了对于Windows系统正常运行所必需的系统进程进行注入,通过诸如“进程管理器”的方式,无法结束该进程,如果强行通过程序方式结束进程,将导致系统运行不正常,从而解决进程被结束的问题。
第三,一旦被监控的进程出现意外终止,可能需要一段时间无法提供服务(1分钟之内)。由于Windows系统的特性,应用程序所申请资源在结束时的释放需要一定时间。如果此时立即再次启动该程序,对于程序中的全局唯一性数据而言,可能出现异常情况,因此可以采用延时启动的方式,即在发现程序异常退出一段时间后,再重启,以避免问题发生。
(文章来源:《金融电子化》)
ITIL是一套方法论,能为IT服务提供良好的指导思想,将工作中习惯的以技术为
农业银行高度重视信息化建设,近些年特别强化了安全生产工作,加强了IT运维