黑客攻防从入门到精通(Web脚本编程篇·全新升级版)
上QQ阅读APP看书,第一时间看更新

1.1 黑客是怎么形成的

1.1.1 什么 是黑客

黑客通常是指对计算机科学、编程和设计方面具备高度理解能力的人,但是常常被理解为利用计算机网络技术搞破坏或者窃取信息的人。

黑客一词在圈外或媒体上通常被定义为:专门入侵他人系统进行不法行为的计算机高手。不过,这类人士在hacker眼中是属于层次较低的cracker(骇客)。如果黑客是炸弹制造专家,那么骇客就是恐怖分子。随着时代的发展,网络上出现了越来越多的骇客,他们只会入侵系统,使用扫描器到处乱扫,用IP炸弹炸目标主机,或者破解他人账号密码,替换、窃取他人隐私信息。

1.1.2 黑客的攻击方式

黑客攻击方式可分为非破坏性攻击和破坏性攻击两类。非破坏性攻击一般是为了扰乱系统的运行,并不盗窃系统资料,通常采用拒绝服务攻击或信息炸弹;破坏性攻击是以侵入他人计算机系统、盗窃系统保密信息、破坏目标系统的数据为目的。下面为大家介绍5种黑客常用的攻击手段。

1.口令入侵

所谓口令入侵,就是指用一些软件解开已经得到但被人加密的口令文档,不过许多黑客已大量采用一种可以绕开或屏蔽口令保护的程序来完成这项工作。对于那些可以解开或屏蔽口令保护的程序通常被称为“Crack”。由于这些软件的广为流传,使得入侵计算机网络系统有时变得相当简单,一般不需要很深入了解系统的内部结构,是初级黑客常用的手段。

2.木马入侵

说到特洛伊木马,只要知道这个故事的人就不难理解,它最典型的做法可能就是把一个能帮助黑客完成某一特定动作的程序依附在某一合法用户的正常程序中,这时合法用户的程序代码已被改变。一旦用户触发该程序,那么依附在内的黑客指令代码同时被激活,这些代码往往能完成黑客指定的任务。由于这种入侵法需要黑客有很好的编程经验,且要更改代码需要一定的权限,所以较难掌握。但正因为它的复杂性,一般的系统管理员很难发现。

3.监听法入侵

这是一个很实用但风险也很大的黑客入侵方法,但还是有很多入侵系统的黑客采用此类方法。网络节点或工作站之间的交流是通过信息流的转送得以实现,而当一个没有交换机或集线器的网络中数据的传输并没有指明特定的方向时,每一个网络节点或工作站都是一个接口。这就好比某一节点说:“嗨,你们中有谁是我要发信息的工作站。”此时,所有的系统接口都收到了这个信息,一旦某个工作站说:“嗨!那是我,请把数据传过来。”连接就马上完成。有一种叫sniffer的软件,它可以截获口令,可以截获秘密的信息,攻击相邻的网络。

4.利用E-mail入侵

这也是网络攻击技术的常用手段,利用邮件炸弹阻塞对方电子邮件信箱或瘫痪对方邮件服务器。

5.利用病毒入侵

与木马入侵的方式相类似,病毒入侵的方式是指黑客将病毒植入目标计算机,或是目标计算机所在的网络系统,进行破坏和窃取数据。

1.1.3 怎么像黑客一样攻防

黑客入侵主要是为了获得一台网络主机的超级用户权限,以进行修改服务配置、安装木马程序、执行任意程序等非法操作。当前网络安全形势十分严峻,旧的安全漏洞被补上,新的漏洞也会随之出现。网络攻击正是利用这些安全漏洞和缺陷对系统和资源进行攻击的。下面介绍黑客攻击的基本流程。

1.隐藏自己的行踪

黑客入侵就是神不知鬼不觉地侵入到目标主机,因此,在入侵之前要对自己进行伪装,以防让被攻击者轻易发现。其手段一般都是利用他人计算机来隐藏自己真实的IP,也有一些高手会通过800电话的无人转接服务连接ISP,再套用他人的账号进行伪装。

2.查询分析目标主机

攻击要有目标,在Internet中根据IP地址就能够真正标识一个主机,而域名是为了更好地对IP地址进行记忆管理的另一种显现方式,利用域名和IP地址就能够确定目标主机。确定了目标主机之后,就可以对其操作系统类型及所提供的服务等信息,做一个全方位的分析了解。

一般攻击者会用一些扫描器工具,了解目标主机所使用的操作系统类型及其版本、系统用户、Web服务器程序版本等信息,为入侵做好充分准备。

3.获取用户权限进行入侵

获得目标主机用户权限是入侵的最基本手段,攻击者要先设法盗取目标主机的账户文件进行破解,来得到权限用户的账号和密码,再寻找合适时机以此身份登录主机。

4.留下后门和清除记录

在获取用户权限之后,就可以顺利登录目标主机系统,从而获得控制权。留下后门和清除记录可以方便攻击者以后不被察觉地再次入侵该目标主机。

所谓后门只是一些木马程序或预先编译好的远程操纵程序,将这些程序修改时间和权限传输到目标主机隐秘的地方藏起来就可以了。一般攻击者喜欢使用rep传输文件,以免被攻击者发现。攻击者还要使用清除日志、删除复制文件等方法清除自己的痕迹,隐藏好自己的踪迹。

5.窃取网络资源

成功入侵了目标主机,该主机的所有资料都将呈现在黑客面前,此时即可下载有用资料(如一些重要的账号密码),甚至将该主机及其所在的网络造成瘫痪。

1.1.4 怎么对付简单的黑客攻击

对于有黑客防范意识的用户来说,需要必要的手段来防范黑客攻击。下面针对黑客常用的攻击手段介绍几种常用的防范措施。

1.协议欺骗攻击的防范措施

黑客攻击手段中有一种是利用协议欺骗来窃取信息的。要防止源IP地址欺骗的攻击方式,可采用如下几种方法。

① 加密法。对发送到网络之前的数据包进行加密,在加密过程中要求适当改变网络配置,但能够保证发送数据的完整性、真实性和保密性。

② 过滤法。配置路由器,使其拒绝网络外部与本网段内具有相同IP地址的连接请求。而且当数据包的IP地址不在本网段内,路由器就不会将本网段主机的数据包发送出去。但路由器过滤也只能对来自内部网络的外来数据包起到作用,对于网络内存在的外部可信任主机就没有办法了。

2.拒绝服务攻击的防范措施

在拒绝服务攻击中,SYN Flood攻击是典型的攻击方式。为了防止拒绝服务攻击,可以采取配置防火墙,限制网络连接请求。

其实最好的方法就是找出正在进行攻击的源头和攻击者,但并不是那么容易。因为对方一旦停止了攻击行为,就很难再发现其踪迹了。唯一可行的方法就是在其进行攻击时,根据路由器的信息和攻击数据包特征采用回溯法来查找攻击源头。

3.网络嗅探的防范措施

通过网络嗅探的方法检测自己系统的攻击者,可以采用如下措施进行防范。

① 网络分段。一组共享底层和线路机器(如交换机、动态集线器和网桥等设备)可以组成一个网络段。在一个网络段中可以对数据流进行限制,从而达到防止嗅探工具的目的。

② 加密。可以对数据流中的部分数据信息进行加密,也可以对应用层进行加密,不过应用层的加密将使大部分网络和操作系统相关的信息失去保护。因此,需要根据信息的安全级别及网络安全程序选择使用何种加密方式。

③ 一次性密码技术。这里所使用的密码将不会在网络中传输,而是直接在传输两端进行字符串的匹配。因此,客户端可利用从服务器上得到的Challenge和自身密码计算出一个字符串并将其返回给服务器,服务器利用比较算法对其进行匹配。如果匹配将允许建立连接,则所有的Challenge和字符串都只能使用一次。

④ 禁止杂错节点。要防止IBM兼容机进行嗅探,可以安装不支持杂错的网卡。

4.缓冲区溢出攻击的防范措施

缓冲区溢出是黑客攻击使用最简单的手段,主要是通过向程序的缓冲区写入冗长的内容突破缓冲区溢出限制,从而破坏程序的运行内存堆栈,使程序转而执行其他指令,出现宕机、死机的现象。

对缓冲区溢出攻击的防范,我们采取了以下措施。

① 保障程序运行在非执行的缓冲区。一般现在的系统已经能够在单独的缓冲区里面运行程序,但是有一些程序员在编程时会忽视这个问题。

② 堆栈保护。这是提供程序指针完成性检测的一种编译器技术,在程序指针堆栈中函数返回的地址后面追加一些特殊的字节,在函数返回时先检测这些附加的字节是否被改动。因此,这种攻击很容易在函数返回前被检测到。但如果攻击者能预见到这些附加字节,并能在溢出过程中制造出,就可以跳过堆栈的保护测试了。

③ 数组边界检查。通过检测数组的操作是否在正确范围内进行,来检测是否被缓冲区溢出攻击。目前主要使用的集中检查方法有:Compaq编译器检查、Jones&Kelly C数组边界检查、Purify存储器存取检查等。