对公司或组织的计算机系统进行的攻击有各种形式,例如电子欺骗、smurf攻击以及其它类型的拒绝服务(DoS)攻击。这些攻击被设计成破坏或中断您的运营系统的使用。本文讨论一种广为流传的攻击形式,称为密码破解。
密码破解是用以描述在使用或不使用工具的情况下渗透网络、系统或资源以解锁用密码保护的资源的一个术语。本文将研究什么是密码破解、为什么攻击者会这样做、他们如何达到目的以及如何保护您自己。我将简要研究攻击者自身:他们的习性和动机。通过对几种方案的研究,我将描述他们部署的一些技术、帮助他们攻击的工具以及密码破解者是如何从内部和外部侵犯公司基础结构的。最后,文章提供了一张检查表以帮助您免遭密码破解。
在研究这样做的一些方法之前,让我们首先了解攻击者的想法并研究他们为什么想访问您的网络和系统。
攻击者:他们如何以及为何进行攻击
关于黑客(hacker)的定义仍然争论不休。黑客可以是任何对基于计算机的技术有浓厚兴趣的人;它未必定义想进行伤害的人。词汇攻击者可用来描述恶意黑客。攻击者的另一个词汇是黑帽(black hat)。安全分析师通常称为白帽(white hat),白帽分析是为防御目的而使用的密码破解。
攻击者的动机差别很大。有些声明狼籍的黑客是高中生,他们在地下室里的电脑前寻找利用计算机系统的漏洞的方法。其它攻击者是寻求报复公司的心怀不满的雇员。还有另外一些攻击者完全出于寻求刺激性的挑战目的,想渗透保护良好的系统。
攻击方法
密码破解不一定涉及复杂的工具。它可能与找一张写有密码的贴纸一样简单,而这张纸就贴在显示器上或者藏在键盘底下。另一种蛮力技术称为“垃圾搜寻(dumpster diving)”,它基本上就是一个攻击者把垃圾搜寻一遍以找出可能含有密码的废弃文档。
当然,攻击者可以涉及更高级的复杂技术。这里是一些在密码破解中使用的更常见的技术:
接下来,研究一下攻击者用来闯入系统的一些工具。
专业工具
最常用的工具之一是L0phtCrack(现在称为LC4)。L0phtCrack是允许攻击者获取加密的Windows NT/2000 密码并将它们转换成纯文本的一种工具。NT/2000密码是密码散列格式,如果没有诸如L0phtCrack 之类的工具就无法读取。它的工作方式是通过尝试每个可能的字母数字组合试图破解密码。
另一个常用的工具是协议分析器(最好称为网络嗅探器,如Sniffer Pro或Etherpeek),它能够捕获它所连接的网段上的每块数据。当以混杂方式运行这种工具时,它可以“嗅探出”该网段上发生的每件事,如登录和数据传输。正如您稍后将会看到的,这可能严重地损害网络安全性,使攻击者捕获密码和敏感数据。
让我们研究一些方案,分析攻击者如何发起攻击以及如何停止或预防他们。我将首先描述两种涉及内部攻击的方案(即,在组织内部发起的攻击),然后研究涉及外部攻击的两种方案。
内部攻击
内部攻击者是解密攻击最常见的来源,因为攻击者具有对组织系统的直接访问权。第一种方案研究的是攻击者是心怀不满的雇员的情况。攻击者,一名经验丰富的系统管理员,在工作中遇到了问题,而拿她自己管理、保护的系统发泄。
示例:心怀不满的雇员
Jane Smith是一名经验丰富的且在技术上有完善的记录证明的系统管理员,她被公司雇佣在深夜运行备份磁带。您的公司,作为一家 ISP,拥有非常庞大的数据中心,大约4000多个系统都由一个网络运营中心(Network Operations Center)监控。Jane和另外两名技术人员一起工作以监控通宵备份,并且在早班之前倒完磁带。他们彼此独立工作:一名技术员负责UNIX 服务器,一名技术员负责全部Novell服务器,而Jane负责Windows 2000服务器。
Jane已经工作了六个月并且是一名后起之秀。她来得很早,走得很晚,并且曾请求转到公司的另一个部门。问题是那时没有空位子。在上个月,您(安全分析师)发现 Cisco路由器和UNIX服务器上的登录尝试的数量有大幅增加。您实现了CiscoSecure ACS,所以可以对尝试进行审计,您发现它们大部分出现在早上3点钟。
您产生了怀疑,但作为一名安全分析师,您不能在没有证据的情况下到处指证。
一名优秀的安全分析师从深入研究问题着手。您发现攻击出自高手,并且出现在Jane 当班期间,正好在她完成倒带任务之后,在日班小组到来之前,她有一个小时的时间学习和阅读。所以您决定请夜班经理夜晚监督 Jane。三个星期的严密监督之后,您发现攻击已经停止了。您的怀疑是正确的。正是Jane试图登录到Cisco路由器和UNIX服务器中。
一名优秀的安全分析师还需要使用一种好的审计工具(如Tacacs )来记录攻击。Tacacs 是由诸如CiscoSecure ACS之类的应用程序所使用的协议,该协议强制授权(Authorization)、可计帐性(Accountability)和认证(Authentication)(简称 AAA)。如果您具有授权,则需要对请求访问的人进行授权以访问系统。如果您具有认证,则需要对访问资源的用户进行认证以验证他们是否有访问的权利和权限。如果同时被授权和认证会发生什么呢?您必须具有可计帐的。单独计算登录数通过强制攻击者保持可计帐的、被认证及被授权,从而解决了许多密码破解问题。