“上次我和一位客户谈及杀毒软件时,
客户:‘我选择杀毒软件的标准就是看谁的界面好看,我就用’。
我:‘不是应该选择哪些杀毒软件可以防病毒防攻击吗?’,
客户:‘杀毒软件都一样,没有区别’。
我:谁告诉你杀毒软件是一样的?
客户:' XXX公司的人说杀毒软件都一样,都是靠病毒库,无非就是谁多谁少,差别不大。既然这样,我就选一个便宜的我觉得好看的就好了。
我:
这是一次真正的对话。
上次参加一个安全会议,一个专家说:甲方也要懂安全知识,不然就被乙方强奸了,他们说什么就是什么。仔细想想,的确如此。
制定一个测试计划。分享给大家。
本文分为以下几个部分:
1、测试目的
2、了解病毒传播途径
3、了解黑客攻击方式
4、测试方法
5、测试过程
01.测试目的
这两年关于病毒的新闻层出不穷,尤其是勒索病毒,给企业造成了很大的损失。勒索病毒是一种流行病毒。通过骚扰、恐吓甚至绑架用户文件,使用户的数据资产或计算资源无法正常使用,并以此为条件向用户勒索钱财。主要表现形式有利用漏洞、弱密码暴力破解RDP、钓鱼邮件、网页挂马等。这种病毒使用各种加密算法对文件进行加密,并向文件所有者索要赎金。如果被感染者拒绝支付赎金,他就无法获得加密的私钥并恢复文件。更多关于勒索病毒的信息,可以参考我之前的文章,或者在这个微信官方账号勒索病毒专题里查看。
本测试方案的目的是测试不同杀毒软件在防止病毒攻击方面的反应,从而找出最适合本公司的杀毒软件产品。
下面以最具代表性的勒索软件为例,介绍一下如何测试杀毒软件。
强调一下,这是针对甲方的用户和普通发烧友,不是专业人士。如果你觉得我写的不对,请讨论。
02.了解病毒传播的途径
要知道如何选择合适的杀毒软件,首先要了解病毒的工作流程,也就是病毒是如何进入我们的电脑的。
先说病毒传播的常规途径:
1、通过手机媒体传播。如光驱、u盘、移动盘等。最常见的是u盘。
2、通过文件和程序传播。
3、通过网络传播。例如网页、电子邮件等。
4、通过局域网传播。比如漏洞,分享等。
最基本的,杀毒软件要有防范常规传播渠道的能力,比如拦截u盘、网页、邮件、分享等形式的病毒源。除了以上的常规传播渠道,还有一种比较高级的,就是通过黑客攻击的主动传播。根据我们大量的取证分析,结论是:目前勒索病毒的感染方式除了少量的邮件钓鱼和网站挂马外,大部分来自黑客攻击。因为人在背后攻击,也是最难防范的。
黑客攻击的过程一般是这样的:
(1)通过社工等手段获取目标客户的IP地址(如果不是特殊的APT攻击,黑客一般会直接进行第二步)。
通过端口扫描,找到电脑开放的端口,尤其是高危端口,如3389、445。
3.获得许可。找到特定端口的开放信息后,利用密码爆炸或者端口的漏洞进行攻击,进而获得管理员权限。
4.内部网搜索。即横向渗透,黑客在获得局域网内一台计算机的权限后,会对内网机器进行同样的端口扫描和密码爆炸,获取内网计算机的用户名和密码。
登录服务器,关闭杀毒软件。种植后门和勒索木马对特定电脑进行加密和勒索。
6.消除痕迹。黑客完成勒索操作后,一般会新建一个具有管理员权限的用户或者植入木马,然后尝试清除自己留下的痕迹。
当然,黑客也可以通过近场攻击来攻击,比如坏USB。“BadUSB”设备类似u盘,但不是u盘(系统识别它是键盘,所以终端管理程序对它无效)。它模拟键盘操作,一旦插上电脑,就会自动执行预设的指令进行攻击。只要用户以社工的方式将其插入电脑,它就会自动执行黑客事先准备好的恶意代码,无需人工参与即可完成。
看一下整个攻击过程。是不是感觉好像你想象的杀毒软件只有在第五步植入病毒才会起作用?因为杀毒软件一般只会查杀文件中的恶意代码,传统杀毒软件如果没有文件的话其实是很难防范的(比如最近流行的无文件攻击)。
回到上面提到的问题,如果要问,我想买杀毒产品,哪个厂商好?某某产品据说排名第一,是最好的吗?这种问题其实很难回答。当然产品性能也有差异,有些差异还是比较大的。什么样的产品适合你?为什么有的贵有的便宜?有什么区别?很多用户都在疑惑这个问题。
产品只是解决你一部分问题的工具,所以对你来说最重要的是了解自己的需求,梳理自己的业务,知道自己想要什么,然后根据自己的需求按图走,这样会简单很多。如果要防范勒索病毒,现在我们知道了黑客的攻击过程,只要能有效防范攻击的每一步,就能最大限度的防范勒索病毒。
当我们选择一个产品时,我们只需要验证我们是否能有效地阻止这些攻击过程,这样我们就会知道这个产品是否是我们需要的产品。我们来看看针对黑客的攻击,杀毒产品有哪些功能可以有效防范:
03.了解攻击方法
在测试之前,我们先分解一下黑客的攻击流程(除了APT攻击,黑客会攻击特定的IP)。一般来说,黑客都是无差别攻击,我们从端口扫描的第二步开始):
2.1.端口扫描
观察这几年勒索病毒的爆发,其实是有一些规律的。一般发现重大漏洞后,就会有勒索病毒的大爆发。比如第一次大规模爆发的勒索病毒,就是从著名的“永恒之蓝”漏洞开始的。除了系统漏洞,还有第三方程序的漏洞,比如著名的JBoss Web server、WebLogic Web中间件、Adobe Flash等。而且最近漏洞频发。
一旦漏洞爆发,黑客可以根据这些应用使用的端口进行扫描。一旦打开这些端口的IP被扫描,黑客就可以进入下一步。在这一步中,有效的预防方法是打补丁、主机IPS(HIPS)和使用防火墙规则设置ACL。比如webLogic,它只是一个web中间件,不需要向外界提供任何服务,只需要向Web服务器和数据库服务器提供服务,所以它只需要在防火墙上设置规则,允许它只与Web服务器和数据库服务器通信。即使它有漏洞,如果不暴露在外界,被攻击的可能性也会大大降低。这里的防火墙是指主机防火墙(HFW)。
这一步,其实用的最多的是微软远程桌面的端口3389。很多人为了方便会开通远程桌面服务,这也为黑客打开了方便之门。3389端口是黑客最喜欢扫描的。远程桌面真的很方便。如果一定要打开,建议在防火墙上加一条规则:只有指定的IP才能访问这个端口。
所以你选择的产品至少要具备主机防火墙和主机入侵检测的功能。如果能在第一步检测到攻击,拦截黑客,安全性会大大提高。可以使用系统自带的防火墙,也可以使用杀毒软件自带的防火墙,但是操作系统自带的防火墙不能在非域环境下统一设置和管理。
2.2.访问:
如果不幸的是,第一步被黑客攻破了,黑客通过端口扫描了你的IP,那么他的下一步就是使用这个端口,最有效的方法就是利用攻击。黑客利用已知漏洞和新漏洞(零日漏洞或以前从未发现的漏洞),如Adobe Flash、Adobe Reader、Java运行时环境、web浏览器和Windows组件,这些程序被植入恶意代码并执行。恶意程序使用大量的漏洞攻击,但也有针对性的漏洞攻击(由一些组织或个人等。),这些都是传统检测方法难以发现和阻止的。一般情况下,我们要求所有的服务器都要尽快打补丁,最新的漏洞能及时打补丁,可以很好的防止类似的攻击。但问题是,对于很多0day漏洞攻击(0day漏洞是指还没有打补丁的漏洞),我们根本没有补丁,即使不是0day,很多单位的服务器也很少能及时打补丁。有的是因为盗版,有的是担心打补丁会导致系统重启甚至失败,有的是担心打补丁会发生。就在上周,一家医院的客户反映公司很多电脑出现蓝屏。我们去查了一下,发现轰炸了这么多年,他们还是没有给永恒之蓝打补丁。
所以,如果你选择的产品也具有针对漏洞攻击的防护功能,可以让黑客的漏洞攻击失效,而黑客要想成功入侵,无疑会大大增加攻击成本。
2.3.横向渗透:
如果黑客最终闯入了你的一台电脑,而且可能是无关的电脑,那么黑客的下一步就是进一步扩大——的成功,横向渗透。横向渗透其实和从外网攻击内网是一样的,同样需要开始扫描,进行密码爆破,然后找到并锁定被攻击的服务器。
在内网环境下,黑客的攻击方式更多了:大部分服务器没有联网,所以黑客要想入侵这些服务器,就必须生产出同时连接内网和互联网的电脑。一般信息部门的电脑都是这样的,还有一些比较隐秘,比如用USB无线网卡偷偷连WIFI的电脑。这些电脑最有可能被攻击。使用这些计算机作为进入内部网环境的跳板。
如果您想在这里采取预防措施,您必须防止计算机同时连接到内部网和外部网。对于私自插USB网卡的,你需要使用设备控制功能来阻止。不入侵服务器,能让服务器招你吗?是的,我见过不少。比如有的服务器开通了文件共享功能,图方便写。那么黑客只需要在可以访问共享的服务器上引爆勒索病毒,也可以对共享文件夹中的文件进行加密。这种情况下,由于病毒程序不在服务器上运行,服务器检测不到病毒,所以服务器最能防范这种情况。如果前面的手段都失效,黑客最后进入服务器(比如服务器以弱密码存在,黑客通过远程桌面合法手段进来)。在这种情况下,有什么办法可以阻止勒索病毒呢?根据我们对感染勒索的服务器的大量分析,我们知道在这一步,黑客进入服务器执行病毒程序和加密文件。如果勒索程序没有被杀毒程序查杀,最好直接运行病毒,有的会抹掉痕迹。有时候病毒是被杀毒程序直接杀死的,所以黑客不得不想办法关闭或者直接卸载杀毒程序。这里考验的是反病毒程序的防病毒能力和自身的健壮性。比如查杀率,未知病毒的防范,自身的安全保护措施等等。如果勒索病毒可以查杀,或者不能查杀,但是不能运行,那么对于服务器来说是安全的。所以在这个环节,杀毒软件最好具备以下功能:主动防御或者行为检测技术,可以防止未知病毒。杀毒软件应具有防止关机和卸载的功能。要有对进程设置权限的功能,禁止运行未经授权的程序和进程。共享文件夹的保护等。
说到这里,对病毒和黑客攻击的防范可以总结如下:
l常规通信:电子邮件、网页、共享、u盘等。
l扫描阶段:IPS防护,防火墙;
l入侵阶段:漏洞保护和共享文件夹保护。
l内网渗透:IPS防护、防火墙、外设控制、BadUSB。
l闯入服务器:病毒查杀,阻止程序运行,防止未知病毒,更新速度。
验证一个软件能否抵御勒索病毒的有效方法是对黑客攻击过程的每一步进行测试和验证。
04.检测方法
测试方法包括静态测试和动态测试。
所谓静态测试,就是下载病毒样本包,通过杀毒软件测试病毒样本的识别率和管理功能。
目前很多评测都是静态测试,用病毒样本包来测试产品是否可以识别,无法识别的病毒发送给厂商更新病毒库需要多长时间,测试厂商对新病毒的反应速度,直接执行无法识别的病毒,看杀毒软件对未知病毒的主动防御能力。设置应用程序权限,看看没有权限的程序,比如病毒,能不能运行。该方法主要用于测试杀毒软件的基本功能,包括报表、集中管理等功能。但在真实攻击中很难准确反映产品的实战能力。
第二种方法是动态测试,即模拟攻击,测试杀毒软件面对攻击时的反应。常见的方法是使用KALI LINUX模拟攻击。测试杀毒软件如何有效拦截漏洞、网络攻击、端口防范等等。