c黑客编程揭秘与防范(彻底研究黑客编程技术揭秘与攻防实战)

hacker|
110

关于黑客的攻防

黑客惯用手法揭秘

电脑网络就像一个潘多拉魔盒,光怪陆离、无所不有。但它在给人们的生活增添无穷乐趣的同时,也充斥着太多的骗局和陷阱,不时地令冲浪者防不胜防,这个无法回避的事实告诫人们在网上要时刻保持足够的警惕,那么,如何做呢?

网络上的诈骗大都来自于“黑客”。其实,“黑客”也并不是什么不食人间烟火的怪物,而是像你我一样活生生的普通人,许多被发现的“黑客”只不过是十几岁的中小学生。如果你掌握一些必要的网络知识,那么只要你愿意,完全也可以“黑”人家一把。当然,我并不是鼓励你这么去做,而是想说明:“黑客”并不神秘,所以,只要有心,我们完全能对付!

最“笨”的“黑客”采取的手段看起来很拙劣,他们的策略完全是“姜太公式的”,这类“黑客”往往在自己的主页上制造种种借口,或以大奖作诱饵,要求访问者留下自己的Internet用户名、账号、密码、信用卡密码等个人敏感信息,碰到这种情况,你千万千万要记住:不要一时冲动,将自己的资料和盘托出!不管对方吹得如何天花乱坠,只要做到心明眼亮,对方就只能徒呼奈何。

当然,“黑客”不都是如此“弱智”的,他们总是会绞尽脑汁地不断变换“作案”手法,千方百计地要攻破别人的城池。典型的做法是:“黑客”通过电子邮件,或在你下载软件的时候,神不知鬼不觉地将一些“神秘”的小程序悄悄地移植到你的机器上,这些小程序会潜伏下来,自动地修改操作系统的核心、开辟数据通道,留下一个危险的后门,当你的机器再一次联上网络时,它们就像“特洛伊木马”一样,将你的账号口令等信息传送给坐享其成的“黑客”。

因为这种“间谍”程序像正常软件一样,也在不断“升级”,所以要防范它们难免有挂一漏万的情况。但原则的做法是不变的,那就是:对电子邮件中的附件或邮件列表保持警觉,不要一收到信箱中就马上打开,只有待杀毒软件对它们验明正身后才可以放行;下载软件时尽量不要光顾那些不知底细的个人网站,而应去专业的下载站点,主要是为了安全,而且速度也有保证。另外,经常性地变换自己的账号口令也是必要的和明智的做法。

以上涉及的都是个人如何防备“黑客”的问题,与个人比较起来,企业网络的安全无疑要重要得多,无论是学校的机房,还是银行、商业机构甚至ISP,它们组建的网络一旦被侵犯,后果往往是不堪设想的。所以对于他们来说,“扎紧篱笆”、堵住“后门”就格外显得紧迫,而“专业”的“黑客”也往往以这类目标作为攻击对象。下面从黑客常用的攻击手段中撷取几种,让大家见识一下。

1�真假李逵

在登录一些站点特别是那些提供个人服务(比如股票、银行)的站点时,站点往往会首先要访问者填写一些密码之类的个人信息后才能进入。一些“高明”的“黑客”正是利用了这个过程,精心伪造一个登录页面,抢在真正的登录页面之前出现,待你“认真”地写下登录信息并发送后,真正的登录页面才姗姗来迟,而这时你的秘密已被窃取了。今年9月份台湾发生的一宗网络银行诈骗案,狡猾的犯罪分子用的就是这种伎俩。对付此种“黑客”,最佳的解决之道就是防患于未然,经常查看服务器的运作日志,若发现疑点要坚决及早处理,将隐患消灭在萌芽状态之中。

2�声东击西

一些“黑客”利用某些防火墙的漏洞,巧妙地将自己的IP请求设置成指向防火墙的路径,而不是受防火墙保护的主机,所以他们可以畅通无阻地接近防火墙,这时“黑客”已经达到了目的。因为此时他们完全可以虚晃一枪,利用防火墙作跳板,轻松地长驱直入,直捣主机!如果有这种情况发生,那就得考虑是否要更换防火墙了,或者升级原来的防火墙,为它打上补丁。

3�一针见血

能够“修炼”到这种境界的一般都是“黑客”中的高手。他们凭借自己高超的技术,通过分析DNS(域名管理系统)而直接获取Web服务器等主机的IP地址,从而为打入“敌阵”彻底扫除障碍。对付这种“黑客”,几乎没有更好的办法,也许尽量不要接受免费域名服务是一个有点儿价值的措施,因为正规的注册域名服务一般都会有有效的安全手段,可以保证少受攻击或不受攻击。

4�旁敲侧击

电子邮件其实是一种很脆弱的通讯手段,一方面,它的安全性很差,传送的资料很有可能丢失或被中途拦截;另一方面,“特洛伊木马”等“黑客程序”大都通过电子邮件这个途径进驻用户的机器。而电子邮件恰恰是网络上用得最多的东西,许多公众网站和大公司局域网,出于吸引访问者或工作的需要,提供免费邮件或内部邮件的服务,而邮件服务器就成了“黑客”们攻击的对象。大名鼎鼎的微软甚至也深受“黑客”之害,而被迫将邮件服务器关闭了一天。当然,防范这些“黑客”,可采用以下措施:如邮件服务器专设专用,不与内部局域网发生关系;开启防火墙的邮件中转功能,让中转站过滤所有出入邮件等等。

以上所述的只不过是有关网络安全的一小部分,还有许多现象没有谈及。其实,谈得再多也不能使我们完全看清网络上的所有“猫腻”,因为网络的开放性决定了它的复杂性和多样性。随着技术的不断进步,各种各样高明的“黑客”会不断诞生,同时,他们使用的手段也会越来越先进,要斩断他们的黑手是不可能的。我们唯有不断加强防火墙等的研究力度,加上平时必要的警惕,相信“黑客”们的舞台将会越来越小。

攻击的各种级别

本章阐述各种级别的攻击。“攻击”是指任何的非授权行为。这种行为的目的在于干扰、破坏、摧毁你服务器的安全。攻击的范围从简单地使某服务无效到完全破坏你的服务器。在你网络上成功实施的攻击的级别依赖于你采用的安全措施。

⒈攻击会发生在何时?

大部分的攻击(或至少是商业攻击时间一般是服务器所在地的深夜。换句话说,如果你在洛杉矶而入侵者在伦敦,那么攻击可能会发生在洛杉矶的深夜到早晨之间的几个小时中。你也许认为入侵者会在白天(目标所在地的时间)发起攻击,因为大量的数据传输能掩饰他们的行为。有以下几个原因说明为什么入侵者避免大白天进行攻击:

■客观原因。在白天,大多数入侵者要工作,上学或在其他环境中花费时间,以至没空进行攻击。换句话就,这些人不能在整天坐在计算机前面。这和以前有所不同,以前的入侵者是一些坐中家中无所事事的人。

■速度原因。网络正变得越来越拥挤,因此最佳的工作时间是在网络能提供高传输速度的时间速率的时间。最佳的时间段会根据目标机所在地的不同而不同。

■保密原因。假设在某时某入侵者发现了一个漏洞,就假定这个时间是早上11点,并且此时有三个系统管理员正登录在网上。此时,此入侵者能有何举动?恐怕很少,因为系统管理员一旦发现有异常行为。他们便会跟踪而来。

入侵者总是喜欢攻击那些没有使用的机器。有一次我利用在日本的一台工作台从事攻击行为,因为看上去没有人在此机器上登录过。随后,我便用那台机器远程登录回美国。在罗马我发现了一个新的ISP也出现类似的情况。对于这类计算机,你可以暂控制它,可按你的特殊要求对它进行设置,而且你有充足的时间来改变日志。值得注意的是,绝大部分的这种攻击行为都发生在晚上(被攻击对象的当地时间)。

提示:如果你一直在进行着大量的日志工作,并且只有有限的时间和资源来对这些日志进行分析,我建议你将主要精力集中在记录昨夜的连接请求的日志。这部分日志毫无疑问会提供令人感兴趣的、异常的信息。

⒉入侵者使用何种操作系统?

入侵者使用的操作系统各不相同。UNIX是使用得最多的平台,其中包括FreeBSD和Linux。

⑴Sun

入侵者将SolarisX86 或SCO作为使用平台的现象相当常见。因为即使这些产品是需要许可证,它们也易获得。一般而言,使用这些平台的入侵者都是学生,因为他们可利用软件产品卖给教育部门和学生时可打很大的折扣这一优势。再者,由于这些操作系统运行在PC机上,所以这些操作系统是更经济的选择。

⑵UNIX

UNIX平台受欢迎的原因之一是它只耗费系统一小部分资源。

⑶Microsoft

Microsoft平台支持许多合法的安全工具,而这些工具可被用于攻击远程主机。因此,越来越多的入侵者正在使用Windows NT。Windows Nt的性能远远超过Windows 95并有许多用于网络的先进工具;而且NT正变得越来越流行,因为入侵者知道他们必须精通此平台。由于NT成为更流行的Internet服务器的操作平台,入侵者有必要知道如何入侵这些机器。而且安全人员将会开发工具来测试NT的内部安全性。这样,你将看到利用NT作为入侵平台的人会极剧增加。

⒊攻击的源头

数年前,许多攻击来源于大学,因为从那里能对Internet进行访问。大多数入侵者是年青人,没有其他的地方比在大学更容易上Internet了。自然地,这不仅影响了攻击的起源地而且影响着攻击发生的时间。同时,使用TCP/IP不像今天这样简单。

如今形势发生了巨大的变化,入侵者可在他们的家里、办公室或车中入侵你的网络。然而,这里也有一些规律。

⒋典型入侵者的特点

典型的入侵者至少具备下述几个特点:

■能用C、C++或Perl进行编码。因为许多基本的安全工具是用这些语言的某一种编写的。至少入侵者能正确地解释、编译和执行这些程序。更厉害的入侵者能把不专门为某特定某平台开发的工具移植到他用的平台上。同时他们还可能开发出可扩展的工具来,如SATAN 和SAFESuite(这些工具允许用户开发的工具附加它们上)。

■对TCP/IP有透彻的了解,这是任何一个有能力的入侵者所必备的素质。至少一个入侵者必须知道Internet如何运转的。

■每月至少花50小时上Internet。经验不可替代的,入侵者必须要有丰富的经验。一些入侵者是Internet的痴迷者,常忍受着失眠的痛苦。

■有一份和计算机相关的工作。并不是每个入侵者都是把一天中的大部分时间投入到入侵行为中。其中一些从事着系统管理或系统开发的工作。

■收集老的、过时的但经典的计算机硬件或软件。

⒌典型目标的特征

很难说什么才是典型目标,因为不同入侵者会因不同的原因而攻击不同类型的网络。然而一种常见的攻击是小型的私有网。因为:

■网络的拥有者们对Internet的使用还处于入门阶段

■其系统管理员更熟悉局域网,而不是TCP/IP

■其设备和软件都很陈旧(可能是过时的)

另一话题是熟悉性。绝大多数入侵者从使用的角度而言能熟知两个或多个操作系统,但从入侵的角度来看,他们通常仅了解某一个操作系统。很少的入侵者知道如何入侵多种平台。

大学是主要的攻击对象,部分原因是因为他们拥有极强的运算处理能力。

另个原因是网络用户过多。甚至在一个相对小的网段上就有几百个用户。管理这种大型网络是一件困难的任务,极有可能从如此的帐号中获得一个入侵帐号。其他常被攻击的对象是政府网站。

⒍入侵者入侵的原因

■怨恨

■挑战

■愚蠢

■好奇

■政治目的

所有的这些原因都是不道德的行为,此行为过头后便触犯了法律。触犯法律可带来一些令人激动的感受,这种感受又能消极地影响你的原因。

⒎攻击

攻击的法律定义是指:攻击仅仅发生在入侵行为完全完成且入侵者已在目标网络内。但我的观点是可能使一个网络受到破坏的所有行为都应称为“攻击”。即从一个入侵者开始在目标机上工作的那个时间起,攻击就开始。

可通过下面的文章了解入侵的事例:

http//

⒏入侵层次索引

■邮件炸弹攻击

■简单拒绝服务

■本地用户获得非授权读访问

■本地用户获得他们本不应拥有的文件的写权限

■远程用户获得了非授权的帐号

■远程用户获得了特权文件的读权限

■远程用户获得了特权文件的写权限

■远程用户拥有了根权限(他们已经攻克了你的系统)

本文通过七步设置介绍了针对Windows 2000和Windows XP操作系统如何防范非法用户入侵的“七招”。

第一招:屏幕保护

在Windows中启用了屏幕保护之后,只要我们离开计算机(或者不操作计算机)的时间达到预设的时间,系统就会自动启动屏幕保护程序,而当用户移动鼠标或敲击键盘想返回正常工作状态时,系统就会打开一个密码确认框,只有输入正确的密码之后才能返回系统,不知道密码的用户将无法进入工作状态,从而保护了数据的安全。

提示:部分设计不完善的屏幕保护程序没有屏蔽系统的“Ctrl+Alt+Del”的组合键,因此需要设置完成之后测试一下程序是否存在这个重大Bug。

不过,屏幕保护最快只能在用户离开1分钟之后自动启动,难道我们必须坐在计算机旁等待N分钟看到屏幕保护激活之后才能再离开吗?其实我们只要打开Windows安装目录里面的system子目录,然后找到相应的屏幕保护程序(扩展名是SCR),按住鼠标右键将它们拖曳到桌面上,选择弹出菜单中的“在当前位置创建快捷方式”命令,在桌面上为这些屏幕保护程序建立一个快捷方式。

此后,我们在离开计算机时双击这个快捷方式即可快速启动屏幕保护。

第二招:巧妙隐藏硬盘

在“按Web页”查看方式下,进入Windows目录时都会弹出一句警告信息,告诉你这是系统文件夹如果“修改该文件夹的内容可能导致程序运行不正常,要查看该文件夹的内容,请单击显示文件”,这时单击“显示文件”就可以进入该目录了。

原因是在Windows根目录下有desktop.ini和folder.htt两个文件作祟。将这两个文件拷贝到某个驱动器的根目录下(由于这两个文件是隐藏文件,之前必须在文件夹选项中单击“查看”标签,选择“显示所有文件”,这样就可以看见这两个文件了)。再按“F5”键刷新一下,看看发生了什么,是不是和进入Windows目录时一样。

接下来我们用“记事本”打开folder.htt,这是用HTML语言编写的一个文件,发挥你的想像力尽情地修改吧。

如果你不懂HTML语言也没关系,先找到“显示文件”将其删除,找到“修改该文件夹的内可能导致程序运行不正常,要查看该文件夹的内容,请单击显示文件”,将其改为自己喜欢的文字,例如“安全重地,闲杂人等请速离开”。

将“要查看该文件夹的内容,请单击”改为“否则,后果自负!”,接着向下拖动滑块到倒数第9行,找到“(\wvlogo.gif)”这是显示警告信息时窗口右下角齿轮图片的路径,将其改为自己图片的路径,例如用“d:\tupian\tupian1.jpg”替换“//”后面的内容,记住这里必须将图片的后缀名打出,否则将显示不出图片。当然,你还可以用像Dreamweaver、FrontPage这样的网页工具做出更好的效果,然后只要将原文件拷贝到下面这段文字的后面,覆盖掉原文件中“~”之间的内容就可以了。

*This file was automatically generated by Microsoft Internet EXPlorer 5.0

*using the file %THISDIRPATH%\folder.htt.

保存并退出,按“F5”键刷新一下,是不是很有个性?接下来要作的就是用“超级兔子”将你所要的驱动器隐藏起来,不用重新启动就可以欣赏自己的作品了。最后告诉大家一招更绝的,就是干脆将folder.htt原文件中“~”之间的内容全部删除,这样就会给打开你的驱动器的人造成一种这是一个空驱动器的假象,使其中的文件更安全。

第三招:禁用“开始”菜单命令

在Windows 2000/XP中都集成了组策略的功能,通过组策略可以设置各种软件、计算机和用户策略在某种方面增强系统的安全性。运行“开始→运行”命令,在“运行”对话框的“打开”栏中输入“gpedit.msc”,然后单击“确定”按钮即可启动Windows XP组策略编辑器。

在“本地计算机策略”中,逐级展开“用户配置→管理模板→任务栏和开始菜单”分支,在右侧窗口中提供了“任务栏”和“开始菜单”的有关策略。

在禁用“开始”菜单命令的时候,在右侧窗口中,提供了删除“开始”菜单中的公用程序组、“我的文档”图标、“文档”菜单、“网上邻居”图标等策略。清理“开始”菜单的时候只要将不需要的菜单项所对应的策略启用即可,比如以删除“我的文档”图标为例,具体操作步骤为:

1)在策略列表窗口中用鼠标双击“从开始菜单中删除我的文档图标”选项。

2)在弹出窗口的“设置”标签中,选择“已启用”单选按钮,然后单击“确定”即可。

第四招:桌面相关选项的禁用

Windows XP的桌面就像你的办公桌一样,有时需要进行整理和清洁。有了组策略编辑器之后,这项工作将变得易如反掌,只要在“本地计算机策略”中展开“用户配置→管理模板→桌面”分支,即可在右侧窗口中显示相应的策略选项。

1)隐藏桌面的系统图标

倘若隐藏桌面上的系统图标,传统的方法是通过采用修改注册表的方式来实现,这势必造成一定的风险性,采用组策略编辑器,即可方便快捷地达到此目的。若要隐藏桌面上的“网上邻居”和“Internet EXPlorer”图标,只要在右侧窗口中将“隐藏桌面上网上邻居图标”和“隐藏桌面上的Internet EXPlorer图标”两个策略选项启用即可。如果隐藏桌面上的所有图标,只要将“隐藏和禁用桌面上的所有项目”启用即可。

当启用了“删除桌面上的我的文档图标”和“删除桌面上的我的电脑图标”两个选项以后,“我的电脑”和“我的文档”图标将从你的电脑桌面上消失了。如果在桌面上你不再喜欢“回收站”这个图标,那么也可以把它给删除,具体方法是将“从桌面删除回收站”策略项启用。

2)禁止对桌面的某些更改

如果你不希望别人随意改变计算机桌面的设置,请在右侧窗口中将“退出时不保存设置”这个策略选项启用。当你启用这个了设置以后,其他用户可以对桌面做某些更改,但有些更改,诸如图标和打开窗口的位置、任务栏的位置及大小在用户注销后都无法保存。

第五招:禁止访问“控制面板”

如果你不希望其他用户访问计算机的控制面板,你只要运行组策略编辑器,并在左侧窗口中展开“本地计算机策略→用户配置→管理模板→控制面板”分支,然后将右侧窗口的“禁止访问控制面板”策略启用即可。

此项设置可以防止控制面板程序文件的启动,其结果是他人将无法启动控制面板或运行任何控制面板项目。另外,这个设置将从“开始”菜单中删除控制面板,同时这个设置还从Windows资源管理器中删除控制面板文件夹。

提示:如果你想从上下文菜单的属性项目中选择一个“控制面板”项目,会出现一个消息,说明该设置防止这个操作。

第六招:设置用户权限

当多人共用一台计算机时,在Windows XP中设置用户权限,可以按照以下步骤进行:

1)运行组策略编辑器程序。

2)在编辑器窗口的左侧窗口中逐级展开“计算机配置→Windows设置→安全设置→本地策略→用户权限指派”分支。3)双击需要改变的用户权限,单击“添加用户或组”按钮,然后双击想指派给权限的用户账号,最后单击“确定”按钮退出。

第七招:文件夹设置审核

Windows XP可以使用审核跟踪用于访问文件或其他对象的用户账户、登录尝试、系统关闭或重新启动以及类似的事件,而审核文件和NTFS分区下的文件夹可以保证文件和文件夹的安全。为文件和文件夹设置审核的步骤如下:

1)在组策略窗口中,逐级展开右侧窗口中的“计算机配置→Windows设置→安全设置→本地策略”分支,然后在该分支下选择“审核策略”选项。

2)在右侧窗口中用鼠标双击“审核对象访问”选项,在弹出的“本地安全策略设置”窗口中将“本地策略设置”框内的“成功”和“失败”复选框都打上勾选标记,然后单击“确定”按钮。

3)用鼠标右键单击想要审核的文件或文件夹,选择弹出菜单的“属性”命令,接着在弹出的窗口中选择“安全”标签。

4)单击“高级”按钮,然后选择“审核”标签。

5)根据具体情况选择你的操作:

倘若对一个新组或用户设置审核,可以单击“添加”按钮,并且在“名称”框中键入新用户名,然后单击“确定”按钮打开“审核项目”对话框。

要查看或更改原有的组或用户审核,可以选择用户名,然后单击“查看/编辑”按钮。

要删除原有的组或用户审核,可以选择用户名,然后单击“删除”按钮即可。

6)如有必要的话,在“审核项目”对话框中的“应用到”列表中选取你希望审核的地方。

7)如果想禁止目录树中的文件和子文件夹继承这些审核项目,选择“仅对此容器内的对象和/或容器应用这些审核项”复选框。

注意:必须是管理员组成员或在组策略中被授权有“管理审核和安全日志”权限的用户可以审核文件或文件夹。在Windows XP审核文件、文件夹之前,你必须启用组策略中“审核策略”的“审核对象访问”。否则,当你设置完文件、文件夹审核时会返回一个错误消息,并且文件、文件夹都没有被审核。

学习C++多线程和C++网络编程需要看哪些书

C专家编程

作者:PETER VAN DER LINDEN

出版:人民邮电 出版日期:2010年05月

《C专家编程》展示了最优秀的C程序员所使用的编码技巧,并专门开辟了一章对C++的基础知识进行了介绍。书中C的历史、语言特性、声明、数组、指针、链接、运行时、内存以及如何进一步学习C++等问题进行了细致的讲解和深入的分析。全书撷取几十个实例进行讲解,对C程序员具有非常高的实用价值。本书可以帮助有一定经验的C程序员成为C编程方面的专家,对于具备相当的C语言基础的程序员,本书可以帮助他们站在C的高度了解和学习C++。

Visual C++黑客编程揭秘与防范

作者:梁洋洋 编著

出版:人民邮电出版社 出版日期:2009年07月

本书全面介绍了在VisualC++环境中,使用WindowsSocket及API 开发各类防范黑客软件及安全防护工具的编程实现方法,深入剖析了目前热门的黑客编程技术。本书通过基础篇、提高篇、综合篇和拓展篇这种循序渐进地方式,向读者介绍了防范黑客攻击程序、安全防护工具、远程控制软件和网络安全管理软件的原理及具体编程实现方法。 本书内容丰富,实用性和实战性强,不仅包括读者必备的防范黑客的编程知识,更深入阐述了网络编程方面的高级技术。不仅适用于黑客程序开发,在读者掌握了本书介绍的各种编程技术后,还

C#网络编程技术教程

作者:金华,华进 编著

出版:人民邮电 出版日期:2009年01月

本书是一本系统介绍C# 网络编程技术的教材,全书共11章,由两部分组成。第1部分(第1~5章)为基础知识,内容包括VisualC#.NET集成开发环境、C#语言的基础知识、面向对象的程序设计、C#的Windows编程方法、C#的常用数据类、网络编程的基本概念、网络套接字编程以及多线程编程的方法概述等。第2部分 (第6~11章)介绍网络编程的几个常用领域,内容包括TCP/UDP编程、FTP 编程、电子邮件协议编程、HTTP编程、WebService编程以及密码术网络编程等。

从新华书店文轩网上搜索的,供参考

求答案!!急急急!什么是黑客?黑客攻击一般采用的过程是什么?试论述如何预防和保护免受黑客的攻击与破坏

黑客一词,源于英文Hacker,原指热心于计算机技术,水平高超的电脑专家,尤其是程序设计人员。美国大片《黑(骇)客帝国》的热映,使得黑客文化得到了广泛的传播,也许很多人会觉得黑客一词是用来形容那些专门利用电脑搞破坏或恶作剧的家伙,而对这些人的正确英文叫法是Cracker,有人翻译成“骇客”。不管是叫黑客还是骇客,他们根本的区别是:黑客们建设、维护,而骇客们入侵、破坏。

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

网络互连一般采用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地址不在本网内时,路由器不应该把本网主机的包发送出去。有一点要注意,路由器虽然可以封锁试图到达内部网络的特定类型的包。但它们也是通过分析测试源地址来实现操作的。因此,它们仅能对声称是来自于内部网络的外来包进行过滤,若你的网络存在外部可信任主机,那么路由器将无法防止别人冒充这些主机进行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存储器存取检查等。

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

(4)利用公开的工具软件 像审计网络用的安全分析工具SATAN、Internet的电子安全扫描程序IIS等一些工具对整个网络或子网进行扫描,寻找安全方面的漏洞。

3、建立模拟环境,进行模拟攻击

根据前面两小点所得的信息,建立一个类似攻击对象的模拟环境,然后对此模拟目标进行一系列的攻击。在此期间,通过检查被攻击方的日志,观察检测工具对攻击的反应,可以进一步了解在攻击过程中留下的“痕迹”及被攻击方的状态,以此来制定一个较为周密的攻击策略。

4、具体实施网络攻击

入侵者根据前几步所获得的信息,同时结合自身的水平及经验总结出相应的攻击方法,在进行模拟攻击的实践后,将等待时机,以备实施真正的网络攻击。

·关于黑客

黑客(hacker),源于英语动词hack,意为“劈,砍”,引申为“干了一件非常漂亮的工作”。在早期麻省理工学院的校园俚语中,“黑客”则有“恶作剧”之意,尤指手法巧妙、技术高明的恶作剧。在日本《新黑客词典》中,对黑客的定义是“喜欢探索软件程序奥秘,并从中增长了其个瞬鸥傻娜恕?/P

他们不象绝大多数电脑使用者那样,只规规矩矩地了解别人指定了解的狭小部分知识。”由这些定义中,我们还看不出太贬义的意味。他们通常具有硬件和软件的高级知识,并有能力通过创新的方法剖析系统。“黑客”能使更多的网络趋于完善和安全,他们以保护网络为目的,而以不正当侵入为手段找出网络漏洞。

另一种入侵者是那些利用网络漏洞破坏网络的人。他们往往做一些重复的工作(如用暴力法破解口令),他们也具备广泛的电脑知识,但与黑客不同的是他们以破坏为目的。这些群体成为“骇客”。当然还有一种人兼于黑客与入侵者之间。

一般认为,黑客起源于50年代麻省理工学院的实验室中,他们精力充沛,热衷于解决难题。60、70年代,“黑客”一词极富褒义,用于指代那些独立思考、奉公守法的计算机迷,他们智力超群,对电脑全身心投入,从事黑客活动意味着对计算机的最大潜力进行智力上的自由探索,为电脑技术的发展做出了巨大贡献。正是这些黑客,倡导了一场个人计算机革命,倡导了现行的计算机开放式体系结构,打破了以往计算机技术只掌握在少数人手里的局面,开了个人计算机的先河,提出了“计算机为人民所用”的观点,他们是电脑发展史上的英雄。现在黑客使用的侵入计算机系统的基本技巧,例如破解口令(password cracking),开天窗(trapdoor),走后门(backdoor),安放特洛伊木马(Trojan horse)等,都是在这一时期发明的。从事黑客活动的经历,成为后来许多计算机业巨子简历上不可或缺的一部分。例如,苹果公司创始人之一乔布斯就是一个典型的例子。

在60年代,计算机的使用还远未普及,还没有多少存储重要信息的数据库,也谈不上黑客对数据的非法拷贝等问题。到了80、90年代,计算机越来越重要,大型数据库也越来越多,同时,信息越来越集中在少数人的手里。这样一场新时期的“圈地运动”引起了黑客们的极大反感。黑客认为,信息应共享而不应被少数人所垄断,于是将注意力转移到涉及各种机密的信息数据库上。而这时,电脑化空间已私有化,成为个人拥有的财产,社会不能再对黑客行为放任不管,而必须采取行动,利用法律等手段来进行控制。黑客活动受到了空前的打击。

但是,政府和公司的管理者现在越来越多地要求黑客传授给他们有关电脑安全的知识。许多公司和政府机构已经邀请黑客为他们检验系统的安全性,甚至还请他们设计新的保安规程。在两名黑客连续发现网景公司设计的信用卡购物程序的缺陷并向商界发出公告之后,网景修正了缺陷并宣布举办名为“网景缺陷大奖赛”的竞赛,那些发现和找到该公司产品中安全漏洞的黑客可获1000美元奖金。无疑黑客正在对电脑防护技术的发展作出贡献。

《C++黑客编程揭秘与防范》pdf下载在线阅读全文,求百度网盘云资源

《C++黑客编程揭秘与防范》百度网盘pdf最新全集下载:

链接:

?pwd=g1i8 提取码:g1i8

简介:冀云编著的《C++黑客编程揭秘与防范》旨在通过简单的语法知识及常用的系统函数编程,完成一些有特定功能的安全工具,让读者对系统知识等各方面有一个全面的了解,并且在笔者的带领下一步步完成书中的实例。

《C++黑客编程揭秘与防范》主要内容为:第1章了解黑客编程,主要讲解了VC(Visual C++的缩写)和Windwos下安全编程方面的基础知识。第2章从剖析简单的木马说起,讲解有关的网络编程和协议知识。

第3章Windows应用编程基础,讲解API编程的技术。第4章加密与解密,讲解PE等加密有关的知识。第5章HOOK编程,讲解了与钩子有关的知识。第6章黑客编程剖析,剖析了病毒的原理和攻防技术,以及安全工具的开发。第7章最后的旅程——简单驱动开发及逆向。

《C++黑客编程揭秘与防范》适合网络安全人员、黑客爱好者,以及相关的程序员阅读。

2条大神的评论

  • avatar
    访客 2022-10-05 下午 12:03:57

    程是什么?试论述如何预防和保护免受黑客的攻击与破坏黑客一词,源于英文Hacker,原指热心于计算机技术,水平高超的电脑专家,尤其是程序设计人员。美国大片《黑(骇)客帝国》的热映,使得黑客文化得到了广泛的传播,也许很多人会觉得黑客一词是

  • avatar
    访客 2022-10-05 上午 04:04:03

    系统。“黑客”能使更多的网络趋于完善和安全,他们以保护网络为目的,而以不正当侵入为手段找出网络漏洞。 另一种入侵者是那些利用网络漏洞破坏网络的人。他们往往做一些重复的工作(如用暴力法破解口令),他们也具备广泛的电脑知识,但与黑客不同

发表评论