從我們開(kāi)的汽車(chē)到我們所使用的移動(dòng)設備,軟件產(chǎn)品已經(jīng)被應用到了我們生活中的方方面面。隨著(zhù)世界全面步入數字化時(shí)代,新的安全威脅也隨之產(chǎn)生。軟件產(chǎn)品的盜版問(wèn)題首次出現在上個(gè)世紀的八十年代,但是現在看來(lái)它已經(jīng)不再是軟件行業(yè)所面臨的唯一的威脅了。而現如今,對于軟件產(chǎn)品的更大的威脅則是來(lái)自逆向工程和代碼篡改,而不僅僅只是直接的竊取。
對于一個(gè)典型的軟件公司而言,其所擁有的知識產(chǎn)權占了整個(gè)公司市場(chǎng)價(jià)值中的絕大部分。而對于智能設備生產(chǎn)商而言,由于他們所做的其實(shí)就是不斷地在商業(yè)硬件上面以軟件產(chǎn)品的形式開(kāi)發(fā)知識產(chǎn)權,所以這里的情況與典型的軟件公司是一樣的。軟件的開(kāi)發(fā)人員傾注了大量的時(shí)間和資金來(lái)開(kāi)發(fā)和創(chuàng )造出他們的獨一無(wú)二的產(chǎn)品,但是如果沒(méi)有使用合適的策略以及有效的安全保障手段的話(huà),他們就可能在諸如營(yíng)業(yè)收入、顧客數量、企業(yè)競爭力以及品牌的總體價(jià)值這些方面遭受巨大的損失。
來(lái)自SafeNet的一份最近的調查中指出有33%的軟件廠(chǎng)商認為逆向工程和竊取對他們的業(yè)務(wù)已經(jīng)造成了明顯的影響,并且還有多達63%的受訪(fǎng)者都認為以代碼保護的方式來(lái)防止逆向工程是一項非常困難的任務(wù)。
由于逆向工程可能會(huì )導致競爭對手通過(guò)效仿市面上已有的產(chǎn)品而快速地開(kāi)發(fā)出另外一款具有競爭性的產(chǎn)品,因此在如今的市場(chǎng)當中,如何能夠通過(guò)保護那些具有創(chuàng )新性和唯一性的產(chǎn)品不受逆向工程侵害的方法來(lái)鞏固企業(yè)的競爭優(yōu)勢對軟件廠(chǎng)商而言是至關(guān)重要的。
隨著(zhù)商業(yè)間諜活動(dòng)變得越來(lái)越普遍,包括代碼、算法、應用的數據文件和行業(yè)機密在內的那些具有很高價(jià)值的軟件知識產(chǎn)權會(huì )面臨著(zhù)來(lái)自競爭對手的窺探、逆向工程、竊取以及山寨等等的威脅。
舉個(gè)例子,假設一家印刷公司發(fā)明了一種新方法可以在復雜基材上面(例如玻璃)使用廉價(jià)墨水進(jìn)行打印,而市場(chǎng)上的其它競爭對手都還無(wú)法做到這一點(diǎn)。但是由于運行打印機的軟件系統沒(méi)有經(jīng)過(guò)保護,所以競爭對手就可以很容易地通過(guò)分析代碼來(lái)搞清楚該方法的實(shí)現原理,并且很快地就會(huì )推出一款山寨的版本。這樣最先發(fā)明該方法的印刷公司的競爭優(yōu)勢就會(huì )變得蕩然無(wú)存了,其結果就是導致市場(chǎng)份額的丟失。
最佳實(shí)踐案例:防范攻擊,保護軟件系統免受逆向工程和竊取的侵害
一個(gè)開(kāi)發(fā)在多站點(diǎn)上運行的數字視頻監控系統的小廠(chǎng)商最初建立了他們自己內部使用的拷貝保護機制。但問(wèn)題是,這種他們自己的保護機制使得把軟件許可證移動(dòng)或者拷貝到另外一臺機器上面這項工作變得非常困難。更糟的情況是,如果有些人冒用了別人網(wǎng)卡的MAC地址的話(huà),他們就可以繼續使用同一個(gè)軟件序列號。
這家公司最擔心的事情最終還是發(fā)生了,他們發(fā)現了一個(gè)安全漏洞,并且發(fā)現一些人正在嘗試著(zhù)對他們的硬件和軟件產(chǎn)品進(jìn)行逆向工程。這樣的攻擊使得該公司最終采用了SafeNet的一款名為Sentinel HASP的軟件許可安全解決方案。
該公司的視頻監控系統由眾多不同的應用組成,其中每個(gè)應用都依賴(lài)著(zhù)一個(gè)用于媒體共享(例如視頻或快照映像)的ASP.Net上構建的web服務(wù)。這樣的方法可以使得媒體文件能夠在不同的機器和用戶(hù)中間進(jìn)行同步,并且可以通過(guò)一個(gè)訪(fǎng)問(wèn)代碼來(lái)獲得所需要的信息。出于對這些應用的安全方面的考慮,使用一個(gè)封閉的網(wǎng)絡(luò )環(huán)境在這里是非常必要的。
使用Sentinel所提供的硬件密鑰來(lái)構建整個(gè)系統能夠對ASP.Net的web服務(wù)進(jìn)行保護,并且能夠為該公司的所有應用產(chǎn)生一個(gè)單點(diǎn)失敗,進(jìn)而使得所有的其他應用都變得無(wú)效。在每個(gè)請求中,Web服務(wù)都會(huì )對Sentinel的硬件密鑰進(jìn)行實(shí)時(shí)的檢查。如果硬件密鑰不存在的話(huà),就會(huì )為客戶(hù)端應用返回一個(gè)錯誤信息,而不會(huì )再繼續執行所需要的請求。
考慮到眼前的侵入活動(dòng)所帶來(lái)的威脅,整個(gè)安全機制的實(shí)施速度是成功的關(guān)鍵。由于該企業(yè)是一家為快速變化的高端市場(chǎng)提供專(zhuān)業(yè)化整體解決方案的小型公司,因此對于他們所擁有的資產(chǎn)的保護工作勢在必行。
SafeNet提供了簡(jiǎn)單易懂的操作指南,并且還配有示例代碼,這樣使得該公司可以通過(guò)對示例代碼進(jìn)行簡(jiǎn)單修改的方法來(lái)部署他們所需的安全策略。憑借著(zhù)Sentinel所帶來(lái)的幫助,該公司現在可以防微杜漸,在實(shí)際的知識產(chǎn)權竊取發(fā)生之前就快速地部署好安全機制,對他們的軟件系統進(jìn)行保護。
如同行業(yè)機密的竊取可能會(huì )給企業(yè)帶來(lái)災難性的后果一樣,對于許多軟件系統和智能設備的廠(chǎng)商而言,代碼篡改也會(huì )構成同樣巨大的威脅。代碼篡改實(shí)際上就是一些人通過(guò)某種方法獲得了我們軟件系統源代碼的訪(fǎng)問(wèn)權,并且改變了產(chǎn)品的工作方式。代碼篡改可能是某些人出于惡意而故意為之,但也可能是一些人原本是出于好意但是不小心所造成的。而由于終端用戶(hù)造成的意外的代碼篡改經(jīng)常很難被發(fā)現,直到它們對產(chǎn)品造成了無(wú)法挽回的損失。
這里再舉個(gè)例子,一臺醫用診斷設備使用了一套內部的軟件系統來(lái)控制如何運行對病人的檢查。一位系統管理員則認為該系統運行得太過(guò)緩慢,并且決定對軟件系統代碼中的標準設置進(jìn)行一些“調整”從而使得檢測的計算速度比以前快了20%。任務(wù)完成了,而且在“調整”后確實(shí)醫院能夠每天檢查更多的病人了。雖然這里并不存在主觀(guān)惡意,但是由于這種對診斷過(guò)程的加速使得該設備現在不能滿(mǎn)足多項醫藥行業(yè)的規章,并且這種不符合規定的設備現在反而變成了設備或者軟件系統廠(chǎng)商的責任。
缺少了合適的加密以及代碼混淆技術(shù),軟件系統的開(kāi)發(fā)人員在不知不覺(jué)中就會(huì )使他們的代碼暴露于代碼篡改和逆向工程這些安全威脅之下。通過(guò)對軟件系統源代碼的訪(fǎng)問(wèn)權限進(jìn)行有效的控制,軟件系統的發(fā)行商以及智能設備的生產(chǎn)商一方面可以保障收入,另一方面還可以保護自己產(chǎn)品的完整性和品牌的形象。
雖然據有關(guān)調查顯示,大量的軟件系統發(fā)行商擔心他們的業(yè)務(wù)會(huì )由于知識產(chǎn)權保護的缺失而受到負面影響,但調查中還顯示了只有很少一部分軟件系統發(fā)行商真正采取了所需的主動(dòng)防御措施來(lái)保證其知識產(chǎn)權得到恰當的保護。
這里我們不禁想問(wèn),為什么沒(méi)有更多的軟件廠(chǎng)商愿意投入更多的精力來(lái)保護他們自己的知識產(chǎn)權呢?實(shí)際上,有些時(shí)候他們在所面臨的挑戰面前退縮了,有些時(shí)候他們可能無(wú)法得到來(lái)自高層的支持來(lái)開(kāi)發(fā)出一套值得信賴(lài)的安全保障機制;蛘咭部赡苁且驗樗麄兏纱嗑瓦沒(méi)有經(jīng)歷過(guò)一場(chǎng)知識產(chǎn)權災難,因此還沒(méi)有意識到這個(gè)威脅對于他們整體業(yè)務(wù)影響的嚴重性。
最佳實(shí)踐案例:包裝行業(yè)領(lǐng)先的生產(chǎn)商
有一家業(yè)內領(lǐng)先的生產(chǎn)商,他們負責開(kāi)發(fā)軟件驅動(dòng)的設備來(lái)處理液體的食品消費類(lèi)產(chǎn)品(例如牛奶和橙汁)。他們利用軟件系統來(lái)運行他們的包裝設備,使之能夠滿(mǎn)足幾十項公共健康和安全方面的規章制度。
該公司的知識產(chǎn)權保護方面的關(guān)注點(diǎn)主要在于如何對運行設備的軟件系統的訪(fǎng)問(wèn)權進(jìn)行控制以及如何限制對于一些關(guān)鍵流程(例如加熱殺菌)中的關(guān)鍵參數的修改能力。
這個(gè)包裝行業(yè)的生產(chǎn)商結合使用了SafeNet Sentinel RMS和EMS軟件貨幣化解決方案來(lái)對他們軟件系統的源代碼的訪(fǎng)問(wèn)和修改進(jìn)行保護,并且嚴格控制能夠調整用于控制包裝設備運行的參數的人員名單。
軟件的盜版隨著(zhù)時(shí)間的推移會(huì )造成收入流失,而相比之下逆向工程和代碼篡改所造成的影響則是毀滅性的,它們可以在一夜之間改變市場(chǎng)格局,而這種損失幾乎是不可能再恢復的。
因此如果能夠找到一些方法來(lái)減少或者杜絕軟件系統的盜版、逆向工程和代碼篡改則將會(huì )使多方受益。一方面,終端用戶(hù)可以放心地使用來(lái)自發(fā)行商的、真實(shí)反映發(fā)行商意圖的應用程序,并且能夠享受所提供的售后支持和保修服務(wù)。另一方面對于整個(gè)軟件行業(yè)而言,這樣做會(huì )鼓勵廠(chǎng)商生產(chǎn)高質(zhì)量的產(chǎn)品,促進(jìn)市場(chǎng)競爭以及更好的產(chǎn)品的研發(fā)。
對于軟件系統發(fā)行商而言,采取積極主動(dòng)的措施,通過(guò)部署針對軟件系統的保護策略來(lái)保護他們的知識產(chǎn)權免受那些由于不法的使用、拷貝、竊取和篡改所造成的侵害是至關(guān)重要的。對于大多數企業(yè)來(lái)說(shuō),采用一個(gè)商業(yè)的軟件版權管理解決方案能夠為他們提供足夠的安全保障功能,并且還不用為如何開(kāi)發(fā)內部的安全保障措施而頭疼,畢竟大多數企業(yè)并不擅長(cháng)做這些事情。這種商業(yè)的解決方案主要由自動(dòng)的文件封裝技術(shù)組成,能夠通過(guò)文件加密、代碼混淆以及系統級的反調試等等這些手段來(lái)對知識產(chǎn)權進(jìn)行強有力的保護,確保編寫(xiě)在軟件中的那些算法、行業(yè)機密以及專(zhuān)有技術(shù)不會(huì )被沒(méi)有取得授權的人員所訪(fǎng)問(wèn)。
通過(guò)對軟件系統源代碼的訪(fǎng)問(wèn)權限進(jìn)行主動(dòng)且有效的控制,軟件系統的發(fā)行商可以保護他們自己免受逆向工程和代碼篡改的侵害,還能增加企業(yè)的收入以及維護品牌的整體形象。
,