1、第1章 入侵检测概述目 录 1.1 入侵检测简介 1.2 入侵检测系统在信息安全中的地位 1.3 入侵检测系统的基本原理与工作模式 1.4 入侵检测的分类 1.5 常用入侵检测方法1.1 入侵检测简介 因特网是全球信息共享的基础设施,是一种开放和面向所有用户的技术。一方面要保证信息方便、快捷的共享,另一方面要防止垃圾、恶意信息的传播。根据CNNIC在2007年1月的第19次中国互联网络发展状况统计报告统计,中国网民总人数为13700万人。这期中仅有8.4%的网民对于网络内容的建康性非常满意。也就是说有91.6%的中国网民(12550万人)都或多或少的对于网络的建康性不满意。网上的入侵事件时有发
2、生。1.1 入侵检测简介 图中所示为CERT/CC统计到的近年来信息安全事件分析,1998年到2003年安全事件增加了23倍(1998年为3734次,2003年为127 529次)。1.1 入侵检测简介 Anderson在1980年给出了入侵的定义:入侵是指在非授权的情况下,试图存取信息、处理信息或破坏系统以使系统不可靠、不可用的故意行为。本书中的入侵是个广义的概念,不仅包括被发起攻击的人(如恶意的黑客)取得超出合法范围的系统控制权,也包括收集漏洞信息,造成拒绝访问(Denial of Service)等对计算机系统造成危害的行为。什么是入侵检测 入侵检测(Intrusion Detectio
3、n),顾名思义,就是对入侵行为的发觉。它通过对计算机网络或计算机系统中的若干关键点收集信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象。入侵检测的发展历史 1.1.概念的诞生概念的诞生 1980年4月,James P.Anderson为美国空军做了一份题为计算机安全威胁监控与监视(Computer Security Threat Monitoring and Surveillance)的技术报告,第一次详细阐述了入侵检测的概念。他提出了一种对计算机系统风险和威胁的分类方法,并将威胁分为外部渗透、内部渗透和不法行为3种,还提出了利用审计跟踪数据监视入侵活动的思想。这
4、份报告被公认为是入侵检测的开山之作。入侵检测的发展历史 2.模型的发展模型的发展 19841986年,乔治敦大学的Dorothy Denning和SRI/CSL(SRI公司计算机科学实验室)的Peter Neumann研究出了一个实时入侵检测系统模型,取名为入侵检测专家系统(IDES)。该模型由6个部分组成:主体、对象、审计记录、轮廓特征、异常记录、活动规则。它独立于特定的系统平台、应用环境、系统弱点以及入侵类型,为构建入侵检测系统提供了一个通用的框架。入侵检测的发展历史 1988年,SRI/CSL的Teresa Lunt等人改进了Denning的入侵检测模型,并开发出了一个IDES。入侵检测
5、的发展历史 3.3.百花齐放的春天百花齐放的春天 1990年是入侵检测系统发展史上的一个分水岭。这一年,加州大学戴维斯分校的L.T.Heberlein等人开发出了NSM(Network Security Monitor)。该系统第一次直接将网络流作为审计数据来源,因而可以在不将审计数据转换成统一格式的情况下监控异种主机。从此之后,入侵检测系统发展史翻开了新的一页,基于网络的IDS和基于主机的IDS两大阵营正式形成。入侵检测的发展历史 3.3.百花齐放的春天百花齐放的春天入侵检测系统的作用 (1)通过检测和记录网络中的安全违规行为,惩罚网络犯罪,防止网络入侵事件的发生;(2)检测其它安全措施未能
6、阻止的攻击或安全违规行为;(3)检测黑客在攻击前的探测行为,预先给管理员发出警报;(4)报告计算机系统或网络中存在的安全威胁;(5)提供有关攻击的信息,帮助管理员诊断网络中存在的安全弱点,利于其进行修补;(6)在大型、复杂的计算机网络中布置入侵检测系统,可以显著提高网络安全管理的质量。1.2 入侵检测系统在信息安全中的地位 P2DR2P2DR2安全模型与入侵检测系统关系安全模型与入侵检测系统关系 目前普遍采用动态网络安全理论来确保网络系统的安全,这种理论就是基于P2DR2 安全模型的动态信息安全理论。P2DR2 模型是在整体的安全策略(Policy)的控制和指导下,在综合运用防护工具(Prot
7、ection,如防火墙、操作系统身份认证、加密等手段)的同时,利用检测工具(Detection,如漏洞评估、入侵检测等系统)了解和评估系统的安全状态,通过适当的响应(Response)将系统调整到“最安全”和“风险最低”的状态。防护、检测和响应组成了一个完整的、动态的安全循环。传统安全技术的局限性(1)防火墙无法阻止内部人员所做的攻击 防火墙保护的是网络边界安全,对在网络内部所发生的攻击行为无能为力,而据调查,网络攻击事件有80%以上是由内部人员所为。(2)防火墙对信息流的控制缺乏灵活性 防火墙是依据管理员定义的过滤规则对进出网络的信息流进行过滤和控制的。如果规则定义过于严格,则限制了网络的互
8、连互通;如果规则定义过于宽松,则又带来了安全隐患。防火墙自身无法根据情况的变化进行自我调整。传统安全技术的局限性 (3)3)在攻击发生后,利用防火墙保存的信息难以调查和在攻击发生后,利用防火墙保存的信息难以调查和取证取证 在攻击发生后,能够进行调查和取证,将罪犯绳之以法,是威慑网络罪犯、确保网络秩序的重要手段。防火墙由于自身的功能所限,难以识别复杂的网络攻击并保存相关的信息。1.3 入侵检测系统的基本原理与工作模式 1.3.1 入侵检测系统的基本原理入侵检测系统的基本原理 入侵检测系统基本的工作原理如图1.5所示。主要分为四个阶段:数据收集、数据处理、数据分析和响应处理。1.3 入侵检测系统的
9、基本原理与工作模式(1)数据收集数据收集:数据收集是入侵检测的基础,通过不同途径收集的数据,很可能需要采用不同的方法进行分析。目前的数据主要有主机日志、网络数据包、应用程序数据、防火墙日志等。(2)数据处理数据处理:数据收集过程中得到的原始数据量一般非常大,而且还存在噪声。为了全球下一步的分析,需要从原始数据中去除冗余、噪声,并且进行格式化及标准化处理。(3)数据分析数据分析:采用统计、智能算法行装方法分析经过初步处理的数据,检查数据是否正常,或显示存在入侵。(4)响应处理:当发现入侵时,采取措施进行防护、保留入侵证据及通知管理人员。常用的措施包括切断网络连接、记录日志、通过电子邮件或电话通知
10、等。入侵检测系统的基本工作模式 入侵检测系统的基本工作模式为:(1)从系统的不同环节收集信息;(2)分析该信息,试图寻找入侵活动的特征;(3)自动对检测到的行为做出响应;(4)纪录并报告检测过程结果。如图1.6所示。入侵检测的分类入侵检测的分类 入侵根据入侵检测技术分类根据入侵检测技术分类 根据入侵检测系统所采用的技术可分为特征误用检测、异常检测和协议分析三种。(1)误用检测 误用检测(Misuse detection)又称为特征检测(Signature-based detection),这一检测假设入侵者活动可以用一种模式来表示,系统的目标是检测主体活动是否符合这些模式。它可以将已有的入侵方
11、法检查出来,但对新的入侵方法无能为力。其难点在于如何设计模式既能够表达“入侵”现象又不会将正常的活动包含进来。根据入侵检测技术分类根据入侵检测技术分类 (2)异常检测 异常检测(Anomaly detection)的假设是入侵者活动异常于正常主体的活动。根据这一理念建立主体正常活动的“活动简档”,将当前主体的活动状况与“活动简档”相比较,当违反其统计规律时,认为该活动可能是“入侵”行为。异常检测的难题在于如何建立“活动简档”以及如何设计统计算法,从而不把正常的操作作为“入侵”或忽略真正的“入侵”行为。根据入侵检测技术分类根据入侵检测技术分类 (3)协议分析协议分析 协议分析是在传统模式匹配技术
12、基础之上发展起来的一种新的入侵检测技术。它充分利用了网络协议的高度有序性,并结合了高速数据包捕捉、协议分析和命令解析,来快速检测某个攻击特征是否存在,这种技术正逐渐进入成熟应用阶段。协议分析大大减少了计算量,即使在高负载的高速网络上,也能逐个分析所有的数据包。根据入侵检测数据来源分类根据入侵检测数据来源分类 (1)基于主机的入侵检测系统基于主机的入侵检测系统(HIDS,Host-based Intrusion Detection System)基于主机的入侵检测系统通常是安装在被保护的主机上,主要是对该主机的网络实时连接以及系统审计日志进行分析和检查,当发现可疑行为和安全违规事件时,系统就会向
13、管理员报警,以便采取措施。根据入侵检测数据来源分类根据入侵检测数据来源分类 (3)(3)混合入侵检测混合入侵检测 基于网络的入侵检测产品和基于主机的入侵检测产品都有不足之处,单纯使用一类产品会造成主动防御体系不全面。但是,它们的缺憾是互补的。如果这两类产品能够无缝结合起来部署在网络内,则会构架成一套完整立体的主动防御体系,综合了基于网络和基于主机两种结构特点的入侵检测系统,既可发现网络中的攻击信息,也可从系统日志中发现异常情况。根据入侵检测数据来源分类根据入侵检测数据来源分类 (4)(4)文件完整性检查文件完整性检查 文件完整性检查系统检查计算机中自上次检查后文件变化情况。文件完整性检查系统保
14、存有每个文件的数字文摘数据库,每次检查时,它重新计算文件的数字文摘并将它与数据库中的值相比较,如不同,则文件已被修改,若相同,文件则未发生变化。根据入侵检测体系结构分类根据入侵检测体系结构分类 (1)集中式入侵检测系统 集中式IDS有多个分布在不同主机上的审计程序,仅有一个中央入侵检测服务器。审计程序将当地收集到的数据踪迹发送给中央服务器进行分析处理。随着服务器所承载的主机数量的增多,中央服务器进行分析处理的数量就会猛增,而且一旦服务器遭受攻击,整个系统就会崩溃。根据入侵检测体系结构分类根据入侵检测体系结构分类 (2)(2)等级式(分层式)入侵检测系统等级式(分层式)入侵检测系统 等级式IDS
15、(也叫分层式)中定义了若干个等级的监控区域,每个IDS负责一个区域,每一级IDS只负责所监控区的分析,然后将当地的分析结果传送给上一级IDS。等级式IDS也存在一些问题:首先,当网络拓扑结构改变时,区域分析结果的汇总机制也需要做相应的调整;其次,这种结构的IDS最后还是要将各地收集的结果传送到最高级的检测服务器进行全局分析,所以系统的安全性并没有实质性的改进。根据入侵检测体系结构分类根据入侵检测体系结构分类(3)分布式(协作式)入侵检测系统 分布式IDS是将中央检测服务器的任务分配给多个基于主机的IDS,这些IDS不分等级,各司其职,负责监控当地主机的某些活动。所以,其可伸缩性、安全性都等到了
16、显著的提高,并且与集中式IDS相比,分布式IDS对基于网络的共享数据量的要求较低。但维护成本却提高了很多,并且增加了所监控主机的工作负荷,如通信机制、审计开销、踪迹分析等。根据入侵检测系统时效性分类根据入侵检测系统时效性分类 根据时效性,入侵检测系统可以分为脱机分析入侵检测系统、联机分析入侵检测系统。(1)脱机分析:就是在行为发生后,对产生的数据进行分析,而不是在行为发生时进行分析。如对日志的审核、对系统文件的完整性检查等。(2)联机分析:就是在数据产生或者发生改变的同时对其进行检查,以发现攻击行为,这种方式一般用于对网络数据的实时分析,并且对系统资源要求比较高。常用入侵检测方法常用入侵检测方
17、法 (1)误用检测 误用检测对已知的攻击或入侵的方式做出确定性的描述,形成相应的事件模式。当被审计的事件与已知的入侵事件模式相匹配时,即报警。原理上与专家系统相仿。其检测方法上与计算机病毒的检测方式类似。目前基于对包特征描述的模式匹配应用较为广泛。该方法预报检测的准确率较高,但对于无经验知识的入侵与攻击行为无能为力。常用入侵检测方法常用入侵检测方法 (2)统计检测 统计模型常用异常检测,在统计模型中常用的测量参数包括:审计事件的数量、间隔时间、资源消耗情况等。常用入侵检测方法常用入侵检测方法 (3)专家系统 用专家系统对入侵进行检测,经常是针对有特征入侵行为。所谓的规则,即是知识,不同的系统与
18、设置具有不同的规则,且规则之间往往无通用性。专家系统的建立依赖于知识库的完备性,知识库的完备性又取决于审计记录的完备性与实时性。入侵的特征抽取与表达,是入侵检测专家系统的关键。在系统实现中,将有关入侵的知识转化为if-then结构(也可以是复合结构),条件部分为入侵特征,then部分是系统防范措施。运用专家系统防范有特征入侵行为的有效性完全取决于专家系统知识库的完备性。小 结 这里主要给大家讲述了入侵检测概述。欢迎大家提问?第2章 常见的入侵攻击方法与手段目 录 2.1 信息系统的漏洞 2.2 信息系统的威胁 2.3 攻击概述 2.4 典型的攻击技术与方法常见的入侵攻击方法与手常见的入侵攻击方
19、法与手段段 据CNCERT/CC统计,2007 年上半年,CNCERT/CC 共发现8361个境外控制服务器对我国大陆地区的主机进行控制。美国计算机应急响应小组(CERT)发布的数据显示,2006年安全研究人员共发现了8064个软件漏洞,与2005年相比增加2074个。各种攻击行为是当前信息系统面临的主要安全威胁。具不完全统计,全球目前大约有26万个网站在介绍入侵与攻击的方法。2.1 信息系统的漏洞 2.1.1 漏洞的概念漏洞的概念 信息系统本身的漏洞(Vulnerability)或脆弱性是诱发入侵攻击的主要原因,也是信息系统入侵攻击产生和发展不可回避的根源性原因之一。漏洞是在硬件、软件、协议
20、的具体实现或系统安全策略上存在的缺陷,它可以使攻击者能够在未授权的情况下访问或破坏系统。具体举例来说,比如在Intel Pentium芯片中存在的逻辑错误,在Sendmail早期版本中的编程错误,在NFS协议中认证方式上的弱点,在Unix系统管理员设置匿名Ftp服务时配置不当的问题,这些都可能被攻击者使用,威胁到系统的安全。因而这些都可以认为是系统中存在的安全漏洞。漏洞的具体表现漏洞的具体表现 漏洞具体而言表现在以下几个方面:1.存储介质不安全 数据或者说信息的存储密度高,在一张磁盘或者一条磁带上可以存储大量信息,而此种存储介质极易被携带出去,并且容易被有意或者无意的损坏,不管哪种情况,都将造
21、成大量信息的丢失。2.数据的可访问性 数据可以很容易地被拷贝下来而不留任何痕迹。一台远程终端用户可以访问到系统中的 所有数据,并可以按他的需要将其拷贝、删改或者破坏掉。漏洞的具体表现漏洞的具体表现 3.信息的聚生性 当信息以分离的少量形式出现时,它的价值往往不大,但当将大量信息聚集在一起时,则显示出它的可比较性和重要性。而信息系统的根本特点之一,就是能将大量信息收集在一起,进行自动、高效的处理,并进而产生有价值的结果。可以说,计算机信息系统内部信息 的这种聚生性特点导致了其被窃取的可能性大为增加。4.保密的困难性 由于计算机系统内的数据都是可用的,尽管可以利用许多方法在软件内设置一些关卡,但是
22、对一个熟悉的人或者拥有更高水平的人来说,下些功夫就可以突破这些关卡,因此要想彻底保密是非常困难的。漏洞的具体表现漏洞的具体表现 5.介质的剩磁效应 存储介质中的信息有时是擦除不干净或者说是不能完全擦除的,会留下可读信息的痕迹,一旦被利用就会泄密。另外在大多数信息系统中,删除文件仅仅是将文件的文件名删除,并相应地释放存储空间,而文件的真正内容还原封不动地保留在存储介质上。利用这一特性窃取机密信息的案件已有发生。6.电磁的泄露性 计算机设备工作时能够辐射出电磁波,任何人都可以借助仪器在一定的范围内收到它,尤其是利用高灵敏度仪器可以清晰地看到计算机正在处理的机密信息。漏洞的具体表现漏洞的具体表现 7
23、.通信网络的脆弱性 连接信息系统的通信网络有不少弱点:通过未受保护的外部线路可以从外界访问到系统内部的数据;通信线路和网络可能被搭线窃听或者破坏等8.软件的漏洞 在编写许多计算机软件的时候难免会出现一些漏洞等,特别是一些大型软件,如Windows操作系统。经常需要对Windows操作系统进行打补丁,以减少漏洞。漏洞的分类漏洞的分类 1.按漏洞可能对系统造成的直接威胁 可以大致分成以下几类,事实上一个系统漏洞对安全造成的威胁远不限于它的直接可能性,如果攻击者获得了对系统的一般用户访问权限,他就极有可能再通过利用本地漏洞把自己升级为管理员权限:(1)远程管理员权限 攻击者无须一个账号登录到本地直接
24、获得远程系统的管理员权限,通常通过攻击以root身份执行的有缺陷的系统守护进程来完成。漏洞的绝大部分来源于缓冲区溢出,少部分来自守护进程本身的逻辑缺陷。漏洞的分类漏洞的分类 (2)本地管理员权限 攻击者在已有一个本地账号能够登录到系统的情况下,通过攻击本地某些有缺陷的SUID程序,竞争条件等手段,得到系统的管理员权限。漏洞的分类漏洞的分类 (3)普通用户访问权限 攻击者利用服务器的漏洞,取得系统的普通用户存取权限,对UNIX类系统通常是shell访问权限,对Windows系统通常是cmd.exe的访问权限,能够以一般用户的身份执行程序,存取文件。攻击者通常攻击以非root身份运行的守护进程,有
25、缺陷的cgi程序等手段获得这种访问权限。漏洞的分类漏洞的分类 (4)权限提升 攻击者在本地通过攻击某些有缺陷的SGID程序,把自己的权限提升到某个非root用户的水平。获得管理员权限可以看作是一种特殊的权限提升,只是因为威胁的大小不同而把它独立出来。漏洞的分类漏洞的分类 (5)读取受限文件 攻击者通过利用某些漏洞,读取系统中他应该没有权限的文件,这些文件通常是安全相关的。这些漏洞的存在可能是文件设置权限不正确,或者是特权进程对文件的不正确处理和意外dump core使受限文件的一部份dump到了core文件中。漏洞的分类漏洞的分类 (6)远程拒绝服务 攻击者利用这类漏洞,无须登录即可对系统发起
26、拒绝服务攻击,使系统或相关的应用程序崩溃或失去响应能力。这类漏洞通常是系统本身或其守护进程有缺陷或设置不正确造成的。漏洞的分类漏洞的分类 (7)本地拒绝服务 在攻击者登录到系统后,利用这类漏洞,可以使系统本身或应用程序崩溃。这种漏洞主要因为是程序对意外情况的处理失误,如写临时文件之前不检查文件是否存在,盲目跟随链接等。漏洞的分类漏洞的分类 (8)远程非授权文件存取 利用这类漏洞,攻击可以不经授权地从远程存取系统的某些文件。这类漏洞主要是由一些有缺陷的cgi程序引起的,它们对用户输入没有做适当的合法性检查,使攻击者通过构造特别的输入获得对文件存取。漏洞的分类漏洞的分类 (9)口令恢复 因为采用了
27、很弱的口令加密方式,使攻击者可以很容易的分析出口令的加密方法,从而使攻击者通过某种方法得到密码后还原出明文来。漏洞的分类漏洞的分类 (10)欺骗 利用这类漏洞,攻击者可以对目标系统实施某种形式的欺骗。这通常是由于系统的实现上存在某些缺陷。漏洞的分类漏洞的分类 (11)服务器信息泄露 利用这类漏洞,攻击者可以收集到对于进一步攻击系统有用的信息。这类漏洞的产生主要是因为系统程序有缺陷,一般是对错误的不正确处理。(12)其它 虽然以上的几种分类包括了绝大多数的漏洞情况,可还是有可能存在一些上面几种类型无法描述的的漏洞,把它们归到这里。漏洞的分类漏洞的分类 按漏洞的成因按漏洞的成因 (1)输入验证错误
28、 大多数的缓冲区溢出漏洞和CGI类漏洞都是由于未对用户提供的输入数据的合法性作适当的检查。(2)访问验证错误 漏洞的产生是由于程序的访问验证部分存在某些可利用的逻辑错误,使绕过这种访问控制成为可能。上面提到的那个早期AIX的rlogin漏洞就是这种典型。(3)竞争条件 漏洞的产生在于程序处理文件等实体时在时序和同步方面存在问题,这处理的过程中可能存在一个机会窗口使攻击者能够施以外来的影响。漏洞的分类漏洞的分类(4)意外情况处置错误漏洞的产生在于程序在它的实现逻辑中没有考虑到一些意外情况,而这些意外情况是应该被考虑到的。(5)设计错误这个类别是非常笼统的,严格来说,大多数的漏洞的存在都是设计错误
29、,因此所有暂时无法放入到其他类别的漏洞,先放在这。(6)配置错误漏洞的产生在于系统和应用的配置有误,或是软件安装在错误的地方,或是错误的配置参数,或是错误的访问权限,策略错误。(7)环境错误由一些环境变量的错误或恶意设置造成的漏洞。如攻击者可能通过重置shell的内部分界符IFS,shell的转义字符,或其它环境变量,导致有问题的特权程序去执行攻击者指定的程序。上面提到的RedHat Linux的dump程序漏洞就是这种类型。漏洞的分类漏洞的分类 (9)口令恢复 因为采用了很弱的口令加密方式,使攻击者可以很容易的分析出口令的加密方法,从而使攻击者通过某种方法得到密码后还原出明文来。(10)欺骗
30、 利用这类漏洞,攻击者可以对目标系统实施某种形式的欺骗。这通常是由于系统的实现上存在某些缺陷。(11)服务器信息泄露 利用这类漏洞,攻击者可以收集到对于进一步攻击系统有用的信息。这类漏洞的产生主要是因为系统程序有缺陷,一般是对错误的不正确处理。(12)其它 虽然以上的几种分类包括了绝大多数的漏洞情况,可还是有可能存在一些上面几种类型无法描述的的漏洞,把它们归到这里。漏洞的分类漏洞的分类 (2.2 信息系统的威胁 总结起来,大致有下面几种主要威胁:1非人为、自然力造成的数据丢失、设备失效、线路阻断;2人为但属于操作人员无意的失误造成的数据丢失;3来自外部和内部人员的恶意攻击和入侵。2.2 信息系
31、统的威胁 具体来说,信息系统的安全主要面临以下威胁:1.计算机病毒 伴随着计算机技术的推广普及,计算机病毒也在不断地发展演变,其危害越来越大。目前的特点是:流行广泛、种类繁多、潜伏期长、破坏力大,对计算机信息系统的安全构成了长期与现实的威胁。2.黑客入侵 通过技术手段,非法侵入计算机信息系统,获取秘密信息或有选择地破坏信息的有效性与完整性。这是当前计算机信息系统所面临的最大威胁,敌方攻击和计算机犯罪主要采取这一类手法。3.信号截取 通过截收的手段,监听计算机、网络设备的电磁信号和声像外露信号来获取秘密信息。2.2 信息系统的威胁 4.介质失密 通过窃取信息存储介质(如涉密的软盘、硬盘、光盘、笔
32、记本电脑等)来获取秘密信息。5.系统漏洞 利用计算机操作系统、信息管理系统、网络系统等的安全漏洞,进行窃密与破坏活动。各类软件系统总是存在一些缺陷或漏洞,有些是疏忽造成的,有些则是软件公司为了自便而设置的,这些漏洞或“后门”一般不为人知,但一旦洞开,后果将不堪设想。2.2 信息系统的威胁 6.非法访问 外部人员利用非法手段进入安全保密措施不强的计算机信息系统,对系统内的信息进行修改、破坏和窃取。7.人为因素 个别人员利用合法身份与国外的网络非法链接,造成失泄密。8.遥控设备 敌方可以利用对方信息系统中某些设备里暗藏的遥控器材或芯片,刺探其计算机信息系统中的秘密信息,或扰乱系统的正常工作。2.3
33、 攻击概述 2.3.1 黑客根据我国现行法律的有关规定,对黑客可以给出两个定义:一是广义的黑客,是指利用计算机技术,非法侵入或者擅自操作他人(包括国家机关、社会组织和个人,下同)计算机信息系统,对电子信息交流安全具有不同程度的威胁性和危害性的人;二是狭义的黑客,是指利用计算机技术,非法侵入并擅自操作他人计算机信息系统,对系统功能、数据或者程序进行干扰、破坏,或者非法侵入计算机信息系统并擅自利用系统资源,实施金融诈骗、盗窃、贪污、挪用公款、窃取国家秘密或者其他犯罪的人。狭义的黑客包括在广义的黑客之中,前者基本上是计算机犯罪的主体,后者的行为不一定都构成犯罪。攻击的概念与分类攻击的概念与分类 一种
34、是主动攻击,主动攻击会造成网络系统状态和服务的改变。它以各种方式有选择地破坏信息的有效性和完整性,这就是纯粹的信息破坏,这样的网络侵犯者被称为积极侵犯者,积极侵犯者截取网上的信息包,并对其进行更改使它失效,或者故意添加一些有利于自己的信息,起到信息误导的作用,或者登录进入系统使用并占用大量网络资源,造成资源的消耗,损害合法用户的利益,积极侵犯者的破坏作用最大。攻击的概念与分类攻击的概念与分类 另一种是被动攻击被动攻击,被动攻击不直接改变网络状态和服务。它是在不影响网络正常工作的情况下,进行截获、窃取、破译以获得重要机密信息,这种仅窃听而不破坏网络中传输信息的侵犯者被称为消极侵犯者。这两种攻击均
35、可对计算机网络造成极大的危害,并导致机密数据的泄漏攻击的一般流程攻击的一般流程 1.隐藏自己 常见的攻击者隐藏自身的方式有以下几种:从已经取得控制权的主机上通过telnet或rsh跳跃。从windows主机上通过wingates等服务进行跳跃。利用配置不当的代理服务器进行跳跃。利用电话交换技术先通过拨号找寻并连入某台主机,然后通过这台主机再连入internet来跳跃。攻击的一般流程攻击的一般流程 2.踩点或预攻击探测 这步的主要任务是收集有关要攻击目标的有用的信息。这些信息包括目标计算机的硬件信息、目标计算机的用户信息、存在的漏洞等。3.采取攻击行为 在攻击探测中如果攻击者发现目标机器系统有可
36、以被利用的漏洞或弱点,则立即采取攻击行为。在此过程中具体采用的攻击行为要视目标机器系统而定,目前较流行的手段有暴力破解、缓冲区益出、跨站脚本、拒绝服务、欺骗等。攻击的一般流程攻击的一般流程 4.清除痕迹 攻击者清除攻击痕迹的方法主要是清除系统和服务日志。有些工具可以清除日志,如THC提供的cleara.c。cleara.c可以清除utmp/utmpx,wtmp/wtmpx,修复lastlog让其仍然显示该用户的上次登陆信息。有时攻击者会自己对日志文件进行修改,不同的unix版本的日志存储位置不同。攻击的一般流程攻击的一般流程 1 防防 火火 墙墙,入入 侵侵 监监 测测,防防 病病 毒毒,漏漏
37、 洞洞 扫扫 描描,安安 全全 意意 识识 等等 Ping地 址 端 口 扫 描 口 令 猜 测 M ail用 户 猜 测 M ail附 件 Buffer Overflows ActiveX Controls 网 络 安 装 压 缩 信 息(文 件)后 门(Backdoors)创 建 新 文 件 修 改 现 有 文 件 注 册 表 设 置 安 装 新 服 务 注 册Trap Doors 攻 击 的M ail拷 贝 W eb连 接 IRC FTP 感 染 文 件 共 享 删 除 文 件 修 改 文 件 产 生 安 全 后 门 Crash Com puter DoS 机 密 信 息 窃 取 探 测
38、 (Probe)渗 透 (Penetrate)驻 留 (Persist)传 播 (Propagate)瘫 痪 (Paralyze)2.4 典型的攻击技术与方典型的攻击技术与方法法 2.4.1 预攻击扫描探测预攻击探测技术主要可以分为Ping扫描、操作系统识别扫描、端口扫描以及漏洞扫描等。Ping扫描用于发现攻击目标;操作系统识别扫描就是对目标主机运行的操作系统进行识别;而端口扫描用于查看攻击目标处于监听或运行状态的服务;漏洞扫描就是扫描对方系统有什么漏洞可以利用。2.4 典型的攻击技术与方典型的攻击技术与方法法 1.Ping 扫描 Ping是一个DOS命令,它的用途就是用来检测网络的连通情况和
39、分析网络速度的。作为一个生活在网络上的管理员或者黑客来说,Ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:网络上的机器都有唯一确定的IP地址,给目标IP地址发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包就可以确定目标主机的存在,可以初步判断目标主机的操作系统、可以知道与对方计算机联接的速度等。2.4 典型的攻击技术与方典型的攻击技术与方法法 1.Ping 扫描。2.4 典型的攻击技术与方典型的攻击技术与方法法 Ping命令使用的是网络层的ICMP协议,现在Windows 下的Ping工具很多,比如Pinger、Ping Sweep、WS_Ping ProP
40、ack等。如图2.8所示为采用Pinger工具来对一个网段进行探测的界面。2.4 典型的攻击技术与方典型的攻击技术与方法法 2.端口扫描 端口扫描是一个用来查找网络主机开放端口的软件,正确使用它,能够起到防止端口攻击的作用。管理员们可用它来执行端口扫描测试。对一台主机进行端口扫描也就意味着在目标主机上扫描各种各样的监听端口。它也是黑客的常用的方法。2.4 典型的攻击技术与方典型的攻击技术与方法法 常用的端口扫描工具有很多,WinScan,SuperScan等。如图所示为使用SuperScan进行端口扫描。2.4 典型的攻击技术与方典型的攻击技术与方法法 3.操作系统识别扫描 黑客入侵中比较关键
41、的环节就是操作系统的识别与扫描。识别出操作系统的类型后,就有得黑客实施针对性的攻击。操作系统扫描的工具和方法有很多,如图2.10所示为采用工具Winfingerprint扫描工具来扫描操作系统类型。2.4 典型的攻击技术与方典型的攻击技术与方法法 4.漏洞扫描漏洞扫描主要是扫描出操作系统或网络当中存在什么样的漏洞,并给出详细漏洞报告,引导用户到相关站点下载最新系统漏洞补丁程序,确保系统永远的处在最安全的状态下,以减少攻击的可能性。现在有许多漏洞扫描工具可用,比如流光,Nessus、SSS(Shadow Security Scanner)等。下面以SSS扫描工具为例介绍预攻击探测技术。2.4 典
42、型的攻击技术与方典型的攻击技术与方法法 4.漏洞扫描密码破解攻击密码破解攻击 密码破解是用以描述在使用或不使用工具的情况下渗透网络、系统或资源以解锁用密码保护的资源的一个术语。一般的密码破解不一定涉及复杂的技术手段。有人甚至这样形象地说过:“密码破解与找一张写有密码的贴纸一样简单,而这张纸就贴在显示器上或者藏在键盘底下。”根据不同情况运用不同的方法和一些小工具,密码就可以迎刃而解。常见的密码破解有三种方式,即:字典攻击、混合攻击和暴力攻击。常见的码破解有账户密码破解、文件密码破解、邮箱密码破解、通信信息密码破解等。密码破解工具也有许多,如LC5账号破解、黑雨邮箱破解器、网络嗅探器等。下面分别对
43、这三种典型密码破解工具做简单介绍。密码破解攻击密码破解攻击 1.LC5账号密码破解账号密码破解 密码破解攻击密码破解攻击 2.黑雨邮箱破解器破解邮箱密码密码破解攻击密码破解攻击 3.网络嗅探器Sniffer软件是NAI公司推出的功能强大的协议分析软件,使用这类网络嗅探器软件可以嗅探到通过网络上传播的一些密码。如图2.14所示为使用Sniffer软件嗅探到的网络上的密码。缓冲区溢出攻击缓冲区溢出攻击 导致内存缓冲区溢出问题的原因有很多,比如:(1)使用非类型安全(non-type-safe)的语言如 C/C+等。(2)以不可靠的方式存取或者复制内存缓冲区。(3)编译器设置的内存缓冲区太靠近关键数
44、据结构。欺骗攻击欺骗攻击 1.IP欺骗攻击欺骗攻击 IP欺骗技术就是通过伪造某台主机的IP地址骗取特权从而进行攻击的技术。许多应用程序认为如果数据包能够使其自身沿着路由到达目的地,而且应答包也可以回到源地,那么源IP地址一定是有效的,而这正是使源IP地址欺骗攻击成为可能的前提。欺骗攻击欺骗攻击 2.ARP欺骗攻击欺骗攻击地址解析协议(ARP,Address Resolution Protocol)是在仅知道主机的IP地址时确定其物理地址的一种协议。因IPv4和以太网的广泛应用,其主要用作将IP地址翻译为以太网的MAC地址,但其也能在ATM和FDDI IP网络中使用。从IP地址到物理地址的映射有
45、两种方式:表格方式和非表格方式。ARP具体说来就是将网络层(IP层,也就是相当于OSI的第三层)地址解析为数据连接层(MAC层,也就是相当于OSI的第二层)的MAC地址。拒绝服务攻击拒绝服务攻击 1.拒绝服务攻击概述 拒绝服务(DoS,Denial of Service)攻击即攻击者想办法让目标机器停止提供服务或资源访问,是黑客常用的攻击手段之一。这些资源包括磁盘空间、内存、进程甚至网络带宽,从而阻止正常用户的访问。拒绝服务攻击拒绝服务攻击 2.拒绝服务攻击原理(1)SYN Foold攻击 SYN Flood是当前最流行的DoS与DDoS(Distributed Denial Of Servi
46、ce分布式拒绝服务攻击)的方式之一,这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,使被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式。拒绝服务攻击拒绝服务攻击 (2)IP欺骗DOS攻击 这种攻击利用RST位来实现。假设现在有一个合法用户(61.61.61.61)已经同服务器建立了正常的连接,攻击者构造攻击的TCP数据,伪装自己的IP为61.61.61.61,并向服务器发送一个带有RST位的TCP数据段。服务器接收到这样的数据后,认为从61.61.61.61发送的连接有错误,就会清空缓冲区中建立好的连接。这时,如果合法用户61.61.61.61再发送合法数据,服务器就已经没有这样
47、的连接了,该用户就必须从新开始建立连接。攻击时,攻击者会伪造大量的IP地址,向目标发送RST数据,使服务器不对合法用户服务,从而实现了对受害服务器的拒绝服务攻击。拒绝服务攻击拒绝服务攻击 (3)UDP洪水攻击 攻击者利用简单的TCP/IP服务,如Chargen和Echo来传送毫无用处的占满带宽的数据。通过伪造与某一主机的Chargen服务之间的一次的UDP连接,回复地址指向开着Echo服务的一台主机,这样就生成在两台主机之间存在很多的无用数据流,这些无用数据流就会导致带宽的服务攻击。拒绝服务攻击拒绝服务攻击 (4)Ping洪流攻击 由于在早期的阶段,路由器对包的最大尺寸都有限制。许多操作系统对
48、TCP/IP栈的实现在ICMP包上都是规定64KB,并且在对包的标题头进行读取之后,要根据该标题头里包含的信息来为有效载荷生成缓冲区。当产生畸形的,声称自己的尺寸超过ICMP上限的包也就是加载的尺寸超过64K上限时,就会出现内存分配错误,导致TCP/IP堆栈崩溃,致使接受方死机。拒绝服务攻击拒绝服务攻击 (5)泪滴(teardrop)攻击 泪滴攻击是利用在TCP/IP堆栈中实现信任IP碎片中的包的标题头所包含的信息来实现自己的攻击。IP分段含有指明该分段所包含的是原包的哪一段的信息,某些TCP/IP(包括service pack 4以前的NT)在收到含有重叠偏移的伪造分段时将崩溃。拒绝服务攻击
49、拒绝服务攻击 (6)Land攻击 Land攻击原理是:用一个特别打造的SYN包,它的原地址和目标地址都被设置成某一个服务器地址。此举将导致接受服务器向它自己的地址发送SYN-ACK消息,结果这个地址又发回ACK消息并创建一个空连接。被攻击的服务器每接收一个这样的连接都将保留,直到超时,对Land攻击反应不同,许多UNIX实现将崩溃,NT变的极其缓慢(大约持续5分钟)。拒绝服务攻击拒绝服务攻击 (7)Smurf攻击 一个简单的Smurf攻击原理就是:通过使用将回复地址设置成受害网络的广播地址的ICMP应答请求(ping)数据包来淹没受害主机的方式进行。最终导致该网络的所有主机都对此ICMP应答请
50、求做出答复,导致网络阻塞。它比ping of death洪水的流量高出1或2个数量级。更加复杂的Smurf将源地址改为第三方的受害者,最终导致第三方崩溃。(8)Fraggle攻击 原理:Fraggle攻击实际上就是对Smurf攻击作了简单的修改,使用的是UDP应答消息而非ICMP。拒绝服务攻击拒绝服务攻击 (7)Smurf攻击 一个简单的Smurf攻击原理就是:通过使用将回复地址设置成受害网络的广播地址的ICMP应答请求(ping)数据包来淹没受害主机的方式进行。最终导致该网络的所有主机都对此ICMP应答请求做出答复,导致网络阻塞。它比ping of death洪水的流量高出1或2个数量级。更