本文目录一览:
- 1、黑客攻击的三个阶段是什么?黑客在这三个阶段分别完成什么工作?
- 2、电脑黑客是怎样对电脑进行破坏的
- 3、几百川的数字电脑黑客如何破解进入服务?
- 4、网络黑客是怎么操作的
- 5、黑客攻击一个目标网站,会依次进行那些步骤?
- 6、电脑黑客是怎样对电脑进行破坏的?
黑客攻击的三个阶段是什么?黑客在这三个阶段分别完成什么工作?
1. 锁定目标
攻击的第一步就是要确定目标的位置,在互联网上,就是要知道这台主机的域名或者IP地址, 知道了要攻击目标的位置还不够,还需要了解系统类型、操作系统、所提供的服务等全面的资料,如何获取相关信息,下面我们将详细介绍。
2. 信息收集
如何才能了解到目标的系统类型、操作系统、提供的服务等全面的资料呢?黑客一般会利用下列的公开协议或工具来收集目标的相关信息。
(1)SNMP 协议:用来查阅网络系统路由器的路由表,从而了解目标主机所在网络的拓扑结构及其内部细节;
(2)TraceRoute程序:用该程序获得到达目标主机所要经过的网络数和路由器数;
(3)Whois协议:该协议的服务信息能提供所有有关的DNS域和相关的管理参数;
(4)DNS服务器:该服务器提供了系统中可以访问的主机的IP地址表和它们所对应的主机名;
(5)Finger协议:用来获取一个指定主机上的所有用户的详细信息(如注册名、电话号码、最后注册时间以及他们有没有读邮件等等);
(6)ping:可以用来确定一个指定的主机的位置;
(7)自动Wardialing软件:可以向目标站点一次连续拨出大批电话号码,直到遇到某一正确的号码使其MODEM响应为止。
3. 系统分析
当一个黑客锁定目标之后,黑客就开始扫描分析系统的安全弱点了。黑客一般可能使用下列方式来自动扫描驻留在网络上的主机。
(1)自编入侵程序
对于某些产品或者系统,已经发现了一些安全漏洞,该产品或系统的厂商或组织会提供一些“补丁”程序来进行弥补。但是有些系统常常没有及时打补丁,当黑客发现这些“补丁”程序的接口后就会自己编写能够从接口入侵的程序,通过这个接口进入目标系统,这时系统对于黑客来讲就变得一览无余了。
(2)利用公开的工具
像 Internet 的电子安全扫描程序 ISS(Intemet Security Scanner)、审计网络用的安全分析工具 SATAN ( Securi Ana1ysis Tool for Auditing Network)等。这些工具可以对整个网络或子网进行扫描,寻找安全漏洞。这些工具都有两面性,就看是什么人在使用它们了。系统管理员可以使用它们来帮助发现其管理的网络系统内部隐藏的安全漏洞,从而确定系统中哪些主机需要用“补丁”程序去堵塞漏洞,从而提高网络的安全性能。而如果被黑客所利用,则可能通过它们来收集目标系统的信息,发现漏洞后进行入侵并可能获取目标系统的非法访问权。
4. 发动攻击
完成了对目标的扫描和分析,找到系统的安全弱点或漏洞后,那就是万事具备,只欠攻击了,接下来是黑客们要做的关键步骤——发动攻击。
黑客一旦获得了对你的系统的访问权后,可能有下述多种选择:
(1)试图毁掉攻击入侵的痕迹,并在受到损害的系统上建立另外的新的安全漏洞或后门,以便在先前的攻击点被发现之后,继续访问这个系统;
(2)在你的系统中安装探测软件,包括木马等,用以掌握你的一切活动,以收集他比较感兴趣的东西(不要以为人人都想偷窥你的信件,人家更感兴趣的是你的电子银行帐号和密码之类);
(3)如果你是在一个局域网中,黑客就可能会利用你的电脑作为对整个网络展开攻击的大本营,这时你不仅是受害者,而且还会成为帮凶和替罪羊。
黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影《骇客(Hacker) 》也已经开始使用骇客一词,显示出中文使用习惯的趋同。实际上,黑客(或骇客)与英文原文Hacker、Cracker等含义不能够达到完全对译,这是中英文语言词汇各自发展中形成的差异。Hacker一词,最初曾指热心于计算机技术、水平高超的电脑专家,尤其是程序设计人员,逐渐区分为白帽、灰帽、黑帽等,其中黑帽(black hat)实际就是cracker。在媒体报道中,黑客一词常指那些软件骇客(software cracker),而与黑客(黑帽子)相对的则是白帽子。
电脑黑客是怎样对电脑进行破坏的
方法主要有两种
一是通过植入病毒或者木马造成对方电脑的异常,比如无法打开、使用正常程序,文件或资料被无故删除等等;
二是通过远程控制或密码破译以及后台侵入,掌控对方电脑或者服务器,随心所欲盗取对方的秘密或者做出删除、添加等恶意举动。
几百川的数字电脑黑客如何破解进入服务?
客户通常会转向互联网以获取信息并购买产品和服务。为此,大多数组织都有网站。大多数网站都存储有价值的信息,如信用卡号,电子邮件地址和密码等。这使他们成为攻击者的目标。污损的网站也可用于传播宗教或政治意识形态等。
在本文中,我们将向您介绍toweb服务器黑客技术以及如何保护服务器免受此类攻击。
本教程中涉及的主题
Web服务器漏洞
Web服务器的类型
针对Web服务器的攻击类型
成功攻击的影响
Web服务器攻击工具
如何避免对Web服务器的攻击
黑客活动:破解WebServe
Web服务器漏洞
Web服务器是一种存储文件(通常是网页)并通过网络或Internet访问它们的程序。Web服务器需要硬件和软件。攻击者通常以软件中的攻击为目标,以获得授权进入服务器的权限。让我们看一下攻击者利用的一些常见漏洞。
默认设置 - 攻击者可以轻松猜出这些设置,如默认用户ID和密码。默认设置还可能允许执行某些任务,例如在服务器上运行可以利用的命令。
操作系统和网络配置错误 - 如果用户没有良好的密码,某些配置(例如允许用户在服务器上执行命令)可能会很危险。
操作系统和Web服务器中的错误 - 操作系统或Web服务器软件中发现的错误也可被利用来获取对系统的未授权访问。
除了上述Web服务器漏洞之外,以下内容还可能导致未经授权的访问
缺乏安全策略和程序 - 缺乏安全策略和程序(如更新防病毒软件,修补操作系统和Web服务器软件)可能会给攻击者带来安全漏洞。
Web服务器的类型
以下是常见Web服务器的列表
Apache - 这是互联网上常用的Web服务器。它是跨平台的,但它通常安装在Linux上。大多数PHP网站都托管在Apache服务器上。
Internet信息服务(IIS) - 由Microsoft开发。它在Windows上运行,是互联网上使用次数最多的第二个Web服务器。大多数asp和aspx网站都托管在IIS服务器上。
Apache Tomcat - 大多数Java服务器页面(JSP)网站都托管在此类Web服务器上。
其他Web服务器 - 包括Novell的Web服务器和IBM的Lotus Domino服务器。
针对Web服务器的攻击类型
目录遍历攻击 - 此类攻击利用Web服务器中的错误来未经授权访问不在公共域中的文件和文件夹。一旦攻击者获得访问权限,他们就可以下载敏感信息,在服务器上执行命令或安装恶意软件。
拒绝服务攻击 - 通过此类攻击,Web服务器可能会崩溃或对合法用户不可用。
域名系统劫持 -使用此类攻击者,DNS设置将更改为指向攻击者的Web服务器。应该发送到Web服务器的所有流量都被重定向到错误的流量。
嗅探 - 通过网络发送的未加密数据可能会被截获并用于获取对Web服务器的未授权访问。
网络钓鱼 - 通过此类攻击,攻击会冒充网站并将流量引导至虚假网站。不知情的用户可能会被欺骗提交敏感数据,如登录详细信息,信用卡号等。
域欺骗 - 通过此类攻击,攻击者会破坏域名系统(DNS)服务器或用户计算机,从而将流量定向到恶意站点。
破坏 - 通过这种类型的攻击,攻击者用不同的页面替换组织的网站,该页面包含黑客的名字,图像,可能包括背景音乐和消息。
成功攻击的影响
如果攻击者编辑网站内容并包含恶意信息或链接到色情网站,则组织的声誉可能会被破坏
该Web服务器可用于安装在谁访问该网站的受损用户的恶意软件。下载到访问者计算机上的恶意软件可能是病毒,特洛伊木马或僵尸网络软件等。
妥协的用户数据可能被用于欺诈活动,这可能导致业务损失或向组织委托其详细信息的用户提起诉讼
Web服务器攻击工具
一些常见的Web服务器攻击工具包括:
Metasploit - 这是一个用于开发,测试和使用漏洞利用代码的开源工具。它可用于发现Web服务器中的漏洞并编写可用于危害服务器的漏洞。
MPack - 这是一个Web开发工具。它是用PHP编写的,由MySQL作为数据库引擎支持。使用MPack攻击Web服务器后,所有流量都将重定向到恶意下载网站。
Zeus - 此工具可用于将受感染的计算机变成僵尸程序或僵尸。僵尸程序是受感染的计算机,用于执行基于Internet的攻击。僵尸网络是受感染计算机的集合。然后,僵尸网络可用于拒绝服务攻击或发送垃圾邮件。
Neosplit - 此工具可用于安装程序,删除程序,复制程序等。
如何避免对Web服务器的攻击
组织可以采用以下策略来保护自己免受Web服务器攻击。
补丁管理 - 这涉及安装补丁以帮助保护服务器。补丁是修复软件中的错误的更新。补丁可以应用于操作系统和Web服务器系统。
安全地安装和配置操作系统
安全地安装和配置Web服务器软件
漏洞扫描系统 - 包括Snort,NMap,Scanner Access Now Easy(SANE)等工具
通过阻止来自攻击者的标识源IP地址的所有流量,防火墙可用于阻止简单的DoS攻击。
防病毒软件可用于删除服务器上的恶意软件
禁用远程管理
必须从系统中删除默认帐户和未使用的帐户
默认端口和设置(如端口21的FTP)应更改为自定义端口和设置(FTP端口为5069)
网络黑客是怎么操作的
Web服务器将成为下一代黑客施展妖术的对象。在很大程度上,进行这种攻击只需一个Web浏览器和一个创造性的头脑。以前,黑客的攻击对象集中在操作系统和网络协议上,但随着这些攻击目标的弱点和漏洞逐渐得到修补,要进行这类攻击已经变得非常困难。操作系统正在变得更加稳健,对攻击的抵抗能力日益提高。随着身份验证和加密功能渐渐被内置到网络协议中,网络协议也变得更加安全。此外,防火墙也越来越智能,成为网络和系统的外部保护屏障。
另一方面,电子商务技术正在日益普及开来,其复杂性有增无减。基于Web的应用程序正在与基本的操作系统和后端数据库更加紧密地集成在一起。遗憾的是,人们在基于Web的基础设施安全性方面所做的工作还很不够。Web服务器和Web应用程序中的弱点被发现的速度为何这么快呢?
有很多因素促成了这种Web黑客活动的快速增加。其中最主要的原因是防火墙允许所有的Web通信都可以进出网络,而防火墙无法防止对Web服务器程序及其组件或Web应用程序的攻击。第二个原因是,Web服务器和基于Web的应用程序有时是在“功能第一,安全其次”的思想指导下开发出来的。
当您的Web服务器面临巨大威胁时,怎样保障它们的安全呢?这就需要您不断了解新信息,新情况,每天跟踪您所用服务器的有关网站,阅读相关新闻并向它进行咨询。为了让你着手这方面的工作,下面介绍黑客对NT系统的四种常用攻击手段,同时介绍如何防止这类攻击。
Microsoft IIS ism.dll缓冲区溢出
受影响的服务器:运行IIS 4.0并带有“Service Pack 3/4/5”的Windows NT服务器
Microsoft IIS缓冲区溢出这一安全弱点是Web服务器无时不有的重大缺陷之一。该弱点被称为IIS
eEye,这个名称来自发现此问题的一个小组。在实施缓冲区溢出攻击时,黑客向目标程序或服务输入超出程序处理能力的数据,导致程序突然终止。另外,还可以通过设置,在执行中的程序终止运行前,用输入的内容来覆盖此程序的某些部分,这样就可以在服务器的安全权限环境下执行任意黑客命令。
eEye发现,IIS用来解释HTR文件的解释程序是ism.dll,它对缓冲区溢出攻击的抵抗力十分脆弱。如果攻击者将一个以.htr结尾的超长文件名(大约3,000个字符,或更多)传递给IIS,那么输入值将在ism.dll中造成输入缓冲区溢出,并导致IIS崩溃。如果攻击者输入的不是一串字母而是可执行代码(通常称为“鸡蛋”或“外壳代码”),那么在IIS终止之前将执行该代码。由eEye小组发现的这一攻击方法包括三个步骤:
1.创建一个用于侦听任意TCP端口上连接活动的程序。一旦接收到连接信号,该程序将执行一个Windows命令外壳程序(cmd.exe),并将该外壳与连接绑定在一起。这个程序是经过修改的Netcat。Netcat是一个流行的网络连接实用程序,其源代码可以免费获得。
2.在IIS的ism.dll中制造缓冲区溢出,并使IIS从外部Web站点下载侦听程序(由步骤1产生)。
3.执行刚下载的程序(由步骤2产生),该程序将等待传入的连接并使攻击者进入Windows命令外壳程序中。
由于缓冲区溢出导致IIS在崩溃之前转而运行Windows命令外壳,所以该外壳程序将在IIS的安全权限背景下运行,而该安全权限背景等价于NT
Administrator权限。这样,攻击者要做的只是与被攻击的IIS服务器的侦听端口建立连接,然后等着出现c:提示就万事大吉了。现在,攻击者拥有对整个NT服务器的管理权限,可以做任何事,比如,添加新用户、修改服务器的内容、格式化驱动器,甚至将该服务器用作攻击其它系统的踏脚石。
运行IIS 4.0并带有“Service Pack 3/4/5”的Windows
NT服务器容易受到此类攻击。Microsoft已经发布了对该弱点的修补程序。Windows NT Service Pack
6也已经修补了该问题。
Microsoft IIS MDAC RDS安全弱点
受影响的服务器:运行IIS 4.0并安装了MDAC 2.1或更早版本的Windows NT服务器
在发现IIS eEye安全弱点的大约一个月后,IIS
4.0的另一个弱点又暴露出来。使用Microsoft数据访问组件(MDAC)和远程数据服务(RDS),攻击者可以建立非法的ODBC连接,并获得对Web服务器上的内部文件的访问权。如果安装了Microsoft
Jet OLE DB提供程序或Datashape提供程序,攻击者可以使用Visual Basic for Applications
shell()函数发出能够在服务器上执行的命令。
在安装了MDAC 2.1或更高版本的IIS 4.0上,从位于其公共目录中的msadcmsadcs.dll,可以找到MDAC
RDS弱点。Rain Forest
Puppy在其站点中对该弱点进行了详细说明。该弱点利用了IIS上MDAC默认安装时的不适当配置和安全机制的缺乏这一漏洞。在等价于NT
Administrator的IIS Web服务器进程的安全权限背景下,进行这种攻击的黑客可以在NT系统上远程执行任意命令。
MDAC的弱点不是由于技术造成的,而是由于用户对它的配置方式所致。很多站点是通过NT Option Pack 4.0安装IIS
4.0的。如果NT Option Pack
4.0是以典型或默认配置安装的,那么MDAC就容易遭到这种攻击。大多数使用默认安装的系统管理员都没有具体调整过这些设置,从而使Web服务器的安全性大大降低。
Foundstone公司的George Kurtz、Purdue大学的Nitesh
Dhanjani和我曾经共同设计了一个只有一行的命令字符串,该命令将利用MDAC
RDS弱点,使远程NT系统启动一个通过FTP或TFTP进行的文件传输过程。这个命令将告诉服务器到从某个外部系统下载并执行Netcat。Netcat将运行Windows命令外壳程序,并建立一个返回攻击者计算机的连接,这样,攻击者就获得了对远程NT系统的完全管理控制权。
Microsoft已经发布了相应的安全公告,并对使IIS 4.0免受该弱点攻击的保护措施进行了说明。
Allaire ColdFusion 4.0弱点
受影响的服务器:运行在Windows NT上的Allaire ColdFusion Server 4.0
作为还算容易使用的、功能强大的脚本语言,ColdFusion已经广泛流行起来。但流行并不意味着安全。ColdFusion的问题不在于该服务器自身,而是在于它附带的脚本。ColdFusion
4.0提供了示范应用程序和范例,它们可以在位于Web服务器根目录中的cfdocsexampleapp和cfdocsexpeval目录中找到。当用户执行典型安装时,将安装这些应用程序和脚本。ColdFusion所附带的部分范例经过修改后,将允许非法访问服务器上所包含的敏感数据。这些弱点表明,基本的应用程序服务器可以被编写得不好的应用程序脚本歪曲利用。
存在这种弱点的一个范例应用程序是cfdocsexampleappdocssourcewindow.cfm。因为ColdFusion是作为具有Administrator权限的系统服务运行的,所以,该程序可以被用来任意访问和查看NT
Web服务器上的任何文件,包括boot.ini。用这种方法可以检索任何文件。Packet Storm对该弱点做了完整解释。
而更严重的弱点存在于cfdocsexpevalopenfile.cfm、cfdocsexpevaldisplayopenedfile.cfm和cfdocsexpevalexprcalc.cfm中。这三个文件可以用来查看服务器上的任何文件,更为严重的是,它们还能将任意文件上载到服务器。对该弱点如何发作的讨论超出了本文的范围,欲了解详细信息请访问L0pht
Heavy
Industries的咨询信息。表达式求值程序exprcalc.cfm用于让开发人员计算被上载文件中的ColdFusion表达式的值。作为预防手段,该脚本在进行表达式计算时便会把被上载的文件删除掉,但要避免删除却是件容易的事。这样,攻击者可以上载恶意文件,并最终控制服务器。
这些就是ColdFusion的示范脚本中最严重的弱点。要防止出现问题,请从任何运行中的服务器中删除ColdFusion示范脚本。Allaire的Security
Zone提供了补丁程序,并提供了如何保护ColdFusion服务器的进一步信息。
Sambar 4.3 hello.bat
受影响的服务器:运行在Windows NT上的Sambar 4.3 beta 7和更早版本
Sambar是提供给开发者的免费Web服务器。它提供了对CGI和WinCGI脚本、ODBC脚本以及ISAPI的支持。它甚至捆绑了Perl
5解释器。
Sambar 4.3 beta
7版和更早版本附带两个名为hello.bat和echo.bat的文件,它们是将Windows批处理文件用作CGI脚本的范例。这两个脚本本身没有问题,hello.bat显示字符串“Hello
World”,而echo.bat显示字符串“Place
Holder”。但当批处理文件被用作CGI脚本时,Web服务器将使用Windows命令外壳程序cmd.exe来运行它们。这样,攻击者可以利用该弱点针对目标服务器运行任意命令。例如,假如攻击者把URL
;dir+c:放在他或她的浏览器中,那么,将在服务器上运行命令“dir
c:”,并在浏览器上显示结果。由于Sambar是在NT
Administrator安全权限下运行的,因此事情会变得更为复杂。这样的权限等级可以让攻击者作为NT Administrator运行任意命令。
Windows命令外壳使用“”在相同命令行上分隔多个命令。如果用户将“”放在hello.bat的后面,并在其后添加一个命令,那么将在执行hello.bat后执行第二个命令。
由于已经删除了文件hello.bat和echo.bat,Sambar 4.3 beta
8版和更高版本没有该弱点。但是,由于Windows命令外壳程序解析命令行的方式无法改变,所以并没有办法能真正修正该问题。如果您安装了4.3
beta 7版或更低版本,请一定要删除hello.bat和echo.bat。
黑客攻击一个目标网站,会依次进行那些步骤?
1. 确立目标
2. 扫描.
3. 探测漏洞并且进行分析
4. 找对应的exploit程序.
5. 编译程序,并且运行. 测试是否获得root权限
6. 视情况修改站点主页或者通知webmaster,或者来个rm –rf /进行彻底破坏.
7. 打扫战场,决定是否留后门
8. game ove
电脑黑客是怎样对电脑进行破坏的?
目前造成网络不安全的主要因素是系统、协议及数据库等的设计上存在缺陷。由于当今的计算机网络操作系统在本身结构设计和代码设计时偏重考虑系统使用时的方便性,导致了系统在远程访问、权限控制和口令管理等许多方面存在安全漏洞。网络互连一般采用TCP/IP协议,它是一个工业标准的协议簇,但该协议簇在制订之初,对安全问题考虑不多,协议中有很多的安全漏洞。同样,数据库管理系统(DBMS)也存在数据的安全性、权限管理及远程访问等方面问题,在DBMS或应用程序中可以预先安置从事情报收集、受控激发、定时发作等破坏程序。
由此可见,针对系统、网络协议及数据库等,无论是其自身的设计缺陷,还是由于人为的因素产生的各种安全漏洞,都可能被一些另有图谋的黑客所利用并发起攻击。因此若要保证网络安全、可靠,则必须熟知黑客网络攻击的一般过程。只有这样方可在黒客攻击前做好必要的防备,从而确保网络运行的安全和可靠。
一、黑客攻击网络的一般过程
1、信息的收集
信息的收集并不对目标产生危害,只是为进一步的入侵提供有用信息。黑客可能会利用下列的公开协议或工具,收集驻留在网络系统中的各个主机系统的相关信息:
(1)TraceRoute程序 能够用该程序获得到达目标主机所要经过的网络数和路由器数。
(2)SNMP协议 用来查阅网络系统路由器的路由表,从而了解目标主机所在网络的拓扑结构及其内部细节。
(3)DNS服务器 该服务器提供了系统中可以访问的主机IP地址表和它们所对应的主机名。
(4)Whois协议 该协议的服务信息能提供所有有关的DNS域和相关的管理参数。
(5)Ping实用程序 可以用来确定一个指定的主机的位置或网线是否连通。
2、系统安全弱点的探测
在收集到一些准备要攻击目标的信息后,黑客们会探测目标网络上的每台主机,来寻求系统内部的安全漏洞,主要探测的方式如下:
(1)自编程序 对某些系统,互联网上已发布了其安全漏洞所在,但用户由于不懂或一时疏忽未打上网上发布的该系统的“补丁”程序,那么黒客就可以自己编写一段程序进入到该系统进行破坏。
(2)慢速扫描 由于一般扫描侦测器的实现是通过监视某个时间段里一台特定主机发起的连接的数目来决定是否在被扫描,这样黑客可以通过使用扫描速度慢一些的扫描软件进行扫描。
(3)体系结构探测 黑客利用一些特殊的数据包传送给目标主机,使其作出相对应的响应。由于每种操作系统的响应时间和方式都是不一样的,黒客利用这种特征把得到的结果与准备好的数据库中的资料相对照,从中便可轻而易举地判断出目标主机操作系统所用的版本及其他相关信息。
(4)利用公开的工具软件 像审计网络用的安全分析工具SATAN、Internet的电子安全扫描程序IIS等一些工具对整个网络或子网进行扫描,寻找安全方面的漏洞。
3、建立模拟环境,进行模拟攻击
根据前面两小点所得的信息,建立一个类似攻击对象的模拟环境,然后对此模拟目标进行一系列的攻击。在此期间,通过检查被攻击方的日志,观察检测工具对攻击的反应,可以进一步了解在攻击过程中留下的“痕迹”及被攻击方的状态,以此来制定一个较为周密的攻击策略。
4、具体实施网络攻击
入侵者根据前几步所获得的信息,同时结合自身的水平及经验总结出相应的攻击方法,在进行模拟攻击的实践后,将等待时机,以备实施真正的网络攻击。
二、协议欺骗攻击及其防范措施
1、源IP地址欺骗攻击
许多应用程序认为若数据包可以使其自身沿着路由到达目的地,并且应答包也可回到源地,那么源IP地址一定是有效的,而这正是使源IP地址欺骗攻击成为可能的一个重要前提。
假设同一网段内有两台主机A和B,另一网段内有主机X。B 授予A某些特权。X 为获得与A相同的特权,所做欺骗攻击如下:首先,X冒充A,向主机 B发送一个带有随机序列号的SYN包。主机B响应,回送一个应答包给A,该应答号等于原序列号加1。然而,此时主机A已被主机X利用拒绝服务攻击 “淹没”了,导致主机A服务失效。结果,主机A将B发来的包丢弃。为了完成三次握手,X还需要向B回送一个应答包,其应答号等于B向A发送数据包的序列号加1。此时主机X 并不能检测到主机B的数据包(因为不在同一网段),只有利用TCP顺序号估算法来预测应答包的顺序号并将其发送给目标机B。如果猜测正确,B则认为收到的ACK是来自内部主机A。此时,X即获得了主机A在主机B上所享有的特权,并开始对这些服务实施攻击。
要防止源IP地址欺骗行为,可以采取以下措施来尽可能地保护系统免受这类攻击:
(1)抛弃基于地址的信任策略 阻止这类攻击的一种十分容易的办法就是放弃以地址为基础的验证。不允许r类远程调用命令的使用;删除.rhosts 文件;清空/etc/hosts.equiv 文件。这将迫使所有用户使用其它远程通信手段,如telnet、ssh、skey等等。
(2)使用加密方法 在包发送到 网络上之前,我们可以对它进行加密。虽然加密过程要求适当改变目前的网络环境,但它将保证数据的完整性、真实性和保密性。
(3)进行包过滤 可以配置路由器使其能够拒绝网络外部与本网内具有相同IP地址的连接请求。而且,当包的IP地址不在本网内时,路由器不应该把本网主机的包发送出去。有一点要注意,路由器虽然可以封锁试图到达内部网络的特定类型的包。但它们也是通过分析测试源地址来实现操作的。因此,它们仅能对声称是来自于内部网络的外来包进行过滤,若你的网络存在外部可信任主机,那么路由器将无法防止别人冒充这些主机进行IP欺骗。
2、源路由欺骗攻击
在通常情况下,信息包从起点到终点所走的路是由位于此两点间的路由器决定的,数据包本身只知道去往何处,而不知道该如何去。源路由可使信息包的发送者将此数据包要经过的路径写在数据包里,使数据包循着一个对方不可预料的路径到达目的主机。下面仍以上述源IP欺骗中的例子给出这种攻击的形式:
主机A享有主机B的某些特权,主机X想冒充主机A从主机B(假设IP为aaa.bbb.ccc.ddd)获得某些服务。首先,攻击者修改距离X最近的路由器,使得到达此路由器且包含目的地址aaa.bbb.ccc.ddd的数据包以主机X所在的网络为目的地;然后,攻击者X利用IP欺骗向主机B发送源路由(指定最近的路由器)数据包。当B回送数据包时,就传送到被更改过的路由器。这就使一个入侵者可以假冒一个主机的名义通过一个特殊的路径来获得某些被保护数据。
为了防范源路由欺骗攻击,一般采用下面两种措施:
· 对付这种攻击最好的办法是配置好路由器,使它抛弃那些由外部网进来的却声称是内部主机的报文。
· 在路由器上关闭源路由。用命令no ip source-route。
三、拒绝服务攻击及预防措施
在拒绝服务攻击中,攻击者加载过多的服务将对方资源全部使用,使得没有多余资源供其他用户无法使用。SYN Flood攻击是典型的拒绝服务攻击。
SYN Flood常常是源IP地址欺骗攻击的前奏,又称半开式连接攻击,每当我们进行一次标准的TCP连接就会有一个三次握手的过程,而SYN Flood在它的实现过程中只有三次握手的前两个步骤,当服务方收到请求方的SYN并回送SYN-ACK确认报文后,请求方由于采用源地址欺骗等手段,致使服务方得不到ACK回应,这样,服务方会在一定时间内处于等待接收请求方ACK报文的状态,一台服务器可用的TCP连接是有限的,如果恶意攻击方快速连续的发送此类连接请求,则服务器的系统可用资源、网络可用带宽急剧下降,将无法向其它用户提供正常的网络服务。
为了防止拒绝服务攻击,我们可以采取以下的预防措施:
(1) 建议在该网段的路由器上做些配置的调整,这些调整包括限制Syn半开数据包的流量和个数。
(2)要防止SYN数据段攻击,我们应对系统设定相应的内核参数,使得系统强制对超时的Syn请求连接数据包复位,同时通过缩短超时常数和加长等候队列使得系统能迅速处理无效的Syn请求数据包。
(3)建议在路由器的前端做必要的TCP拦截,使得只有完成TCP三次握手过程的数据包才可进入该网段,这样可以有效地保护本网段内的服务器不受此类攻击。
(4)对于信息淹没攻击,我们应关掉可能产生无限序列的服务来防止这种攻击。比如我们可以在服务器端拒绝所有的ICMP包,或者在该网段路由器上对ICMP包进行带宽方面的限制,控制其在一定的范围内。
总之,要彻底杜绝拒绝服务攻击,最好的办法是惟有追根溯源去找到正在进行攻击的机器和攻击者。 要追踪攻击者可不是一件容易的事情,一旦其停止了攻击行为,很难将其发现。惟一可行的方法是在其进行攻击的时候,根据路由器的信息和攻击数据包的特征,采用逐级回溯的方法来查找其攻击源头。这时需要各级部门的协同配合方可有效果。
四、其他网络攻击行为的防范措施
协议攻击和拒绝服务攻击是黑客惯于使用的攻击方法,但随着网络技术的飞速发展,攻击行为千变万化,新技术层出不穷。下面将阐述一下网络嗅探及缓冲区溢出的攻击原理及防范措施。
1、针对网络嗅探的防范措施
网络嗅探就是使网络接口接收不属于本主机的数据。计算机网络通常建立在共享信道上,以太网就是这样一个共享信道的网络,其数据报头包含目的主机的硬件地址,只有硬件地址匹配的机器才会接收该数据包。一个能接收所有数据包的机器被称为杂错节点。通常账户和口令等信息都以明文的形式在以太网上传输,一旦被黑客在杂错节点上嗅探到,用户就可能会遭到损害。
对于网络嗅探攻击,我们可以采取以下措施进行防范:
(1)网络分段 一个网络段包括一组共享低层设备和线路的机器,如交换机,动态集线器和网桥等设备,可以对数据流进行限制,从而达到防止嗅探的目的。
(2)加密 一方面可以对数据流中的部分重要信息进行加密,另一方面也可只对应用层加密,然而后者将使大部分与网络和操作系统有关的敏感信息失去保护。选择何种加密方式这就取决于信息的安全级别及网络的安全程度。
(3)一次性口令技术 口令并不在网络上传输而是在两端进行字符串匹配,客户端利用从服务器上得到的Challenge和自身的口令计算出一个新字符串并将之返回给服务器。在服务器上利用比较算法进行匹配,如果匹配,连接就允许建立,所有的Challenge和字符串都只使用一次。
(4)禁用杂错节点 安装不支持杂错的网卡,通常可以防止IBM兼容机进行嗅探。
2、缓冲区溢出攻击及其防范措施
缓冲区溢出攻击是属于系统攻击的手段,通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其它指令,以达到攻击的目的。当然,随便往缓冲区中填东西并不能达到攻击的目的。最常见的手段是通过制造缓冲区溢出使程序运行一个用户shell,再通过shell执行其它命令。如果该程序具有root权限的话,攻击者就可以对系统进行任意操作了。
缓冲区溢出对网络系统带来了巨大的危害,要有效地防止这种攻击,应该做到以下几点:
(1)程序指针完整性检查 在程序指针被引用之前检测它是否改变。即便一个攻击者成功地改变了程序的指针,由于系统事先检测到了指针的改变,因此这个指针将不会被使用。
(2)堆栈的保护 这是一种提供程序指针完整性检查的编译器技术,通过检查函数活动记录中的返回地址来实现。在堆栈中函数返回地址后面加了一些附加的字节,而在函数返回时,首先检查这个附加的字节是否被改动过。如果发生过缓冲区溢出的攻击,那么这种攻击很容易在函数返回前被检测到。但是,如果攻击者预见到这些附加字节的存在,并且能在溢出过程中同样地制造他们,那么他就能成功地跳过堆栈保护的检测。
(3)数组边界检查 所有的对数组的读写操作都应当被检查以确保对数组的操作在正确的范围内进行。最直接的方法是检查所有的数组操作,通常可以采用一些优化技术来减少检查次数。目前主要有这几种检查方法:Compaq C编译器、Jones Kelly C数组边界检查、Purify存储器存取检查等。
未来的竞争是信息竞争,而网络信息是竞争的重要组成部分。其实质是人与人的对抗,它具体体现在安全策略与攻击策略的交锋上。为了不断增强信息系统的安全防御能力,必须充分理解系统内核及网络协议的实现,真正做到洞察对方网络系统的“细枝末节”,同时应该熟知针对各种攻击手段的预防措施,只有这样才能尽最大可能保证网络的安全。