论坛: UNIX系统 标题: Unix/Linux的安全隐患 复制本贴地址    
作者: tysx [tysx]       登录
国家仿真与控制工程技术研究中心 丁小平 

Unix/Linux对远程登录失败的处理,存在安全隐患。 
Unix/Linux操作系统对远程多次登录失败的处理是断开与对方的连接,在这种情况下,正在登录的客户端软件会因服务方的连接中断而中止。这一安全策略对付穷举密码攻击是很有效的,因为攻击者在服务方断开连接后重新进行连接的时间代价是很大的。 
事实上,这一安全策略有一个很大的隐患-----它的策略实现要依靠客户端软件的合作,它要求客户端软件在服务方断开连接后退出或中止,以达到延时的目的。如果客户软件不合作,没有退出以完成延时,而是以最小的延时重新连接并登录服务方,那么服务方以延时为目的的安全策略将很难达到它的目的。这样,客户方就可以猜解服务方的用户密码了。 
网络协议的服务/客户端都是一个有限状态机,客户的状态机可以抽象简化为图1,图1表示的意义是:客户状态机在网络建立连接后,由“开始”转入“用户认证”,如果认证失败则转到“结束”,如果认证成功则请求服务方向客户方提供各种服务。操作系统自带的网络客户程序(注意区别于网络客户)被有意设计成软件的运行状态随网络客户状态机的变化而变化,也就是当网络客户机转向结束时程序也结束。服务方正是通过控制客户状态机来控制客户程序的运行,进而实现它的安全策略。在使用WinNT/2000、Unix/Linux自带的Telnet客户程序或FTP客户程序登录Unix/Linux服务器时,上面所述的安全策略就起到了作用,它可以令客户程序自动退出。 
如果现在不使用操作系统自带的网络客户软件,而是使用重新设计网络客户软件,这个网络客户的状态机如图2所示。图2所示状态机表示的意义是:当客户状态机状态转到“结束”时,又自动转到“开始”,即状态机永远循环没有退出,同时客户软件的状态也独立于状态机状态,即状态机退出时客户软件不退出。根据图2所示状态机设计的网络客户软件可以使Unix/Linux对远程登录失败处理的安全策略失去作用。在10/100M以太局域网络中,按照上面思路设计的客户端软件可在120分钟内猜测完所有由数字组成的六字符密码。 
WinNT/2000处理多次登录失败的策略是锁定帐号,这一策略优于Unix/Linux的安全策略,但是存在另外的安全问题,本人已有文章具体论述。解决Unix/Linux这一安全隐患的办法是,网络服务软件记录多次登录失败的主机地址或主机名,在建立新的连接时不与记录的主机连接。


地主 发表时间: 04/06 20:15

论坛: UNIX系统

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号