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