还剩6页未读,继续阅读
文本内容:
计算机网络安全(电信本055陈振华05017259)绪论网络黑客
1.黑客简史1o1黑客网络攻击的主要类型
1.2具体实施网络攻击的方法及其防护措施
2.网络监听
2.1拒绝服务攻击
2.2源地址欺骗攻击
2.3IP源路由欺骗攻击2o4缓冲区溢出
2.5木马应用26O结术语
3.绪论随着网络的迅猛发展、网络安全问题的日趋严重、黑客攻击活动的日益猖撅,黑客攻防技术成为当今社会关注的焦点.据统计,开发人员在编写程序时,每写一千行代码,至少会有一个漏洞出现,再高明的程序员也不例外,因此黑客技术的出现和发展也是不足为奇的事情黑客利用现有的方法或自己开发小工具,利用计算机系统或网络的漏洞包括软件漏洞、硬件漏洞、网络协议漏洞、管理方面的漏洞和一些人为的错误实施攻击.关于通过网络攻击信息系统,造成经济损失的报道已有许多,就连防御最严密的美国国防部五角大楼内,每年都有成千上万的非法入侵者侵入其内部网络系统;我国的ISP、证券公司及银行也多次被国内外黑客攻击在Internet上黑客站点随处可见,黑客工具可以任意下载,对网络的安全造成了极大的威胁所以,在Internet日益渗透到人们工作和生活的今天,提高Internet的防卫能力,保证信息安全已经成为当务之急.本文将在以下着重剖析几种常见的黑客攻击手段.网络黑客
1.
1.1黑客简.黑客的早期历史至少可以追溯到20世纪五六十年代.麻省理工学院MIT率先研制出“分时系统”,学生们第一次拥有了自己的电脑终端不久后,MIT学生中出现了大批狂热的电脑迷,他们称自己为“黑客”Hacker,即“肢解者”和“捣毁者”,意味着他们要彻底“肢解”和“捣毁”大型主机的控制1961年,拉塞尔等三位大学生,在PDP7上编制出第一个游戏程序“空间大战、其他学生也编制出更多更“酷”的玩艺,例如象棋程序、在分时系统网络里给别人留言的软件等等MIT的“黑客”属于第一代,他们开发了大量有实用价值的应用程序.60年代中期,起源于MIT的“黑客文化”开始弥散到美国其他校园,逐渐向商业渗透,黑客们进入或建立电脑公司他们中最著名的有贝尔实验室的邓尼斯•里奇和肯•汤姆森,他俩在小型电脑PDP-11/20编写出UNIX操作系统和C语言,推动了工作站电脑和网络的成长.MIT的理查德•斯德尔曼Richard StalIman后来发起成立了自由软件基金会,成为国际自由软件运动的精神领袖他们都是第二代“黑客”的代表人物1975年,爱德华•罗伯茨发明第一台微型电脑“牛郎星”美国很快出现了一个电脑业余爱好者在汽车库里组装微电脑的热潮,并组织了一个“家庭酿造电脑俱乐部相互交流组装电脑的经验以“家酿电脑俱乐部”为代表的“黑客”属于第三代,他们发动了一场个人电脑的革命.史蒂夫•乔布斯、比尔•盖茨等人创办了苹果和微软公司,后来都成了重量级的IT企业新一代“黑客”伴随着“嬉皮土运动”出现艾比•霍夫曼是这代黑客的“始作俑者霍夫曼制造了许多恶作剧,常常以反对越战和迷幻药为题1967年10月,他领导了一次反战*******,号召黑客们去“抬起五角大楼”他还创办了一份地下技术杂志TAP,告诉嬉皮士黑客如何在现存的体制下谋生,并大量介绍电话偷窃技术从70年代起,新一代黑客已经逐渐走向自己的反面1970年,约翰•达帕尔发现“嘎吱船长”牌麦圈盒里的口哨玩具,吹出的哨音可以开启电话系统,从而借此进行免费的长途通话他在黑客圈子里被叫做“嘎吱船长”,因盗用电话线路而多次被捕苹果公司乔布斯和沃兹奈克也制作过一种“蓝盒子二成功侵入了电话系统1982年,年仅15岁的凯文•米特尼克Kevin Mitnick闯入了“北美空中防务指挥系统”,这是首次发现的从外部侵袭的网络事件他后来连续进入到美国多家大公司的电脑网络,把一些重要合同涂改得面目全非1994年,他向圣迭戈超级计算机中心发动攻击,将整个互联网置于危险的境地米特尼克曾多次入狱,指控他偷窃了数以千计的文件以及非法使用2万多个信用卡.他是著名的“世界头号黑客”,80年代初,计算机地下组织开始形成,出现了早期的计算机窃贼1984年,德国汉堡出现了一个名叫“混沌”计算机俱乐部CCC,其成员竟然通过网络将10万美元从汉堡储蓄银行转到CCC账号上.1987年,CCC的成员攻入了美国宇航局的SPAN网络.1984年,美国黑客戈德斯坦创办著名的黑客杂志2600:The HackerQuarterly;10年后,这份杂志已有可观的发行量,1995年达到了2万册1988年11月2日,美国康奈尔大学23岁学生罗伯特•莫里斯Rober.Morris,向互联网络释放了“蠕虫病毒”,美国军用和民用电脑系统同时出现了故障,至少有6200台受到波及,约占当时互联网络电脑总数的10%以上,用户直接经济损失接近1亿美元,造成了美国高技术史上空前规模的灾难事件.1995年,俄罗斯黑客列文在英国被捕.他被控用笔记本电脑从纽约花旗银行非法转移至少370万美元到世界各地由他和他的同党控制的账户1999年3月,美国黑客戴维•史密斯制造了“梅利莎”病毒,通过因特网在全球传染数百万台计算机和数万台服务器2000年2月,全世界黑客们联手发动了一场“黑客战争”,把整个网络搅了个天翻地覆,神通广大的神秘黑客,接连袭击了因特网最热门的八大网站,包括亚马逊、Yahoo和微软,造成这些网站瘫痪长达数小时.FBI仅发现一个名为“黑手党男孩”的黑客参与了袭击事件,对他提出的56项指控只与其中几个被“黑”网站有关,估计造成了达17亿美元的损失2000年5月,菲律宾学生奥内尔•古兹曼炮制出“爱虫”病毒,因电脑瘫痪所造成的损失高达100亿美元.全世界反黑客、反病毒的斗争呈现出越来越激烈的趋势
1.2黑客网络攻击的主要类型网络攻击其实质就是指利用被攻击方信息系统自身存在安全漏洞,通过使用网络命令和专用软件进入对方网络系统的攻击目前黑客网络攻击的类型主要有以下几种1利用监听嗅探技术获取对方网络上传输的有用信息;2利用拒绝服务攻击使目的网络暂时或永久性瘫痪;3利用网络协议上存在的漏洞进行网络攻击;4利用系统漏洞,例如缓冲区溢出或格式化字符串等,以获得目的主机的控制权;5利用网络数据库存在的安全漏洞,获取或破坏对方重要数据;6利用计算机病毒传播快、破坏范围广的特性,开发合适的病毒破坏对方网络
2.具体实施网络攻击的方法及其防护措施
3.1网络监听将网卡设置为混杂模式,对以太网上流通的所有数据包进行监听,并将符合一定条件的数据包如包含了字“username”或“password”的数据包记录到日志文件中去,以获取敏感信息常见的网络监听工具有NetRay,Sniffit,Sn iffer,Etherfind,Snoop,Tcpdump,Packetman,I nterman,Etherman,Loadman,GobbI er等.对于网络嗅探攻击,我们可以采取以下一些措施1网络分段一个网络段包括一组共享低层设备和线路的机器,如交换机、动态集线器和网桥等设备,可以对数据流进行限制,从而达到防止嗅探的目的2加密一方面可以对数据流中的部分重要信息进行加密;另一方面也可只对应用层加密,然而后者将使大部分与网络和操作系统有关的敏感信息失去保护.选择何种加密方式就取决于信息的安全级别及网络的安全程度3一次性口令技术口令并不在网络上传输,而是在两端进行字符串匹配,客户端利用从服务器上得到的Challenge和自身的口令计算出一个新字符串,并将之返回给服务器.在服务器上利用比较算法进行匹配,如果匹配连接就允许建立,所有的Chai lenge和字符串都只使用一次4禁用杂错节点安装不支持杂错的网卡,通常可以防止IBM兼容机进行嗅探
2.2拒绝服务攻击拒绝服务攻击Den ialofSer vice,DOS行为通过发送一定数量一定序列的报文,使网络服务器中充斥了大量要求回复的信息,消耗网络带宽或系统资源,导致网络或系统不胜负荷以至于瘫痪、停止正常的网络服务常见的DOS工具有同步洪流SYNFIood,死亡之PING Pingof Death,Echl攻击,Finger炸弹,Land攻击,Ping洪流,Rwhod,Smurf等为了防止拒绝服务攻击,可以采取以下预防措施1对于信息淹没攻击,应关掉可能产生无限序列的服务来防止这种攻击比如可以在服务器端拒绝所有的ICMP包,或者在该网段路由器上对ICMP包进行带宽限制,控制其在一定的范围内2要防止SYN数据段攻击,应对系统设定相应的内核参数,使得系统强制对超时的SYN请求连接数据包复位,同时通过缩短超时常数和加长等侯队列使得系统能迅速处理无效的SYN请求数据包3建议在该网段的路由器上做些调整,这些调整包括限制SYN半开数据包的流量和个数4建议在路由器的前端做必要的TCP拦截,使得只有完成TCP三次握手过程的数据包才可进入该网段,这样可以有效地保护本网段内的服务器不受此类攻击.另外,对于一些具体的系统,其本身现已可以防止SYNFIood攻击,如Solaris在其
2.6版本以后,系统中存在2条队列,一条是已连接的队列,另一条是未连接完成的队列.SYN攻击时只能填充后一条队列,而且,一旦队列满,将随机丢弃老的SYN包系统还会监控这个队列被短时间填充的情况,一旦怀疑是SYNFIood,将采取一定的措施总之,要彻底杜绝拒绝服务攻击,只有追根溯源去找到正在进行攻击的机器和攻击者要追踪攻击者不是一件很容易的事情,一旦其停止了攻击行为,很难将其发现,惟一可行的方法就是在其进行攻击的时候,根据路由器的信息和攻击数据包的特征,采用一级一级回溯的方法来查找其攻击源头这时需要各级部门的协同配合才能很好的完成
2.3源IP地址欺骗攻击许多应用程序认为如果数据包能够使其自身沿着路由到达目的地,而且应答包也可以回到源地,那么源IP地址一定是有效的,而这正是使源IP地址欺骗攻击成为可能的前提假设同一网段内有2台主机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顺序号估算法来预测应答包的顺序号并将其发送给目标机Bo如果猜测正确,B则认为收到的ACK是来自内部主机A此时,X即获得了主机A在主机B上所享有的特权,并开始对这些服务实施政击要防止源IP地址欺骗行为,可以采取以下措施来尽可能地保护系统免受这类攻击1抛弃基于地址的信任策略阻止这类攻击的一种非常容易的办法就是放弃以地址为基础的验证不允许r类远程调用命令的使用删除.rhosts文件清空/etc/hosts,equi v文件.这将迫使所有用户使用其他远程通信手段,如te Inet,ssh,skey等2使用加密方法在包发送到网络上之前,可以对他进行加密虽然加密过程要求适当改变目前的网络环境,但他将保证数据的完整性和真实性3进行包过滤可以配置路由器使其能够拒绝网络外部与本网内具有相同IP地址的连接请求而且,当包的IP地址不在本网内时,路由器不应该把本09网主机的包发送出去,有一点要注意,路由器虽然可以封锁试图到达内部网络的特定类型的包但他们也是通过分析测试源地址来实现操作的因此,他们仅能对声称是来自于内部网络的外来包进行过滤,若你的网络存在外部可信任主机,那么路由器将无法防止别人冒充这些主机进行IP欺骗.
2.4源路由欺骗攻击在通常情况下,信息包从起点到终点走过的路径是由位于此2点间的路由器决定的,数据包本身只知道去往何处,但不知道该如何去.源路由可使信息包的发送者将此数据包要经过的路径写在数据包里,使数据包循着一个对方不可预料的路径到达目的主机,下面仍以上述源IP欺骗中的例子给出这种攻击的形式主机A享有主机B的某些特权,主机X想冒充主机A从主机B假设IP为aaa.bbb.ccc.ddd获得某些服务首先,攻击者修改距离X最近的路由器,使得到达此路由器且包含目的地址aaa.bbb.ccc.ddd的数据包以主机X所在的网络为目的地;然后,攻击者X利用IP欺骗向主机B发送源路由指定最近的路由器数据包当B回送数据包时,就传送到被更改过的路由器这就使一个入侵者可以假冒一个主机的名义通过一个特殊的路径来获得某些被保护数据.为了防范源路由欺骗攻击一般采用下面2种措施1对付这种攻击最好的办法是配置好路由器,使他抛弃那些由外部网进来的却声称是内部主机的报文2在路由器上关闭源路由用命令no ipsource—roue
2.5缓冲区溢出通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其他的指令,如果这些指令是放在有root权限的内存中,那么一旦这些指令得到了运行,黑客就以root权限控制了系统,达到入侵的目的;缓冲区攻击的目的在于扰乱某些以特权身份运行的程序的功能,使攻击者获得程序的控制权缓冲区溢出的一般攻击步骤为在程序的地址空间里安排适当的代码——通过适当的地址初始化寄存器和存储器,让程序跳到黑客安排的地址空间中执行.缓冲区溢出对系统带来了巨大的危害,要有效地防止这种攻击,应该做到以下几点1必须及时发现缓冲区溢出这类漏洞在一个系统中,比如UNIX操作系统,这类漏洞是非常多的,系统管理员应经常和系统供应商联系,及时对系统升级以堵塞缓冲区溢出漏洞.2程序指针完整性检查在程序指针被引用之前检测他是否改变.即便一个攻击者成功她改变了程序的指针,由于系统事先检测到了指针的改变,因此这个指针将不会被使用3堆栈保护这是一种提供程序指针完整性检查的编译器技术,通过检查函数活动纪录中的返回地址来实现在堆栈中函数返回地址后面加了一些附加的字节,而在函数返回时,首先检查这个附加的字节是否被改动过如果发生过缓冲区溢出的攻击,那么这种攻击很容易在函数返回前被检测到但是,如果攻击者预见到这些附加字节的存在.并且能在溢出过程中同样地制造他们,那么他就能成功地跳过堆栈保护的检测4数组边界检查所有的对数组的读写操作都应当被检查以确保对数组的操作在正确的范围内最直接的方法是检查所有的数组操作,通常可以采用一些优化的技术来减少检查的次数目前主要有以下的几种检查方法:Compaq C编译器、Pur ify存储器存取检查等26木马应用O1攻击原理木马是一个程序,它驻留在目标计算机里,可以随计算机自动启动并在某一端口进行侦听,在对接收的数据识别后,对目标计算机执行特定的操作木马,其实质只是一个通过端口进行通信的网络客户/服务程序・.
1.基本概念网络客户/服务模式的原理是一台主机提供服务服务器,另一台主机接受服务客户机.作为服务器的主机一般会打开一个默认的端口并进行监听Listen.如果有客户机向服务器的这一端口提出连接请求Connec.Request.服务器上的相应程序就会自动运行,来应答客户机的请求,这个程序称为守护进程UNIX的术语,不过已经被移植到了MS系统上.对于特洛伊木马,被控制端就成为一台服务器,控制端则是一^客户机,G_servero exe是守护进程.G_cI ient是客户端应用程序.
2、程序实现可以使用VB或VC的Winsock控件来编写网络客户/服务程序,实现方法如下服务器端G_Server.LocalPort=7626(冰河的默认端口,可以改为别的值)G_Server.Listen(等待连接)客户端G_CI ientoRemoteHost=Server IP(设远端地址为服务器地址)G_CI ientoRemotePort=7626(设远程端口为冰河的默认端口)(在这里可以分配一个本地端口给G_CI ient,如果不分配,计算机将会自动分配一个)G_CI ient.Connect(调用Winsock控件的连接方法)一旦服务端接到客户端的连接请求Connect ionRequest,就接受连接Pr ivate SubG_Server_Connect ionRequest(ByVaI requestID AsLong)G_Server.Accept requestIDEnd Sub客户端用G_C Ii entoSendData发送命令,而服务器在G_Server_DateArr ive事件中接受并执行命令(几乎所有的木马功能都在这个事件处理程序中实现)如果客户断开连接,则关闭连接并重新监听端口Private SubG_Server_CIose()G_Server.CI ose(关闭连接)G_Server.Listen(再次监听)End Sub客户端上传一个命令,服务端解释并执行命令
3.实现木马的控制功能由于Win98开放了所有的权限给用户,因此,以用户权限运行的木马程序几乎可以控制一切,下面仅对木马的主要功能进行简单的概述,主要是使用Windows API函数
(1)远程监控(控制对方鼠标、键盘,并监视对方屏幕).keybd_event模拟一个键盘动作.mouse_event模拟一^欠鼠标事件mouse_event(dwFIags,dx,dy,eButtons,dwExtraInfo)dwFIags:MOUSEEVENTF_ABSOLUTE指定鼠标坐标系统中的一个绝对位置MOUSEEVENTF_MOVE移动鼠标MOUSEEVENTF_LEFTDOWN模拟鼠标左键按下MOUSEEVENTF_LEFTUP模拟鼠标左键抬起MOUSEEVENTF_R IGHTD0WN模拟鼠标右键按下MOUSEEVENTF_RIGHTUP模拟鼠标右键按下dx,dy:MOUSEEVENTF_ABSOLUTE中的鼠标坐标
(2)记录各种口令信息key Iogbegin:将击键记录在一个文本文件里,同时还记录执行输入的窗口名
(3)获取系统信息a取得计算机名GetComputerNameob.更改计算机名SetComputerNamec.当前用户GetUserNamedo系统路径Set Fi I eSystemObject=CreateOb jectSeri pti ng.Fi I eSystemObject)(建立文件系统对象)Set SystemDir-F iIeSystemObject.getspec ia Ifo Ider
(1)(取系统目录)Set SystemDir=FiIeSystemObject getspecia IfoIder
(0)(取Wi ndows安装目录)oe取得系统版本GetVers ionExofo当前显示分辨率Width=screen.Width\screen.TwipsPerPixeIXHeight=screen.Height\screen TwipsPerPixelYo4限制系统功能a.远程关机或重启计算机,使用WinAPI中的如下函数可以实现ExitWindowsEx UINTuFIags,DWORD dwReserved当uFlags=EWX_LOGOFF中止进程,然后注销=EWX_SHUTDOWN关掉系统但不关电源=EWX_REBOOT重新引导系统=EWX_FORCE强迫中止没有响应的进程=EWX_POWERDOWN关掉系统及关闭电源b.锁定鼠标,Cl ipCursorIpRect AsRECT可以将指针限制到指定区域,或者用ShowCursor FALSE把鼠标隐藏起来也可以,RECT是定义的一个矩形Co让对方掉线RasHangUpdo终止进程ExitProcesse关闭窗口利用Fi ndWindow函数找到窗口并利用SendMessage函数关闭窗口o5远程文件操作删除文件File deI ete拷贝文件File copy共享文件Export Iist列出当前共享的驱动器、目录、权限及共享密码6注册表操作在VB中只要Set RegEdit=CreateObjectWScripto SheI I”就可以使用以下的注册表功能删除键值RegEdit.RegDe Iete RegKey增加键值:RegEd itoWr iteRegKey,RegVa I ue获取键值RegEd itoRegRead VaIue2防御原理知道了木马的攻击原理和隐身方法,我们就可以采取措施进行防御了.1O端口扫描端口扫描是检查远程机器有无木马的最好办法,端口扫描的原理非常简单,扫描程序尝试连接某个端口,如果成功,则说明端口开放,如果失败或超过某个特定的时间超时,则说明端口关闭但对于驱动程序/动态链接木马,扫描端口是不起作用的
2.查看连接查看连接和端口扫描的原理基本相同,不过是在本地机上通过netsta.一a或某个第三方程序查看所有的TCP/UDP连接,查看连接要比端口扫描快,但同样是无法查出驱动程序/动态链接木马,而且仅仅能在本地使用.3o检查注册表上面在讨论木马的启动方式时已经提到,木马可以通过注册表启动好像现在大部分的木马都是通过注册表启动的,至少也把注册表作为一个自我保护的方式,那么,我们同样可以通过检查注册表来发现冰河在注册表里留下的痕迹4查找文件O查找木马特定的文件也是一个常用的方法,木马的一个特征文件是kern132exe,另一^个是sysex Ipr exe,只O o要删除了这两个文件,木马就已经不起作用了如果你只是删除了sysexlpr.exe而没有做扫尾工作的话,可能会遇到一些麻烦一就是你的文本文件打不开了,sysexpI roexe是和文本文件关联的,你还必须把文本文件跟notepad关联上结术语
3.上述技术和措施在网络安全实践中发挥着重要作用.但必须看到,仅仅依靠安全技术和工具不可能实现真正意义上的网络安全,要实现真正意义上的网络安全,相关法律法规的保障是非常必要的同时,系统管理员和用户一定要有良好的安全意识,因为绝大部分安全问题都出在系统管理员的疏忽上.所以,网络安全的实施,首先要进行安全基础知识的普及,其次,培养安全专业技术人才,建立完善的防护体系,建设合理的安全规章制度,并有完善的法律法规做后盾,才能有效地保护网络不受侵犯同学们要好好学习更多的网络安全知识,更要加强网络安全意识,当然我们学习这些不是为了去攻击或侵害他人,而是为了能更好的防护和维护自己和他人,服务于他人、服务于国家、服务与社会!!!。