网络安全 频道

入侵检测系统FAQ

重放(Replay)攻击: 很多情况下,入侵者不必解密口令。他们可以使用加密
的格式来代替登陆系统。这通常需要重新编码客户端软件来使用加密的口令

口令文件窃取: 所有的用户数据库通常存储在磁盘上的一个单个文件。UNIX
下这个文件是/etc/passwd(或者这个文件的其他镜像),WinNT下,是SAM文件
每个方法,一旦入侵者取得了这个文件,他/她就能运行解密程序(如上面所
述)来发现文件中一些脆弱的密码。

观察: 一个传统的口令安全问题是口令必须长而且难猜(使得字典和强力攻
击不合理的困难)。然而,这样的口令往往很难记忆,所以用户就在某地写
下来。入侵者常可以搜寻一个个人办公桌来发现写到小字条上的口令(一般
在键盘下面)。入侵者也可以自己训练在用户后面观察口令的键入。

交际工程: 一个普通(且成功)的技巧是简单的打个电话给用户并且说 "hi,
我是MIS组的Bob, 我们正跟踪网络上的一些问题,并且出现在你的机器里。
你用的是什么口令呢?"许多用户会在这种情况下放弃他们的口令。(许多公
司有政策让用户永远不要给出他们的口令,甚至他们自己的MIS部门,但是
这个伎俩仍然成功。一个简单的解决方法就是MIS组打电话给6个月的雇员
问他们口令,然后批评他们的错误,这样他们就不会忘记了:-)

1.6典型的入侵过程?

一个典型的入侵过程也许如下:

步骤1.外部侦查--
入侵者会尽可能地找出实际上并不直接给予他们的资讯.
他们常通过公开资讯或伪装成正常的使用者.
用这种方式的入侵者, 将使你实在难以察觉. 如你的
网络跟你的Domain Name 一起 注册的(例如 foobar.com),入侵者可以
使用''whois''这种查表(lookup)来尽量找出你的网路(network)资讯.

入侵者也许经由你的DNS表(使用''nslookup'',''dig'',或
其他的工具程序 来作 domain 的转换)来找出你机器的名字.
入侵者会浏览其他的公开资讯, 例如 你的公开站点和
匿名(anonymous)FTP 站点. 入侵者也许会寻找关于你公司的
新闻文件和报刊的发行品.

步骤2.内部侦查--
入侵者使用更具侵略性的技术来对资讯扫描,但不会破坏
任何东西.他们将由你全部的网页来找出CGI scripts(CGI
scripts 经常是容易被入侵的).他们也许会为了试探主机的存
在而使用''ping''.他们也许会用 UDP/TCP scan/strob(扫描)来
找出目标主机的可获得服务(services).他们也许会执行一个
如同 ''rpcinfo'',''showmount'', ''snmpwalk''等等 的工具程序
, 来寻找可获得的资讯.关于这点,入侵者只是做出"正常的"
网路行为,并且没有作出任何被归类为闯入(intrusion)的举动.
针对这点,NIDS会告诉你"有人在检查你的大门握把",但没有人
真的去试着把门打开.

步骤3.入侵--
入侵者违越了规矩,并开始对目标主机作了可能的漏洞入侵.
入侵者尝试 在一个输入资料里,传递一个shell 指令,因而
危及CGI script.入侵者试图以传递大量的资料的方式,来侵害
一个已知的缓冲区溢位(buffer-overrun)漏洞.入侵者开始检查
有无 简单可猜(甚至 没有)密码的户帐号.一个黑客,会由
几个阶段性的入侵.例如,如果黑客可以得到一个用户的帐号,
他将试图作更进一步的入侵举动来获得 root/admin.

步骤4.立足--
在这阶段中,入侵者已经由机器的入侵,成功地在你的网路中立足.

入侵者主要的目的就是藏匿入侵证据(修改稽核(audit trail)与log档)
并确认他可以再次侵入.他们也许会安装可让他们执行的''toolkits''
.用他们有着后门(backdoor)密码的木马(Trojanhorses)置换原先的服务
,或 创造一个属于自己的使用者帐户.System IntegrityVerifiers
(SIVs)可以 注意到 档案的改变 而对使用这些手段的入侵者

做出检测.由于大部分的网路难以防御来自内部的侵害,入侵者将利用
这个机器作为其他机器的跳岛.

步骤5.利益--
入侵者利用他们的优势偷取机密资料,滥用系统资源(阶段性的由其他机器
侵扰你的机器)或破坏你的网页.

其他的情节也许开始情况不同.不管是入侵特定的站点或者是随机地在
网路世界中扫描特定的漏洞.例如 入侵者可能会企图扫描有着
SendMail DEBUG漏洞机器的整个网路.他们可以轻易入侵有漏洞的机器.
他们不会直接针对你,甚至不知道你是谁.(就好像''birthdayattack''般,
列出已知的系统漏洞与IP位置,凭运气的找到有着其中一项漏洞的机器)

1.7一般的入侵类型有哪些?

有三种攻击方式:

侦察--包括ping扫描,DNS zone 转换,e-mail侦察,
TCP 或 UDP 端口(port)扫描(scan),与经由公开网页伺服
器可能的索引(indexing),来发现CGI漏洞.

漏洞--入侵者将会利用隐密的特性或缺陷(bugs)来存取系统.

拒绝服务(denial-of-service)(DOS)攻击--入侵者试图
破坏服务(或机器),使网路连结(link)超载,CPU超载,填满硬盘.
入侵者不是想获得资讯,而是仅仅以如破坏者般的
行为而不让你使用机器.

1.8 常见漏洞有哪些?

1.8.1 CGI脚本(scripts)

CGI程式是恶名昭彰地不安全.典型的安全漏洞
包括 经由shell特殊字元(metacharacters)
的利用,直接传递变质的输入 于 命令shell里.
使用隐藏的变数,指定系统里的档案名(filename)
,或揭示更多系统的种种.最为人知的CGI缺陷就是
装载于NCSA httptd的''phf''数据库(library).
''phf''library 假定为允许 伺服解析(sever-parsed)HTML,
而造成 传回任何档案 的漏洞. 其他入侵者试图使用的
知名CGI脚本漏洞有:TextCounter, GuestBook, EWS,
info2www, Count.cgi, handler, webdist.cgi,
php.cgi, files.pl, nph-test-cgi, nph-publish,
AnyForm, FormMail.如果你发现有人试图存取上述
的CGI脚本(但你没有使用他们),这便清楚显示了一
个入侵的意图(假设你没有把你想使用的CGI脚本
用那个缺陷版本安装).

1.8.2 Web 服务器(server) 攻击

在CGI程序执行后,Web服务器可能有了其他的漏洞.
非常多的self-written Web服务器(包括IIS 1.0 与 NetWare2.x)
会因为在一 档案名
之中,能把一连串的"../"写在路径(path)名里,
因而跳到 系统档案 的其他地方,得到任何档案.
其他的一般漏洞,就是在 请求(request)域(field) ,
或 其他 HTTP数据 的 缓冲区溢出.

Web服务器常因为与其底层的operating system
有着互动的关系 ,而产生漏洞.在Microsoft IIS
里有个古老的漏洞被使用,因档案有两个档案名--
一个 长档名与 一个短的相应8.3形式名 ,有时能
绕过允许机制 而获得存取.NTFS (the new file system)
有一个特色,名为--"alternate data streams" 相似于
Macintosh系统的 数据与 资源 forks.你可以在通过stream
name时,添加上"::$DATA"(这是为了看他的脚本而不是执行什么)
,来存取他的档案.
服务器长久以来因URLs而存在着问题.例如
"death by a thousand slashes"
问题,导致Apache产生大量的
CPU负载,因它试着在数以千计的"/" URL中处理每一个目录.

1.8.3 Web浏览器 攻击
Microsoft与Netscape的Web浏览器,都有安全漏洞(当然啦,虽然

最新版本的,我们还没发现),这包括了URL, HTTP, HTML,
javascript, Frames, Java, 与 ActiveX 攻击.

URL数据段,会有缓冲区溢位的情况,当它由HTTP标头(header)
被解悉时,在屏幕上显示时,或于某种形式被处理(如
由cache history储存).而且,有着古老Internet
Explorer漏洞的在浏览器,在执行 LNK或URL命令时会伴随着
能在内部造成影响的漏洞.

HTTP 头可能因为传递给只收特定值的函数而产生漏洞


HTML常会存在漏洞,如 MIME-type 缓冲区溢位 于
Netscape Communicator的 <EMBED> 命令.

javascript长久以来都很受喜爱,并常常试着经由
产生一个档名 与 自动地隐藏"SUBMIT" button
来侵害 "file upload" 函式 . 已有许多不同的这
种漏洞被修正了,然而会有新发现的方法来绕过修正.

Frames 常如 javascript的一部份般, 或 Java hack
来使用 经由一个象素大小的屏幕,把网页隐藏)
但它们呈现了特别的问题.如 我能 包含一个连结 到
一个可信赖的 使用者frames 的站点,然后以我自己站
点的网页置换那些frames的一部份,于是它们将会以那
个远程站点的一部份般 出现在你面前.

Java
有一个健全的安全模型(model),但经证实那个模型有着
特殊的漏洞(虽然与其他的任何事物相比,它被证实是整个系统
最为安全的元件之一).再者,它的健全安全性,也许是
它的undoing:正常的Java applets 无法存取当地
(local)系统,但有时,如果他们真能存取当地系统的话,

它们将会更为有用.因此,"信任(trust)"模型的完成,更容易被入侵.

ActiveX 甚至比 Java更危险, 当它是由一个 信任模型
纯粹运作
并 执行 原有的(native)程序码. 你甚至会偶然地
感染到病毒(virus)( 在贩售商的程序码中意外
地被植入(imbeded)).

1.8.4 SMTP (SendMail) 攻击
SendMail 是一个极端复杂并被广泛使用的程序, 是以,
它频为安全漏洞的来源. 在过去( ''88 Morris Worm的时期),
黑客 会利用 DEBUG 命令的漏洞 或 隐藏 WIZ 的特徵,
来闯入 SMTP. 近来, 他们经常试着用 缓冲区溢位 手段.
SMTP 也被用做侦察(reconnaissance) 攻击, 如利用
VRFY 命令找出使用者名子.

1.8.5 Access
失败的 login 企图,失败的档案存取企图, password
cracking,
管理者权力的滥用.

1.8.6 IMAP
使用者经由 IMAP 协定从服务器收email (在对比之下, SMTP 介于
服务器之间传送e-mail ). 黑客
已在一些受欢迎的IMAP服务器里发现漏洞.

0
相关文章