第五章应用安全技术一、反黑客攻击(一)网络黑客概述HACKER(黑客)一词来自于英语HACK,起源于20世纪70年代美国麻省理工学院实验室,他们信守“永不破坏任何系统”的原则,检查系统的完整性和安全性,并乐于与他人共享研究的成果。但现在很多黑客却成了真正的电脑入侵与破坏者黑客攻击的主要目的是获取目标系统的非法访问、获取所需资料、篡改有关数据和利用有关资源。目前黑客主要有以下几种类型:(1)恶作剧型:喜欢进入他人网址,以删除某些文字或图象,篡改网址主页信息来显示自己高超的网络侵略技巧。(2)隐蔽攻击型:躲在暗处以匿名身份对网络发动攻击,往往不易被人识破;或者干脆冒充网络合法用户,侵入网络“行黑”。这种行为由于是在暗处实施的主动攻击行为,因此对社会危害极大。(3)定时炸弹型:在实施时故意在网络上布下陷阱,或故意在网络维护软件内安插逻辑炸弹或后门程序,在特定的时间或特定条件下,引发一系列具有连锁反应性质的破坏行动,或干扰网络正常运行,致使网络完全瘫痪。(4)矛盾制造型:非法进入他人网络,修改其电子邮件的内容或厂商签约日期,进而破坏甲乙双方交易,并借此方式了解双方商谈的报价,乘机介入其商品竞争。有些黑客还利用政府上网的机会,修改公众信息,挑起社会矛盾。(5)职业杀手型:此种黑客以职业杀手著称,经常以监控方式将他人网站内由国外传来的资料迅速清除,使得原网站使用公司无法得知国外最新资料或订单,或者将电脑病毒植入他人网络内,使其网络无法正常运行。更有甚者,进入军事情报机关的内部网络,干扰军事指挥系统的正常工作。(6)窃密高手型:出于某些集团利益的需要或者个入的私利,利用高技术手段窃取网络上的加密信息,使高度敏感信息泄密。或者窃取情报用于威胁利诱政府公职人员,导致内外勾结进一步干扰破坏内部网的运行。(7)业余爱好型:计算机爱好者受到好奇心驱使,往往在技术上追求精益求精,丝毫未感到自己的行为对他人造成的影响,属于无意识攻击行为。(二)网络黑害攻击步骤黑客会对计算机系统进行各种各样的攻击,但是攻击的步骤基本如下:1.寻找目标主机并分析目标主机:他们攻击的目标、采用的手段可能不同,通常黑客会通过一些常用的网络命令或端口扫描工具来获取目标主机的域名和IP地址及系统漏洞。2.登录主机:黑客通过使用工具或盗取帐号和密码的方式,登录主机。3.得到超级用户权限、控制主机:利用盗取的帐号和密码,获得普通用户的权限,然后再获取超级用户的权限,成为目标主机的主人。4.清除记录、设置后门:黑客获得超级用户的权限后,可能删除自己人侵的全部记录,并可能在系统设置中植入木马,作为以后入侵该主机的“后门”。(三)黑客常用技术及防范方法1.IP欺骗:在Internet上,存在许多“相互信任”的主机。“信任”是指从相互作用的一台主机登录到另一个主机上时,不需要进行口令验证。这种模式主要是为了管理主机的方便。IP欺骗的原理是入侵者首先使相互信任的主机中的一台不再接收到任何有效的网络数据,然后伪装成被屏蔽的主机,向信任它的另一台主机发送数据,从而获得对另一台主机的控制权。IP欺骗的防止措施:(1)抛弃基于地址的信任策略,迫使所有用户使用其它远程通信手段,如Telnet。(2)进行包过滤。如果主机所在网络是通过路由器接入Internet的,那么可以利用路由器来进行包过滤,使只有内部LAN可以使用信任关系,而内部LAN上的主机对于LAN以外的主机要慎重处理。(3)使用加密方法,在通信时要求加密传输和验证。2.网络监听网络监听是一种监视网络状态、数据流程以及网络上信息传输的管理工具,它可以将网络界面设定成监听模式,并且可以截获网络上所传输的信息。也就是说,当黑客登录网络主机并取得超级用户权限后,若要登录其它主机,使用网络监听便可以有效地截获网络上的数据。但是网络监听只能应用于连接同一网段的主机,通常被用来获取用户密码等。网络监听无法阻止,但是我们可以采取方式来避免遭受重大损失。例如:(1)在传输敏感数据时使用加密。加密方式可以选用PGP、RSA、DES、IDEA、CAST、Skipjack、RC2/RC4、MD2/MD4/MD5。(2)使用安全拓扑结构。3.端口扫描:对于黑客来说,端口就是入侵通道。端口扫描有手工与软件两种实现。手工实现可以综合运用Ping、Tracert、Rusers、Finger、Host等。软件实现则是使用扫描器,扫描器通过选用远程TCP/IP不同的端口的服务,可以搜集到许多关于目标主机的有用信息,从而为攻击提供参考。对于端口扫描的应对措施:可以通过使用软件对计算机各个端口所接收数据包的行为进行分析,通过大量的分析得出总体判断,进而阻止所有有可疑行为的数据包。4.口令入侵所谓口令入侵,就是指用一些软件解开已经得到但被人加密的口令文档,不过许多黑客已大量采用一种可以绕开或屏蔽口令保护的程序来完成这项工作。防止口令被轻易破解的措施:尽量使用含有字母、数字的复杂口令,同时,尽量避免口令内容与用户相关,做好操作系统的帐号和密码管理。5.放置特洛伊木马它最典型的做法可能就是把一个能帮助黑客完成某一特定动作的程序依附在某一合法用户的正常程序中,这时合法用户的程序代码已被改变。一旦用户触发该程序,那么依附在内的黑客指令代码同时被激活,这些代码往往能完成黑客指定的任务。木马的发现与清除:在Windows系统下,通过打开任务管理器,查看当前运行的进程,发现新增的不明进程,使用专用的木马清除软件。打好系统补丁,安装防病毒软件。6.电子邮件攻击电子邮件攻击主要表现为两种方式是电子邮件轰炸和电子邮件“滚雪球”,也就是通常所说的邮件炸弹,指的是用伪造的IP地址和电子邮件地址向同一信箱发送数以千计、万计甚至无穷多次的内容相同的垃圾邮件,致使受害人邮箱被“炸”,严重者可能会给电子邮件服务器操作系统带来危险,甚至瘫痪。二是电子邮件欺骗,攻击者佯称自己为系统管理员,给用户发送邮件要求用户修改口令(口令可能为指定字符中)或在貌似正常的附件中加载病毒或其他木马程序。这类欺骗需要用户提高警惕,不要随便回陌生人的邮件,不要随便点击邮件的网络连接,下载打开邮件附件。7.缓冲区溢出及其攻击:缓冲区是内存中存放数据的地方。通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其它指令,以达到攻击的目的。造成缓冲区溢出的原因是程序中没有仔细检查用户输入的参数。它的目的在于扰乱具有某些特权运行的程序的功能,这样可以使得攻击者取得程序的控制权,如果该程序具有足够的权限,那么整个主机就被控制了。对策:在编写程序的过程中谨慎考虑,细心安排,可以最大限度地减小造成缓冲区溢出的隐患。8.拒绝服务攻击DOS(DenfenceofService):这种攻击行动使网站服务器因为大量信息,消耗网络带宽或系统资源,导致网络或系统不胜负荷以至于瘫痪而停止提供正常的网络服务。最基本的Dos攻击就是利用合理的服务请求来占用过多的服务资源,致使服务器超载,无法响应其他请求。拒绝服务攻击问题也一直得不到合理的解决,这是由于网络协议本身的安全缺陷造成的,从而拒绝服务攻击也成为了黑客的终极手法。二、反垃圾邮件技术所谓的垃圾邮件主要指的是具有下列属性的电子邮件:(1)收件人无法拒收的电子邮件;(2)收件人事先没有提出要求或者同意接收的广告、电子刊物、各种形式的宣传品等具有宣传性质的电子邮件;(3)含有病毒、色情、反动等不良或有害信息的电子邮件;(4)隐藏发件人身份、地址、标题等信息的电子邮件;(5)含有虚假的信息源、发件人、路由等信息的电子邮件。反垃圾邮件技术的发展历程,从最初的简单IP过滤和关键字过滤技术到机器学习、神经网络和遗传算法等先进的研究经验的引入,已经取得了一系列研究成果,为开发反垃圾邮件产品提供了技术依据。下面从垃圾邮件过滤技术、SMTP协议改进技术、电子邮件服务器的安全管理三个方面对这些技术进行介绍。(一)垃圾邮件过滤技术垃圾件过滤主要是通过电子邮件的来源或者内容来进行过滤,它是目前市面上的大部分反垃圾邮件产品所采用的技术。为了提高效果,当前很多基于过滤技术的反垃圾邮件产品通常都同时结合了多种过滤技术。1.黑名单(BlackList)黑名单技术是最早出现的一种反垃圾邮件技术,一般的邮件服务器都具有该功能。黑名单技术的原理是把已知垃圾邮件制造者的域名或IP地址整理成列表,并以此为根据来拒绝任何来自列表上的垃圾邮件制造者的邮件。黑名单是基于用户投诉和采样积累而建立的、由域名或IP地址组成的数据库。这些数据库保存了频繁发送垃圾邮件的主机名字或IP地址,供邮件服务器进行查询以决定是否拒收相应的邮件。由于误报或者早期邮件服务器管理的问题,黑名单技术可能会将一些正常邮件地址列入其中。而且,当垃圾邮件制造者快速改变其邮件地址时,黑名单技术的处理效果将大幅下降,忽略垃圾邮件或者过滤掉正常邮件的误报率将大大增加。2.白名单(WhiteList)“白名单”是从“黑名单”一词中反造出来的一个名词,这个方案规定邮件接收者只接收自己所信赖的邮件发送者所发送过来的邮件。白名单技术提供两种使用方式:一种方式是用户阻止不在名单上的邮件;另一种方式是系统产生一个特殊的质询响应给邮件发送者,要求其回复,以证实确有邮件发送者其人,经过确认后将其列入白名单中。白名单技术并不总是有效,如果用户希望收到来自某一地址的电子邮件,用户必须事先设置允许接收这一地址的邮件的规则。而且,如果以前获得批准的用户改变了邮件地址,用户必须再次将新地址写入白名单,否则就收不到来自该用户的电子邮件。3.简单的关键字过滤简单的关键字过滤一直是对抗垃圾邮件的基本方法,但由于它没有在过滤的时候参照上下文,所以这种方式存在很多误判现象。4.简单DNS测试在发邮件的时候,随意编造一个域名是非常容易的。简单DNS测试就是在收到电子邮件时对发送者的互联网域名进行查询,以此来验证发送者信息的真实性。简单DNS测试可以帮助防治DNS欺骗。5.实时黑名单实时黑名单是简单黑名单的进一步发展,实际上是一个可供查询的IP地址列表,通过DNS的查询方式来查找一个IP地址的记录是否存在,并以此来判断其是否被列入了该实时黑名单中。由于邮件服务器非常繁忙,对黑名单服务器的查询会非常多,将导致查询响应迟缓,增加了延迟。实时黑名单技术有一定的效果,但容易被绕过。比如,改变IP地址或者利用第三方的服务器来发送垃圾邮件。同样地,域名很容易被获得并被垃圾邮件发送者利用,因而不能完全依赖它来判别垃圾邮件。6.指纹识别技术指纹识别技术来源于生物识别技术,它将垃圾邮件抽样提取标本,形成特征码,也就是所谓的“指纹”,再利用这些“指纹”来判定一封邮件究竟是不是垃圾邮件。这种技术需要经常维护指纹库。7.基于规则的过滤技术基于规则的过滤技术就是在邮件标题和邮件内容中寻找特定的模式,例如,主题包含“免费”,然后在邮件服务器上删除它们。其优点是规则可以共享,因此它的推广性很强。一个人写出的规则可以提供给多个人、多个服务器使用。由于规则都是人工编写的,它具有更新速度慢、时效性较差的缺点。8.贝叶斯过滤技术贝叶斯过滤技术由PaulGraham于2002年8月提出,它和基于规则的过滤技术比较中国教育和科研计算机网紧急响应组相似,但是贝叶斯过滤器不必预先设定规则。其理论基础是,在已知的垃圾邮件中,一些单词出现的频率较高,而在非垃圾邮件中,另一些单词出现的频率较高。通过特定算法对大量垃圾邮件和非垃圾邮件进行分析计算,得到垃圾邮件和非垃圾邮件单词的贝叶斯概率模型。可以由此概率模型推算目标邮件是垃圾邮件的概率。贝叶斯过滤器能够学习分辨垃圾邮件与非垃圾邮件之间的差别,并且自动应用到以后的检测中。由于这种方法的自适应、自学习能力强的特点,目前已经得到了广泛的应用。9.分布式适应性黑名单垃圾邮件往往被发送给大量接收方。实际上,几乎很少有垃圾邮件被定制为发送给个别接收方。然而,在缺少预先过滤的情况下,每个垃圾邮件的接收者必须按自己的“删除”按钮来删除垃圾邮件。分布式黑名单过滤器会让