文/杨望
密码安全小工具系列谈 (一) “脱库门”敲警钟 “一号通”问题求解
文/杨望
随着2011年众多“脱库门”爆发,世界上人数最多的中国网民们终于从虚假的安全梦中醒来,理解了安全厂商长期以来面对强大的地下经济体系时苦苦支撑的压力,明白了自己多一点安全常识才能为这场道高一尺、魔高一丈的安全战争赢得一点小小的胜利机会。这次的“脱库门”中焦点问题集中于两方面:一方面是用户习惯性的“一号”走天下,另一方面是大量的网站“一密”看万号。面对互联网众多需要用户名和密码的网站,网民无法靠人力来记住所有网站的密码,最简单的方法就是为所有的网站都使用统一的用户名和密码,这样将密码的维护成本降到了最低,但也将密码出问题时的安全成本升到了最高,一旦黑客们从一个安全等级较低的网站拿到了用户的账户,即时其他网站的安全等级再高,黑客们也可以轻轻松松使用已获得的用户名和口令去尝试,并有很大的概率成功登入网站。因此就用户而言,需要一款成熟的口令管理软件来维护自己的口令,并尽量在不同的网站上使用不同的用户名和口令。另一方面,大多数的网站没有仔细考虑过如何尽量安全地保存用户名与口令,通常只使用简单的哈希或者加密算法来保证账户的安全,一旦网站的数据库泄漏,很容易被黑客通过彩虹表或统计方法进行破解。本期文章将先讨论如何利用KeePass工具来解决常见的用户“一号通”问题。
KeePass的全称是KeePass Password Safe,是由Dominik Reichl开发的一款开源的密码管理软件。KeePass的网站是http://keepass.info/,作为开源软件,该软件可以直接从网站下载并进行安装。
密码管理:密码管理软件最基本的功能自然是密码的管理。KeePass以数据库的形式对密码进行管理和存储,每个用户在使用KeePass时需要先建立自己的密码数据库,在密码库中,用户可以为不同类型的密码建立不同的分组(Group),比如网络、服务器、网站,在分组之下可以再设立子分组,比如网站可以再分为邮件网站、购物网站,用户可以自己添加和修改分组的信息。
在组之下,是具体保存的每个网站或服务器的账户信息。每个账户包含了对应的网站名、用户名和密码,KeePass会对用户的密码进行一个密码强弱的判定。
为了方便用户输入密码记录,KeePass提供了多种格式的密码导入功能,比如可以直接将浏览器的密码记录导入密码数据库中,省去了用户再次输入的麻烦。
自动填充:尽管有了一个统一的密码记录存放的地方,但如果要求用户每次都去打开软件,查看密码记录再登录相应系统的话,用户也是不堪其扰。所以KeePass最重要的功能是为用户提供了自动填充的功能。当用户打开不同的网站,或者试图登录不同的服务器时,KeePass可以根据浏览器或系统窗口的标题栏信息,从密码库中找到对应的密码记录,并根据自动登录脚本域的定义,来完成自动登录的过程。刚才KeePass密码账户记录界面中的title信息就是KeePass用于选择对应密码记录使用的。
图1 KeePass界面图
图2 KeePass账户记录界面图
KeePass不仅仅对浏览器有效,对所有使用标准Windows窗口作为界面的程序都是有效的,比如作为系统管理员,我们日常需要使用putty登录不同的服务器,KeePass一样可以根据putty的标题栏来选择对应服务器的密码记录信息。针对不同系统有不同的输入要求,KeePass也提供了定制服务。如图3所示,自动填充的配置分为两部分,Target Window指定对应的窗口标题,该域的内容缺省为记录界面输入的title内容,Keystroke Sequence对应输入的序列,图中显示的输入序列为缺省设置,即先输入用户名,然后输入Tab键跳转到下一个输入框,最后输入密码。有了自动填充功能,用户就真正无需记录任何用户名和密码信息,可以完全依赖KeePass来完成密码输入工作。
密码生成:如果完全不需要记忆密码,那么用户就完全可以实现一站一密,防止自己的密码信息在一处泄漏就导致自己在所有站点的信息泄漏。同时用户也可以使用高强度的难记忆的密码。KeePass同时还提供了自动的高强度密码生成功能,用户可以指定密码生成的字符集、长度,KeePass自动生成候选的密码列表。
图3 KeePass自动填充配置信息
作为密码管理软件,处理密码的存储与管理,更重要的是保证密码的安全,不能让黑客们轻易获取到软件中保存的密码。KeePass通过多方面的安全设置来保证即使用户的机器被黑客们控制了,也无法轻易地通过后门程序来获取用户的密码。
密码的安全首先是存储的安全,存储的安全性包括两方面,外存即硬盘文件的安全性和内存的安全性。对于密码库文件,KeePass使用密码和密钥加密两种手段进行保护,通过使用高强度的加密算法防止攻击者轻易破解密码库。另一方面KeePass在使用时必然要把密码拷贝进内存,为了防止黑客通过内存搜索或控件后门等技术进行攻击,KeePass采用了安全密码控件,并对内存中的密码信息进行加密处理,让密码信息在内存中也无迹可寻。
另一方面是如何在自动填充时保证密码输入的安全性,因为此时输入的是明文的密码信息。KeePass也巧妙地设计了双通道输入技术来对抗常规的键盘钩子技术。KeePass预先会像剪贴板中拷贝包含有密码信息的一段序列,然后从中选取密码信息拷贝进入对应的输入域。这样如果使用键盘记录后门只能获得一系列的Ctrl+C和Ctrl+V输入。即使黑客同时监听剪贴板的输入,由于KeePass把密码信息打乱,黑客也很难获取正确的密码信息。当然双通道技术只能说提供了比一般的密码输入方式更高的安全性,如果黑客针对K e e P a s s的操作设计专门的后门程序,KeePass依然有可能在自动填充时泄漏信息。
KeePass为网民们提供了一种便捷和安全的密码管理方式,但真正要实现安全,还需要用户真正的去尽量实现一站一密,这样才可能将重要账户信息被攻击的可能性降到尽可能的低。文章的最后要感谢东北大学的温占考老师,因为当年我接触到KeePass软件并学会使用的技巧,都是通过他的传授,今天写这篇文章,也是希望更多的朋友和同事能利用这个工具提高自己的密码等级,并更好地用它进行我们日常的工作。
(作者单位为东南大学计算机系)
上海交大年内筹建HPC平台 峰值性能106万亿次
本刊讯 日前,英特尔公司宣布推出英特尔“至强”处理器E5-2600/1600产品家族。
发布会上,上海交通大学网络信息中心高性能计算部主任林新华分享了他对于校级IT系统建设的一些看法。
“怎样给用户提供非常好的IT服务?IT要超越原有的方式来做。”林新华说。
他认为至强E5处理器将能够在高性能计算领域广泛应用。“我们打算新建一个高性能计算中心。在使用KLAPS应用程序进行测试时,至强E5的性能比前代产品提高了82%。”林新华表示,“这还是程序未经优化时的测试结果,优化之后的性能可能再提升两倍。”这种性能提升意味着,在建立同样浮点峰值的高性能计算集群时,应用至强E5处理器能节省一半以上的节点,减少一半以上的网络端口数。“简单估算的话,应该可以降低一半的总体拥有成本。”林新华主任说。据悉,上海交通大学今年将建立一个峰值性能为106万亿次的高性能云计算平台,至强E5处理器将作为其中的计算部分核心。根据至强E5处理器的性能,预计该高性能计算节点数在300-500个之间。英特尔(中国)有限公司资深企业客户经理李辉进一步表示,至强E5处理器有很多技术变化,包括单核性能提升、处理器内核数目增加近30%、应用英特尔集成I/O技术等。他说,“对于真实应用性能,至强E5会有非常大的提高。”
李辉表示,英特尔在高性能计算领域,不仅提供了高质量的硬件和CPU,还在应用软件方面投入了大量资源。“在高性能计算领域的应用软件有很多不同类别和不同的大行业,例如气象、生命科学、化学、物理等,英特尔与每一个行业的应用专家都有非常多的交流。因此,英特尔可以将各个领域顶尖专家的经验通过研讨会、行业会议等形式告诉大家,让我们的用户知道,如何在目前的硬件平台上达到更高性价比。”