二、主动防御的基本工作模式
正是基于上面的原因,主动防御技术更多的只是关心系统中最容易被侵害的部分,这里要先说说HIPS概念。HIPS是监控系统中全局变化的技术(简称3D),并把监测结果提交给用户选择。如果你阻止了,那么它将无法运行或者更改。比如你运行了一个病毒程序,带有HIPS功能的软件会跳出来报告,如果你阻止了这个行为,那么病毒是不会运行的。严格意义上说,如果你的水平够高,你完全可以利用HIPS抵挡任何恶意程序。
主动防御如果完全借鉴了HIPS则会给用户造成巨大负担,任何一种技术也只是尽可能的完美主动防御概念,因为“完全不用用户干预,软件全部自动识别完成”的目标更像是一个极限。当前各大安全厂商都分别在AD(Application Defend)应用程序防御体系、RD(Registry Defend)注册表防御体系、FD(File Defend)文件防御体系中应用主动防御的概念,确保覆盖面完整,其中启发式分析器与行为拦截是比较流行的两种工作模式。
启发式分析器在扫描过程中抓住了病毒与传统程序的操作不同特性,利用静态方式获取可疑指令,然后结合动态分析方法在模拟环境中判断。比如启发式分析器在扫描一个程序时发现其中有格式化的命令,并且整个操作没有人机交换功能。换句话说,这很可能是恶意格式化程序,此时该程序就被列为危险程序。同样,将诸如加壳、创建CreateRemoteThread、插入木马普遍采用的API等动作也加入其中,就可以囊括大部分威胁信息,而通过建立一个虚拟PC系统(也叫SandBox)模拟执行后,若发现的确存在该行为,即可判断该程序为恶意程序。相对而言,虚拟PC系统更能客观的了解程序特性,误判率更低。
行为拦截方式则更显“大胆”一些,它是在程序执行前先封锁一切可能造成危险的程序和行为,然后再分析程序动作。这一切不同于在模拟模式中动态启发式分析器,行为拦截是在实际环境中监测。行为拦截工具可预防病毒的扩散,但同样困扰它的问题就是对正常程序的“误判”,而这个过程需要用户利用自己的知识进行调节。