1计算机系统安全第10章攻击与应急响应2一、基本概念31、攻击的位置(1)远程攻击:从该子网以外的地方向该子网或者该子网内的系统发动攻击。(2)本地攻击:通过所在的局域网,向本单位的其他系统发动攻击,在本机上进行非法越权访问也是本地攻击。(3)伪远程攻击:指内部人员为了掩盖攻击者的身份,从本地获取目标的一些必要信息后,攻击过程从外部远程发起,造成外部入侵的现象。42、攻击的层次1)简单拒绝服务(如邮件炸弹攻击)2)本地用户获得非授权读或者写权限3)远程用户获得了非授权的帐号4)远程用户获得了特权文件的读写权限5)远程用户拥有了根(root)权限53、攻击的目的1)进程的执行2)获取文件和传输中的数据3)获得超级用户权限4)对系统的非法访问5)进行不许可的操作6)拒绝服务7)涂改信息8)暴露信息9)挑战10)政治意图11)经济利益12)破坏64、攻击的人员1)黑客:为了挑战和获取访问权限2)间谍:为了政治情报信息3)恐怖主义者:为了政治目的而制造恐怖4)公司雇佣者:为了竞争经济利益5)职业犯罪:为了个人的经济利益6)破坏者:为了实现破坏75、攻击的工具1)用户命令:攻击者在命令行状态下或者图形用户接口方式输入命令。2)脚本或程序:在用户接口处初始化脚本和程序。3)自治主体:攻击者初始化一个程序或者程序片断,独立地执行操作,挖掘弱点。4)工具箱:攻击者使用软件包(包含开发弱点的脚本、程序、自治主体)。5)分布式工具:攻击者分发攻击工具到多台主机,通过协作方式执行攻击特定的目标。6)电磁泄漏86、攻击的时间大部分的攻击(或至少是商业攻击时间)一般是服务器所在地的深夜。客观原因。在白天,大多数入侵者要工作或学习,以至没空进行攻击。速度原因。网络正变得越来越拥挤,因此最佳的工作时间是在网络能提供高传输速度的时间速率的时间。保密原因。白天系统管理员一旦发现有异常行为。他们便会跟踪而来。9二、远程攻击的步骤101、寻找目标主机并收集目标信息1)锁定目标利用域名和IP地址都可以顺利找到主机。DNS协议不对转换或信息性的更新进行身份认证,这使得该协议被人以一些不同的方式加以利用。黑客只需实施一次域转换操作就能得到所有主机的名称以及内部IP地址。112)服务分析用提供不同服务的应用程序试一试就知道了,例如:使用Telnet、FTP等用户软件向目标主机申请服务,如果主机有应答就说明主机提供了这个服务,开放了这个端口的服务。黑客常用一些象PORTSCAN这样的工具软件,对目标主机一定范围的端口进行扫描。这样可全部掌握目标主机的端口情况。HAKTEK是一个非常实用的一个工具软件,它将许多应用集成在一起的工具,其中包括:Ping、IP地址范围扫描、目标主机端口扫描、邮件炸弹、过滤邮件、Finger主机等都是非常实用的工具。123)系统分析目标主机采用的是什么操作系统。黑客使用具有已知响应类型的数据库的自动工具,对来自目标主机的、对坏数据包传送所作出的响应进行检查。由于每种操作系统都有其独特的响应方法。通过将此独特的响应与数据库中的已知响应进行对比,黑客经常能够确定出目标主机所运行的操作系统。134)获取帐号信息对于陌生的目标主机可能只知道它有一个ROOT用户,至于其他帐户一无所知,要想登录目标主机我们至少要知道一个普通用户a.利用目标主机的Finger功能对黑客软件HAKTEK,它的Finger功能可以完全胜任,记录帐号信息,经过一段时间的监测,就会积累一定的帐号信息。finger很可能暴露入侵者的行为,为了避免finger查询产生标记,绝大多数入侵者使用fingergateways(finger网关)。14b.来源于电子邮件地址有些用户电子邮件地址(指@符号前面的部分)与其取邮件的帐号是一致的c.非常全面的X.500功能有些主机提供了X.500的目录查询服务。如何知道是否提供X.500的功能,扫描目标主机的端口,如果端口105的状态已经被激活,在自己的机器上安装一个X.500的客户查询的工具,选择目标主机,可以获得意想不到的信息。15d.习惯性常用帐号根据平时的经验,一些系统总有一些习惯性的常用帐号,这些帐号都是系统中因为某种应用而设置的。例如:制作、、web等,安装ORACLE数据库的可能有oracle的帐号,用户培训或教学而设置的user1、user2、student1、student2、client1、client2等帐户,一些常用的英文名字也经常会使用,例如:tom、john等,因此可以根据系统所提供的服务和在其主页得到的工作人员的名字信息进行猜测。165)获得管理员信息运行一个查询命令host,可获得保存在目标域服务器中的所有信息。WHOIS查询,可识别出技术管理人员。运行一些Usenet和WEB查询。系统管理员的职责是维护站点的安全,当他们遇到各种问题时,许多管理员会迫不及待地将这些问题发到Usenet或邮件列表上以寻求答案。只要肯花一些时间来寻找此系统管理员的地址(和其他的一些信息)便能彻底地了解他的网络、他的安全概念以及他的个性。因为发出这种邮件的系统管理员总会指明他们的组织结构、网络的拓扑结构和他们面临的问题。172、攻击测试大部分的入侵者并不想尝试这种行为,因为这需要一定的费用。在此步骤中,首先要建立一个和目标一样的环境。一旦将此环境建立起来后,就可对它进行一系列的攻击。在此过程中,有两件事需要注意:(l)从攻击方来看这些攻击行为着上去像什么,(2)从被攻击方来看这些攻击行为看上去像什么。通过检查攻击方的日志文件入侵者能大致了解对一个几乎没有保护措施的目标进行攻击时攻击行为着上去像什么183、各种相关工具的准备基于对操作系统的分析需要对工具进行评估以判断有哪些漏洞和区域它们没有覆盖到。这些工具的联合使用是否方便主要依赖于这些工具是否能简易地作为外部模块附加到一个扫描工具上如SATAN或SAFESuite。在此进行测试变得极为有价值,因为在多数情况下附加一个外部模块,让它正常地工作并不那么简单。为了得到这些工具工作的确切结果,最好先在某台机器上进行实验。194、攻击策略的制定没有任何理由就实施入侵是很不明智的。攻击策略主要依赖于入侵者所想要达到的目的。需要说明的是扫描时间花得越长,也就是说越多的机器被涉及在内,那么扫描的动作就越有可能被发现;同时有越多的扫描数据需要筛选,因此,扫描的攻击的时间越短越好。因为你所想要的是一个主系统上或者是一个可用的最大网段的根权限,所以对一个更小、更安全的网络进行扫描不可能获得很大的好处。无论如何,一旦你确定了扫描的参数,就可以开始行动了。205、数据分析完成扫描后,开始分析数据。首先应考虑通过此方法得到的信息是否可靠(可靠度在某种程度上可通过在类似的环境中进行的扫描实验得到。)然后再进行分析,扫描获得的数据不同则分析过程也不同。在SATAN中的文档中有一些关于漏洞的简短说明,并且直接而富有指导性。如果找到了某个漏洞,就应该重新参考那些通过搜索漏洞和其他可用资源而建立起来的数据库信息。在真正理解了攻击的本质和什么应从攻击中剔除之前,可能要花上数个星期来研究源码、漏洞、某特定操作系统和其他信息,这些是不可逾越的。在攻击中经验和耐心是无法替代的。一个经过很好计划和可怕的远程攻击,需要实施者对TCP/IP以及系统等方面的知识有着极深刻的了解。216、实施攻击获得了对攻击的目标系统的访问权后,可能有下述多种选择:·毁掉攻击入侵的痕迹,并在受到损害的系统上建立另外的新的安全漏洞或后门,以便今后继续访问这个系统。·在目标系统中安装探测器软件,包括特洛伊木马程序,用来窥探所在系统的活动,收集黑客感兴趣的一切信息,如Telnet和FTP的帐号名和口令等等。·发现受损系统在网络中的信任等级,这样黑客就可以通过该系统信任级展开对整个系统的攻击。·如果获得了特许访问权,那么它就可以读取邮件,搜索和盗窃私人文件,毁坏重要数据,破坏整个系统的信息。22三、系统漏洞231、漏洞的概念漏洞的概念漏洞是指硬件、软件或策略上的缺陷,从而可使攻击者能够在未经授权的情况下访问系统。所有软件都是有错的通常情况下99.99%无错的程序很少会出问题,利用那0.01%的错误导致100%的失败241、漏洞的概念出现漏洞的原因当今的系统功能越来越强,体积也越做越大。庞大的系统是由小组完成的,不能指望每个人都不犯错,也不能指望无纰漏的合作。加上人的惰性,不愿意仔细地进行系统的安全配置。这样一来,本来比较安全的系统也变的不安全了。一个简单的例子就是缺省口令。25漏洞的范围漏洞涉及的范围很广,涉及到网络的各个环节、各个方面,包括:路由器、防火墙、操作系统、客户和服务器软件。比如一台提供网上产品搜索的Web服务器,就需要注意操作系统、数据库系统、Web服务软件及防火墙。26漏洞的时间性系统发布——漏洞暴露——发布补丁——新漏洞出现一个系统从发布的那一天起,随着用户的深入使用,系统中存在的漏洞会被不断暴露出来,这些早先被发现的漏洞也会不断被系统供应商发布的补丁软件修补,或在以后发布的新版系统中得以纠正。而在新版系统纠正了旧版本中具有漏洞的同时,也会引入一些新的漏洞和错误。因而随着时间的推移,旧的漏洞会不断消失,新的漏洞会不断出现。漏洞问题也会长期存在。27安全漏洞与系统攻击之间的关系漏洞暴露—(可能的攻击)—发布补丁系统攻击者往往是安全漏洞的发现者和使用者,要对于一个系统进行攻击,如果不能发现和使用系统中存在的安全漏洞是不可能成功的。28漏洞的类型(1)管理漏洞-如两台服务器用同一个用户/密码,则入侵了A服务器后,B服务器也不能幸免。(2)软件漏洞-很多程序只要接收到一些异常或者超长的数据和参数,就会导致缓冲区溢出。(3)结构漏洞-比如在某个重要网段由于交换机、集线器设置不合理,造成黑客可以监听网络通信流的数据;又如防火墙等安全产品部署不合理,有关安全机制不能发挥作用,麻痹技术管理人员而酿成黑客入侵事故。(4)信任漏洞-比如本系统过分信任某个外来合作伙伴的机器,一旦这台合作伙伴的机器被黑客入侵,则本系统的安全受严重威胁。29网络操作系统的概念计算机网络是由多个相互独立的计算机系统通过通信媒体连接起来的。各计算机都具有一个完整独立的操作系统,网络操作系统(NOS)是建立在这些独立的操作系统基础上用以扩充网络功能的系统(系统平台)。30网络操作系统是为使网络用户能方便而有效地共享网络资源而提供各种服务的软件及相关规程,它是整个网络的核心,通过对网络资源的管理,使网上用户能方便、快捷、有效地共享网络资源。操作系统的主要功能包括:进程控制和调度、信息处理、存储器管理、文件管理、输入/输出管理、资源管理等。31NOS是一种运行在硬件基础上的网络操作和管理软件,是网络软件系统的基础,它建立一种集成的网络系统环境,为用户方便而有效地使用和管理网络资源提供网络接口和网络服务。NOS除了具有一般操作系统所具有的处理机管理、存储器管理、设备管理和文件管理功能外,还提供高效而可靠的网络通信环境和多种网络服务功能。如文件服务、打印服务、记账服务、数据库服务以及支持Internet和Intranet服务。32目前,常用的网络操作系统有Windows2000Server、WindowsNTServer、NetWare、UNIX和Linux。33操作系统的安全与访问控制操作系统主要的安全功能包括:存储器保护(限定存储区和地址重定位,保护存储信息)、文件保护(保护用户和系统文件,防止非授权用户访问)、访问控制、身份认证(识别请求访问的用户权限和身份)等。34网络操作系统主要有以下两大类安全漏洞:输入/输出(I/O)非法访问。在一些操作系统中,一旦I/O操作被检查通过后,该操作系统就继续执行操作而不再进行检查,这样就可能造成后续操作的非法访问。操作系统陷门。某些操作系统为了维护方便、使系统兼容性和开放性更好,在设计时预留了一些端口或保留了某些特殊的管理程序功能。35操作系统安全的概念第一,操作系统本身提供的安全功能和安全服务。第