首页 百科知识 应用层问题

应用层问题

时间:2022-10-13 百科知识 版权反馈
【摘要】:同时需要保护DNS服务器的安全,防止DNS服务不可用,而及时更新补丁、购买安全防御工具的手段可以解决。Web欺骗是一种电子信息欺骗,攻击者在其中创造了整个Web世界的一个令人信服但是完全错误的副本。然而,攻击者控制着错误的Web站点,这样被攻击者浏览器和Web之间的所有网络信息完全被攻击者所截获,其工作原理就好像是一个过滤器。为了提高Web应用的安全性,有人提出了安全连接的概念。

3.3.3 应用层问题

1.DNS安全问题

下面以DNS欺骗为例,简要介绍DNS协议的安全问题。

(1)DNS协议

在因特网上为便于记忆大量使用主机名而不是IP地址,它们之间的转换需要使用DNS域名服务。DNS的本质是一种分层次的、基于域的命名方案,并且用一个分布式数据库系统来实现此命名方案。

(2)DNS的工作过程

第1步,客户机提出域名解析请求,并将该请求发送给本地的域名服务器。

第2步,当本地域名服务器收到请求后,首先查询本地缓存,如果有该记录项,则本地域名服务器直接把查询的结果返回。

第3步,如果本地缓存中没有该记录,则本地域名服务器直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个查询域(根的子域)的域名服务器的地址。

第4步,本地服务器再向第3步返回的域名服务器发送请求,接收请求的服务器查询自己的缓存,如果没有该记录,则返回相关的下级的域名服务器的地址。

重复第4步,直到找到正确的记录。

本地域名服务器把返回的结果保存到缓存,同时将结果返回给客户机。

域名解析的方式有两种:第一种叫递归解析(Recursive Resolution),要求名字服务器系统一次性完成全部名字-地址变换;第二种叫反复解析(Iterative Resolution),每次请求一个服务器,若成功则请求别的服务器。二者的区别在于前者将复杂性和负担交给服务器软件,后者则交给解析器软件。显然递归解析方式在名字请求频繁时性能不好,而反复解析方式在名字请求不多时性能不好。

(3)DNS欺骗

域名系统(Domain Name System,DNS)是一种用于TCP/IP应用程序的分布式数据库,它提供主机名字和IP地址之间的转换以及有关电子邮件的选路信息。DNS有两个重要特性:一是DNS对于自己无法解析的域名,会自动向其他DNS服务器查询;二是为提高效率,DNS会将所有已经查询到的结果存入缓存(Cache)。正是这两个特点,使得DNS欺骗(DNS Spoofing)成为可能。DNS的正常工作过程如图3-15所示。

图3-15有A、B、C三台主机,其中B向A提供DNS服务,A想要访问C(www.ccc.com),这个过程如下:

①A向B发一个DNS查询请求,要求B告诉www.ccc.com的IP地址,以便与之通信;

②B查询自己的DNS数据库,找不到www.ccc.com的IP地址,遂向其他DNS服务器求援,逐级递交DNS请求;

③某个DNS服务器查到了www.ccc.com的IP地址,向B返回结果,B将这个结果保存在自己的缓存中;

④B将结果告诉A;

⑤A得到了C的地址,就可以访问C了(如向C发出连接请求)。

img70

图3-15 DNS工作过程示意图

在上述过程中,如果B在一定的时间内不能给A返回要查找的IP地址,就会给A返回主机名不存在的错误信息。

实施DNS欺骗的基本思路是:让DNS服务器的缓存中存有错误的IP地址,即在DNS缓存中放一个伪造的缓存记录。为此,攻击者首先需要伪造一个用户的DNS请求,其次再伪造一个查询应答。

但是,在DNS的消息格式中还有一个16位的查询标识符(Query ID),它将被复制到DNS服务器的相应应答中,在多个查询未完成时,用于区分响应。所以,回答信息只有查询标识符和IP都吻合才能被DNS服务器接受。因此,进行DNS欺骗攻击,还需要能够精确地猜测出查询标识符。由于查询标识符每次加1,只要通过第一次向将要欺骗的DNS服务器发送一个查询包并监听其查询标识符值,随后再发送设计好的应答包,包内的查询标识符就是要预测的查询标识符。下面结合图3-15,介绍一次DNS欺骗过程。

①攻击者先向B(DNS服务器)提交查询www.ccc.com的IP地址的请求;

②B向外递交查询请求;

③攻击者立即伪造一个应答包,告诉www.ccc.com的IP地址是201.15.192.04(往往是攻击者的IP地址);

④查询应答被B(DNS服务器)记录到缓存中;

⑤当A向B提交查询www.ccc.com的IP地址请求时,B将201.15.192.04告诉A。可以看出,DNS欺骗是有一定的局限性的,一方面,攻击者不能替换DNS缓存中已经存在的记录;另一方面,缓存中的记录具有一定的生存期,过期就会被刷新。

要实现对DNS欺骗的防范可以通过对所得IP地址再次验证来实现。同时需要保护DNS服务器的安全,防止DNS服务不可用,而及时更新补丁、购买安全防御工具的手段可以解决。运营商需要和DNS提供商建立良好的沟通机制和必要的应急联动机制。

2.HTTP安全问题

以Web欺骗为例,简述HTTP安全问题。

Web欺骗是一种电子信息欺骗,攻击者在其中创造了整个Web世界的一个令人信服但是完全错误的副本。错误的Web看起来十分逼真,它拥有相同的网页和链接。然而,攻击者控制着错误的Web站点,这样被攻击者浏览器和Web之间的所有网络信息完全被攻击者所截获,其工作原理就好像是一个过滤器。

欺骗能够成功的关键是在被攻击者和其他Web服务器之间设立起攻击者的Web服务器,这种攻击类型在安全问题中称为“来自中间的攻击”。为了建立起这样的中间Web服务器,黑客往往进行以下工作:

首先,攻击者改写Web页中的所有URL地址,这样它们指向了攻击者的Web服务器而不是真正的Web服务器。假设攻击者所处的Web服务器是www.org,攻击者通过在所有链接前增加http://www.www.org来改写URL。例如,将http://home.xxx1.com变为http://www.www.org/http://home.xxx1.com。当用户点击改写过的http://home.xxx1.com(可能它仍然显示的是http://home.xxx1),将进入的是http://www.www.org。然后由http://www.www.org向http://home.xxx1.com发出请求并获得真正的文档,再改写文档中的所有链接,最后经过http://www.www.org返回给用户的浏览器。

工作流程如下:

·用户点击经过改写后的http://www.www.org/http://home.xxx1.com;

·http://www.www.org向http://home.xxx1.com请求文档;

·http://home.xxx1.com向http://www.www.org返回文档;

·http://www.www.org改写文档中的所有URL;

·http://www.www.org向用户返回改写后的文档。

很显然,修改过的文档中的所有URL都指向了www.org,用户点击任何一个链接都会直接进入www.org,而不会直接进入真正的URL。如果用户由此依次进入其他网页,那么他们是永远不会摆脱掉被攻击的可能。

如果被攻击者填写了一个错误Web上的表单,那么结果看来似乎会很正常,因为只要遵循标准的Web协议,表单欺骗很自然地不会被察觉:表单的确定信息被编码到URL中,内容会以HTML形式来返回。既然前面的URL都已经得到了改写,那么表单欺骗将是很自然的事情。

当被攻击者提交表单后,所提交的数据进入了攻击者的服务器。攻击者的服务器能够观察,甚至是修改所提交的数据。同样,在得到真正的服务器返回的信息后,攻击者在将其返回给攻击者以前也可以为所欲为。

为了提高Web应用的安全性,有人提出了安全连接的概念。它是在用户浏览器和Web服务器之间建立一种基于SSL的安全连接。可是让人感到遗憾的是,它在Web欺骗中基本上无所作为。被攻击者可以和Web欺骗中所提供的错误网页建立起一个看似正常的“安全连接”:网页的文档可以正常地传输而且作为安全连接标志的图形(通常是关闭的一把钥匙或者锁)依然工作正常。换句话说,也就是浏览器提供给用户的感觉是一种安全可靠的连接。但正像我们前面所提到的那样,此时的安全连接是建立在www.org而非用户所希望的站点上。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈