黑客攻防论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
网络黑客攻击与防范
摘要:
在今天的信息时代,计算机网络的应用已经涉及到了社会的方方面面,人们的生活与网络密不可分,网络安全问题日趋严重,黑客攻防技术成为当今网络技术关注和发展的焦点,随着网络的发展,网络安全问题已经成为一个被人们强烈关注的热点。而其中黑客攻击所造成的安全问题是很重要的一个方面。认真研究当今黑客入侵的手段及其相应的防范对策,对计算机网络用户提供安全是很有必要的,要对黑客常用的攻击手段进行较为全面地剖析,并了解防范黑客的一些可行性措施。本文将介绍网络安全面临的主要威胁,重点分析黑客攻击的一般步骤,使用的手段,以及解决应对的最新方法手段。
关键词:网络安全威胁黑客攻击步骤对策
谈到网络安全问题,就没法不谈黑客(Hacker)。黑客是指对计算机某一领域有着深入的理解,并且十分热衷于潜入他人计算机、窃取非公开信息的人。每一个对互联网络的知识十分了解的人,都有可能成为黑客。黑客是:“喜欢探索软件程序奥秘,并从中增长其个人才干的人。”显然,“黑客”一语原来并没有丝毫的贬义成分,直到后来,少数怀有不良的企图,利用非法手段获得的系统讯问权去闯入运程机器系统、破坏重要数据,或为了自己的私利而制造麻烦的具有恶意行为的人慢慢玷污了“黑客”的名声,“黑客”才逐渐演变成入侵者、破坏者的代名词。
一:黑客常见攻击步骤:
黑客常用的攻击步骤可以说变幻莫测,但纵观其整个攻击过程,还是有一定规律可循的,一般可以分:攻击前奏、实施攻击、巩固控制、继续深入几个过程。见下图1示:
1.攻击前奏
黑客在发动攻击目标'了解目标的网络结构,收集各种目标系统的信息等.
锁定目标:网络上上有许多主机,黑客首先要寻找他找的站点的.当然能真正标识主机的是ip地址,黑客会利用域名和lp地址就可以顺利地找到目标主机.
2.了解目标的网络结构:
确定要攻击的目标后,黑客就会设法了解其所在的网络结构,网关'路由,防火墙,ids在哪里,哪些主机与要攻击的目标主机关系密切等,最简单地就是用tracert命令追踪路由,也可以发一些数据包看其是否能通过来猜测其防火墙过滤则的设定等
3.收集系统信息:
在收集到目标的第一批网络信息之后,黑客会对网络上的每台主机进行全面的系统分析,以寻求该主机的安全漏洞或安全弱点.收集系统信息的方法有:开放端口分析利用信息服务'利用安全扫描器,社会工程.开放端口分析.首先黑客要知道目标主机采用的是什么操作系统什么版本,如果目标开放telnet服务,那只要telnet (目标主机),就会显示"digitalunlx(xx.xx.xx.)(ttypl)login:"这样的系统信息.接着黑客还会检查其开放端口进行服务分析,看是否有能被利用的服务.
4.实施攻击
当黑客探测到了足够的系统信息,对系统的安全弱点有了了解后就会发动攻击,当然他
们会根据不同的网络结构、不同的系统情况而采用的不同的攻击手段.一般,黑客攻击的终极目的是能够控制目标系统,窃取其中的机密文件等,但并不是每次黑客攻击都能够得逞控制目标主机的目的的,所以有时黑客也会发动拒绝服务攻击之类的干扰攻击,使系统不能正常工作.
5.巩固控制
黑客利用种种手段进入目标主机系统并获得控制权之后,不是像大家想象的那样会马上进行破坏活动,删除数据、涂改网页等,那是毛头小伙子们干的事情.一般入侵成功后,黑客为了能长时间表的保留和巩固他对系统的控制权,不被管理员发现,他会做两件事:清除记录和留下后门.日志往往会记录上一些黑攻击的蛛丝马迹,黑客当然不会留下这些"犯罪证据",他会把它删了或用假日志覆盖它,为了日后面以不被觉察地再次进入系统,黑客会更改某些系统设置、在系统中置入、特洛伊木马或其他一些远程操纵程序.
6.继续深入
清除日志、删除拷贝的文件等腰三角形手段来隐藏自己的踪迹之后,攻击者就开始下一步的行动;窃取主机上的各种敏感信息:软件资料、客户名单、财务报表,信用卡号等等,也可能是什么都不动,只是把你的系统作为他存放黑客程序或资料的仓库,也可能黑客会利用这台已经攻陷的主机去继续他下一步的攻击,
二:常见的几种攻击分类
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上所享有的特权,并开始对这些服务实施攻击。
如何防御
(1)抛弃基于地址的信任策略阻止这类攻击的一种十分容易的办法就是放弃以地址为基础的验证。不允许r类远程调用命令的使用;删除.rhosts 文件;清空/etc/hosts.equiv 文件。这将迫使所有用户使用其它远程通信手段,如telnet、ssh、skey等等。
(2)使用加密方法在包发送到网络上之前,我们可以对它进行加密。虽然加密过程要求适当改变目前的网络环境,但它将保证数据的完整性、真实性和保密性。
(3)进行包过滤可以配置路由器使其能够拒绝网络外部与本网内具有相同IP地址的连接请求。而且,当包的IP地址不在本网内时,路由器不应该把本网主机的包发送出去。有一点要注意,路由器虽然可以封锁试图到达内部网络的特定类型的包。但它们也是通过分析测试源地址来实现操作的。因此,它们仅能对声称是来自于内部网络的外来包进行过滤,若你的网络存在外部可信任主机,那么路由器将无法防止别人冒充这些主机进行IP欺骗。
2.缓冲区溢出攻击及其防范措施
缓冲区溢出攻击是属于系统攻击的手段,通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其它指令,以达到攻击的目的。当然,随便往缓冲区中填东西并不能达到攻击的目的。最常见的手段是通过制造缓冲区溢出使程序运行一个用户shell,再通过shell执行其它命令。如果该程序具有root权限的话,攻击者就可以对系统进行任意操作了。
如何防御
(1)程序指针完整性检查在程序指针被引用之前检测它是否改变。即便一个攻击者成功地改变了程序的指针,由于系统事先检测到了指针的改变,因此这个指针将不会被使用。(2)堆栈的保护这是一种提供程序指针完整性检查的编译器技术,通过检查函数活动记录中的返回地址来实现。在堆栈中函数返回地址后面加了一些附加的字节,而在函数返回时,首先检查这个附加的字节是否被改动过。如果发生过缓冲区溢出的攻击,那么这种攻击很容易在函数返回前被检测到。但是,如果攻击者预见到这些附加字节的存在,并且能在溢出过程中同样地制造他们,那么他就能成功地跳过堆栈保护的检测。
(3)数组边界检查所有的对数组的读写操作都应当被检查以确保对数组的操作在正确的范围内进行。最直接的方法是检查所有的数组操作,通常可以采用一些优化技术来减少检查次数。目前主要有这几种检查方法:Compaq C编译器、Jones & Kelly C数组边界检查、Purify存储器存取检查等。