軟件安全技術課件:軟件安全概述_第1頁
軟件安全技術課件:軟件安全概述_第2頁
軟件安全技術課件:軟件安全概述_第3頁
軟件安全技術課件:軟件安全概述_第4頁
軟件安全技術課件:軟件安全概述_第5頁
已閱讀5頁,還剩47頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

軟件安全概述本講要點1.為什么對軟件安全必須給與強烈關注?2.軟件面臨哪些安全威脅?3.如何理解軟件安全的概念?4.軟件安全研究什么?如何研究?1.為什么對軟件安全必須給與強烈關注?(1)軟件的定義國家標準GB/T11457—2006《信息技術軟件工程術語》給出的軟件定義是:計算機程序、規則和可能相關的文檔。美國電氣和電子工程師協會(IEEE)1990發布的《軟件工程術語標準詞匯表》(StandardGlossaryofSoftwareEngineeringTerminology)給出的軟件定義是:“Computerprograms,procedures,andpossiblyassociateddocumentationanddatapertainingtotheoperationofacomputersystem”。1.為什么對軟件安全必須給與強烈關注?以上兩個標準文檔都認為,軟件是程序、數據和文檔的集合體。程序是完成特定功能和滿足性能要求的指令序列;數據是程序運行的基礎和操作的對象;文檔是與程序開發、維護和使用有關的圖文資料。1.為什么對軟件安全必須給與強烈關注?(2)軟件無處不在現在是一個信息化的時代,每時每刻都有無數的軟件系統在運行著。軟件己融入我們日常生活的方方面面,已經成為國家和社會關鍵基礎設施的重要組成部分。1.為什么對軟件安全必須給與強烈關注?(3)軟件規模日益龐大隨著軟件應用范圍日益廣泛,軟件規模也大幅增加。1.為什么對軟件安全必須給與強烈關注?(4)軟件漏洞普遍存在,零日漏洞成為主要安全威脅辯證唯物論的認識論和辯證唯物論的知行統一觀告訴我們,人對于客觀世界的認識是有局限性的,人對于客觀世界的認識過程是螺旋上升的。軟件是人們為了實現解決生產生活實際問題而開發的某種完成特定功能的計算機程序,因而必然存在缺陷或漏洞。軟件漏洞是普遍存在的,系統軟件、應用軟件和第三方軟件,它們在開發、部署和應用中的問題層出不窮。1.為什么對軟件安全必須給與強烈關注?微軟定期發布的《安全情報報告SIR》會及時披露微軟和其他第三方軟件的漏洞情況和對安全的影響:

補天漏洞平臺:

暗網軟件漏洞交易黑市:

知道創宇《2018上半年暗網研究報告》1.為什么對軟件安全必須給與強烈關注?惡意軟件作為網絡戰武器對國家關鍵基礎設施乃至整個國家的巨大破壞力。攻擊者為了能夠有效達到竊取數據、破壞系統的目的,可以通過挖掘或是購買零日漏洞,開發針對零日漏洞的攻擊工具實施攻擊。零日漏洞是指未被公開披露的軟件漏洞,沒有給軟件的作者或廠商以時間去為漏洞打補丁或是給出建議解決方案,從而攻擊者能夠利用這種漏洞破壞計算機程序、數據及設備。注意,零日漏洞并不是指軟件發布后被立刻發現的漏洞。1.為什么對軟件安全必須給與強烈關注?利用零日漏洞開發攻擊工具進行的攻擊稱為零日攻擊。零日攻擊針對的漏洞由于軟件廠商還沒有發現或是還未及提供相應的補丁,所以零日攻擊的成功率高,造成的破壞大。從日常黑客攻擊到軍事領域的對抗,從震網病毒到棱鏡門事件,信息空間的幾乎所有攻防對抗都是以軟件安全問題為焦點展開的。1.為什么對軟件安全必須給與強烈關注?描述零日漏洞和零日攻擊的書籍和影片2014年,美國自由撰稿人金·澤特(KimZetter)出版了CountdowntoZeroDay:StuxnetandtheLaunchoftheWorld'sFirstDigitalWeapon(《零日攻擊:震網病毒全揭秘》)該書是目前關于震網病毒入侵伊朗核設施事件最為全面和權威的讀物,也為人們揭開了零日漏洞攻擊的神秘面紗。1.為什么對軟件安全必須給與強烈關注?描述零日漏洞和零日攻擊的書籍和影片2016年,美國導演亞歷克斯·吉布尼(AlexGibney)執導的紀錄片ZeroDays(《零日》)講述了震網病毒攻擊伊朗核設施的故事,揭露了網絡武器的巨大危險性。1.為什么對軟件安全必須給與強烈關注?(5)軟件安全應當引起重視,應當成為當務之急,甚至成為國家的一項競爭優勢錯誤認識一:應對安全威脅的主要手段是密碼技術,是添置邊界防護等各種安全設備。是什么真正引發了當今世界大多數的信息安全問題?有人會回答,是黑客的存在。那么黑客和網絡犯罪分子的主要目標是什么?有人會回答,是重要的信息資產,是各類敏感數據。這樣的回答看起來不錯,但是再往深處想一想,黑客是如何實現盜取重要信息資產的?黑客成功實施攻擊的途徑是什么?那就是發現、挖掘和利用信息系統的漏洞。1.為什么對軟件安全必須給與強烈關注?錯誤認識二:不值得在關注軟件安全,降低糟糕的軟件開發、集成和部署帶來的風險上花費成本。開發出安全漏洞盡可能少的軟件應當是軟件開發者或者說是軟件廠商追求的目標。我們不僅要把軟件做得更好而且要更安全,同時,根據現實世界的經驗,必須保證該解決方案具有較好的成本效益、操作相關性和可行性以及投資的可行性。1.為什么對軟件安全必須給與強烈關注?軟件已經滲透到社會、經濟與國防建設的方方面面,是信息時代所依賴的重要技術與手段,其安全直接關系到國計民生與國家安全,因此,軟件安全關乎到國家競爭力。安全漏洞是軟件產生安全問題的根源,漏洞發現是軟件安全的基礎工作,軟件安全體系的建立是以漏洞為核心展開的,對漏洞的掌控能力是衡量一個國家信息安全水平的重要因素。1.為什么對軟件安全必須給與強烈關注?(6)軟件安全之路事實上,軟件安全開發的最佳實踐是采用從軟件開發之初就不允許漏洞發生的方式,在軟件開發的各個環節盡可能消除漏洞,這不僅使得軟件及其用戶更安全,關鍵基礎設施更具彈性,還將節省軟件企業的開發成本。100%安全的軟件和系統是不存在的,軟件產品存在漏洞是當前信息安全領域而臨的最大困境。由于漏洞的產生、利用以及相互作用的機理復雜,因此,如何有效減少系統漏洞數量,提高信息系統整體安全性成為當前亟待解決的挑戰性問題。2.軟件面臨哪些安全威脅?本書將軟件面臨的安全威脅分為3大類:軟件自身的安全(軟件漏洞)、惡意代碼以及軟件侵權。本節將概要介紹這3類威脅,后續第2~4部分將分別介紹針對這3類威脅的解決方案。2.軟件面臨哪些安全威脅?(1)軟件漏洞軟件漏洞通常被認為是軟件生命周期中與安全相關的設計錯誤、編碼缺陷及運行故障等。本書中并不對軟件漏洞/脆弱點、軟件缺陷以及軟件錯誤等概念嚴格區分。一方面,軟件漏洞可能會造成軟件在運行過程中出現錯誤結果或運行不穩定、崩潰等現象,甚至引起死機等情況。2.軟件面臨哪些安全威脅?另一方面,軟件漏洞會被黑客發現、利用,進而實施竊取隱私信息、甚至破壞系統等攻擊行為。2.軟件面臨哪些安全威脅?(2)惡意代碼惡意代碼(MaliciousSoftware,Malware)是在未被授權的情況下,以破壞軟硬件設備、竊取用戶信息、干擾用戶正常使用、擾亂用戶心理為目的而編制的軟件或代碼片段。定義指出,惡意代碼是軟件或代碼片段,其實現方式可以有多種,如二進制執行文件、腳本語言代碼、宏代碼或是寄生在其他代碼或啟動扇區中的一段指令。2.軟件面臨哪些安全威脅?惡意代碼包括:計算機病毒(ComputerVirus)蠕蟲(Worm)特洛伊木馬(TrojanHorse)后門(BackDoor)內核套件(Rootkit)間諜軟件(Spyware)惡意腳本(MaliceScript)惡意廣告(DishonestAdware)流氓軟件(Crimeware)邏輯炸彈(LogicBomb)僵尸網絡(Botnet)網絡釣魚(Phishing)、垃圾信息(Spam)等惡意的或令人討厭的軟件及代碼片段。近幾年危害甚廣的勒索軟件(Ransomware)也屬于惡意代碼范疇。2.軟件面臨哪些安全威脅?(3)軟件侵權主要指侵犯版權(著作權),常見軟件侵權行為:未經軟件著作權人許可,發表、登記、修改、翻譯其軟件;將他人軟件作為自己的軟件發表或者登記,在他人軟件上署名或者更改他人軟件上的署名;未經合作者許可,將與他人合作開發的軟件作為自己單獨完成的軟件發表或者登記;復制或者部分復制著作權人的軟件;向公眾發行、出租、通過信息網絡傳播著作權人的軟件;故意避開或者破壞著作權人為保護其軟件著作權而采取的技術措施;故意刪除或者改變軟件權利管理電子信息;轉讓或者許可他人行使著作權人的軟件著作權。3.如何理解軟件安全的概念?(1)軟件安全的一些定義國家標準GB/T30998—2014《信息技術軟件安全保障規范》給出的軟件安全(SoftwareSafety)的定義是:軟件工程與軟件保障的一個方面,它提供一種系統的方法來標識、分析和追蹤對危害以及具有危害性的功能(例如數據和命令)的軟件緩解措施與控制。3.如何理解軟件安全的概念?國內外大多數軟件安全標準中,軟件安全用的是SoftwareSafety,而非SoftwareSecurity。本書認為,safety側重于對無意造成的事故或事件進行安全保護,可以是加強人員培訓,規范操作流程,完善設計等方面的安全防護工作。而security則側重于對人為地有意地破壞進行的保障和保護,比如部署專門安全設備進行防護,加強安全檢測等。對于軟件安全,既要考慮軟件系統中開發人員無意的錯誤,又要考慮人為地故意地針對軟件系統的滲透和破壞,因此,本書不對SoftwareSafety和SoftwareSecurity進行區分。3.如何理解軟件安全的概念?(2)用信息安全的基本屬性理解軟件安全1)保密性(Confidentiality)對誰保?信息安全中的保密性,也稱為機密性,是指信息僅被合法的實體(如用戶、進程等)訪問,而不被泄漏給未授權實體的特性。3.如何理解軟件安全的概念?保什么?這里所指的信息不但包括國家秘密,而且包括各種社會團體、企業組織的工作秘密及商業秘密,個人的秘密和個人隱私(如瀏覽習慣、購物習慣等)。保密性還包括保護數據的存在性,有時候存在性比數據本身更能暴露信息。特別要說明的是,對計算機的進程、中央處理器、存儲、打印設備的使用也必須實施嚴格的保密措施,以避免產生電磁泄露等安全問題。3.如何理解軟件安全的概念?GB/T16260.1—2006/ISO/IEC9126—1:2001《軟件工程產品質量第1部分:質量模型》中,軟件的保密性被定義為“軟件產品保護信息和數據的能力,以使未授權人員或系統不能閱讀或修改這些信息和數據,而不拒絕授權人員或系統對它們的訪問”。GB/T18492—2001《信息技術系統及軟件完整性級別》中,軟件的保密性被定義為“對系統各項的保護,使其免于受到偶然的或惡意的訪問、使用、更改、破壞及泄露。”這些定義的缺陷?3.如何理解軟件安全的概念?實現保密性的方法一般是通過物理隔離,信息加密,或是訪問控制(對信息劃分密級并為用戶分配訪問權限,系統根據用戶的身份權限控制對不同密級信息的訪問)等。3.如何理解軟件安全的概念?2)完整性(Integrity)信息安全中的完整性是指,信息在存儲、傳輸或處理等過程中不被未授權、未預期或無意地篡改、銷毀等破壞的特性。不僅僅要考慮數據的完整性,還要考慮操作系統的完整性,即保證系統以無害的方式按照預定的功能運行,不被有意的或者意外的非法操作所破壞。可以將軟件完整性理解為軟件產品能夠按照預期的功能運行,不受任何有意的或者無意的非法錯誤所破壞的軟件安全屬性。3.如何理解軟件安全的概念?實現完整性的方法一般分為預防和檢測兩種機制。預防機制通過阻止任何未經授權的方法來改寫數據的企圖,如加密、訪問控制,以確保數據的完整性。檢測機制并不試圖阻止完整性的破壞,而是通過分析數據本身或是用戶、系統的行為來發現數據的完整性是否遭受破壞,如數字簽名、哈希(Hash)值計算等。3.如何理解軟件安全的概念?3)可用性(Availability)信息安全中的可用性是指,信息、信息系統資源和系統服務可被合法實體訪問并按要求使用的特性。例如,對信息資源和系統服務的拒絕服務攻擊就屬于對可用性的破壞。可用性被定義為保證授權實體在需要時可以正常地訪問和使用系統信息的屬性(ISO13335-1《信息安全管理指南》)。為了實現可用性可以采取備份與災難恢復、應急響應、系統容侵等許多安全措施。3.如何理解軟件安全的概念?對于安全性要求較高的軟件系統,除了應具備以上介紹的三大基本屬性CIA以外,還應當考慮多種安全屬性:可認證性授權可審計性抗抵賴性可控性可存活性等。3.如何理解軟件安全的概念?信息安全的可認證性,又稱為真實性,是指能夠對信息的發送實體和接收實體的真實身份,以及信息的內容進行鑒別(Authentication)的特性。可認證性可以防止冒充、重放、欺騙等攻擊。軟件是訪問內部網絡、系統與數據庫的渠道,因此對于內部敏感信息的訪問必須得到批準。認證就是解決這一問題的信息安全概念,它通過驗證身份信息來保證訪問主體與所聲稱的身份唯一對應。實現可認證性的方法主要有數字簽名、哈希函數以及基于口令的身份認證、生物特征認證、生物行為認證以及多因素認證技術。3.如何理解軟件安全的概念?信息安全中的授權是指,在信息訪問主體與客體之間介入的一種安全機制,該機制根據訪問主體的身份和職能為其分配一定的權限,訪問主體只能在權限范圍內合法訪問客體。軟件系統中,實體通過認證驗證了實體的真實身份并不意味著該實體可以被授予訪問請求的資源的所有訪問權限。例如,普通員工能夠登錄公司賬戶,但是不能夠訪問人力資源的工資數據,因為沒有相應的權限或優先權。實現授權的基礎是訪問控制模型,如數據庫系統中常采用的基于角色的訪問控制模型。3.如何理解軟件安全的概念?信息安全的可審計性是指,確保一個實體(包括合法實體和實施攻擊的實體)的行為可以被唯一地區別、跟蹤和記錄,從而能對出現的安全問題提供調查依據和手段。審計內容主要包括誰(用戶、進程等實體)在哪里在什么時間做了什么。軟件安全中,審計(Audit)是指根據公認的標準和指導規范,對軟件從計劃、研發、實施到運行維護各個環節進行審查評價,對軟件及其業務應用的完整性、效能、效率、安全性進行監測、評估和控制的過程,以確認預定的業務目標得以實現,并提出一系列改進建議的管理活動。3.如何理解軟件安全的概念?審計是一種威懾控制措施,對于審計的預知可以潛在地威懾用戶不執行未授權的動作。不過,審計也是一種被動的檢測控制措施,因為審計只能確定實體的行為歷史,也不能阻止實體實施攻擊。3.如何理解軟件安全的概念?信息安全的抗抵賴性,也稱為不可否認性,是指信息的發送者無法否認已發出的信息或信息的部分內容,信息的接收者無法否認已經接收的信息或信息的部分內容。軟件安全中,抗抵賴性解決的是用戶或者軟件系統對于已有動作的否認問題。例如,當價格發生變動時,如果軟件能夠記錄假冒的動作變化以及施加動作的用戶身份,就可以給個人一個否認或者拒絕動作的機會,由此保證抗抵賴性的實現。實現不可抵賴性的措施主要有:數字簽名、可信第三方認證技術等,可審計性也是有效實現抗抵賴性的基礎。3.如何理解軟件安全的概念?信息安全的可控性是指,對于信息安全風險的控制能力,即通過一系列措施,對信息系統安全風險進行事前識別、預測,并通過一定的手段來防范、化解風險,以減少遭受損失的可能性。軟件的可控性是一種系統性的風險控制概念,涉及對軟件系統的認證授權和監控管理,確保實體(用戶、進程等)身份的真實性,確保內容的安全和合法,確保系統狀態可被授權方所控制。管理機構可以通過信息監控、審計、過濾等手段對系統活動、信息的內容及傳播進行監管和控制。3.如何理解軟件安全的概念?信息安全的可存活性是指,計算機系統在面對各種攻擊或錯誤的情況下繼續提供核心的服務,而且能夠及時地恢復全部服務的能力。軟件作為信息系統的重要組成,可存活性是一個融合信息安全和業務風險管理的新課題,它的焦點不僅是對抗網絡入侵者,還要保證在各種網絡攻擊的情況下業務目標得以實現,關鍵的業務功能得以保持。實現可存活性的措施主要有:系統容侵、災備與恢復等。3.如何理解軟件安全的概念?(3)軟件安全相關概念辨析軟件工程軟件危機軟件質量和軟件質量保證軟件保障軟件可靠性應用軟件系統安全可信軟件軟件定義安全4.軟件安全研究什么?如何研究?網絡空間安全的概念信息安全已經進入網絡空間安全階段,這已成為共識。網絡空間的安全問題得到世界各國的普遍重視。網絡空間(Cyberspace)不再只包含傳統互聯網所依托的各類電子設備,還包含了重要的基礎設施以及各類應用和數據信息,人也是構成網絡空間的一個重要元素。網絡空間安全(CyberSecurity)不僅關注傳統信息安全研究的信息的保密性、完整性和可用性,同時還關注構成網絡空間的基礎設施的安全和可信,以及網絡對現實社會安全的影響。4.軟件安全研究什么?如何研究?信息保障的概念信息保障與之前的信息保密、網絡信息安全等階段的概念相比,它的層次更高、涉及面更廣、解決問題更多、提供的安全保障更全面,它通常是一個戰略級的信息防護概念。組織可以遵循信息保障的思想建立一種有效的、經濟的信息安全防護體系和方法。4.軟件安全研究什么?如何研究?其核心思想是“縱深防護戰略(Defense-in-Depth)”,它采用層次化的、多樣性的安全措施來保障用戶信息及信息系統的安全人、技術和操作是3個核心因素,包括了主機、網絡、系統邊界和支撐性基礎設施等多個網絡環節之中,如何實現保護(Protection)、檢測(Detection)、響應(Reaction)和恢復(Restore)有機結合的動態技術體系,這就是所謂的PDRR(或稱PDR2)模型。4.軟件安全研究什么?如何研究?軟件安全是信息安全保障的重要內容軟件在網絡空間信息系統的運行、危險控制以及關鍵安全功能實現等方面正發揮著越來越重要的作用,成為系統安全保障、避免重大人員傷亡和財產損失的一個重要環節。信息安全保障的目標,主要是確保信息及信息系統的機密性、完整性、可用性、可核查性、真實性、抗抵賴性等,包括信息系統的保護、檢測和恢復能力,以降低信息系統的脆弱性,減少風險。降低系統脆弱性的最有效方法就是漏洞分析,因此,漏洞分析是信息安全保障的基礎,在信息安全保障中占據核心地位。4.軟件安全研究什么?如何研究?漏洞是引發信息安全事件產生的根源,軟件漏洞尤其如此。惡意代碼通常也是針對漏洞而編寫出來的,軟件侵權的成功往往跟軟件漏洞也有密切的關系。因此,軟件安全防護圍繞漏洞消除展開。將安全保障措施置于軟件發布運行之時:采用多種檢測、分析、挖掘技術對安全錯誤或是安全漏洞進行發現、分析、評價,然后采取多種安全控制措施進行錯誤修復和風險控制,如傳統的打補丁、防病毒、防火墻、入侵檢測、應急響應等。該方法在時間和經濟上投入產出比低,信息系統的安全狀況很難得到有效改善。4.軟件安全研究什么?如何研究?分析軟件安全錯誤發生的原因,將安全錯誤的修正嵌入到軟件開發生命周期的整個階段。通過對需求分析、設計、實現、測試、發布,以及運維等各階段相關的軟件安全錯誤的分析與控制,以期大大減少軟件產品的漏洞數量,使軟件產品的安全性得到有效提高。該方法是將安全保障的實施開始于軟件發布之前,尤其強調從軟件生命周期的早期階段開始安全考慮,從而減少軟件生命周期的后期系統運行過程中安全運維的工作量,提高安全保障效果。從系統開發需求階段就引入安全要素要比在系統維護階段才考慮安全問題所花費的錯誤修復成本要低很多。4.軟件安全研究什么?如何研究?軟件安全防護的主要技術(1)軟件安全屬性的認知本書將保密性、完整性、可用性、認證

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論