江詩(shī)敏
(湖北閃云信息科技有限公司 湖北 武漢 430070)
隨著社會(huì)經(jīng)濟(jì)的不斷發(fā)展以及科學(xué)技術(shù)的飛速進(jìn)步,計(jì)算機(jī)行業(yè)也迎來蓬勃發(fā)展時(shí)期。計(jì)算機(jī)的普及,在給人們生活工作帶來方便的同時(shí),也出現(xiàn)了很多安全問題,小到個(gè)人隱私被窺探,大到公司機(jī)密被盜取,不僅破壞了整個(gè)行業(yè)的風(fēng)氣,也給國(guó)家法治社會(huì)的建設(shè)造成影響。因此在計(jì)算機(jī)為社會(huì)帶來巨大便捷的同時(shí),還應(yīng)冷靜思考其安全問題。本文中的計(jì)算機(jī)軟件安全性主要是指計(jì)算機(jī)軟件系統(tǒng)在得到保護(hù)的情況下可以正常地運(yùn)轉(zhuǎn)。計(jì)算機(jī)用戶需要計(jì)算機(jī)軟件具有多功能、低成本等優(yōu)點(diǎn),這也是計(jì)算機(jī)軟件開發(fā)者追求的方向,在滿足用戶實(shí)際需求的過程中實(shí)現(xiàn)利益最大化。當(dāng)前計(jì)算機(jī)軟件安全問題的根本是在利潤(rùn)的驅(qū)使下,部分商家放棄高成本的自主研發(fā)渠道,通過模仿、抄襲等方式來降低成本提高利益[1];另外,很多黑客通過攻擊其他計(jì)算機(jī)來獲取信息,侵犯被害人的權(quán)益。在計(jì)算機(jī)軟件的安全性問題上,使用者較多關(guān)注的是,自己在使用過程中遭遇到安全問題時(shí)的防護(hù)性能;而對(duì)于開發(fā)者來說,要想滿足用戶對(duì)安全性能的要求,他們需要綜合考慮計(jì)算機(jī)軟件各個(gè)方面的安全問題,來保證計(jì)算機(jī)軟件在運(yùn)行過程中能夠有較強(qiáng)的穩(wěn)定性,及時(shí)察覺問題并解決,因此軟件安全性的檢查非常重要。通過對(duì)軟件安全性檢查的闡述,指出存在的問題并提出相應(yīng)的解決辦法,以期對(duì)提高安全性起到促進(jìn)作用。
從國(guó)家層面來看,計(jì)算機(jī)軟件是實(shí)現(xiàn)信息化國(guó)家的靈魂,同時(shí)也是當(dāng)今各國(guó)爭(zhēng)奪的科技制高點(diǎn),是信息化戰(zhàn)爭(zhēng)中的武器,而計(jì)算機(jī)軟件的安全性也直接影響到了國(guó)家的安全[2]。隨著信息化技術(shù)在國(guó)民經(jīng)濟(jì)發(fā)展中占據(jù)的地位越來越重要,軟件安全性能也必須有相應(yīng)的提升,軟件自身存在的任何漏洞、功能缺失或者是代碼修改都可能對(duì)整個(gè)系統(tǒng)造成極大的影響。從公司、個(gè)人層面來看,計(jì)算機(jī)軟件的安全問題會(huì)對(duì)計(jì)算機(jī)的性能產(chǎn)生直接的影響,特別是在電子商務(wù)快速發(fā)展的背景下,進(jìn)一步提高企業(yè)、個(gè)人對(duì)計(jì)算機(jī)的安全管理水平,既是對(duì)公司企業(yè)負(fù)責(zé)的表現(xiàn),也是促進(jìn)行業(yè)健康發(fā)展的必然要求。同時(shí)還對(duì)用戶和企業(yè)的信息等方面的安全具有一定的保障意義。
計(jì)算機(jī)軟件安全標(biāo)準(zhǔn)指的是保證計(jì)算機(jī)在運(yùn)行的過程中,自身與軟件系統(tǒng)可以有序地進(jìn)行工作而不受到外來非法因素的干擾。對(duì)用戶來講計(jì)算機(jī)軟件的安全性是使用過程的可靠性和操作的快捷性,而對(duì)于計(jì)算機(jī)軟件研發(fā)商來講,除了要滿足用戶對(duì)系統(tǒng)安全的需求外,還要保護(hù)計(jì)算機(jī)軟件研發(fā)人員的知識(shí)產(chǎn)權(quán),其主要目的是防止不法分子利用軟件系統(tǒng)來牟取暴利[3-4]??傊?計(jì)算機(jī)軟件安全并不只是指系統(tǒng)運(yùn)行上的安全,還針對(duì)軟件自身以及開發(fā)權(quán)益不受到侵害等問題。
計(jì)算機(jī)軟件的設(shè)計(jì)工作具有復(fù)雜性和綜合性,而安全檢查又是貫穿整個(gè)過程的關(guān)鍵環(huán)節(jié)。計(jì)算機(jī)軟件技術(shù)作為高科技產(chǎn)品,其安全隱患更容易被利用,因此必須給予軟件安全檢測(cè)工作足夠的重視。另外,國(guó)內(nèi)知識(shí)產(chǎn)權(quán)保護(hù)的概念沒有深入人心,企業(yè)自主創(chuàng)新的氛圍也還沒有形成,在高額利潤(rùn)的誘導(dǎo)下,很多軟件開發(fā)公司會(huì)放棄安全檢測(cè)工作,這樣很容易導(dǎo)致產(chǎn)品的安全性測(cè)試不及格,留下安全隱患。軟件安全檢測(cè)的目的是保障用戶的信息安全,提升軟件的品質(zhì),使軟件的適用范圍更廣。從目前的技術(shù)分類來看,計(jì)算機(jī)軟件的安全檢測(cè)技術(shù)可以分為靜態(tài)安全檢查和動(dòng)態(tài)安全檢測(cè),根據(jù)不同的環(huán)境來結(jié)合兩種檢測(cè)方式,提高軟件的安全性,保障用戶的權(quán)益[5]。具體的軟件安全檢測(cè)是一項(xiàng)復(fù)雜的工作,要想達(dá)到為軟件保駕護(hù)航的目的,就需要各部門精誠(chéng)合作,共同提高軟件行業(yè)的質(zhì)量。目前我國(guó)仍是世界上最大的發(fā)展中國(guó)家,盡管軟件技術(shù)正在飛速發(fā)展,但無論是軟件開發(fā)的技術(shù)還是安全檢測(cè)的技術(shù),都與發(fā)達(dá)國(guó)家還存在較大的差距。因此,在大力推進(jìn)軟件開發(fā)行業(yè)發(fā)展的同時(shí),應(yīng)當(dāng)同等重視軟件安全檢測(cè)技術(shù)的研究,還要在解決安全問題方面下功夫,只有方方面面兼顧,才能促進(jìn)計(jì)算機(jī)軟件業(yè)平穩(wěn)發(fā)展。
計(jì)算機(jī)軟件的安全性是困擾全球的一個(gè)難題,由于軟件在使用過程中具有開放性,使用環(huán)境也很復(fù)雜,所以要想其安全性取得突破性進(jìn)展,還需要不斷加大研發(fā)力度[6]??傮w來看,在對(duì)計(jì)算機(jī)軟件安全性檢測(cè)過程中應(yīng)當(dāng)注意以下問題:第一,計(jì)算機(jī)軟件的安全性測(cè)試手段多種多樣,要保證測(cè)試的可靠性和安全性,必須針對(duì)軟件的種類選擇合適的測(cè)試手段。軟件開發(fā)部門應(yīng)根據(jù)計(jì)算機(jī)軟件的不同種類制定不同的檢測(cè)方式,同時(shí)軟件開發(fā)部門應(yīng)配備專門的軟件分析人員,并與本崗位的工作人員密切合作,以保證計(jì)算機(jī)軟件的安全檢測(cè)質(zhì)量;第二,在軟件進(jìn)行安全測(cè)試的過程中,首先是對(duì)軟件的結(jié)構(gòu)進(jìn)行綜合的剖析和審視。然后檢測(cè)人員能夠及時(shí)、準(zhǔn)確地應(yīng)對(duì)各種突發(fā)情況,只有檢測(cè)人員對(duì)軟件的結(jié)構(gòu)和性能有充分的認(rèn)識(shí),才能促使計(jì)算機(jī)軟件的安全檢測(cè)工作得以順利地進(jìn)行。
較為常用的一種安全性測(cè)試方法就是動(dòng)態(tài)安全性測(cè)試法。動(dòng)態(tài)檢測(cè)技術(shù)以計(jì)算機(jī)軟件運(yùn)行環(huán)境為媒介,在運(yùn)行過程中對(duì)安全性進(jìn)行分析。動(dòng)態(tài)檢測(cè)方法的優(yōu)點(diǎn)在于無需查看源代碼,避免出現(xiàn)軟件源代碼泄露的問題,但也存在著操作煩瑣、程序煩瑣等劣勢(shì)。每種測(cè)試方式都有自己的優(yōu)勢(shì)和劣勢(shì),在實(shí)際應(yīng)用的時(shí)候,需要按照軟件具體情況來進(jìn)行選擇。不管采用什么測(cè)試方式,最終的目標(biāo)都是為了讓軟件能夠更好地為人們所用,給人們的生活帶來便利[7-8]。
除動(dòng)態(tài)監(jiān)測(cè)技術(shù)外還有一些應(yīng)用較為廣泛的技術(shù),例如形式安全測(cè)試、語(yǔ)法安全測(cè)試,以及基于軟件屬性的安全測(cè)試和錯(cuò)誤導(dǎo)入的安全測(cè)試。其中形式化安全檢測(cè)是以數(shù)學(xué)模型為基礎(chǔ)的,對(duì)計(jì)算機(jī)軟件的形式利用規(guī)范語(yǔ)言進(jìn)行檢查。
電腦軟件安全檢查還可以用編程語(yǔ)言進(jìn)行。任何一種電腦軟件都是通過語(yǔ)言編程設(shè)計(jì)而成,而程序編寫的規(guī)則稱為電腦編程語(yǔ)法。軟件之所以能為用戶提供便利,供人使用,也要?dú)w功于編程語(yǔ)法。通過編程語(yǔ)言對(duì)計(jì)算機(jī)軟件開展安全檢查的主要原理是通過反復(fù)切換輸入編程語(yǔ)法,觀察不同編程語(yǔ)法規(guī)則下計(jì)算機(jī)軟件是否還能持續(xù)穩(wěn)定地運(yùn)行,以此判斷該軟件的安全性。
測(cè)試工作是通過計(jì)算機(jī)軟件的特性來進(jìn)行的。這種檢測(cè)方法,首先需要對(duì)軟件編程中的安全屬性有所了解,之后通過輸入計(jì)算機(jī)軟件編程語(yǔ)法來檢驗(yàn)是否與計(jì)算機(jī)軟件的屬性相匹配,從而確定該計(jì)算機(jī)軟件的安全性。
計(jì)算機(jī)軟件檢測(cè)的基本方法有兩種,靜態(tài)安全檢測(cè)技術(shù)和動(dòng)態(tài)安全檢測(cè)技術(shù)。而靜態(tài)檢查技術(shù)是通過程序分析技術(shù)來分析和檢查程序的源代碼,從而實(shí)現(xiàn)對(duì)程序的安全檢查。靜態(tài)檢測(cè)技術(shù)的工作主要有兩個(gè)方面,一個(gè)是數(shù)據(jù)流,另一個(gè)是約束因素。該方法的優(yōu)點(diǎn)是操作方便,缺點(diǎn)是無法對(duì)計(jì)算機(jī)軟件中的全部問題進(jìn)行排查。
采用故障導(dǎo)入的方法對(duì)計(jì)算機(jī)軟件進(jìn)行安全檢查主要是通過分析計(jì)算機(jī)軟件的故障來判斷其安全性。因?yàn)榻^大多數(shù)情況都無法準(zhǔn)確地判斷出故障的發(fā)生時(shí)間和原因,所以對(duì)計(jì)算機(jī)軟件進(jìn)行故障分析是一件十分煩瑣的工作,給故障導(dǎo)入方式檢測(cè)工作造成了困難。更重要的是,由于故障導(dǎo)入檢測(cè)法的專業(yè)程度很高,而且流程復(fù)雜,因此,該方法的使用率也比較低。
加強(qiáng)計(jì)算機(jī)軟件的安全防護(hù),必須對(duì)軟件設(shè)計(jì)環(huán)節(jié)的相關(guān)管理給予足夠的重視。首先設(shè)計(jì)人員要將用戶信息安全視為信息開發(fā)和設(shè)計(jì)的重要依據(jù),軟件進(jìn)入市場(chǎng)前應(yīng)該進(jìn)行反復(fù)測(cè)試,找出并修復(fù)漏洞,防止技術(shù)不成熟的軟件流入市場(chǎng),給用戶的財(cái)產(chǎn)帶來較大的安全隱患。其次增強(qiáng)軟件及電腦自身的防御能力,為電腦提供有效的安全防護(hù),增加軟件的安全性。
計(jì)算機(jī)軟件在運(yùn)行的過程中是最容易被攻擊的,因此,可以利用防火墻技術(shù)攔截運(yùn)行過程中的不法入侵,該方法應(yīng)用簡(jiǎn)單、有效性較高,也是目前應(yīng)用范圍最廣的一種防護(hù)方式。它的主要作用是在計(jì)算機(jī)內(nèi)外的網(wǎng)絡(luò)之間建立一個(gè)攔截保護(hù)程序,可以及時(shí)地檢測(cè)到任何想要對(duì)該計(jì)算機(jī)進(jìn)行入侵的數(shù)據(jù)信息,從而保證計(jì)算機(jī)中的網(wǎng)絡(luò)系統(tǒng)不會(huì)因?yàn)橥饨绲挠绊懚馐懿环ǚ肿拥墓舻?。目前市面上?yīng)用最廣的一種防火墻技術(shù)就是狀態(tài)檢測(cè)防火墻,它的技術(shù)原理是在電腦運(yùn)行的時(shí)候,對(duì)電腦中的某個(gè)接口上的數(shù)據(jù)包進(jìn)行攔截,之后再對(duì)該數(shù)據(jù)包是否具有危險(xiǎn)性質(zhì)進(jìn)行觀察,最后由檢測(cè)的結(jié)果來判斷該數(shù)據(jù)包是否能夠進(jìn)入電腦系統(tǒng)。使用較為廣泛的個(gè)人計(jì)算機(jī)防火墻是天網(wǎng)防火墻,這種防火墻技術(shù)不僅功能強(qiáng)大、運(yùn)行穩(wěn)定,而且操作簡(jiǎn)便,現(xiàn)在,它也被逐步地應(yīng)用到了各行各業(yè)之中。
(1)密碼方式
軟件運(yùn)行過程中,通過在某些關(guān)鍵的位置詢問密碼,然后用戶按照密碼列表輸入密碼,校對(duì)正確后程序就可以繼續(xù)運(yùn)行。這種方法雖然實(shí)施起來比較方便,但是它也有一些不足之處:會(huì)干擾人與人之間的正常交流,引起使用者的反感;口令是比較固定的,不法分子只要拷貝口令就可以不受限制地使用;加密點(diǎn)相對(duì)固定,易于破譯。
(2)軟件自校驗(yàn)方式
當(dāng)軟件被安裝到用戶的電腦中時(shí),軟件會(huì)自動(dòng)地記錄下電腦硬件的奇偶校驗(yàn)和、軟件安裝的磁道位置等信息,還會(huì)在硬盤的特殊磁道、 CMOS中做一些標(biāo)記,之后會(huì)自動(dòng)對(duì)安裝的程序進(jìn)行改寫。完成上述操作之后,后續(xù)運(yùn)行過程中可以自動(dòng)對(duì)安裝過程中的詳細(xì)信息進(jìn)行分析。此方法在正常運(yùn)行情況下,使用者不會(huì)知道加密密碼,密碼非常穩(wěn)定。因此許多開發(fā)機(jī)構(gòu)都會(huì)采用這種方法。但是,如果使用者增加或者是減少計(jì)算機(jī)的硬件,原來的加密就會(huì)失去效果,需要重新設(shè)置才能正常運(yùn)行。
(3)硬加密方式
硬加密指的是將計(jì)算機(jī)硬件與軟件進(jìn)行組合實(shí)現(xiàn)加密,具體來看,加密后運(yùn)行軟件時(shí)首先需要訪問指定的硬件,與硬件進(jìn)行數(shù)據(jù)交換,如果發(fā)現(xiàn)計(jì)算機(jī)沒有安裝特定的硬件而沒有完成數(shù)據(jù)交換,軟件也就無法啟動(dòng)。當(dāng)前具有代表性的產(chǎn)品有加密卡、軟件鎖/狗、智能化軟件鎖/狗。其中加密卡法的加密力度很大,防追蹤措施也很完善。如果要在其他計(jì)算機(jī)上重新安裝該軟件,則需要將加密卡換插,并且其加密成本相對(duì)較高,因此,一般用于集成系統(tǒng)上。
軟件追蹤技術(shù)可以悄無聲息地實(shí)現(xiàn)軟件盜取的目的,為了有效防止軟件追蹤技術(shù)的破壞,需要利用反追蹤技術(shù)來切斷不法分子的追蹤途徑,以及防止不法分子對(duì)計(jì)算機(jī)軟件進(jìn)行復(fù)制或加密等非法操作。計(jì)算機(jī)軟件在運(yùn)行時(shí)都要依賴于CPU,如果此時(shí)受到外部不法分子的監(jiān)視,就等于是將該計(jì)算機(jī)系統(tǒng)程序的真實(shí)情況直接反映給了追蹤者,進(jìn)而可以輕而易舉地復(fù)制該計(jì)算機(jī)中的軟件,給計(jì)算機(jī)軟件上的性能帶來了安全隱患。因此必須要以計(jì)算機(jī)軟件為目標(biāo),嚴(yán)格規(guī)避反追蹤技術(shù)中可能出現(xiàn)的安全隱患、漏洞等問題,進(jìn)一步強(qiáng)化對(duì)計(jì)算機(jī)軟件反追蹤技術(shù)的健全與完善,使其在使用過程中,能夠最大限度地發(fā)揮出反追蹤技術(shù)的保護(hù)效果[10-12]。
計(jì)算機(jī)防火墻對(duì)病毒的防御能力比較低,為減少使用過程中的安全問題,可以采取實(shí)時(shí)監(jiān)控方式。在用戶和軟件以及系統(tǒng)的電腦專家之間建立起聯(lián)系,當(dāng)計(jì)算機(jī)在運(yùn)行中發(fā)生異常情況時(shí),可以由電腦專家展開故障分析功能,并開啟軟件檢測(cè)程序,及時(shí)遏制病毒傳播避免造成重大損失。除此之外,通過對(duì)計(jì)算機(jī)實(shí)時(shí)監(jiān)控進(jìn)行周期性的安全檢查,發(fā)生問題時(shí),可以由計(jì)算機(jī)管家進(jìn)行及時(shí)分析和引導(dǎo),不僅可以保障使用者的安全,還可以提高計(jì)算機(jī)軟件的安全性和可靠性[13]。
綜上所述,人們?cè)谙硎苄畔⒓夹g(shù)帶來便利的同時(shí),也面臨著多重網(wǎng)絡(luò)威脅。對(duì)于用戶來說,計(jì)算機(jī)以及軟件的安全性是考慮的第一要素,即使軟件存在漏洞,也希望能夠有效阻止外來入侵的破壞。而對(duì)于計(jì)算機(jī)軟件的開發(fā)者來說,希望盡可能地清除軟件中的漏洞,一旦發(fā)現(xiàn)漏洞,立刻采取相應(yīng)的措施來進(jìn)行補(bǔ)救,盡可能地把用戶的損失降低到最小。計(jì)算機(jī)軟件的管理是一項(xiàng)比較復(fù)雜的工程,而且軟件的漏洞問題也無法根除,因此,計(jì)算機(jī)軟件設(shè)計(jì)者應(yīng)該采取一系列有效的預(yù)防措施來強(qiáng)化軟件市場(chǎng)的安全性能,站在用戶的角度來考慮,切實(shí)保證軟件使用過程中的安全,才能促進(jìn)計(jì)算機(jī)軟件行業(yè)得到持續(xù)發(fā)展。