什么是硬件看门狗狗?
这个概念是软微的某位大神提出来的,后来被英特尔采纳并推广。 简言之就是利用主板上的一个芯片或特定位置的一个电路作为识别依据,只要计算机启动,这个识别信息就会被加载至内存中,从而判断是不是新机器或者机器有没有被入侵。 这实际上是一个密码学问题里的哈希函数的问题。
假设我要发给你一个加密的短信,内容为“1234567890”,那么我发送的参数经过一次哈希变换后得到某个结果,例如“abcd”;你收到这个短信后也把内容经过哈希变换成“efgh”,如果我发来的参数和你收到的参数在哈希之后的结果相同(相当于两个数异或运算),那么就证明这条信息就是我发的了。
类似的,如果一台计算机在启动时运行正常的程序所得到的哈希值(也就是软件看门狗)和同一台计算机在受到威胁时运行恶意的程序所得到的哈希值是一样的,就说明此计算机确实受到了威胁! 根据不同的应用需求,可以有不同的哈希算法,有把整个硬盘整个系统都hash一遍的全盘hash,也有对文件或者目录单独hash的局部hash。
在硬件看门狗的情况下,由于整个系统被hash的过程是开机自检过程中完成的,所以又称为零时块(zero block),每个厂商的硬件看门狗的零时块可能不同,用于校验的数据区也会有差异,但总体思想是一致的。 有了硬件看门狗就可以实时检测到系统的异常,这对于保护系统安全非常重要。另外,在系统崩溃以后通过检测硬件看门狗的状态也可以得知系统到底是在正常启动过程中还是遭受入侵之后出现的问题。
不过,硬件看门狗并不能取代杀毒软件等安全软件的作用。因为硬件看门狗只能发现已有的漏洞以及已经植入了系统的病毒,对于新的蠕虫类木马还是有漏洞的,而且也不能完全杜绝恶意代码的绕过。除了安装防病毒软件以外,还应当定期更新硬件看门狗的零时块,并且对重要的系统和数据做好备份。