360核晶防护 到底是用啥手段防范病毒木马的,防护病毒木马与最底层硬件为啥有关联?( 二 )


(不过,PatchGuard在启动时挂接调试器等特殊情况下,本来就是要禁用的。所以,有UPGDSED这种小工具,可以比较傻瓜地关掉PatchGuard,但这个小工具需要修改内核文件、破坏数字签名,必须关闭SecureBoot才能使用,玩不好会导致无法正常启动)
这些规范的Hook方法覆盖范围有限(参考上面贴的FreeBuf文章),最近好像还被爆了漏洞:【技术分享】Windows PsSetLoadImageNotifyRoutine的0day漏洞;简单粗暴的老Hook方法微软又不让用,所以360的大牛(好像是pjf?)就利用CPU的虚拟化技术开发了核晶引擎,把系统放到一个虚拟机里运行,然后利用虚拟化技术就可以任意干涉虚拟机里的操作系统了。(不过,任何技术都不是万能的,就算有了CPU的硬件虚拟化技术加持,用不好也是会明显拖慢运行效率的——别想多了,反正我是很信任大牛的水平的,我也没发现安装360后对系统性能有啥明显影响)
具体来说,比如,虚拟机系统里触发了一次系统调用,或者预先特殊标记一块内存、等虚拟机要访问这块内存时,会先跳转到虚拟机监视程序(hypervisor,这里担当这个角色的就是360的核晶引擎)先进行处理(可以进行监视/过滤/拦截),然后再跳回到虚拟机操作系统的代码里继续运行。
这样不需要篡改操作系统的代码,稳定性兼容性都不错(最早的版本是不兼容同样使用VT的虚拟机软件的,但360后来做了升级,利用嵌套虚拟化技术来兼容虚拟机),还可以抵抗病毒木马可能使用的各种猥琐检测对抗手段,颇有点降维打击的味道……
通过这篇文章,大概也可以猜测到,核晶可能并不被设计成一个点水不漏的系统,实际上还是为性能做出了妥协(这篇文章已经比较老了,不知道新版核晶有何改进):从Blue Pill、硬件虚拟化谈安全防护完备性上的一个小原则

RFC里就有个梗“evil bit”:为了面对愈演愈烈的攻击和安全威胁,我们直接定义一个evil bit,然后,我们的防火墙只要见到这个evil bit等于1就把包丢弃,搞定!
如果你懂了这个梗,那大概也能明白“核晶有没有用”“杀软有没有用”之类的问题了……
(这样你就不会问我这些问题了,然后我就可以继续装B,哈哈)
扯个没关系的,说360可能作恶的话……我一个外行肯定不清楚奇虎的内情,如果你有干货,欢迎爆料(滑稽)。不过,我想说,即便你把UAC拉到最高,键盘记录器之类东西也是可以照常运行的,设置自启也是无压力的……反正我不觉得开个UAC就能掌控系统,上网还是小心为妙。
【360核晶防护 到底是用啥手段防范病毒木马的,防护病毒木马与最底层硬件为啥有关联?】 PS:最近还爆出Xshell、CCleaner被黑等事件,作为普通用户我只能感到无力,信息安全方面,实在是防不胜防啊……

■网友
泻药,我刚刚特地去问了下老司机们和大师傅们这是什么玩意,他们告诉我:【没啥用的东西】【硬件要求太高,用不了】


推荐阅读