|
UPNP存在严重缺点:以下是截过来的。
第一个缺陷是对缓冲区(Buffer)的使用没有进行检查和限制。外部的攻击者,可以通过这里取得整个系统的控制特权!由于UPnp功能必须使用计算机的端口来进行工作,取得控制权的攻击者,还有可能利用这些端口,达到攻击者的目的。这个缺陷导致的后果很严重,不论那个版本的windows 系统,只要运行UPnP,就都存在这个危险!但严格地说,这并不完全是UPnP技术本身的问题,更多的是程序设计的疏忽。
第二个缺陷就与UPnP的工作机理有关系了。该缺陷存在于UPnP工作时的“设备发现”阶段。发现设备可以分为两种情况:如果某个具备UPnP功能的计算机引导成功并连接到网络上,就会立刻向网络发出“广播”,向网络上的UPnP设备通知自己已经准备就绪,在程序设计这一级别上看,该广播内容就是一个M-SEARCH(消息)指示。该广播将被“声音所及”范围之内的所有设备所“听到”。并向该计算机反馈自己的有关信息,以备随后进行控制之用。
相类似,如果某个设备刚刚连接到网络上,也会向网络发出“通知”,表示自己准备就绪,可以接受来自网络的控制,在程序设计这一级别上看,该通知就是一个NOTIFY(消息)指示。也将被“声音所及”范围之内的所有计算机接受。计算机将 “感知”该设备已经向自己“报到”。实际上,NOTIFY(消息)指示也不是单单发送给计算机听的,别的网络设备也可以听到。就是在上述的一播一听之间,出现了问题!
如果某个黑客向某个用户系统发送一个NOTIFY(消息)指示,该用户系统就会收到这个NOTIFY(消息)指示并在其指示下,连接到一个特定服务器上,接着向相应的服务器请求下载服务―――下载将要执行的服务内容。服务器当然会响应这个请求。UPnP服务系统将解释这个设备的描述部分,请求发送更多的文件,服务器又需要响应这些请求。这样,就构成一个“请求――响应”的循环,大量占用系统资源,造成UPnP系统服务速度变慢甚至停止。所以,这个缺陷将导致“拒绝服务”攻击成为可能!
其实换句话说:UPNP功能在使用阶段是不断耗费自身的网络资源,当设备网络资源耗尽的时候就会出现假死现象。看上面那段资料就知道了。
其实UPNP功能好处是有,但是对于国产设备来说,这个是一个噩耗。
由于国产设备的芯片简化,很多厂家没有留意当开启UPNP功能后设备的稳定性,所以将固件设置默认为关闭状态,当用户觉得这个功能有效的时候(尤其的菜鸟,看说明书为精通的)就手动开启了UPNP功能,谁知道这个功能就是害死路由器的罪魁祸首。
现在的很多网络传送软件,多数都会要求用户开启UPNP功能,其实国产网络设备质量不会好过国外的产品,国外的产品有拆过的网友都会知道,里面至少芯片是好过国产的,甚至比较中等的路由器都会在芯片上面弄块散热片加强散热。
这里需要补充说明:UPNP功能必须要路由器和软件同时支持才能有效,但是很多情况下,不用路由器单纯用猫上网用带UPNP功能的软件,摸下猫猫都发烫得可以将冷水变成温水(40度左右)。可想而知路由器,SOHO路由器一般情况下是不带散热片就单纯一块芯片算数。
至于我为什么会说外国路由使用的芯片会好过国产,首先,成本的问题,这个不想说。其次,芯片自身原因,某些芯片具备高级UPNP计算模块,能提升路由器转发速度,但是国产使用的芯片多数不具备UPNP功能(说我坦白),开启后发热量会增加。
|
|