conhost.exe是什么进程

conhost.exe是什么进程

conhost.exe是什么进程


以RedmiBook 14,win7为例 , Conhost.exe进程是微软为其Vista以及Win7、Windows 2008(服务器版)系统定义的系统文件,在系统中被称为“控制台窗口主机” 。其功能主要是为命令行程序(cmd.exe)提供类似于Csrss.exe进程的图形子系统等功能支持,而之前在Windows XP系统中Conhost.exe的这一功能是由Csrss.exe进程“兼职”提供的,但这被认为存在不安全因素,于是微软为了提高系统安全性在06年之后发布的Vista和Win7等系统中新加入Conhost.exe进程 。
conhost.exe 这个进程能禁用不能 。conhost.exe全称是console host process, 即命令行程序的宿主进程 。简单的说它是微软出于安全考虑 , 在windows 7和Windows server 2008中引进的新的控制台应用程序处理机制 。
conhost.exe是什么进程不是病毒···conhost全称是console host process, 即命令行程序的宿主进程. 大家都知道命令行程序是什么东西吧, 比如ipconfig.exe之类, 由于命令行程序自身没有代码来显示UI, 我们平时看到的命令行窗口内容都是由宿主进程来完成的,包括窗口的显示, window message的处理,等等.
conhost.exe是什么进程【conhost.exe是什么进程】conhost的全称是console host process, 即命令行程序的宿主进程 。简单的说是出于安全考虑,在windows 7和Windows server 2008中引进的新的控制台应用程序处理机制 。
原先,windows 7之前的宿主程序是由csrss.exe来完成的, 所有命令行进程都使用session唯一的csrss.exe进程. 而到了win7则改称每个命令行进程都有一个独立的conhost作为宿主 。这样当然有很多好处了,比如各进程之前不会相互影响 , 也不会影响到csrss,毕竟csrss还有其他更重要的任务要做 。当然最最重要的还是安全性的考虑 , 因为csrss是运行在local system账号下的,如果要处理window message,就要承担很多威胁,比如著名的window message shatter attack 。而如果用用户权限的conhost来处理,则即使有攻击,影响的也只是低权限的宿主进程 。
其实,不论是作为普通用户还是企业管理员,我们在日常的Windows应用和运维过程中都会或多或少的使用到控制台应用程序 。控制台应用程序是没有用户界面的 , 我们需要通过命令提示符(CMD,这可不是DOS , 很多人混淆不清)对其进行输入、输出操作 。Windows自带的控制台应用程序,典型的有cmd.exe、nslookup.exe和telnet.exe等 。
在早期的Windows版本中,所有代表非GUI活动的应用程序(即控制台应用程序)要在桌面上运行时 , 都通过系统进程Csrss.exe进行协调 。当控制台应用程序需要接收字符时 , 会在Kernel32.dll中调用一个小型的“控制台APIs”以让Kernel32产生LPC来调用CSRSS 。此时CSRSS会对控制台窗口的输入队列进行检查和校验,并将字符模式的结果通过Kernel32返回给控制台应用程序进行关联 。
这样的处理机制就已经产生了一个问题:即使一个控制台应用程序在普通用户的上下文环境中执行 , 但Csrss.exe始终是运行在本地系统账户权限下的 。因此,某些情况下“坏人”开发的恶意软件就有可能通过本地系统账户权限执行的Csrss.exe获取到更多特权 。这种攻击模式被称为Shatter Attack 。而到了win7和Windows Server 2008 R2时代,所有控制台应用程序都被放到了一个新的上下文进程ConHost.exe中来执行,而ConHost(控制台主机)与控制台程序运行在相同安全级的上下文环境当中,取代了发出LPC消息请求到CSRSS中进行处理这种机制,而是去请求ConHost 。因此,任何应用程序企图利用消息请求来导致特权的自动提升都不会成功 。

    推荐阅读