安全决策,这里指的是会导致安全问题的一类决策。这类决策往往都含有较为敏感的数据,也就是意味着一个人在做出决策时,可能会因为关键数据的泄露,导致不受欢迎的结果。很可能发生这样的事情:第三方利用各类决策数据攻破某种秘密,进行破坏活动,或者导致不安全的后果。例如,在某种场合输入帐户和密码,就是我们在此谈到的安全决策问题。因为帐户和密码的泄露会产生我们不希望发生的问题。此外,从Internet上下载文件也是一类安全决策问题。不能否认,在下载的文件当中可能会包含有恶意破坏的成分,尽管这样的事情不会经常发生。
安全决策问题无处不在,甚至在我们通过阅读显示信息做出决策时,也存在一个关于信息准确性的安全决策问题。例如,如果你决定根据网上证券站点所提供的证券价格购买某类证券时,那么你必须确保所接收信息的准确性。如果有人故意提供不正确的证券价格,那么不可避免地会有人浪费自己的财富。
暗示
WWW站点提供给用户的是丰富多彩的各类信息,人们通过浏览器任意翻阅网页,根据得到的上下文环境来做出相应的决定。Web页面上的文字、图画与声音可以给人以深刻的印象,也正是在这种背景下,人们往往能够判断出该网页的地址。例如,一个特殊标识的存在一般意味着处于某个公司的Web站点。
我们都知道目标的出现往往传递着某种暗示。在计算机世界中,我们往往都习惯于各类图标、图形,它们分别代表着各类不同的含义。富有经验的浏览器用户对某些信息的反应就如同富有经验的驾驶员对交通信号和标志做出的反应一样。
目标的名字能传达更为充分的信息。人们经常根据一个文件的名称来推断它是关于什么的。manual.doc是用户手册的正文吗?它完全可以是另外一个文件种类,而不是用户手册一类的文档。一个microsoft.com的链接难道就一定指向我们大家都知道的微软公司的URL地址吗?显然可以偷梁换柱,改向其他地址。
人们往往还会在时间的先后顺序中得到某种暗示。如果两个事件同时发生,你自然地会认为它们是有关联的。如果在点击银行的网页时,username对话框同时出现了,你自然地会认为你应该输入你在该银行的帐户与口令。如果你在点击了一个文档链接后,立即就开始了下载,那么你很自然地会认为该文件正从该站点下载。然而,以上的想法不一定都是正确的。
如果你仅仅看到一个弹出窗口,那么你会和一个可视的事件联系起来,而不会认识到一个隐藏在窗口背后的不可视的事件。 现代的用户接口程序设计者花费很大的精力来设计简单易懂的界面,人们感受到了方便,但潜在的问题是人们可能习惯于此,不可避免地被该种暗示所欺
TCP和DNS欺骗
除了我们将要讨论的欺骗手段外,还有一些其他手段,在这里我们将不做讨论。这种攻击的例子包括TCP欺骗(在TCP包中使用伪造的IP地址)以及DNS欺骗(攻击者伪造关于机器名称和网络信息)。读者有兴趣可以阅读有关资料。
Web欺骗
Web欺骗是一种电子信息欺骗,攻击者在其中创造了整个Web世界的一个令人信服但是完全错误的拷贝。错误的Web看起来十分逼真,它拥有相同的网页和链接。然而,攻击者控制着错误的Web站点,这样受攻击者浏览器和Web之间的所有网络信息完全被攻击者所截获,其工作原理就好像是一个过滤器。
后果
由于攻击者可以观察或者修改任何从受攻击者到Web服务器的信息;同样地,也控制着从Web服务器至受攻击者的返回数据,这样攻击者就有许多发起攻击的可能性,包括监视和破坏。
攻击者能够监视受攻击者的网络信息,记录他们访问的网页和内容。当受攻击者填写完一个表单并发送后,这些数据将被传送到Web服务器,Web服务器将返回必要的信息,但不幸的是,攻击者完全可以截获并加以使用。大家都知道绝大部分在线公司都是使用表单来完成业务的,这意味着攻击者可以获得用户的帐户和密码。下面我们将看到,即使受攻击者有一个“安全”连接(通常是通过Secure Sockets Layer来实现的,用户的浏览器会显示一把锁或钥匙来表示处于安全连接),也无法逃脱被监视的命运。
在得到必要的数据后,攻击者可以通过修改受攻击者和Web服务器之间任何一个方向上的数据,来进行某些破坏活动。攻击者修改受攻击者的确认数据,例如,如果受攻击者在线订购某个产品时,攻击者可以修改产品代码,数量或者邮购地址等等。攻击者也能修改被Web服务器所返回的数据,例如,插入易于误解或者攻击性的资料,破坏用户和在线公司的关系等等。
欺骗整个Web世界
你可能认为攻击者欺骗整个Web世界是不可能的,但是恰恰相反,攻击者不必存储整个Web世界的内容,他只需要制造出一条通向整个Web世界的链路。当他需要提供关于某个Web站点的错误Web页面时,他只需要在自己的服务器上建立一个该站点的拷贝,由此等待受害者自投罗网。
前面描述的攻击相当有效,但是它还不是十分完美的。黑客往往还要创造一个可信的环境,包括各类图标、文字、链接等,提供给受攻击者各种各样的十分可信的暗示。总之就是隐藏一切尾巴。此时,如果错误的Web是富有敌意的,那么无辜的用户将处于十分危险的境地。
另外,黑客还会注意以下方面。
1. 状态线路
连接状态是位于浏览器底部的提示信息,它提示当前连接的各类信息。Web欺骗中涉及两类信息。首先,当鼠标放置在Web链接上时,连接状态显示链接所指的URL地址,这样,受攻击者可能会注意到重写的URL地址。第二,当Web连接成功时,连接状态将显示所连接的服务器名称。这样,受攻击者可以注意到显示 www.org ,而非自己所希望的站点。
攻击者能够通过javascript编程来弥补这两项不足。由于javascript能够对连接状态进行写操作,而且可以将javascript操作与特定事件绑定在一起,所以,攻击者完全可以将改写的URL状态恢复为改写前的状态。这样Web欺骗将更为可信。
2. 位置状态行
浏览器的位置状态行显示当前所处的URL位置,用户也可以在其中键入新的URL地址进入到另外的URL,如果不进行必要的更改,此时URL会暴露出改写后的URL。同样地,利用javascript可以隐藏掉改写后的URL。javascript能用不真实的URL掩盖真实的URL,也能够接受用户的键盘输入,并将之改写,进入不正确的URL。
Web欺骗的弱点
尽管黑客在进行Web欺骗时已绞尽脑汁,但是还是留有一些不足。
文档信息
攻击者并不是不留丝毫痕迹,HTML源文件就是开启欺骗迷宫的钥匙。攻击者对其无能为力。通过使用浏览器中“viewsource”命令,用户能够阅读当前的HTML源文件。通过阅读HTML源文件,可以发现被改写的URL,因此可以觉察到攻击。遗憾的是,对于初学者而言,HTML源文件实在是有些难懂。
通过使用浏览器中“view document information”命令,用户能够阅读当前URL地址的一些信息。可喜的是这里提供的是真实的URL地址,因此用户能够很容易判断出Web欺骗。不过,绝大
