時間:2022-06-17 22:37:23
緒論:在尋找寫作靈感嗎?愛發(fā)表網(wǎng)為您精選了8篇軟件安全論文,愿這些內(nèi)容能夠啟迪您的思維,激發(fā)您的創(chuàng)作熱情,歡迎您的閱讀與分享!
接連不斷的蠕蟲病毒使當(dāng)前安全技術(shù)和措施的有效性再次受到質(zhì)疑。盡管安全是世界上所有機構(gòu)的頭等大事之一,安全攻擊事件的數(shù)量仍然是逐年攀升,造成的危害一次比一次大。在最近的數(shù)年中,大量的投資被用于阻擊安全事件的發(fā)生,但只有少數(shù)公司確保了它們網(wǎng)絡(luò)的安全。
特別值得一提的是,為了滿足用戶和業(yè)務(wù)的需求,時刻保持競爭優(yōu)勢,企業(yè)不得不持續(xù)擴張網(wǎng)絡(luò)體系。然而,很多人可能不知道,網(wǎng)絡(luò)的每一次擴張,即便是一臺新計算機、一臺新服務(wù)器以及軟件應(yīng)用平臺,都將給病毒、蠕蟲、黑客留下可乘之機,為企業(yè)網(wǎng)絡(luò)帶來額外的安全風(fēng)險。同時,純病毒時代已經(jīng)一去不復(fù)返,幾年前占據(jù)著新聞頭條的計算機病毒事件在今天看來已經(jīng)不是什么新聞,取而代之的是破壞程度呈幾何增長的新型病毒。這種新型病毒被稱為混合型病毒,這種新病毒結(jié)合了傳統(tǒng)電子郵件病毒的破壞性和新型的基于網(wǎng)絡(luò)的能力,能夠快速尋找和發(fā)現(xiàn)整個企業(yè)網(wǎng)絡(luò)內(nèi)存在的安全漏洞,并進行進一步的破壞,如拒絕服務(wù)攻擊,拖垮服務(wù)器,攻擊計算機或系統(tǒng)的薄弱環(huán)節(jié)。在這種混合型病毒時代,單一的依靠軟件安全防護已開始不能滿足客戶的需求。
網(wǎng)絡(luò)安全不只是軟件廠商的事
今年上半年,網(wǎng)絡(luò)安全軟件及服務(wù)廠商——趨勢科技與網(wǎng)絡(luò)業(yè)界領(lǐng)導(dǎo)廠商——思科系統(tǒng)公司在北京共同宣布簽署了為企業(yè)提供綜合性病毒和蠕蟲爆發(fā)防御解決方案的合作協(xié)議。該協(xié)議進一步擴展了雙方此前針對思科網(wǎng)絡(luò)準(zhǔn)入控制(NAC)計劃建立的合作關(guān)系,并將實現(xiàn)思科網(wǎng)絡(luò)基礎(chǔ)設(shè)施及安全解決方案與趨勢科技防病毒技術(shù)、漏洞評估和病毒爆發(fā)防御能力的結(jié)合。
根據(jù)合作協(xié)議,思科首先將在思科IOS路由器、思科Catalyst交換機和思科安全設(shè)備中采用的思科入侵檢測系統(tǒng)(IDS)軟件中添加趨勢科技的網(wǎng)絡(luò)蠕蟲和病毒識別碼技術(shù)。此舉將為用戶提供高級的網(wǎng)絡(luò)病毒智能識別功能和附加的實時威脅防御層,以抵御各種已知和未知的網(wǎng)絡(luò)蠕蟲的攻擊。
“在抵御網(wǎng)絡(luò)蠕蟲、防止再感染、漏洞和系統(tǒng)破壞的過程中,用戶不斷遭受業(yè)務(wù)中斷的損失,這導(dǎo)致了對更成熟的威脅防御方案需求的增長。”趨勢科技創(chuàng)始人兼首席執(zhí)行官張明正評論說,“傳統(tǒng)的方法已無法滿足雙方客戶的需求?!?/p>
“現(xiàn)在的網(wǎng)絡(luò)安全已不是單一的軟件防護,而是擴充到整個網(wǎng)絡(luò)的防治?!彼伎迫蚋笨偛枚偶覟I在接受記者采訪時表示:“路由器和交換機應(yīng)該是保護整個網(wǎng)絡(luò)安全的,如果它不安全,那它就不是路由器。從PC集成上來看,網(wǎng)絡(luò)設(shè)備應(yīng)該能自我保護,甚至實現(xiàn)對整個網(wǎng)絡(luò)安全的保護?!?/p>
業(yè)界專家指出,防病毒與網(wǎng)絡(luò)基礎(chǔ)設(shè)施結(jié)合,甚至融入到網(wǎng)絡(luò)基礎(chǔ)架構(gòu)中,這是網(wǎng)絡(luò)安全的發(fā)展潮流,趨勢科技和思科此次合作引領(lǐng)了這一變革,邁出了安全發(fā)展史上里程碑式的重要一步。
“軟”+“硬”=一步好棋
如果細細品味這次合作的話,我們不難發(fā)現(xiàn)這是雙方的一步好棋,兩家公司都需要此次合作。
作為網(wǎng)絡(luò)領(lǐng)域的全球領(lǐng)導(dǎo)者,思科一直致力于推動網(wǎng)絡(luò)安全的發(fā)展并獨具優(yōu)勢。自防御網(wǎng)絡(luò)(Self-DefendingNetwork,SDN)計劃是思科于今年3月推出的全新的安全計劃,它能大大提高網(wǎng)絡(luò)發(fā)現(xiàn)、預(yù)防和對抗安全威脅的能力。思科網(wǎng)絡(luò)準(zhǔn)入控制(NAC)計劃則是SDN計劃的重要組成部分,它和思科的其他安全技術(shù)一起構(gòu)成了SDN的全部內(nèi)涵。
SDN是一個比較全面、系統(tǒng)的計劃,但是它缺乏有效的病毒防護功能。隨著網(wǎng)絡(luò)病毒的日見猖獗,該計劃防毒功能的欠缺日益凸顯。趨勢科技領(lǐng)先的防毒安全解決方案正是思科安全體系所亟需的。
趨勢科技作為網(wǎng)絡(luò)安全軟件及服務(wù)廠商,以卓越的前瞻和技術(shù)革新能力引領(lǐng)了從桌面防毒到網(wǎng)絡(luò)服務(wù)器和網(wǎng)關(guān)防毒的潮流。趨勢科技的主動防御的解決方案是防毒領(lǐng)域的一大創(chuàng)新,其核心是企業(yè)安全防護戰(zhàn)略(EPS)。EPS一反過去被動地以防毒軟件守護的方式,將主動預(yù)防和災(zāi)后重建的兩大階段納入整個防衛(wèi)計劃當(dāng)中,并將企業(yè)安全防護策略延伸至網(wǎng)絡(luò)的各個層次。
“如果此次與思科合作的不是趨勢科技,我們恐怕連覺都睡不好。”張明正的戲言無不透露出趨勢科技對此次合作的迫切性和重要性。
更讓張明正高興的是,通過此次合作,趨勢科技大大擴充了渠道?!拔覀兊那乐丿B性很小?!睆埫髡硎?。而此次“1+1<2”的低成本產(chǎn)品集成將使這次合作發(fā)揮更大的空間。
網(wǎng)絡(luò)安全路在何方?
如今,雖然業(yè)界有形形的安全解決方案,網(wǎng)絡(luò)安全的形勢卻不斷惡化。究其原因,主要是由于現(xiàn)在的網(wǎng)絡(luò)威脅形式越來越多,攻擊手段越來越復(fù)雜,呈現(xiàn)出綜合的多元化的特征。
(一)計算機軟件設(shè)施的安全問題
計算機軟件是計算機運行系統(tǒng)中有關(guān)程序和文檔的總稱,屬于計算機硬件設(shè)備的控制中心,可以滿足人們的各種實際需求。計算機安全從軟件方面來書,軟件開發(fā)部門開發(fā)的軟件既要滿足用于的各種需求,也要有效降低開發(fā)成本,更要避免其他軟件開發(fā)剽竊或者復(fù)制軟件,最大程度的保護自己的知識產(chǎn)權(quán)。而用戶也要求功能齊全、實用性好、保密性好、具有高性價比的軟件,尤其是軟件的安全性能,因此計算機軟件安全指的是軟件不易被剽竊和軟件自身的安全性。
(二)計算機網(wǎng)絡(luò)信息安全問題
計算機用戶缺乏網(wǎng)絡(luò)安全意識和信息保密意識,同時計算機網(wǎng)絡(luò)系統(tǒng)還不夠完善,有一定的安全漏洞,這是引起網(wǎng)絡(luò)風(fēng)險的一個主要因素,比如,Windows系統(tǒng)自身存在著一定的問題、軟件自身攜帶的插件等,這些存在著一定的安全隱患,為不法分子提供了機會,有些黑客會侵入計算機的安全系統(tǒng),甚至導(dǎo)致數(shù)據(jù)丟失或者系統(tǒng)的癱瘓。此外,計算機病毒入侵也對計算機網(wǎng)絡(luò)安全產(chǎn)生威脅。因為病毒具有很快的傳播速度,只要病毒進入網(wǎng)絡(luò),既對計算機安全運行產(chǎn)生影響,也將計算機數(shù)據(jù)破壞,極大的損害了用戶的利益。
二、計算機安全問題的解決對策
(一)計算機硬件安全問題的對策
當(dāng)前,人們的日常工作、學(xué)習(xí)和生活和計算機息息相關(guān),為了維持計算機更長的壽命,并促使其更好的為人類服務(wù),我們在一定程度上要了解計算機,并且具備普通的維修常識??墒牵嬎銠C的壽命是有限的,用戶有必要對操作流程進行學(xué)習(xí),然后正確使用計算機,如果計算機發(fā)生問題要及時維修,避免計算機硬件遭到更嚴(yán)重的損壞。用戶熟練掌握計算機日常使用規(guī)范以及基本的維護知識可以促使用戶及時發(fā)現(xiàn)計算機安全問題,并且提早做好預(yù)防,促使計算機更好的服務(wù)于用戶。
(二)計算機軟件設(shè)施安全問題的對策
首先加密計算機軟件,并且確保密碼的安全性,因為計算機軟件非常容易復(fù)制,因此計算機軟件安全防護的一個重要手段是密碼保護。而一個密碼只在一段時間內(nèi)有效,因此用戶要定期對密碼進行更改,確保計算機軟件安全。其次,為了從源頭上確保計算機軟件的安全,就要做好它的安全設(shè)計。軟件設(shè)計人員在開發(fā)計算機軟件的過程中要全面細致考慮軟件的安全問題,比如從軟件用途方面來說,就要對用途肯能帶來的風(fēng)險進行考慮,并且提前制定應(yīng)對措施;在開發(fā)完軟件之后要全方位檢測軟件,及時修補檢測出來的漏洞,并且提高檢測次數(shù),最大程度的避免軟件漏洞。而用戶在使用軟件的過程中如果發(fā)現(xiàn)問題就要及時解決問題,并應(yīng)用合理措施實施修補,確保安全運行軟件,避免不必要的風(fēng)險。
(三)計算機網(wǎng)絡(luò)信息安全問題的對策
計算機病毒主要通過網(wǎng)絡(luò)以及硬件傳播,所以要定期升級計算機軟件,應(yīng)用最新的版本,確保計算機軟件具有較少的漏洞。此外也要及時更新瀏覽器的版本,確保網(wǎng)頁瀏覽的安全性。在瀏覽網(wǎng)頁時盡量不要瀏覽不合常規(guī)的網(wǎng)站,不安裝不合常規(guī)的軟件,確保瀏覽的安全性。
三、結(jié)語
1計算機軟件存在的安全漏洞
隨著我國經(jīng)濟的不斷發(fā)展,科技技術(shù)有了很大進步,互聯(lián)網(wǎng)中的信息系統(tǒng)使用范圍不斷擴大,在各個領(lǐng)域發(fā)揮著不可取代的作用。由于計算機軟件中有很多的安全漏洞,因此很大程度上信息系統(tǒng)就產(chǎn)生了一定的安全隱患。軟件中的漏洞會對信息系統(tǒng)造成非常大的威脅,這就需要對計算機軟件中的安全漏洞進行必要檢測,安全漏洞檢測是現(xiàn)代信息系統(tǒng)安全運行中非常重要的課題。計算機軟件漏洞是指計算機系統(tǒng)在編程時出現(xiàn)的錯誤導(dǎo)致的缺點,這些缺點非常容易使計算機軟件產(chǎn)生一些安全隱患和計算機自身的危險,計算機系統(tǒng)對有惡意的網(wǎng)絡(luò)信息有非常高的敏感性,極容易出現(xiàn)對系統(tǒng)攻擊行為。之所以出現(xiàn)這種情況,主要原因是在軟件開發(fā)和研制過程出現(xiàn)的一些問題。漏洞主要有兩種:安全性漏洞和功能性漏洞。安全性漏洞指的是在大多情況下漏洞不會影響計算機的正常運行,如果漏洞被黑客發(fā)現(xiàn),軟件運行時就會出現(xiàn)錯誤,嚴(yán)重者計算機會執(zhí)行錯誤的命令,有很大的危害性。功能性的漏洞是指漏洞能夠影響計算機正常運行,比如運行結(jié)果錯誤等等。漏洞特性主要表現(xiàn)在四個方面:1系統(tǒng)編程時由于編制人員的疏忽很容易出現(xiàn)邏輯性的錯誤,這種由于疏忽出現(xiàn)的錯誤很多是疏忽大意所致。2計算機在運行任務(wù)時很容易產(chǎn)生邏輯性錯誤,不同大小之間的程序模塊相比可以看出邏輯性錯誤的發(fā)生率很高。3漏洞和軟件環(huán)境有很大關(guān)系。4系統(tǒng)漏洞和時間也存在一定的聯(lián)系,隨著時間的延長,舊漏洞被修復(fù)但是也會產(chǎn)生新的安全漏洞。
2計算機軟件安全漏洞的各項檢測技術(shù)及應(yīng)用
2.1安全靜態(tài)檢測
計算機軟件安全靜態(tài)檢測,注重的是系統(tǒng)內(nèi)部特性,靜態(tài)檢測和漏洞兩者之間有共同的特點,這些特點之間也有很大的關(guān)聯(lián)。目前漏洞的劃分方法主要有安全性漏洞和內(nèi)存性的漏洞。安全性漏洞對數(shù)據(jù)流的誤差比較注重,很大程度上由于錯誤的內(nèi)存形態(tài)而形成的;內(nèi)存性漏洞對數(shù)據(jù)的準(zhǔn)確性和類別有很大的注重性。因此,這種漏洞主要的檢測技術(shù)方法就是在內(nèi)部存儲空間進行建模。因為靜態(tài)檢測方法之間有很大的不同之處,漏洞的處理也有很大的不同之處。所以,一些監(jiān)測技術(shù)只能對漏洞進行必要的檢測,但是一些方法在此基礎(chǔ)上還能夠?qū)β┒催M行很好的處理。安全靜態(tài)檢測方法主要是對程序的代碼進行掃描,對其中的關(guān)鍵句進行詳細分析,然后根據(jù)設(shè)置的漏洞特性和標(biāo)準(zhǔn)對系統(tǒng)進行全面檢測。分析關(guān)鍵語法是最早的靜態(tài)分析法,它在分析時只對語法進行檢查,把系統(tǒng)中的程序分為不同段落語句和數(shù)據(jù)庫相互對比,如果發(fā)現(xiàn)有疑問,對其進行仔細的判斷,從而進行檢測;另一種檢測方法就是按照標(biāo)準(zhǔn)進行檢測。由于系統(tǒng)自身就是編程的標(biāo)準(zhǔn),根據(jù)標(biāo)準(zhǔn)對計算機程序進行描述,可以通過語法對其進行描述,最后對系統(tǒng)進行整體檢測。
2.2安全動態(tài)檢測
2.2.1內(nèi)存映射很多攻擊者在對軟件進行破壞時為了達到目的,會經(jīng)常用到“NULL”結(jié)尾的字符串進行內(nèi)存覆蓋。采用代碼頁映射技術(shù),攻擊者能夠利用“NULL”結(jié)尾字符串進行內(nèi)存覆蓋。
2.2.2非執(zhí)行棧目前,出現(xiàn)了一些棧攻擊軟件的問題,主要原因是系統(tǒng)中棧的執(zhí)行能力,由于棧內(nèi)包含了所有數(shù)組變量,所以,攻擊者通過向棧中書寫一些惡意代碼,再進行代碼執(zhí)行。預(yù)防這種攻擊方法最為有效的方法是打破棧的執(zhí)行力,使代碼不能夠進行執(zhí)行任務(wù)。2.2.3安全共享庫有些計算機中的安全漏洞主要是使用了不安全的共享庫所致。安全共享庫很大程度上可以預(yù)防惡意攻擊行為。安全共享庫有攔截和檢測功能,主要是指使用動態(tài)鏈接方式進行程序運行,把不安全函數(shù)進行攔截和檢測,最大程度上保護軟件的安全。
2.3計算機軟件安全漏洞檢測技術(shù)的應(yīng)用
安全漏洞檢測技術(shù)直接關(guān)系到計算機的安全應(yīng)用,其中在計算機軟件安全漏洞檢測中,其各項技術(shù)的應(yīng)用主要集中在:第一,防止競爭條件安全漏洞應(yīng)用。這種漏洞的應(yīng)用一般是采用原子化處理競爭編碼,這種編碼有鎖定功能,原子化操作進入鎖定狀態(tài),詳細的描述使用文件,很大程度上預(yù)防由于使用文件的變動使系統(tǒng)產(chǎn)生漏洞。第二,緩沖區(qū)安全漏洞檢測技術(shù)應(yīng)用。緩沖區(qū)安全漏洞檢測主要是對軟件程序中的一些疑問函數(shù)進行詳細檢測來預(yù)防緩沖區(qū)安全漏洞。第三,隨機漏洞預(yù)防應(yīng)用。對于隨機漏洞的檢測和預(yù)防需要用到性能良好隨機發(fā)生設(shè)備,這種設(shè)備能夠準(zhǔn)確的對隨機漏洞進行預(yù)防,其中最主要的原因就是該設(shè)備有密碼算法。第四,格式化字符串漏洞檢測技術(shù)應(yīng)用。這種檢測技術(shù)的應(yīng)用一般是在代碼中使用格式常量。
3結(jié)語
【關(guān)鍵詞】軟件;安全漏洞;檢測技術(shù)
信息技術(shù)快速發(fā)展,尤其Internet的廣泛應(yīng)用,在如今大數(shù)據(jù)時代,軟件是計算機技術(shù)一種,在其軟件開發(fā)過程中,計算機軟件存在一定漏洞,要保障計算機軟件的安全性,必須提高計算機軟件的檢測技術(shù),提升計算機軟件性能,是提高計算機網(wǎng)絡(luò)安全的有效途徑。
1計算機軟件安全漏洞目前的狀況
計算機軟件在開發(fā)的時候有的就存在一定漏洞,當(dāng)時可能沒有技術(shù)解決軟件漏洞問題,但在軟件使用的過程中,會出現(xiàn)一系列問題,必須加強軟件安全漏洞的檢測技術(shù),檢測軟件是否合格,不合格的軟件必須加強軟件補丁,促使軟件達到合格標(biāo)準(zhǔn),經(jīng)過測試后,才能投入市場使用。還有的軟件開發(fā)時候沒有任何漏洞,但隨著時間的推移,軟件會出現(xiàn)一定漏洞,軟件必須是在使用的過程中,逐步進行軟件完善,提升軟件性能,讓其達標(biāo),減少軟件的漏洞,出現(xiàn)漏洞以后要及時修復(fù),提高軟件的生命周期,在一個友好的界面下,充分發(fā)揮軟件的功能,讓其在使用過程中,起到一定的作用,提升性能,減少漏洞。軟件在使用的過程中,根據(jù)技術(shù)的發(fā)展與變化,計算機軟件的漏洞必須技術(shù)檢測,延長軟件的生命周期,提高軟件性能,滿足其需要。
2計算機軟件安全漏洞檢測技術(shù)解讀
2.1靜態(tài)程序解析
靜態(tài)程序解析是軟件安全常用的檢測技術(shù),這種檢測技術(shù)是通過程序代碼,通過利用機器語言、匯編語言等進行編譯,利用反代碼形式,對檢測出來的軟件漏洞,及時進行修復(fù),提高軟件性能,在實際應(yīng)用過程中,涉及到程序設(shè)計中的語言、函數(shù)、數(shù)組、過程、集合、文件等。利用軟件技術(shù)解決軟件漏洞問題,靜態(tài)程序解析對程序設(shè)計起到保護作用,檢測軟件漏洞,提升計算機軟件性能,這是一種常用的計算機軟件安全漏洞檢測技術(shù),通過該技術(shù)對軟件漏洞進行合理檢測,提高軟件性能,延長軟件的生命周期。
2.2利用邏輯公式對程序性質(zhì)進行表達
根據(jù)程序的性質(zhì),對計算機軟件漏洞進行檢測,判斷其中的應(yīng)用能力,邏輯公式能對計算機軟件的性能進行檢測,檢測其的合法性,是否存在軟件漏洞,有的軟件漏洞是需要升級與更新軟件就可以解決的,有的是出現(xiàn)軟件錯誤,必須合理采用措施,解決軟件漏洞問題。其中的公理化方法的邏輯是完整的體系,其中的每個公式都是由單個程序語句和其前后置斷言共同構(gòu)成,具體理論當(dāng)中只有一條賦值公理,形式演算系統(tǒng)以一階謂詞邏輯為基礎(chǔ),各自為順序、分支以及循環(huán)指令增加了相應(yīng)的演算法則。公理化方法已經(jīng)被證明具有較強的可靠性和完整性,但匹配的形式演算系統(tǒng)存在半可判定的情況。程序的正確性涉及程序設(shè)計人員利用邏輯公式對程序?qū)?yīng)的功能規(guī)約展開描述,另外一個問題就是要為循環(huán)體確定循環(huán)不變式。邏輯公式的應(yīng)用提高了邏輯判斷能力,在利用語句進行科學(xué)判斷,檢測計算機軟件是否存在漏洞,根據(jù)邏輯公式的判斷能力,檢測軟件是否存在漏洞,如果存在漏洞,對其合理的進行修補,解決軟件漏洞問題,提升軟件性能,完善軟件功能。
2.3測試庫技術(shù)
測試庫技術(shù)是計算機軟件檢測中常用技術(shù),對解決計算機軟件漏洞起到幫助作用。測試庫技術(shù)是檢測計算機軟件中的核心部件,判斷計算機軟件是否存在漏洞。利用測試庫技術(shù)只能對動態(tài)內(nèi)存操作函數(shù)導(dǎo)致的錯誤進行判定。而且其主要對運行過程中輸入數(shù)據(jù)進行監(jiān)控,發(fā)現(xiàn)其中的弱點。這種檢測并不是從整體上進行判定。這也表明檢測過程只是驗證BUG是否被發(fā)現(xiàn),但是無法證實BUG的存在。使用這項技術(shù)對于普通應(yīng)用程序而言,并不會存在任何兼容問題。使用測試庫技術(shù)的主要優(yōu)勢不存在誤報。從性能上對這個技術(shù)展開分析,其性能消耗較大,從其工作原理很容易能推導(dǎo)出這個結(jié)論。利用測試庫技術(shù)檢測計算機軟件是否存在漏洞,是所有檢測技術(shù)中最科學(xué)的,也是最準(zhǔn)確的,但其測試有一定難度,對計算機軟件本身也是一種傷害,提高計算機軟件性能,必須合理的利用軟件的檢測技術(shù),科學(xué)的選擇檢測技術(shù),有目的的進行檢測軟件是否存在漏洞,科學(xué)的解決軟件漏洞問題,提高軟件性能。
2.4源碼改編
利用軟件漏洞檢測技術(shù),檢測出計算機軟件存在一定漏洞,沒有合理方法進行漏洞修復(fù),就有必要根據(jù)軟件漏洞的階段,去修改程序的源代碼,這種源碼改編技術(shù),是徹底解決計算機軟件漏洞的最根本方法,該檢測技術(shù)對人員的要求很高,能利用其它技術(shù)檢測出軟件漏洞,能利用源碼改編技術(shù)進行修改,這是計算機軟件檢測技術(shù)的高級階段,是計算機軟件發(fā)展到一定程度的需要,也是社會發(fā)展對計算機軟件技術(shù)提出的新要求??傊?,計算機軟件技術(shù)存在一定漏洞,要解決計算機軟件漏洞,必須利用軟件檢測技術(shù),及時檢測,發(fā)現(xiàn)問題要及時解決,但在計算機軟件發(fā)展的過程中,計算機軟件肯定存在一定問題,必須科學(xué)的合理解決計算機軟件的安全問題,提高對軟件安全認識,增加計算機軟件的應(yīng)用性,符合現(xiàn)代計算機軟件技術(shù)發(fā)展需要。
參考文獻
[1]許躍穎.計算機軟件中安全漏洞檢測技術(shù)及其應(yīng)用[J].電子制作,2016(02).
[2]顏漢權(quán).基于模糊測試的軟件漏洞檢測方法[J].求知導(dǎo)刊,2015(11).
[3]高妍.計算機軟件安全漏洞檢測技術(shù)與應(yīng)用[J].計算機光盤軟件與應(yīng)用,2014(04).
[4]陳斯,盧華.計算機軟件中安全漏洞檢測技術(shù)及其應(yīng)用[J].電子技術(shù)與軟件工程,2016(11).
論文摘要:文章論述了軟件開發(fā)生命周期中每個階段添加的一系列關(guān)泣安全性的活動,提出將安奮瀏試整合到軟件開發(fā)生命周期中,分析了軟件安全性瀏試片祠試人員的要求,并以一個sql注入實例來具體說明安全性瀏試在軟。
信息網(wǎng)絡(luò)安全事件發(fā)生比例的不斷攀升、病毒利用軟件漏洞猖狂地傳播使得人們越發(fā)認識到信息安全的重要性。一般認為,傳統(tǒng)的信息安全技術(shù)可以借助防火墻(包括軟件和硬件防火墻)審核通過網(wǎng)絡(luò)的報文、限定用戶的訪問權(quán)限等來防止非授權(quán)用戶對重要數(shù)據(jù)的訪問,但是這一觀點是建立在軟件安全基礎(chǔ)上的。網(wǎng)絡(luò)應(yīng)用軟件需要暴露在網(wǎng)絡(luò)環(huán)境下,并且授權(quán)外部用戶可以透過網(wǎng)絡(luò)來訪問此軟件。通過網(wǎng)絡(luò),攻擊者有機會接觸到軟件,如果軟件本身存在漏洞,那么所有的防火墻就形同虛設(shè)。暴露于網(wǎng)絡(luò)的應(yīng)用軟件往往成為被攻擊的目標(biāo),是網(wǎng)絡(luò)應(yīng)用軟件安全的重災(zāi)區(qū)。美國國家標(biāo)準(zhǔn)與技術(shù)研究院(nist)2002年的一項研究表明,美國花費在軟件缺陷方面的費用達到595億美元。公安部2008年全國信息網(wǎng)絡(luò)安全狀況與計算機病毒疫情調(diào)查分析報b說明,在發(fā)生的安全事件中,未修補或防范軟件漏洞仍然是導(dǎo)致安全事件發(fā)生的最主要原因。
1安全測試的定義
安全測試是鑒別信息系統(tǒng)數(shù)據(jù)保護和功能維護的過程。安全測試需要涵蓋的6個基本安全概念是:保密性、完整性、權(quán)限(身份驗證)、授權(quán)(權(quán)限分配)、可提供性、不可抵賴性陰。軟件開發(fā)商都存在解決安全威脅方古的問題。對軟件開發(fā)商來說,安全性是其核心要求,這是由市場力量所驅(qū)動,也是由保護關(guān)鍵基礎(chǔ)結(jié)構(gòu)及建立和保持計算的廣泛信任的需要所決定的。所有軟件開發(fā)商面對的一個主要挑戰(zhàn)就是創(chuàng)建更加安全的軟件,使其不需要頻繁地通過修補程序進行更新。軟件安全已經(jīng)成為評判軟件質(zhì)量的一個重要標(biāo)準(zhǔn),軟件安全測試則成為保證軟件產(chǎn)品能夠符合這一標(biāo)準(zhǔn)的重要手段。軟件的安全性測試主要是測試在正常和非正常情況下,軟件能否對數(shù)據(jù)進行安全有效的操作。
2軟件開發(fā)生命周期流程(參見圖1)
對于軟件行業(yè)來說,要滿足當(dāng)今提升安全性的需要,軟件供應(yīng)商必須轉(zhuǎn)為采用一種更嚴(yán)格的、更加關(guān)注安全性的軟件開發(fā)流程。這種流程旨在盡量減少設(shè)計、編碼和文檔編寫過程中存在的漏洞,并在軟件開發(fā)生命周期中盡可能早地檢測到并消除這些漏洞。用于處理來自internet的輸人、控制可能被攻擊的關(guān)鍵系統(tǒng)或處理個人身份信息的企業(yè)和消費者軟件最需要實施這種流程。在很多實際的軟件開發(fā)項目中,安全測試已經(jīng)成為sdl一個不可或缺的組成部分,并成為整個項目過程中的長期任務(wù)。黑盒一白盒測試方法往往執(zhí)行在產(chǎn)品遞交客戶之前,但有的甚至在投人使用之后都未進行安全檢測和風(fēng)險評估;在一些安全性要求較高的項目中,雖然將安全風(fēng)險評估納人預(yù)算,但在實際操作中卻對其并未作過多考慮。這樣,所導(dǎo)致的直接后果是在開發(fā)工作幾近完成的情況下進行問題分析處理所造成的成本將遠遠大于在軟件開發(fā)階段進行缺陷修改的成本。即便是從充分利用現(xiàn)有的有限資金和資源的角度來考慮,也有必要將安全測試囊括到sdl中。這樣做雖然不能取代軟件開發(fā)后期的滲透測試和脆弱性測試,卻可以有效減少后者在施過程中的投人。
開發(fā)人員應(yīng)該根據(jù)客戶的功能需求來制定相應(yīng)的安全規(guī)約,利用內(nèi)建的明確的控制機制來降低安全風(fēng)險。開發(fā)人員可以根據(jù)風(fēng)險評估的結(jié)果來確定測試項目:軟件能否可靠運行(safety)以及軟件運行結(jié)果是否可靠(security)。
軟件開發(fā)生命周期((sdl)中常用的測試方法有:單元測試、集成測試和驗收測試。
2.1需求、設(shè)計階段—安全性分析
在軟件項目的設(shè)計過程中,人們往往只是關(guān)注系統(tǒng)的特性和功能,而沒有充分考慮其他重要的非功能問題(例如性能、可用性、平臺支持、安全,及要在稍后的軟件開發(fā)生命周期中需要解決的安全性),導(dǎo)致了項目中許多不必要的波動和延遲。由于安全性分析影響了整個的設(shè)計和架構(gòu),因此應(yīng)該在項目設(shè)計階段充分地審查和了解它們。
安全性考慮包括一系列問題,例如訪問控制和授權(quán)、敏感數(shù)據(jù)的適當(dāng)處理、數(shù)據(jù)和存儲器訪問的適當(dāng)使用,以及加密方法。一些安全性需求不是非功能的需求,如所實施的加密類型。另外,許多安全性需求是更直接地面向用例的,并且需要定義主要場景,以及定義備選路徑和異常路徑。在沒有將功能的和非功能的需求適當(dāng)?shù)囟x及并人軟件中的情況下,編碼錯誤和設(shè)計缺陷會表現(xiàn)出關(guān)鍵的信息和操作處于危險。我們應(yīng)該像對待其他的需求那樣處理安全性需求,并將安全性需求劃分出優(yōu)先級,設(shè)定范圍,同時作為整體用例和功能需求的一部分進行管理。
2.2實施階段—單元測試
受測試方式的影響,開發(fā)者對軟件安全風(fēng)險的評估不可能面面俱到。最典型的就是在代碼設(shè)計階段,開發(fā)者可以通過單元測試來檢驗代碼行為,這些結(jié)果都是可以預(yù)知的,但是受到范圍的局限,不能測試這些類或者模塊集成后的行為。
實施單元測試可以從軟件基本單位(單個類)的檢測上保證輸人的有效性;在可能出現(xiàn)惡意攻擊的地方,也可以利用這一思想來組織針對單個類或者方法的單元測試,從而組織起軟件內(nèi)部的縱深防御策略,防止惡意行為對軟件安全造成的損害。但是,這一方法將軟件各組件進行強制孤立,因此對于因大量組件交互而引起的軟件缺陷,利用此種方法無法檢測。
單元層的安全測試比較適合于防止緩沖區(qū)溢出,格式化字符串以及數(shù)據(jù)缺失的審核。
2.3驗證階段—集成測試
在集成層,軟件的整體安全屬性變得可見和可測試,使得這一層的可測試屬性數(shù)量相對單元層而言要多得多,但是對于跨站腳本和網(wǎng)絡(luò)服務(wù)器提供的一些服務(wù)(例如安全套接層ssl和url過濾)的測試,存在一定的困難。我們可以將實際案例和風(fēng)險分析的結(jié)果作為組織集成測試的指南。
集成測試要求測試人員通過安全測試培訓(xùn),并且是有熟練技術(shù)的軟件開發(fā)人員。
在這一層,我們可以開展諸如注人缺陷驗證、旁路驗證以及訪問控制等方面的安全測試,來源于外部代碼的安全審查結(jié)果也應(yīng)該以集成測試的方式加以確認。
2.4階段—驗收測試
驗收測試是軟件產(chǎn)品交付客戶之前的最后一個測試階段,是在真實的測試環(huán)境中,利用基于惡意事件的安全檢測模板,測試在典型的滲透活動中可被識別的安全缺陷。驗收測試的這一特性(基于安全檢測模板),使得我們可以借助于強大的自動化測試軟件進行檢測,并且可以用驗收測試的結(jié)果來完善滲透測試報告內(nèi)容,從而有助于開發(fā)人員理解軟件的脆弱性以及針對軟件脆弱性所采取的補救措施是否有效。
驗收測試針對軟件的外部api,因此不如單元測試和集成測試松散,并且只能測試當(dāng)前已知且暴露的漏洞或者缺陷。非定制的商業(yè)軟件重新設(shè)計的關(guān)鍵功能或者其他改變都會影響到軟件的整體安全性,因此,如果改變會使得軟件產(chǎn)生不可預(yù)知的缺陷,針對這些缺陷的測試就應(yīng)該在單元層或者集成層開展,而不是在驗收層。
在驗收層,我們可以測試針對解釋性程序(sql, xpath,ldap等)的注人式攻擊、跨站腳本攻擊、跨站請求偽造等。緩沖區(qū)溢出及格式化字符串等軟件缺陷也可以在驗收測試層得到檢測。
3安全測試隊伍
軟件測試一度被認為是編程能力偏低的員工的工作,直到今天,仍然有許多公司把優(yōu)秀的人才安排在編碼工作上,也有更多公司讓優(yōu)秀的人才進行設(shè)計,僅有很少公司讓優(yōu)秀的人才進行測試工作。實際的軟件工程實踐證明,讓對軟件思想有深刻理解的工程師進行軟件測試,可以大幅度地提高軟件質(zhì)量軟件供應(yīng)商還必須認識到組織測試人員進行“安全進修”對安全測試的成功實施至關(guān)重要。在這些情況下,軟件供應(yīng)商必須負責(zé)對其工程人員進行適當(dāng)教育。根據(jù)組織的規(guī)模和可用的資源,擁有大批工程人員的組織可建立一個內(nèi)部計劃對其工程師進行在職安全培訓(xùn),而小型組織則可能需要依賴外部培訓(xùn)。
測試人員要像攻擊者那樣帶有“惡意的”想法去思考,而且在測試軟件時還要扮演攻擊者,攻擊自己的系統(tǒng),以此來幫助發(fā)現(xiàn)軟件的安全漏洞。安全測試并不會總是直接導(dǎo)致安全溢出或者暴露可利用的漏洞,從而引出安全缺陷。要安全測試盡可能地發(fā)揮作用,測試人員需具備較強的分析能力,而這更多的是依靠熟練的開發(fā)技術(shù)和開發(fā)經(jīng)驗。
4漏洞舉例:一個sql的注入式漏洞
有幾種情形使得sql注人攻擊成為可能。最常見的原因是,使用拼接形成的sql語句去操作數(shù)據(jù)庫。譬如,傳入用戶輸人的管理員用戶名和密碼,把這2個參數(shù)拼接形成sql語句,通過執(zhí)行該sql語句,以便驗證用戶輸人的管理員用戶名和密碼的正確性。具體過程如下:
一般情況下,用戶傳人正常的用戶名和密碼進行驗證,如傳人“myname”和“mypassword”進行驗證,得到的sql語句將是:
這個sql語句很正常。但是,這只是開發(fā)人員預(yù)期的做法:通過管理員用戶名和密碼來驗證賬戶信息。但因為參數(shù)值沒有被正確地加碼,黑客可以很容易地修改查詢字符串的值,以改變sql語句的邏輯。譬如,分別傳人“myname’ ori=1--” , "mypassword",得到的sql語句將是:
在用戶名“myname’ or i=i--”中,第一個“”’結(jié)束了原有字符串中第一個單撇號的配對,"or”后面的“i=i”會導(dǎo)致不管前面的驗證結(jié)果如何,都會返回真true值,而隨后的“一”將把其后的sql語句注釋掉。現(xiàn)在問題出現(xiàn)了,不管使用什么用戶名和密碼,都能驗證通過。在存在漏洞的數(shù)據(jù)顯示頁面,如果注人join語句,就能獲取數(shù)據(jù)庫里的所有數(shù)據(jù),顯示在頁面上,如獲取用戶名、密碼等;而注入up-date/insert/delete語句將改變數(shù)據(jù),如添加新的管理員賬號等。這樣,數(shù)據(jù)庫將不再安全。
sql注人安全漏洞的形成,根本在于sql語句的拼接,只要放棄sql語句拼接,適用規(guī)范的加碼訪問方式,問題自然迎刃而解。以下便是修改后的安全驗證方法:
論文摘要:文章論述了軟件開發(fā)生命周期中每個階段添加的一系列關(guān)泣安全性的活動,提出將安奮瀏試整合到軟件開發(fā)生命周期中,分析了軟件安全性瀏試片祠試人員的要求,并以一個sql注入實例來具體說明安全性瀏試在軟。
信息網(wǎng)絡(luò)安全事件發(fā)生比例的不斷攀升、病毒利用軟件漏洞猖狂地傳播使得人們越發(fā)認識到信息安全的重要性。一般認為,傳統(tǒng)的信息安全技術(shù)可以借助防火墻(包括軟件和硬件防火墻)審核通過網(wǎng)絡(luò)的報文、限定用戶的訪問權(quán)限等來防止非授權(quán)用戶對重要數(shù)據(jù)的訪問,但是這一觀點是建立在軟件安全基礎(chǔ)上的。網(wǎng)絡(luò)應(yīng)用軟件需要暴露在網(wǎng)絡(luò)環(huán)境下,并且授權(quán)外部用戶可以透過網(wǎng)絡(luò)來訪問此軟件。通過網(wǎng)絡(luò),攻擊者有機會接觸到軟件,如果軟件本身存在漏洞,那么所有的防火墻就形同虛設(shè)。暴露于網(wǎng)絡(luò)的應(yīng)用軟件往往成為被攻擊的目標(biāo),是網(wǎng)絡(luò)應(yīng)用軟件安全的重災(zāi)區(qū)。美國國家標(biāo)準(zhǔn)與技術(shù)研究院(nist)2002年的一項研究表明,美國花費在軟件缺陷方面的費用達到595億美元。公安部2008年全國信息網(wǎng)絡(luò)安全狀況與計算機病毒疫情調(diào)查分析報b說明,在發(fā)生的安全事件中,未修補或防范軟件漏洞仍然是導(dǎo)致安全事件發(fā)生的最主要原因。
1安全測試的定義
安全測試是鑒別信息系統(tǒng)數(shù)據(jù)保護和功能維護的過程。安全測試需要涵蓋的6個基本安全概念是:保密性、完整性、權(quán)限(身份驗證)、授權(quán)(權(quán)限分配)、可提供性、不可抵賴性陰。133229.Com軟件開發(fā)商都存在解決安全威脅方古的問題。對軟件開發(fā)商來說,安全性是其核心要求,這是由市場力量所驅(qū)動,也是由保護關(guān)鍵基礎(chǔ)結(jié)構(gòu)及建立和保持計算的廣泛信任的需要所決定的。所有軟件開發(fā)商面對的一個主要挑戰(zhàn)就是創(chuàng)建更加安全的軟件,使其不需要頻繁地通過修補程序進行更新。軟件安全已經(jīng)成為評判軟件質(zhì)量的一個重要標(biāo)準(zhǔn),軟件安全測試則成為保證軟件產(chǎn)品能夠符合這一標(biāo)準(zhǔn)的重要手段。軟件的安全性測試主要是測試在正常和非正常情況下,軟件能否對數(shù)據(jù)進行安全有效的操作。
2軟件開發(fā)生命周期流程(參見圖1)
對于軟件行業(yè)來說,要滿足當(dāng)今提升安全性的需要,軟件供應(yīng)商必須轉(zhuǎn)為采用一種更嚴(yán)格的、更加關(guān)注安全性的軟件開發(fā)流程。這種流程旨在盡量減少設(shè)計、編碼和文檔編寫過程中存在的漏洞,并在軟件開發(fā)生命周期中盡可能早地檢測到并消除這些漏洞。用于處理來自internet的輸人、控制可能被攻擊的關(guān)鍵系統(tǒng)或處理個人身份信息的企業(yè)和消費者軟件最需要實施這種流程。在很多實際的軟件開發(fā)項目中,安全測試已經(jīng)成為sdl一個不可或缺的組成部分,并成為整個項目過程中的長期任務(wù)。黑盒一白盒測試方法往往執(zhí)行在產(chǎn)品遞交客戶之前,但有的甚至在投人使用之后都未進行安全檢測和風(fēng)險評估;在一些安全性要求較高的項目中,雖然將安全風(fēng)險評估納人預(yù)算,但在實際操作中卻對其并未作過多考慮。這樣,所導(dǎo)致的直接后果是在開發(fā)工作幾近完成的情況下進行問題分析處理所造成的成本將遠遠大于在軟件開發(fā)階段進行缺陷修改的成本。即便是從充分利用現(xiàn)有的有限資金和資源的角度來考慮,也有必要將安全測試囊括到sdl中。這樣做雖然不能取代軟件開發(fā)后期的滲透測試和脆弱性測試,卻可以有效減少后者在施過程中的投人。
開發(fā)人員應(yīng)該根據(jù)客戶的功能需求來制定相應(yīng)的安全規(guī)約,利用內(nèi)建的明確的控制機制來降低安全風(fēng)險。開發(fā)人員可以根據(jù)風(fēng)險評估的結(jié)果來確定測試項目:軟件能否可靠運行(safety)以及軟件運行結(jié)果是否可靠(security)。
軟件開發(fā)生命周期((sdl)中常用的測試方法有:單元測試、集成測試和驗收測試。
2.1需求、設(shè)計階段—安全性分析
在軟件項目的設(shè)計過程中,人們往往只是關(guān)注系統(tǒng)的特性和功能,而沒有充分考慮其他重要的非功能問題(例如性能、可用性、平臺支持、安全,及要在稍后的軟件開發(fā)生命周期中需要解決的安全性),導(dǎo)致了項目中許多不必要的波動和延遲。由于安全性分析影響了整個的設(shè)計和架構(gòu),因此應(yīng)該在項目設(shè)計階段充分地審查和了解它們。
安全性考慮包括一系列問題,例如訪問控制和授權(quán)、敏感數(shù)據(jù)的適當(dāng)處理、數(shù)據(jù)和存儲器訪問的適當(dāng)使用,以及加密方法。一些安全性需求不是非功能的需求,如所實施的加密類型。另外,許多安全性需求是更直接地面向用例的,并且需要定義主要場景,以及定義備選路徑和異常路徑。在沒有將功能的和非功能的需求適當(dāng)?shù)囟x及并人軟件中的情況下,編碼錯誤和設(shè)計缺陷會表現(xiàn)出關(guān)鍵的信息和操作處于危險。我們應(yīng)該像對待其他的需求那樣處理安全性需求,并將安全性需求劃分出優(yōu)先級,設(shè)定范圍,同時作為整體用例和功能需求的一部分進行管理。
2.2實施階段—單元測試
受測試方式的影響,開發(fā)者對軟件安全風(fēng)險的評估不可能面面俱到。最典型的就是在代碼設(shè)計階段,開發(fā)者可以通過單元測試來檢驗代碼行為,這些結(jié)果都是可以預(yù)知的,但是受到范圍的局限,不能測試這些類或者模塊集成后的行為。
實施單元測試可以從軟件基本單位(單個類)的檢測上保證輸人的有效性;在可能出現(xiàn)惡意攻擊的地方,也可以利用這一思想來組織針對單個類或者方法的單元測試,從而組織起軟件內(nèi)部的縱深防御策略,防止惡意行為對軟件安全造成的損害。但是,這一方法將軟件各組件進行強制孤立,因此對于因大量組件交互而引起的軟件缺陷,利用此種方法無法檢測。
單元層的安全測試比較適合于防止緩沖區(qū)溢出,格式化字符串以及數(shù)據(jù)缺失的審核。
2.3驗證階段—集成測試
在集成層,軟件的整體安全屬性變得可見和可測試,使得這一層的可測試屬性數(shù)量相對單元層而言要多得多,但是對于跨站腳本和網(wǎng)絡(luò)服務(wù)器提供的一些服務(wù)(例如安全套接層ssl和url過濾)的測試,存在一定的困難。我們可以將實際案例和風(fēng)險分析的結(jié)果作為組織集成測試的指南。
集成測試要求測試人員通過安全測試培訓(xùn),并且是有熟練技術(shù)的軟件開發(fā)人員。
在這一層,我們可以開展諸如注人缺陷驗證、旁路驗證以及訪問控制等方面的安全測試,來源于外部代碼的安全審查結(jié)果也應(yīng)該以集成測試的方式加以確認。
2.4階段—驗收測試
驗收測試是軟件產(chǎn)品交付客戶之前的最后一個測試階段,是在真實的測試環(huán)境中,利用基于惡意事件的安全檢測模板,測試在典型的滲透活動中可被識別的安全缺陷。驗收測試的這一特性(基于安全檢測模板),使得我們可以借助于強大的自動化測試軟件進行檢測,并且可以用驗收測試的結(jié)果來完善滲透測試報告內(nèi)容,從而有助于開發(fā)人員理解軟件的脆弱性以及針對軟件脆弱性所采取的補救措施是否有效。
驗收測試針對軟件的外部api,因此不如單元測試和集成測試松散,并且只能測試當(dāng)前已知且暴露的漏洞或者缺陷。非定制的商業(yè)軟件重新設(shè)計的關(guān)鍵功能或者其他改變都會影響到軟件的整體安全性,因此,如果改變會使得軟件產(chǎn)生不可預(yù)知的缺陷,針對這些缺陷的測試就應(yīng)該在單元層或者集成層開展,而不是在驗收層。
在驗收層,我們可以測試針對解釋性程序(sql,xpath,ldap等)的注人式攻擊、跨站腳本攻擊、跨站請求偽造等。緩沖區(qū)溢出及格式化字符串等軟件缺陷也可以在驗收測試層得到檢測。
3安全測試隊伍
軟件測試一度被認為是編程能力偏低的員工的工作,直到今天,仍然有許多公司把優(yōu)秀的人才安排在編碼工作上,也有更多公司讓優(yōu)秀的人才進行設(shè)計,僅有很少公司讓優(yōu)秀的人才進行測試工作。實際的軟件工程實踐證明,讓對軟件思想有深刻理解的工程師進行軟件測試,可以大幅度地提高軟件質(zhì)量軟件供應(yīng)商還必須認識到組織測試人員進行“安全進修”對安全測試的成功實施至關(guān)重要。在這些情況下,軟件供應(yīng)商必須負責(zé)對其工程人員進行適當(dāng)教育。根據(jù)組織的規(guī)模和可用的資源,擁有大批工程人員的組織可建立一個內(nèi)部計劃對其工程師進行在職安全培訓(xùn),而小型組織則可能需要依賴外部培訓(xùn)。
測試人員要像攻擊者那樣帶有“惡意的”想法去思考,而且在測試軟件時還要扮演攻擊者,攻擊自己的系統(tǒng),以此來幫助發(fā)現(xiàn)軟件的安全漏洞。安全測試并不會總是直接導(dǎo)致安全溢出或者暴露可利用的漏洞,從而引出安全缺陷。要安全測試盡可能地發(fā)揮作用,測試人員需具備較強的分析能力,而這更多的是依靠熟練的開發(fā)技術(shù)和開發(fā)經(jīng)驗。
4漏洞舉例:一個sql的注入式漏洞
有幾種情形使得sql注人攻擊成為可能。最常見的原因是,使用拼接形成的sql語句去操作數(shù)據(jù)庫。譬如,傳入用戶輸人的管理員用戶名和密碼,把這2個參數(shù)拼接形成sql語句,通過執(zhí)行該sql語句,以便驗證用戶輸人的管理員用戶名和密碼的正確性。具體過程如下:
一般情況下,用戶傳人正常的用戶名和密碼進行驗證,如傳人“myname”和“mypassword”進行驗證,得到的sql語句將是:
這個sql語句很正常。但是,這只是開發(fā)人員預(yù)期的做法:通過管理員用戶名和密碼來驗證賬戶信息。但因為參數(shù)值沒有被正確地加碼,黑客可以很容易地修改查詢字符串的值,以改變sql語句的邏輯。譬如,分別傳人“myname’ori=1--”,"mypassword",得到的sql語句將是:
在用戶名“myname’ori=i--”中,第一個“”’結(jié)束了原有字符串中第一個單撇號的配對,"or”后面的“i=i”會導(dǎo)致不管前面的驗證結(jié)果如何,都會返回真true值,而隨后的“一”將把其后的sql語句注釋掉?,F(xiàn)在問題出現(xiàn)了,不管使用什么用戶名和密碼,都能驗證通過。在存在漏洞的數(shù)據(jù)顯示頁面,如果注人join語句,就能獲取數(shù)據(jù)庫里的所有數(shù)據(jù),顯示在頁面上,如獲取用戶名、密碼等;而注入up-date/insert/delete語句將改變數(shù)據(jù),如添加新的管理員賬號等。這樣,數(shù)據(jù)庫將不再安全。
sql注人安全漏洞的形成,根本在于sql語句的拼接,只要放棄sql語句拼接,適用規(guī)范的加碼訪問方式,問題自然迎刃而解。以下便是修改后的安全驗證方法:
論文摘要:電子商務(wù)是基于網(wǎng)絡(luò)盼新興商務(wù)模式,有效的網(wǎng)絡(luò)信息安全保障是電子商務(wù)健康發(fā)展的前提。本文著重分析了電子商務(wù)活動申存在的網(wǎng)絡(luò)信息安全問題,提出保障電子商務(wù)信息安全的技術(shù)對策、管理策略和構(gòu)建網(wǎng)絡(luò)安全體系結(jié)構(gòu)等措施,促進我國電子商務(wù)可持續(xù)發(fā)展。
隨著互聯(lián)網(wǎng)技術(shù)的蓬勃發(fā)展,基于網(wǎng)絡(luò)和多媒體技術(shù)的電子商務(wù)應(yīng)運而生并迅速發(fā)展。所謂電子商務(wù)通常是指是在全球各地廣泛的商業(yè)貿(mào)易活動中,在因特網(wǎng)開放的網(wǎng)絡(luò)環(huán)境下,基于瀏覽器/服務(wù)器應(yīng)用方式,買賣雙方不謀面地進行各種商貿(mào)活動,實現(xiàn)消費者的網(wǎng)購物、商戶之間的網(wǎng)上交易和在線電子支付以及各種商務(wù)活動和相關(guān)的綜合眼務(wù)活動的一種新型的商業(yè)運營模式。信息技術(shù)和計算機網(wǎng)絡(luò)的迅猛發(fā)展使電子商務(wù)得到了極大的推廣,然而由于互聯(lián)網(wǎng)的開放性,網(wǎng)絡(luò)安全問題日益成為制約電予商務(wù)發(fā)展的一個關(guān)鍵性問題。
一、電子商務(wù)網(wǎng)絡(luò)信息安全存在的問題
電子商務(wù)的前提是信息的安全性保障,信息安全性的含義主要是信息的完整性、可用性、保密和可靠。因此電商務(wù)活動中的信息安全問題豐要體現(xiàn)在以下兩個方面:
1 網(wǎng)絡(luò)信息安全方面
(1)安全協(xié)議問題。目前安全協(xié)議還沒有全球性的標(biāo)準(zhǔn)和規(guī)范,相對制約了國際性的商務(wù)活動。此外,在安全管理方面還存在很大隱患,普遍難以抵御黑客的攻擊。
(3)防病毒問題。互聯(lián)網(wǎng)的出現(xiàn)為電腦病毒的傳播提供了最好的媒介,不少新病毒直接以網(wǎng)絡(luò)作為自己的傳播途徑,在電子商務(wù)領(lǐng)域如何有效防范病毒也是一個十分緊迫的問題。
(4)服務(wù)器的安全問題。裝有大量與電子商務(wù)有關(guān)的軟件和商戶信息的系統(tǒng)服務(wù)器是電予商務(wù)的核心,所以服務(wù)器特別容易受到安全的威脅,并且一旦出現(xiàn)安全問題,造成的后果會非常嚴(yán)重。
2.電子商務(wù)交易方面
(1)身份的不確定問題。由于電子商務(wù)的實現(xiàn)需要借助于虛擬的網(wǎng)絡(luò)平臺,在這個平臺上交易雙方是不需要見面的,因此帶來了交易雙方身份的不確定性。攻擊者可以通過非法的手段盜竊合法用戶的身份信息,仿冒合法用戶的身份與他人進行交易。
(2)交易的抵賴問題。電子商務(wù)的交易應(yīng)該同傳統(tǒng)的交易一樣具有不可抵賴。有些用戶可能對自己發(fā)出的信息進行惡意的否認,以推卸自己應(yīng)承擔(dān)的責(zé)任。
(3)交易的修改問題。交易文件是不可修改的,否則必然會影響到另一方的商業(yè)利益。電子商務(wù)中的交易文件同樣也不能修改,以保證商務(wù)交易的嚴(yán)肅和公正。
二 電子商務(wù)中的網(wǎng)絡(luò)信息安全對策
1 電子商務(wù)網(wǎng)絡(luò)安全的技術(shù)對策
(1)應(yīng)用數(shù)字簽名。數(shù)字簽名是用來保證信息傳輸過程中信皂的完整和提供信包發(fā)送者身份的認證,應(yīng)用數(shù)字簽名可在電子商務(wù)中安全、方便地實現(xiàn)在線支付,而數(shù)據(jù)傳輸?shù)陌踩浴⑼暾?身份驗證機制以及交易的不可抵賴性等均可通過電子簽名的安全認證手段加以解決。
(2)配置防火墻。防火墻是在兩個網(wǎng)絡(luò)通訊時執(zhí)行的一種訪問控制尺度,它能阻止網(wǎng)絡(luò)中的黑客來訪問你的網(wǎng)絡(luò),防止他們更改、拷貝、毀壞你的重要信息。它能控制網(wǎng)絡(luò)內(nèi)外的信息交流,提供接入控制和審查跟蹤,是一一種訪問控制機制。在邏輯,防火墻是一個分離器、限制器,能有效監(jiān)控內(nèi)部網(wǎng)和Intemet之間的任何活動,保證內(nèi)部網(wǎng)絡(luò)的安全。
(3)應(yīng)用加密技術(shù)。密鑰加密技術(shù)的密碼體制分為對稱密鑰體制和公用密鑰體制兩種。相應(yīng)地,對數(shù)據(jù)加密的技術(shù)分為對稱加密和非對稱加密兩類。根據(jù)電子商務(wù)系統(tǒng)的特點,全面加密保護應(yīng)包括對遠程通信過程中和網(wǎng)內(nèi)通信過程中傳輸?shù)臄?shù)據(jù)實施加密保護。一般來說,應(yīng)根據(jù)管理級別所對應(yīng)的數(shù)據(jù)保密要求進行部分加密而非全程加密。
2、電子商務(wù)網(wǎng)絡(luò)安全的管理策略
(1)建立保密制度。涉及信息保密、口令或密碼保密、通信地址保密、日常管理和系統(tǒng)運行狀況保密、工作日記保密等各個方面。對各類保密都需要慎重考慮,根據(jù)輕重程度劃分好不同的保密級別,并制定出相應(yīng)的保密措施。
(2)建立系統(tǒng)維護制度。該制度是電子商務(wù)網(wǎng)絡(luò)系統(tǒng)能否保持長期安全、穩(wěn)定運行的基本保證,應(yīng)由專職網(wǎng)絡(luò)管理技術(shù)人員承擔(dān),為安全起見,其他任何人不得介入,主要做好硬件系統(tǒng)日常管理維護和軟件系統(tǒng)日常管理維護兩方面的工作。
(3)建立病毒防范制度。病毒在網(wǎng)絡(luò)環(huán)境下具有極大的傳染性和危害性,除了安裝防病毒軟件之外,還要及時升級防病毒軟件版本、及時通報病毒入侵信息等工作。此外,還可將剛絡(luò)系統(tǒng)中易感染病毒的文什屬性、權(quán)限加以限制,斷絕病毒入侵的渠道,從而達到預(yù)防的目的。
(4)建立數(shù)據(jù)備份和恢復(fù)的保障制度。作為一個成功的電子商務(wù)系統(tǒng),應(yīng)引對信息安全至少提供三個層而的安全保護措施:一是數(shù)據(jù)存操作系統(tǒng)內(nèi)部或者盤陣中實現(xiàn)快照、鏡像;二是對數(shù)據(jù)庫及郵件服務(wù)器等重要數(shù)據(jù)做到在電子交易中心內(nèi)的自動備份;三是對重要的數(shù)據(jù)做到通過廣域網(wǎng)專線等途徑做好數(shù)據(jù)的克隆備份,通過以上保護措施可為系統(tǒng)數(shù)據(jù)安全提供雙保險。
三 電子商務(wù)的網(wǎng)絡(luò)安全體系結(jié)構(gòu)
電子商務(wù)的網(wǎng)絡(luò)信息安全不僅與技術(shù)有關(guān),更與社會因素、法制環(huán)境等多方面因素有關(guān)。故應(yīng)對電子商務(wù)的網(wǎng)絡(luò)安全體系結(jié)構(gòu)劃分如下:1.電子商務(wù)系統(tǒng)硬件安全。主要是指保護電子商務(wù)系統(tǒng)所涉及計算機硬件的安全性,保證其可靠眭和為系統(tǒng)提供基礎(chǔ)性作用的安全機制。2.電子商務(wù)系統(tǒng)軟件安全。主要是指保證交易記錄及相關(guān)數(shù)據(jù)不被篡改、破壞與非法復(fù)制,系統(tǒng)軟件安全的目標(biāo)是使系統(tǒng)中信息的處理和傳輸滿足整個系統(tǒng)安全策略需求。3.電子商務(wù)系統(tǒng)運行安全。主要指滿足系統(tǒng)能夠可靠、穩(wěn)定、持續(xù)和正常的運行。4.電商務(wù)網(wǎng)絡(luò)安全的立法保障。結(jié)合我閣實際,借鑒國外先進網(wǎng)絡(luò)信息安全立法、執(zhí)法經(jīng)驗,完善現(xiàn)行的網(wǎng)絡(luò)安全法律體系。
西安電子科技大學(xué)(以下簡稱西電科大)是西北地區(qū)最早開設(shè)“編譯原理”課程的高校之一,由計算機學(xué)院和軟件學(xué)院開設(shè)的“編譯原理”分別于2003年、2004年被評為校級、省級精品課程,并獲2005年度“教育部-微軟精品課程”建設(shè)立項支持。
課程創(chuàng)新點
經(jīng)過長期的教學(xué)實踐,西電科大“編譯原理”課程組已建立起了較完整的教學(xué)體系,包括年齡結(jié)構(gòu)和知識結(jié)構(gòu)合理的教師隊伍、反映本課程水平的自編教材及先進的教學(xué)實踐環(huán)境,其特色和創(chuàng)新點概述如下:
1)堅持教學(xué)科研并重,不斷更新教學(xué)內(nèi)容
課程組成員堅持教學(xué)與科研并重,十幾年來先后主持與承擔(dān)國防預(yù)研、國防預(yù)研基金、橫向科研課題等十余項,發(fā)表學(xué)術(shù)與教學(xué)研究論文20余篇。這些課題所研究內(nèi)容大部分是編譯領(lǐng)域的核心技術(shù),科研成果水平在國內(nèi)高校同行中處于領(lǐng)先地位。豐富的科研積累為教學(xué)的實施與改革提供了充足的養(yǎng)分。
課程組能夠?qū)⒖蒲谐晒皶r轉(zhuǎn)化到本課程的教學(xué)中,同時不斷更新教學(xué)內(nèi)容和教學(xué)手段,極大地發(fā)揮了學(xué)生的學(xué)習(xí)熱情和創(chuàng)造性,提高了“編譯原理”課程教學(xué)的水平和質(zhì)量。同時,通過科研與教學(xué)相結(jié)合,形成了一支學(xué)術(shù)造詣高、知識與年齡結(jié)構(gòu)合理、勇于改革且團結(jié)協(xié)作的課程梯隊。
2)重視實驗教學(xué)研究與改革,培養(yǎng)學(xué)生工程實踐能力與素質(zhì)
計算機科學(xué)與技術(shù)專業(yè)是一個實踐性要求很高的專業(yè),而“編譯原理”是本專業(yè)中對軟件設(shè)計實驗環(huán)節(jié)要求更高的課程?!熬幾g原理”開設(shè)了獨立的綜合實驗“函數(shù)繪圖語言解釋器構(gòu)造”,其中的三個實驗子系統(tǒng)“詞法分析器構(gòu)造”、“語法分析器構(gòu)造”、“語法制導(dǎo)翻譯圖形繪制”有機連為一體,反映了“編譯原理”課程的核心技術(shù)和實驗水平,充實了理論教學(xué)內(nèi)容,培養(yǎng)了學(xué)生的工程實踐能力與科研素質(zhì)。
我們還根據(jù)國內(nèi)教學(xué)條件的實際情況,在所承擔(dān)的科研項目工作基礎(chǔ)上,于1993年自主研制開發(fā)了在微機和DOS/Windows環(huán)境下的詞法分析器生成器XDFLEX和語法分析器生成器XDYACC(它們是與編譯器構(gòu)造領(lǐng)域中最具影響且被廣泛使用的、Unix環(huán)境下的詞法分析器生成器Lex和語法分析器生成器Yacc兼容的軟件,其中XD是我校英文縮寫),當(dāng)時在國內(nèi)是首創(chuàng)。1996年,我們又對XDFLEX進行了改造,增加了漢字識別的自動生成,并重新命名為XDCFLEX。至此,XDCFLEX/ XDYACC形成了具有中國特色的、教學(xué)與科研兼顧的編譯器編寫工具(放在我校網(wǎng)站上供自由下載)。此工具不但提高了我校學(xué)生的上機實習(xí)水平和“編譯原理”課程實驗室建設(shè)的水平,同時也被國內(nèi)多所高校的教師和學(xué)生以及研究所的科研人員使用,提高了我校“編譯原理”課程在國內(nèi)的地位。
課程建設(shè)的實施辦法
1)明確目標(biāo),合理安排。根據(jù)課程組的現(xiàn)有條件,制定合理的建設(shè)目標(biāo)和課程質(zhì)量標(biāo)準(zhǔn),提出師資隊伍建設(shè)規(guī)劃以及教學(xué)過程、教學(xué)管理和教學(xué)改革等方面的基本要求。依靠教師和教學(xué)管理人員,明確職責(zé),分級建設(shè),責(zé)任到人。
2)樹立課程整體優(yōu)化的觀念。在明確課程建設(shè)目標(biāo)的前提下,解決相關(guān)課程之間的配合和銜接問題,推進“模塊課程”或“系列課程”的整體優(yōu)化,將課程建設(shè)放在專業(yè)建設(shè)和培養(yǎng)模式中進行優(yōu)化設(shè)計。
3)重視師資隊伍建設(shè),開展教學(xué)改革與研究。課程建設(shè)應(yīng)形成合理、優(yōu)化的專業(yè)教師梯隊,以高層次、高學(xué)歷教師為主體,教師隊伍中高、中、初級職稱比例合適,課程負責(zé)人具有較高的學(xué)術(shù)水平和教學(xué)水平,課程組有計劃地經(jīng)常開展教研活動,加強對中青年教師的培養(yǎng)。保證每年有一定的教學(xué)改革項目或教研項目立項和教學(xué)改革成果。
4)加強教材建設(shè),改革教學(xué)手段。一方面采用國內(nèi)現(xiàn)有的先進教材和精品教材,另一方面根據(jù)學(xué)院自身的現(xiàn)有條件和專業(yè)特點組織教師自編部分具有一定創(chuàng)新性和特色的教材。同時制作、收集和整理電子教材、課件以及教輔材料,逐步形成立體化教材體系。根據(jù)本課程的教學(xué)特點,采用多媒體教學(xué),建立教學(xué)網(wǎng)站,實現(xiàn)網(wǎng)上教學(xué)輔導(dǎo)。
5)建立健全學(xué)生評價、教師同行聽課和教學(xué)督導(dǎo)組聽課機制,逐步完善教學(xué)質(zhì)量監(jiān)控和評估體系,確保和提高課堂教學(xué)質(zhì)量和效果。
6)建立有效的激勵機制。對于承擔(dān)精品課程建設(shè)任務(wù)并作出突出貢獻的課程負責(zé)人及骨干教師在評獎、評優(yōu)、晉職等方面給予優(yōu)先考慮。
教材介紹
課程組曾經(jīng)選用陳火旺院士的《編譯原理》(國防科技大學(xué)出版社)、《編譯原理和技術(shù)》,經(jīng)過長期積累,在總結(jié)二十多年教學(xué)經(jīng)驗、科研與教學(xué)改革成果的基礎(chǔ)上,由劉堅教授主編了《編譯原理基礎(chǔ)》教材。該教材及與其配套的教學(xué)輔助指導(dǎo)書《編譯原理基礎(chǔ)-習(xí)題與上機題解答》全面體現(xiàn)編譯原理的教學(xué)規(guī)律,內(nèi)容新穎先進,獨創(chuàng)性、實用性好,教學(xué)適用性強。自2002年出版以來,已發(fā)行萬余冊,被若干高校選用,在相關(guān)科研技術(shù)人員中亦被廣泛使用。2005年《編譯原理基礎(chǔ)》被評為西安電子科技大學(xué)優(yōu)秀教材,同年,榮獲陜西省優(yōu)秀教材二等獎。
課程組教師
目前,“編譯原理”課程組由4名主講和3名專職輔導(dǎo)教師組成。
劉堅:1982年2月起在西安電子科技大學(xué)任教,教授。主講本科生“編譯原理”、研究生“編譯原理與技術(shù)”等課程,研究方向為計算機軟件理論與技術(shù)。主持“Ada軟件開發(fā)平臺技術(shù)”、“軟件系統(tǒng)安全故障模式分析”、“軟件安全模式”等課題的研究工作,發(fā)表多篇學(xué)術(shù)論文。
龔杰民:1973年5月起在西安電子科技大學(xué)任教,教授,研究方向為人機交互技術(shù)和軟件開發(fā)工具。主講“編譯原理”、“形式語言與自動機理論”、“C程序設(shè)計”、“PROLOG程序設(shè)計”、“人機交互技術(shù)與可靠性工程”等課程。長期從事編譯原理、形式語言與自動機、人機交互技術(shù)等課程的教學(xué)與研究。發(fā)表教學(xué)研究及學(xué)術(shù)論文多篇,著有《C語言程序設(shè)計及其應(yīng)用》、《標(biāo)準(zhǔn)C語言程序設(shè)計及應(yīng)用》、《人機交互技術(shù)及可視化技術(shù)》、《人-計算機界面設(shè)計》(譯)等。主持的多項科研課題獲得省部級獎勵,其中,“觸摸屏電子筆”獲中國實用新型專利證書,主持的“液晶顯示器和等離子體顯示器的工效研究”課題成果已在日本使用。
方敏:1989年起在西安電子科技大學(xué)任教,博士,教授。主講“編譯原理”、“操作系統(tǒng)”、“計算機網(wǎng)絡(luò)”等課程,參加“聯(lián)合作戰(zhàn)態(tài)勢評估輔助決策模型研究”、“智能化多源數(shù)據(jù)融合”等課題的研究工作;編著教材“計算機操作系統(tǒng)”(西安電子科技大學(xué)出版社,2004);撰寫論文多篇。
張淑平:1995年起在西安電子科技大學(xué)任教,在讀博士生,副教授。主講“編譯原理”、“數(shù)據(jù)結(jié)構(gòu)”等課程,西電科大 ACM/ICPC競賽基地教練, 參加“寬帶無線IP網(wǎng)絡(luò)安全體系結(jié)構(gòu)”、“基于算法的容忍入侵檢測系統(tǒng)”等科研項目,著有“程序員教程”一書(清華大學(xué)出版社,2004),撰寫論文多篇。
張立勇:2001年起在西安電子科技大學(xué)任教,在讀博士生,講師。主講“編譯原理”、“分布對象技術(shù)”、“算法設(shè)計與分析”等課程,參加“計算機軟件安全模式分析”等課題研究,擔(dān)任西電科大ACM/ICPC競賽隊教練。
胡圣明:2003年起在西安電子科技大學(xué)任教,在讀博士生,講師。輔導(dǎo)“編譯原理”課程,主講“數(shù)據(jù)庫應(yīng)用技術(shù)”課程,參加《編譯原理基礎(chǔ)-習(xí)題與上機題解答》的編寫工作。參加“程序理解征挖掘理論與方法的研究”、“面向?qū)ο竽嫦蚬こ坦ぞ哐芯俊薄ⅰ跋到y(tǒng)應(yīng)用軟件逆向工程工具研究”等科研項目的研究工作,撰寫論文多篇。
王小兵:2004年起在西安電子科技大學(xué)任教,在讀博士生,講師。輔導(dǎo)“編譯原理”課程,主講“數(shù)據(jù)庫系統(tǒng)”課程。