安全隐患,工具软件漏洞引发的安全隐患

工具软件漏洞引发的安全隐患 - 网络安全 - 电脑教程网

工具软件漏洞引发的安全隐患

日期:2006-05-16   荐:
最典型的远程管理软件来说,网管用它可以帮助用户远程解决问题,但是这类软件到了黑客手里,就变成了可以远程操控用户计算机的“高危”凶器。在了解软件正面、普通功能的同时,如果还能看到软件的潜在危险,将大大降低由这些软件带来的安全性问题。

纵观计算机几十年的发展历史,我们可以清楚地知道,最初的计算机输入输出系统是一种打了小孔的纸带,用以表示二进制的0和1,这就是早期的“存储器”(Memory)。在当时,“操作系统”(Operating System)的概念尚未出世,这种纸带承担了全部计算任务,这种计算任务,其实就是我们现在所说的“程序”(Program)。那个时候,程序的输入输出都要人工协作把纸带往阅读纸带的设备里送,同时还要对计算机做出的反应进行处理。随着计算机技术的发展,计算机的处理速度日益提高,以往依靠人工输入程序的工序成了计算机处理数据的瓶颈,人们需要一种能自动输入程序以及能实时对硬件反馈的信息做出反应的产品。这时计算机的存储技术有了飞跃,数据的输入输出不再需要纸带,而是转为了磁性介质存储,使人们得以摆脱纸带的束缚。采用磁存储技术使得数据输入输出更快,已经不适合人工控制,于是人们设计了一种帮助程序输入输出等工作的专用程序,“操作系统”的雏形就这样诞生了。发展到后来,操作系统成为管理硬件和人机交互的接口,它不仅负责处理底层硬件,还向用户提供一个操作界面用于实现硬件操作。可以这么说,计算机的发展史,就是操作系统的发展史。
应用程序
上面说了这么多关于操作系统的话题,也许心急的读者已经在纳闷儿了:这些跟信息安全有什么关系啊?要彻底理解操作系统和应用程序之间相互制约的关系,这些基本的道理一定要讲明白。
上面谈到,操作系统提供了一个人机交互的接口。可是,仅有一个操作系统是没有用的,操作系统就像一个舞台,它为观众提供了一个舞蹈场所,但是它并不能提供舞蹈演员——操作系统就像裹在蛋糕上的一层白色奶油,它仅仅为“硬件软化”作了一个铺垫而已,要完成实际的工作,还必须有另一种东西配合,这就要涉及到“应用程序”(Application)的概念了。
其实在上面提到的纸带机时期就已经有了应用程序的影子,人们先让计算机读入一段初始化程序,接着再把实际应用的程序代码纸带输入计算机,如果没有前面的一段初始化程序,后面要用到的程序代码根本无法被识别执行。这段初始化程序放到今天来说就类似于“操作系统”,那实际操作的程序代码就是“应用程序”。换用较为严谨的计算机理论术语来表述,那就是:应用程序建立在操作系统基础上,通过操作系统提供的接口得以控制硬件工作方式,从而完成用户期望的操作。计算机硬件为搭建舞台提供了地基,操作系统就是那一座舞台,而舞台上必须有舞蹈演员——应用程序。
系统接口
既然硬件、操作系统、应用程序这三者是相辅相成的,那么它们之间通过什么渠道进行沟通呢?答案是接口(Interface)。
操作系统位于硬件和应用程序之间,充当一个中介的角色,因此它在硬件方面具有底层交互能力,在用户界面又提供了一种能让应用程序使用的接口,设计者把这个接口表达为各个功能不同的代码指令(称为接口函数),应用程序并不直接与硬件打交道,而是通过这些预先设定好的接口函数得以实现硬件操作。很多应用程序的功能实现实际上是依靠操作系统提供的各种接口函数完成的,它们并没有权利直接与硬件打交道。这样的控制结构必然导致应用环境复杂化,从而引发出一个又一个不可预料的后果,我们会在后面的文章中用具体的例子来说明。
杀毒软件的尴尬
自从计算机病毒诞生以来,杀毒软件在许多人的眼里成了电脑保护神的代名词,然而你也许不知道,病毒和杀毒软件本来是一家,它们都属于应用程序。正如同属动物的猫和老鼠一样,尽管它们是冤家,但你也不能把猫视为神仙供奉,再厉害的猫终究也会有失败的时候,杀毒软件自然逃不过这个法则。
从第一款杀毒软件面世到现在,杀毒软件经历了多次改朝换代,后台监测技术也得以挂上“XX盾”、“XX墙”之类的专用名词放上台面,可是它们能如厂商宣传的那样,真的百毒不侵吗?事实是,如果用户把100%信心都放在这些什么“墙”或者“盾”上面,那么有一天当你蓦然回首自己的计算机时,会发现一些病毒一直在坦然面对你信赖的“墙”,并在你的计算机里繁衍生息。
为什么会出现这样的情况呢?这与杀毒软件采用的技术密切相关,现在大部分杀毒软件都采用一种被称为“特征码检测”的病毒扫描技术,其原理是读取一个程序或文件内容,并与自身数据库里储存的已被确认为病毒程序的某段代码进行匹配,一旦两者相同,杀毒软件就“确认”此文件为病毒,这种方法的优点是杀毒效率提高了,厂商也不用为增加查杀新病毒的代码而头痛了,因为只需要更新病毒数据库(病毒特征库)就行了;但是这样做的缺点也是不容忽视的,由于如今病毒发展也相对迅速,不仅会出现传统技术无法清除的病毒(如当年的“中国黑客”),而且病毒特征码也必须随时更新。这在国内不太现实,因为国内很多用户使用的多是非正版杀毒软件(或者多人使用同一套杀毒软件),这就意味着他们无法得到更新病毒特征库的服务,而且很多用户根本不知道病毒库也需要升级更新,安装完杀毒软件后从来就没有进行过病毒特征库的更新工作,让这样一个杀毒软件做你的“墙”,能安心吗?

[1] [2] [3]  



screen.width-300)this.width=screen.width-300' border='0' alt='Click to Open in New Window'>

危险的替换服务
如果说仅仅是由于特征库得不到及时更新而导致“墙”不能遮挡风雨,那也情有可原。可是一般用户也许不知道,有时候,庇护他们计算机安全的“墙”本身也可能存在漏洞,这种漏洞带来的安全性问题往往比病毒更难防范。
究其原因,是因为杀毒软件自身也是程序,根据墨菲定律,“任何程序都会存在漏洞缺陷”,杀毒软件中存在漏洞也在所难免,一些杀毒软件甚至会被病毒狙杀!
由于杀毒软件采用特征检测手段去查杀病毒,那么病毒体特征码只要稍作变动,就可以大摇大摆地躲过杀毒软件的扫描。
杀毒软件是运行在操作系统之上的程序,和杀毒软件一样,操作系统也可以被称之为一个大的程序,那么操作系统也一定会存在种种缺陷和漏洞。可想而知,由操作系统这个“地基”引发的安全漏洞将会给应用程序带来多么大的影响。这里,抛开操作系统漏洞直接引起的病毒、黑客安全隐患,让我们一起来看看更高级的问题:“替换服务法”和“利用杀毒软件特级权限入侵系统”。
NT架构系统普遍采用一种称为“服务”(Service)的技术作为系统底层接口,一般情况下,用普通终止进程命令无法停止服务运行,这是服务享有的特权。实际上,这些服务自身也是一个个应用程序,如果杀毒软件要在系统启动时就把自身运行起来并享有不被轻易终止的特权,它就必须作为一个服务程序运行。这样看来,杀毒软件似乎一旦随系统启动运行起来就万事无忧了,然而NT系统却给这些享有特权的程序们开了另外一个“玩笑”:稍微了解电脑的用户都知道,一般的情况下,程序正在运行的时候是无法删除它自身的磁盘文件和所有与这个程序有调用关系的文件的,这是操作系统的保护机制,用以保证应用程序的完整性;然而在服务程序的领域里,这条守则被打破了:对于采用服务方式启动且已经在运行的程序,系统没有保护它们的磁盘文件!于是用户的噩梦来了,杀毒软件的服务程序被入侵者删除并用后门程序代替,下次系统启动时,用户的计算机就对外面的世界敞开了大门。
screen.width-300)this.width=screen.width-300' border='0' alt='Click to Open in New Window'>

轻松入侵
WinAMP、Media Player、RealPlayer……每个用户的计算机上都会有多种音乐播放器,正是因为这些音乐工具与系统的配合,用户才有了精彩的声乐体验,然而谁又能预料到在悠扬音乐的背后,一双黑手可能正透过软件的漏洞在向你发起进攻呢?
个人电脑与网络紧密结合是当今世界的趋势,音乐播放器自然不会忽略这一部分市场,但是网络是危险的,稍有不慎便会从网上坠落,摔个粉碎。Winamp主程序仅仅作为一个承担众多功能模块的控制界面,但是这些模块里出现的漏洞却会毫不留情地出卖它,Winamp中承担CD音乐播放的IN_CDDA.dll就是这样。这个插件里面包含一段与网页交互的代码,不幸的是这段代码存在严重缺陷,当它与恶意网页交互时,会下载网站上存放的后门程序并执行。
RealPlayer早就实现了把自身嵌入网页的功能,但是它太服从于包含它的网页了,以至于网页下命令让它控制用户的计算机它也照做。
Media Player系出名门,理应知道网络的危险,然而不幸的是,它太依赖自家兄弟IE了,导致MIME漏洞配合脚本入侵把这些难兄难弟一锅端了。
流媒体播放软件要实现在线播放,就必须搭配一款为之订做的音乐源提供工具,于是就有了Helix Universal Server、Windows Media Server和Nullsoft SHOUTcast Server等媒体服务器,这些服务器工具是播放软件最大的动力源,然而这些动力源都不约而同存在着缓冲区溢出漏洞——这个漏洞已经让我们头痛了很多年。
音乐工具服务器端的工作原理和普通HTTP服务器一样,它工作的依据是客户端发来的数据请求,但是这个数据请求可能是恶意的。还记得溢出攻击的核心“格式化字符串”吗?这些看似平凡无奇的字符请求搞垮了无数软件,音乐服务器也不例外。SHOUTcast Server一旦接收到一段包含特殊字符串的数据请求就产生了溢出,进而让入侵者拿到控制服务器的权限;Helix Universal Server是RealPlayer的幕后助手,但是它也承受不住包含超过约定长度的数据请求,入侵者发送一段超长的包含特定字符的URL字符串请求就足以让它交出最大权限;虽然Windows Media服务器自身并不会那么容易被溢出攻击,但是它的兄弟IIS又把它牵扯进了这个漩涡里。安全专家发现,真正的缓冲区溢出源于Windows Media Services的ISAPI扩展(nsiislog.dll)对用户请求的处理上,这个溢出导致入侵者能够获得guest权限。有人会说guest权限没什么可怕的,那是他还不知道如今从guest提升权限到管理员级别已经是相对简单的事情了。

 [1] [2] [3]  

搜索引擎带来的安全隐患
从世界上第一个网络搜索引擎(由YAHOO出品)诞生到现在,搜索引擎技术已经发展到相当成熟的阶段了,也许有人还不明白搜索引擎的原理,为什么它能迅速找到这么多网站页面呢?所谓搜索引擎(Search Engineering),就是一种能够获得网站网页资料并建立数据库、提供查询服务的系统。由于Internet的迅速发展,我们可以获取信息的途径越来越多,要查找一个特定的信息数据开始变得非常困难,在浩如烟海的网络中找寻半天也无法得到你想要的信息,这也导致了信息更新速度的不同步,为此,人们急切需要一种能尽量把各种信息统一管理并提供简便搜索功能的工具,搜索引擎因此而诞生。在经历一番搜索引擎的混战后,Google最终以先进的全文搜索技术脱颖而出,成为目前最大最好用的搜索引擎,然而“恶狼”们也搭上了这趟网络搜索顺风车。
全文搜索引擎的特点是能对某个页面的所有元素进行分析记录,但是新的信息安全噩梦同时尾随而来。由于全文搜索引擎会把页面里所有文字和元素都进行记录,这就意味着无论用什么关键字都能查找到相关内容,包括一些隐蔽的地址、特殊报文返回的数据、甚至某个页面里的脚本代码,因此全文搜索引擎成为网页入侵者的“法宝”,因为入侵者可以通过文件名找到相关页面。
记得在DVBBS论坛UPFILE.ASP上传漏洞盛行的时候,很多入侵者就是借用全文搜索引擎查找包含“UPFILE.ASP”的页面,从而得知哪些论坛使用DVBBS并且存在这个文件,然后尝试入侵,许多论坛因此被全文搜索引擎揪了出来并被夺取权限。
如果说以上提到的手工方法由于繁琐以及准确率不高而不会造成大面积恐怖影响的话,那么最近出现的一款名为Santy的网络蠕虫就改写了这个观点,并且创造了又一个新的蠕虫发展里程碑——Santy第一次把世界著名全文搜索引擎Google有害的一面发挥得淋漓尽致,它采用上面提到的搜索方法,向Google发出搜索一个包含最新PHP漏洞的论坛页面,取得回应并处理过滤后,就自动实现入侵破坏。因为这个蠕虫刚出世,属于“概念型”蠕虫,因此它还不能做到人类般狡猾,去夺取论坛权限或者渗透主机,但是它把受害论坛改得面目全非的行径已经足以让管理员无奈,况且依照病毒的行为趋势预测,再过不久就会有更智能的搭载Google顺风车并真正入侵服务器的蠕虫病毒诞生。
越来越多搭载Google搜索引擎的入侵方法导致了“GoogleHacking”这个新名词的诞生,因为入侵者可以通过Google找到存在脆弱性的主机以及包含敏感数据的信息,包括被渗透的信息、被放置了WebShell(网页后门)的服务器等,这些东西都能够在Google上找到!
网络安全专家曾经做过这样一个试验:在s8s8.net放了一个用于查杀恶意WebShell的ASP木马,过了没多久,他们就在Google上发现了这个文件的名字!这真是让人觉得不可思议。要知道,一些论坛直接在链接的文件里放置密码,如果是这样的话,这些文件的内容很有可能被Google暴露出来。
如今通过Google找到的敏感信息越来越多,其危害程度也以几何数的速度在递增,如果按照这个趋势发展下去,Google或其他搜索引擎会不会成为新一轮入侵的导火索呢?
正视工具软件漏洞
处于正常用途时,刀乃工具,可助人开物;然而一旦落入非法用途,后果自然不言而喻。
工具软件作为用户得以正常工作的基础,其作用不容忽视,更不能由于它们存在些许漏洞就因噎废食。
换言之,人无完美,工具是由人设计的,又怎么能指望它们能够尽善尽美呢?况且如果没有这些多种多样的工具,我们的计算机世界也不会发展到今天这般缤纷的程度。
作为最终用户的我们,并不具备修复代码的能力,也不可能拿到工具软件的源代码进行修改,我们能做的,惟有时刻关注安全公告,及时做出防御反应,才能把工具软件漏洞带给我们的危害减小到最低程度。
screen.width-300)this.width=screen.width-300' border='0' alt='Click to Open in New Window'>

(出处:http://www.sheup.com)


 [1] [2] [3] 

screen.width-300)this.width=screen.width-300' border='0' alt='Click to Open in New Window'>

(出处:http://www.sheup.com)


 [1] [2] [3] [4] 

处于正常用途时,刀乃工具,可助人开物;然而一旦落入非法用途,后果自然不言而喻。
工具软件作为用户得以正常工作的基础,其作用不容忽视,更不能由于它们存在些许漏洞就因噎废食。
换言之,人无完美,工具是由人设计的,又怎么能指望它们能够尽善尽美呢?况且如果没有这些多种多样的工具,我们的计算机世界也不会发展到今天这般缤纷的程度。
作为最终用户的我们,并不具备修复代码的能力,也不可能拿到工具软件的源代码进行修改,我们能做的,惟有时刻关注安全公告,及时做出防御反应,才能把工具软件漏洞带给我们的危害减小到最低程度。
screen.width-300)this.width=screen.width-300' border='0' alt='Click to Open in New Window'>

(出处:http://www.sheup.com)


 [1] [2] [3] [4] [5] 

标签: