2010-08-24 87 views
2

剪贴板的内容可以加密吗?如何加密剪贴板?

例如,为了规避键盘记录器,用户从加密文件中复制并粘贴密码,但现在密码在剪贴板中未加密。有没有一种方法可以防止这种行为,而不会破坏复制/粘贴,或运行某些脚本函数来加密剪贴板信息。

+4

如何加密我的猫? – 2010-08-24 17:33:24

+0

你从哪里复制密码*来自*?它在那里也没有加密吗? – DevinB 2010-08-24 17:39:23

+1

@Longpoke我很确定它涉及到搅拌机。 – rook 2010-08-24 17:47:48

回答

2

要回答你的问题:这应该是可能的,但你需要深入挖掘Windows API。

  • 为了赶上COPY事件和加密的内容,你可以使用SetClipboardViewer得到通知的改变到剪贴板。 Here是一个关于如何使用C#执行此操作的示例。

  • 要捕获PASTE事件并解密内容,您可能需要全局挂接到WM_PASTE消息。

作为一个方面说明:一旦一个键盘记录/木马/等。设法在你的系统上运行,它不再是你的系统。加密剪贴板或类似的技术并不能保护你的系统,他们可能会提高恶意软件开发者获得他想要的信息的尺度(见Jean-Bernard的答案)。首先防止恶意代码在系统上运行是一种更好的方法。

+0

同意,由于停止问题,它将停止通用的大规模攻击,但不是某个人瞄准你。 – 2010-08-24 19:43:25

+0

我会看看C#示例。感谢您指点我正确的方向。 – mike 2010-08-25 14:53:29

1

如果剪贴板信息被保存到驱动器中,那么整个磁盘加密就可以解决这个问题(听起来这就是你想要根据问题无论如何都想做的事情)。

但是加密RAM中的内容并不是真正的选择。在某些时候,操作系统和应用程序会读取该内存,并需要知道如何处理它。它必须在机器的主动硬件中未加密某处才能使用。

3

如果您需要将未加密的密码提供给文本字段以便登录,那么您在该步骤之前所做的任何操作都可以阻止恶意用户读取该文本框的内容。由于需要将该明文字符串发送到文本框的时间点。

我认为,如果你有你必须在副本之前您的应用程序加密你的数据比加密密码

+1

Thansk Jean。我正在读关于KeyScrambler,这让我想知道剪贴板。由于我使用KeePass,我不会输入很多密码,但我会复制/粘贴很多密码。 – mike 2010-08-25 14:51:44

0

更重要的问题,你可以做一个键盘记录器,但它确实取决于你使用的语言。

并在粘贴上解密,但是又在您的应用程序上解密。你无法为你所有的系统做到这一点;这将意味着您的操作系统的修改...

+0

“需要修改操作系统”!=“无法完成”。 Windows API提供了很多挂钩来修改系统行为...... – Heinzi 2010-08-24 17:45:52

+0

这对创建潜藏剪贴板的应用程序来说是巨大的。 – 2010-08-24 18:00:20

+0

潜伏剪贴板实际上并不难:http://www.radsoftware.com.au/articles/clipboardmonitor.aspx – Heinzi 2010-08-24 18:05:02

0

我在写一个应用程序,实现复制和粘贴:因此我使用系统API从剪贴板读取数据。

如果我无法读取未加密的数据,则复制粘贴被破坏,但是如果我可以的话,其他已安装的程序(包括键盘记录程序)也可以。

0

如果有人有权安装具有剪贴板访问权限的键盘记录程序,那么他最有可能拥有获取剪贴板解密密钥的权限。加密不能取代访问控制。

1

您当然可以加密数据,将其复制到剪贴板,然后在另一个应用程序实例中粘贴,解密。但是这只有在源/目的地同意加密时才有用。即由同一个人写的。在这种情况下,最好不要使用剪贴板,而应设置某种私有数据通道。因此,虽然你可以做到这一点,但这不切合实际。