首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >像杀毒软件一样进行自我防御

像杀毒软件一样进行自我防御
EN

Stack Overflow用户
提问于 2010-12-29 22:07:10
回答 2查看 652关注 0票数 2

我写的程序为防御系统,反病毒反恶意软件等,我有一个问题的防御进程,从杀死通过任务管理器->杀死进程。我测试了一些杀毒软件,他们不让我杀死他的进程。我只能在服务中阻止他们。我如何才能为我的程序创建这个防御。谢谢!

EN

回答 2

Stack Overflow用户

发布于 2010-12-29 22:38:06

停止进程是通过调用TerminateProcess (Win32接口)完成的。默认情况下,不可能终止在与发出TerminateProcess调用的进程不同的安全上下文中运行的进程。

可以(使用服务控制管理器)配置运行服务的用户模式,以便在有人杀死服务时重新启动服务。但是,如果您不希望从服务控制管理器界面或使用"net stop“命令停止服务,则可以在创建服务时适当设置SERVICE_STATUS结构的"dwControlsAccepted”字段。

另外,考虑到可以通过先前启用调试特权来结束任何进程,即使它是服务或系统进程,也要注意这一点。此权限分配给管理员,并在访问令牌中禁用。任务管理器不使用调试权限,而KILL实用程序(随windows资源工具包提供)使用。

票数 2
EN

Stack Overflow用户

发布于 2010-12-29 22:13:22

您观察到的情况对于服务应用程序是常见的,即您需要为此提供一个服务。

防病毒软件通常使用几个内核模式驱动程序(网络过滤器、文件系统过滤器等),这些驱动程序具有检查用户模式进程是否可用的附加功能,如果没有,则重新启动它(它们还控制服务的执行状态)。

此外,服务还可以监视UI进程的存在并重新启动它。而UI进程又可以检查服务的状态。并行停止这两个进程是相当棘手的(尽管可能),因此此方案也可以工作。

我猜你也会遇到同样的架构。

但总的来说,rootkits绕过了所有这些技巧,rootkits是对现代计算机最大的威胁。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4554781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档