本帖最后由 DisaPDB 于 2025-3-1 15:50 编辑
现代安全软件不需要在内核层做强对抗,要防的只是恶意软件R3进R0的行为。
毕竟PG一视同仁,除非你在VT玩出花,否则无论恶意软件还是安全软件都不可能越界。
一些常见方案:
开机启动和ELAM
标记/阻止 漏洞驱动加载
API 挂钩监控
Windows下随便挂钩系统驱动可能会被PG但是挂钩第三方驱动不会,而保险的方式是挂钩驱动IAT(就如之前卡巴斯基和火绒的严重冲突)
现在常见的EDR应该都会挂ZwTerminateProcess的导入表,call了ZwTerminateProcess并且目标是受保护进程,直接阻止并且杀掉进程
但是……
- 我们看了那么多攻击技术,对于TOC产品来说,其实只占主流安全威胁的百分之一,如果只为了几个红队或者APT去让其他人背负蓝屏风险,这个是在概率上不可接受的。宁愿保守一点-比如只拉黑漏洞驱动的hash,也不能让自己的用户群体冒着蓝屏风险去搞驱动对抗。
- 而TOB产品, 在国内现状,在很多企业看来,安全性可以没那么重要, 业务中蠕虫病毒了但是业务不中断也没到p0事故,如果业务因为安全软件中断了,那就是p0事故了。
- 所以软件开发的首要原则是稳定。而不是搞对抗,写安全软件的人都是聪明人,这些对抗手段其实在红队或者黑产没发现之前 业内也烂大街了,基本上都知道,知道不会做的原因就在这。
- 不搞内核对抗是对用户的负责。
复制代码- 而各种所谓的对抗,本质上是企业的投入成本的问题, 如果企业终端安全只是使用TO C的产品, 那么各种针对性对抗就会暴露出来。
- TO C的工作流程往往是允许一小部分用户中招- 只有中招了我才能知道这个是不是新的威胁。比如一小步分用户被XX驱动杀了agent, 我就把这个驱动特征拉黑,其他用户运行了这个特征的驱动我就杀掉。
- 更直白一点: toC的产品往往是只做已知的保护,不做未知威胁的保护
- 而TO B的产品往往是根据企业环境定制的,深入参与的,例如, 使用准入/零信任 设备联动终端agent,终端出现异常直接自动网关层面隔离主机等待人排查。每天有人hunting企业出现的新的程序,完善的sora和应急方案,进行分析等等工作方法。这样才是阻止未知威胁的最有效的办法,而不是做终端层面的对抗。
复制代码
|