2010-08-24 83 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

您當然可以加密數據,將其複製到剪貼板,然後在另一個應用程序實例中粘貼,解密。但是這隻有在源/目的地同意加密時纔有用。即由同一個人寫的。在這種情況下,最好不要使用剪貼板,而應設置某種私有數據通道。因此,雖然你可以做到這一點,但這不切合實際。