方加娟
摘要:針對以傳統(tǒng)的軟件開發(fā)方法開發(fā)出的軟件安全程度低的情況,提出了基于主動防御技術的軟件開發(fā)方法設計。本文從軟件安全角度出發(fā),對軟件領域需求分析,確定需要使用服務的應用程序或者其他的服務,在需求分析的基礎上,確定軟件應用框架,對軟件的權限進行命名,通過原始數(shù)據(jù)和圖文件等實現(xiàn)對資源的創(chuàng)建,并將主動防御技術應用到軟件開發(fā)中,加強軟件的安全性,以此實現(xiàn)基于主動防御技術的軟件開發(fā)。為保證此次設計方法的有效性,設計了對比實驗,實驗結果表明,此次設計的基于主動防御技術的軟件開發(fā)方法比傳統(tǒng)的軟件開發(fā)方法安全程度高,具有一定的實際應用意義。
關鍵詞:主動防御技術;軟件開發(fā);安全性
中圖分類號:TPB/1 文獻標識碼:A
文章編號:1009-3044(2019)30-0015-04
近年來,隨著信息技術的高速發(fā)展,軟件在各個領域都得到了廣泛的應用,軟件作為計算機中不可缺少的部分,對社會各個領域中的影響非常大。軟件開發(fā)是根據(jù)用戶要求建造出軟件系統(tǒng)或者系統(tǒng)中軟件部分的過程,在軟件開發(fā)過程中首先需要對需求進行捕捉、分析、設計和實現(xiàn)。目前,隨著軟件開發(fā)方法研究的深入,在多種開發(fā)平臺中也得到了廣泛的應用,使企業(yè)中的軟件系統(tǒng)變得非常龐大并變得越來越復雜。這種復雜環(huán)境下,導致一些軟件常出現(xiàn)被攻擊的現(xiàn)象,很大程度上影響了軟件的發(fā)展,為此,提出基于主動防御技術的軟件開發(fā)方法設計。主動防御技術是近幾年發(fā)展起來的一種網(wǎng)絡安全防護技術,其與以往的網(wǎng)絡安全研究思路不同,其原理是通過判斷各類網(wǎng)絡攻擊并預測將會發(fā)生的安全隱患,針對正在進行中的網(wǎng)絡安全攻擊,主動防御有利于有效組織攻擊,從而減少對軟件的攻擊。將主動防御技術應用到軟件開發(fā)中,能夠借助防御措施阻斷攻擊,擺脫被動響應的狀態(tài),并且可以針對不同類型的病毒攻擊,進行主動防御,以此提高軟件的安全性。
本文首先對軟件領域需求進行分析,確定需要使用服務的應用程序或者其他的服務,在此基礎上,確定軟件應用框架,并對軟件的權限進行命名,對軟件的應用的訪問限制進行處理,并對軟件的頁面進行構建,同時加強軟件的安全性,以此實現(xiàn)基于主動防御技術的軟件開發(fā)。為了保證此次設計的方法的有效性,設置實驗,實驗對比結果表明,此次設計的基于主動防御技術的軟件開發(fā)方法比傳統(tǒng)的開發(fā)方法安全程度高,具有一定的實際應用意義。
1基于主動防御技術的軟件開發(fā)方法設計
1.1軟件領域需求分析
在對軟件開發(fā)設計之前,首先要對軟件領域需求進行分析,由相應的軟件開發(fā)人員對軟件的領域進行分析,確定需要使用服務的應用程序或者其他的服務。在軟件領域需求分析階段,引入軟件體系結構概念,以結構化的方式對問題空間和用戶需求進行組織,并將軟件需求以特征的形式進行表示,以特征作為需求空間內(nèi)的一階實體,通過顯示的描述特征間的靜態(tài)和動態(tài)依賴關系對軟件領域需求進行分割和組織,并為了有效對軟件領域需求分析,定義特征間的重要關系,其中包括凈化關系、約束關系、影響關系和交互關系,分別對靜態(tài)和動態(tài)的依賴關系進行描述,并在后繼的復用階段,通過對領域特征定制產(chǎn)生適應與具體軟件特征信息完整性和一致性檢查提供依據(jù),軟件領域需求分析過程如圖所示:
上圖為軟件領域需求分析過程,在對軟件領域需求分析時,按照上述過程進行分析。在此基礎上,通過查詢注冊中心的服務,根據(jù)接口說明信息并使用某種傳輸協(xié)議與服務綁定執(zhí)行服務功能。并創(chuàng)建服務的實體,從服務消費者處接受請求并可以遠程執(zhí)行所請求的服務,通過向注冊中心發(fā)布服務接口信息以供服務信息者發(fā)現(xiàn)和訪問服務,引用文獻法對軟件領域進行分析,計算公式為:
查詢過程如圖所示,在此基礎上,根據(jù)服務需求,提供展示服務功能,服務消費者通過查詢存儲信息庫找到自己感興趣的服務接口信息。面向服務的體系結構中的主要操作包括發(fā)布、發(fā)現(xiàn)、綁定和調(diào)用,發(fā)布的目的是通過消費者通過服務的描述信息對需要信息發(fā)現(xiàn)或者調(diào)用,用戶可以通過查詢注冊中心去定位符合標準的服務,并在獲得標準信息后,服務根據(jù)信息調(diào)用服務。除此之外,明確軟件的功能需求和可獲得服務之間的動態(tài)關系,以及服務于實現(xiàn)服務的底層技術關系。在了解軟件領域需求分析后,根據(jù)需求分析,詳細設計并確定總體框架,保證整個軟件的功能需求的滿足通過服務的流程化組織得以實現(xiàn),下一步將對軟件的應用框架進行設計。
1.2確定軟件應用框架
在對軟件領域需求分析后,確定軟件的應用框架,首先研究軟件系統(tǒng)的需求規(guī)約,制定設計決策,將軟件中的問題進行細化,創(chuàng)建構建和連接子,建立靜態(tài)和動態(tài)的框架圖。同時為了提高軟件復用率,對資產(chǎn)池中的可復用構建和廉潔自律進行考慮,將面向?qū)ο蟮幕窘M成元素從對象分裝為構件。在此基礎上,確定軟件應用框架,主要包括權限獲取、權限命名、支持權限、界面構建、資源創(chuàng)建等。將這些進行一致性校檢后,將整個框架組裝成可發(fā)布的軟件包,其中權限獲取主要包括用戶的隱私數(shù)據(jù)、設備保持活動以及網(wǎng)絡執(zhí)行訪問等,保證軟件在運行中不會受到其他程序影響,并對軟件的權限進行命名,如果在使用該軟件時沒有關聯(lián)特征的權限,表明不能在運行當中產(chǎn)生對軟件數(shù)據(jù)以及用戶體驗的影響。軟件應用框架圖如下:
軟件在開發(fā)和運行時需要貫穿起來并具備統(tǒng)一的工具和平臺支撐,所以在確定軟件應用框架階段,將設計、實現(xiàn)、維護等提供統(tǒng)一工具,對軟件的主要特性進行支持,并堅持網(wǎng)構軟件自底向上進行開發(fā),以軟件體系的中間結構為中心進行設計,在支持技術方面,提供可視化設計,并提供實時顯示與操作底層平臺與上層構建運行轉(zhuǎn)臺和行為的反射式礦石,以及基于規(guī)則的軟件自主運行機制。并且,在軟件操作中,通過設置權限,實現(xiàn)對軟件的應用的訪問限制。若想使用該軟件時,需要對相關權限進行聲明,在權限實際調(diào)用時,進行檢查,權限檢查公式為:
在上述公式計算完成后,如果該用戶不具備軟件使用權限,則以安全異常情況將其拋出,并對其缺陷檢查后,將廣播實現(xiàn)接收器的遞送。在此基礎上,對軟件的頁面進行構建,根據(jù)HDu原則,在xM中對uI界面進行定義,使設計的軟件更加便利。對于系統(tǒng)的外部文件,在被代碼調(diào)用的基礎上通過編譯方式將其編入到應用程序中,在軟件進行運行時,對這部分數(shù)據(jù)進行解析,根據(jù)不同的描述情況具有不同的二個特征,以最快的速度加載軟件的資源,并對字符串進行壓縮,在對程序資源進行編譯時,將其在二進制代碼中盡心編譯面對軟件進行應用。二進制算法模型如圖所示:
如圖所示為二進制算法模型,二進制代碼代人公式為:
上述公式計算完成后,將其放置在對應的目錄中進行編譯。除此之外,軟件對圖片、字符串等類型資源提供支持,對于軟件對象類型的不同對其提供支持,通過原始數(shù)據(jù)和圖文件等實現(xiàn)對資源的創(chuàng)建,以此完成對軟件應用框架的建立,通過對軟件應用框架建立,為實現(xiàn)基于主動防御技術的軟件開發(fā)提供一定的基礎。
1.3實現(xiàn)基于主動防御技術的軟件開發(fā)
在軟件領域需求分析和確定軟件應用框架的基礎上,實現(xiàn)基于主動防御技術的軟件開發(fā),為加強軟件的安全性,將主動防御技術應用到最后的軟件開發(fā)中。首先,將分層技術應用到軟件開發(fā)中,以提高軟件開發(fā)效率,使用分層技術可以通過使用客戶端界面來滿足自己的實際需要,同時。能夠?qū)⒖蛻舻男畔⑦M行有效整理在此傳送的客客戶端中,并且提供業(yè)務處理、界面和數(shù)據(jù)庫,滿足軟件設計的要求,界面層通過客戶端的形式能夠?qū)蛻舻膶嶋H要求進行搜集,并能夠?qū)π畔⑦M行處理,被處理超過的數(shù)據(jù)傳到業(yè)務處理層進行使用,在業(yè)務處理層申請被傳遞到數(shù)據(jù)庫后進行審核處理,在處理后再次反饋到業(yè)務處理層。同時將業(yè)務處理層傳遞過來的用戶需求分析結果進行數(shù)據(jù)交換,以代碼的形式實現(xiàn)與計算機直接聯(lián)系。在此基礎上,采用中間件技術進一步提高軟件系統(tǒng)的安全性,通過對軟件不斷測試、調(diào)整來降低軟件風險,為軟件主動防御提供一定的基礎。在此基礎上,做好入侵檢測,保證軟件在受到入侵時做好正確的響應。在檢測環(huán)節(jié)中,判斷異常入侵行為。
通過上述公式判斷出軟件中受到的人侵行為,從而保護軟件安全,除了入侵檢測之外,運用入侵檢測技術發(fā)現(xiàn)軟件中潛在的風險,獲得主動防御的權利。在主動防御每一次細化和轉(zhuǎn)換后,軟件結構會變得更加精確和完整。同時,防護功能應該作為軟件的核心,為有效保證軟件安全,在軟件的入侵防控中設置身份認證、漏洞掃描、病毒網(wǎng)關和邊界控制等等。在人侵防控具體措施中,還包含防火墻技術,有效將風險和威脅攔截在軟件外,并引用VPN技術,對軟件進行加密,通過加密措施阻擋非法用戶,還可以防止修改數(shù)據(jù)或者竊聽信息。從軟件的響應角度看,將主動防御技術應用到軟件開發(fā)中,如果遇到不同類型的入侵和進攻行為,主動防御網(wǎng)絡可以根據(jù)風險類型構建行為庫,在行為庫建立過程中,需要對風險類型進行劃分,引入態(tài)勢劃分算法。劃分原理如圖所示:
在行為庫建立后,判斷人侵行為,在此基礎上進行反擊,入侵行為本身具備較高的風險性,所以要先確認正確的反擊對象,針對風險類型,對其準確定位,在定位的基礎上,減少反擊過程中出現(xiàn)的誤差情況,在上述設計完成的基礎上,以此實現(xiàn)基于主動防御技術的軟件開發(fā),為了證明上述設計的基于主動防御技術的軟件開發(fā)方法的有效性,將在下一步進行實驗。
2實驗對比
上述設計只是從理論上證明了此次設計的有效性,為了保證此次設計的方法具有一定的實際應用意義,對其進行實驗論證,同時為了保證實驗的嚴謹性,將傳統(tǒng)的軟件開發(fā)方法和此次設計的基于主動防御技術的軟件開發(fā)方法進行對比,并設置實驗環(huán)境,如下所示:
2.1實驗環(huán)境設置
為了保證實驗環(huán)境的安全性,設置實驗環(huán)境,操作系統(tǒng)選擇Windows7。內(nèi)存為4.00GB,硬盤為466GB,數(shù)據(jù)庫設置為MySQL,開發(fā)語言為c++,如圖所示:
實驗設置環(huán)境如圖所示,通過該實驗配置模擬一個完整的操作鏡像,在虛擬機中任何操作和外界都是隔離的,不會對外界產(chǎn)生任何影響。將傳統(tǒng)的軟件開發(fā)方法和本文設計的基于主動防御技術的軟件開發(fā)方法投入到該實驗環(huán)境中,進行實驗。
2.2實驗結果分析
在上述設計的實驗環(huán)境下進行實驗,主要對比兩種方法開發(fā)出軟件的安全性,實驗對比結果如表1所示,并根據(jù)實驗對比結果繪制對比圖:
通過圖8能夠看出,傳統(tǒng)的軟件開發(fā)方法開發(fā)的軟件安全程度低,因為軟件開發(fā)環(huán)境越來越復雜,應用者越來越多,傳統(tǒng)的軟件開發(fā)方法在軟件安全上沒有過多的注意,從而導致軟件的安全程度較低。而本文設計的軟件開發(fā)方法,安全程度較高,因為該方法在軟件基本設計上,將主動防御技術應用到了軟件開發(fā)中,大大提高了軟件的安全性。通過上述實驗基本能夠證明,此次設計的基于主動防御技術的軟件開發(fā)方法的有效性,因此該方法具有一定的實際應用意義。
3結束語
綜上所述,隨著計算機技術的發(fā)展,越來越多的軟件被開發(fā),給軟件開發(fā)領域帶來了一定的發(fā)展空間也帶來了一定的挑戰(zhàn)。以往開發(fā)的軟件中安全程度較低,容易受到網(wǎng)絡上惡意插件的攻擊,針對這種現(xiàn)象,提出了基于主動防御技術的軟件開發(fā)方法。將主動防御技術應用到軟件開發(fā)中,能夠擺脫被動響應的狀態(tài),預防并杜絕軟件中的安全隱患,減少不安全軟件帶來的損失。從軟件安全角度分析,由相應的軟件開發(fā)人員對軟件的領域進行分析,在此基礎上,確定軟件應用框架,并為了保證軟件的安全性,將主動防御技術應用到最后的軟件設計中,以此實現(xiàn)了基于主動防御技術的軟件開發(fā)方法設計。通過實驗對比證明,此次設計的基于主動防御技術的軟件開發(fā)方法比傳統(tǒng)的軟件開發(fā)方法安全程度高,具有一定的實際應用意義。希望通過此次設計的基于主動防御技術的軟件開發(fā)方法能夠為軟件開發(fā)提供一定的幫助,以提高整體軟件的安全程度,加快信息時代的進步。