观察:当MD5遇到人肉搜索

今天寻找一个写好的MD5加密类想做个文件校验工具,在Google里搜索“MD5”看到的第一个搜索结果让我震惊: [singlepic=18209] 这是一个提供在线MD5破解的网站! 虽然当年的山东大学副教授王小云冲上国际密码大会的讲坛公布了对对MD5、HAVAL-128、MD4和RIPEMD的破解成果后,MD5已经被认为是不安全的。不过据王小云原始算法,破解MD5至少也要比较好的计算机计算几个小时能够找出一个碰撞而已。注意,碰撞,而不是破解。用碰撞密码可以一样实现登陆,但是知道破解,就意味着拿到密码明文。相比所有人的密码多少都有那么一点点意义在里面,被人知道你使用的密码的含义和规律是多么可怕的一件事情! 这个网站,提供在线MD5破解的查询,简单说,就是已知一些密码的MD5,然后把密码和MD5一起存起来,供人查询。当人们提交的MD5足够多,或者达到覆盖大部分有含义字符串后,就达到了比较好的破解效果。 本站4T硬盘已经上线,共有MD5记录457,354,352,282条,宇宙第一,且还在不断增长中,已包含12位及12位以下数字、8位字母、全部7 位及以下字母加数字等组合,并针对国内用户做了大量优化,例如已经包含所有手机号码、全国部分大中城市固定电话号码、百家姓、常用拼音等大量组合,另加入了大型网站真实会员密码数据100万条。本站数据量大,查询速度快,同时支持16位及32位密码查询。通过对10万会员的真实动网论坛样本数据的测试,本站对于动网论坛密码的命中率达到83%。全国独此一家。另感谢一热心网友给本站奉上数百万条数据库原始密码样本,大大提高了命中率! 我来说说为什么震惊。 隐患及应用情景 网络管理员要求第一要政治过硬,他能看到很多东西,设计为人类不该看到的,但是他要禁得住这份诱惑,坐怀不乱… 但是不是每个网络管理员都是这样的人。首先我们可以相信,大型商业网站的网络管理员,在公司制度的限制下,是政治合格的。 但是在我们的生活中还是大量地用到了MD5,比如国内大部分论坛至少是Discuz和动网,这两家都采用MD5加密。论坛是如此之多,甚至不可能没有人不使用基于MD5的论坛等。一旦你的论坛注册信息出现在一个政治不可靠的网络管理员面前,问题就出现了。如果你的密码比较弱,他是可以通过在线破解查询到明文的。注意,是明文。因为找到碰撞并不是什么大事,他本身已经是网络管理员,不需要明文也能把你密码改掉,看到你在这个站的信息。 比如说,我看到123456的MD5是e10adc3949ba59abbe56e057f20f883e,于是我忍不住拿e10adc3949ba59abbe56e057f20f883e在同济网数据库里用户表里搜了一下,发现有5293个用户的密码是123456…P.S. 同济网总计233959个用户,2.2%的经典懒人。 问题是你还可能留下一个真实邮箱,或者没留下真实邮箱,但是用了“主号”当作用户名注册,这样很容易Google到你的邮箱。 虽然邮箱服务可能使用非MD5加密的形式,这样拿MD5的碰撞去登陆自然失败,问题是他拿到的是明文,这样任何加密都会失败。 一旦邮箱被攻破…基本上你在互联网的身份就已经被盗用了(告诉我你邮箱里没东西,我只能说你是土人了)。 这自然是一个严重的安全隐患吧! 个人密码的Best Practices…

Continue Reading →

微软最新安全漏洞(KB958644)原理猜测分析

今天释出的KB958644号紧急更新,引起了我不小的兴趣,很希望知道到底是什么东西导致微软捅了这么大的篓子呢?无奈,因为出品公司(微软)承认这是一个严重的安全漏洞,提出问题的网站(http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-4250)已经去除了关于此漏洞的详细说明。这条路不通了。 MS08-067(http://support.microsoft.com/?kbid=958644)描述了什么样的系统里具体什么样的文件会出问题。从中可以看到,主要问题出在Netapi32.dll这个DLL。可以看出,自Microsoft Windows 2000 Service Pack 4(不是说之前的就没有,而是只从SP4开始技术支持)开始的5.0.2195.7203版本的Netapi32.dll,直到Windows Vista、Windows Server 2008甚至Windows 7 Pre-Beta的6.1.6801.4106版本Netapi32.dll都逃脱不了噩运。 重要的提示来自Microsoft Security Bulletin MS08-067 – Critical(Vulnerability in Server…

Continue Reading →

为什么Windows需要按下CTRL+ALT+DELETE才能登陆?

如果你是我博客的读者,那你老老实实看完学点知识,如果你是从搜索引擎过来的,那我估计你是不喜欢Windows需要按下CTRL+ALT+DELETE才能登陆吧,为了节省你的时间,你要的在这里: 控制面板,用户帐户,高级里面,安全登陆,去掉勾就可以不使用安全登陆了。 Windows Server 2003和Windows Server 2008默认情况下,加入域的Windows XP默认情况下都需要按下CTRL+ALT+DELETE才能看见登录框,意义在哪里呢? 设想这样一个场景,我写了一个全屏幕的应用,界面就像Windows XP的登陆界面,连用户名也一样,你看到之后是不是忍不住会用Windows密码去登陆呢?应该会吧,这样你的Windows帐户密码就泄露了。你也许觉得Windows密码没什么,不过对于Server来说,尤其是如果你是域管理员,那可就是个大大大大的安全问题了,因为用这个密码可以登陆域上任何机器啊… 因此,设置按下CTRL+ALT+DELETE才能登陆,会提高安全性,因为在Windows下,按下按下CTRL+ALT+DELETE,如果在应用程序下,至少会弹出任务管理器,而在真实的Windows登陆窗,这样的操作会出现登陆界面。 从而,保证出现的登陆窗口是真实的,而不是某种模拟程序。

Continue Reading →

观察:安全安全安全

[singlepic=15448] 之前我们曾经报道DNS协议本身发现了一个严重安全问题VU# 800113,攻击者有可能利用该漏洞进行高效”Cache投毒”让DNS缓存服务器相信自己伪造的来自权威DNS的回应是真实的,达到劫持网站流量来牟利或者将用户引导到一些伪造的钓鱼站点来骗取敏感数据。 尽管最早发现这个问题的安全研究员丹·卡明斯基(Dan Kaminsky)认为该漏洞不会因为对补丁的逆向工程而泄露,不过先后有多位研究人员并将详细的分析结果公布在了互联网上。 日前,可以直接进行攻击的代码终于出现了,据称著名黑客HD Moore已经率先公布了可用代码。利用这段代码可以对DNS服务器进行投毒,将一条恶意纪录植入目标服务器,该服务器将随机发起域名查询,此时攻击者可以提供伪造的响应,将域名服务器中的纪录指向其特定站点。 不得不佩服Unix和BSD的设计者,他们为整个行业建立了基本的概念,当互联网的根基DNS的协议模型出现问题的时候,整个虚拟世界都要震颤。 在我管理的软件项目中,用于安全的系统设计考量和代码量都会占到了相当的比重,大概30%的样子。都是血的代价换来的经验,抽象到底都是一个逻辑问题,很多模型都是现成的,你要做这样一个东西,就要考虑这些方面,这样的工作其实是高度重复的,我没仔细研究过,不过凭我的直觉我觉得这些状态都可以通过数学模型来论证。 设计良好的系统使用数学方法应该可以验证其逻辑,在逻辑上不会有被攻破的漏洞,其他的,应该就是缓存区溢出检测(这应该是虚拟机保证的事情),和SQL注入(这应该由DBMS保证)吧。

Continue Reading →