2009-06-23 74 views
4

我們有一個打包爲Linux VMWare映像的應用程序。現在我們必須找到一種方法來防止非法複製和安裝。我們研究了幾種基於USB加密狗的解決方案,但它們都需要在源代碼級別修改應用程序(簡單的儀器僅限於Windows EXE)。有沒有辦法保護VMWare映像運行,並執行定期檢查?VMWare映像保護

編輯:此應用程序是專業解決方案的一部分,而不是按原樣分發。 VMWare打包用於虛擬化目的,不用於分發。我們以10k-1M的價格範圍銷售包括硬件和支持在內的全套電信公司解決方案。但是,由於客戶可以訪問這些平臺,因此我們必須確保他們無法拍攝圖像並在其他地方運行或者無法實施許可政策。因此,下面關於保護需求的評論,儘管在一般情況下完全有效,但不適用於此。

+0

親自講話,VMWare映像中的應用程序無法a)備份和恢復,或者b)將負載平衡到不同的硬件上,這些應用程序在數據中心中沒有位置。如果您向最終用戶銷售受加密狗保護的軟件,則希望支付更多的支持費用,比您將要支付的更多 – 2009-06-23 13:30:38

+0

加密狗只有在大多數產品是加密狗時才值得付出代價(即,Macbook是一款相當有效的硬件適用於OSX的加密狗)。 – 2009-06-23 13:32:51

回答

1

使用Cryptsetup/dm_crypt加密映像的磁盤分區,然後在引導時使用一些特定於計算機的(真正的CPU-ID?)元素進行解密。但這意味着要爲每個客戶推出一個新的形象......但是您可以編寫它。

雖然一旦啓動,它們仍然可以撕開圖像。 GPL可以不要求需要來重新分配嗎?

這將是棘手的

+0

關於翻錄圖像的部分是一個很好的觀點。但是,這裏的圖像是一個可自啓動的封閉系統,維護工作由支持團隊完成。 – fbonnet 2009-06-23 13:43:09

+0

CPU-ID中的處理器序列號並不總是被返回。出於隱私的原因,我認爲它可能已經在現代CPU中實際貶值了。您可以使用NIC的MAC地址;但也可以改變。我相信WGA等使用MAC,HD serial nos和其他東西的組合來唯一標識機器。 – 2009-06-23 14:04:08

+0

不過,一旦圖像生效並且數據未加密......沒有任何東西阻止你從vm向外部源發送rsyncing。 – 2009-06-23 14:31:35

11

我知道this is said every time,但它是值得重複:

請只是不要。如果您必須以保持誠實的人誠實的,然後離開它,以一個代表其價值的價格銷售您的軟件。盜版者總是會偷盜它,而硬件加密狗只會讓你的誠實顧客感到悲傷。

此外,您建立的任何計劃只會被逆向工程擊敗;如果你使用你的軟件很痛苦,你會激勵其他誠實的人打敗它,或者在互聯網上搜索一個破解。簡單地使保護更輕鬆,而不是尋找裂縫。

Software Monkey,2009年

0

而且揚,以futher擴大在什麼艾登說:你應該把你是否能做到這一點的法律意見,而不違反任何一)多個許可證可能存在於一個您正在使用的Linux發行版或b)附加到VMWare usuage的許可證。

基本上你所要做的是叫做Tivoization,如果你使用的任何軟件包屬於GPL v3,你可能會違反它。

0

考慮到您的客戶規模以及您提供的服務範圍,讓他們跳躍箍環似乎沒有任何意義。如果他們違反了合同,只是談判,如果你不能達成妥協的妥協,就起訴他們。

如果加密狗是銀彈,你不認爲微軟或甲骨文會要求他們?

對於擁有極少數大客戶的軟件產品,支持和持續開發對於客戶來說通常至關重要,並且彌補瞭解決方案的大部分價值和成本。許可證只是一個次要的插件。

說實話,如果你的產品如此簡單,以至於它們不需要持續的開發和支持,無論如何你都不可能爲許可收取很多錢 - 他們只會找到一個代碼猴來複制它並保持變化。

0

關於基於USB加密狗的每款USB Dongle已經商用,已經破解並且針對它們提供瞭解決方法。無論他們告訴你什麼,USB加密狗的設計原理都是有缺陷的。

更糟糕的是,一旦您將軟件產品交付給客戶,如果他們認爲該應用程序有足夠的價值以足夠花時間來破解它,它將會被黑客入侵。無論它受到多大程度的保護,如果黑客有權訪問二進制內容,它都會被黑客入侵。

此外,你的許多用戶將是誠實的人誰會被所有這些安全的東西惱火。如果您選擇的解決方案非常強大,那麼您實際上是在邀請人們不要以合法合法的方式使用您的軟件。

如前所述,請注意您必須遵守Linux許可證。實際上,除非您可以證明您已根據許可證進行工作,否則您可能被迫提供源代碼作爲開源應用程序。

但是,有一個合理的簡單方法來進行定期檢查。使用CRON至少每天啓動一次回撥應用程序。它會在您的虛擬主機上調用一個Web服務,提供關於它的設置的更多信息。作爲迴應,您的服務會告訴它它是否合法。如果這是合法的,沒問題。如果此檢查失敗,則讓應用程序報告消息。如果回家連續失敗五次或者說它是非法版本,那麼是時候惹惱用戶了。 (但不會破壞應用程序的可用性,否則用戶會變得非常不高興。) 現在,您要保護的內容可能會繼續運行而不會發生任何更改。或者你改變它們來檢查回撥應用程序是否已經嘗試聯繫。如果用戶禁用了此進程或以其他方式篡改了該進程,則可能會阻止您的應用程序。

或者,使用最簡單的選項:創建一個具有幾乎完全訪問權限的特殊管理員帳戶。不要讓您的客戶以Root身份運行。