几年前,有一家公司试图向我推销他们的最新产品,说这个产品可以帮我检测并阻止恶意软件感染企业系统。我礼貌地拒绝了,并解释说我的公司有很多工程师,不可能受到席卷互联网的恶意软件的困扰。而且我还告诉这家供应商,我们已经部署了企业级防病毒产品来应对这类问题。
不过最终我还是尝试了他们的试用版产品,设置它来捕捉离开交换端口分析器(Switched Port Analyzer)端口的边缘互联网流量。让我非常震惊的是,当我打开该设备并登录后,我才发现我们的问题有多么严重。我看到公司内有十多个系统都检测到了恶意软件,尽管它们都安装了防病毒软件,并且更新了最新的病毒库。这些病毒感染都在忙着进行命令控制回调到世界各地的服务器,并可能已经存在一段时间了,只是我们不知道。其中有些流量似乎是相当良性的链接欺诈,而其他恶意软件正在发送我们根本无法破译的加密数据。无论如何,很显然,我们存在问题,而且必须采取行动。从此我开始接触安全分析技术。
恶意软件影响着我们所有人,无论我们的企业部署了怎样的防御措施。这是一种隐形和复杂的威胁,我们长久以来依赖的反恶意软件只是给我们制造了一个安全的幻觉。
在这篇文章中,我们将讨论检测和防止当今恶意软件、高级持续威胁(APT)、零日漏洞等所需要的不同类型的产品,并探讨如何将数据整合到安全分析技术中,以对企业面临的威胁提供一个新的更广阔的视图。
首先,可以说是最重要的,支持恶意软件为中心安全分析系统的技术是专门的高级恶意软件防御产品,正如上面描述的产品。就我而言,FireEye是我选择的供应商,因为其特别利用了虚拟化技术,另外Damballa、Bit9和很多其他供应商也提供类似的引人注目的产品。
FireEye的威胁防御平台可以实时分析流量,并限制恶意软件在虚拟机中进行进一步分析。该产品还能够寻找共同的恶意软件签名,它也能够基于系统的启发式行为进行检测。这在检测APT和零日攻击中尤为重要,因为其中根本不存在签名。
FireEye产品的一个缺点是,它只能检测连接到该设备覆盖网络的系统上的恶意软件。这是一个巨大的缺陷,为此,很多移动设备可能无法受到保护。这正是Trusteer或Bit9等公司的基于代理的方法派上用场的地方。通过在每个端点安装代理,你可以保护设备--无论设备的位置:在办公室、家里或在路上。
如果专有恶意软件防御系统不可行,你可能需要再看看你的入侵防御系统(IPS)。我注意到很多IPS供应商构建恶意软件检测规则到他们的产品中,其中有些非常接近专有高级恶意软件检测供应商提供的功能。
配置管理也是安全分析程序的关键组成部分。这里的重点是,你需要盘查关键系统(域服务器、应用服务器、Web服务器、数据库服务器等)上的关键配置和可执行文件,因为攻击者通常会试图用新版本取代这些文件以保护他们在你环境中的立足点。Tripwire的开源版本是一个免费的数据完整性监控工具,这是个很不错的工具,安全专业人士已经使用了很长时间。
我们的网络扫描工具在安全分析程序中发挥了很大的作用,这可能听起来有点奇怪。防止恶意软件感染环境的最好方法是通过有效的硬化。如果我们可以使用网络扫描器来搜索网络中未打补丁和过时的系统,我们就可以在攻击者攻击它们之前进行修复。好消息是,因为有很多网络扫描供应商相互竞争,还发生了很多收购和并购交易,产品之间的功能差别并不大。还有一些免费工具可以执行网络扫描,包括Nessus和OpenVAS,虽然与付费工具相比,它们有一定的局限性。
威胁检测安全分析的另一个重要部分是日志管理。我们的想法是把所有系统的日志信息保存在集中的安全位置,以备将来使用。当攻击者侵入系统时,他或她通常会通过编辑或删除系统日志来删除侵入的证据。转移这些日志到中央存储库可以增加攻击者篡改日志的难度。此外,通过集中日志记录,企业可以更容易地在系统和应用上搜索和运行报告。
在你的日志中你应该检查这些事件:成功登录之前经过多次失败登录尝试;通常从某个IP或位置登录的用户突然从其他位置登录;没有进行DNS查询连接到网络IP地址的机器,或者具有大量出口流量的连接。这些事件中的任何一个都可能或者可能不会构成问题,但任何两个或以上的问题同时出现就可能意味着攻击。
另外,如果无法选择商业日志管理或安全信息和事件管理产品,还有很多免费的SIEM工具。Splunk可作为你的日志搜索引擎,你每天可以免费使用它来处理高达500MB的日志。我从没用过其他工具,但我知道还有一个不错的免费开源日志管理工具,即LogStash。
对于安全分析程序,我强烈推荐的最后一个工具是网络分析工具,这种工具能够捕捉和分析来自不同网络的流量数据。这些流量数据包括IP地址、端口、协议和穿越网络的流量的数据大小。基本上,这就是数据本身。
你的网络分析工具将允许你搜索先前隐藏的流量中的模式。例如,早在去年,HD Moore发布了一篇关于漏洞利用统一即插即用(或UPnP)和简单服务发现协议设备的博客文章。通过利用我的网络分析工具,我对外部源IP地址进行了模式查询--针对我的公网IP地址之一,使用端口1900的用户数据报文协议。在24小时内,出现539个匹配模式。这表明攻击者确实存在。
因为转发流量数据只是一些路由器和交换机的一个功能,你需要找到一种方法来捕捉和查看这些数据。你可以使用来自SolarWinds、NetScout或Lancope等公司的专有网络分析工具,或者利用上述提到的日志管理工具。我选择了21CT的LYNXeon的工具,因为它不仅能够对流量数据进行模式分析,还包括其他数据类型。下面让我详细介绍。
去年我在名为The Magic of Symbiotic Security的会议上做了一个演讲,其中我介绍了促进融合的安全生态系统—突破工具孤岛,让它们一起运作以获得最大效率。我们安全分析的终极目标是让上述提到的每个组件一起运作,以获得对所面临威胁的清晰视图。我们从恶意软件以及入侵防御系统收集警报数据--其中包含关于恶意类型、目标和来源的信息;我们还会收集关于文件签名突然发生改变的系统的信息;我们收集环境中不同系统存在的漏洞信息;然后,我们收集日志文件生成的信息,例如失败登录尝试或账户锁定。我们利用供应商为我们提供的访问数据的工具来实现这些数据收集工作。这可以是通过API调用,简单网络管理协议警报或者直接的数据库查询。最后,所有这些数据都被整合到LYNXeon。接下来,我们使用模式查询语言来寻找所有数据集的潜在恶意模式。
下面是一些报告例子,它们让我们更好地了解网络安全状况:
连接到http://www.malwaredomainlist.com服务器的内部系统
在很短的时间内,连接到很多其他内部系统的内部系统
连接到恶意软件或入侵检测平台已经触发警报的外部系统的内部系统
使用不属于企业基础设施的DNS服务器的内部系统
此外,在我的公司整合流量数据与其他数据类型的好处之一是,我们能够根据一个位置发生事件来创建模式,并利用这些模式来寻找其他位置的类似问题,这些其他位置可能没有部署完全相同的检测机制。
上述建议是我自己的经验,并不是全面的工具或工具类别清单,但这为你提供了一个基础,让你可以开始利用威胁检测安全分析。在你的公司建立一个安全分析程序可能不会在一夜之间发生,但这肯定可以实现,并能够帮助你提高检测恶意软件的能力。在这个过程中,不要忘了保持良好的数据指标,这样你就可以向高管展示投资回报率。