windows安全审计策略_防止黑客攻击的策略审计

hacker|
199

防止黑客攻击的方法有哪些?

从技术上对付黑客攻击,主要采用下列方法:

使用防火墙技术,建立网络安全屏障。使用防火墙系统来防止外部网络对内部网络的未授权访问,作为网络软件的补充,共同建立网络信息系统的对外安全屏障。目前全球联入Internet的电脑中约有1/3是处于防火墙保护之下,主要目的就是根据本单位的安全策略,对外部网络与内部网络交流的数据进行检查,符合的予以放行,不符合的拒之门外。

使用安全扫描工具发现黑客。经常使用“网威”等安全检测、扫描工具作为加强内部网络与系统的安全防护性能和抗破坏能力的主要扫描工具,用于发现安全漏洞及薄弱环节。当网络或系统被黑客攻击时,可用该软件及时发现黑客入侵的迹象,进行处理。

使用有效的监控手段抓住入侵者。经常使用“网威”等监控工具对网络和系统的运行情况进行实时监控,用于发现黑客或入侵者的不良企图及越权使用,及时进行相关处理(如跟踪分析、反攻击等),防范于未然。

时常备份系统,若被攻击可及时修复。这一个安全环节与系统管理员的实际工作关系密切,所以系统管理员要定期地备份文件系统,以便在非常情况下(如系统瘫痪或受到黑客的攻击破坏时)能及时修复系统,将损失减少到最低。

加强防范意识,防止攻击。加强管理员和系统用户的安全防范意识,可大大提高网络、系统的安全性能,更有效地防止黑客的攻击破坏。

用身份验证法识别用户“身份验证”统指能够正确识别用户的各种方法,是为阻止非法用户的破坏所设,它一般具有如下几个特点:

可信性:信息的来源可信,即信息接收者能够确认所获得的信息不是由冒充者发出的;完整性:信息在传输过程中保持完整性,即信息接收者能够确认所获得的信息在传输过程中没有被修改、延迟和替换;不可抵赖性:要求信息的发送方不能否认自己所发出的信息。同样,信息的接收方不能否认已收到了信息;访问控制:拒绝非法用户访问系统资源,合法用户只能访问系统授权和指定的资源。

口令是当前最常用的身份认证方法。但是,众所周知,不少用户选择的口令水平太低,可以被有经验的黑客猜测出来。我们经常把口令认证叫做“知道即可”的认证方法,因为口令一旦被别人“知道”就丧失了其安全性。现在,很多公司开始转向一种名为“拿到方可”的认证方法,在这种认证方法中,用户进行身份认证时,必须使用令牌或IC卡之类的物理设备。令牌是一种小型设备,只有IC卡或计算器那么大,可以随身携带。

这类产品经常使用一种“挑战一应答”(Challenge-Response)技术。当用户试图建立网络连接时,网络上的认证服务器会发出挑战信息,用户把挑战信息键入到令牌设备后,令牌设备显示合适的应答信息,再由用户发送给认证服务器。很多令牌设备还要求用户键入PIN。IC卡认证与令牌认证比较相似,只不过前者需要使用IC卡读取器来处理挑战信息。

黑客常用攻击手段及其预防措施有那些?

黑客常用攻击手段揭秘及其预防措施介绍

目前造成网络不安全的主要因素是系统、协议及数据库等的设计上存在缺陷。由于当今的计算机网络操作系统在本身结构设计和代码设计时偏重考虑系统使用时的方便性,导致了系统在远程访问、权限控制和口令管理等许多方面存在安全漏洞。网络互连一般采用TCP/IP协议,它是一个工业标准的协议簇,但该协议簇在制订之初,对安全问题考虑不多,协议中有很多的安全漏洞。同样,数据库管理系统(DBMS)也存在数据的安全性、权限管理及远程访问等方面问题,在DBMS或应用程序中可以预先安置从事情报收集、受控激发、定时发作等破坏程序。

由此可见,针对系统、网络协议及数据库等,无论是其自身的设计缺陷,还是由于人为的因素产生的各种安全漏洞,都可能被一些另有图谋的黑客所利用并发起攻击。因此若要保证网络安全、可靠,则必须熟知黑客网络攻击的一般过程。只有这样方可在黒客攻击前做好必要的防备,从而确保网络运行的安全和可靠。

一、黑客攻击网络的一般过程

1、信息的收集

信息的收集并不对目标产生危害,只是为进一步的入侵提供有用信息。黑客可能会利用下列的公开协议或工具,收集驻留在网络系统中的各个主机系统的相关信息:

(1)TraceRoute程序 能够用该程序获得到达目标主机所要经过的网络数和路由器数。

(2)SNMP协议 用来查阅网络系统路由器的路由表,从而了解目标主机所在网络的拓扑结构及其内部细节。

(3)DNS服务器 该服务器提供了系统中可以访问的主机IP地址表和它们所对应的主机名。

(4)Whois协议 该协议的服务信息能提供所有有关的DNS域和相关的管理参数。

(5)Ping实用程序 可以用来确定一个指定的主机的位置或网线是否连通。

2、系统安全弱点的探测

在收集到一些准备要攻击目标的信息后,黑客们会探测目标网络上的每台主机,来寻求系统内部的安全漏洞,主要探测的方式如下:

(1)自编程序 对某些系统,互联网上已发布了其安全漏洞所在,但用户由于不懂或一时疏忽未打上网上发布的该系统的“补丁”程序,那么黒客就可以自己编写一段程序进入到该系统进行破坏。

(2)慢速扫描 由于一般扫描侦测器的实现是通过监视某个时间段里一台特定主机发起的连接的数目来决定是否在被扫描,这样黑客可以通过使用扫描速度慢一些的扫描软件进行扫描。

(3)体系结构探测 黑客利用一些特殊的数据包传送给目标主机,使其作出相对应的响应。由于每种操作系统的响应时间和方式都是不一样的,黒客利用这种特征把得到的结果与准备好的数据库中的资料相对照,从中便可轻而易举地判断出目标主机操作系统所用的版本及其他相关信息。

二、协议欺骗攻击及其防范措施

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地址不在本网内时,路由器不应该把本网主机的包发送出去。有一点要注意,路由器虽然可以封锁试图到达内部网络的特定类型的包。但它们也是通过分析测试源地址来实现操作的。因此,它们仅能对声

如何抵御黑客的攻击?

例如:Windows操作系统的administrator账号,制作WWW网站的账号可能是html、www、web等,安装Oracle数据库的可能有Oracle的账号,用户培训或教学而设置的user1、user2、student1、student2、client1、client2等账户,一些常用的英文名字也经常会使用,例如:tom、john等,因此黑客可以根据系统所提供的服务和在其主页得到的工作人员的名字信息进行猜测。 结束进程示意图 对很多黑客入侵系统实例的分析表明,由于普通用户对系统安全没有具体的认识,因此其密码很容易被猜测出来,一般用户的初始密码大部分和其账号相同,这根本没有一点安全性,在得到其账号信息后就得到了它的密码;另外一部分使用的密码比较简单,例如:将账号的第一个字母大写、后面加一个数字,或者使用简单数字0、1等作为密码。还有一些成对的账号和密码,例如:账号是admin,那么密码可能是manager等。在对普通用户进行测试密码时,实际上也可以对目标主机系统的重要账号进行猜测,例如:一些系统管理员将root的密码定为主机的名字,像Sun、Digital、sparc20、alpha2100等,Oracle数据库的账号密码为oracle7、oracle8等,因此经常发生系统安全的事故。 因此,在遭到黑客入侵后,应及时修改主机的账号和密码,以避免黑客再次通过这些账号和密码侵入您的主机。 ★策略四:主机系统日志的检查与备份 以Unix系统为例,提供了详细的各种日志记录,以及有关日志的大量工具和实用程序。这些审计记录通常由程序自动产生,是缺省设置的一部分,能够帮助Unix管理员来寻找系统中存在的问题,对系统维护十分有用。还有另一些日志记录,需要管理员进行设置才能生效。大部分日志记录文件被保存在/var/log目录中,在这个目录中除了保存系统生成日志之外,还包括一些应用软件的日志文件。当然/var目录下的其他子目录中也会记录下一些其他种类的日志记录文件,这依赖于具体的应用程序的设置。系统登录日志会保存每个用户的登录记录,这些信息包括这个用户的名字、登录起始结束时间以及从何处登录入系统的等等。 当遭到黑客入侵之后,应当及时检查和备份主机系统日志,对黑客所破坏的系统进行及时的恢复。 ★策略五:关键数据的备份 数据备份就是将数据以某种方式加以保留,以便在系统遭受破坏或其他特定情况下,重新加以利用的一个过程。数据备份的根本目的是重新利用,这也就是说,备份工作的核心是恢复。数据备份作为存储领域的一个重要组成部分,其在存储系统中的地位和作用都是不容忽视的。对一个完整的企业IT系统而言,备份工作是其中必不可少的组成部分。其意义不仅在于防范意外事件的破坏,而且还是历史数据保存归档的最佳方式。换言之,即便系统正常工作,没有任何数据丢失或破坏发生,备份工作仍然具有非常大的意义——为我们进行历史数据查询、统计和分析,以及重要信息归档保存提供了可能。 如果您的主机不幸遭到黑客的入侵,那么你首先要做的就是备份主机中幸存的关键数据,以便在系统重新恢复正常运转后及时地恢复系统数据。 ★策略六:查询防火墙日志详细记录、修改防火墙安全策略 随着网络攻击手段和信息安全技术的发展,新一代的功能更强大、安全性更强的防火墙已经问世,这个阶段的防火墙已超出了原来传统意义上防火墙的范畴,已经演变成一个全方位的安全技术集成系统,我们称之为第四代防火墙,它可以抵御目前常见的网络攻击手段,如IP地址欺骗、特洛伊木马攻击、Internet蠕虫、口令探寻攻击、邮件攻击等等。 但是,俗话说“道高一尺,魔高一丈”,功能再强大的防火墙也需要人工配置一些安全策略,由于使用者网络安全水平的不同,黑客还是可以利用防火墙安全策略的漏洞绕过防火墙实现对主机的攻击。防火墙的日志会详细记录黑客入侵的手段和过程,所以在遭到黑客攻击之后,我们应当根据防火墙的日志详细记录,有的放矢地修改防火墙的安全策略,使它能够应对新出现的攻击方式,使防火墙的安全策略日臻完善。 ★策略七:利用DiskRecovery技术对硬盘数据进行恢复 在最坏的情况下,黑客可能会破坏甚至删除硬盘上的所有重要数据。在遇到这种情况时,首先要保持冷静,当数据无法读取或硬盘被格式化后,往往可以恢复,不必紧张。 那数据为什么能恢复呢?这主要取决于硬盘数据的存储原理。硬盘中由一组金属材料为基层的盘片组成,盘片上附着磁性涂层,靠硬盘本身转动和磁头的移动来读写数据的。其中,最外面的一圈称为“0”磁道。上面记录了硬盘的规格、型号、主引导记录、目录结构等一系列最重要的信息。我们存放在硬盘上的每一个文件都在这里有记录。在读取文件时,首先要寻找0磁道的有关文件的初始扇区,然后按图索骥,才能找到文件的位置。删除就不一样了,系统仅仅对0磁道的文件信息打上删除标志,但这个文件本身并没有被清除。只是文件占用的空间在系统中被显示为释放,而且,当你下次往硬盘上存储文件时,系统将会优先考虑真正的空白区,只有这些区域被用完以后,才会覆盖上述被删文件实际占有的空间。另外,即使硬盘格式化后(如Format),只要及时抢救,还是有很大希望的。我们可以选择一些专业的数据恢复软件来恢复被黑客破坏的数据,譬如EasyRecovery,这是一个威力非常强大的硬盘数据恢复工具,能够帮你恢复丢失的数据以及重建文件系统。 如果您不具备硬盘数据恢复的知识,目前有许多专业的数据恢复公司也提供硬盘数据恢复服务。如果我们要恢复的数据涉及一些商业机密,那么,我们所要做的是准备新的空白硬盘作为数据恢复后的载体,不要将数据恢复到别人的机器上,不要因为他们已删除而感到放心,因为他们既然能恢复您硬盘上的数据,就一定也能恢复您暂存在他们的硬盘上的数据。而且恢复数据的过程最好也要有人全程监控,以避免泄密。

9计算机网络道德问题:黑客有哪些常见的攻击手段?如何防范黑客?

目前造成网络不安全的主要因素是系统、协议及数据库等的设计上存在缺陷。由于当今的计算机网络操作系统在本身结构设计和代码设计时偏重考虑系统使用时的方便性,导致了系统在远程访问、权限控制和口令管理等许多方面存在安全漏洞。网络互连一般采用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存储器存取检查等。

未来的竞争是信息竞争,而网络信息是竞争的重要组成部分。其实质是人与人的对抗,它具体体现在安全策略与攻击策略的交锋上。为了不断增强信息系统的安全防御能力,必须充分理解系统内核及网络协议的实现,真正做到洞察对方网络系统的“细枝末节”,同时应该熟知针对各种攻击手段的预防措施,只有这样才能尽最大可能保证网络的安全。

0条大神的评论

发表评论