黑客网络攻防图案图片_黑客网络攻防图案

hacker|
108

西北工业大学遭网络攻击,“网络黑客”是一种怎样的存在?

西北工业大学遭受到他方的网络攻击,让我们再次了解到网络黑客的存在。网络黑客是一种拥有非常强大的网络技术的存在,他们会对其他人的网络安全造成非常大的威胁,网络黑客在现实中,可能看起来就是普通人,但是到了虚拟世界,网络黑客就是大杀四方的存在,他们仿佛在虚拟世界没有敌人。

1.网络黑客是很奇妙的存在,依存于互联网的存在而发展的,也随着时代的变化在变化

早期的黑客其实更像一种恶作剧,他们往往单枪匹马,依靠着自己强大的网络技术,给他人的生活带来困扰。而目前的黑客已经发展成为组织而存在,他们对网络安全造成了极大威胁,并且对正常的社会秩序以及商业活动也造成了很大破坏。而且网络经济犯罪也在增加,这都离不开网络黑客做幕后推手。

2.网络黑客是一种威胁互联网安全的存在,不利于网络安全的构建

有些虚拟货币的交易地方就会受到网络黑客的攻击,而且他们的行为往往是群发的,并且是必然性事件,让一些没有技术的网络小白防不胜防,他们有属于自己的攻击构架,一旦发起攻击,就像一场无形的战争,带来极强的经济破坏性。而且再造受到网络黑客攻击之后,他们往往会留下警告文字,被攻击的系统,修复起来也极其困难。

总而言之,网络黑客是一种很让人头疼的存在,能够导致非常精密的网络系统出现瘫痪的状况,他们也能够制造很多经济犯罪事件,给他人造成经济损失,他们的力量不可小觑,应该制造非常精密的网络安全系统来防止他们的攻击,而治理网络黑客事件任重而道远。

网络攻防平台有哪些

我们平时涉及到的计算机网络攻防技术,主要指计算机的防病毒技术和制造具破坏性的病毒的技术。具体的攻和防指的,一个是黑客,一个是杀毒软件。一个是入侵计算机系统的技术,一个是保护计算机不被入侵的技术。

计算机网络攻防技术在军事上也有一定的应用:就是通过计算机把对方网络破坏掉,从而削弱对方的信息接受,使我方处于优势。常用的有PWNABLE.KRDVWA. Damn VulerableWebApplication

DVWA-WooYun.PentesterLab

网络物理层最重要的攻击主要有直接攻击和间接攻击,直接攻击时指:直接对硬件进行攻击,间接攻击是指对间接的攻击物理介质,如复制或sinffer,把信息原样的传播开来

防御:物理层信息安全主要包括防止物理通路的损坏、通过物理通路窃听、对物理通路的攻击(干扰)等; 网络攻击的步骤一般可分为以下几步:

1. 收集目标的信息 

2. 寻求目标计算机的漏洞和选择合适的入侵方法  

3. 留下“后门” 

4. 清除入侵记录

攻击:黑客、病毒、木马、系统漏洞

防御:打开防火墙,杀毒软件等,关闭远程登入、漏洞的修补,不明网站不打开。攻击:网络层攻击的类型可以分:首部滥用、利用网络栈漏洞带宽饱和

IP地址欺骗、Nmap ICMP Ping扫描,Smurf攻击、Ddos攻击网络层过滤回应,伪造,篡改等

防御:网络层的安全需要保证网络只给授权的客户提供授权的服务,保证网络路由正确,避免被拦截或监听,设置防火墙;攻击:在对应用层的攻击中,大部分时通过HTTP协议(80端口)进行。恶意脚本,还有Cookie投毒 , 隐藏域修改 , 缓存溢出 , 参数篡改,  强制浏览,已知漏洞攻击:Ddos攻击,SQL注入,CSS攻击.

防御:对应用层的防范通常比内网防范难度要更大,因为这些应用要允许外部的访问。防火墙的访问控制策略中必须开放应用服务对应的端口,如web的80端口。这样,黑客通过这些端口发起攻击时防火墙无法进行识别控制。入侵检测和入侵防御系统并不是针对应用协议进行设计,所以同样无法检测对相应协议漏洞的攻击。而应用入侵防护系统则能够弥补防火墙和入侵检测系统的不足,对特定应用进行有效保护。

黑客攻防的过滤网关防护

这里,过滤网关主要指明防火墙,当然路由器也能成为过滤网关。防火墙部署在不同网络之间,防范外来非法攻击和防止保密信息外泄,它处于客户端和服务器之间,利用它来防护SYN攻击能起到很好的效果。过滤网关防护主要包括超时设置,SYN网关和SYN代理三种。

·网关超时设置:

防火墙设置SYN转发超时参数(状态检测的防火墙可在状态表里面设置),该参数远小于服务器的timeout时间。当客户端发送完SYN包,服务端发送确认包后(SYN+ACK),防火墙如果在计数器到期时还未收到客户端的确认包(ACK),则往服务器发送RST包,以使服务器从队列中删去该半连接。值得注意的是,网关超时参数设置不宜过小也不宜过大,超时参数设置过小会影响正常的通讯,设置太大,又会影响防范SYN攻击的效果,必须根据所处的网络应用环境来设置此参数。

·SYN网关:

SYN网关收到客户端的SYN包时,直接转发给服务器;SYN网关收到服务器的SYN/ACK包后,将该包转发给客户端,同时以客户端的名义给服务器发ACK确认包。此时服务器由半连接状态进入连接状态。当客户端确认包到达时,如果有数据则转发,否则丢弃。事实上,服务器除了维持半连接队列外,还要有一个连接队列,如果发生SYN攻击时,将使连接队列数目增加,但一般服务器所能承受的连接数量比半连接数量大得多,所以这种方法能有效地减轻对服务器的攻击。

·SYN代理:

当客户端SYN包到达过滤网关时,SYN代理并不转发SYN包,而是以服务器的名义主动回复SYN/ACK包给客户,如果收到客户的ACK包,表明这是正常的访问,此时防火墙向服务器发送ACK包并完成三次握手。SYN代理事实上代替了服务器去处理SYN攻击,此时要求过滤网关自身具有很强的防范SYN攻击能力。

2、加固tcp/ip协议栈防范SYN攻击的另一项主要技术是调整tcp/ip协议栈,修改tcp协议实现。主要方法有SynAttackProtect保护机制、SYN cookies技术、增加最大半连接和缩短超时时间等。tcp/ip协议栈的调整可能会引起某些功能的受限,管理员应该在进行充分了解和测试的前提下进行此项工作。otect机制

为防范SYN攻击,Windows2000系统的tcp/ip协议栈内嵌了SynAttackProtect机制,Win2003系统也采用此机制。SynAttackProtect机制是通过关闭某些socket选项,增加额外的连接指示和减少超时时间,使系统能处理更多的SYN连接,以达到防范SYN攻击的目的。默认情况下,Windows2000操作系统并不支持SynAttackProtect保护机制,需要在注册表以下位置增加SynAttackProtect键值:

HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

当SynAttackProtect值(如无特别说明,本文提到的注册表键值都为十六进制)为0或不设置时,系统不受SynAttackProtect保护。

当SynAttackProtect值为1时,系统通过减少重传次数和延迟未连接时路由缓冲项(route cache entry)防范SYN攻击。

当SynAttackProtect值为2时(Microsoft推荐使用此值),系统不仅使用backlog队列,还使用附加的半连接指示,以此来处理更多的SYN连接,使用此键值时,tcp/ip的TCPInitialRTT、window size和可滑动窗囗将被禁止。

我们应该知道,平时,系统是不启用SynAttackProtect机制的,仅在检测到SYN攻击时,才启用,并调整tcp/ip协议栈。那么系统是如何检测SYN攻击发生的呢?事实上,系统根据TcpMaxHalfOpen,TcpMaxHalfOpenRetried 和TcpMaxPortsExhausted三个参数判断是否遭受SYN攻击。

TcpMaxHalfOpen 表示能同时处理的最大半连接数,如果超过此值,系统认为正处于SYN攻击中。Windows2000 server默认值为100,Windows2000 Advanced server为500。

TcpMaxHalfOpenRetried定义了保存在backlog队列且重传过的半连接数,如果超过此值,系统自动启动SynAttackProtect机制。Windows2000 server默认值为80,Windows2000 Advanced server为400。

TcpMaxPortsExhausted 是指系统拒绝的SYN请求包的数量,默认是5。

如果想调整以上参数的默认值,可以在注册表里修改(位置与SynAttackProtect相同)

· SYN cookies技术

我们知道,TCP协议开辟了一个比较大的内存空间backlog队列来存储半连接条目,当SYN请求不断增加,并这个空间,致使系统丢弃SYN连接。为使半连接队列被塞满的情况下,服务器仍能处理新到的SYN请求,SYN cookies技术被设计出来。

SYN cookies应用于linux、FreeBSD等操作系统,当半连接队列满时,SYNcookies并不丢弃SYN请求,而是通过加密技术来标识半连接状态。

在TCP实现中,当收到客户端的SYN请求时,服务器需要回复SYN+ACK包给客户端,客户端也要发送确认包给服务器。通常,服务器的初始序列号由服务器按照一定的规律计算得到或采用随机数,但在SYN cookies中,服务器的初始序列号是通过对客户端IP地址、客户端端囗、服务器IP地址和服务器端囗以及其他一些安全数值等要素进行hash运算,加密得到的,称之为cookie。当服务器遭受SYN攻击使得backlog队列满时,服务器并不拒绝新的SYN请求,而是回复cookie(回复包的SYN序列号)给客户端, 如果收到客户端的ACK包,服务器将客户端的ACK序列号减去1得到cookie比较值,并将上述要素进行一次hash运算,看看是否等于此cookie。如果相等,直接完成三次握手(注意:此时并不用查看此连接是否属于backlog队列)。

在RedHat linux中,启用SYN cookies是通过在启动环境中设置以下命令来完成:

# echo 1 ?? /proc/sys/net/ipv4/tcp_syncookies

· 增加最大半连接数

大量的SYN请求导致未连接队列被塞满,使正常的TCP连接无法顺利完成三次握手,通过增大未连接队列空间可以缓解这种压力。当然backlog队列需要占用大量的内存资源,不能被无限的扩大。

Windows2000:除了上面介绍的TcpMaxHalfOpen, TcpMaxHalfOpenRetried参数外,Windows2000操作系统可以通过设置动态backlog(dynamic backlog)来增大系统所能容纳的最大半连接数,配置动态backlog由AFD.SYS驱动完成,AFD.SYS是一种内核级的驱动,用于支持基于window socket的应用程序,比如ftp、telnet等。AFD.SYS在注册表的位置:

HKLM\System\CurrentControlSet\Services\AFD\Parameters\EnableDynamicBacklog值为1时,表示启用动态backlog,可以修改最大半连接数。

MinimumDynamicBacklog表示半连接队列为单个TCP端囗分配的最小空闲连接数,当该TCP端囗在backlog队列的空闲连接小于此临界值时,系统为此端囗自动启用扩展的空闲连接(DynamicBacklogGrowthDelta),Microsoft推荐该值为20。

MaximumDynamicBacklog是当前活动的半连接和空闲连接的和,当此和超过某个临界值时,系统拒绝SYN包,Microsoft推荐MaximumDynamicBacklog值不得超过2000。

DynamicBacklogGrowthDelta值是指扩展的空闲连接数,此连接数并不计算在MaximumDynamicBacklog内,当半连接队列为某个TCP端囗分配的空闲连接小于MinimumDynamicBacklog时,系统自动分配DynamicBacklogGrowthDelta所定义的空闲连接空间,以使该TCP端囗能处理更多的半连接。Microsoft推荐该值为10。

LINUX:Linux用变量tcp_max_syn_backlog定义backlog队列容纳的最大半连接数。在Redhat 7.3中,该变量的值默认为256,这个值是远远不够的,一次强度不大的SYN攻击就能使半连接队列占满。我们可以通过以下命令修改此变量的值:

# sysctl -w net.ipv4.tcp_max_syn_backlog=`2048`

Sun Solaris Sun Solaris用变量tcp_conn_req_max_q0来定义最大半连接数,在Sun Solaris 8中,该值默认为1024,可以通过add命令改变这个值:

# ndd -set /dev/tcp tcp_conn_req_max_q0 2048

HP-UX:HP-UX用变量tcp_syn_rcvd_max来定义最大半连接数,在HP-UX 11.00中,该值默认为500,可以通过ndd命令改变默认值:

#ndd -set /dev/tcp tcp_syn_rcvd_max 2048

·缩短超时时间

上文提到,通过增大backlog队列能防范SYN攻击;另外减少超时时间也使系统能处理更多的SYN请求。我们知道,timeout超时时间,也即半连接存活时间,是系统所有重传次数等待的超时时间总和,这个值越大,半连接数占用backlog队列的时间就越长,系统能处理的SYN请求就越少。为缩短超时时间,可以通过缩短重传超时时间(一般是第一次重传超时时间)和减少重传次数来实现。

Windows2000第一次重传之前等待时间默认为3秒,为改变此默认值,可以通过修改网络接囗在注册表里的TcpInitialRtt注册值来完成。重传次数由TcpMaxConnectResponseRetransmissions 来定义,注册表的位置是:

HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters registry key

当然我们也可以把重传次数设置为0次,这样服务器如果在3秒内还未收到ack确认包就自动从backlog队列中删除该连接条目。

LINUX:Redhat使用变量tcp_synack_retries定义重传次数,其默认值是5次,总超时时间需要3分钟。

Sun Solaris Solaris 默认的重传次数是3次,总超时时间为3分钟,可以通过ndd命令修改这些默认值。

怎么预防黑客的攻击

针对黑客网络攻击的预防措施

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

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

参考:

怎样防止网络黑客攻击呢 ?

一、取消文件夹隐藏共享

如果你使用了Windows 2000/XP系统,右键单击C盘或者其他盘,选择共享,你会惊奇地发现它已经被设置为“共享该文件夹”,而在“网上邻居”中却看不到这些内容,这是怎么回事呢?

原来,在默认状态下,Windows 2000/XP会开启所有分区的隐藏共享,从“控制面板/管理工具/计算机管理”窗口下选择“系统工具/共享文件夹/共享”,就可以看到硬盘上的每个分区名后面都加了一个“$”。但是只要键入“计算机名或者IPC$”,系统就会询问用户名和密码,遗憾的是,大多数个人用户系统Administrator的密码都为空,入侵者可以轻易看到C盘的内容,这就给网络安全带来了极大的隐患。

怎么来消除默认共享呢?方法很简单,打开注册表编辑器,进入“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetSevicesLanmanworkstationparameters”,新建一个名为“AutoShareWKs”的双字节值,并将其值设为“0”,然后重新启动电脑,这样共享就取消了。

二、拒绝恶意代码

恶意网页成了宽带的最大威胁之一。以前使用Modem,因为打开网页的速度慢,在完全打开前关闭恶意网页还有避免中招的可能性。现在宽带的速度这么快,所以很容易就被恶意网页攻击。

一般恶意网页都是因为加入了用编写的恶意代码才有破坏力的。这些恶意代码就相当于一些小程序,只要打开该网页就会被运行。所以要避免恶意网页的攻击只要禁止这些恶意代码的运行就可以了。

运行IE浏览器,点击“工具/Internet选项/安全/自定义级别”,将安全级别定义为“安全级-高”,对“ActiveX控件和插件”中第2、3项设置为“禁用”,其它项设置为“提示”,之后点击“确定”。这样设置后,当你使用IE浏览网页时,就能有效避免恶意网页中恶意代码的攻击。

三、封死黑客的“后门”

俗话说“无风不起浪”,既然黑客能进入,那说明系统一定存在为他们打开的“后门”,只要堵死这个后门,让黑客无处下手,便无后顾之忧!

1.删掉不必要的协议

对于服务器和主机来说,一般只安装TCP/IP协议就够了。鼠标右击“网络邻居”,选择“属性”,再鼠标右击“本地连接”,选择“属性”,卸载不必要的协议。其中NETBIOS是很多安全缺陷的根源,对于不需要提供文件和打印共享的主机,还可以将绑定在TCP/IP协议的NETBIOS关闭,避免针对NETBIOS的攻击。选择“TCP/IP协议/属性/高级”,进入“高级TCP/IP设置”对话框,选择“WINS”标签,勾选“禁用TCP/IP上的NETBIOS”一项,关闭NETBIOS.

2.关闭“文件和打印共享”

文件和打印共享应该是一个非常有用的功能,但在不需要它的时候,也是黑客入侵的很好的安全漏洞。所以在没有必要“文件和打印共享”的情况下,我们可以将它关闭。用鼠标右击“网络邻居”,选择“属性”,然后单击“文件和打印共享”按钮,将弹出的“文件和打印共享”对话框中的两个复选框中的钩去掉即可。

虽然“文件和打印共享”关闭了,但是还不能确保安全,还要修改注册表,禁止它人更改“文件和打印共享”。打开注册表编辑器,选择“HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesNetWork”主键,在该主键下新建DWORD类型的键值,键值名为“NoFileSharingControl”,键值设为“1”表示禁止这项功能,从而达到禁止更改“文件和打印共享”的目的;键值为“0”表示允许这项功能。这样在“网络邻居”的“属性”对话框中“文件和打印共享”就不复存在了。

3.把Guest账号禁用

有很多入侵都是通过这个账号进一步获得管理员密码或者权限的。如果不想把自己的计算机给别人当玩具,那还是禁止的好。打开控制面板,双击“用户和密码”,单击“高级”选项卡,再单击“高级”按钮,弹出本地用户和组窗口。在Guest账号上面点击右键,选择属性,在“常规”页中选中“账户已停用”。另外,将Administrator账号改名可以防止黑客知道自己的管理员账号,这会在很大程度上保证计算机安全。

4.禁止建立空连接

在默认的情况下,任何用户都可以通过空连接连上服务器,枚举账号并猜测密码。因此,我们必须禁止建立空连接。方法有以下两种:

方法一是修改注册表:打开注册表“HKEY_LOCAL_MACHINESystemCurrentControlSetControlLSA”,将DWORD值“RestrictAnonymous”的键值改为“1”即可。

最后建议大家给自己的系统打上补丁,微软那些没完没了的补丁还是很有用的!

四、隐藏IP地址

黑客经常利用一些网络探测技术来查看我们的主机信息,主要目的就是得到网络中主机的IP地址。IP地址在网络安全上是一个很重要的概念,如果攻击者知道了你的IP地址,等于为他的攻击准备好了目标,他可以向这个IP发动各种进攻,如DoS(拒绝服务)攻击、Floop溢出攻击等。隐藏IP地址的主要方法是使用代理服务器。

与直接连接到Internet相比,使用代理服务器能保护上网用户的IP地址,从而保障上网安全。代理服务器的原理是在客户机(用户上网的计算机)和远程服务器(如用户想访问远端WWW服务器)之间架设一个“中转站”,当客户机向远程服务器提出服务要求后,代理服务器首先截取用户的请求,然后代理服务器将服务请求转交远程服务器,从而实现客户机和远程服务器之间的联系。很显然,使用代理服务器后,其它用户只能探测到代理服务器的IP地址而不是用户的IP地址,这就实现了隐藏用户IP地址的目的,保障了用户上网安全。提供免费代理服务器的网站有很多,你也可以自己用代理猎手等工具来查找。

五、关闭不必要的端口

黑客在入侵时常常会扫描你的计算机端口,如果安装了端口监视程序(比如Netwatch),该监视程序则会有警告提示。如果遇到这种入侵,可用工具软件关闭用不到的端口,比如,用“Norton Internet Security”关闭用来提供网页服务的80和443端口,其他一些不常用的端口也可关闭。

六、更换管理员帐户

Administrator帐户拥有最高的系统权限,一旦该帐户被人利用,后果不堪设想。黑客入侵的常用手段之一就是试图获得Administrator帐户的密码,所以我们要重新配置Administrator帐号。

首先是为Administrator帐户设置一个强大复杂的密码,然后我们重命名Administrator帐户,再创建一个没有管理员权限的Administrator帐户欺骗入侵者。这样一来,入侵者就很难搞清哪个帐户真正拥有管理员权限,也就在一定程度上减少了危险性。

七、杜绝Guest帐户的入侵

Guest帐户即所谓的来宾帐户,它可以访问计算机,但受到限制。不幸的是,Guest也为黑客入侵打开了方便之门!网上有很多文章中都介绍过如何利用Guest用户得到管理员权限的方法,所以要杜绝基于Guest帐户的系统入侵。

禁用或彻底删除Guest帐户是最好的办法,但在某些必须使用到Guest帐户的情况下,就需要通过其它途径来做好防御工作了。首先要给Guest设一个强壮的密码,然后详细设置Guest帐户对物理路径的访问权限。举例来说,如果你要防止Guest用户可以访问tool文件夹,可以右击该文件夹,在弹出菜单中选择“安全”标签,从中可看到可以访问此文件夹的所有用户。删除管理员之外的所有用户即可。或者在权限中为相应的用户设定权限,比方说只能“列出文件夹目录”和“读取”等,这样就安全多了。

八、安装必要的安全软件

我们还应在电脑中安装并使用必要的防黑软件,杀毒软件和防火墙都是必备的。在上网时打开它们,这样即便有黑客进攻我们的安全也是有保证的。

九、防范木马程序

木马程序会窃取所植入电脑中的有用信息,因此我们也要防止被黑客植入木马程序,常用的办法有:

● 在下载文件时先放到自己新建的文件夹里,再用杀毒软件来检测,起到提前预防的作用。

● 在“开始”→“程序”→“启动”或“开始”→“程序”→“Startup”选项里看是否有不明的运行项目,如果有,删除即可。

● 将注册表里 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run下的所有以“Run”为前缀的可疑程序全部删除

0条大神的评论

发表评论