入侵分析十诫
这些年来,笔者一直积极参与入侵检测分析师的培训和发展工作,同时还担任了 SANS 信息安全课程《深入入侵检测》(编号503)的授课导师。笔者发现自己一直在不断改变对有效入侵检测的哲学认识。然而,不论该哲学如何演化,有些主题总是保持不变。
通过这些经历,笔者创作了「入侵分析十诫」,这十诫所突出的核心主题不仅是笔者想要灌输给接受培训的分析师的,也是希望在自身的入侵分析工作中能融会贯通的。这十诫不是命令你们做什么,不过因为恰好有十条,所以取了「十诫」 这个还算切合的标题。入侵分析十诫可能不适合你或你所在公司的目标,或者不符合你的个人风格,但是它们对笔者的确用处匪浅!
1、分析师,分析师,分析师!
对分析师来说最重要的是深刻认识到他们自身的重要性。分析师是安全防护的第一道防线——他们在电脑前时刻关注着安全威胁的存在。分析师能阻挡攻击,也能防止被攻击后的情况恶化。在大多数信息安全事件的开始,分析师会根据入侵检测系统的告警给出解决提示;在事件的结尾,分析师会输入新的签名并基于已知安全事件的信息开发新的工具。从信息安全事件的开始到结束,分析师从始至终无处不在。好吧,也许是有点戏剧性,但入侵分析师的重要性是不可低估的。
2、除非是你自己创建的数据包,否则没有绝对的安全。
假设是分析的前提,记住这点非常重要。你在未来做出的大多数决定将基于一个数据包或者一条日志项,然后根据在研究中积累的经验对其反复斟酌。事实是,网络数据流并不是分析师生成的,因此我们所做的每个决定只是基于部分数据做出的假设。不过别担心,这没有什么不对的。问问你在化学界和物理界的同僚们,他们的绝大部分工作也都是在假设的基础上开展的,然而他们也取得了巨大成功。重点是没有什么是绝对的。这个 IP 地址真的对应一个已知的合法主机么?这个域名真的属于 XYZ 公司吗?这台 DNS 服务器真的应该和那个数据库服务器进行交互吗?没有什么是绝对的,有的只是假设,正因为如此,请记住假设的东西是可以改变的。总是怀疑自己,并保持警觉。
3、留意你从数据中抽取的信息是否准确。
分析师需要依赖数据来采取行动。这些数据可能来源于 PCAP 文件、IIS 日志文件或者系统日志文件。由于你会花大量时间通过各种工具与这些数据进行交互,因此知晓这些工具如何和数据交互至关重要。你是否知道运行 Tcpdump 时如果不对参数另做规定,它将只能捕捉一个数据包中前 68 个字节的数据?是否知道 Wireshark 显示 TCP 数据包中的序列号和应答号时默认显示的是相对值而非真实值?工具是人开发的,然而有时候工具的“功能特征”会模糊数据并阻碍正确的分析。刚刚举例的两个“功能特征”其实是很好用的,但是也应该对它们保持警觉,才可以在需要时获取所有的包数据,或查看真实的序列号和应答号。当我们从事一份依赖数据且数据至上的工作时,必须要理解工具和数据是如何进行交互的。
4、两个人的审视好过只有一人的审视。
作者配有编辑,警察配有搭档,核武器库里总安排两个人,这都是有原因的。不管你多么富有经验或者表现得多好,你总会遗漏掉什么。之所以需要两个人是因为不同的人背景相异。笔者在政府部门工作,因此在检查网络流量时,第一件事就是查看其来源国和目的国。笔者曾和拥有系统管理背景的人共事,因此,他会在检查网络流量时最先查看端口号。笔者甚至和从事数值计算处理的人共事过,他就会先查看包的大小。这表明我们的不同经历塑造了差异化的策略。这意味着做数值处理的人能发现做系统管理员的人没发现的信息,而为政府部门工作的人能发现做数字处理的人没有发现的信息。不管什么时候,有另个人来审视你面临的问题总是一个不错的主意。
5、不要邀请攻击者共舞
这是我在最初启动一台 Snort(轻量级网络入侵检测系统)传感器主机那天就深信不疑的事情。后来我在大师 Mike Poor 的 SANS 课程上听到了他更为精妙的表述——永远不要邀请攻击者共舞。对分析师来说,采用一些超出常规的手段来侦查恶意 IP 地址是件极具诱惑的事情。相信我,有很多次我都想对给我发送大量明显刻意制作的 UDP 数据包的恶意 IP 进行端口扫描。每次有人试图对笔者防护的网络进行 DoS 攻击时,除了拿他们可怜的毫无戒备的 DSL 连接发泄愤怒之外别无他求。这里的问题是,99% 的时候我们都不知道面临的是谁或者是什么工具。虽然你可能看到他们的扫描活动,但是产生这些网络流量的主机有可能被一个庞大组织甚至是另一个国家的军事部门操纵。即使一个简单的 ping 命令都会让攻击者知道你发现了他们的存在,从而促使他们改变攻击策略,切换源主机,甚至加强攻击力度。你不知道你的对手是谁,亦不知他们的动机或具备怎样的能力,所以在网络防护时永远不要挑衅他们。
6、情境很重要!
网络情境可以彻底改变你的监控和检测能力。为了有效防御,必须具备你所防护的网络的上下文。网络图、服务器列表及其作用、IP 地址的分配故障等等都会是你最好的伙伴。基本上,一切可以记录网络资产、它们如何运作以及它们和其他网络资产如何关联的文档都会在处理异常事件时派上用场。也许以你在公司中的职位,无法获取这些信息,或者这些信息现在仍未整理出来,那么你将会花很长时间让同事下大力气把这些文档整理出来。虽然这会很困难,但仍然值得你的争取和坚持。不管你做出的努力是硬着头皮向首席信息官提出你的依据和要求,亦或只是请你的网络工程师们喝一杯他们最爱的酒精饮料,你终将获得回报。
7、总的来说,数据包是合法的。
人生的终极争论是人之初性本善还是性本恶。对于数据包来说,这个争论同样存在。作为分析师,你可以认为所有的数据包都是恶意的,也可以认为所有的数据包都是合法的。笔者注意到,大多数分析师在职业生涯的初期都抱着前一种观点,然后很快就过渡到了后一种观点。那是因为把网络流量中的所有数据都当成潜在的根级别入侵危害来处理是根本不可行的。如果你那样做,你会因为花了整整一天却只处理了一个告警而被解雇,或者被你自己折腾得精疲力竭。有些事要说清楚,数据包有合法的有恶意的,但事实的真相是网络流量中的绝大部分数据包都不是恶意的,因此在数据包被证实是恶意的之前,应当视作合法数据包来处理。
8、tcpdump 工具之于入侵分析犹如望远镜之于天文学
每当面试入门级以上的入侵分析师时,笔者都会让他们描述下如何研究一个典型的入侵检测系统告警。然而让笔者感到沮丧的是这些人总是回答「我会使用 tcpdump、Wireshark Network Miner、 Netwitness、Arcsight、 Xeyes 等工具研究告警」,而不做进一步的具体解释。虽然它们是进行入侵分析的工具和技术,但是入侵分析本身不是工具和技术,而是艺术。如果不是这样的话,那么在入侵分析的过程中人的存在就不是必要的了。一个高效的分析师应该明白,即使使用这些工具是工作最重要的部分,但它们也只是拼图中的一块块碎片。就像天文学家的望远镜只是其工具库中帮助他发现行星围绕太阳运转原理的一个工具一样,Wireshark 也只是分析师的工具库中帮助他找出是什么让一个数据包绕过防火墙规则的一个工具。从技术开始,加上一些工具和软件,统观大局,留意细节,再结合你从过往经历中获取的经验,你将创造出一套属于自己的入侵分析哲学。至此,你才将自己的分析上升到艺术的层面,从而使你极具价值,无法被机器取代。
9、有时候,我们会失败。
不管你多么努力阻止攻击,总会出现你防护的网络被成功攻击和入侵的情况。在现代信息安全格局中,这是不可避免的,你能做的事情也很有限。这些时候,分析师很可能因为攻击事件而受到批评。因此,你需要为防护失败的发生做好准备。成功入侵事件不会因为如何发生而被记住,但会因为如何被应对、宕机时长、丢失的信息量以及其最终造成了公司多少财产损失而被记住。你能给管理者什么建议以保证此类事件不再发生?你怎么给自己的上司解释这次入侵攻击为什么没被成功检测?你使用的工具有什么缺陷?在发生入侵事件之前,这些问题都是无法得到充分的解答。但是你现在绝对可以开始考虑这些问题,并制定向关键人物回答以上问题的方案。你会措手不及,遭遇偷袭,但重要的是你不会表现出来并保持坚定严肃的姿态。这是决定你将获得晋升还是被解雇的关键。
10、深度挖掘
到你光荣退休的那天,你需要代表荣誉的桂冠来证明你的功勋,而你的功勋应该是你尽职尽责并拼尽全力的事实。笔者在入侵分析方面的“座右铭”是“深度挖掘”。网络防护人员必须控制 65535 个端口,而攻击者只需入侵一个就足够了。网络防护人员必须保护一万名用户,而攻击者只需要欺骗一个用户就足够了。网络防护人员必须检查成百上千万的数据包,而攻击者只需要在一个数据包中隐藏好恶意数据就足够了。你要怎么样做才能对数据有更敏锐的感知?你要锻炼什么样的能力,才能与攻击者相抗衡?你有一种预感,事情并不像看到的那么简单,你要怎么样做才能深度挖掘?
原文链接:http://chrissanders.org/2011/01/the-10-commandments-of-intrusion-analysis/
如今,多样化的攻击手段层出不穷,传统安全解决方案越来越难以应对网络安全攻击。OneRASP 实时应用自我保护技术,可以为软件产品提供精准的实时保护,使其免受漏洞所累。想阅读更多技术文章,请访问 OneAPM 官方技术博客。
本文转自 OneAPM 官方博客