時間:2023-03-23 15:20:23
引言:易發(fā)表網(wǎng)憑借豐富的文秘實踐,為您精心挑選了九篇軟件安全論文范例。如需獲取更多原創(chuàng)內(nèi)容,可隨時聯(lián)系我們的客服老師。
電子政務系統(tǒng)的應用軟件一般規(guī)模比較大,軟件在應用過程中面向的用戶較多,系統(tǒng)結(jié)構(gòu)和業(yè)務流程相對復雜,以Web應用為主要實現(xiàn)方式。因而,系統(tǒng)安全常見的風險主要有Web應用的SQL注入漏洞、表單繞過漏洞、上傳繞過漏洞、權(quán)限繞過漏洞、數(shù)據(jù)庫下載漏洞等。同時也常常存在應用系統(tǒng)管理員賬戶空口令或弱口令、未設置應用賬戶口令復雜度限制、無應用系統(tǒng)登錄和操作日志等風險。在軟件應用安全層面,安全方面的保證沒有統(tǒng)一的方法和手段。在保證整個系統(tǒng)安全運行過程中針對信息安全的部分,如對數(shù)據(jù)庫訪問安全,訪問控制,加密與鑒別等應用層面的安全防護,主要從客戶端避免和減少人為非法利用應用程序,從應用軟件設計、實現(xiàn)到使用維護,以及應用軟件對系統(tǒng)資源、信息的訪問等方面保證安全。
二、軟件應用安全要求與技術防護
2.1身份鑒別與訪問控制
用戶身份認證是保護信息系統(tǒng)安全的一道重要防線,認證的失敗可能導致整個系統(tǒng)安全防護的失敗。電子政務系統(tǒng)的用戶對系統(tǒng)資源訪問之前,應通過口令、標記等方式完成身份認證,阻止非法用戶訪問系統(tǒng)資源。從技術防護的角度來說,軟件應保障對所有合法用戶建立賬號,并在每次用戶登錄系統(tǒng)時進行鑒別。軟件應用管理員應設置一系列口令控制規(guī)則,如口令長度、口令多次失敗后的賬戶鎖定,強制口令更新等,以確保口令安全。軟件應用中對用戶登錄全過程應具有顯示、記錄及安全警示功能。用戶正常登錄后,為防止長時間登錄而被冒用等情況,系統(tǒng)應有自動退出等登錄失效處理功能。此外,應用系統(tǒng)需要及時清除存儲空間中關于用戶身份的鑒別信息,如客戶端的cookie等。系統(tǒng)軟件應用中的文件、數(shù)據(jù)庫等客體資源不是所有用戶都允許訪問的,訪問時應符合系統(tǒng)的安全策略。系統(tǒng)中許多應用軟件在設計和使用過程中經(jīng)常會有權(quán)限控制不精確,功能劃分過于籠統(tǒng)等現(xiàn)象,影響了系統(tǒng)的安全使用。目前,從應用軟件的研發(fā)和技術實現(xiàn)來看,授權(quán)訪問控制機制多采用數(shù)據(jù)庫用戶和應用客戶端用戶分離的方式,訪問控制的粒度達到主體為用戶級,客體為文件、數(shù)據(jù)庫表級。在分配用戶權(quán)限時,用戶所具有的權(quán)限應該與其需使用的功能相匹配,不分配大于其使用功能的權(quán)限,即分配所謂“最小授權(quán)”原則。對于系統(tǒng)的一些特殊用戶或角色(如管理和審計)如分配的權(quán)限過大,則系統(tǒng)安全風險將過于集中,因此,應將特別權(quán)限分配給不同的用戶,并在他們之間形成相互制約的關系。
2.2通信安全
電子政務系統(tǒng)應用軟件的設計、研發(fā)以及應用過程中,需要重點關注通信安全,特別是對通信完整性的保護。除應用加密通信外,通信雙方還應根據(jù)約定的方法判斷對方信息的有效性。在信息通信過程中,為使通信雙方之間能正確地傳輸信息,需要建立一整套關于信息傳輸順序、信息格式和信息內(nèi)容等的約定,因為僅僅使用網(wǎng)絡通信協(xié)議仍然無法對應用層面的通信完整性提供安全保障,還需在軟件層面設計并實現(xiàn)可自定義的供雙方互為驗證的工作機制。而且,為防止合法通信的抵賴,系統(tǒng)應具有在請求的情況下為數(shù)據(jù)原發(fā)者或接收者提供數(shù)據(jù)原發(fā)或數(shù)據(jù)接收證據(jù)的功能。為保障信息系統(tǒng)通信的保密性,應用軟件需具備在通信雙方建立連接之前,首先利用密碼技術進行會話初始化驗證,以確保通信雙方的合法性的能力。其次,在通信過程中,能保證選用符合國家有關部門要求的密碼算法對整個報文或會話過程進行加密。通信雙方約定加密算法,對信息進行編碼和解碼。此外,應用軟件中需設置通話超時和自動退出機制,即當通信雙方中有一方在一段時間內(nèi)未做任何響應,這表明可能存在通信異常情況,另一方能夠自動結(jié)束會話,以免造成信息在通信過程中的泄露。
2.3安全審計
安全審計通過采集各種類型的日志數(shù)據(jù),提供對日志的統(tǒng)一管理和查詢,使用特定規(guī)則,對系統(tǒng)軟件應用狀態(tài)實時監(jiān)視,生成安全分析報告。安全審計的應用,能夠規(guī)范系統(tǒng)用戶的軟件應用行為,起到預防、追蹤和震懾作用。安全審計應用要覆蓋所有用戶,記錄應用系統(tǒng)重要的安全相關事件,包括重要用戶行為、系統(tǒng)資源的異常使用和重要系統(tǒng)功能的執(zhí)行等。記錄包括事件的日期和時間、用戶、事件類型、事件是否成功,及其他與審計相關的信息,并有能力依據(jù)安全策略及時報警和中斷危險操作。此外,審計記錄應受到妥善保護,避免受到未預期的刪除、修改或覆蓋等操作,可追溯到的記錄應不少于一年。在日常審計的基礎上,應通過分析審計記錄,及時發(fā)現(xiàn)并封堵系統(tǒng)漏洞,提升系統(tǒng)安全強度,定位網(wǎng)絡安全隱患的來源,舉證系統(tǒng)使用過程中違法犯罪的法律、刑事責任。電子政務系統(tǒng)軟件應用安全審計可結(jié)合網(wǎng)絡審計、數(shù)據(jù)庫審計、應用和運維日志審計進行,幾乎全部需要定制開發(fā)。
2.4系統(tǒng)資源控制
電子政務系統(tǒng)的資源使用主要體現(xiàn)在CPU、內(nèi)存、帶寬等資源的使用上,在這個過程中,除了系統(tǒng)軟件以外,應用軟件也需要建立一組能夠體現(xiàn)資源使用狀況的指標,來判斷系統(tǒng)資源是否能滿足軟件應用的正常運行要求,當系統(tǒng)資源相關性能降低到預先規(guī)定的最小值時,應能及時報警。并對資源使用的異常情況進行檢測,及時發(fā)現(xiàn)資源使用中的安全隱患。系統(tǒng)資源應保證優(yōu)先提供給重要、緊急的軟件應用。因此,在資源控制的安全策略上應設定優(yōu)先級,并根據(jù)優(yōu)先級分配系統(tǒng)資源,從而確保對關鍵軟件應用的支持。技術實現(xiàn)上設計用戶登錄系統(tǒng)時,軟件為其分配與其權(quán)限相對應的連接資源和系統(tǒng)服務,為防止系統(tǒng)資源的重復分配,應禁止同一用戶賬號在同一時間內(nèi)并發(fā)登錄,并且,在用戶登錄后防止長時間非正常占用系統(tǒng)資源,而降低系統(tǒng)的性能或造成安全隱患,通常設計根據(jù)安全策略設置登錄終端的操作超時鎖定和鑒別失敗鎖定,并規(guī)定解鎖或終止方式。同樣,系統(tǒng)對發(fā)起業(yè)務的會話分配所用到的資源,也采用根據(jù)安全屬性(用戶身份、訪問地址、時間范圍等)允許或拒絕用戶建立會話連接,對一個時間段內(nèi)可能的并發(fā)會話連接數(shù)和單個用戶的多重并發(fā)會話數(shù)量進行限制。在系統(tǒng)整體資源的使用上,對最大并發(fā)會話連接數(shù)進行限制。此外,對電子政務系統(tǒng)被刪除的文件等的剩余信息,特別是涉及國家秘密、敏感信息的內(nèi)容,一定要重點關注并加強安全保護。可采用下列技術實現(xiàn)保護:(1)采用先進的磁盤讀寫技術對磁盤的物理扇區(qū)進行多次反復的寫操作,直到擦寫過后的磁盤扇區(qū)內(nèi)數(shù)據(jù)無法恢復;(2)根據(jù)不同的分區(qū)格式進行采用不同的數(shù)據(jù)銷毀處理算法,對文件在磁盤上所有存放位置進行逐個清除,確保文件不會在磁盤上留下任何痕跡;(3)進行目錄、剩余磁盤空間或整個磁盤的數(shù)據(jù)銷毀,銷毀后的目錄、剩余磁盤空間或者整個磁盤不存在任何數(shù)據(jù),無法通過軟件技術手段恢復。
2.5軟件代碼安全
在電子政務系統(tǒng)應用軟件開發(fā)之前,要制定應用程序代碼編寫安全規(guī)范,要求開發(fā)人員遵從規(guī)范編寫代碼。應用程序代碼自身存在的漏洞被利用后可能會危害系統(tǒng)安全。因此,應對應用軟件代碼進行安全脆弱性分析,以幫助其不斷改進完善,從而有效降低軟件應用的安全風險。研發(fā)工作結(jié)束后,應及時對程序代碼的規(guī)范性進行審查,以查找其設計缺陷及錯誤信息。代碼審查一般根據(jù)需要列出所需資料清單,由應用軟件使用方收集并提供相應的材料。代碼測試人員與開發(fā)人員書面確認測試內(nèi)容和過程,配置運行環(huán)境,對代碼進行預編譯操作,確認可執(zhí)行使用。然后使用特定的測試工具進行代碼的安全測試操作,對測試結(jié)果進行分析。對發(fā)現(xiàn)的問題進行風險分析和估算,制作軟件缺陷、問題簡表,撰寫測試報告并交付開發(fā)方修改,并對已經(jīng)整改的部分進行復測。值得注意的是,那些已經(jīng)通過安全測試的代碼,還需要運行在通過安全測試的支撐平臺、編譯環(huán)境中才能實現(xiàn)真正的安全運行。
2.6軟件容錯
電子政務系統(tǒng)中應用軟件的高可用性是保障系統(tǒng)安全、平穩(wěn)運行的基礎。軟件容錯的原理是通過提供足夠的冗余信息和算法程序,使系統(tǒng)在實際運行時能夠及時發(fā)現(xiàn)錯誤,并能采取補救措施。對系統(tǒng)軟件應用安全來說,應充分考慮到軟件自身出現(xiàn)異常的可能性。軟件在應用過程中,除設計對軟件運行狀態(tài)的監(jiān)測外,當故障發(fā)生時能實時檢測到故障狀態(tài)并報警,防止軟件異常的進一步蔓延,應具有自動保護能力,即當故障發(fā)生時能夠自動保存當前所有狀態(tài)。此外,操作人員對應用軟件的操作可能會出現(xiàn)失誤。因此,系統(tǒng)應對輸入的數(shù)據(jù)、指令進行有效性檢查,判斷其是否合法、越權(quán),并能及時進行糾正。關鍵功能應支持按照操作順序進行功能性撤銷,以避免因誤操作而導致的嚴重后果。
三、結(jié)語
(一)計算機軟件設施的安全問題
計算機軟件是計算機運行系統(tǒng)中有關程序和文檔的總稱,屬于計算機硬件設備的控制中心,可以滿足人們的各種實際需求。計算機安全從軟件方面來書,軟件開發(fā)部門開發(fā)的軟件既要滿足用于的各種需求,也要有效降低開發(fā)成本,更要避免其他軟件開發(fā)剽竊或者復制軟件,最大程度的保護自己的知識產(chǎn)權(quán)。而用戶也要求功能齊全、實用性好、保密性好、具有高性價比的軟件,尤其是軟件的安全性能,因此計算機軟件安全指的是軟件不易被剽竊和軟件自身的安全性。
(二)計算機網(wǎng)絡信息安全問題
計算機用戶缺乏網(wǎng)絡安全意識和信息保密意識,同時計算機網(wǎng)絡系統(tǒng)還不夠完善,有一定的安全漏洞,這是引起網(wǎng)絡風險的一個主要因素,比如,Windows系統(tǒng)自身存在著一定的問題、軟件自身攜帶的插件等,這些存在著一定的安全隱患,為不法分子提供了機會,有些黑客會侵入計算機的安全系統(tǒng),甚至導致數(shù)據(jù)丟失或者系統(tǒng)的癱瘓。此外,計算機病毒入侵也對計算機網(wǎng)絡安全產(chǎn)生威脅。因為病毒具有很快的傳播速度,只要病毒進入網(wǎng)絡,既對計算機安全運行產(chǎn)生影響,也將計算機數(shù)據(jù)破壞,極大的損害了用戶的利益。
二、計算機安全問題的解決對策
(一)計算機硬件安全問題的對策
當前,人們的日常工作、學習和生活和計算機息息相關,為了維持計算機更長的壽命,并促使其更好的為人類服務,我們在一定程度上要了解計算機,并且具備普通的維修常識。可是,計算機的壽命是有限的,用戶有必要對操作流程進行學習,然后正確使用計算機,如果計算機發(fā)生問題要及時維修,避免計算機硬件遭到更嚴重的損壞。用戶熟練掌握計算機日常使用規(guī)范以及基本的維護知識可以促使用戶及時發(fā)現(xiàn)計算機安全問題,并且提早做好預防,促使計算機更好的服務于用戶。
(二)計算機軟件設施安全問題的對策
首先加密計算機軟件,并且確保密碼的安全性,因為計算機軟件非常容易復制,因此計算機軟件安全防護的一個重要手段是密碼保護。而一個密碼只在一段時間內(nèi)有效,因此用戶要定期對密碼進行更改,確保計算機軟件安全。其次,為了從源頭上確保計算機軟件的安全,就要做好它的安全設計。軟件設計人員在開發(fā)計算機軟件的過程中要全面細致考慮軟件的安全問題,比如從軟件用途方面來說,就要對用途肯能帶來的風險進行考慮,并且提前制定應對措施;在開發(fā)完軟件之后要全方位檢測軟件,及時修補檢測出來的漏洞,并且提高檢測次數(shù),最大程度的避免軟件漏洞。而用戶在使用軟件的過程中如果發(fā)現(xiàn)問題就要及時解決問題,并應用合理措施實施修補,確保安全運行軟件,避免不必要的風險。
(三)計算機網(wǎng)絡信息安全問題的對策
計算機病毒主要通過網(wǎng)絡以及硬件傳播,所以要定期升級計算機軟件,應用最新的版本,確保計算機軟件具有較少的漏洞。此外也要及時更新瀏覽器的版本,確保網(wǎng)頁瀏覽的安全性。在瀏覽網(wǎng)頁時盡量不要瀏覽不合常規(guī)的網(wǎng)站,不安裝不合常規(guī)的軟件,確保瀏覽的安全性。
三、結(jié)語
一、易用性和安全性之間的關系
在計算機的安全性和易用性設計之間存在權(quán)衡,一臺不設口令的計算機非常方便使用,但是不安全;但是如果一臺計算機每5分鐘要求你做一次身份確認,輸入口令甚至做血樣檢驗,這樣的計算機是安全的,但是不會有人愿意使用。一般說來,安全軟件產(chǎn)品的操作要比其他軟件產(chǎn)品的操作困難,因為實現(xiàn)機制復雜了,需要配置的參數(shù)也多了。
安全性和易用性在設計上有共同點:
(1)都需要從軟件的整體考慮;
(2)需要對系統(tǒng)結(jié)構(gòu)、開發(fā)團隊和市場份額等方面統(tǒng)籌考慮;
(3)都要在系統(tǒng)設計的開始階段考慮,在系統(tǒng)開發(fā)臨近結(jié)束時無法臨時增加;但是由于易用性和安全性是不同的技術,所以建立一個既有安全性又有易用性的系統(tǒng)比較昂貴。
(4)易用性方面出現(xiàn)問題可能會妨礙安全性的效果。
目前安全性和易用性之間的接口成為計算機安全界研究的對象,被稱作人機交互和安全性(HCI-SEC)。在2003年ACM人機交互大會召開了HCI-SEC研討會,隨后HCI-SEC的有關問題逐步提了出來。2004年計算機界把易用安全性列為信息安全研究者的“重大挑戰(zhàn)”,有下面兩個問題:
問題1口令問題。每個人都面臨口令問題,安全的口令都是難猜測的,但是難猜測的口令都是難記憶的。同時口令策略一般要求用戶口令是唯一的并且要及時更新,如果一個人的帳戶比較多,很難想象一個人可以完全憑借記憶牢記十多個不同的口令,并且不斷地分別更新。
問題2身份確認問題。當認識到傳統(tǒng)的口令字不夠安全后,用戶需要新的身份確認手段。研究表明,人記憶圖像的能力比字符強,因此圖像口令字被作為字符口令字的替代方案,研究還發(fā)現(xiàn),用戶對圖像口令字的選擇與種族和性別高度關聯(lián)。生物測量和硬件令牌也屬于用戶身份確認的方法,但是現(xiàn)在還缺乏對這些身份確認手段的統(tǒng)一評價和比較方法。
二、易用安全性的實現(xiàn)途徑
HCI-SEC的研究課題之一就是如何在某些特定的應用系統(tǒng)中實現(xiàn)易用的安全性,主要有三種類型的方法:
(1)構(gòu)造不需要用戶干預就可以執(zhí)行相關的安全和私有功能的系統(tǒng)。這種方法的問題是當用戶不了解某些方面的安全問題時,他們的操作可能會無意中減弱到位的安全保護。
(2)開發(fā)一種安全和私有相關的隱喻模型,讓用戶自發(fā)地正確使用安全和私有軟件。目前的鑰匙和鎖的隱喻模型顯然是不完全和不準確的,但是目前也沒有出現(xiàn)更具有廣泛接受性的其他隱喻模型。
(3)教給用戶有效使用私有和安全工具所需要的知識。但是以什么形式把這些信息教給用戶,讓用戶少花時間去學習掌握,還是沒有解決好的問題。
很容易想到利用一種基于上述方法混合的方法,但實際上這更困難,因為上述方法的思路和實現(xiàn)根本上就是不同的。
現(xiàn)在有人開始用HCI-SEC的方法對安全系統(tǒng)進行評估,測試結(jié)果發(fā)現(xiàn)用戶在安全決策理解方面存在障礙,從而導致安全配置失誤遭受危險,用戶往往為了使用方便,而關閉某些安全防護。
JeromeSaltzer和MichaelSchroeder于1975年就在討論易用性是否是安全系統(tǒng)必要的成分,他們提出了信息保護的8條原則[1],最后一條就是對信息保護系統(tǒng)的“心理可接受性”,但是有些安全系統(tǒng)對這些思想不夠重視。此后30年來,HCI技術也有了很大的發(fā)展,在技術市場上,開始有人應用HCI設計和評價技術對安全系統(tǒng)進行評價,他們發(fā)現(xiàn)最終用戶在理解所面臨的安全設計和決定方面非常困難,所以非常容易出現(xiàn)誤配置的情況,而導致安全風險。很多時候用戶為了工作方便停止或者忽略安全功能,例如取消口令或者共享口令,都會把系統(tǒng)置于高安全風險之下。
很多用戶習慣將系統(tǒng)安全決策的權(quán)利交給系統(tǒng)管理員負責,但是當用戶離開自己的工作場所,脫離了所在機構(gòu)的防火墻保護,在家里或者在路上使用移動設備的時候,就必須根據(jù)自己的知識和經(jīng)驗做出安全決定,而不能依靠機構(gòu)的安全管理員了。因此,需要開發(fā)把安全決策權(quán)放在用戶手中的技術。
1983年,DonNorman指出許多引起數(shù)據(jù)損失的錯誤是由于糟糕的界面設計,雖然相關的操作需要用戶確認,但是有時候用戶確認只是出于習慣的機械點擊,因此把系統(tǒng)操作動作設計成可見的和可以取消的并不能完全解決問題。
這里有一個說明問題的例子。在美國PARC研究中心建立無線局域網(wǎng)時,采用了基于PKI的方案,需要給200個用戶X.509證書,使用802.1x傳輸層安全認證協(xié)議EAP-TLS進行認證。統(tǒng)計表明許多人覺得PKI不容易理解,技術復雜和不易用。由于PARC中心對于PKI技術熟悉,他們認為有信心成功克服使用困難,但是他們錯了。在無線局域網(wǎng)的第一個版本里,每個用戶都必須從內(nèi)部認證中心申請和安裝一個X.509證書,然后配置操作系統(tǒng)提供的802.1x客戶軟件來使用EAP-TLS認證協(xié)議。為了提交證書申請,用戶必須決定和提供無線網(wǎng)卡的MAC地址和安裝內(nèi)部認證中心的CA根證書。在建立系統(tǒng)過程中,技術管理團隊的大量時間花費在管理CA軟件和鑰匙上。利用MicrosoftWindowsXP提供的GUI802.1x的無線配置軟件,用戶需要總共完成38步才能完成注冊過程,每一步都強迫用戶做出決定或者采取行動。為了幫助用戶完成這個過程,系統(tǒng)管理員編寫了一個詳細的注冊指南,但是用戶很容易脫離這個指南自行其事,最后用戶甚至不知道對計算機做了什么操作,如果出錯,他們就會不知所措。盡管PKI提供了安全保護,但是降低了用戶配置自己機器的能力。
三、易用安全軟件的設計考慮
安全敏感的應用軟件的設計要求在易用性和安全性之間是平衡的,如果修改現(xiàn)有的系統(tǒng)設計,提高易用性就可能降低安全性,而增強安全性,就有可能讓軟件難以使用或者難以理解。在設計一個軟件系統(tǒng)時,安全性和易用性兩者都不能忽略,這兩方面的缺陷都可能導致產(chǎn)品無法使用。
1、安全性和易用性統(tǒng)籌考慮
在軟件產(chǎn)品的設計過程中要注意將安全性和易用性統(tǒng)籌考慮:
(1)安全和易用的元素不能撒胡椒面,應該把這兩個元素合并在一起,貫穿整個設計過程。無論是安全性還是易用性都不能作為附加設計的內(nèi)容。
(2)設計者要牢記安全性和易用性都是用戶需求的一個方面,最后的取舍還是要根據(jù)用戶的需要,系統(tǒng)的安全狀態(tài)要和用戶頭腦中的模型相符合,并且兩者都是隨時間變化的。
(3)盡量將安全性元素合并到用戶現(xiàn)在已經(jīng)使用的工作流程中,他們已經(jīng)習慣了這樣的工作方式,不容易對安全手段產(chǎn)生厭倦情緒。
2、避免安全性和易用性的沖突
在安全軟件產(chǎn)品的設計過程中,安全性和易用性可能會產(chǎn)生沖突:
(1)設計階段的沖突
1)不恰當?shù)陌踩詴p害易用性
讓差不多要開發(fā)結(jié)束的產(chǎn)品變得更加安全是設計者可能會遇到的要求,但是設計者會發(fā)現(xiàn)在最后一分鐘增加安全功能是多么困難和無效。盡管可以通過代碼審查發(fā)現(xiàn)一些Bug,但是安全則是整個設計更深的屬性,JohnViega和GaryMcgraw認為“在一個現(xiàn)存系統(tǒng)上捆綁安全是一個糟糕的主意,安全不是一個在任何時間都能增加到系統(tǒng)上去的屬性”[2]。如果不是從設計一開始就考慮安全性問題,就可能不得不增加很多配置設置和提示,這種做法不能根本上解決問題,反而在出現(xiàn)問題的時候,容易將過錯推給用戶。
2)不適當?shù)囊子眯詴p害安全性
讓差不多要開發(fā)結(jié)束的產(chǎn)品變得更加好用則是設計者可能會遇到的另外一種要求,但是這是同樣困難的任務。好的易用性設計強調(diào)理解用戶需求,在設計過程中溶入某種概念和風格,而不是僅僅玩弄一些表面的特色,比如動畫或者界面外表。沒有經(jīng)過慎重考慮的易用性可能會向用戶隱藏一些安全相關的決定或者選擇松散的缺省設置,另外不容易理解的界面也會增加操作的復雜性和迷惑用戶,降低產(chǎn)品的安全性。
3)集成的交互設計
安全性和易用性的研究者都贊成疊代的開發(fā)過程,執(zhí)行重復的分析、設計和評估周期,而不是最后進行安全性測試或者易用性測試,將用戶交互和安全手段的設計同時考慮非常重要,疊代提供了檢查安全性和易用性相互影響的機會,如果一直割裂兩個方面的設計幾乎肯定會帶來問題。
(2)使用中的沖突
從目標上講,安全通常是使用戶操作變得困難,而易用性是使操作變得更容易,安全性所引起的操作困難的結(jié)果通常是用戶不情愿接受的,而易用性所帶來的結(jié)果一般是用戶所歡迎的,當系統(tǒng)設計不夠好時,這兩者可能發(fā)生沖突。
安全性對于用戶來說永遠是第二位的功能,用戶使用計算機肯定不是要使用它的安全功能,用戶使用計算機是為了使用資源和進行業(yè)務系統(tǒng)管理等,要求用戶采用額外的安全步驟可能會打斷他的工作流程,最后導致用戶關閉掉讓他煩惱的安全提示。這樣自然造成易用性和安全性之間的沖突。解決的辦法是盡量從自然的用戶交互中提取安全信息,提取的安全信息越多,安全性對用戶正常使用的干擾就越少。
(3)安全交互設計的原則
研究者曾經(jīng)提出安全交互設計的10條原則[3]:
(1)完成一個任務最自然的方式也是最安全的;
(2)用戶能夠清楚理解授權(quán)過程,明確過程中的操作;
(3)用戶的交互界面應該能夠吸引用戶的吸引力;
(4)影響安全決定的用戶交互界面應該便于檢查;
(5)在任何時候都應該允許撤消做出的安全授權(quán);
(6)用戶界面不應該讓用戶誤以為擁有實際上沒擁有的權(quán)限;
(7)用戶與授權(quán)實體之間的通訊渠道必須是不能被欺騙和不容易癱瘓;
(8)確認實體與確認操作在界面上應該與其他實體和操作不同;
(9)交互界面應該提供足夠的表達能力讓用戶容易按照自己的目標表達安全決定;
(10)在動作生效前應該讓用戶清楚授權(quán)操作的結(jié)果。
現(xiàn)在計算機的構(gòu)件都被標注成可信的,可信不是一個yes或者no的問題,不明確下述問題“可信”這個詞是沒有任何意義的。這些問題就是:(1)“被誰信任?”(2)“被信任做什么?”(3)“什么條件下不可信?”(4)“應對的安全風險是什么?”
SimsonGarfinkel和GeneSpafford給出的定義是:“如果你能夠依賴一臺計算機和它上面的軟件做出你期待的行為,就說它是安全的”[3],用戶的期待是基于系統(tǒng)的概念模型,這個概念模型的基本元素是“誰”和做“什么”,對應“角色”和“能力”,每個角色有一系列的“能力”(可以影響用戶的可能動作),可以通過有限狀態(tài)機來模擬所有角色的所有可能動作。
安全性和易用性是貫穿軟件開發(fā)過程的要求,不僅需要早期考慮,還需要同時兼顧。特別在大型系統(tǒng)的開發(fā)過程中,負責這兩個方面的開發(fā)人員需要很好的溝通和交互。
參考文獻
[1]J.H.Saltzer和M.DSchroeder,“TheProtectionofInformationinComputerSystems,”Proc.IEEE,vol.63,no.9,1975.
關鍵詞:計算機;軟件安全;問題;防護策略
前言
現(xiàn)階段,計算機得到人類社會的廣泛應用,在這種情況下,人們在對其進行充分運用的過程中,對其軟件安全性的要求越來越高,然而現(xiàn)階段這一問題多種多樣,如軟件動態(tài)破譯問題、安全漏洞和質(zhì)量問題及非法復制問題等,要想利用計算機促進人類社會的不斷進步,就應當有針對性的對這些問題進行解決,提高使用者對計算機的信用度。在制定計算機軟件防護策略的過程中,可以從技術層面、組織管理層面等分別進行提高。
1 計算機軟件概述
1.1 含義
計算機在日常工作中,要想得到正常的系統(tǒng)運行,需要內(nèi)在程序及文檔共同發(fā)揮作用而進行,而這些文檔和程序的總稱就是軟件。它們實際上擁有不一樣的含義,程序指的是相關數(shù)碼編制,具有系統(tǒng)性和特定性等特點。而文檔指的是能夠幫助使用者更好的熟悉和掌握計算機程序的軟件,它能夠?qū)ο鄳臄?shù)據(jù)資料進行詳細的說明。這兩種軟件在計算機中存在不同的功能,程序是計算機運行使用的基礎,是計算機的必備軟件,而計算機在正常運行狀態(tài)下,是可以脫離文檔的。
1.2 分類
而計算機軟件的分類,從整體上來看有兩種,即系統(tǒng)軟件和應用軟件。首先,系統(tǒng)軟件。計算機要想維持正常的運行,是絕對離不開不同的操作系統(tǒng),這就是系統(tǒng)軟件,其功能是管理及調(diào)節(jié)不同的硬件,促使其在計算機系統(tǒng)中相互協(xié)作,正常運行。這種軟件是由基礎操作工具和操作系統(tǒng)組合而成,如軟件連接、驅(qū)動管理等。可以說,計算機的這一組成是促使使用者、計算機及其內(nèi)部操作系統(tǒng)緊密相連的基礎,促使三者在運行過程中構(gòu)建為統(tǒng)一整體,在這一整體運行中是可以忽略掉其內(nèi)部硬件的運行。現(xiàn)階段市場上主要的系統(tǒng)軟件寶庫UNIX、Windows等。
其次,應用軟件。這類型軟件在使用過程中以達到某種用途為目的,通常狀況下它以特定的形式展現(xiàn)自身的功能,如圖像瀏覽器等,這種功能表現(xiàn)相對單一;同時還有系統(tǒng)功能的展現(xiàn),如Office辦公軟件等,同時還包括人們熟知的數(shù)據(jù)庫管理系統(tǒng),這一軟件系統(tǒng)的組成包含幾個獨立程序。現(xiàn)階段人類開發(fā)出來了多種應用軟件,最常使用的有工具軟件、游戲和管理軟件等。
2 計算機網(wǎng)絡信息安全的含義
在信息技術飛速發(fā)展的背景下,網(wǎng)絡技術逐漸取得進步,在一定程度上極大的完善了技術機的網(wǎng)絡體系。但是計算機網(wǎng)絡的構(gòu)建單純依靠研發(fā)相應管理空間或者促使硬件設備簡單實現(xiàn)對接是無法完成的,這是因為該網(wǎng)絡的構(gòu)建最主要的目標是能夠為使用者提供更加完善的服務,這就要求網(wǎng)絡中能夠容納大量的使用者信息和數(shù)據(jù),同時能夠更加快捷的促進資源共享。這些信息和資源,一旦發(fā)生泄漏將會給使用者帶來極大的損失。因此在計算機使用越來越普及的狀態(tài)下,構(gòu)建計算機網(wǎng)絡信息安全成為人們廣泛關注的話題。而要想實現(xiàn)真正意義上的安全,最大限度的保護用戶信息,現(xiàn)階段信息技術的發(fā)展,其最主要的工作內(nèi)容就是實現(xiàn)軟件安全。
現(xiàn)階段,針對計算機網(wǎng)絡的信息安全問題,IOS將其定義為要充分采取有效措施來保護網(wǎng)絡內(nèi)計算機的硬件、軟件、使用者信息和數(shù)據(jù)等,有效防止因意外、惡意操作,造成的信息資源泄露或篡改,只有做到這一點,才能夠促使互聯(lián)網(wǎng)在長時間內(nèi)為人們進行服務的過程中,始終保持著高度的穩(wěn)定性和安全性,從而為人類帶來更加快捷、便利的生活。
計算機的網(wǎng)絡安全包含物理和邏輯安全兩個方面。前者指的是應用物理保護措施促使計算機硬件及網(wǎng)絡連接部位始終處于安全工作狀態(tài),減少因意外導致的數(shù)據(jù)或信息丟失;后者指的是計算機網(wǎng)絡系統(tǒng)在日常工作中應處于整體的維護和正常工作狀態(tài)下,這樣一來能夠極大提高整個系統(tǒng)的完整性,促使信息泄露的可能大大降低。在這種狀況下,安全性在軟件當中的體現(xiàn)成為最重要的因素之一,這是因為計算機軟件在日常工作狀況中,不但可以對別人實施攻擊也可以有效的提高自身安全性,起到保護自己的作用。
3 計算機軟件安全問題
3.1 對軟件的動態(tài)破譯
在運行過程中,安全問題對軟件的威脅就是計算機軟件安全,在解決這一問題的過程中,首先應當有效防護軟件,保證其運行過程中沒有被人為的濫用、破解及隨意修改等現(xiàn)象,這樣一來,就能夠確保其工作狀態(tài)中充分發(fā)揮自身的功能。從技術角度來觀察這一問題,就要構(gòu)建一個穩(wěn)定平臺,包含所有系統(tǒng)硬件,從而實現(xiàn)軟件的正常使用;同時還應當加強防護措施,嚴禁跟蹤事件的發(fā)生,此時就應當對監(jiān)測、干擾及隨意修改軟件的行為進行嚴格控制。
計算機軟件自產(chǎn)生之日起,就面臨著各種跟蹤及控制的問題,一些掌握計算機技術的人員能夠直接修改和讀寫計算機中的不同格式文件,在將其源代碼進行竊取之后,會對計算機的密鑰和防復制能力進行破壞,這樣一來就能夠動態(tài)破譯任何一個軟件,不法分子會在接下來的工作中將一些數(shù)據(jù)公開或非法買賣。
計算機中的跟蹤調(diào)試軟件具有強大的動態(tài)跟蹤功能,現(xiàn)階段該技術能夠有效的進行跟蹤程序并保證其逐條運行,其中主要使用的是斷電中斷和單步中斷兩種技術,分別以靜態(tài)和動態(tài)跟蹤兩種形式進行。在靜態(tài)跟蹤當中,可以對反編譯工具進行充分的運用,在此基礎上能夠?qū)崿F(xiàn)源代碼的產(chǎn)生,從而促使分析工作更加便利;動態(tài)跟蹤當中,是對調(diào)試工具的充分運用,這樣一來能夠在某處促使程序得到中斷,從而實現(xiàn)其單步執(zhí)行,達到跟蹤的效果。從以上兩點可以看出,對軟件的動態(tài)破譯是計算機軟件的一個重要安全問題[1]。
3.2 安全漏洞問題
開發(fā)軟件是一項復雜而系統(tǒng)的工作,其中包含了大量的限制性因素,這就導致現(xiàn)階段計算機中所使用的軟件或多或少都會存在一定程度上的漏洞,嚴重威脅軟件的安全,但是這一現(xiàn)象即使是現(xiàn)階段世界頂級的計算機軟件開發(fā)公司也無法對其進行全部避免。也就是說,日常工作及生活過程中,計算機軟件始終都存在安全漏洞,有些時候無法得到安全運行。近年來,多發(fā)軟件安全事件當中,多數(shù)都是由于安全漏洞引起的,即使多數(shù)使用者會將殺毒軟件和防火墻等安裝于計算機當中,但是這一問題始終無法被完全杜絕,這是因為當防護軟件不斷發(fā)展的過程中,那些專門實施軟件破壞的技術工作者也在不斷的摸索,也就是人們常說的“網(wǎng)絡高手”。同時,當使用者在計算機當中安裝防漏洞軟件時,很可能導致更多軟件漏洞的出現(xiàn)[2]。
3.3 非法復制問題
在時代的不斷進步中,知識密集型產(chǎn)品被大量研發(fā),計算機就屬于這一類型,這一特點導致大量的人力和物力將被應用在對計算機軟件進行研發(fā)和使用的過程中。在計算機軟件的研發(fā)中,很多硬件在使用過程中所創(chuàng)造的經(jīng)濟效益甚至遠遠低于其研發(fā)成本。然而,現(xiàn)階段非法復制問題卻嚴重威脅著大量的計算機軟件。具調(diào)查表明,近年來,每年都有非法盜版的現(xiàn)象發(fā)生,這些盜版軟件導致一百三十多億美元的損失出現(xiàn),并且這一損失數(shù)據(jù)每年都在上升。現(xiàn)階段,世界上各國都開始對非法盜版及復制問題加以高度的重視,并對該現(xiàn)象造成的法律、稅收等問題進行了一定程度的解決,而這一過程是非常艱難的,在我國這種發(fā)展中國家的狀態(tài)下,現(xiàn)階段并沒有相對完善的管理措施,我國社會受到了非法復制問題的嚴重影響。
4 計算機軟件防護策略
計算機軟件在研發(fā)的過程中,不僅需要耗費大量的人力和物力,同時其所研制出來的產(chǎn)品屬于知識密集型,從這兩個角度來看,是值得人們對其給予高度尊重的。現(xiàn)階段在加強計算機軟件防護的過程中,人們不僅可以從法律的角度對其進行嚴格而強行的約束和管理,從技術層面和組織管理層面加強防護措施具有重要意義,因為這樣一來能夠更有效的制約軟件的動態(tài)破譯、安全漏洞和非法復制等問題。
4.1 技術層面的提高
技術層面的提高可以從非法復制的防止開始。現(xiàn)階段我國在保護軟件的過程中還沒有足夠大的力度,開發(fā)商所采取的措施是加密。然而為了追求經(jīng)濟效益,大部分已經(jīng)被破解的軟件仍然沒有停止使用,而它所帶來的危害就是會將多數(shù)捆綁后臺程序進行啟動,來威脅用戶數(shù)據(jù)。這樣一來,相關行業(yè)領域應及時加強技術研究,有效研制出防止非法復制出現(xiàn)的軟件,促使其在對計算機軟件進行充分保護的同時能夠?qū)τ嬎銠C軟件產(chǎn)生較小的威脅。同時也可以從對用戶數(shù)據(jù)進行加強保護的方面入手,加強密鑰的研究[3]。
在對反跟蹤技術進行研究的過程中,由于該技術是對調(diào)試工具進行充分利用,那么就應當研發(fā)相關技術防止該工具被非法利用。現(xiàn)階段計算機的軟件系統(tǒng)當中,都具有一定的結(jié)構(gòu)特點,對于CPU的嚴重依賴,導致一旦該軟件被監(jiān)控,就會泄漏大量的信息,在這種情況下,應及時將該技術中的安全漏洞進行消除,同時對反跟蹤技術進行完善,最大限度的實現(xiàn)對軟件的保護。
4.2 組織管理層面上的提高
計算機軟件防護策略中,國家應充分發(fā)揮管理職能,不僅要構(gòu)建專門的單位或部門,還應當對軟件開發(fā)商進行嚴格的管理,這樣一來,就能夠保證軟件從研發(fā)之日起一直到被使用者進行使用,都能夠受到嚴格的監(jiān)督及管理,從而有效的防止非法復制問題。
相關部門在加強組織管理的過程中,專業(yè)的軟件安全監(jiān)督機構(gòu)的設立是非常必要的,以專題小組的形式進行非法復制和動態(tài)跟蹤,能夠極大的提高打擊力度,同時還應當提高對使用者使用過程的管理,嚴格限制軟件的拷貝和移植等[4]。
4.3 防火墻技術的應用
保護計算機軟件過程中,首要工作內(nèi)容就是對專業(yè)殺毒軟件的應用,同時值得注意的是,另外一個關鍵技術措施就是對防火墻技術的應用。該技術使用者在應用電腦訪問相關網(wǎng)絡時,電腦內(nèi)部網(wǎng)絡有時會受到外部網(wǎng)絡的不正當攻擊,防火墻技術的有效應用,最顯著的效果就是能夠?qū)ν獠烤W(wǎng)絡不必要的攻擊進行預防和阻止,促使電腦中相關軟件免受威脅,從而始終處于正常運行狀態(tài)。可以說系統(tǒng)內(nèi)部是否能夠穩(wěn)定運行是防火墻正常工作的重要內(nèi)容。當電腦內(nèi)部網(wǎng)絡被部分用戶訪問時,防火墻的功能是始終維護自身系統(tǒng)的正常運行;當電腦內(nèi)部網(wǎng)絡被非法訪問時,防火墻的功能是對其進行有效攔截。現(xiàn)階段,世界上研發(fā)出來的防火墻技術具有較高的穩(wěn)定性和可靠性,因此得到了較廣泛的應用,黑客入侵狀況逐漸減少,安全性始終存在于電腦軟件系統(tǒng)網(wǎng)絡當中。
4.4 加強硬件系統(tǒng)安全防護
在維護計算機系統(tǒng)安全的過程中,對其硬件系統(tǒng)進行加強防護具有重要意義。使用者在日常工作和生活中對電腦和網(wǎng)絡的使用,需要記憶硬件系統(tǒng)高度的重視。這是因為,硬件系統(tǒng)一旦發(fā)生安全威脅將會從兩個方面進行,即物理安全和設置安全。前者指的是機柜或交換機等物理設備發(fā)生安全問題,這需要使用者在日常工作中提高管理和維護力度,促使電腦免受外力的影響而發(fā)生破壞;后者指的是有效設置設備,硬件受到外來入侵的幾率就會大大降低。
4.5 數(shù)據(jù)加密技術的應用
在實施計算機軟件安全防護策略的過程中,現(xiàn)階段最后的防御手段就是對數(shù)據(jù)加密技術的充分應用。該技術在使用過程中能夠有效的促使一個網(wǎng)絡系統(tǒng)始終處于安全狀況之下,同時在針對部分重要而機密性的信息和數(shù)據(jù)進行保護時,這一手段也是最有效的方法。要想有效處理這一問題,使用者可以對相關文件進行加密,使用密鑰,文件經(jīng)過加密后,會形成某列無法及時識別的代碼,這樣一來,只有熟知代碼的人員才能夠在輸入密碼以后對其進行訪問,也才能夠清楚的看見文件的真實內(nèi)容。在這種情況下,數(shù)據(jù)加密技術的有效應用能夠?qū)崿F(xiàn)對計算機軟件的有效管理和保護。
5 結(jié)束語
當今時代是信息技術時代,人們在對計算機進行充分運用的過程中應注重對其軟件安全問題的研究,從而提高使用者使用過程中的安全性。現(xiàn)階段軟件安全問題最嚴重的有軟件動態(tài)破譯問題、安全漏洞及非法復制等問題,在對其進行解決的過程中,首先要加強技術研究,通過提高技術水平來對其進行有效控制,還可以提高管理力度,同時防火墻技術、硬件系統(tǒng)的保護及數(shù)據(jù)加密技術的應用都能夠促使計算機軟件得到安全防護,現(xiàn)階段促使相關部門能夠有針對性的對各種問題進行加強解決同樣具有重要意義。
參考文獻
[1]于翔.揚州智能電網(wǎng)信息平臺的安全防護研究[D].華北電力大學,2012.
[2]姚軼敏.校園網(wǎng)不安全信息檢測系統(tǒng)的設計與實現(xiàn)[D].蘇州大學,2010.
[3]吳塍勤.對計算機軟件安全問題的分析及其防御策略[J].電腦編程技巧與維護,2013,2:87-88+109.
[4]陳宏,朱秀娟.計算機軟件安全問題的分析及其防御措施研究[J].河南科技,2014,1:5+15.
[5]張建宏.基于復雜網(wǎng)絡的計算機病毒傳播模型及其并行計算研究[D].國防科學技術大學,2006.
[6]熊雪波.計算機軟件安全問題的分析及其防御措施研究[J].電子技術與軟件工程,2014,22:231.
[7]劉濤.試論對計算機網(wǎng)絡信息和網(wǎng)絡安全及其防護策略[J].信息與電腦(理論版),2012,9:2-3.
[8]張璐.試論計算機網(wǎng)絡應用安全問題與防護策略研究[J].科技致富向?qū)В?011,11:367.
論文摘要:文章論述了軟件開發(fā)生命周期中每個階段添加的一系列關泣安全性的活動,提出將安奮瀏試整合到軟件開發(fā)生命周期中,分析了軟件安全性瀏試片祠試人員的要求,并以一個sql注入實例來具體說明安全性瀏試在軟。
信息網(wǎng)絡安全事件發(fā)生比例的不斷攀升、病毒利用軟件漏洞猖狂地傳播使得人們越發(fā)認識到信息安全的重要性。一般認為,傳統(tǒng)的信息安全技術可以借助防火墻(包括軟件和硬件防火墻)審核通過網(wǎng)絡的報文、限定用戶的訪問權(quán)限等來防止非授權(quán)用戶對重要數(shù)據(jù)的訪問,但是這一觀點是建立在軟件安全基礎上的。網(wǎng)絡應用軟件需要暴露在網(wǎng)絡環(huán)境下,并且授權(quán)外部用戶可以透過網(wǎng)絡來訪問此軟件。通過網(wǎng)絡,攻擊者有機會接觸到軟件,如果軟件本身存在漏洞,那么所有的防火墻就形同虛設。暴露于網(wǎng)絡的應用軟件往往成為被攻擊的目標,是網(wǎng)絡應用軟件安全的重災區(qū)。美國國家標準與技術研究院(nist)2002年的一項研究表明,美國花費在軟件缺陷方面的費用達到595億美元。公安部2008年全國信息網(wǎng)絡安全狀況與計算機病毒疫情調(diào)查分析報b說明,在發(fā)生的安全事件中,未修補或防范軟件漏洞仍然是導致安全事件發(fā)生的最主要原因。
1安全測試的定義
安全測試是鑒別信息系統(tǒng)數(shù)據(jù)保護和功能維護的過程。安全測試需要涵蓋的6個基本安全概念是:保密性、完整性、權(quán)限(身份驗證)、授權(quán)(權(quán)限分配)、可提供性、不可抵賴性陰。軟件開發(fā)商都存在解決安全威脅方古的問題。對軟件開發(fā)商來說,安全性是其核心要求,這是由市場力量所驅(qū)動,也是由保護關鍵基礎結(jié)構(gòu)及建立和保持計算的廣泛信任的需要所決定的。所有軟件開發(fā)商面對的一個主要挑戰(zhàn)就是創(chuàng)建更加安全的軟件,使其不需要頻繁地通過修補程序進行更新。軟件安全已經(jīng)成為評判軟件質(zhì)量的一個重要標準,軟件安全測試則成為保證軟件產(chǎn)品能夠符合這一標準的重要手段。軟件的安全性測試主要是測試在正常和非正常情況下,軟件能否對數(shù)據(jù)進行安全有效的操作。
2軟件開發(fā)生命周期流程(參見圖1)
對于軟件行業(yè)來說,要滿足當今提升安全性的需要,軟件供應商必須轉(zhuǎn)為采用一種更嚴格的、更加關注安全性的軟件開發(fā)流程。這種流程旨在盡量減少設計、編碼和文檔編寫過程中存在的漏洞,并在軟件開發(fā)生命周期中盡可能早地檢測到并消除這些漏洞。用于處理來自internet的輸人、控制可能被攻擊的關鍵系統(tǒng)或處理個人身份信息的企業(yè)和消費者軟件最需要實施這種流程。在很多實際的軟件開發(fā)項目中,安全測試已經(jīng)成為sdl一個不可或缺的組成部分,并成為整個項目過程中的長期任務。黑盒一白盒測試方法往往執(zhí)行在產(chǎn)品遞交客戶之前,但有的甚至在投人使用之后都未進行安全檢測和風險評估;在一些安全性要求較高的項目中,雖然將安全風險評估納人預算,但在實際操作中卻對其并未作過多考慮。這樣,所導致的直接后果是在開發(fā)工作幾近完成的情況下進行問題分析處理所造成的成本將遠遠大于在軟件開發(fā)階段進行缺陷修改的成本。即便是從充分利用現(xiàn)有的有限資金和資源的角度來考慮,也有必要將安全測試囊括到sdl中。這樣做雖然不能取代軟件開發(fā)后期的滲透測試和脆弱性測試,卻可以有效減少后者在施過程中的投人。
開發(fā)人員應該根據(jù)客戶的功能需求來制定相應的安全規(guī)約,利用內(nèi)建的明確的控制機制來降低安全風險。開發(fā)人員可以根據(jù)風險評估的結(jié)果來確定測試項目:軟件能否可靠運行(safety)以及軟件運行結(jié)果是否可靠(security)。
軟件開發(fā)生命周期((sdl)中常用的測試方法有:單元測試、集成測試和驗收測試。
2.1需求、設計階段—安全性分析
在軟件項目的設計過程中,人們往往只是關注系統(tǒng)的特性和功能,而沒有充分考慮其他重要的非功能問題(例如性能、可用性、平臺支持、安全,及要在稍后的軟件開發(fā)生命周期中需要解決的安全性),導致了項目中許多不必要的波動和延遲。由于安全性分析影響了整個的設計和架構(gòu),因此應該在項目設計階段充分地審查和了解它們。
安全性考慮包括一系列問題,例如訪問控制和授權(quán)、敏感數(shù)據(jù)的適當處理、數(shù)據(jù)和存儲器訪問的適當使用,以及加密方法。一些安全性需求不是非功能的需求,如所實施的加密類型。另外,許多安全性需求是更直接地面向用例的,并且需要定義主要場景,以及定義備選路徑和異常路徑。在沒有將功能的和非功能的需求適當?shù)囟x及并人軟件中的情況下,編碼錯誤和設計缺陷會表現(xiàn)出關鍵的信息和操作處于危險。我們應該像對待其他的需求那樣處理安全性需求,并將安全性需求劃分出優(yōu)先級,設定范圍,同時作為整體用例和功能需求的一部分進行管理。
2.2實施階段—單元測試
受測試方式的影響,開發(fā)者對軟件安全風險的評估不可能面面俱到。最典型的就是在代碼設計階段,開發(fā)者可以通過單元測試來檢驗代碼行為,這些結(jié)果都是可以預知的,但是受到范圍的局限,不能測試這些類或者模塊集成后的行為。
實施單元測試可以從軟件基本單位(單個類)的檢測上保證輸人的有效性;在可能出現(xiàn)惡意攻擊的地方,也可以利用這一思想來組織針對單個類或者方法的單元測試,從而組織起軟件內(nèi)部的縱深防御策略,防止惡意行為對軟件安全造成的損害。但是,這一方法將軟件各組件進行強制孤立,因此對于因大量組件交互而引起的軟件缺陷,利用此種方法無法檢測。
單元層的安全測試比較適合于防止緩沖區(qū)溢出,格式化字符串以及數(shù)據(jù)缺失的審核。
2.3驗證階段—集成測試
在集成層,軟件的整體安全屬性變得可見和可測試,使得這一層的可測試屬性數(shù)量相對單元層而言要多得多,但是對于跨站腳本和網(wǎng)絡服務器提供的一些服務(例如安全套接層ssl和url過濾)的測試,存在一定的困難。我們可以將實際案例和風險分析的結(jié)果作為組織集成測試的指南。
集成測試要求測試人員通過安全測試培訓,并且是有熟練技術的軟件開發(fā)人員。
在這一層,我們可以開展諸如注人缺陷驗證、旁路驗證以及訪問控制等方面的安全測試,來源于外部代碼的安全審查結(jié)果也應該以集成測試的方式加以確認。
2.4階段—驗收測試
驗收測試是軟件產(chǎn)品交付客戶之前的最后一個測試階段,是在真實的測試環(huán)境中,利用基于惡意事件的安全檢測模板,測試在典型的滲透活動中可被識別的安全缺陷。驗收測試的這一特性(基于安全檢測模板),使得我們可以借助于強大的自動化測試軟件進行檢測,并且可以用驗收測試的結(jié)果來完善滲透測試報告內(nèi)容,從而有助于開發(fā)人員理解軟件的脆弱性以及針對軟件脆弱性所采取的補救措施是否有效。
驗收測試針對軟件的外部api,因此不如單元測試和集成測試松散,并且只能測試當前已知且暴露的漏洞或者缺陷。非定制的商業(yè)軟件重新設計的關鍵功能或者其他改變都會影響到軟件的整體安全性,因此,如果改變會使得軟件產(chǎn)生不可預知的缺陷,針對這些缺陷的測試就應該在單元層或者集成層開展,而不是在驗收層。
在驗收層,我們可以測試針對解釋性程序(sql, xpath,ldap等)的注人式攻擊、跨站腳本攻擊、跨站請求偽造等。緩沖區(qū)溢出及格式化字符串等軟件缺陷也可以在驗收測試層得到檢測。
3安全測試隊伍
軟件測試一度被認為是編程能力偏低的員工的工作,直到今天,仍然有許多公司把優(yōu)秀的人才安排在編碼工作上,也有更多公司讓優(yōu)秀的人才進行設計,僅有很少公司讓優(yōu)秀的人才進行測試工作。實際的軟件工程實踐證明,讓對軟件思想有深刻理解的工程師進行軟件測試,可以大幅度地提高軟件質(zhì)量軟件供應商還必須認識到組織測試人員進行“安全進修”對安全測試的成功實施至關重要。在這些情況下,軟件供應商必須負責對其工程人員進行適當教育。根據(jù)組織的規(guī)模和可用的資源,擁有大批工程人員的組織可建立一個內(nèi)部計劃對其工程師進行在職安全培訓,而小型組織則可能需要依賴外部培訓。
測試人員要像攻擊者那樣帶有“惡意的”想法去思考,而且在測試軟件時還要扮演攻擊者,攻擊自己的系統(tǒng),以此來幫助發(fā)現(xiàn)軟件的安全漏洞。安全測試并不會總是直接導致安全溢出或者暴露可利用的漏洞,從而引出安全缺陷。要安全測試盡可能地發(fā)揮作用,測試人員需具備較強的分析能力,而這更多的是依靠熟練的開發(fā)技術和開發(fā)經(jīng)驗。
4漏洞舉例:一個sql的注入式漏洞
有幾種情形使得sql注人攻擊成為可能。最常見的原因是,使用拼接形成的sql語句去操作數(shù)據(jù)庫。譬如,傳入用戶輸人的管理員用戶名和密碼,把這2個參數(shù)拼接形成sql語句,通過執(zhí)行該sql語句,以便驗證用戶輸人的管理員用戶名和密碼的正確性。具體過程如下:
一般情況下,用戶傳人正常的用戶名和密碼進行驗證,如傳人“myname”和“mypassword”進行驗證,得到的sql語句將是:
這個sql語句很正常。但是,這只是開發(fā)人員預期的做法:通過管理員用戶名和密碼來驗證賬戶信息。但因為參數(shù)值沒有被正確地加碼,黑客可以很容易地修改查詢字符串的值,以改變sql語句的邏輯。譬如,分別傳人“myname’ ori=1--” , "mypassword",得到的sql語句將是:
在用戶名“myname’ or i=i--”中,第一個“”’結(jié)束了原有字符串中第一個單撇號的配對,"or”后面的“i=i”會導致不管前面的驗證結(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ī)范的加碼訪問方式,問題自然迎刃而解。以下便是修改后的安全驗證方法:
1 計算機軟件漏洞及其現(xiàn)狀
我們常說的計算機軟件漏洞是廣義上的軟件安全漏洞,主要是指在軟件的編寫過程中,容易對整個計算機軟件系統(tǒng)造成安全性方面威脅的缺陷,或者是能夠?qū)φ麄€系統(tǒng)的運行帶來影響的各類因素的總和。由于計算機軟件都是人為編制的,所以都會因為軟件的編制人員在編制軟件過程中的考慮問題不全面帶來安全漏洞,這是每一個計算機系統(tǒng)都存在的問題,所以漏洞的出現(xiàn)是在正常不過了。
但于此同時,計算機軟件存在的漏洞一旦被一些黑客發(fā)現(xiàn),就會成為攻擊的目標和突破口,所以我們在無法避免計算機軟件漏洞的同時,要及時對計算機軟件進行掃描,對發(fā)現(xiàn)的漏洞及時進行修復,這也是評測一個計算機系統(tǒng)安全性能的一個標準。
從當前的情況來看,黑客利用計算機軟件系統(tǒng)的漏洞實施攻擊是當下軟件系統(tǒng)安全時間中最主要發(fā)生的一類,并且,網(wǎng)上一般活躍比較多的都是一些初級黑客,他們在對計算機軟件系統(tǒng)的漏洞進行攻擊是呈現(xiàn)了一定的特點,比如,漏洞遭受攻擊的次數(shù)與漏洞的時間成反比,也就是說,最新的軟件漏洞遭受黑客攻擊的次數(shù)比較多。著也是因為微軟會依據(jù)在系統(tǒng)中檢測中的漏洞進行及時的補丁完善而導致的,時間越長的漏洞,打補丁的用戶會越多。因此,如何能夠快速檢測出聯(lián)網(wǎng)計算機在使用過程中產(chǎn)生的軟件漏洞問題,并且有針對性地進行更新,是我們當前信息安全人員需要開展的重要工作。
2 計算機軟件漏洞檢測常用的技術
針對軟件存在漏洞的問題,信息安全人員也已經(jīng)于漏洞以及黑客打了半個多世紀的交道,因此,在漏洞檢測技術中,也形成了一系列檢測的慣例。如今我們在計算機軟件漏洞的檢測中比較常用的檢測方法主要有一下幾種:
(1)靜態(tài)檢測。靜態(tài)檢測技術就是我們軟件工程師常說的軟件靜態(tài)測試,通過一定的技術直接分析軟件的源代碼,通過對編程源代碼中的語法、語義進行分析,從最基本的邏輯中檢測和去除可能存在的安全隱患或lunwen. 1KEJI AN. COMlunwen. 1KEJI AN. COM提供寫作論文和發(fā)表服務,歡迎您的光臨者說軟件漏洞。目前在靜態(tài)測試過程中主要采取的方法有推斷、數(shù)據(jù)流分析以及約束分析這三類。其中,推斷主要是將同語法類型的源代碼進行總結(jié),有針對性地進行推斷,而數(shù)據(jù)流分析是通過斷點檢測的方法分析源代碼中數(shù)據(jù)的走向,以此來判斷源程序中是否會有安全隱患,約束分析就是在源代碼的一些地方認為增加一些可能發(fā)生的約束條件,看軟件是否會產(chǎn)生存在安全隱患的相應。
靜態(tài)分析雖然能夠最直接地對軟件的安全隱患進行解除和排查,但是并不能完全排查出軟件中存在的漏洞,因此我們還需要尋找其他配合使用的軟件測試方法。
(2)動態(tài)測試。動態(tài)測試不同于靜態(tài)分析,是首先將軟件“跑起來”,在軟件執(zhí)行的情況下對軟件中的變量在特定時間域內(nèi)的數(shù)值變化提取出來進行分析,看其是否符合我們預定的變化軌道,以此來判斷軟件在哪一個環(huán)節(jié)會存在安全。動態(tài)測試中的一種方式是在動態(tài)測試的過程中就進行軟件數(shù)據(jù)信息的收集工作,而另外一種方式是將執(zhí)行過程中的信息做全紀錄,之后再用這些信息進行漏洞模式匹配,查找軟件漏洞。
(3)混合檢測。混合檢測并不是單純地將靜態(tài)檢測和動態(tài)檢測結(jié)合起來形成先靜態(tài)后動態(tài)或者先動態(tài)后靜態(tài)的檢測方法。而是在結(jié)合了二者的內(nèi)容衍生出的檢測方法,兼顧有兩種檢測方法的特點。這其中就包括了測試庫技術、源代碼的改編技術以及異常檢測技術等多種技術。這些技術都是使用在不同需求和不同環(huán)境下的混合軟件漏洞檢測技術。
通過計算機漏洞的檢測技術,讓計算機軟件以及計算機自身的漏洞能夠盡快找出,從而進行軟件的及時漏洞修補與更新,在一定程度上完成對于漏洞的檢測工作。為了讓計算機更好的運行,并且保證期運行的安全性。漏洞檢測技術是必然要進行開發(fā)與研究的,此外要注意對于漏洞的危險性級別的分類。
3 計算機軟件漏洞的修復與更新
漏洞的修復與更新的概念非常廣,不僅包含了我們常說的對計算機軟件進行升級或者安全補丁的修復,我們平時經(jīng)常使用的安裝防火墻、殺毒軟件以及更改一些關鍵部位的安全口令都可以看做是最計算機軟件的漏洞修復與更新。以安裝官方的補丁這種修復方法為例,最早提出對計算機軟件的漏洞進行補丁修復的是微軟公司,在補丁的全生命周期中對補丁的識別、部署以及評估等都需要進行有效的管理,才不會再次成為軟件安全漏洞。在軟件漏洞與修復的管理中主要有以下幾類成熟的管理模型:
(1)微軟補丁管理模型。微軟作為全球計算機系統(tǒng)的寡頭,其推行下的補丁管理模型已經(jīng)逐漸成為其他廠商的標準。微軟的補丁管理從漏洞的識別開始,經(jīng)過計劃階段、測試階段和部署階段。整個流程中通過對計算機漏洞的威脅等級進行評估和識別,在計劃階段拿出補丁的計劃方案并予以實施,再通過植入系統(tǒng)中進行l(wèi)unwen. 1KEJI AN. COMlunwen. 1KEJI AN. COM提供寫作論文和發(fā)表服務,歡迎您的光臨全方位的測試到最終的部署階段。但是后續(xù)一定要對補丁的反饋信息進行及時的梳理和統(tǒng)計。
(2)CNCERT/CC補丁管理流程。這個補丁的管理流程是來自于我國國家計算機網(wǎng)絡應急技術處理協(xié)調(diào)中心的,將補丁管理視為一類特殊的工程管理,也分為事前管理、實施過程的管理以及事后管理三部分。總體來講與微軟的管理模式大同小異,只是在事后管理中采取一定措施來保證計算機軟件系統(tǒng)的穩(wěn)定性。
4 結(jié)語
總之,隨著計算機技術的普及化以及越來越多的計算機軟件方面人才的培養(yǎng),黑客的數(shù)量也會越來越多。因此,計算機軟件的安全性也需要進行更高技術的改革。作為我們的計算機軟件的普通用戶來講,發(fā)現(xiàn)軟件的漏洞是非常正常的,但與此同時,我們也要做好保密工作,不要將漏洞散播出去,而是即使反饋給相應的廠商,讓他們?nèi)プ鱿鄳母鹿ぷ鳎@樣我們才能夠有一個更好的計算機軟件的生存環(huán)境。
參考文獻
屆時,大會將設立 “信息系統(tǒng)整體安全保護的有效途徑”和“電子認證服務的解決之道” 兩個分論壇,并集納各界經(jīng)典名篇、學術成果、研究課題、應用經(jīng)驗,編輯出版《2012中國信息安全技術展望學術論文集》,其中優(yōu)秀論文將擇優(yōu)在《信息安全與技術》雜志(國家級刊物)上刊登,并全文收錄于《中國學術期刊網(wǎng)絡出版總庫》及CNKI系列數(shù)據(jù)庫、《中文核心期刊(遴選)數(shù)據(jù)庫》、《中文科技期刊數(shù)據(jù)庫》。
征文內(nèi)容如下:
1.計算機安全、下一代網(wǎng)絡安全技術;
2.網(wǎng)絡安全與網(wǎng)絡管理、密碼學、軟件安全;
3.信息系統(tǒng)等級安全保護、重要信息系統(tǒng)安全;
4.云計算與云安全、物聯(lián)網(wǎng)的安全;
5.移動互聯(lián)網(wǎng)的安全信息安全保障體系、移動計算平臺安全性研究;
6.信息內(nèi)容安全、通信安全、網(wǎng)絡攻防滲透測試技術;
7.可信計算;
8.關鍵基礎設施安全;
9.系統(tǒng)與網(wǎng)絡協(xié)議安全分析;
10.系統(tǒng)架構(gòu)安全分析;
11.面向業(yè)務應用的整體安全保護方案;
12.信息安全漏洞態(tài)勢研究;
13.新技術新應用信息安全態(tài)勢研究;
14.Web應用安全;
15.計算機系統(tǒng)安全等級保護標準的實施與發(fā)展現(xiàn)狀;
16.國內(nèi)外電子認證服務相關政策與標準研究;
17.電子認證服務最新技術和產(chǎn)品;
18.電子認證服務應用創(chuàng)新;
19.電子認證服務行業(yè)研究和熱點事件解析;
20.可靠電子簽名與數(shù)據(jù)電文的認定程序/技術規(guī)范/應用規(guī)范/應用案例分析;
21.數(shù)字證書交叉認證技術規(guī)范/應用規(guī)范/應用案例分析;
西安電子科技大學(以下簡稱西電科大)是西北地區(qū)最早開設“編譯原理”課程的高校之一,由計算機學院和軟件學院開設的“編譯原理”分別于2003年、2004年被評為校級、省級精品課程,并獲2005年度“教育部-微軟精品課程”建設立項支持。
課程創(chuàng)新點
經(jīng)過長期的教學實踐,西電科大“編譯原理”課程組已建立起了較完整的教學體系,包括年齡結(jié)構(gòu)和知識結(jié)構(gòu)合理的教師隊伍、反映本課程水平的自編教材及先進的教學實踐環(huán)境,其特色和創(chuàng)新點概述如下:
1)堅持教學科研并重,不斷更新教學內(nèi)容
課程組成員堅持教學與科研并重,十幾年來先后主持與承擔國防預研、國防預研基金、橫向科研課題等十余項,發(fā)表學術與教學研究論文20余篇。這些課題所研究內(nèi)容大部分是編譯領域的核心技術,科研成果水平在國內(nèi)高校同行中處于領先地位。豐富的科研積累為教學的實施與改革提供了充足的養(yǎng)分。
課程組能夠?qū)⒖蒲谐晒皶r轉(zhuǎn)化到本課程的教學中,同時不斷更新教學內(nèi)容和教學手段,極大地發(fā)揮了學生的學習熱情和創(chuàng)造性,提高了“編譯原理”課程教學的水平和質(zhì)量。同時,通過科研與教學相結(jié)合,形成了一支學術造詣高、知識與年齡結(jié)構(gòu)合理、勇于改革且團結(jié)協(xié)作的課程梯隊。
2)重視實驗教學研究與改革,培養(yǎng)學生工程實踐能力與素質(zhì)
計算機科學與技術專業(yè)是一個實踐性要求很高的專業(yè),而“編譯原理”是本專業(yè)中對軟件設計實驗環(huán)節(jié)要求更高的課程。“編譯原理”開設了獨立的綜合實驗“函數(shù)繪圖語言解釋器構(gòu)造”,其中的三個實驗子系統(tǒng)“詞法分析器構(gòu)造”、“語法分析器構(gòu)造”、“語法制導翻譯圖形繪制”有機連為一體,反映了“編譯原理”課程的核心技術和實驗水平,充實了理論教學內(nèi)容,培養(yǎng)了學生的工程實踐能力與科研素質(zhì)。
我們還根據(jù)國內(nèi)教學條件的實際情況,在所承擔的科研項目工作基礎上,于1993年自主研制開發(fā)了在微機和DOS/Windows環(huán)境下的詞法分析器生成器XDFLEX和語法分析器生成器XDYACC(它們是與編譯器構(gòu)造領域中最具影響且被廣泛使用的、Unix環(huán)境下的詞法分析器生成器Lex和語法分析器生成器Yacc兼容的軟件,其中XD是我校英文縮寫),當時在國內(nèi)是首創(chuàng)。1996年,我們又對XDFLEX進行了改造,增加了漢字識別的自動生成,并重新命名為XDCFLEX。至此,XDCFLEX/ XDYACC形成了具有中國特色的、教學與科研兼顧的編譯器編寫工具(放在我校網(wǎng)站上供自由下載)。此工具不但提高了我校學生的上機實習水平和“編譯原理”課程實驗室建設的水平,同時也被國內(nèi)多所高校的教師和學生以及研究所的科研人員使用,提高了我校“編譯原理”課程在國內(nèi)的地位。
課程建設的實施辦法
1)明確目標,合理安排。根據(jù)課程組的現(xiàn)有條件,制定合理的建設目標和課程質(zhì)量標準,提出師資隊伍建設規(guī)劃以及教學過程、教學管理和教學改革等方面的基本要求。依靠教師和教學管理人員,明確職責,分級建設,責任到人。
2)樹立課程整體優(yōu)化的觀念。在明確課程建設目標的前提下,解決相關課程之間的配合和銜接問題,推進“模塊課程”或“系列課程”的整體優(yōu)化,將課程建設放在專業(yè)建設和培養(yǎng)模式中進行優(yōu)化設計。
3)重視師資隊伍建設,開展教學改革與研究。課程建設應形成合理、優(yōu)化的專業(yè)教師梯隊,以高層次、高學歷教師為主體,教師隊伍中高、中、初級職稱比例合適,課程負責人具有較高的學術水平和教學水平,課程組有計劃地經(jīng)常開展教研活動,加強對中青年教師的培養(yǎng)。保證每年有一定的教學改革項目或教研項目立項和教學改革成果。
4)加強教材建設,改革教學手段。一方面采用國內(nèi)現(xiàn)有的先進教材和精品教材,另一方面根據(jù)學院自身的現(xiàn)有條件和專業(yè)特點組織教師自編部分具有一定創(chuàng)新性和特色的教材。同時制作、收集和整理電子教材、課件以及教輔材料,逐步形成立體化教材體系。根據(jù)本課程的教學特點,采用多媒體教學,建立教學網(wǎng)站,實現(xiàn)網(wǎng)上教學輔導。
5)建立健全學生評價、教師同行聽課和教學督導組聽課機制,逐步完善教學質(zhì)量監(jiān)控和評估體系,確保和提高課堂教學質(zhì)量和效果。
6)建立有效的激勵機制。對于承擔精品課程建設任務并作出突出貢獻的課程負責人及骨干教師在評獎、評優(yōu)、晉職等方面給予優(yōu)先考慮。
教材介紹
課程組曾經(jīng)選用陳火旺院士的《編譯原理》(國防科技大學出版社)、《編譯原理和技術》,經(jīng)過長期積累,在總結(jié)二十多年教學經(jīng)驗、科研與教學改革成果的基礎上,由劉堅教授主編了《編譯原理基礎》教材。該教材及與其配套的教學輔助指導書《編譯原理基礎-習題與上機題解答》全面體現(xiàn)編譯原理的教學規(guī)律,內(nèi)容新穎先進,獨創(chuàng)性、實用性好,教學適用性強。自2002年出版以來,已發(fā)行萬余冊,被若干高校選用,在相關科研技術人員中亦被廣泛使用。2005年《編譯原理基礎》被評為西安電子科技大學優(yōu)秀教材,同年,榮獲陜西省優(yōu)秀教材二等獎。
課程組教師
目前,“編譯原理”課程組由4名主講和3名專職輔導教師組成。
劉堅:1982年2月起在西安電子科技大學任教,教授。主講本科生“編譯原理”、研究生“編譯原理與技術”等課程,研究方向為計算機軟件理論與技術。主持“Ada軟件開發(fā)平臺技術”、“軟件系統(tǒng)安全故障模式分析”、“軟件安全模式”等課題的研究工作,發(fā)表多篇學術論文。
龔杰民:1973年5月起在西安電子科技大學任教,教授,研究方向為人機交互技術和軟件開發(fā)工具。主講“編譯原理”、“形式語言與自動機理論”、“C程序設計”、“PROLOG程序設計”、“人機交互技術與可靠性工程”等課程。長期從事編譯原理、形式語言與自動機、人機交互技術等課程的教學與研究。發(fā)表教學研究及學術論文多篇,著有《C語言程序設計及其應用》、《標準C語言程序設計及應用》、《人機交互技術及可視化技術》、《人-計算機界面設計》(譯)等。主持的多項科研課題獲得省部級獎勵,其中,“觸摸屏電子筆”獲中國實用新型專利證書,主持的“液晶顯示器和等離子體顯示器的工效研究”課題成果已在日本使用。
方敏:1989年起在西安電子科技大學任教,博士,教授。主講“編譯原理”、“操作系統(tǒng)”、“計算機網(wǎng)絡”等課程,參加“聯(lián)合作戰(zhàn)態(tài)勢評估輔助決策模型研究”、“智能化多源數(shù)據(jù)融合”等課題的研究工作;編著教材“計算機操作系統(tǒng)”(西安電子科技大學出版社,2004);撰寫論文多篇。
張淑平:1995年起在西安電子科技大學任教,在讀博士生,副教授。主講“編譯原理”、“數(shù)據(jù)結(jié)構(gòu)”等課程,西電科大 ACM/ICPC競賽基地教練, 參加“寬帶無線IP網(wǎng)絡安全體系結(jié)構(gòu)”、“基于算法的容忍入侵檢測系統(tǒng)”等科研項目,著有“程序員教程”一書(清華大學出版社,2004),撰寫論文多篇。
張立勇:2001年起在西安電子科技大學任教,在讀博士生,講師。主講“編譯原理”、“分布對象技術”、“算法設計與分析”等課程,參加“計算機軟件安全模式分析”等課題研究,擔任西電科大ACM/ICPC競賽隊教練。
胡圣明:2003年起在西安電子科技大學任教,在讀博士生,講師。輔導“編譯原理”課程,主講“數(shù)據(jù)庫應用技術”課程,參加《編譯原理基礎-習題與上機題解答》的編寫工作。參加“程序理解征挖掘理論與方法的研究”、“面向?qū)ο竽嫦蚬こ坦ぞ哐芯俊薄ⅰ跋到y(tǒng)應用軟件逆向工程工具研究”等科研項目的研究工作,撰寫論文多篇。
王小兵:2004年起在西安電子科技大學任教,在讀博士生,講師。輔導“編譯原理”課程,主講“數(shù)據(jù)庫系統(tǒng)”課程。
論文摘要:走進新世紀,科學技術發(fā)展日新月異,人們迎來一個知識爆炸的信息時代,信息數(shù)據(jù)的傳輸速度更快更便捷,信息數(shù)據(jù)傳輸量也隨之增加,傳輸過程更易出現(xiàn)安全隱患。因此,信息數(shù)據(jù)安全與加密愈加重要,也越來越多的得到人們的重視。首先介紹信息數(shù)據(jù)安全與加密的必要外部條件,即計算機安全和通信安全,在此基礎上,系統(tǒng)闡述信息數(shù)據(jù)的安全與加密技術,主要包括:存儲加密技術和傳輸加密技術;密鑰管理加密技術和確認加密技術;消息摘要和完整性鑒別技術。
當前形勢下,人們進行信息數(shù)據(jù)的傳遞與交流主要面臨著兩個方面的信息安全影響:人為因素和非人為因素。其中人為因素是指:黑客、病毒、木馬、電子欺騙等;非人為因素是指:不可抗力的自然災害如火災、電磁波干擾、或者是計算機硬件故障、部件損壞等。在諸多因素的制約下,如果不對信息數(shù)據(jù)進行必要的加密處理,我們傳遞的信息數(shù)據(jù)就可能泄露,被不法分子獲得,損害我們自身以及他人的根本利益,甚至造成國家安全危害。因此,信息數(shù)據(jù)的安全和加密在當前形勢下對人們的生活來說是必不可少的,通過信息數(shù)據(jù)加密,信息數(shù)據(jù)有了安全保障,人們不必再顧忌信息數(shù)據(jù)的泄露,能夠放心地在網(wǎng)絡上完成便捷的信息數(shù)據(jù)傳遞與交流。
1信息數(shù)據(jù)安全與加密的必要外部條件
1.1計算機安全。每一個計算機網(wǎng)絡用戶都首先把自己的信息數(shù)據(jù)存儲在計算機之中,然后,才進行相互之間的信息數(shù)據(jù)傳遞與交流,有效地保障其信息數(shù)據(jù)的安全必須以保證計算機的安全為前提,計算機安全主要有兩個方面包括:計算機的硬件安全與計算機軟件安全。1)計算機硬件安全技術。保持計算機正常的運轉(zhuǎn),定期檢查是否出現(xiàn)硬件故障,并及時維修處理,在易損器件出現(xiàn)安全問題之前提前更換,保證計算機通電線路安全,提供備用供電系統(tǒng),實時保持線路暢通。2)計算機軟件安全技術。首先,必須有安全可靠的操作系統(tǒng)。作為計算機工作的平臺,操作系統(tǒng)必須具有訪問控制、安全內(nèi)核等安全功能,能夠隨時為計算機新加入軟件進行檢測,如提供windows安全警報等等。其次,計算機殺毒軟件,每一臺計算機要正常的上網(wǎng)與其他用戶交流信息,都必須實時防護計算機病毒的危害,一款好的殺毒軟件可以有效地保護計算機不受病毒的侵害。
1.2通信安全。通信安全是信息數(shù)據(jù)的傳輸?shù)幕緱l件,當傳輸信息數(shù)據(jù)的通信線路存在安全隱患時,信息數(shù)據(jù)就不可能安全的傳遞到指定地點。盡管隨著科學技術的逐步改進,計算機通信網(wǎng)絡得到了進一步完善和改進,但是,信息數(shù)據(jù)仍舊要求有一個安全的通信環(huán)境。主要通過以下技術實現(xiàn)。1)信息加密技術。這是保障信息安全的最基本、最重要、最核心的技術措施。我們一般通過各種各樣的加密算法來進行具體的信息數(shù)據(jù)加密,保護信息數(shù)據(jù)的安全通信。2)信息確認技術。為有效防止信息被非法偽造、篡改和假冒,我們限定信息的共享范圍,就是信息確認技術。通過該技術,發(fā)信者無法抵賴自己發(fā)出的消息;合法的接收者可以驗證他收到的消息是否真實;除合法發(fā)信者外,別人無法偽造消息。3)訪問控制技術。該技術只允許用戶對基本信息庫的訪問,禁止用戶隨意的或者是帶有目的性的刪除、修改或拷貝信息文件。與此同時,系統(tǒng)管理員能夠利用這一技術實時觀察用戶在網(wǎng)絡中的活動,有效的防止黑客的入侵。
2信息數(shù)據(jù)的安全與加密技術
隨著計算機網(wǎng)絡化程度逐步提高,人們對信息數(shù)據(jù)傳遞與交流提出了更高的安全要求,信息數(shù)據(jù)的安全與加密技術應運而生。然而,傳統(tǒng)的安全理念認為網(wǎng)絡內(nèi)部是完全可信任,只有網(wǎng)外不可信任,導致了在信息數(shù)據(jù)安全主要以防火墻、入侵檢測為主,忽視了信息數(shù)據(jù)加密在網(wǎng)絡內(nèi)部的重要性。以下介紹信息數(shù)據(jù)的安全與加密技術。
2.1存儲加密技術和傳輸加密技術。存儲加密技術分為密文存儲和存取控制兩種,其主要目的是防止在信息數(shù)據(jù)存儲過程中信息數(shù)據(jù)泄露。密文存儲主要通過加密算法轉(zhuǎn)換、加密模塊、附加密碼加密等方法實現(xiàn);存取控制則通過審查和限制用戶資格、權(quán)限,辨別用戶的合法性,預防合法用戶越權(quán)存取信息數(shù)據(jù)以及非法用戶存取信息數(shù)據(jù)。
傳輸加密技術分為線路加密和端-端加密兩種,其主要目的是對傳輸中的信息數(shù)據(jù)流進行加密。線路加密主要通過對各線路采用不同的加密密鑰進行線路加密,不考慮信源與信宿的信息安全保護。端-端加密是信息由發(fā)送者端自動加密,并進入TCP/IP信息數(shù)據(jù)包,然后作為不可閱讀和不可識別的信息數(shù)據(jù)穿過互聯(lián)網(wǎng),這些信息一旦到達目的地,將被自動重組、解密,成為可讀信息數(shù)據(jù)。
2.2密鑰管理加密技術和確認加密技術。密鑰管理加密技術是為了信息數(shù)據(jù)使用的方便,信息數(shù)據(jù)加密在許多場合集中表現(xiàn)為密鑰的應用,因此密鑰往往是保密與竊密的主要對象。密鑰的媒體有:磁卡、磁帶、磁盤、半導體存儲器等。密鑰的管理技術包括密鑰的產(chǎn)生、分配、保存、更換與銷毀等各環(huán)節(jié)上的保密措施。網(wǎng)絡信息確認加密技術通過嚴格限定信息的共享范圍來防止信息被非法偽造、篡改和假冒。一個安全的信息確認方案應該能使:合法的接收者能夠驗證他收到的消息是否真實;發(fā)信者無法抵賴自己發(fā)出的消息;除合法發(fā)信者外,別人無法偽造消息;發(fā)生爭執(zhí)時可由第三人仲裁。按照其具體目的,信息確認系統(tǒng)可分為消息確認、身份確認和數(shù)字簽名。數(shù)字簽名是由于公開密鑰和私有密鑰之間存在的數(shù)學關系,使用其中一個密鑰加密的信息數(shù)據(jù)只能用另一個密鑰解開。發(fā)送者用自己的私有密鑰加密信息數(shù)據(jù)傳給接收者,接收者用發(fā)送者的公鑰解開信息數(shù)據(jù)后,就可確定消息來自誰。這就保證了發(fā)送者對所發(fā)信息不能抵賴。
2.3消息摘要和完整性鑒別技術。消息摘要是一個惟一對應一個消息或文本的值,由一個單向Hash加密函數(shù)對消息作用而產(chǎn)生。信息發(fā)送者使用自己的私有密鑰加密摘要,也叫做消息的數(shù)字簽名。消息摘要的接受者能夠通過密鑰解密確定消息發(fā)送者,當消息在途中被改變時,接收者通過對比分析消息新產(chǎn)生的摘要與原摘要的不同,就能夠發(fā)現(xiàn)消息是否中途被改變。所以說,消息摘要保證了消息的完整性。
完整性鑒別技術一般包括口令、密鑰、身份(介入信息傳輸、存取、處理的人員的身份)、信息數(shù)據(jù)等項的鑒別。通常情況下,為達到保密的要求,系統(tǒng)通過對比驗證對象輸入的特征值是否符合預先設定的參數(shù),實現(xiàn)對信息數(shù)據(jù)的安全保護。