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