多语言展示
当前在线:156今日阅读:84今日分享:32

4.特洛伊木马攻防(黑客攻防教育3-2)

4.特洛伊木马攻防1)特洛伊木马特洛伊木马(Trojan horse),简称“木马”。这个名称来源于希腊神话《木马屠城记》,古希腊大军围攻特洛伊城,久久无法攻下。于是制造大木马,让士兵藏匿其中,大部队假装撤退而将木马摈弃于特洛伊城下。城中得知解围的消息后,遂将“木马”作为战利品拖入城内,全城饮酒狂欢。到午夜时分,全城军民尽入梦乡,匿于木马中的将士开秘门游绳而下,开启城门及四处纵火,城外伏兵涌入,部队里应外合,焚屠特洛伊城。后世称这只大木马为“特洛伊木马”。黑客程序借用其名,将隐藏在正常程序中的一段恶意代码称作特洛伊木马。是一些具备破坏和删除文件、发送密码、记录键盘和攻击DoS等特殊功能的后门程序。一个完整的木马系统是由硬件部分、软件部分和具体连接部分组成。一般的木马程序都包括客户端和服务端两个程序,客户端用于远程控制植入木马,服务器端即是木马程序。木马特点:伪装成一个实用工具、一个可爱的游戏,诱使用户将其安装在PC或者服务器上,侵入用户的电脑并进行破坏;没有复制能力;一般的木马执行文件非常小,如果把木马捆绑到其他正常文件上,你很难发现;木马可以和最新病毒、漏洞利用工具一起使用,几乎可以躲过各大杀毒软件。2)特洛伊木马攻击过程木马攻击的基本过程6个步骤:配置木马,传播木马,运行木马,泄露信息,建立连接,远程控制。目前主要还是利用邮件附件、下载软件等先设法把木马程序放置到被攻击者的电脑系统里,然后通过提示故意误导被攻击者打开可执行文件(木马)。木马也可以通过Script、ActiveX及Asp.CGI交互脚本的方式植入,以及利用系统的一些漏洞进行植入,如微软著名的US服务器溢出漏洞。在客户端和服务端通信协议的选择上,绝大多数木马使用的是TCP/IP协议,但是,也有一些木马由于特殊的原因,使用UDP协议进行通讯。当服务端程序在被感染机器上成功运行以后,攻击者就可以使用客户端与服务端建立连接,并进一步控制被感染的机器。木马会尽量把自己隐藏在计算机的某个角落里面,以防被用户发现;同时监听某个特定的端口,等待客户端与其取得连接,实施攻击;另外为了下次重启计算机时仍然能正常工作,木马程序一般会通过修改注册表或者其他的方法让自己成为自启动程序。【案例3-3】 利用微软Scripts脚本漏洞对浏览者硬盘进行格式化的HTML页面。如果攻击者有办法把木马执行文件下载到被攻击主机的一个可执行WWW目录夹里面,他可以通过编制CGI程序在攻击主机上执行木马目录。3)特洛伊木马程序的防范对策必须提高防范意识,在打开或下载文件之前,一定要确认文件的来源是否可靠;阅读readme.txt,并注意readme.exe;使用杀毒软件;发现有不正常现象出现立即挂断;监测系统文件和注册表的变化;备份文件和注册表;特别需要注意的是不要轻易运行来历不明软件或从网上下载的软件,即使通过了一般反病毒软件的检查也不要轻易运行;不要轻易相信熟人发来的E-Mail不会有黑客程序;不要在聊天室内公开自己的E-Mail地址,对来历不明的E-Mail应立即清除;不要随便下载软件,特别是不可靠的FTP站点;不要将重要密码和资料存放在上网的计算机中,以免被破坏或窃取。5.缓冲区溢出攻防缓冲区溢出是一种非常普遍和危险的漏洞,在各种操作系统、应用软件中广泛存在。利用缓冲区溢出攻击,可以导致程序运行失败、重新启动等后果。更为严重的是,可以利用它执行非授权指令,甚至可以取得系统特权,进而进行各种非法操作。1)缓冲区溢出缓冲区溢出是指当计算机向缓冲区内填充数据时,超过了缓冲区本身的容量,溢出的数据覆盖在合法数据上。缓冲区溢出的原理。简单地说,缓冲区溢出的原因是由于字符串处理函数,没有对数组的越界加以监视和限制,结果覆盖了老的堆栈数据。在计算机内的程序是按图4-5所示形式存储,输入的形参等数据存放在堆栈中,程序是从内存低端向内存高端按顺序执行的,由于堆栈的生长方向与内存的生长方向相反。因此在堆栈中压入的数据超过预先给堆栈分配的容量时,就会出现堆栈溢出,从而使得程序运行失败;如果发生栈溢出的是大型程序还有可能会导致系统崩溃。2)缓冲区溢出攻击操作系统所使用的缓冲区又被称为“堆栈”,在各个操作进程之间,指令会被临时储存在“堆栈”中,“堆栈”也会出现缓冲区溢出。而缓冲区溢出中,最为危险的是堆栈溢出,因为入侵者可以利用堆栈溢出,在函数返回时改变返回程序的地址,让其跳转到任意地址而执行其他指令或使得攻击者取得程序的控制权。如果该程序具有足够的权限,那么整个主机就被控制了,带来的危害一种是程序崩溃导致拒绝服务,另外一种就是跳转并且执行一段恶意代码。3)缓冲区溢出攻击的防范方法(1)编写程序中应该时刻注意的问题。程序员有责任和义务养成安全编程的思想,应该熟悉那些可能会产生漏洞或需慎用的函数,清楚那些在编程中要小心使用的函数(特别是在使用C语言时),例如:gets()、strcpy()等。在软件测试阶段,要专门对程序中的每个缓冲区作边界检查和溢出检测。但是,由于程序编写者的经验不足和测试工作不够全面、充分,目前还不可能完全避免缓冲区溢出漏洞,因此这些漏洞在已经使用以及正在开发的软件中还是有存在的可能,还需要在使用软件时,对它做实时的监测。(2)改进编译器。主要思想是在编译器中增加边界检查以及保护堆栈的功能,使得含有漏洞的程序和代码段无法通过编译。(3)利用人工智能的方法检查输入字段。黑客利用缓冲区溢出漏洞进行攻击时,必须将其设计的溢出字符串包含在输入字符串中。如果能检测到输入字段中存在非法字段,就可以将黑客的攻击记录下来,以便防范。(4)程序指针完整性检查。这是一种间接的方法,是在程序指针失效前进行完整性检查。虽然这种方法不能使得所有的缓冲区溢出失效,但它能阻止绝大多数的缓冲区溢出攻击。6.拒绝服务攻防1)拒绝服务攻击拒绝服务是指通过反复向某个Web站点的设备发送过多的信息请求,堵塞该站点上的系统,导致无法完成应有的网络服务。拒绝服务按入侵方式可分:资源消耗型、配置修改型、物理破坏型以及服务利用型。拒绝服务攻击(Denialof Service,简称DoS),是指黑客利用合理的服务请求来占用过多的服务资源,使合法用户无法得到服务的响应,直至瘫痪而停止提供正常的网络服务的攻击方式。单一的DoS攻击一般是采用一对一方式的,当攻击目标CPU速度低、内存小或者网络带宽小等等各项性能指标不高时,它的效果是明显的。否则,达不到攻击效果。【案例3-4】有一个攻击软件每秒钟可以发送3,000个攻击包,但用户主机与网络带宽每秒钟可以处理10,000个攻击包,这样一来攻击就不会产生什么效果。分布式拒绝服务攻击(Distributed Denial of Service,DDoS),是在传统的DoS攻击基础之上产生的一类攻击方式,是指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DoS攻击。DDoS攻击攻击原理是通过制造伪造的流量,使得被攻击的服务器、网络链路或是网络设备(如防火墙、路由器等)负载过高,从而最终导致系统崩溃,无法提供正常的Internet服务。现在电信骨干节点之间的连接都是以G为级别的,大城市之间更可以达到2.5G的连接,这使得攻击可从更远的地方或者其他城市发起,攻击者的傀儡机位置可分布在更大范围,选择更灵活。DDoS攻击的类型。带宽型攻击(也称流量型攻击),这类DDoS攻击通过发出海量数据包,造成设备负载过高,最终导致网络带宽或是设备资源耗尽。应用型攻击,这类DDoS攻击利用了诸如TCP或是HTTP协议的某些特征,通过持续占用有限的资源,从而达到阻止目标设备无法处理处理正常访问请求的目的。例如HTTP Half Open攻击和HTTP Error攻击就是该类型的攻击。DDoS攻击的方式。通过使网络过载来干扰甚至阻断正常的网络通讯;通过向服务器提交大量请求,使服务器超负荷;阻断某一用户访问服务器;阻断某服务与特定系统或个人的通讯。2)常见的拒绝服务攻击(1)Flooding攻击。Flooding攻击把大量看似合法的TCP、UDP、ICPM包发送至目标主机,甚至有些攻击还利用源地址伪造技术来绕过检测系统的监控。(2)SYN flood攻击。SYNflood攻击是一种黑客通过向服务端发送虚假的包以欺骗服务器的做法。这种做法使服务器必需开启自己的监听端口不断等待,也就浪费了系统各方面的资源。示意图见图3-4。 图3-4SYN flood攻击示意图(3)LAND attack攻击。LANDattack攻击与SYN floods类似,不过在LAND attack攻击包中的源地址和目标地址都是攻击对象的IP。这种攻击会导致被攻击的机器死循环,最终耗尽资源而死机。(4)ICMP floods是通过向设置不当的路由器发送广播信息占用系统资源的做法。(5)Applicationlevel floods主要是针对应用软件层的。它同样是以大量消耗系统资源为目的,通过向IIS这样的网络服务程序提出无节制的资源申请来迫害正常的网络服务。3)拒绝服务攻击检测与防范拒绝服务攻击的主要检测方法有:根据异常情况分析和使用DDoS检测工具。防范拒绝服务攻击策略包括:(1)尽早发现系统存在的攻击漏洞,及时安装系统补丁程序;(2)在网络管理方面,要经常检查系统的设置环境,禁止那些不必要的网络服务;(3)利用网络安全设备(如防火墙)等来加固网络的安全性;(4)比较好的防御措施就是与网络服务提供商协调工作,帮助用户实现路由的访问控制和对带宽总量的限制;(5)当发现主机正在遭受DDoS攻击时,应当启动应付策略,尽快追踪攻击包,并及时联系ISP和有关应急组织,分析受影响的系统,确定涉及的其他节点,从而阻挡已知攻击节点的流量;(6)对于潜在的DDoS攻击,应当及时清除,以免留下后患。到目前为止,进行DDoS攻击的防御还是比较困难的,必须采用专门的机制,对攻击进行有效检测,遏制这类不断增长的、复杂的且极具欺骗性的攻击。7.其他攻防技术1)WWW的欺骗技术WWW的欺骗是指黑客篡改访问站点页面内容或将用户要浏览的网页URL改写为指向黑客自己的服务器。由于浏览器一般均设有地址栏和状态栏,当浏览器与某个站点连接时,就可以在地址栏和状态样中获得连接中的Web站点地址及其相关的传输信息。攻击者利用URL地址重写技术,将自已的Web地址加在所有URL地址的前面,一般用javascript程序来重写地址栏和状态栏。例如黑客将用户要浏览的网页的URL改写为指向黑客自己的服务器,当用户浏览目标网页的时候,实际上是向黑客服务器发出请求,那么黑客就可以达到欺骗的目的了。“网络钓鱼”(Phishing)是指利用欺骗性很强、伪造的Web站点来进行诈骗活动,目的在于钓取用户的账户资料,假冒受害者进行欺诈性金融交易,从而获得经济利益。近几年来,这种网络诈骗在我国急剧攀升,接连出现了利用伪装成“中国银行”、“中国工商银行”主页的恶意网站进行诈骗钱财的事件。“网络钓鱼”的作案手法主要有:发送电子邮件以虚假信息引诱用户中圈套;建立假冒的网上银行、网上证券网站、骗取用户账号密码实施盗窃;利用虚假的电子商务进行诈骗;利用木马和黑客技术等手段窃取用户信息后实施盗窃;利用用户弱口令的漏洞,破解、猜测用户账号和密码等等。网络钓鱼从攻击角度上分:通过伪造具有“概率可信度”的信息来欺骗受害者;通过“身份欺骗”信息来进行攻击。可以被用作网络钓鱼的攻击技术有:URL编码结合钓鱼技术,Web漏洞结合钓鱼技术,伪造Email地址结合钓鱼技术,浏览器漏洞结合钓鱼技术。防范攻击可以分为两个方面:其一,对钓鱼攻击利用的资源进行限制。如Web漏洞是Web服务提供商可以直接修补的;邮件服务商可以使用域名反向解析邮件发送服务器提醒用户是否收到匿名邮件.;其二,及时修补漏洞。如浏览器漏洞,大家就必须打上补丁,防御攻击者直接使用客户端软件漏洞发起钓鱼攻击。各安全软件厂商也可以提供修补客户端软件漏洞的功能。2)电子邮件攻击相对于其它的攻击手段来说,这种攻击方法具有简单、见效快等优点。主要的电子邮件攻击方式之一电子邮件欺骗是攻击者佯称自己为系统管理员(邮件地址和系统管理员完全相同),给用户发送邮件要求用户修改口令(口令为指定字符串)或在貌似正常的附件中加载病毒或其他木马程序,这类欺骗只要用户提高警惕,一般危害性不是太大。防范电子邮件攻击的方法:(1)解除电子邮件炸弹。使用邮件程序的Email-notify功能过滤信件,它不会把信件直接从主机上下载下来,只会把所有信件的头部信息(Headers)送过来,它包含了信件的发送者,信件的主题等信息;用View功能检查头部信息, 看到可疑信件,可直接下指令把它从主机Server端删除掉。(2)拒收某用户信件方法。在收到某特定用户的信件后,自动退回(相当于查无此人)。3)通过一个节点来攻击其他节点黑客在突破一台主机后,以此主机作为根据地,攻击其他主机(以隐蔽其入侵路径,避免留下蛛丝马迹)。他们可以使用网络监听方法,尝试攻破同一网络内的其他主机;也可通过IP欺骗和主机信任关系,攻击其他主机。这类攻击很狡猾,但由于某些技术很难掌握,如IP欺骗,因此较少被黑客使用。4)利用缺省帐号进行攻击黑客会利用操作系统提供的缺省账户和密码进行攻击,例如许多UNIX主机都有FTP和Guest等缺省账户(其密码和账户名同名),有的甚至没有口令。黑客用Unix操作系统提供的命令如Finger和Ruser等收集信息,不断提高自己的攻击能力。这类攻击只要系统管理员提高警惕,将系统提供的缺省账户关掉或提醒无口令用户增加口令一般都能克服。8.防范攻击的策略和措施黑客攻击给信息安全带来了严重的威胁与严峻的挑战。积极有效的防范措施将会减少损失,提高网络系统的安全性和可靠性。1)防范攻击的策略防范黑客攻击要在主观上重视,客观上积极采取措施,制定规章制度和管理制度,普及网络安全教育,使用户需要掌握网络安全知识和有关的安全策略。在管理上应当明确安全对象,设置强有力的安全保障体系,按照安全等级保护条例对网络实施保护与监督。认真制定有针对性的防攻措施,采用科学的方法和行之有效的技术手段,有的放矢,在网络中层层设防,使每一层都成为一道关卡,从而让攻击者无隙可钻、无计可使。防范黑客攻击的技术有:数据加密、身份认证、数字签名、建立完善的访问控制策略、安全审计等。在技术上要注重研发新方法,同时还必须做到未雨稠缪,预防为主,将重要的数据备份(如主机系统日志)、关闭不用的主机服务端口、终止可疑进程和避免使用危险进程、查询防火墙日志详细记录、修改防火墙安全策略等等。2)防范攻击的措施具体措施与步骤:(1)提高安全防范意识。(2)及时下载、安装系统补丁程序。(3)尽量避免从Internet下载不知名的软件、游戏程序。(4)不要随意打开来历不明的电子邮件及文件,不要随便运行不熟悉的人给用户的程序。(5)不随便运行黑客程序,不少这类程序运行时会发出用户的个人信息。(6) 在支持HTML的BBS上,如发现提交警告,先看源代码,可能是骗取密码的陷阱。(7)设置安全密码。使用字母数字混排,常用的密码设置不同,重要密码最好经常更换。(8)使用防病毒、防黑客等防火墙软件,以阻档外部网络的侵入。(9)隐藏自已的IP地址。可采取的方法有:使用代理服务器进行中转,用户上网聊天、BBS等不会留下自己的IP;使用工具软件,如Norton Intemet Security来隐藏你主机地址,避免在BBS和聊天室暴露个人信息。【案例3-5】设置代理服务器。外部网络向内部网络申请某种网络服务时,代理服务器接受申请,然后它根据其服务类型、服务内容、被服务的对象、服务者申请的时间、申请者的域名范围等来决定是否接受此项服务,如果接受,它就向内部网络转发这项请求。(10)切实做好端口防范。一方面安装端口监视程序,另一方面将不用的一些端口关闭。(11)加强IE浏览器对网页的安全防护。个人用户应通过对IE属性的设置来提高IE访问网页的安全性,具体方法:①提高IE安全级别。操作方法:打开IE→“工具”→“Internet选项”→“安全”→“Internet区域”,将安全级别设置为“高”。②禁止ActiveX控件和JavaApplets的运行。操作方法:打开IE→“工具”→“Intemet选项”→“安全”→“自定义级别”,在“安全设置”对话框中找到ActiveX控件相关的设置,将其设为“禁用”或“提示”即可。③ 禁止Cookie。由于许多网站利用Cookie记录网上客户的浏览行为及电子邮件地址等信息,为确保个人隐私信息的安全,可将其禁用。操作方法:在任一网站上选择 “工具”→“Internet选项”→“安全”→“自定义级别”,在“安全设置”对话框中找到Cookie相关的设置,将其设为“禁用”或“提示”即可。④将黑客网站列入黑名单,将其拒之门外。操作方法:在任一网站上选择“工具”→“Internet选项”→“内容”→“分级审查”→“启用”,在“分级审查”对话框的“许可站点”下输入黑客网站地址,并设为“从不”即可。⑤及时安装补丁程序,以强壮IE。应及时利用微软网站提供的补丁程序来消除这些漏洞,提高IE自身的防侵入能力。(12)上网前备份注册表。许多黑客攻击会对系统注册表进行修改。(13)加强管理。将防病毒、防黑客形成惯例,当成日常例性工作,定时更新防毒软件,将防毒软件保持在常驻状态,以彻底防毒。由于黑客经常会针对特定的日期发动攻击,计算机用户在此期间应特别提高警戒。对于重要的个人资料做好严密的保护,并养成资料备份的习惯。讨论思考:1.为什么要防范黑客攻击?如何防范黑客攻击?2.简述网络安全防范攻击的基本措施有哪些?3.说出几种通过对IE属性的设置来提高IE访问网页的安全性的具体措施?
推荐信息