一、安全风险分析
1.1 不正规的来源
如果你使用非官方渠道获得keepass软件或某些插件,那么你的密码管理从一开始就没有安全性可言。因为这玩意是开源的啊,如果对方“很懂”,只要往里面植入一些代码,让你的数据库文件和密钥在后台偷偷上传给他,你不明不白的,也基本不会发现什么问题。
1.2 监听程序
虽然Keepass能删除剪贴板中的文本,但那也只是系统自带的剪贴板文本,对于第三方监听软件,是没办法删除的。
如果你的电脑上被植入了在后台运行的剪贴板监控程序、键盘监听程序,而你毫不知情,那么你在复制其中的用户名和密码,以及用自动输入模拟按键填充密码的时候,这些潜伏在后台的程序就是压倒你信息安全的BOSS。
1.3 身边人风险
如果在你身边的另一个人熟悉keepass软件,也知道你正在用这个管理密码,那么他可能会通过以下措施来窃取你的密码数据。
a.当你忘记锁定数据库,并且你没有启用导出、打印、更改管理密钥需要重新输入一次管理密钥的设置,而你的朋友有机会在你看不到的时候使用你的电脑,那么你的所有密码都很危险;即使不带走你的数据库文件中的所有密码,他也会把重要记录的密码拿走,比如银行卡密码、含有存款的账号密码。
b.即使你在强制配置文件中设置了【导出、打印、更改管理密钥需要重新输入一次管理密钥】,但是有人把你的强制配置文件删除或篡改过,导致你下次重新进入keepass时又没有比较强的安全配置了,就会又重现a中所述风险。
c.虽然你已经锁定数据库,但是在你身边的另一个人因为长期在你身边,通过偷瞄的手段知道了你的数据库管理密码、密钥文件。而后他只要知道你的数据库文件访问路径和密钥文件路径,就可以很轻松地在你电脑上窃取走你的所有密码。
1.4 直播、录屏、截图、拍照风险
现在是自媒体时代,很多人分享自己的生活与知识经验时,拍照或截图时稍不留神可能就把自己手机、邮箱泄露出去了。
另外有些人在直播时,免不了需要用密码登录一些网站或平台,这时候如果他不知道掩藏用户名、邮箱、手机号等信息,在看他直播的网友就能很轻松地知道主播的账户信息。
录屏也是一样的道理,做视频UP主或者录制教程视频,不免会需要登录账号吧!跟直播一个道理,也要注意不要把敏感字段随便显示出来。
直播比录屏要危险多了,因为是在线发挥,某个时刻的不小心是无法挽回的,而录屏后得到的视频可以反复查看有无问题,之后可以用视频编辑软件打码。
1.5 数据库文件泄露风险
很多人把数据库文件存储在云盘上,如果云盘里的数据被黑了,通过暴力迭代,只要算力足够(既然你的数据存储在云端会被黑,那对方一定不是普通人吧),只要你身份不一般,能破解的概率是很大的。
1.6 数据库文件损坏风险
上面都是讲数据库的敏感信息被别人盗取了,这一节讲讲另一个有风险的因素——数据库文件损坏。对于损坏,官方并没有给出任何可以补救和修复的措施,因此只能认怂用备份的了。而数据库损坏我觉得不要紧,最要命的是你把管理密钥忘记了,或者误删了密钥文件,因为那时候你的备份也没用了。
二、安全排查和降低风险的措施
2.1 如何应对不正规来源?
下载最新版本keepass的官网:https://keepass.info/download.html
强烈建议选择便携版!!!!
另外,关于软件的使用方法、推荐插件和相关配置,网上有很多人已经给出了系统性教程。比如知乎大牛waye的下面两篇文章:
一劳永逸:KeePass全网最详使用指南 DLC1 - 知乎
一劳永逸:KeePass全网最详使用指南 - 知乎
另外,也推荐一下本人的一篇文章,别看标题不是讲如何配置的就不点进去,其实最后一部分就是配置教程。
【Keepass】配置好keepassnatmsg插件、keepassxc-browser扩展后,出现Failed to save to the specified file未将对象引用设置到对象
2.2 如何应对监听程序?
监听程序包括剪贴板、键盘监听。
对于剪贴板监听:不要使用keepassxc-browser以及类似浏览器扩展的密码生成器,因为剪贴板不会自动清除。你需要设置剪贴板自动清空,一般在12秒左右清空。
在keepass软件中开启【退出KeePass时清空剪贴板】、【不在Windows剪贴板历史记录和云剪贴板存储数据】、【使用“剪贴板查看器防护”格式保护剪贴板】。
对于任何监听软件:尽量使用双通道输入,但是这个双通道输入在一些网页中不稳定,会导致密码输入失败。如果是计算机高手,也可以多排查一下电脑上是否有病毒或异端程序正在后台运行!
2.3 如何应对“身边人”?
2.3.1 数据库要定时、及时锁定
在keepass选项中,设置【全局空闲如下时间后锁定主窗口】,时间设置为240秒(4分钟)。
勾选【当锁定Windows或切换用户时——锁定KeePass】、【当系统挂起时——锁定KeePass】、【当远程控制模式改变时——锁定KeePass】。
因此,养成一个好习惯——每次离开电脑时就要锁定计算机,这样你的数据库就会随着你的Windows被锁定而锁定。
2.3.2 强制配置文件——安全桌面、重输管理密钥
关于“强制配置文件”,此文2.1章节中引用的本人的文章中讲解的比较详细。简而言之,强制配置文件其实和常规配置文件涉及的内容完全相同/语法也完全相同,你可以通过GUI或更改代码的方式编辑强制配置文件。
如下图所示,在强制配置文件中勾选【在安全桌面输入管理密钥】、不勾选【导出-不重复输入密码】、【打印-不重复输入密码】、【更改管理密钥-不重复输入密码】。
安全桌面是啥意思呢?如果你不开,那么你在输入管理密钥的时候,keepass窗口和背景都是亮色;但如果你开了,背景就是暗色;这就是外观上的表现。内容上,安全桌面可以避免键盘监听软件的记录。
至于为什么要取消勾选【不重复输入密码】,很明显是避免数据库文件没上锁被别人“搞”。
而将这些放在强制配置文件中,就可以避免别人将你的这些配置更改后再导出、打印、更改管理密钥。
2.3.3 防止偷瞄的方法就是手速快以及常换密码
啥叫手速快?当对方在你身边的时候,你可以趁他一个不注意就打开keepass迅速解开数据文件。
另外一个内涵就是,你很熟悉你的管理密钥,你一边输入,一边故意删除几个再继续输入,这样对方脑子就被你绕晕啦。
如果对方留神,经过很长时间的观察,终于知道了你的密码,那不就完了?所以你常换密码,让他上一次记住的部分跟下次记住的部分有矛盾,就安全了。
2.3.4 密钥文件和数据库文件不要放在keepass文件夹内
如果你随便放密钥文件和数据库文件,不就相当于谷歌浏览器的做法——将密码文件和密钥放在几乎同一个路径,可以比喻成“保险箱上锁了但是钥匙放在了保险箱上面”。
最推荐密钥文件放在一个神不知鬼不觉的地方。比如WeGame的下载文件夹中。
2.4 怎么避免直播、录屏、截图、拍照时泄露敏感数据?
2.4.1 再高明的技术手段不如敏锐的警惕
在直播、录屏和截图、拍照的时候长个心眼,知道要用到keepass的时候需要“遮掩”一下。
就算你不知道下面的技术手段,如果你用PC来直播,就用手机端keepass来查看账户记录,虽然密码复杂了些手动打比较麻烦,但至少不会泄露出去吧!!!
2.4.2 多花点钱搞个二号显示器然后多显示器直播
多搞个显示器,设置为扩展屏。在直播的时候如果选主屏为直播显示屏,那么就把keepass窗口、第三方剪贴板工具放在扩展屏上。
这样不管是编辑记录,还是后面提取记录数据,一般来说不会从视觉上泄露出去。
2.4.3 在创建记录时将敏感信息设置保护
如果你习惯使用插件KPEnhancedEntryView,那么你不得不注意一个问题就是现在这个插件版本,在预览窗口中的备注内容是没办法显示为星号的,即使你在列属性中把备注设置为「用星号隐藏」,在预览窗口中也不会真的隐藏。而如果你不用这个插件,那么备注在右边预览中是用星号隐藏的。
因此不建议在备注里记录太多私密的信息,什么邮箱、密保手机等等都建议用高级里的字符串词域(field),因为这里可以设置「内存保护」来用星号保护起来。
或者用带有保护文本的模板来创建记录。如下图是对模板进行设定,将邮箱和手机号的type设定为protected inline。
接着添加记录时选用这个模板进行创建。
下面是在记录中添加上面这个模板的显示效果,可以看到邮箱和手机号已经被隐藏起来。
如果你也想要在预览窗口中隐藏用户名,可以在列属性中设置;用户名在模板中是没办法设置保护的。
在星号保护的状态下,不代表不能右键复制,所以我们完全没必要担心显示不了后不能提取数据了。
2.4.4 禁止第三方剪贴板工具记录keepass中复制的数据
以ditto为例,即使你在keepass中启用了复制记录中某项信息后“自动清除剪贴板”,那也只是清除了系统的剪贴板,并没有清除第三方剪贴板。
不信你试试,在keepass中随便挑选一个记录,复制密码后,软件右下角有一个显示还有多久清除剪贴板的绿条,这里的绿条一旦耗干净,你就不能用Ctrl+V粘贴刚刚复制的密码了。
不过不代表你用ditto粘贴不了。如下图所示,我们打开ditto时就会显示刚刚复制的密码,显然我们不希望显示它,因为这是没有星号保护的呀!直播的时候给别个看见了,完蛋蛋!
我们可以设置ditto使其不能记录keepass中复制的数据。
常规——接受复制的应用程序——排除框中输入KeePass.exe——确定。
这样,你不管在keepass窗口中复制什么内容,都不会记录进去。
reference
https://github.com/onSec-fr/Keepass-Enhanced-Security-Configuration