2011-06-05 49 views
1

我正在研究一個小程序,該程序要求用戶插入USB閃存驅動器(預配置)以登錄系統。它現在的工作方式是像往常一樣登錄到Windows操作系統。然後腳本檢查USB密鑰,如果找到,則關閉。但是,如果找不到密鑰,則會出現一個對話框供用戶輸入密碼。他們在安裝過程中會指定一定的時間。我的Python程序中的安全缺陷

現在,問題在於,用戶可以啓動任務管理器並終止進程,從而導致腳本無用。有一個更好的方法嗎?如果USB密鑰不存在,我將如何禁用任務管理器?

該軟件完全用Python編寫。

+0

你的用例不清楚。用戶在插入密鑰時登錄的是什麼?你的計劃?讓你的主程序檢查密鑰的存在,而不是一個單獨的過程。視窗?然後你需要建立一個Windows憑據提供者。 – 2011-06-05 23:57:54

+1

您需要在Windows身份驗證系統中掛鉤。像RSA這樣的公司有軟件來訪問這些API。 – robert 2011-06-05 23:59:57

+0

@Micheal:用戶正在登錄到Windows。 @Robert:我可以在win auth中添加一個鉤子來檢查密鑰? – 2011-06-06 00:03:15

回答

4

根據您的意見,您將用戶登錄到Windows會話中。您將無法使用您設置的方案來保護系統 - 您已經發現了第一個會被許多容易利用的漏洞。看看credential providers(和GINA適用於比Vista更早版本的Windows) - 它們確實是你唯一的理智之路。

你不可能用Python開發它。