安全研究人员发现密码管理工具KeePass存在安全隐患
作为一个密码管理工具或软件自然应该将保护用户账号密码安全作为第一要务,如果因为其他因素而降低了安全保护那么就失去了密码管理的价值。
安全研究人员就在拥有不少用户的密码管理工具KeePass发现了一处安全隐患,并且这处安全隐患KeePass的开发者是已经知道但并未去处理。
来自德国从事信息安全审计的Florian Bogner在分析自己日常网络流量时发现了KeePass的一些流量信息,这是KeepPass用来向服务器查询是否有新版本的。
然而在Florian Bogner多次测试后发现KeePass的默认检查更新请求并未使用HTTPS进行加密,这就存在着中间人攻击(Man-in-the-MiddleAttack,MITM)的风险。
Florian Bogner在测试中伪造了服务器发回的流量,将版本信息改为高于当前KeePass的版本,于是KeePass就显示有新版本可以下载了。
由于采用的是HTTP明文进行传输,所以任何人都可以通过一些手段来劫持KeePass与其服务器之间的通讯,并修改其中的通讯内容。
然而在仔细检查后Florian Bogner发现KeePass请求的地址其实就是它官方网站的下载目录,但是该网站是有HTTPS版本的不过并未启用。
在我们检查KeePass官方网站时发现该网站使用的一个无效的HTTPS证书,相信这也是为何KeePass请求时默认使用HTTP传输的原因。
Florian Bogner说无论你是通过KeePass直接检查更新来下载新版本,还是通过他们的官方网站来下载新版本,由于HTTP传输的原因攻击者都可以修改传输内容。
这里的危害主要是如果你连接的WiFi热点是攻击者伪造的,那么攻击者同样可以伪造KeePass的版本更新来插入恶意软件。
攻击者除了WiFi热点外当然还可以通过其他方式来发动中间人攻击,比如侵入电信运营商的网络发动大规模的中间人攻击(2014年Yahoo!在中国就发生过)。
Florian Bogner将此问题反馈给KeePass的作者并且也得到了回复,不启用HTTPS的原因是KeePass的广告内容不支持HTTPS,如果启用HTTPS则无法显示广告这将失去他的重要收入来源。
作者Dominik Reichl在回复中称:如果用户担心可能发生中间人攻击软件包被替换成恶意软件的话,请下载后检查文件的签名。(KeePass已有有效的签名)
Florian Bogner最后提醒:
使用KeePass的用户不要使用KeePass内置的检查更新,也不要去KeePass的官网下载它,如果需要下载或者更新则手动去KeePass托管在SourceForge的资源,这里是使用HTTPS传输的。
事实上中间人攻击在当前已经非常非常的普遍了,尽管很多网站已经启用了HTTPS进行传输,不过使用HTTP传输的网站依然还是最多的。
作为密码管理工具的KeePass不使用HTTPS传输确实有些不应该,不过更多日常使用的软件也同样使用HTTP明文传输信息(比如前两天说的百度、搜狗输入法问题)。
有兴趣的话可以自己测试下自己使用的软件是否使用HTTPS进行传输的,对了,很多软件管理程序下载也是没有进行加密的。
(*Florian Bogner主页:https://bogner.sh/)