時間:2022-04-11 03:22:33
導言:作為寫作愛好者,不可錯過為您精心挑選的1篇軟件檢測論文,它們將為您的寫作提供全新的視角,我們衷心期待您的閱讀,并希望這些內容能為您提供靈感和參考。
【摘要】隨著科學技術的日益發展,計算機技術深刻的改變了我們的生活。各種社會活動都已經離不開計算機,計算機成了我們生活的一部分。然而伴隨著計算機的普及,各種計算機安全和網絡安全問題凸顯了出來。越來越多的針對計算機的攻擊行為對計算機的使用安全和信息安全產生了巨大的威脅。計算機的軟件安全檢測是保護計算機安全和信息安全的一個有效手段。本文通過對計算機軟件安全檢測技術進行研究和分析,總結出了幾種主要的計算機軟件安全檢測技術。
【關鍵詞】軟件安全;安全監測;計算機安全技術
1前言
計算機的軟件安全檢測技術是保護計算機數據的盾牌。要改善計算機軟件安全檢測技術,先要了解計算機軟件安全監測的概念和基本情況,分析現存的計算機安全檢測技術,為未來行業的發展提出指導性意見。
2計算機軟件安全檢測綜述
計算機軟件安全技術是否可靠決定了廣大用戶的信息安全和財產安全是否讓人放心。如果計算機的安全軟件存在著重大缺陷,就有可能造成重大的財產損失。開發安全軟件,最重要的步驟就是軟件安全檢測,根據檢測數據來對不同的安全缺陷進行針對性的調整,更好的解決軟件安全問題。安全軟件對于自身的檢測是安全軟件能夠不斷進步的試金石,檢測行為能夠在最小的檢測樣本中找出最多的安全問題,盡量避免安全問題直接進入用戶的軟件版本中[1]。而且,安全軟件和普通軟件之間還有著重要的差別。差別主要表現在三個方面。首先,安全軟件和普通軟件的缺陷發現方式不同。大多數的安全軟件缺陷普通用戶是不可能發現的,只有專門從事于網絡攻擊的黑客或者是專門從事于網絡安全的人員才有可能發現漏洞,而對于普通軟件,許多漏洞都是用戶或者其他來源發現的,并非來自于測試人員。第二,安全軟件與一般軟件的修復速度也是不一樣的,如果安全軟件出現了漏洞,那么就會在第一時間進行修復,因為每晚修復一秒,都有可能有用戶因為這個漏洞而導致財產損失。普通軟件由于不涉及到安全問題,發現缺陷之后可以在下一個更新版本中修復。
3計算機軟件安全檢測的步驟
計算機軟件安全檢測一般需要遵循一定的步驟。軟件安全檢測是通過檢測軟件,實現計算機各部分的聯系和互動,來測試整個結構的穩定性。軟件安全檢測有如下幾個具體步驟:首先記性單元測試,對這個程序中的各種基本單位進行逐個的檢查,排除基本單元可能存在的缺陷。第二步是把已經檢驗完畢的各單元組合在一起,來測試各單元之間的聯系和溝通存不存在障礙,保證系統各部分之間溝通高效。第三步是測試整個系統的穩定性,保證每一條指令執行起來都能暢通無誤[2]。
4主要的計算機軟件安全檢測技術
4.1詞法檢測技術
詞法檢測技術是出現時間最長、使用最廣泛的靜態檢測技術。這種技術的原理是檢測程序源代碼中有危險的C語言系統調用。這個測試技術實際上是在被測軟件的接口處生成一個模擬輸入,來檢測被測軟件的運行情況。一般按照以下幾個步驟來執行。首先是識別軟件語言,然后再定語語言語法,最后生成用例,開始進行軟件檢測。
4.2形式化安全測試技術
形式化的安全測試技術要利用到軟件的數學模型,利用數學模型的形式和規格來對軟件的運行狀態進行說明,來提供軟件的運營狀態信息。形式化安全檢測技術要求更高的技術水平,其中包括了兩種辦法來進行安全監測。有模型檢測,也有定理證明。
4.3基于故障注入的安全性測試技術
基于故障注入的安全測試技術采用的是通過某種極端情況來檢測軟件的穩定性,比如把時間調整到最不可能的時間點,讓所有的事件通過表面合理的方式來進行連接,生成故障,然后再觀察軟件如何處理這個問題。故障注入的安全測試技術,是自動化程度比較高的技術,可以顯著降低人工的工作量,讓安全監測更加的充分。
4.4模型的安全功能測試技術
模型安全檢測技術是通過建立一個模型的辦法來測試計算機軟件的應對和處理。在日程生活中,想要檢驗一個東西的可靠程度可以建立一個相似的環境來觀察它的表現。計算機安全檢測也是如此,建立一個安全模型,讓軟件在其中運行,驅使安全軟件工作,觀察它的工作狀態。
4.5基于屬性的測試技術
基于屬性的測試技術有著兩大優點。那就是互動性和延伸性。一般也要遵循固定的程序。首先要確定被測軟件的安全規則,把它的安全屬性帶入到系統中,驗證系統程序是否能夠遵守設計的規則[3]。
4.6其他測試技術
除了以上這些測試技術,還有一些測試技術因為應用范圍有限等因素,沒有單獨來說。這些技術有白盒模糊測試技術,也有分布式安全檢測技術。近些年來,相關技術越來越多,越來越成熟,我們期待著能夠從這些新技術中找到未來的發展方向。
5軟件安全檢測的注意事項
5.1具體問題具體分析
計算機軟件安全檢測是一個動態的過程,需要我們隨時觀察,隨時修正。不同的計算機軟件有著不一樣的特點和特性,我們要針對每一種計算機軟件的每一個過程來針對性的設計試驗流程。讓最終的實驗結果能夠更加準確。
5.2檢測人員的多元化
計算機安全檢測技術涉及到多個環節和多個行業,每個環節的專業傾向都不一樣,想要做好計算機檢測的工作,首先要保證檢測人員的多樣化。在進行軟件檢測的時候,不能只讓軟件檢測員來負責,還要被測軟件的相關專家來輔助。來自不同領域的檢測人員互相之間協同配合才有可能把檢測工作做好[4]。
5.3對安全軟件詳細分析在軟件的安全檢測過程中,要對軟件進行詳細的分析。區分出需求級、系統級和代碼級。對于許多大型軟件來說,除了以上三個級別,還有對軟件的機構進行分析。安全軟件檢測是一項復雜的工程。需要我們時刻打起精神應對不斷出現的新情況,對不同的安全軟件使用不同的分析技術,必要時還可以使用各種輔助工具配合工作。
6結語
計算機軟件安全檢測技術是維護計算機安全的重要手段,需要我們盡可能的重視起來。本文首先對計算機軟件安全的現狀進行了介紹,然后對主要的計算機軟件安全檢測技術進行了總結。
作者:陳傳順 單位:中國移動通信集團廣東有限公司
摘要為提高檢驗業務的全面質量管理水平,實現任務、人員、數據的傳輸和共享,設計開發了纖維檢驗業務流轉的管理軟件系統。本文介紹了紡織品檢驗管理軟件的必要環節控制,為當前需要業務管理改進的單位提供參考。
關鍵詞:紡織品;業務管理;軟件開發
紡織品檢測業務管理是紡織品檢驗日常工作中的一個重要組成部分,過去的業務管理不管是手工還是計算機處理既繁瑣、效率低,又不方便數據傳輸、統計和整合。為了提高業務管理效率和準確性,相關單位都在著手開發相應的業務管理軟件,以便實現辦公自動化。但因各個單位業務性質、規模大小、業務繁簡程度各不相同,采用的業務處理程序也就有所區別,難以得到推廣。本文介紹了紡織品檢驗業務管理軟件的開發思路與模塊結構,各個單位可以在此基礎上擴展和完善。
1紡織品檢測業務管理系統概要介紹
本文研究設計的紡織品檢測業務管理系統,是對整個業務系統流程進行簡單化處理的系統規劃,此規劃是完整性業務系統中必要性步驟的設計,此系統具有很強的擴展性,是完整業務系統開發的基礎開發部分,各單位可根據自身業務特點擴展功能。業務管理系統主要涵蓋檢測全流程中的必要環節,包括對網上任務的評審、任務單的打印、自動分樣、檢測結果錄入、報告審核、報告自動打印、檢測收費核算、檢測報告寄送、工作人員考核、檢測報告狀態對外查詢和相關查詢統計功能。考慮到各檢測機構內部管理不同,業務管理系統主要針對必要性公用性模塊的設計,并具有很強的通用性和可擴展性,是各檢測機構進行完整業務系統開發的基礎開發模塊,各檢測機構根據各自業務需求也可以提供定制化服務。通過對業務管理系統的嚴密設計,使整個業務流程的數據標準規范化、過程跟蹤追溯化、管理數據嚴謹化。將樣品受理部門、分樣部門、檢測部門、出證審核部門、證書寄送部門、管理部門通過業務系統科學有效的管理模式和應用技術連接起來,通過建立可視化工作流程模型記錄每一步工作流狀態,以便于各部門更好地協作工作[1]。
1.1紡織品業務管理系統功能需求
(1)縮短業務流轉時間,建立高效流暢的業務處理流程主要體現在:加快樣品登記、委托任務單評審時間,快速將委托任務分發給實驗室,準確快速地出具報告,快速地將電子版報告上傳給客戶,將紙質版報告寄給客戶。(2)增加信息數據可靠性通過調用標準模板,提高報告的準確度,通過對大量數據的分析,為企業提供可靠的分析報告。(3)提高業務處理智能化降低對流水線作業人員專業知識掌握能力的要求,通過權限的設置,各個部門之間權限分明、信息共享,擴大信息查詢的范圍,可以按照任意關鍵字進行查詢。
1.2系統設計思路
業務管理軟件用于檢驗機構處理檢驗訂單、評審委托任務單、分樣、檢驗結果填寫、出具報告、報告樣品物流管理以及各類統計功能的業務管理系統。通過運用業務管理系統,可視化管理業務流程,將接樣、分樣、檢測、出證、人員考核、報告寄送、費用核算等環節智能化管理,提高工作質量和工作效率。業務管理系統功能見圖1。
1.3軟件設計系統結構
系統采用B/S模式,數據庫采用SQLSERVER數據庫,開發環境為JAVA,中間件使用Tomcat6.0。詳見圖2。
1.4系統功能模塊結構
檢驗業務管理系統主要功能由七大模塊組成:A.接樣管理子系統;B.任務管理子系統;C.檢測指標管理子系統;D.檢測報告管理子系統;E.檢測費用管理子系統;F.人員考核管理子系統;G.報告寄送管理子系統。其中A、B、C、D為檢測流程控制主模塊,E、F、G為系統輔助模塊。詳見圖3。
2系統主要功能
2.1接樣管理
接樣管理是檢測過程的起始點,用于確認一個檢測任務的開始,即針對一個最終形成的檢驗報告對應一個接樣管理記錄,功能包括接樣添加、修改和作廢,相關內容涉及:流水號、樣品名稱、樣品貨號、采樣時間、委托單位、付款單位(選擇)、生產單位、來樣時間、檢測樣品數量、預付金額、要求完成時間、錄入人等信息。
2.2任務管理
任務管理是用于明確檢測任務的具體信息而設置的,用于分離接樣時因任務過多無法一次性填寫,所以分離了接樣基本信息和項目的輸入,也是校核任務后流轉下一環節的中轉站。
2.3檢測指標管理
檢測指標管理是用于錄入檢測指標項的管理,根據任務書管理中的檢測項目和檢測標準,確定每個檢測項目的分類指標項,并輸入該項目的檢測結果值,最底層指標項來源于系統管理中的收費、考核管理,輸入指標需選擇記錄檢測人員,已完成系統整理的人員考核統計。檢測指標管理支持選擇檢測模板,選擇模板后相關的檢測項目將與檢測模板完全一致,可進行項目的添加和移除操作,從而提高錄入檢測指標的速度。
2.4檢測報告管理
檢測報告管理包括檢測報告的生成和打印,檢測報告的指標項在檢測指標管理中已經形成,按檢測報告格式進行套打,可在檢測報告中選擇模板,在檢測模板定義中可與檢測指標管理直接關聯,生成打印報告時可不再選擇模板,將直接套用檢測報告模板生成。
2.5檢測費用管理
檢測費用管理是檢測報告完成后的后續收費管理和已完成任務的費用查詢統計,可查看檢測報告中的所有項目和子項目的收費情況及總計,可查看預收費用和實收費用,根據客戶或時間段進行統計整體收費情況。如檢測中客戶為簽約客戶,將從客戶余額中直接扣除,并生成客戶的費用日志,內容包括報告編號、客戶名稱、檢測費用、余額和扣款日期,在客戶查詢報告狀態中客戶也可自行查看費用情況。收費處理中需輸入項目為實收費用和收費完成日期。
2.6人員考核管理
人員考核管理模塊是放置在系統管理的人員管理中,為了明確數據來源,此功能單獨作為一個功能模塊列出。人員考核的數據來源于檢測指標輸入,根據檢測指標的考核費用指標進行計算。可按部門、人員、時間和檢測項目進行統計查詢,獲得人員產值和檢測情況。
2.7報告寄送
報告寄送是對檢測報告寄送方式的企業進行管理,按已完成報告時間段批量打印快遞寄送單,寄送單打印后自動將處理狀態設置為已發送并記錄發送時間,如需重新打印可選擇任務或進入客戶管理中打印單個寄送單。
2.8系統管理
系統管理是針對系統基礎信息進行設置的功能,包括客戶管理、標準管理、指標項管理、收費、考核管理、檢測模板管理、報告模板管理、人員管理和權限管理。系統正式運行前必須對基本系統信息設置完整,客戶、標準、指標等信息發生變化時,必須及時修改。
2.9客戶在線查詢
在外網開放報告查詢和扣費日志查詢,檢測狀態已接樣和報告已完成寄出。扣費日志查詢可查看檢測費用的扣款情況。
3應用效果
本所開發的業務管理軟件是集接樣、分樣、檢驗、出證以及會員一體化的專業纖檢業務管理軟件,采用多層架構分模塊開發。該軟件性能穩定,運行安全,操作簡單,管理方便。運行一年多以來,業務工作效率明顯提高。改變了以往依靠人工流轉,無法記錄中間拖延環節與錯誤而造成工作效率低下的工作模式。應用管理軟件后業務流轉中樣品的接樣、分樣、檢驗、出證以及做賬等每一道程序都記載人員、時間、工作量及工作質量;流轉中前后銜接、準確、快速地處理好每道任務。業務管理軟件的應用,減少了檢驗業務中的等待、重復、不必要的協調等活動,簡化不必要的表格填寫,整合原職能分工不明確的崗位。同時方便采集、傳遞和共享數據,向客戶提供便捷的業務查詢途徑。
4結束語
業務管理信息化是時展的需求,隨著電子技術的發展、檢驗規模的壯大以及業務需求量不斷擴大,業務管理軟件需要不斷改進、不斷完善、與時俱進,更高效地發展檢測服務管理。
作者:陸素梅
[摘要]隨著科學技術的不斷發展與創新,計算機已經成為人們日常生活工作中的必要工具,但同時隨著計算機的應用不斷深入,人們對計算機使用性能和安全程度有了更高的要求。計算機的功能由硬件和軟件共同支撐,其中計算機軟件是計算機賴以工作的基礎,針對計算機軟件的安全檢測技術又是確保計算機安全工作的重要內容。計算機軟件安全檢測技術是針對計算機軟件不同的安全指標進行安全檢測,該技術的科學應用可以準確高效地識別出計算機軟件中存在的安全漏洞。在本文中對計算機軟件安全檢測技術中存在的問題和解決方案進行簡單分析,以幫助相關技術人員在實際應用中進行參考。
[關鍵詞]計算機軟件;安全漏洞;檢測技術
0引言
對計算機軟件安全性能進行考評是在計算機的軟件開發和使用過程中極為重要的步驟,該步驟的順利實施可以幫助相關技術人員找到軟件運行中存在的故障和安全隱患,并可以根據檢測結果及時進行修補,以保證軟件的正確使用和推廣。現行的計算機檢測技術在應用過程中仍無法完全避免漏洞和錯誤的發生,因此在實際的應用中需要相關技術人員采取科學高效的安全檢測手法對計算機軟件進行評定。
1計算機軟件安全檢查流程及注意問題
1.1計算機軟件安全檢查流程
在對計算機軟件進行安全檢查時,軟件多為大型的應用軟件,該軟件內部往往包含著由多人開發的冗雜子系統,因此對大型軟件進行安全檢查是一項龐大復雜的工程。在實際的安全檢測過程中通常將大型軟件的子系統分割成互不影響的模塊,對這些模塊進行安全檢測。大型軟件的檢測工作通常情況下先對模塊進行測試,之后將各個模塊組裝成系統,然后對該系統的結構進行安全檢測,最后在對軟件整體的功能和性能進行有效測試,以判斷軟件的性能指標是否與預期相符,采用這樣的檢測流程就可以實現對軟件安全指標進行科學的考評。
1.2制定高效合理的軟件安全檢測方案
在對計算機軟件進行安全檢測之前,需要對計算機軟件的功能和特性進行充分的考察,并根據具體的情況制定出科學合理的軟件檢測方案,以確保安全檢測方案實施的高效性。在進行軟件安全檢測具體工作時,應邀請具有專業知識經驗的人員參與,并再配備熟悉和掌握該軟件特點的技術人員參與,另外還可以聘請多領域相關的專家參與工作,從多個方面對軟件進行考評測試與修正,以保證計算機軟件可以達到理想的應用效果。
1.3系統化全面性的分析
計算機軟件安全檢測是一個冗雜繁復的過程,如何選擇有效且可行的檢測方案是執行人員需要著重考慮的問題,在實際工作中應該對計算機軟件做到系統化和全面性的分析。大型計算機軟件的程序通常具有較大規模,在進行軟件安全檢測時就要求技術人員對軟件進行代碼級、系統級和需要級的細致檢測,另外進行計算機軟件安全檢測時對同級別檢測也需要進行合理的技術分析。
2計算機軟件安全漏洞檢測方式
2.1形式化安全檢測方式
通常情況下若是可以搭建準確的計算機軟件數學模型就可以采取形式化的安全檢測方法,在實際的應用過程中往往采取形式規格語言進行使用,在檢測的過程中常常使用行為語言、模型語言或是有效狀態語言等規格語言。
2.2靜態模型檢測方式
靜態模型檢測方式是在使用的過程中需要對軟件的具體行為和結構框架進行模型建立,在進行檢測時實際就是對該測試模型進行檢測,通常情況下使用的設備對該模型具有可讀性,并可以具體運行,其中應用最為廣泛的包括有限狀態機和馬爾可夫鏈兩種方法。靜態模型的檢測方法通常情況下采用系統化的建模檢測方法,因此與形式化安全檢測方法相比更加合理,不需要軟件所有的工況都保持不變,而是通過對模型建模得出一系列的測試模型,當該模型經測試后與軟件的期望值相同時證明該軟件不存在漏洞。
2.3語法檢測方式
語法檢測方式是又一種較為常用的計算機軟件檢測方法,該種檢測方法通常情況下是基于語法特點在軟件的生成功能接口處進行檢測,對該接口處的語言和語法進行檢測,并在一定的條件下生成檢測用的范例,通過改變計算機軟件的上級輸入條件,并在下級處檢測不同輸入條件下的輸出結果,并根據不同的檢測結果對軟件的安全性能進行檢測。2.4導入故障檢測方式導入故障的檢測方法是一種融合了傳統故障檢測技術和動態檢測技術的科學軟件安全檢測方法,該種方法建立在白盒模糊檢測基礎上并在操作中不需要冗雜的操作規范,但是在查找軟件漏洞方面卻有很大成效。通常情況下需要考評常見的故障和漏洞類型,并建立系統的故障漏洞樹,之后通過對軟件的人為測試以對軟件的漏洞和故障進行檢測,該種檢測方法可以極大地提高安全檢測技術的自動化程度,因此在未來的計算機安全檢測中會得到更廣泛的應用。
2.5安全屬性檢測方法
在進行計算機軟件開發過程中編程人員采取不規范的編程規則就容易導致軟件產生安全漏洞和故障,因此在軟件開發之前由相關部門制定科學的安全編程規則是保證軟件安全性的重要手段。在軟件開發過程中嚴格按照安全編程規范,之后按照確定的規則對軟件程序代碼進行檢查,這種方法可以對軟件漏洞的交互性和延展性得到及時分析。
3結語
在信息化高速發展的今天,各行各業對于計算機的應用已經達到無可替代的地步,而對于大多數的公司來說數據安全是管理者需要著重考量的問題,在信息安全體系中計算機軟件安全檢測是必不可少的部分,因此日常工作中對計算機軟件進行科學高效的安全檢測,是促進計算機軟件良性發展的重要內容,相關的技術開發人員需要在今后的工作學習中不斷探索出更為有效的計算機軟件安全檢測方法,真正保障軟件使用者的安全應用,維護軟件使用者的自身利益,促進市場的平穩健康發展。
作者:魯艷麗 單位:長春市企業退休人員檔案管理中心
摘要:對軟件程序進行重新設計和編寫,是預防安全漏洞、確保軟件安全的主要手段。所以,計算機技術人員要不斷努力,強化安全漏洞檢測技術,保障計算機軟件運行安全穩定。在計算機的軟件系統中,安全漏洞是對信息系統造成威脅的主要原因,所以,計算機軟件中安全漏洞的檢測技術成了現今人們探索的重點問題。文章研究了計算機軟件中安全漏洞檢測技術。
關鍵詞:計算機軟件;安全漏洞;檢測技術;應用
近年來,計算機技術的應用越來越普遍,計算機軟件的發展非常迅速。同時,源代碼的數量也隨之急劇增加。一些黑客通過代碼中的某些漏洞對計算機的軟件及系統入侵并破壞。所以,計算機軟件的安全問題已經變成了如今系統安全的關鍵問題之一。
1計算機軟件中的漏洞
漏洞是軟件、硬件、協議實施中的紕漏,也是系統安全層面的缺失處,讓未獲取授權認可的攻擊方對系統探訪、攻擊、損害。漏洞的自我特質面可從幾個層面表征:第一,是在編訂程序的環節內有某些邏輯類失誤的生成,該種失誤是由編訂者粗心引發,較為常見。第二,是在軟件的各個數據演算、處理的環節中,也會有某些邏輯類失誤的生成,在程序模塊中用中等大小同較小、較大的模塊比對看出,非中等程序模塊失誤比率較高。第三,漏洞和軟件系統的環境關聯度較高。同一臺計算機中各異的軟、硬件版本、在配置不等的前提下,每各設備共組的軟件體系同系統一致但設置不等時,都會有安全層面的缺陷處。第四,軟件的整體系統漏洞和時間也有關聯性,也就是說在時間長度的延伸下,曾出現的漏洞會被補修、更正,但新的漏洞也同時會更加顯現。所以,計算機軟件內的漏洞是長久存留的難題。
1.1計算機軟件安全漏洞的原發性
通常情況下所謂的計算機漏洞是指由于計算機軟件自身含有某些潛在的缺陷和劣勢,這些潛在的缺陷和劣勢由于自身包含的特點可能引發一些風險或者說造成相對容易的攻擊范圍。計算機軟件漏洞出現的主要原因就是由于計算機軟件設計人員的操作存在失誤。從上面的分析中可知,計算機軟件最主要的就是由于自身存在著缺陷才導致了后天的攻擊性行為。計算機軟件設計人員在設計的過程中很難考慮全部的設計因素,而且現在的軟件設計人員的設計水平良莠不齊,這就決定了計算機軟件在投入市場的開始就存在著一定的風險,這種風險是由于計算機軟件本身所存在的某些原發性錯誤引起的。
1.2計算機軟件安全漏洞的差異性
計算機軟件的應用范圍很廣,目前市場上存在著各式各樣的軟件,這些軟件適用的工作區域也不一樣。一般來說,計算機軟件漏洞和其工作的環境之間存在著較為密切的聯系,在不同的工作環境內即使相同的計算機軟件也可能表現出不一樣的漏洞特征。計算機軟件的工作環境對于計算機軟件的運行起著至關重要的作用,計算機軟件主要根據寫好的程序代碼運行,在不同的設備上,計算機軟件的代碼執行過程也會存在一些差異,這些差異都決定了計算機軟件漏洞的多樣性和差異性的特點。
1.3計算機軟件安全漏洞的延續性
計算機軟件都會不斷更新,計算機軟件的漏洞也會不斷被修復,然后隨著而來又會出現一些新的計算機軟件漏洞。在使用的過程中計算機軟件會隨著時間的推移,原先的漏洞會不斷被修復,然而程序總會存在新的程序邏輯錯誤,這些新的邏輯性錯誤又會導致新的漏洞,計算機軟件漏洞就不停地處于這樣一個無限的循環中,除非一個計算機軟件徹底被市場所淘汰。
2計算機軟件中安全漏洞的檢測技術
現階段,信息技術已經成為人們生活中一個必不可少的生活要素。隨著科學技術的不斷進步,各種計算機軟件的不斷被開發出來,開發計算機軟件的人也變得多起來了。目前,國外有關的專家研究發現,隨著計算機軟件的大量使用,計算機軟件的漏洞的數量和頻率都變得越來越高。目前網絡黑客的數量也變得越來越龐大,黑客的性質也發現了質的變化,越來越多黑客在利益的驅動下對個人和集體用戶展開了大規模的攻擊。在這種大環境下,只有計算機技術人員不斷提高計算機軟件安全漏洞的檢測技術才能應對這種挑戰。計算機軟件內的安全漏洞可檢出的策略有2類:一類是靜態模式的檢測技術,另一類是動態模式的檢測技術。
2.1計算機軟件安全漏洞的靜態模式檢測技術
最開始的計算機軟件安全漏洞靜態檢測就是靜態分析,但是由于其檢驗的方式多停留在表面,因此,近些年開始逐漸對其進行研究與創新,靜態檢測也就逐漸擴充成為2種內容:靜態分析及程序檢驗。其中,靜態分析指的是對需要檢測的系統程序進行源代碼的掃描工作,從語義、語法等角度進行全面解析,同時直接分析待測系統程序的自身特性,利用這種方法尋找漏洞。而程序檢驗是指抽象系統內的程序源代碼。主要借用檢驗方法,檢測軟件系統的程序是否符合計算機的需求,特別是對安全的需求,然后對程序中的安全漏洞存在與否進行判定及檢驗。對于計算機軟件安全漏洞的靜態檢測來講,其更多注重的是計算機軟件系統程序的內部特性,靜態檢測的方法特點同檢測漏洞的特點之間包含著密切的關聯。計算機軟件中的安全漏洞所執行的靜態模式檢測,最初是靜態模式辨析,但監測的技術手段多側重于表層。所以,在更深入的探究和研創后,靜態模式的檢測內涵得以拓展,既有靜態模式辨析,也包括程序的驗查。靜態模式辨析就是對檢查測試的系統程序掃描其源代碼后,從語法層面、語義層面進行多方位的闡釋,并把檢測系統程序的特性予以直接化的辨析,借此探尋出漏洞所在。程序驗查則是對系統程序中的源代碼抽象化。憑借驗查手段,檢查軟件內組的系統程序同計算機所需的相符度,以及能否同安全所需匹配。接著辨識和驗查程序安全層面存在的漏洞。該種靜態化的軟件安全漏洞檢測法,更傾向于軟件自身系統程序的內存特質,同時和檢測漏洞特質有著較高的關聯性。
2.2計算機軟件安全漏洞檢測技術中的安全動態檢測
2.2.1內存映射
在攻擊群體中,往往多用字符串末尾部位“NULL”字樣的序列對內存做全覆蓋,進而實施損害攻擊。在代碼頁中實施的映射技能,可讓攻擊方作出字符串末尾部位“NULL”字樣的序列對內存做全覆蓋舉動時,跳轉至簡易內存區域中的操控難以進行。從另一側面來說,在內存的多個地址中,隨機性地映射代碼頁,可縮減揣度地址而發動頁面損害攻擊的發生比率。
2.2.2非執行棧
近年來,攻擊軟件的舉措多發生在對棧的破壞上,這是因多數操控系統內的棧所屬的能寫性和執行性所引發。在內部的變量存儲中,棧的載體中有核心數組的變量,攻擊方借此可將惡意的代碼發送至棧內,并探尋出代碼執行手段。而要規避棧的侵襲、損害可執行的有效策略為,更改棧內執行代碼使其不可執行。這樣更改后即便攻擊方將惡意的代碼送至棧內,但代碼不可執行很好地縮減攻擊的成功率,讓程序不被損壞。
2.2.3安全共享庫
某些計算機運行了安全性極差的共享庫就會引發軟件安全漏洞。共享庫的安全度高可用對攻擊方的損害行為很好的防預,而安全度低的共享庫則易被損害。安全化的共享庫是動態化的鏈接模式運作,在程序運作環節將多類安全度低、沒安全性的函數運用予以攔截,并進行另外的測驗,進而保證計算機軟件整體的安全。
2.2.4沙箱
沙箱法是對某些損害性攻擊的防預,即借助某一程序的資源訪問限定來實現。如某些調動函數會被編入C語言中,而某個軟件自身是不會有此種調動函數的。若出現了軟件運行時有類似調動函數的運行,軟件已經被惡意侵入。但在惡意侵害之前,運行沙箱對其做出限定,則在入侵后不會有不良損害。
3計算機軟件中安全漏洞檢測技術的應用
3.1預防競爭條件的漏洞
漏洞的成因中也有因競爭條件而引發的缺陷,對其防預的策略就是將競爭成因的編碼執行原子化運作。編碼是最小的執行單元,在運作程序環節內不會有任意狀況對其實施干擾。原子化運作就是用鎖定的操作,對某一特定的狀況更改而衍生的問題予以防預,這樣可對應用文件名體系實施間接化的調用,可表述出應用文件或使用的句柄。
3.2預防緩沖區的漏洞
對于緩沖區內的漏洞可借助軟件程序內危險值高的函數驗查來實施防預,將安全度較低的軟件用高安全度的新版本替換。
3.3預防隨機出現的漏洞
在對隨機性的漏洞實施防預時,可借助隨機性高的發生設備來進行。隨機發生設備有著自屬密碼演算,可確保隨機數流的高安全度。在軟件被惡性侵害,對算法每一細微處都掌控,但數據流不會形成,進而起到防預能效。
3.4預防格式化字符串的漏洞
執行嚴密、謹慎的防預方案,直接性地在數碼中運用格式常量,讓供給方找不到可創設格式串的缺陷處。個數函數在不定參數時往往會有格式化字符串的缺陷潛藏,對此類函數運行時就要讓每一參數的數目有保障,均衡穩定。
3.5計算機軟件安全漏洞的防范措施
計算機軟件安全漏洞檢測技術應用的過程中,一方面要避免緩沖區漏洞,認真檢查程序中的危險函數,使用安全的計算機軟件,不用盜版軟件和非法軟件,時刻做好緩沖區漏洞的處理和防范。一方面要避免競爭條件漏洞,在競爭代碼原子化操作的過程中,借助于文件句柄和其他文字描述字,保證計算機軟件的安全。另一方面要避免格式化字符串漏洞,盡可能地使用源代碼中格式常量,進而避免留下格式串機會,并防止隨即數漏洞,提供安全的隨機數據量,并對全部算法細節進行加密。
4結語
21世紀是一個計算機技術高速發展的社會,隨著經濟社會的發展和經濟全球化的影響,計算機技術在我國得到了大范圍的發展,在我國的各個領域中目前都離不開計算機,計算機的產生為我國的現代化建設提供了不竭的動力。但是,隨著信息技術的不斷發展也逐漸暴露出一些潛在的問題。目前,計算機的安全性已經成為人們關注的焦點。隨著開發的人越來越多,使用的人越來越多,惡意利用計算機軟件獲取個人信息、破壞計算機安全的人也就變得多起來了。目前,計算機安全已經成為世界各國高度關注的一個問題。有關的技術人員必須引起高度的關注才能有效解決計算機軟件漏洞,給計算機系統一片綠色的天空,給人們的網絡環境和信息安全提供一個新的平臺。總括來說,當下的周邊環境內,計算機軟件安全漏洞的檢測技術演化為基礎通信驗查、基礎計算機安全檢測的手段。運行的每一軟件安全性更多側重在程度的編訂、漏洞的遏制層面。所以,探究計算機軟件的安全類漏洞檢測技術,并對該技術的運用辨析,是當下工作者需更深層考量的事務。
作者:陳國棟 單位:山東電力高等專科學校
摘要:隨著科學技術的不斷發展,計算機軟件的種類也越來越多,滿足了人們日常生活和生產過程中的不同需求,從而在一定程度上使軟件的安全性能呈現出多樣化發展趨勢。軟件在運行過程中也開始出現各種安全漏洞,對計算機和互聯網的安全使用造成了很大威脅,因此,研究計算機軟件安全檢測技術的應用顯得十分必要。
關鍵詞:計算機軟件;軟件安全;安全檢測
0引言
隨著我國社會經濟的飛速發展,在電子計算機科學技術不斷完善和成熟的今天,計算機已融入到人們生產和生活的各個方面[1]。計算機的使用建立在相關計算機軟件基礎之上,不同的計算機軟件滿足人們不同的生產和生活需要,盡管為人們提供了諸多便利,但其安全性一直是困擾計算機使用的障礙,也給互聯網安全造成了威脅。所以在當前的計算機軟件開發過程中,對其進行安全性檢測已經成為了一項核心內容,這種措施能夠有效幫助相關的軟件開發人員找出潛在的安全隱患,并在此基礎上采取一定的應對措施,保障計算機軟件在使用過程中的安全性。
1計算機軟件安全檢測的基本形式
計算機發展使得用戶在軟件使用過程中,對其安全性有著更高的要求,主要表現為:①用戶安裝計算機軟件后,并不會對計算機本身的正常使用產生較大影響,如計算機運行速度明顯變慢等;②在用戶使用計算機軟件的過程中許多個人信息被留下,計算機軟件安全性得不到保證,與用戶相關的使用信息就可能被泄露,從而影響用戶的隱私保護,計算機軟件聲明周期中出現安全問題的原因[2]如圖1所示。因此計算機軟件開發人員在軟件開發過程中,要利用一定的安全檢測技術對計算機軟件中存在的安全漏洞進行檢測,并對其修復以提高計算機軟件的安全性,降低使用過程中存在的風險。計算機軟件安全檢測是在計算機軟件開發過程中,對軟件的安全性能進行檢測的一個過程,以找出程序中容易發生的錯誤。當前軟件安全檢測技術主要有動態和靜態兩種檢測形式。計算機軟件安全檢測是指利用相關檢測技術,在軟件開發過程中對軟件的漏洞和缺陷進行系統性的檢測,從而保證軟件的功能達到預期效果,計算機軟件的安全檢測內容主要集中在簡單的計算機軟件安全功能和安全漏洞檢測方面:安全漏洞檢測是檢測計算機軟件的安全缺陷及在計算機使用時產生的安全隱患,其停留在對普通計算機軟件缺陷的檢測方面,這類問題的解決主要是通過軟件升級或版本修復;而計算機使用的安全管理、授權、訪問控制和機密性等是計算機軟件安全功能檢測的主要內容,其主要對計算機軟件安全功能起到了檢測判斷的作用。
2計算機軟件安全檢測的基本要求
首先,在計算機軟件安全檢測的過程中要使用科學有效的安全檢測方法。鑒于計算機軟件程序的復雜性,簡單的檢測方法會導致軟件中很多潛藏的安全問題不能被排除,所以開發人員一定要在了解軟件的相關特性以及檢測軟件的使用條件后,根據實際情況選擇適合的檢測方法,制定出科學合理的檢測方案,同時在細節方面也要根據相關要求進行深化和細化。其次,對計算機軟件的檢測需要多類人員共同參與,才能盡可能多地排除軟件中潛存的安全威脅,主要是因為軟件漏洞存在于軟件開發程序的各個環節,所以多元化的人員參與有利于實現檢測方法的多樣性,使排除安全隱患的幾率更大。在軟件安全檢測過程中,除了需要具有專業軟件安全檢測技術的人員參與外,還需要有了解軟件工作和使用特性的人員,從而實現多角度、全方位的檢測,以排除更過的安全風險,滿足軟件使用的安全要求[3]。最后,在對軟件進行安全檢測的過程中,還要選擇合適的安全檢測方法,選擇前首先要對計算機軟件檢測的各種方案和案例進行分析研究、歸納總結,得出一般的檢測規律,并結合具體要求,選擇適合的檢測方法,制定合適的檢測方案,將檢測過程具象化。通過電腦模擬對制定的檢測方案建立數據模型,而語言支持在這個過程中幫助模型實現形式化的表現。以上環節結束之后,再開始檢測模擬系統,這也相當于對軟件進行了運行和結構的安全測試。
3計算機軟件安全檢測的具體技術
3.1語法安全檢測技術
這類檢測技術的主要檢測對象是計算機軟件中的語法,最終檢測結果也會因為最初輸入條件的不同而產生差異,其監測流程如圖2所示。語法安全檢測技術通常被用于檢測源程序中的安全漏洞,該檢測技術可及時有效地檢測出系統函數與C語言庫函數的切換,并及時恰當地作出處理,從而建立以語法為基礎的測試數據。同時該檢測技術還能實現對計算機軟件的安全檢測,排除潛存的安全風險,保證計算機安全運行。
3.2動態安全檢測
計算機軟件運行環境的變量是動態安全檢測的主要檢測對象,它包括內存、棧等在內的諸多信息,主要是對漏洞等風險因素進行檢測,其檢測流程如圖3所示。在這類檢測技術應用過程中,如果計算機軟件的漏洞被發現,就會自動完成相關修復工作。這種檢測技術的使用,由于不需要修改計算機軟件源碼,所以很好地保證了計算機用戶的隱私安全[4]。隨著計算機在商務應用中發揮的作用越來越大,其普及率也越來越高,為了保證商業機密的安全,這種軟件的檢測技術更加適用于商務性,從而也保證了在商務領域的推廣和應用。
3.3靜態安全檢測
基于程序代碼內部特性和結構是靜態安全檢測技術的重要特征,這類檢測技術的應用,需要事先構建合理的測試模型,以滿足計算機讀取的相關要求,在此基礎上,靜態安全檢測技術才可以被使用,靜態檢測技術中一種類型推斷技術的檢測流程如圖4所示。在利用這種安全檢測技術進行檢測之后,再將測試模型和待檢測的數據進行對比,如果計算機軟件具有良好的安全性能,它們的期望就會一致。在當前計算機安全檢測技術不斷發展和成熟的背景下,靜態安全檢測技術的種類也越來越多樣化,并且越來越多的安全技術人員投入到此研究中,靜態安全檢測技術必將得到更為充分的發展,并且在相關計算機軟件安全領域發揮重要作用。
3.4混合安全檢測
混合安全檢測技術實現了計算機軟件動態安全檢測與靜態安全檢測的結合,它吸收了兩種檢測技術的優勢,同時也克服了兩種單一技術中的劣勢,所以在計算機軟件安全檢測技術中有著較為優越的檢測能力,從而使這種混合安全檢測技術獲得了更高的檢測精度,擴大了檢測的應用范圍,也推動了漏洞檢測技術在相關的計算機軟件安全檢測技術中的發展。如圖5所示就是混合檢測技術中的Fuzzing檢測技術流程。
3.5基于web技術的安全檢測
這類檢測技術是基于web技術的逐漸推廣和廣泛應用,隨著Web技術的不斷發展,在計算機軟件安全檢測中發揮著越來越重要的作用。相較于之前的計算機軟件安全檢查技術,基于Web技術的安全檢測技術在檢測性能等各方面都表現出優異的成績,它具有更優的靈活性、高效性和先進性。在檢測過程中能夠對計算機軟件中存在的安全風險和漏洞進行及時有效的修復,同時也保證了計算機的安全、可靠、高效運行。在我國計算機軟件安全檢測技術不斷發展和提高的今天,這種檢測技術的成熟和推廣是一種必然趨勢。
4結語
計算機安全檢測技術的應用在計算機日益普及的今天是非常必要的,它為計算機的安全使用和良好運行提供了重要保障,并且在科技日新月異的今天,相信相關安全檢測技術的發展和完善必將取得更多成果。
作者:關若飛 單位:南京中醫藥大學
1計算機軟件安全檢測定義及重要性分析
計算機軟件安全對于保障計算機運行的安全十分關鍵,計算機軟件是否能夠運用于計算機中,也是需要對軟件安全性進行評估,只有軟件安全性達到一定標準才能夠滿足系統兼容性并投入使用中。計算機軟件安全檢測是利用多種檢測技術發現軟件設計的漏洞,并排除軟件使用中的風險性問題,保障計算機軟件的安全運行。計算機軟件不同于一般的應用軟件,一般應用軟件發生問題多為影響用戶的應用體驗,而無實質性的危險發生。而一旦計算機軟件故障并遭受到網絡攻擊,則將影響計算機的運行,甚至系統崩潰。由此可見,計算機軟件的安全性對于保障計算機網絡安全有著重要意義。利用多種計算機安全檢測技術,并根據軟件類型和特點有選擇性地進行安全檢測,排除可能存在的軟件問題,以進一步提高計算機和系統與軟件間的兼容性、安全性。
2計算機軟件安全檢測技術類型分析
2.1靜態檢測技術
靜態檢測技術,顧名思義是檢測軟件的靜態故障。如軟件編寫代碼的錯誤以及語法上的錯誤等等。由于網絡攻擊可能利用有缺陷的程序代碼和漏洞來進行攻擊,因此利用靜態檢測技術,排除軟件編寫中語法和程序的錯誤,可以做到最大程度上的風險減免。通過測試計算機軟件的使用情況,利用“與”或“非”等邏輯輸入形式,根據輸出結果來判斷計算機軟件編程中是否存在相應的語法問題。
2.2形式化安全檢測技術
形式化安全檢測技術主要是驗證軟件的合理性,根據軟件設計的模型以及數理上的可行性分析,來證明軟件使用的安全性。形式化安全檢測包括對軟件的數學模型進行檢測,分析模型運行的可行性以及模型的邏輯性。同時也包括對軟件進行定理證明,發現軟件設計上的數學錯誤和邏輯問題,以避免風險性問題的出現。
2.3基于故障注入的安全性檢測技術
基于故障注入的安全檢測技術是較為常用的安全檢測技術,也是較為可靠的檢測技術。故障注入的檢測技術,是利用生成的故障問題來觀測軟件運行時的安全性,即觀測軟件故障時的具體表現。故障注入即是模擬故障,通過修改軟件內存和改變軟件設計邏輯等方式,來模擬網絡攻擊和故障時計算機軟件的通常表現。通過還原的故障狀態,能夠進一步評估軟件在故障時的不足之處,以及檢測軟件自我修復功能的良好程度。在實際應用中,還能夠結合硬件的故障注入技術,實現軟件與硬件的同時檢測,以排除軟件與硬件問題之間的相互影響。
2.4基于屬性的安全檢測技術
基于屬性的安全檢測技術,首先需要確定軟件的安全屬性,并根據安全屬性的特點來評估軟件程序編碼中的可靠性。部分軟件的編碼表面上可以達到一定的安全性,但根據系統與軟件的安全屬性,則表現為軟件在編碼上存在不足,難以維護軟件的安全屬性,可見進行基于屬性的安全檢測是有積極意義的。
2.5其他安全性檢測技術
其他的軟件安全檢測技術,比如“白盒測試”、“黑盒測試”以及建模測試等等。軟件安全檢測技術多以軟件的語法測試或功能測試出發,如基于“白盒測試”的安全檢測技術,則主要從軟件代碼出發,發現編碼中出現的語法問題。此外,還有基于軟件功能進行測試,分析軟件模型的功能性,具有較強的實用性,能夠有效檢測出軟件設計中的問題,以保障計算機軟件的安全性。
3計算機軟件安全檢測技術應用分析
3.1計算機軟件安全檢測流程分析
計算機軟件安全檢測的進行,需要根據計算機軟件的大小而決定,對于組成復雜的計算機軟件往往需要分步分區進行檢測。計算機軟件安全檢測的基本流程由模塊測試、結構檢測、功能測試、系統測試等多個步驟組成,首先模塊測試主要是需要對軟件設計與編程的早期問題進行檢測,如程序算法、語法等方面的問題。其次是對軟件結構進行檢測,軟件結構是否完整,是否能夠支持相應的軟件的功能。其次是功能測試,檢測軟件在使用中是否可以實現特定功能,通過故障注入等方式,還能夠檢測軟件故障時的功能可靠性。最后需要進行系統測試,分析計算機軟件與系統的兼容性等等,以保障軟件在計算機系統中功能的正常實現。
3.2計算機軟件安全檢測的注意內容
在對計算機軟件進行安全檢測時,需要把握好相關注意事項,同時也是計算機安全檢測技術應用時的重要考慮事項。計算機軟件安全檢測技術種類較多,需要根據計算機軟件的特點和檢測目的來進行合適的選擇,同時需要按步驟進行檢測,規范化檢測程序,以保障安全檢測的良好效果,發現潛在的軟件風險問題。在軟件安全檢測中,需要進行系統的全面分析,以綜合考慮軟件與計算機的兼容狀況,才能夠準確評估軟件運行的狀況。
4結束語
計算機軟件安全檢測技術種類繁多,在實際運用中,需要根據計算機網絡的實際狀況以及網絡風險的類型而進行合適的選擇。運用合理的計算機軟件安全檢測方法,將能夠維護計算機網絡的安全與穩定,提升計算機軟件的可靠性。
作者:廖肇軍 單位:江西現代職業技術學院 同濟大學軟件學院
1漏洞產生的原因、形式及主要特點
1.1漏洞產生的主要原因及形式
漏洞在本質上可以理解為系統中存在的缺陷和弱點,其會對計算機系統造成一定的威脅,漏洞產生的主要原因是由于開發設計人員的失誤造成的。通常情況下其有兩種主要的表現形式,分別是功能性漏洞和安全性漏洞。功能性漏洞主要是系統軟件使用過程中產生的運行錯誤及流程錯誤等,而安全性漏洞主要會對計算機軟件及整個系統的運行造成較為嚴重的影響。
1.2漏洞的主要特點
首先,漏洞的產生主要是在程序編制過程中疏忽造成的,而數據處理與計算相比會更有可能出現邏輯性錯誤。其次,漏洞與具體的系統環境之間是存在著相互聯系的。第三,系統漏洞與時間之間存在著緊密的關聯,隨著時間的推移在舊的漏洞基礎上可能會產生新的漏洞問題,其具有長期性。
2靜態檢測技術
最初期的計算機安全靜態檢測在本上指的就是靜態分析,但是由于其驗證方法的不同所以又可以分為靜態分析和程序驗證兩個主要形式。首先對于靜態分析而言,其主要是通過系統中各程序代碼的掃描,并在語法和語義等層面對其進行全面理解,隨后對程序自身的特性進行直接分析,從而找出存在的漏洞問題。而程序驗證主要是采用驗證技術對系統程度能否存在安全漏洞進行檢驗,重點關注的是安全方面的要求。
2.1漏洞分類檢測
在靜態檢測中,其關注點主要集中在系統程序內部的具體特征上,其進行檢測的漏洞特征是與其技術特點有著較為緊密的聯系,并且對安全漏洞的分類方法較多。對于大多數的檢測技術而言,其能夠有效覆蓋的漏洞都具有一定的零散性,所以較難找出其在漏洞類型上的共同點。為了方便對其比較,我們可以將其分為安全漏洞和內存漏洞。安全漏洞主要是指數據流的錯誤和偏差狀況,而內存漏洞主要是指數據的儲存與類型是否正確等。
2.2靜態檢測技術
2.2.1靜態分析
靜態分析中最為常用的技術方法是詞法分析,其也是應用最早的靜態分析技術,其將系統程序分解為若干個小片段,隨后將其與嫌疑數據庫進行對比,從而發現漏洞問題并進行評估和判斷。但其只停留在語法檢查上,還應在安全規則基礎上通過特定語法形式對其加以描述,并利于規則處理進行相應的接收處理,隨后將其裝換成分析器可以進行接收的相關表達內容,并對系統程序的行為進行檢測和對比分析。
2.2.2程序驗證
程序驗證的主要方法通常有符號化法和模型檢測兩種,其中符號化法主要是采用將抽象模型狀態轉化為語法樹描述公式,并對其公式的有效性進行判定。模型檢測一般情況下需要將實踐中可能出現的狀態一一列舉出來,但是由于系統軟件自身的復雜性,其程序模型的規模較為龐大,因此主要是對其部分程序及屬性進行抽象模型的構造,并通過內存建模來實現對時序漏洞的有效檢測。
3動態檢測技術分析
3.1內存映射技術
在攻擊者常用的攻擊當中,有一種以NULL界位字符串來進行內存覆蓋,通過對于映射代碼頁的應用,我們可以將NULL界位的字符串跳轉到低內存中的難度增大,換言之就是說將代碼頁隨機映射到不同的內存地址上,從而在一定程度上防止對頁面的攻擊。
3.2安全共享庫技術
安全共享庫技術主要是通過采用動態鏈接技術,從而使程序運行過程中攔截就有不安全性因子的函數的使用,并隨時對函數的參數進行檢測,該種當時在Windows以及UNIX上得到了較為廣的應用。
3.3非執行棧技術
當前基于棧而進行的軟件攻擊事故相對較多,其主要是采用想棧中寫入惡性代碼的方式來進行軟件攻擊,因此最為直接的防范方式就是拒絕棧執行代碼,由此才能使得攻擊者在棧中寫入的惡性代碼不被執行。
3.4非執行堆和數據技術
一般情況下,堆是在程序運行過程中動態分配內存的區域,而數據段是在程序編譯時已經初始化,因此如果數據段與堆都不執行代碼操作,那么攻擊者在其中寫入的代碼就不會執行,如果將其與非執行占技術相結合,會使寫入的惡性代碼徹底喪失執行的機會。
4結語
在信息時代環境下,計算機軟件安全已經成為了計算機通信安全的重要基礎保障,通過靜態檢測技術以及動態檢測技術的綜合應用,必定能有效的消除計算機軟件方面存在的漏洞,大大降低計算機運行風險,提升其軟件安全性。
作者:章立 單位:江西旅游商貿職業學院
1鼠標電路簡化及光電碼盤精度提高
將機械鼠標改造成為角度傳感器,只需要用到其光電碼盤及光電檢測模塊,因此可以將鼠標的電路圖簡化成如圖1所示的形式,包括發光二極管、光敏三級管、鼠標芯片。光電碼盤每轉過1周能夠產生36個脈沖,再由鼠標芯片進行4倍頻細分,使得光電編碼器每轉能夠產生36×4=144個脈沖。即最小能夠分辨的角度是360°÷144=2.5°,顯然精度不夠高,因此我們可以在光電碼盤前端加上兩級齒輪傳動,來將分辨率放大16倍,其最小能夠分辨的角度是360°÷(144×16)=0.15°≈0.2°,如圖2所示。鼠標光電碼盤的大小一般為20mm,考慮到尺寸的搭配,齒輪可以選用玩具車上的塑料齒輪,這種齒輪價格十分便宜。其模數一般為0.5mm,如:1、3號齒輪可以選用40齒(直徑20mm),2、4號齒輪選用10齒(直徑5mm)。
2軟件設計
軟件設計采用VisualBasic語言編程。程序包含兩個部分,第一部分是將芯片初始化設置,去除自動加速功能。其具體方法是,程序向芯片發送十六進制代碼E7,命令芯片關閉自動加速功能,當收到應答FA后,表明設置完成。加速功能去除后,程序執行第二部分,檢測并計算碼盤轉角位移及速度。該部分程序中包含1個時鐘控件Timer和1個計數器Counter。當光電碼盤順時針轉過1個柵格時,計數器Counter加1,逆時針減1,由此可以求得角位移。將位移對時間進行微分,即可求得角速度,其具體方法是,時鐘控件每秒觸發1次,并記錄下計數器當前值與前一秒的差值Ti。一般機械鼠標采用PS/2串口輸出,對于一些不支持PS/2接口的電腦,采用一根PS/2轉USB串口數據線就能將設備插入電腦。當設備插入電腦后,電腦實際上會將該設備識別為鼠標設備,因此當光電碼盤旋轉的過程中,鼠標指針也會做出相應運動。從而鼠標指針移動的步數可以準確地反映碼盤轉過的柵格數目。通過捕捉鼠標指針,可以使得計數器Counter的數值隨著指針同步變化。然而當碼盤總是朝著一個方向轉動,鼠標指針可能超出邊界而停止。對此可以在程序中加入一個判斷函數,當指針超過邊界時,立刻通過SetCursorPos(X0,Y0)函數將指針調回原點重新運動。程序流程圖如圖3所示。
3結語
本文提供了一種可快速將機械鼠標改造成為角度傳感器的方法,能夠實現一定精度的任意范圍的角度測量.經過測試,其性能穩定。該方法最大的優點是無需開發單片機或者考慮外設與電腦的通訊協議,只需通過簡單的編程或者直接運行本文所給出的程序代碼,就能快速實現角位移及角速度的測量。
作者:唐靈俊 楊旸 周思柱 李寧 單位:長江大學機械工程學院
隨著科技的發展,計算機在社會中的地位越來越高,于此同時源代碼數量也不斷增多,由于這些漏洞的存在,很多黑客就利用這些代碼中的漏洞進入到計算機軟件中實施破壞。因此,計算機在給人們帶來方便的同時也為信息系統的安全埋下了一個定時炸彈,安全問題已經成為系統安全最主要的問題。隨著計算機更新速度加快,出現的漏洞越來越高,由于利益的驅使,黑客對其的攻擊形式多樣化。因此,在不斷提高漏洞檢測技術的基礎上,需要尋找彌補漏洞的有效方法,只有這樣才能保證計算機安全運行。
1計算機軟件存在的安全漏洞
隨著我國經濟的不斷發展,科技技術有了很大進步,互聯網中的信息系統使用范圍不斷擴大,在各個領域發揮著不可取代的作用。由于計算機軟件中有很多的安全漏洞,因此很大程度上信息系統就產生了一定的安全隱患。軟件中的漏洞會對信息系統造成非常大的威脅,這就需要對計算機軟件中的安全漏洞進行必要檢測,安全漏洞檢測是現代信息系統安全運行中非常重要的課題。計算機軟件漏洞是指計算機系統在編程時出現的錯誤導致的缺點,這些缺點非常容易使計算機軟件產生一些安全隱患和計算機自身的危險,計算機系統對有惡意的網絡信息有非常高的敏感性,極容易出現對系統攻擊行為。之所以出現這種情況,主要原因是在軟件開發和研制過程出現的一些問題。漏洞主要有兩種:安全性漏洞和功能性漏洞。安全性漏洞指的是在大多情況下漏洞不會影響計算機的正常運行,如果漏洞被黑客發現,軟件運行時就會出現錯誤,嚴重者計算機會執行錯誤的命令,有很大的危害性。功能性的漏洞是指漏洞能夠影響計算機正常運行,比如運行結果錯誤等等。漏洞特性主要表現在四個方面:1系統編程時由于編制人員的疏忽很容易出現邏輯性的錯誤,這種由于疏忽出現的錯誤很多是疏忽大意所致。2計算機在運行任務時很容易產生邏輯性錯誤,不同大小之間的程序模塊相比可以看出邏輯性錯誤的發生率很高。3漏洞和軟件環境有很大關系。4系統漏洞和時間也存在一定的聯系,隨著時間的延長,舊漏洞被修復但是也會產生新的安全漏洞。
2計算機軟件安全漏洞的各項檢測技術及應用
2.1安全靜態檢測
計算機軟件安全靜態檢測,注重的是系統內部特性,靜態檢測和漏洞兩者之間有共同的特點,這些特點之間也有很大的關聯。目前漏洞的劃分方法主要有安全性漏洞和內存性的漏洞。安全性漏洞對數據流的誤差比較注重,很大程度上由于錯誤的內存形態而形成的;內存性漏洞對數據的準確性和類別有很大的注重性。因此,這種漏洞主要的檢測技術方法就是在內部存儲空間進行建模。因為靜態檢測方法之間有很大的不同之處,漏洞的處理也有很大的不同之處。所以,一些監測技術只能對漏洞進行必要的檢測,但是一些方法在此基礎上還能夠對漏洞進行很好的處理。安全靜態檢測方法主要是對程序的代碼進行掃描,對其中的關鍵句進行詳細分析,然后根據設置的漏洞特性和標準對系統進行全面檢測。分析關鍵語法是最早的靜態分析法,它在分析時只對語法進行檢查,把系統中的程序分為不同段落語句和數據庫相互對比,如果發現有疑問,對其進行仔細的判斷,從而進行檢測;另一種檢測方法就是按照標準進行檢測。由于系統自身就是編程的標準,根據標準對計算機程序進行描述,可以通過語法對其進行描述,最后對系統進行整體檢測。
2.2安全動態檢測
2.2.1內存映射很多攻擊者在對軟件進行破壞時為了達到目的,會經常用到“NULL”結尾的字符串進行內存覆蓋。采用代碼頁映射技術,攻擊者能夠利用“NULL”結尾字符串進行內存覆蓋。
2.2.2非執行棧目前,出現了一些棧攻擊軟件的問題,主要原因是系統中棧的執行能力,由于棧內包含了所有數組變量,所以,攻擊者通過向棧中書寫一些惡意代碼,再進行代碼執行。預防這種攻擊方法最為有效的方法是打破棧的執行力,使代碼不能夠進行執行任務。2.2.3安全共享庫有些計算機中的安全漏洞主要是使用了不安全的共享庫所致。安全共享庫很大程度上可以預防惡意攻擊行為。安全共享庫有攔截和檢測功能,主要是指使用動態鏈接方式進行程序運行,把不安全函數進行攔截和檢測,最大程度上保護軟件的安全。
2.3計算機軟件安全漏洞檢測技術的應用
安全漏洞檢測技術直接關系到計算機的安全應用,其中在計算機軟件安全漏洞檢測中,其各項技術的應用主要集中在:第一,防止競爭條件安全漏洞應用。這種漏洞的應用一般是采用原子化處理競爭編碼,這種編碼有鎖定功能,原子化操作進入鎖定狀態,詳細的描述使用文件,很大程度上預防由于使用文件的變動使系統產生漏洞。第二,緩沖區安全漏洞檢測技術應用。緩沖區安全漏洞檢測主要是對軟件程序中的一些疑問函數進行詳細檢測來預防緩沖區安全漏洞。第三,隨機漏洞預防應用。對于隨機漏洞的檢測和預防需要用到性能良好隨機發生設備,這種設備能夠準確的對隨機漏洞進行預防,其中最主要的原因就是該設備有密碼算法。第四,格式化字符串漏洞檢測技術應用。這種檢測技術的應用一般是在代碼中使用格式常量。
3結語
有上文可以看出,隨著計算機的發展,計算機軟件漏洞檢測技術能夠很好的對計算機中的漏洞和病毒進行安全檢測,已經成為了現在計算機檢測最實用的方法。軟件的安全主要體現在編程和清楚漏洞方面,所以,需要對計算機軟件安全漏洞檢測技術不斷提高,使網絡信息系統更加安全的運行。
作者:汪剛 單位:南京工業職業技術學院
1計算機軟件安全檢測的流程
由于計算機軟件的系統規模比較大,系統中又包括了很多子系統,在各個子系統中又包括了很多模塊。一般來說,計算機軟件安全檢測工作要嚴格按照以下流程進行檢測:對各個子系統中的模塊進行測試;對軟件系統進行組裝工作;對計算機軟件的系統結構進行準確檢測;測試計算機軟件的性能與功能;測試計算機軟件系統。
2計算機軟件安全檢測的方法
2.1形式化安全檢測
形式化安全檢測,是以計算機軟件數學模型為基礎,運用形式化、規格化的語言,所構成的一種形式化說明形式。該種方法主要模型語言、有效狀態語言和行為語言三種形式化、規格化的語言。形式化的安全檢測所使用的檢測方法,以模型檢查和數學定理模型證明為主。
2.2語法檢測方法
語法檢測方法,是一種運用語法形式,對生成功能接口的計算機軟件進行檢測的一種方法。通常情況下,這種檢測方法主要以對計算機軟件進行研究和反映為目的。也就是說,在不同的輸入環境下,對計算機軟件的不同類型進行的反映。
2.3以模型為主的計算機軟件功能檢測方法
以模型為主的計算機軟件功能檢測方法,在實現計算機軟件行為與結構建模相結合的前提下,所組成的一種測試模型。這個測試模型具有滿足檢測機器要求的可讀性功能。以模型為主的計算機軟件功能檢測方法與形式化安全檢測方法,在進行對比后,前者將系統模型中的一組測試用例,運用該組測試用例對等待檢測的計算機軟件系統進行測試工作,在獲得充分的信息證據后,證明待檢測軟件系統行為與模型期望之間的一致性。其不對待檢測計算機軟件的系統、規格說明之間的一致性進行檢測。以模型為基礎的安全靜態檢測方法主要運用有限狀態機與馬爾科夫鏈兩種檢測方法。
2.4模糊式檢測模糊式檢測,在運用白盒模糊檢測方法的基礎上,將傳統檢測方法和動態檢測相融合,實現了傳統檢測方法的升華。雖然模糊式檢測方法比較簡單,但是其能夠將程序中的bug揭示出來,并對現實中存在的錯誤模式進行驗證,在軟件發貨之前,能夠提示可能阻塞的攻擊渠道。
2.5以故障注入為基礎的安全檢測
經過具體的實踐證明,以故障注入為基礎的軟件檢測方法,對于提升計算機軟件安全檢測方法的自動化水平具有十分重要的作用。
2.6基于屬性的檢測方法
通過將基于屬性的檢測方法和其他種類的檢測方法進行對比后,了解到該種檢測方法能夠全面的對計算機軟件系統安全漏洞的擴展性、交互性進行分析。在運用該檢測方法時,要對計算機軟件的相關規范章程進行了解,將規范章程作為安全檢測工作的重要屬性依據。然后運用安全屬性檢測計算機軟件系統程序的代碼,對計算機系統代碼和規則的符合性進行嚴格的驗證。
3結語
總之,計算機越來越廣泛的應用在人們的生活、工作和學習中,其自身的安全性能對人們使用計算機具有十分重要的影響。因此,需要運用科學、合理的軟件安全檢測方法,最終有效的提高計算機的安全、穩定運行,提高計算機信息的可靠性,增強計算機軟件的性能。
作者:段立峰
摘要:隨著計算機技術的普及,以及通信技術的不斷發展,軟件的開發效率也越來越高,各類軟件的更新換代速率也直線上揚,軟件工程也更受到人們的關注。隨著計算機技術的普及,以及通信技術的不斷發展,信息軟件的應用也越來越廣泛,在這一大背景下,軟件工程的安全檢測以及后期的運維的重要性也逐漸凸顯出來。尤其是安全監測,其作為軟件工程正常運行的核心板塊,軟件工程的安全對于整個系統來說有著極大的意義。為了能夠設計出更加先進的軟件,進一步的提高計算機技術,就必須要對軟件工程進行系統統籌,以此來構建新的通信系統,讓系統更加穩定。為了加強軟件工程建設,就必須要對其進行深入的分析,并在此基礎上進行針對性的對策提出。筆者根據相關資料,對軟件工程的安全檢測與維護進行分析。
關鍵詞:軟件工程;安全監測;維護分析
0引言
大數據時代下的發展都帶有時代特有的印記,當前,我國的網民已經突破了七億大關,就是這些龐大的受眾,推動了計算機軟件的開發,也推動了計算機技術的突破。在這種信息化的大潮流中,軟件工程日益重要,但卻在發展中也因為軟件自身的缺陷而帶來了一些網絡安全問題。我們不得不意識到,由于信息網絡安全問題的屢次出現,而造成了一些嚴重問題。軟件工程時刻遭受著安全風險,這些風險不管是由于軟件本身的缺陷,還是運維當中的系統原因,亦或者是人為的因素,都會給整個通信系統帶來嚴重的威脅,造成數據的泄露,系統的崩潰和癱瘓,為生產生活帶來消極的影響。正是因為軟件工程自身具有的特殊性和重要性,以及其所面臨的嚴峻環境,就必須要讓我們時刻的提高警惕,進行安全檢測技術的提高,進行維護措施的制定,以此來保障網絡系統的安全。
1軟件工程的安全檢測與維護內涵
1.1安全監測
計算機軟件安全檢測與維護對計算機技術的應用有著至關重要的作用,要想更好的應用于人們的生活與工作當中,就必須重視軟件工程安全檢測與維護技術的研究[1]。因為在應用計算機技術的過程中,軟件工程經常會出現一些非人為因素的故障和安全問題,安全檢測與維護技術就可以及時發現其中存在的問題,及時采取措施進行修補,保證計算機軟件正常運行。在現實生活中,計算機軟件工程的安全檢測技術主要有靜態和動態兩種檢測方式,安全性方面的測試主要分為性能測試、滲透測試和驗證過程三個方面[2]。
1.2軟件工程維護
任何產品都有屬于自己的生命周期,軟件同樣有著屬于自己的生命周期,它的生命周期過程為定義、開發、運行維護。軟件的開發和應用最主要的目的就是為了滿足用戶的需求,這也是軟件工程最根本的目標。這也就告訴我們,軟件在應用的過程中,如果出現了非人為因素的錯誤或者問題,安全檢測與維護技術就會及時的采取有效的措施,進行修補、改進,只有這樣才可以將軟件工程逐漸趨于完美,才能夠更好的適應各種環境[3]。
2軟件工程的安全檢測
2.1流程
第一,進行全面檢測,由于整個軟件工程是一個由多個個體集合而成的整體,因此,在進行檢測時,就必須要全面,對每一個涉及的元素都進行檢測,以此來發現其中所存在的問題,并且找到這些問題后能夠及時的解決,以此來提高軟件的穩定性,提高軟件工程的整體性能。第二,通過了全面的檢測后,就需要進行針對性的檢測,對軟件的功能質量進行檢測,并測試軟件的功能運行是否正常。第三,需要對不同環境下的軟件工程進行檢測,以此來確保在不同的環境下也能夠正常運行[4]。
2.2檢測方法
一般情況下,軟件工程的檢測主要是基于數字模型而進行的,屬于形式化檢測,通過這種檢測來提高軟件本身的安全性能。靜態檢測包括詞法分析;通過各信息片段與程序細節的比對來確定不同,以此來找到新的概念點,確定軟件的性能[5]。程序解釋;通過在原有的程序中嵌入新代碼來進行軟件保護,該技術不需要對原軟件程序進行修改。而靜態檢測技術則包括一下幾個步驟;規則檢測;在進行軟件工程構架時,都會有許多的軟件系統支持,一旦出現不穩性,可以對這些軟件和信息進行檢測,通過對個體的分析來確定整體的安全性,避免由于人為失誤而造成軟件泄露。動態監測,包括了屬性測試,這主要是對軟件的各個部分進行檢測,對相關的內容進行對比,找出不穩定因素。故障分析;這一方法是將可能的故障作為檢測對象,并進行檢測排除,以此來確定軟件本身是否穩定。
3軟件工程的維護
3.1軟件工程的維護類型
軟件工程的維護類型主要包含了適應性維護和改正性維護兩種。適應性維護;主要是針對其所處環境而進行的維護,通過對軟件工程環境的改變,來檢測不同環境下其功能的正常性,并且對存在的問題進行及時的修復和調整,以此來讓其具有更好的適應性。改正性維護;主要是通過對軟件的實際使用來發現其中存在的運維問題,通過軟件執行過程中存在的漏洞進行針對性的維護修復。
3.2維護方法
對整個維護體系進行系統統籌,制定周期性的維護計劃,對相關的軟件進行維護、修復和后期的運維管理,以此來保障其擁有合適的運行環境。其次,要不斷的提高維護的手段,要與時俱進,將新技術融合到軟件維護上去,通過這些新的高超的維護技術來提高維護的水平,以此來確保軟件的運行質量,以此來建立良好的運行新環境[6]。
4軟件工程的安全檢測與維護
4.1定期進行維護檢測,對系統進行實時監測
為了加強對軟件工程的管理,就需要時刻的保持警惕,并且需要實時的對軟件工程進行監控,按照計劃對其進行系統檢側,以此來查處系統中所存在的病毒和風險。在這種系統檢測中一旦發現問題就要及時處理,避免這些病毒的擴散,變被動為主動,以此來保障網絡通信的安全。在軟件工程中流傳的相關數據以及各節點之間的數據傳送都需要定時的清理和檢查,如果節點之間和所傳輸的數據之中存在病毒和風險,就需要及時的做出處理,以此來提高系統的耐受性,提高其穩定性,保障數據的安全。
4.2提高核心技術的自主性
軟件工程內部所關聯的核心技術決定了其自身的安全程度,為了提高其進行自我保護的力度,對于核心技術就必須要有自主性。由于這些核心技術一般都是多方參與,或者是直接進口,因此,本身就具備一定的風險性。因此,我們必須要在核心技術上加大投入,努力的進行新技術的開發,不斷地進行突破,以此來保障核心技術的競爭性和保密性,避免一些由于核心技術的缺失而造成的惡意攻擊和網絡的不穩定。也只有不斷地進行技術突破,不斷地對軟件工程進行完善,提高防火墻功效,提高傳送的安全性,才可以讓軟件工程在真正意義上獲得穩定。最終保證軟件工程的質量,確保其安全。
5結語
計算機在不斷地發展中為人們的生活帶來了極大的便利,不管是生產經營上,還是在日常的信息交往上,可以說從根本上改變了我們的交往方式。而軟件工程的發展則是讓計算計技術進步的核心,也正是如此,軟件工程的安全監測和維護也越來越得到人們的關注。但是隨著社會的進步,不斷有新的技術被研發出來,因此要想符合時展的腳步,就必須不斷研發新的軟件工程檢測技術與維護技術,從而符合軟件工程行業的發展。為了讓軟件工程能夠得到更好的發展,我們必須不斷為其創造良好的條件,提高檢測和維護的技術,為其發展提供助力。
作者:邵嘉偉 單位:江西服裝學院
摘要:為了確保電力信息系統能夠得以正常操作,進而強化系統功能,提高工作質量,減少成本費用的支出,應及時改善電力軟件代碼缺陷檢測效率低下、自動化效果差以及定位不精準等情況。本文主要分析了電力軟件缺陷模式的代碼檢測技術,并對此展開了深入的探討,期望可以為今后的研究提供相應的參考。
關鍵詞:缺陷模式;技術研究;代碼檢測
0引言
在二十一世紀之后,美國首先提出了基于缺陷模式的軟件測試,通過將此種方式與傳統方式進行對比后可發現,其主要可以分成三個流程,即:首先,界定軟件缺陷模式的含義;其次,找尋準確的IP,并運算出與模式兼容的元素;最后,采用自動化模式進行確定,同時也可派遣專業人員進行確認。基于缺陷模式的軟件測試相對來說優勢較多,能夠測試出很多細微的問題缺陷,并且具有一定的針對性。所以,本文通過研究后能夠有效提升系統測試效率,進而提高工作質量,為電力信息系統今后的發展提供有利保障。
1電力軟件缺陷模式與模式庫構建
(1)電力軟件缺陷模式。通常情況下來看,普通的電力軟件缺陷表示的是不符合電網的相關規定,導致用戶在應用的過程中造成了很多弊端。當程序在運行時發生軟件缺陷的話,則會致使系統紊亂,無法正常運行。由于電力軟件的研發時期不同,所以產生的軟件缺陷也會存在一定的差異性。當處于初始時期時,系統架構人員將會對系統軟件進行合理的宏觀調控,如果控制失誤則會造成缺陷,由于其在開發時期的隱蔽性較強,僅能夠在后期可以體現出來,所以必須要在修改時期時進行大范圍的修改,嚴重浪費了資源,增加了成本費用的支出,所以此種缺陷是極其不利的[1]。當處于需求定義時期時,假設無法適應用戶的各項要求,那么也會導致缺陷出現。在設計系統的過程中,必須要保障方案規劃合理、科學,反之則會影響整個系統的正常運行。在進行編碼時,應采用正確的運算方法,編碼失誤也會引起缺陷。在系統維護時期,必須要正視各個環節,采用科學的手段進行維護,不然則會造成不可預估的后果。所以,在操作的過程中必須要充分應用各項資源,有效改善電力軟件缺陷,進而提升工作效率與質量。除此之外,軟件在運行時,不同時期進行修復所需要的費用也存在差異性,時間越長則成本也會隨之升高,因此必須要及時發現缺陷。
(2)建立電力軟件缺陷模式庫。在建立電力軟件缺陷模式庫時,必須要立足于實際,以研究成果為基準而分析場景特點,進而創建出完善的電力軟件缺陷模式庫體制,找尋缺陷的問題所在,并對其進行敘述保存,創建出相對完善的缺陷模式庫,進而具備一定的定制性與配置性。
2基于電力軟件缺陷模式的代碼檢測技術
(1)區間運算技術。1)區間代數。所謂區間,表示的是在程序中變量的取值范圍,而區間代數表示的則是代表以及運算變量位置的方式。在對軟件進行測試的過程中,主要操作步驟則是將錄入的變量均看做為區間,致使中間變量以及輸出變量最后均變為區間的一種方式[2]。2)變量的相關性分析。通過進行分析后可發現,在程序中應在以下幾種情況下應用變量關聯,即:相同路徑引進的隱含約束關系、賦值語句關系、條件限定關系以及別名關聯關系。
(2)基于數據流的缺陷檢測。在操作的過程中,我們可將缺陷檢測流程進行深入分析,并將其作為一個前向可能數據流的情況,數據流的元素主要包括以下幾個方面:1)在進行缺陷檢測時,呈現為正向數據流,D=FORWARD;2)在進行缺陷檢測時,L是可能狀態集合的冪集,Ventry={ Start}表示的是L的常量值,即為邊界條件;3)在進行缺陷檢測時,∧表示的即為可能狀態集合的U操作;4)G=( V, E, entry, exit),在此過程中V所表示的為節點集合,E所表示的是邊,entry所表示的為入口,exit所表示的為出口;5)在進行缺陷檢測時,F所表示的為由程序語句而導致的缺陷變遷現象。
(3)函數間分析技術。1)約束信息。針對約束模式狀態機而言,由于故障類型不同,所以產生的約束模式也存在一定的差異性,在此過程中N代表的即為狀態機均能夠發生的狀態,T代表的即為狀態之間通過轉化后所形成的集合,C代表的即為狀態轉化要求,Nfault代表的即為故障的具體狀態,Ncons代表的即為約束形式狀態。 2)后置信息。在進行靜態分析時,針對函數來說,變量的取值區間對其所產生的作用比較大,所以在操作的過程中必須要提高對函數副作用的關注。為了改善這種情況,在運算區間以及檢測缺陷的過程中必須要合理運用計算方式,選擇應用函數后置信息方式。
3代碼缺陷自動化檢測方式
在進行操作的過程中,我們可創建相對完善的代碼缺陷自動化檢測方式,檢測流程可分為五個步驟,即:輸入、基本分析、提高精度、自動測試及結果分析,在此過程中提高精度與自動測試最為重要。應用此種檢測方式進行操作時,必須要結合多個方面進行考慮,具體可包含以下幾種問題,即:誤報情況、漏報情況以及模式機理等。
4總體研究架構
首先,應對電力軟件缺陷模式展開深入的探討,并創建出完善的電力軟件缺陷模式庫,與此同時,也應研究提升精準的技術手段,并以此作為基礎條件,而創建出代碼缺陷自動化檢測方式。
5結束語
綜上所述,基于缺陷模式的軟件測試得到了廣泛應用,能夠測試出很多細微的問題缺陷,并且具有一定的針對性。除此之外,也能夠有效提升系統測試效率,進而提高工作質量,為電力信息系統今后的發展提供有利保障。
作者:李北星;常鑫 單位:烏蘭察布電業局
摘要:隨著計算機的大量普及,其安全監測技術的發展逐漸受到人們的重視。計算機安全監測技術水平的好壞,將會直接關系到人們日常生活的安全。通過計算機安全監測技術,人們能夠對計算機軟件進行系統化的測試,有效識別并且排查計算機軟件中存在的安全隱患。本文通過對計算機軟件安全檢測技術的概述,提出了幾點軟件檢測的指導建議,為保證計算機軟件安全提供了一些參考。
關鍵詞:軟件檢測;計算機安全;檢測方式
1計算機軟件安全檢測應該注意的事項
從本質上來說,計算機安全監測就是檢測軟件的安全性,其檢測過程也是在一個動態過程中測試計算機軟件的可靠性。計算機軟件的檢測要求按照嚴格的操作進行,首先,在進行計算機軟件檢測之前,需要制定完整的檢測方案。進行軟件檢測之前應該對需要進行檢測的軟件有一個較為細致的了解,在整體把握軟件功用的前提下對軟件進行檢測。在進行測試方案的制定時,應該規定軟件檢測采用的測試手段、測試工具在進行軟件測試時,能夠保證測試過程的高效進行。另外,進行測試的工作人員應該是具有較強軟件編寫能力的專業人士,在進行軟件測試的同時,原軟件的編寫人員也應該參與在測試試驗中,這樣可以方便發現問題及時解決。在進行軟件測試的時候,只有制定專業的測試方案,配備專業的測試人員,軟件的測試結果可靠性才能得到充分的保障。其次,軟件測試完成后,對測試信號的分析也是很重要的一步。分析測試結果時,應該保證對測試得到的信號進行全面細致的檢查。一般來說,一個計算機軟件的代碼程序十分復雜,包括大量的指令以及邏輯運算關系,這就要求在分析測試信號時,相關的工作人員工作要細致認真,除了保證軟件能夠正常應用以外,還應該盡可能考慮到軟件后期的升級維護接口功能。與軟件測試方案的制定相似,軟件測試結果的分析也需要制定流程化的處理方案,在分析軟件過程中要求采用合理的檢測技術,專業化的檢測人員,以負責的態度完成軟件測試的后期工作。所以說,軟件測試是一個系統化的龐大工程,技術檢測和測試處理均需要專業的處理,也只有這樣才能保證計算機軟件的安全性。
2計算機軟件的安全檢測方法
2.1計算機軟件安全檢測流程
一般來說,在進行計算機軟件測試的時候,檢測流程常常根據軟件的系統結構進行。由于計算機軟件由很多模塊構成,所以常常遵循著從模塊測試、組裝測試然后再到系統結構的安全監測,檢查發現模塊沒有問題以后在進行軟件功能的測試,以上結構均未發現問題,則進行系統整體檢查。這種,由淺入深的測試方法可以保證測試不會丟失對某些軟件功能的檢查。其中,模塊測試主要指對軟件系統中最小的組成單位進行檢查,只有從小的模塊進行檢查,才保證整體不出現大的差錯。檢查模塊時務必做到檢查細節化和全面化。在進行完模塊檢查之后,還需要對其進行組裝。但是值得注意的是,盡管模塊檢查沒有問題,但是組裝的系統卻仍然可能出現問題,諸如組裝兼容性、軟件漏洞等問題還是存在的。系統組裝檢查完成后需要對軟件進行效果測試。效果測試的目的在于保證組裝后的軟件能夠滿足用戶的使用需求,保證用戶在使用過程中不會出現問題。只有經過上述全部檢測過程,軟件測試才算完成。
2.2計算機軟件安全檢測的方式、方法
2.2.1形式化的安全檢測
該檢測方法需要較強的計算機知識,由于它建立在計算機軟件的數學模型智商上,要求在檢測過程中嚴格依據現有的語言進行檢測。目前人們經常采用的形式語言規格有三種,主要包括行為語言、模型語言的有效狀態語言。形式化的安全監測是現在計算機軟件常用的檢測方法之一,檢測準確度較高,檢測結果較為可靠。
2.2.2基于模型的安全靜態檢測方式
模型的安全檢測方式在檢測時應該先建立一個軟件模型。在建立軟件模型是應該保證該模型對于計算機是可讀寫的,但是模型的功能與被檢測計算機軟件的功能并不是完全相同的。模型化的檢測并不能保證待測軟件與建立的軟件模型完全相符。在測試時候常常對測試模型進行檢測,然后經過檢測讓模型測試的功能與原測試元件功能基本相符即可。模型化的測試方法需要建立軟件的模型,常用的模型檢測方法包括有限狀態機或者馬爾克夫鏈,相對來說,檢測建模具有一定的難度。
2.2.3語法檢測
計算機軟件的語法檢測主要利用指令測試軟件的功能,主要的檢測指標為計算機軟件對輸入指令的響應。即在測試過程中通過給計算機輸入不同的指令,來觀察軟件對所輸入指令的反應來判斷軟件是否存在使用問題。采用該檢測方法是,需要定義大量的識別語言,而且也并不能完全保證語言指令類型的全面性。但是他既可以檢測軟件編寫問題,也可以檢測軟件的安全問題。
2.2.4基于故障注入的安全檢測該方法
經過實踐檢驗,相對于其他檢測方式具有很高的檢測效率。主要體現在本檢測方法主要利用故障模型,構建故障樹,通過對模型輸入檢測信號,分析軟件對于所輸入指令的響應來判斷軟件中可能存在的故障信息。該方法可以檢測出軟件的安全性以及對使用過程中出現錯誤的兼容性,具有較強的實用檢測價值。
2.2.5模糊式檢測方法
模糊式檢測既結合了傳統測試的優點,也具有自己獨特的優點。簡單來說,他是傳統檢測技術的再升級。它通過在白盒模糊的基礎上,能夠檢測出程序中存在各種Bug,并且對潛在錯誤具有一定的檢測效果。
3小結
隨著人們對計算機軟件安全監測的重視,越來越多的檢測方法逐漸出現,相應的檢測技術也越來越高端。總之,計算機軟件測試需要我們在實踐生活中不斷創新方法,除了掌握一定的計算機軟件測試方法以外,實際的經驗積累也是計算機軟件安全測試必不可少的。
作者:顧建豐 單位:江蘇省常州市武進區淹城初級中學
隨著計算機網絡技術的發展,計算機與社會生產生活有著密不可分的關系,而由于計算機網絡存在一定的風險性,需要做好相應的安全檢測才能夠有效避免風險的發生。計算機軟件作為計算機網絡的重要部分,利用多種安全檢測技術,來檢測并保障計算機軟件的安全性,以提升計算機網絡整體的安全能力。
1計算機軟件安全檢測定義及重要性分析
計算機軟件安全對于保障計算機運行的安全十分關鍵,計算機軟件是否能夠運用于計算機中,也是需要對軟件安全性進行評估,只有軟件安全性達到一定標準才能夠滿足系統兼容性并投入使用中。計算機軟件安全檢測是利用多種檢測技術發現軟件設計的漏洞,并排除軟件使用中的風險性問題,保障計算機軟件的安全運行。計算機軟件不同于一般的應用軟件,一般應用軟件發生問題多為影響用戶的應用體驗,而無實質性的危險發生。而一旦計算機軟件故障并遭受到網絡攻擊,則將影響計算機的運行,甚至系統崩潰。由此可見,計算機軟件的安全性對于保障計算機網絡安全有著重要意義。利用多種計算機安全檢測技術,并根據軟件類型和特點有選擇性地進行安全檢測,排除可能存在的軟件問題,以進一步提高計算機和系統與軟件間的兼容性、安全性。
2計算機軟件安全檢測技術類型分析
2.1靜態檢測技術靜態檢測技術,顧名思義是檢測軟件的靜態故障。如軟件編寫代碼的錯誤以及語法上的錯誤等等。由于網絡攻擊可能利用有缺陷的程序代碼和漏洞來進行攻擊,因此利用靜態檢測技術,排除軟件編寫中語法和程序的錯誤,可以做到最大程度上的風險減免。通過測試計算機軟件的使用情況,利用“與”或“非”等邏輯輸入形式,根據輸出結果來判斷計算機軟件編程中是否存在相應的語法問題。
2.2形式化安全檢測技術形式化安全檢測技術主要是驗證軟件的合理性,根據軟件設計的模型以及數理上的可行性分析,來證明軟件使用的安全性。形式化安全檢測包括對軟件的數學模型進行檢測,分析模型運行的可行性以及模型的邏輯性。同時也包括對軟件進行定理證明,發現軟件設計上的數學錯誤和邏輯問題,以避免風險性問題的出現。
2.3基于故障注入的安全性檢測技術基于故障注入的安全檢測技術是較為常用的安全檢測技術,也是較為可靠的檢測技術。故障注入的檢測技術,是利用生成的故障問題來觀測軟件運行時的安全性,即觀測軟件故障時的具體表現。故障注入即是模擬故障,通過修改軟件內存和改變軟件設計邏輯等方式,來模擬網絡攻擊和故障時計算機軟件的通常表現。通過還原的故障狀態,能夠進一步評估軟件在故障時的不足之處,以及檢測軟件自我修復功能的良好程度。在實際應用中,還能夠結合硬件的故障注入技術,實現軟件與硬件的同時檢測,以排除軟件與硬件問題之間的相互影響。
2.4基于屬性的安全檢測技術,基于屬性的安全檢測技術,首先需要確定軟件的安全屬性,并根據安全屬性的特點來評估軟件程序編碼中的可靠性。部分軟件的編碼表面上可以達到一定的安全性,但根據系統與軟件的安全屬性,則表現為軟件在編碼上存在不足,難以維護軟件的安全屬性,可見進行基于屬性的安全檢測是有積極意義的。
2.5其他安全性檢測技術其他的軟件安全檢測技術,比如“白盒測試”、“黑盒測試”以及建模測試等等。軟件安全檢測技術多以軟件的語法測試或功能測試出發,如基于“白盒測試”的安全檢測技術,則主要從軟件代碼出發,發現編碼中出現的語法問題。此外,還有基于軟件功能進行測試,分析軟件模型的功能性,具有較強的實用性,能夠有效檢測出軟件設計中的問題,以保障計算機軟件的安全性。
3計算機軟件安全檢測技術應用分析
3.1計算機軟件安全檢測流程分析計算機軟件安全檢測的進行,需要根據計算機軟件的大小而決定,對于組成復雜的計算機軟件往往需要分步分區進行檢測。計算機軟件安全檢測的基本流程由模塊測試、結構檢測、功能測試、系統測試等多個步驟組成,首先模塊測試主要是需要對軟件設計與編程的早期問題進行檢測,如程序算法、語法等方面的問題。其次是對軟件結構進行檢測,軟件結構是否完整,是否能夠支持相應的軟件的功能。其次是功能測試,檢測軟件在使用中是否可以實現特定功能,通過故障注入等方式,還能夠檢測軟件故障時的功能可靠性。最后需要進行系統測試,分析計算機軟件與系統的兼容性等等,以保障軟件在計算機系統中功能的正常實現。
3.2計算機軟件安全檢測的注意內容在對計算機軟件進行安全檢測時,需要把握好相關注意事項,同時也是計算機安全檢測技術應用時的重要考慮事項。計算機軟件安全檢測技術種類較多,需要根據計算機軟件的特點和檢測目的來進行合適的選擇,同時需要按步驟進行檢測,規范化檢測程序,以保障安全檢測的良好效果,發現潛在的軟件風險問題。在軟件安全檢測中,需要進行系統的全面分析,以綜合考慮軟件與計算機的兼容狀況,才能夠準確評估軟件運行的狀況。
4結束語
計算機軟件安全檢測技術種類繁多,在實際運用中,需要根據計算機網絡的實際狀況以及網絡風險的類型而進行合適的選擇。運用合理的計算機軟件安全檢測方法,將能夠維護計算機網絡的安全與穩定,提升計算機軟件的可靠性。
作者:廖肇軍 單位:同濟大學軟件學院 江西現代職業技術學院
《計算機仿真雜志》2014年第六期
1大型差異結構下的軟件故障檢測原理
軟件故障檢測技術是通過軟件不同部分提取的異常信號特征,在根據軟件故障的特征類別,進行定位的方法。其原理如下:將全部軟件運行數據分為N個組別,針對其中的任意一組數據進行聚類中心的計算,從而獲取一組規則,根據該規則能夠實現軟件故障檢測。設置軟件故障檢測的聚類中心能夠用Dl進行描述,對應的故障類型能夠用d1進行描述,則能夠得到下述模糊聚類規則:在上述公式中,yjk能夠用來描述軟件運行過程中第k個狀態特征,Blk能夠用來描述第L個模糊規則的第k個運行狀態特征的隸屬度。利用下述公式能夠描述上述軟件運行狀態特征隸屬度函數:在上述公式中,dlk能夠用來描述聚類中心Dl的第l個元素,!lk能夠用來描述上述聚類中心對應的擴展度。針對聚類中心進行差值運算,能夠得到其余的聚類中心,從而獲取模糊聚類的規則。根據模糊聚類規則庫,能夠得到該聚類模型的輸出結果如下所述:根據上面闡述的方法,能夠得到一系列軟件運行狀態特征的模糊聚類規則,對聚類模型進行優化處理,能夠得到軟件故障分類模型。在模糊聚類故障檢測模型中,設置輸入的數據是Yj,軟件故障的類別能夠用d1進行描述,則模糊聚類模型的輸出結果是1,否則,該模型的輸出結果是0。軟件故障類型的檢測誤差分為兩個不同的部分,其中,第一部分能夠用下述公式進行描述。在上述公式中,全部軟件運行狀態特征的數目能夠用pd進行描述。根據上面闡述的方法,能夠建立軟件故障檢測的模糊聚類模型如下所述:根據上面闡述的方法,能夠建立軟件故障檢測的模糊聚類模型。但是,如果軟件結構呈現差異化趨勢越發明顯,軟件集成性使得其整體結構的關聯性呈現淡化。結構接口之間無明顯銜接特征,將造成缺少明確的接口銜接特征進行定位區域指示,導致軟件故障定位不準。
2基于差異結構融合算法的軟件故障檢測方法
利用模糊聚類算法進行軟件故障檢測,如果軟件結構呈現差異化趨勢越發明顯,軟件集成性使得其整體結構的關聯性呈現淡化,由于缺少明確的接口銜接特征進行定位區域指示,造成軟件故障定位不準。為此,提出了一種基于差異結構融合算法的軟件故障檢測方法。
2.1軟件故障檢測信號融合處理利用信號融合技術,對軟件故障檢測信號進行有效的融合處理,從而為軟件故障檢測提供基礎。其詳細內容如下所述:利用窗口函數,能夠對軟件故障檢測信號進行提取,提取公式如下所述:設置軟件故障檢測信號的初始值可以用C和D表示,利用下述公式能夠對上述軟件故障信號進行初步的融合處理:在上述公式中,JB(j,k)能夠用來描述第一個軟件故障信號的能量參數,JC(j,k)能夠用來描述第二個軟件故障信號的能量參數,對應的比率分別是ξB和ξC,而且需要符合條件ξB+ξC=1。KC(k,l)表示軟件故障信號的低頻系數,KD(k,l)是對應的高頻系數。根據軟件故障信號和對應的比率之間的關系,能夠得到下述結果:根據上述方法,可以將軟件故障信號按照對應的比率進行有效的融合處理,從而為軟件故障檢測提供可靠的數據基礎。
2.2實現軟件故障檢測根據分布式協同檢測方法,可以對軟件故障進行有效的檢測。其詳細內容如下所述:在軟件故障檢測過程中,設置軟件故障信號可以用Bk(m)(k=1,2,3)表示,則需要對上述特征進行有效的特征提取,特征提取規則能夠用下述公式進行描述:根據上面闡述的方法,能夠利用信號融合技術,對軟件故障檢測信號進行有效的融合處理,從而為軟件故障檢測提供基礎。利用分布式協同檢測方法,對軟件故障特征進行有效的檢測,從而完成軟件故障檢測。
3實驗結果分析
為了驗證本文提出的基于差異結構融合算法的軟件故障檢測方法的有效性,需要進行一次實驗。在實驗的過程中,需要利用VB++語言進行實驗編程。在實驗的過程中,需要將三種不同功能的軟件構成一個新的軟件,則該軟件具有較強的差異化結構。在軟件故障檢測實驗過程中,實驗數據如下所述:1)軟件故障檢測信號的數量:1000個;2)軟件故障檢測過程中的白色噪聲信號數目:1000個;3)系統噪聲:<5微伏;在實驗過程中采集的故障信號圖譜能夠用圖2進行描述。利用傳統算法進行差異化結構下的軟件故障檢測,檢測結果能夠用表1進行描述。利用本文算法進行差異化結構下的軟件故障檢測,檢測結果能夠用表2進行描述。對上述兩個表中的數據進行對比分析可以得知,利用本文算法進行軟件故障檢測,在軟件差異化結構相似的情況下,利用本文算法進行故障檢測的準確性遠遠高于傳統算法,能夠為軟件的正常運行提供保障。利用不同方法進行軟件故障檢測,獲取的檢測準確率能夠用圖3表示。根據上圖可以得知,利用本文算法進行軟件故障檢測,在軟件的差異化結構相似的情況下,利用本文算法檢測的準確性高于傳統算法。通過上述實驗能夠得知,在軟件差異化結構比較明顯的情況下,利用本文算法進行軟件故障檢測,能夠極大的提高檢測的準確性,從而保證軟件的安全運行。因此,能夠將本文提出的基于差異結構融合算法的軟件故障檢測方法廣泛應用在軟件故障檢測領域中。
4結束語
本文提出了一種基于差異結構融合算法的軟件故障檢測方法。利用信號融合技術,對軟件故障檢測信號進行有效的融合處理,從而為軟件故障檢測提供基礎。利用分布式協同檢測方法,對軟件故障特征進行有效的檢測,從而完成軟件故障檢測。實驗結果表明,利用本文算法進行軟件故障檢測,能夠在軟件結構差異性較強的情況下,有效提高軟件故障檢測的準確性,從而保證能夠對軟件故障進行實時檢測。
作者:汪偉熊婷詹雪單位:南昌大學科學技術學院