什么是ID?
ID代表入侵检测,是一门检测不恰当的、错误的或者反常行为的艺术。入侵检测系统包括安装在主机上的用来检测恶意行为的“基于主机的入侵检测系统”和用来检测网络数据流量的“基于网络的入侵检测系统”。
有的时候,我们需要区分“滥用”和“入侵检测”。术语“入侵”被用来描述来自外部的攻击,而“滥用”别用来描述来自内网的攻击。然而大部分人没有注意到这一区别。入侵检测最常用的手段是统计性的异常检测和规则匹配检测。
Dirk Lehmann
Siemens CERT
我如何向FAQ提交一个问题?
下文是SANS入侵检测与响应FAQ的作者指南。 这个FAQ的建立者包括:
Fred Kerby - Naval Surface Warfare Center Dahlgren Division
Steven Moore - Mitre
Tim Aldrich - NEXTLINK
Editor: Stephen Northcutt
Copyeditor: Sandy J. Burd - Internet Security Advisor
我希望共享大家的观点,我也希望我们能够建立一个有用的文档来帮人们更多的了解入侵检测。当一个用户点击问题列表里的一个条目的时候,就会有一个精确的、表述明确的、及时更新的、白皮书形式的文档来作为解答。为了达到这个目标,我们鼓励大家采纳问题,并且作出高质量的解答,并保持解答的时刻更新。
如果你想参加,你要先选定一个问题,然后,对此作出完善的解答,其中也包括参考、图表和恰当的例子。一般的,你的解答应该有3到5段的介绍、文章主题和结尾。每封邮件请只寄一个问题!发送的网址是:info@sans.org,邮件请以"intrusion"(入侵)作为主题。SANS会将解答转发给我。文件格式以ASCII文本格式或者微软的Word文档格式为准。如果你想让别人知道你的工作,请在文件的尾部留下你的名字和组织名称。
注意,如果你选择了一个以前存在的问题,我将试图将两份解答合并,但是如何做有我自己决定。如果你的解答不能保持更新,或者你的解答与FAQ的整体质量不符,我可能会换成别的作者的解答。我会尽量避免这么做,你也可以帮助我随时更新你的解答。
我们会审查你的解答的准确性。如果我们无法对你的材料进行确定,我们会把它交给FAQ的评审部,评审部的成员是由FAQ的发起者和我认为合适的人组成。他们会阅读解答并作出决定。再一次感谢您的自愿参与。我迫不及待的期望您的解答。
Stephen Northcutt
SANS Institute
Director of Research for Intrusion Detection and Response
关于入侵检测与响应和安全方面有什么书籍?
Intrusion Detection 《入侵检测》- Amoroso, Edward
Intrusion Net Books 《入侵网络从书》1999
Intrusion Detection: Network Security Beyond the Firewall 《入侵检测:防火墙以外的网络安全》- Escamilla, Terry John Wiley & Sons, Inc. 1998
Practical UNIX & Internet Security 《实用Unix与互联网安全》- Garfinkel, Simson and Spafford, Gene O'Reilly & Associates, Inc., 2nd Edition, 1996
Hacker Proof: The Ultimate Guide to Network Security 《拒绝黑客:网络安全完全手册》- Klander, Lars Jamsa Press 1997
Network Intrusion Detection《网络入侵检测》 - Northcutt, Stephen New Riders, 1999
Sys Admin-Essential References Series. UNIX Security R&D Books 《系统管理-核心参考系列: Unix安全研发丛书》1997
我可以用以太网数据包的MAC地址来追查攻击者么?
如果攻击来自于和你直接相连的系统,中间没有网关的话,你可以用MAC地址来追查。但是,如果中间有网关,那么网关会将发送者的MAC地址替换为自己的MAC地址。结果就是你只能依据MAC追查到网关。如果网关有日志记录功能,你可以搜索系统日志来获得更多信息。
Dirk Lehmann
Siemens CERT
我一直在监视我的网络活动日志,发现有大量的连接请求,这些请求没有任何恶意的行为。那么,我是不是应该对此关注?
你应该对此有所担心,你可以这么想:
假设有一辆身份不明的汽车在你家的附近穿梭,并且记下了每一个房子的地址。汽车里的人对每一个房子都作了详细的记录。你开始注意到同样的人群,在不同的时间会回来确认你房子周围的情况。这会不会让你觉得烦扰? 我显然会。
对攻击者的采访揭示出两大趋势:他们愿意用大量的时间和经历来对目标进行探测,并且能轻易得到很多的信息。防御者也应该了解许多现代网络复杂的扫描工具,比如NMAP。使用Nmap,攻击者有可能发现操作系统的类型,预测TCP的序列号,以及运行的服务。这么多的信息被泄露出去,攻击者就会选择相应的代码来对目标进行攻击。
以上所讲的,确实是那些人对你的网络的所作所为。他们试图发现你的网络上有哪些主机,哪些是开机的,那些是关机的,那些主机会对特定的连接请求作出回答。而针对你的网络所作的这些收集信息的行为,其目的就是要用某种方式来窃取信息。
个人来讲,我不希望被攻击并窃取信息,你呢?
在入侵检测中,类似于Tripwire的文件完整性检测工具起了什么样的作用?
如果不对系统文件做任何修改,很难真正的损害一个系统,因此文件完整性检测是入侵检测一个重要能力。文件完整性检测,会对每一个需要保护的文件进行校验计算,然后将校验值保存起来。随后,你可以再次对文件的校验值进行计算,并且与原来保存的值进行比较,来确定文件是否有改动。文件完整性校验是每一个商业性的基于主机的入侵检测系统所应该具有的一个功能。
用的最多的校验值计算方法是32位的CRC(循环冗余码校验)。但是攻击者确有方法修改文件内容,而不改变文件的CRC校验值。因此更强的校验值算法,例如密码学中的哈希函数,更适合于此用途。典型的有MD5和snefru(一个埃及法老的名字)算法。
使用文件完整性检验的一个问题是误报。当你更新了一个文件或者为系统打了安全补丁,文件的内容就变了。创建初始的特征数据库是很容易的,但是保持数据库的更新是很难的。虽然如此,即使你只运行检验一次(比如说刚装完系统的时候),也是非常有价值的。如果以后你怀疑你的系统被入侵并篡改,你可以再次运行交验程序,就可以发现哪些文件已经被修改,哪些文件还没有。
使用文件完整性检测的另一个问题,是你得保证创建初始特征参考数据库时,系统必须是干净的(没被攻击过)。否则,你可能在为一个被入侵过的系统创建特征数据库,心里却认为你的系统安全性无懈可击。另外需要强调的是你必须把参考数据库离线保存,否则攻击者有可能在篡改系统以后通过修改参考数据库来掩盖他们的行为。
完整性检测工具,包括tripwire(ftp://coast.cs.purdue.edu/pub/tools/unix或者 www.tripwiresecurity.com),L5,和SPI(SPI只允许美国政府用户使用,http://ciac.llnl.gov)