- 相關(guān)推薦
軟件安全開發(fā)技術(shù)研究和實(shí)施論文
一、引言
隨著信息社會的飛速發(fā)展,人們對軟件的依賴已不可小視,尤其是軟件不僅為人們帶來了許多便利的同時,也對人們的生活方式帶來了巨大改變。在我們生活中,數(shù)字視頻、音樂、電子游戲等娛樂方式已經(jīng)得到普及,而其和交通、通訊和醫(yī)療保健的聯(lián)系也是非常普遍。因?yàn)檐浖诋?dāng)前和人類有著不同以往的關(guān)系,因此,軟件的安全問題更加應(yīng)該引起重視,因此,下文本文將從軟件安全開發(fā)的關(guān)鍵技術(shù)等方面展開探討。
二、當(dāng)前軟件所面臨的威脅
通過對軟件產(chǎn)品所面臨的安全威脅研究所知,當(dāng)前嚴(yán)重威脅著軟件安全威脅因素主要有兩個方面:一方面是對軟件產(chǎn)品的破解、非法傳播和使用,而另一方面則來自于攻擊者針對軟件產(chǎn)品自身的安全漏洞進(jìn)行的攻擊。這兩者中,無論是來自哪一方面的威脅,都將給企業(yè)帶來巨大的損失。
(一)版權(quán)保護(hù)
通俗來說,版權(quán)保護(hù)問題也即是軟件盜版的問題,它涉及到軟件的非授權(quán)使用和非授權(quán)復(fù)制等兩個主要方面。我們都知道,軟件經(jīng)常會帶來很大的經(jīng)濟(jì)、社會效益,因此,它的價值就不言而喻,而這種高價值、低成本、易復(fù)制的特性,使得其非常容易受到攻擊,當(dāng)前,這種問題顯得愈發(fā)突出了。
(二)安全漏洞
互聯(lián)網(wǎng)的普及,使得網(wǎng)絡(luò)服務(wù)越來越便利,尤其是隨著云計算的概念的提出,用戶更是享受到了前所未有的便捷,對于用戶來說,也許僅僅需要安裝一個瀏覽器,就可以享受到諸如娛樂和購物等多方面服務(wù)。但是在這種便利的背后,軟件服務(wù)的漏洞卻也存在著,對于數(shù)據(jù)的篡改、竊取等現(xiàn)象時有發(fā)生,甚至給用戶或服務(wù)商帶來巨大損失。
三、軟件安全開發(fā)的關(guān)鍵技術(shù)分析
針對軟件安全開發(fā)存在的問題,本文首先對其中涉及的關(guān)鍵技術(shù)進(jìn)行分析:
。ㄒ唬┸浖踩_發(fā)流程技術(shù)
當(dāng)前,許多軟件開發(fā)商都沒有具備在軟件構(gòu)建中就采取足夠的安全意識,他們往往將重心放在后期對軟件的安全修復(fù)上,這是不可取的。由于軟件的其他業(yè)務(wù)更容易獲取利潤,因此他們的重心有所偏離。本文經(jīng)過筆者分析,要改變這種狀態(tài),使軟件的安全性達(dá)到較高的水平,就應(yīng)該將安全性納入整個軟件開發(fā)生命周期中來進(jìn)行考慮。本文所采用的軟件開發(fā)流程如下圖1所示,在這個流程中,大致有五個階段:(1)設(shè)計階段;(2)編碼階段;(3)測試階段;(4)發(fā)布階段;(5)維護(hù)階段。容易看出,在這個流程中,隨著項(xiàng)目的進(jìn)展,所有工作的核心都是以安全為主線,并且也可以和螺旋模型、瀑布模型等許多軟件開發(fā)模型得到很好結(jié)合。因此,在軟件生命周期中,幾乎每一個階段都會有不同的行為來提高軟件系統(tǒng)的安全性能。圖1基于改進(jìn)的軟件安全開發(fā)流程
(二)動態(tài)軟件水印技術(shù)
當(dāng)前,軟件的知識產(chǎn)權(quán)保護(hù)成為人們原來越關(guān)注的一個焦點(diǎn)問題,尤其是隨著互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,帶寬的提高和各種資源分享技術(shù)的成熟,軟件的傳播也得到了極大便利,其帶來的非授權(quán)現(xiàn)象也變成了非常常見的現(xiàn)象。傳統(tǒng)對軟件知識產(chǎn)權(quán)保護(hù)的方法主要加密狗保護(hù)、加密、加殼等方法,這些方法雖然也可以有效地防止軟件被破解,但是實(shí)踐證明,這些方法對軟件的保護(hù)并不是長期有效的,在各種利益的驅(qū)使下,電腦高手等人員對軟件的破解只是時間而已。因此,隨著軟件技術(shù)的發(fā)展,另一種方法被提了出來,這就是動態(tài)水印技術(shù)。動態(tài)水印技術(shù)并不直接對軟件進(jìn)行保護(hù),它的工作原理是將開發(fā)商的諸如版權(quán)保護(hù)信息、身份認(rèn)證信息等隱藏到軟件產(chǎn)品中,這種信息是不容易被察覺到的,而這種信息又可以標(biāo)識作者、所有者、發(fā)行者等信息,當(dāng)提取出來以后,可以有效地對產(chǎn)品進(jìn)行鑒定。實(shí)踐證明,這種動態(tài)軟件水印技術(shù)可以有效地達(dá)到保護(hù)軟件產(chǎn)品的目的。
。ㄈ┸浖o態(tài)源代碼分析技術(shù)
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,隨之而來的是越來越多的軟件安全漏洞問題,對于廣大用戶和開發(fā)商來說,軟件漏洞的發(fā)現(xiàn)實(shí)屬不易,那么有沒有什么方法可以有效查找到軟件的漏洞呢?在這種情況下,就出現(xiàn)了軟件靜態(tài)源代碼分析技術(shù)。所謂軟件靜態(tài)源代碼分析技術(shù),其在當(dāng)前也是一個比較成熟的安全漏洞檢測技術(shù)。其工作原理為待檢測軟件產(chǎn)品不必運(yùn)行,而只需要對軟件的源代碼進(jìn)行檢查和分析,這包括源代碼的結(jié)構(gòu)、文法、接口等,最后生成軟件的安全性檢測報告的過程。軟件靜態(tài)源代碼分析技術(shù)由于其一系列優(yōu)點(diǎn)被廣泛應(yīng)用:(1)對源碼分析的速度比較快;(2)有著比較高的自動化程度;(3)同時也可以對無窮狀態(tài)系統(tǒng)進(jìn)行檢測。當(dāng)然,傳統(tǒng)的靜態(tài)源代碼分析技術(shù)也存在著諸如要耗費(fèi)大量精力對大量的檢測結(jié)果進(jìn)行分析、對發(fā)現(xiàn)的漏洞的問題進(jìn)行修復(fù)等不足;诖,筆者提出了一種基于對類進(jìn)行度量來對靜態(tài)分析工具的掃描結(jié)果進(jìn)行優(yōu)先級排序的算法,可以有效地解決這個問題。
四、軟件安全開發(fā)管理平臺的設(shè)計和實(shí)現(xiàn)
當(dāng)前軟件的開發(fā)商中中小企業(yè)占有相當(dāng)?shù)谋壤虼,本文基于中小企業(yè)的軟件開發(fā)提出一種有效的安全開發(fā)流程,并對其實(shí)現(xiàn)進(jìn)行了相關(guān)探討,其總體架構(gòu)如圖2所示,在以下整體架構(gòu)中結(jié)合了上文提出的各種技術(shù)等。下文將對這些模塊進(jìn)行詳細(xì)介紹:
1.軟件安全開發(fā)管理平臺:為了能夠使簡化后的軟件安全開發(fā)流程被更好的應(yīng)用到企業(yè)軟件項(xiàng)目開發(fā)的過程中去,本文針對該模型設(shè)計并實(shí)現(xiàn)了一個軟件安全開發(fā)管理平臺用于輔助軟件安全開發(fā)流程的實(shí)施。該平臺可以有效達(dá)到在資源較為有限的情況下,在軟件開發(fā)過程中盡早發(fā)現(xiàn)安全問題并進(jìn)行修復(fù),降低安全成本,提高軟件產(chǎn)品安全性的目的。
2.項(xiàng)目管理:在這個模塊中所涉及的人員主要是項(xiàng)目的管理人員等,其主要包括項(xiàng)目經(jīng)理等。其可以對軟件項(xiàng)目的信息進(jìn)行維護(hù),對項(xiàng)目的階段進(jìn)行控制,并能夠?qū)浖?xiàng)目的安全狀況進(jìn)行整體把握。
3.安全開發(fā)管理:這一部分是核心部分。在這一模塊中會按照軟件開發(fā)項(xiàng)目所處的階段,按照軟件安全開發(fā)流程提供各種安全措施,其中有能夠自動完成的措施也有需要人工完成的部分,這一模塊所面向的使用人員和軟件開發(fā)項(xiàng)目所處的階段有關(guān)。它主要包括以下階段:設(shè)計階段:設(shè)計階段是項(xiàng)目的最初狀態(tài),需要在這一階段完成對軟件項(xiàng)目的風(fēng)險評估等內(nèi)容。編碼階段:在這一階段中,就用到了上文中提出的靜態(tài)源代碼分析技術(shù),它將對軟件項(xiàng)目的源代碼進(jìn)行掃描,以發(fā)現(xiàn)其中的漏洞。在這一階段中,開發(fā)人員要隨時在安全知識庫中查看相關(guān)的安全編碼策略文檔,使其盡可能的減少代碼中存在的安全問題。當(dāng)軟件功能己經(jīng)全部實(shí)現(xiàn),代碼全部完成,靜態(tài)源代碼分析出的安全漏洞解決完畢后,可以由項(xiàng)目經(jīng)理把項(xiàng)目推進(jìn)到測試階段,開始進(jìn)行軟件的測試。測試階段:在這一階段中,安全開發(fā)管理模塊提供的功能包括定期自動部署測試系統(tǒng)、動態(tài)分析測試以及其他安全測試工具的結(jié)果導(dǎo)入,面向的使用人員主要是測試人員。發(fā)布階段:當(dāng)項(xiàng)目進(jìn)入發(fā)布階段時,安全開發(fā)管理模塊提供對軟件代碼進(jìn)行混淆、加入軟件水印、啟用動態(tài)軟件保護(hù)以及對軟件產(chǎn)品進(jìn)行發(fā)布前的安全評審功能。主要面向的使用人員是項(xiàng)目經(jīng)理和安全管理員。
4.安全知識庫管理和問卷管理:這兩個模塊面向的人員主要是安全管理員。由安全管理員對安全知識庫中的安全文檔以及在安全評審中需要使用的問卷進(jìn)行管理。
5.系統(tǒng)管理:這一模塊主要對軟件安全開發(fā)管理平臺本身進(jìn)行一些配置和管理工作。本文提出的這種改進(jìn)的軟件安全開發(fā)流程,其中優(yōu)點(diǎn)就在于不僅結(jié)合了各種先進(jìn)的安全技術(shù),而且設(shè)計了一個軟件安全開發(fā)管理平臺,它將軟件開發(fā)中的各個階段都統(tǒng)一管理了起來,集成了更高的自動化程度,可以更有效地提高了軟件的安全性能。
五、結(jié)語
當(dāng)前,計算機(jī)網(wǎng)絡(luò)安全問題不容小覷,各種攻擊、病毒、垃圾信息,甚至一些網(wǎng)絡(luò)犯罪等,無時無刻不在考驗(yàn)著網(wǎng)絡(luò)的安全性能,因此,軟件安全問題也引起了大家的重視。因此,為了使軟件能夠應(yīng)對目前的安全威脅,就必須在軟件開發(fā)過程中提高安全意識,在軟件的整個生命周期內(nèi)對軟件的安全性進(jìn)行關(guān)注,提高軟件產(chǎn)品的安全性。
【軟件安全開發(fā)技術(shù)研究和實(shí)施論文】相關(guān)文章:
開發(fā)組件軟件的論文04-27
面向管理信息系統(tǒng)開發(fā)的軟件工廠技術(shù)研究的論文05-02
軟件工程在軟件開發(fā)中的應(yīng)用論文04-27
公路計量支付軟件的應(yīng)用與開發(fā)論文04-30
軟件開發(fā)中現(xiàn)代軟件工程的應(yīng)用的論文04-27
教學(xué)軟件開發(fā)思想和模式05-01