FineArt News

SVS程式碼防護與版本控制系統的整合應用

程式碼對軟體開發公司是寶貴的資源,同時也使用版本控管軟體及存放程式碼及相關資料在Server上,且是以明文的格式,才能作比對版本歷史的功能,無法使用加密方式存放;此外在開發編譯的過程中,也需保持明文來進行編譯和修改。但明文的程式碼,也很容易就被使用者外洩、竊取,造成公司莫大的損失。因此對以上狀況,是最讓軟體開發公司感到困擾的問題。

隨著網路時代,編譯環境也開始逐漸發展出,必需要時常連線到網路,下載最新的函式庫,若強制限定電腦不連網的以作防護,是無法進行開發軟體產品!但如果完全不設防,就要擔心重要的程式碼被有心人士,利用網路外洩管道,而造成巨大的損失。

SVS1

【圖1】一般情況下的程式碼開發情境

由上圖的示意圖可以明確的看出,在完全不設任何限制的電腦,進行程式的開發,使用者可以透過雲端硬碟、E-mail、外接硬碟的方式進行複製。再者,為了掌握客戶端不同專案和不同版本,常使用程式碼的版本控管軟體,例如SVN SVN 版本管理Server,當需要修改程式版本時,可快速掌握客戶端目前專案的版本,進行修改。雖然,快速掌握了客戶版本資訊,但又延伸另一個問題,只要有任何一台有權限連到程式碼版本的控管軟體的伺服器,便能輕鬆的下載整個專案的程式碼。


X-FORT 的 SVS 模組(Secure Virtual Storage)加上 SVT 模組(Secure Virtual Tunnel)雙重保護之下,可達到不用擔心萬一外部電腦、或是未受防護的網路連外通道,將程式碼外洩的問題,利用 SVT 限定網路連線,在開發過程中,允許連線到信任Sever,進行程式的管控,資料的查詢和函式庫的下載。以下為控管後程式開發情境的示意圖:

 

SVS2
【圖2】控管後程式開發情境

SVS提供虛擬碟機制,虛擬碟掛載後,自動形成一個安全區,裡面的資料無法傳送到碟外。應用軟體以<安全模式>啟動後,可以在碟內正常運作,但資料的存取限制在安全區裡。安全區裡的資料要傳送到安全區外,必須先取得許可。虛擬碟卸載後形成一個普通的(.svs)檔案。虛擬碟裡的資料始終保持在安全狀態。因為SVS如同一個小型的硬碟,所以,可將整個專案放置碟內進行開發與除錯。

利用SVS 模組,我們可以將程式碼集中在所規劃的虛擬碟內,此安全區除了需經過身份認證,還需依不同的角色,決定讀取的權限。同時更進一步的增加了限定軟體的使用設定,讓其它的軟體無法使用碟內的程式碼。甚至也可以限定程式版本控管的軟體,只能將程式碼強制下載至碟內存放,而不允許放至碟外。當SVS虛擬碟的卸載後,此虛擬碟變成一個加密的檔案,縱使被他人拿到,也只是一個毫無意義的亂碼檔案。

而 SVT 模組,則管控電腦通往外部的連線,讓使用者上網的管道限縮在公司允許的範圍內,例如:與SVN Server做版本的管理;即可達到在開發過程中,所受的限制降至最低,也可以確保程式碼,無法利用網路傳送到其它的地方。

以上說明,在編譯使用時,程式碼可放入SVS加以保謢,限制的網路連線,可利用SVT來達到網路控管的效果,在雙重的保護之下,讓公司最重要的資產--程式碼資源,能達到完善的防護!