对于应付企业每日所面临的各种信息安全威胁来说,能够很好的控制企业网络每日流进流出的数据,是很关键的一步。过滤流出企业的数据,可以有效防止恶意软件将重要信息泄漏出去或联系攻击方服务器,比如可以阻止僵尸电脑联系服务器下载病毒的企图。本文将向大家介绍Windows下的几个免费小工具,可以帮助网络管理员确认被防火墙拦截的流出数据是否存在潜在的安全威胁。
监测潜在威胁
要控制流出企业的数据流,你必须定期检查防火墙或路由器的日志文件,因为这些日志会显示出任何不正常的数据流或恶意的数据传播模式。不正常的输出数据活动可能表现为定期尝试连接某个远程地址的某个特殊端口,或者某个主机定期尝试连接某个内部服务器,而该主机的用户通常情况是不需要访问该服务器的。下面我们就举个例子来具体分析一下,假设公司里有个Windows主机总是通过UDP端口12000尝试连接一个IP地址位于俄罗斯的主机。
一旦你确定了公司内这个主机的位置(并且通过杀软对该主机进行了全面扫描),我们就可以使用netstat命令来检查该主机的网络连接状态。使用netstat加上-?参数可以查看该命令所有可以使用的功能参数和相应的介绍。下面就是netstat的相关功能参数,可能会在你的调查工作中用到:
需要注意的是,虽然使用-b参数可以列出发起连接的可执行程序名称,但是这个参数也会降低netstat命令的执行速度,而且可能会让你错过某个你在寻找的连接。通过数字顺序排列的方式可以帮助你更好的阅读命令执行的反馈结果。
在我们的例子中,我只需要显示使用UDP协议的连接,因此我们使用-pUDP参数,再加上-a,-o和-n参数。命令执行结果如下图所示(我修改了真实的IP地址):
图A
通过反馈的PID,我们可以在Windows的进程管理器里确定发起该连接的进程以及相关的程序。
图B
有时候,直接运行netstat就足够确定引发该连接的进程和相关可执行文件了。但是有时候netstat的结果会误导我们。在本例中,我们看到的可疑连接通过PID追溯到的可执行程序是explorer.exe,这是Windowsshell文件。将该文件上传到VirusTotal(http://www.virustotal.com)进行分析,显示该文件是干净的,并没有被病毒感染或破坏。因此本例中肯定还存在某个隐形的程序。
进入进程监视器
Processmonitor(procmon可以在以下地址下载:http://technet.microsoft.com/en-us/sysinternals/bb896645)是Sysinternals开发的一款Windows工具,可以让管理员实时查看活动的文件系统,注册表和进程/线程活动情况。该工具采用图形界面,但同时也支持命令行模式。
启动procmon.exe后,该软件会理解开始捕获事件。你可以将捕获结果保存到日志文件以便日后分析。需要注意,在某些主机上,可能会在短时间内产生大量事件,捕获事件几分钟就会积累大量的事件记录,同时保存下来的日志文件超大:
图C
要停止捕获事件,选择File菜单,CaptureEvents。在本例中,我们通过netstat知道可疑连接是由explorer.exe发起的,因此我们使用进程监控工具中的过滤器,只查看explorer.exe的活动情况。右键点击列表中的任意一个explorer.exe事件,选择“include”。这个动作会忽略其它所有可执行文件的记录:
图D
当然你也可以排除某个程序,这样就会在当前视图中隐藏该程序的相关事件。回到我们的例子中,我们可以发现捕获到的连接远程IP的动作:
图E
然后我们分析explorer.exe在发起连接请求前的动作,可以看到一个不正常的字串:
图F
看上去好像explorer.exe尝试读取注册表中的某段信息,而且该注册表信息指向回收站中的某个文件。对于恶意软件来说,这是很常用的在电脑中隐藏自身的方法,所以我们很可能发现了真正的罪魁祸首。将文件上传到VirusTotal进行检查,有几个扫描引擎确认该文件中存在某个古老木马的变种,但是该变种的变化量太大,导致目前本机安装的使用病毒特征码为依据的杀软无法将其识别出来。
上面介绍的只是一个很简单的例子,我希望通过这个例子让大家学习到相关工具的使用方法以及有关威胁检测的相关方法,帮助大家更好的应对企业办公环境的潜在威胁。