对错误,漏洞和exploits的说明(2)
另一个配置错误的例子是,在一个网络中的不受管理的hub代替可管理的交换机的用法。不同之处是,hub发送所有进入的数据包到所有的端口,因为它并不知道在它后面的接收者被定位到哪个端口,而交换机知道。所以,在一个使用hub代替交换机的网络中运行一个sniffer,允许一个攻击者查看包含可能的用户名及密码的更多数据包,解决办法就是在网络中使用交换机。即使现在这是一个配置错误,但在过去却不是,因为那时交换机还不存在。
设计错误:
设计错误可以被看成是在软件设计阶段发生的错误。即使程序员花足够的时间在软件发布之前编写检测流程来检验所有用户的输入,即使软件被最终用户正确地配置,这些错误仍然会造成对于一个网络的安全的极大危险。
让我们看看这种情况:一个公司决定开发一个软件,这个软件允许远程访问到一个网络。那么他们也不得不支持这个软件,从而他们决定放一些后门在里面以至于能使用公司名字作为密码远程登录。如果公司以外的人发现了那些后门呢,会发生什么?他使用那个软件的远程访问能够登录进任何一个网络。结果将会是损失惨重的!
尽管这些后门在过去被创建的相当频繁,现在一个公司销售类似的软件却不会再带来风险了,因为他要对攻击者的滥用后门负责。
另一个设计错误的例子是使用在安全无线网络中的WEP加密。我不打算深入说明这为什么是一个设计错误,毕竟那超出了这篇文章的范围,但是它的基本流程是这样的:
一个3字节的初始化矢量增加到公钥中来加密每个唯一的数据包。假设公钥是abcde。第一个数据包的初始化矢量是123,因此这个数据包的全部密钥就是123abcde。下一个数据包的初始化矢量是234,那么它的密钥就是234abcde。
设计错误在这里其实也就是,只有3字节的不同初始化矢量,导致了255^3或者说1650万不同的keys以及部分加密算法被使用。通过逆向分析部分算法,能够相当容易地获得公钥中的几个字符。由于这个设计错误,你只需要用唯一的初始化矢量重复发送10万个包(64-bit),发送80万个包(128-bit),就能破解出WEP-key,便可以进入完整的无线网络中。在一个繁忙的无线网络中这能在几小时内做到。
那么你看到了,设计错误有点更难解决。你不能只是期望厂商发布快速更新来解决这个问题,你也不可能通过查阅产品说明书自己解决。针对WEP加密这种情况,一个小组创建了一个新的标准,叫做WPA。这意味着使用WEP加密的产品应该被取代,或者通过硬件更新以允许它们用这个新加密标准工作。对于已发现的WEP上的设计错误的细节描述,可以去看看airscanner。com上面的精华文章。
内容版权声明:除非注明,否则皆为本站原创文章。