熊永亮
摘 要:隨著計算機技術的快速發展,計算機在人們日常生活中的地位越來越重要,其對人們生活和工作的影響越來越大,改變了人們的生活模式。特別是隨著信息時代的到來,網絡的普及越發迅速,人們在享受計算機便利的同時,也遭受著軟件帶來的不同風險。在這樣的社會背景下,筆者結合自身研究成果,闡述當下軟件使用所面臨的風險,探討軟件安全開發關鍵技術,從而讓整個軟件的使用階段都能實現網絡安全覆蓋,這對于加強軟件的安全使用和長遠發展都有著重要影響。
關鍵詞:軟件安全 關鍵技術 開發 研究
中圖分類號:TP30 文獻標識碼:A 文章編號:1674-098X(2017)01(a)-0113-02
隨著信息技術的不斷進步,計算機在人們日常生活中的地位越來越重要,無論是生活還是工作都離不開對計算機軟件的使用。相比蒸汽時代和工業時代,信息時代極大地加快了生產力的發展,軟件的發明和使用更是直接轉變了我們的生活方式。從日常的娛樂再到每個人都不得不面對的交通、醫療等方面,都在大規模地使用軟件。隨著軟件使用的不斷推廣,其給用戶和開發商帶來的風險我們也必須加以重視。目前,大多數的軟件開發商都缺少安全意識,在軟件構件過程中對于安全漏洞都不重視,其關注的重點主要是維護軟件使用,為其開發補丁并升級,實際上這是舍本逐末的做法。因為開發商從完善安全漏洞中并不能得到多少經濟收益,這對于以追逐利益為天性的商人來說沒有吸引力,使得他們還是將業務轉移到其他高利潤的地方。所以,筆者將在該文中就軟件安全開發的關鍵技術等方面進行闡述。
1 軟件所帶來的風險
在筆者調查和查閱資料后發現,目前對軟件安全造成威脅的原因有兩點:首先是正版軟件費用太高,個人或團體因不愿付費使用軟件而對其進行破解,違法傳播賺取利益;其次則是大多數軟件中都存在安全漏洞,被技術高超的黑客盯上進行攻擊,來滿足自己的私欲。上述情況中,不管出現哪種都會對企業造成難以挽回的利益損失。
一般來說,軟件的版權保護問題主要表現為軟件被非法破解、違法傳播和使用,也就是國內屢禁不止的盜版問題,不僅會損害軟件開發者利益,更會給軟件使用帶來高風險,使其更容易遭受攻擊。
隨著互聯網的普及,使得越來越多的人能夠享受到網絡服務,特別是云計算概念的研發,極大地方便了用戶的網絡操作。對于用戶而言,往往只需要一臺計算機,接上互聯網,就能享受網絡給他帶來的便利。不過,在軟件給人們帶來便利的同時,卻面臨著安全漏洞遭受攻擊的巨大風險,攻擊者利用對數據的篡改、竊取來獲取利益,使得用戶或服務商的個人隱私或經濟利益受到威脅。
2 軟件安全開發的關鍵技術探討
2.1 基于硬件的版權保護技術
該技術指的是在軟件授權加密過程中在計算機上連接外部硬件,通過硬件技術的安全性來避免軟件受到攻擊或是被惡意復制。這些外接于計算機上的硬件設備以加密狗或加密卡為主,而這些設備中基本都內置了CPU和一定容量的存儲空間,軟件開發時都會把一些關鍵性模塊存儲在該硬件里。只有程序在執行時由硬件中的CPU先對關鍵模塊實施解密,接著軟件再開始繼續工作。所以,只有當計算機接入硬件準確,同時成功解密模塊后,軟件才會繼續工作,由此來防止軟件被惡意盜取的情況。
2.2 動態軟件水印技術
目前,隨著人類社會的不斷進步,對于知識產權的保護也愈加關注,在軟件知識產權保護領域也是如此,特別是隨著互聯網技術的成熟,軟件傳播的不斷加快,使得軟件知識產權被侵權的現象更加普遍。過去由于技術限制,基本上對軟件知識產權保護的措施以加密為主,盡管這些手段對于軟件保護有著短期保護作用,但從長遠來看,并不能進行長期保護。
所以,隨著軟件技術水平的提高,研究人員研發了一種新的保護技術——動態水印技術。從技術原理來看,該技術并不像加密等技術手段對軟件本身進行保護,而是把開發商的信息隱藏起來,存儲到軟件中,這樣這些信息就難以被黑客發現,同時,這些信息能夠有效地標識出作者、所有者等信息,在提取后,能夠對產品實施鑒定。經過筆者的調查和確認,該技術對于軟件產品的保護是卓有成效的。
2.3 軟件靜態源代碼分析技術
隨著網絡技術的快速發展和互聯網的迅速普及,人們對軟件的使用頻率也在不斷提高,軟件安全漏洞也愈發嚴重。對于眾多的用戶和開發商而言,想要發現軟件漏洞是比較困難的,那么要想快速便捷地查找軟件漏洞,避免因為軟件漏洞而對用戶造成的利益損害,就需要使用軟件靜態源代碼分析技術。
該技術在目前屬于最為有效的安全漏洞檢測技術。從技術原理上看其優勢在于,對待要檢測的軟件直接檢查并分析其源代碼就行了,不需要像其他安全漏洞檢測技術那樣要先運行軟件再檢測,從而提高了檢測效率。該軟件目前被廣大用戶和開發商廣泛使用,主要原因是其優點較為突出,包括對源碼分析的速度較快、還能同時對其系統展開檢測。不過,該檢測手段還是有著不小的弊端,像是需要花費許多時間對所得的檢測結果分析然后得到結果,盡管能夠發現漏洞但卻無力修復。所以,筆者提出了一種對類進行度量來對靜態分析工具的掃面結果展開優先級排序的算法,從而處理其弊端。
2.4 動態數據依賴安全分析與動態軟件保護
當下,隨著人們使用軟件的頻率不斷提高,越來越多的黑客盯上了這塊蛋糕,通過攻擊用戶或開發商來獲取不當利益,使得軟件的安全問題越來越嚴重。軟件的不斷研發和更新,使得其中存在的安全漏洞數量快速增長,新種類的安全漏洞被不斷發現,同時,來自外界的軟件破解也愈加頻繁。因此,怎樣快速地找出軟件中存在的安全漏洞,對其及時修補從而加強軟件的安全水平就成了極為重要的問題。筆者針對該問題,提出了一種動態數據依賴安全分析的辦法,該辦法能夠準確地找出安全漏洞,并提出動態軟件保護算法,可以及時地尋找出軟件中隱藏的安全漏洞并確保軟件安全。
當我們在程序的動態執行過程中發現了從某個輸入函數到關鍵性函數之間有著一條不通過校驗方法的數據流路徑的話,那么我們就能確定程序中有著一個安全漏洞。如此,我們就能利用對程序在執行過程中展示的動態數據依賴圖完成分析工作,我們利用檢測數據流路徑能否通過校驗方法,來查看程序在不同執行路徑下是否存在著安全漏洞。這種通過對程序的動態數據依賴圖展開分析同時檢測安全漏洞的方法我們稱之為動態數據依賴安全分析。
動態數據依賴安全的工作原理就是對程序正常工作實施分析,查看程序在不同運行路徑下是否有安全漏洞的存在,由此來實現檢測的目的,相比靜態源代碼分析技術其檢測安全漏洞準確率明顯高了許多。當然該技術也不是絕對完美的,漏報也是時有發生。在某條程序中存在的路徑在程序執行過程中沒有覆蓋到時,若是該路徑中含有安全問題,就無法有效檢測到。所以,利用該技術手段進行分析時,需要盡量徹底地對程序的執行路徑實施覆蓋,從而避免漏報的情況出現。
3 結語
目前,隨著互聯網的普及,計算機網絡安全問題也愈加重要,來自黑客的攻擊、病毒、甚至是網絡犯罪等,時刻威脅著網絡使用的個體戶或開發商的合法利益。所以,為了提高軟件的安全性能,保護使用者的隱私和經濟利益,就需要開發人員在軟件開發時減少安全漏洞的產生,避免軟件被黑客攻擊或是破解,從而有效解決軟件的安全問題,推動軟件行業發展。
參考文獻
[1] 汪普慶.計算機軟件安全及其防范探討[J].數字技術與應用,2016(1):219.
[2] 潘博.淺談計算機軟件安全檢測方法[J].電腦知識與技術,2013(13):2996-2997.
[3] 張凌云.淺談計算機軟件安全檢測方法[J].信息通信,2014(1):140.