軟件安全復(fù)習(xí)題_第1頁
軟件安全復(fù)習(xí)題_第2頁
軟件安全復(fù)習(xí)題_第3頁
軟件安全復(fù)習(xí)題_第4頁
軟件安全復(fù)習(xí)題_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、軟件安全復(fù)習(xí)題、選擇題1、目前對軟件通俗的解釋為(A )B、軟件=程序+方法+規(guī)則A、軟件=程序+數(shù)據(jù)+文檔資料C、軟件=程序+數(shù)據(jù)+方法2、Windows 的三個主要子系統(tǒng)是(A、應(yīng)用系統(tǒng)、數(shù)據(jù)系統(tǒng)、內(nèi)核系統(tǒng)C、 Kernel 、 User 和 APID、軟件=程序+數(shù)據(jù)+規(guī)則D )B 、數(shù)據(jù)庫系統(tǒng)、應(yīng)用程序、系統(tǒng)程序D 、 Kernel 、 User 和 GDI3、安全軟件的核心屬性有(A )A、保密性、完整性、可用性、責(zé)任性、抗抵抗性B、保密性、完整性、可用性、可預(yù)測性、正確性C、保密性、完整性、可用性、可依賴性、可靠性D、保密性、完整性、可用性、復(fù)雜性、可追蹤性4、在安全知識中攻擊模式

2、采用較(C )來描述常見的攻擊程序,這種形式能夠應(yīng)用于 跨越多個系統(tǒng)的情形。A、實例化的形式B、代碼掃描的形式C、抽象的形式D、安全原則至上的形式 5、軟件安全切入點指的是在軟件開發(fā)生命周期中保障軟件安全的一套最佳實際操作方法。 這一套最佳實踐方法包括: ( A )A、代碼審核,體系結(jié)構(gòu)風(fēng)險分析,滲透測試,基于風(fēng)險的安全測試,濫用案例,安全需求 和安全操作。B、代碼審核,體系結(jié)構(gòu)風(fēng)險分析,黑箱測試,基于風(fēng)險的安全測試,濫用案例,安全需求 和安全操作。C、安全原則,體系結(jié)構(gòu)風(fēng)險分析,黑箱測試,基于風(fēng)險的安全測試,濫用案例,安全需求 和安全操作。D、代碼審核,體系結(jié)構(gòu)風(fēng)險分析,fuzz 測試,基于

3、風(fēng)險的安全測試,濫用案例,安全需求 和安全操作。6、描述性知識包括(D )B 、案例、說明、架構(gòu)D 、原則、方針、和規(guī)則。A、實例、檢測和架構(gòu)C、需求描述、安全操作和安全原則7、弱點知識是對真實系統(tǒng)中出現(xiàn)過并報告的軟件(B )的描述A、缺陷B、弱點 C、漏洞 D、風(fēng)險8、 逆向工程是編譯過程的逆過程,即(C )A、從高級語言恢復(fù)機(jī)器碼的結(jié)構(gòu)和語義的過程。B、從匯編碼恢復(fù)到高級語言的結(jié)構(gòu)和語義的過程。C、從機(jī)器碼恢復(fù)高級語言的結(jié)構(gòu)和語義的過程。D、從高級語言的結(jié)構(gòu)和語義恢復(fù)到系統(tǒng)編碼的過程。9、 診斷性知識: 攻擊模式、攻擊程序和弱點。診斷性知識不僅包括關(guān)于實踐的描述性陳述,其更重要的目標(biāo)是幫助

4、操作人員識別和處理導(dǎo)致 ( B)的常見問題。A、病毒感染B、安全攻擊C、系統(tǒng)風(fēng)險D、缺陷10、下面對病毒描述正確的是 ( A )。A、病毒(virus)是一種人為制造的、能夠進(jìn)行自我復(fù)制的、具有對計算機(jī)資源的破壞作用的 一組程序和指令的集合。HOST ,病B、病毒與生物病毒不一樣,沒有其自身的病毒體(病毒程序)和寄生體(宿主 毒載體,攜帶者) 。C、所謂感染或寄生,是指病毒將自身嵌入到非宿主指令序列中。D、寄生體為病毒提供一種生存環(huán)境,不是一種合法程序。二、填空題1、一般將 方法、工具和過程 成為軟件工程的三要素2、軟件工程以質(zhì)量為關(guān)注焦點,全面( 質(zhì)量管理 )及相關(guān)的現(xiàn)代管理理念為軟件工程奠

5、 定強有力的根基。3、軟件保證 是計劃和系統(tǒng)行動集合來確保軟件過程和產(chǎn)品符合需求,標(biāo)準(zhǔn)和規(guī)程以達(dá)到如 下兩個目標(biāo): 可信性和執(zhí)行的( 可預(yù)見性 )。4、軟件可靠性工程的研究范圍主要是: 軟件可靠性定量評測、 軟件可靠性的 ( 設(shè)計與管理 )、 軟件可靠性保證技術(shù)。5、調(diào)試器可以讓軟件開發(fā)人員在程序運行的同時觀察程序的運行過程和狀態(tài)。它的兩個基 本功能是:( 設(shè)置斷點 )和代碼跟蹤。6 、 Windows 提 供 兩 個 發(fā) 送 消 息 的 函 數(shù) PostMessage() 和 SendMessage() , 其 中 函 數(shù) ( PostMessage() )是將消息發(fā)出去就返回,不管該消息是

6、否被處理了。7、 根據(jù)漏洞出現(xiàn)的階段,軟件安全漏洞可分為兩大類:設(shè)計漏洞和(實現(xiàn)漏洞 )。8、 木馬實施網(wǎng)絡(luò)入侵的基本步驟:( 配置木馬 )、傳播木馬、運行木馬、信息反饋、建立 連接、遠(yuǎn)程控制。9、 網(wǎng)頁惡意腳本程序利用 .asp、 .html 、 .vbs、 .js 類型的文件進(jìn)行傳播的基于 VB Script 和 Java Script ( 腳本語言 )并由 Windows Scripting Host 解釋執(zhí)行的一類惡意程序。10、 安全軟件開發(fā)的體系安全需要考慮(威脅建模 )、安全風(fēng)險分析、安全風(fēng)險管理三個 方面。三、判斷題1、軟件保證關(guān)系到兩個軟件屬性:一個是質(zhì)量,也就是說軟件保證是

7、軟件質(zhì)量保障的簡短形式,另一個屬性是可靠性,特別是可靠性中最重要的內(nèi)容安全。( 正確 )2、軟件容錯性是指軟件運行時,能對非正常因素引起的運行錯誤給出適當(dāng)?shù)靥幚砘蛐畔⑻?示,使軟件運行正常結(jié)束。 ( 正確 )3、 對寄存器的解釋: 處理器用于存儲信息的地方。所有處理器都在寄存器上完成操作。 ( 正 確)4、在 big-edian 系統(tǒng)上,最重要的位的字節(jié)首先被存儲。 ( 正確 )5、反匯編器可以將二進(jìn)制代碼作為輸入、生成包含整個或部分程序的匯編語言代碼的文本 文件的程序。 ( 正確 )6、反編譯器接收可執(zhí)行的二進(jìn)制文件,試圖從中生成可讀性好的高級語言代碼。其思想是逆向編譯的過程,以獲取最初的源

8、代碼文件或與接近于最初源代碼的文件。( 正確 )7、 修補工具是指可以修改二進(jìn)制可執(zhí)行代碼以改變其行為的過程。( 正確 )8、如果處理器將多字節(jié)中最不重要的字節(jié)存儲在低端地址,將最重要的字節(jié)存儲在高端地 址內(nèi),就是 little-endian 方式。反之,是 big-endian 方式。( 正確 )9、 每個進(jìn)程的虛擬內(nèi)存被分為內(nèi)核地址空間和用戶地址空間。( 正確 )10、分割型蛀穴病毒( fractionated cavity )是蛀穴病毒的一個變形,即病毒代碼被分割成一 個裝入例程和 N 個片斷,這些片斷位于包含閑散空間的節(jié)中。 ( 正確 )11、在白箱測試中, 對于測試人員來說, 所有關(guān)

9、于被測試的系統(tǒng)的信息都是已知的。 (正確 )12、 黑箱測試又叫功能測試, 它主要關(guān)注的是被測試軟件功能的實現(xiàn),而不是內(nèi)部邏輯。(正 確)13、 灰箱測試是指在安全測試期間,一起使用白箱和黑箱兩種測試技術(shù)。(正確)14、 滲透測試是從攻擊的角度測試軟件系統(tǒng)是否安全,其價值在于可以測試軟件發(fā)布到實際 系統(tǒng)中的安全狀況。( 正確)15、 數(shù)字水印技術(shù)用信號處理的方法在數(shù)字化的多媒體數(shù)據(jù)中嵌入隱蔽的標(biāo)記,這種標(biāo)記通常是不可見的,只有通過專用的檢測器或閱讀器才能提取。(正確 )16、 從技術(shù)角度來講,可信的”未必意味著對用戶而言是 值得信賴的”。(正確)四、簡答題1、軟件安全是指采取工程的方法使得軟件

10、在敵對攻擊的情況下仍能夠繼續(xù)正常工作。即采用系統(tǒng)化、規(guī)范化、和數(shù)量化的方法來指導(dǎo)構(gòu)建安全的軟件。2、軟件工程它是一門研究如何使用系統(tǒng)化、規(guī)范化、數(shù)量化等工程原則和方法去進(jìn)行軟件的開發(fā)和維 護(hù)的學(xué)科。軟件工程采用工程的概念、原理、技術(shù)和方法來開發(fā)維護(hù)軟件,把經(jīng)過時間考驗而證明正確的管理方法和最先進(jìn)的軟件開發(fā)技術(shù)結(jié)合起來,應(yīng)用到軟件開發(fā)和維護(hù)過程中,來解決軟件危機(jī)問題,生產(chǎn)出無故障的、及時交付的、在預(yù)算之內(nèi)的和滿足用戶需求的軟件。3、軟件缺陷產(chǎn)生的主要原因:需求規(guī)格說明書包含錯誤的需求、或漏掉一些需求,和沒有準(zhǔn)確表達(dá)客戶所需要的內(nèi)容。_需求規(guī)格說明書中有些功能不可能或無法實現(xiàn);系統(tǒng)設(shè)計中的不合理性

11、;_程序設(shè)計中的錯誤;程序代碼中的問題,包括錯誤的算法、復(fù)雜的邏輯等。從外部看,軟件缺陷是系統(tǒng)所需要 實現(xiàn)的某種功能的失效或違背。4、棧溢出的原因及危害其產(chǎn)生的原因是輸入數(shù)據(jù)時,由于沒有進(jìn)行邊界檢查,導(dǎo)致輸入的數(shù)據(jù)的數(shù)量超過了堆棧預(yù) 留的存儲空間,最終覆蓋了堆棧中的返回地址, 如果覆蓋返回地址的是一個攻擊程序的地址, 則導(dǎo)致去執(zhí)行這個惡意程序。5、堆溢出原理和棧溢出是一樣的,即堆的空間無法容量用戶輸入的數(shù)據(jù),導(dǎo)致數(shù)據(jù)重寫了 堆塊后的地址空間。_通常,堆采用鏈表的形式組織數(shù)據(jù),在塊數(shù)據(jù)之前或之后存在指向前一個和后一個堆塊的指針。這樣,超過堆塊末尾的地址空間上寫入數(shù)據(jù)或者攻擊代碼的入口地址將會破壞

12、個鏈表。_當(dāng)堆管理器遍歷鏈表時就會引起程序崩潰或者執(zhí)行攻擊代碼。由于堆塊的大小總是動態(tài)計算的,故堆溢出比堆棧溢出要困難一些。6、惡意軟件及其分類惡意軟件大致分為兩類,該分類是從主機(jī)依賴的角度進(jìn)行的分類(見圖4.1):_依賴主機(jī)程序的惡意軟件和獨立主機(jī)的惡意軟件。前者不能獨立于應(yīng)用程序或系統(tǒng)程序, 即存在宿主文件,必須依賴宿主的運行而啟動,包括病毒、木馬、后門、邏輯炸彈等;后者是能在操作系統(tǒng)上運行的、獨立的程序,包括蠕蟲、細(xì)菌、拒絕服務(wù)攻擊程序等。7、簡答病毒的檢測方法比較法:比較法是用原始的或者正常的內(nèi)容與被檢測的進(jìn)行比較。校驗和法:計算正常文件的內(nèi)容的校驗和,并將該校驗和寫入文件中保存。掃描

13、法:掃描法是根據(jù)每一種病毒含有的特征字符串,對被檢測的對象進(jìn)行掃描。 行為監(jiān)測法:利用病毒的特有行為特性監(jiān)測病毒的方法稱為行為監(jiān)測法。感染實驗法:感染實驗是一種簡單實用的檢測方法,該方法可以檢測出病毒檢測工具不認(rèn)識的新病毒,擺脫對病毒檢測工具的依賴,自主的檢測可疑的新病毒。軟件模擬法多態(tài)型病毒每次感染都改變其病毒密碼,對付這種病毒時特征代碼法會失效。分析法:搞清楚病毒體的大致結(jié)構(gòu),提取特征識別用的字符串或者特征字,用于增添到病毒代碼庫供病毒掃描和識別程序使用。其它高級方法:啟發(fā)式代碼掃描技術(shù)。8、木馬是一種惡意程序,是一種基于遠(yuǎn)程控制的攻擊工具,它一旦入侵用戶的計算機(jī),就悄悄地在宿主計算機(jī)上運

14、行,在用戶毫無覺察的情況下,讓攻擊者獲得遠(yuǎn)程訪問和控制系統(tǒng)的權(quán)限,進(jìn)而在用戶的計算機(jī)中修改文件、修改注冊表、控制鼠標(biāo)、監(jiān)視/控制鍵盤,或竊取用戶信息,乃至實施遠(yuǎn)程控制。它是攻擊者的主要攻擊手段之一,具有隱蔽性和非授權(quán)性等特點。9、木馬的結(jié)構(gòu)系統(tǒng)通常采用服務(wù)器,客戶端結(jié)構(gòu)。即分為服務(wù)端和客戶端。通常功能上由木馬配置程序、 控制程序和木馬程序三個部分組成。木馬程序:木馬程序也稱為服務(wù)器程序,駐留在受害者的系統(tǒng)中,非法獲取其操作權(quán)限, 負(fù)責(zé)接收控制指令,并根據(jù)指令或配置發(fā)送數(shù)據(jù)給控制端。木馬配置程序:木馬配置程序設(shè)置木馬程序的端口號、觸發(fā)條件、木馬名稱等,使其在服 務(wù)器端隱藏得更隱蔽。_控制程序:控

15、制程序控制遠(yuǎn)程木馬服務(wù)器,統(tǒng)稱為控制端程序,負(fù)責(zé)配置服務(wù)器、給服務(wù) 器發(fā)送指令。10、STRIDE威脅模型欺騙標(biāo)識(Spoofing),典型的例子是使用其他用戶的認(rèn)證信息進(jìn)行非法訪問。篡改數(shù)據(jù)(Tampering),在未授權(quán)的情況下惡意地修改數(shù)據(jù)。這種修改可以是在數(shù)據(jù)庫中保 存的數(shù)據(jù),也可能是在網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)。_可抵賴(Repudiation),用戶從事一項非法操作,但該用戶拒絕承認(rèn),且沒有方法可以證明 她是在抵賴。_信息泄漏(Information disclosure):信息暴露給不允許對它訪問的人。例如用戶讀到?jīng)]有給她賦予訪問權(quán)限的文件的內(nèi)容,信息在網(wǎng)絡(luò)中傳遞時內(nèi)容被泄密。_拒絕服務(wù)(

16、Denial of service)拒絕對正當(dāng)用戶的服務(wù)。_權(quán)限提升(Elevation of privilege) 一個沒有特權(quán)的用戶獲得訪問特權(quán),從而有足夠的權(quán)限作 出摧毀整個系統(tǒng)的事情。11、軟件安全原則(1) 使最薄弱的環(huán)節(jié)安全(Securing the Weakest Link )(2) 縱深防御(Defense in Depth )(3) 安全地錯誤退出(Failing Securely )最小權(quán)限原則(Least Privilege)(5)權(quán)限分離(Separation of Privilege )保護(hù)機(jī)制的經(jīng)濟(jì)性(Economy of Mechanism)(7) 最小共性原則(

17、 Least Common Mechanism )(8) 勉強信任原則( Reluctance to Trust )(9) 不要認(rèn)為你的秘密是安全的( Never Assuming that your Secrets are Safe )(10) 完全仲裁( Complete Mediation )(11) 心理接受能力( Psychological Acceptability )(12) 保護(hù)隱私( Promoting Privacy )12、安全測試的基本步驟1. 使用所有你具備的資源,列出應(yīng)用程序的輸入或 “攻擊面 ”2. 建立威脅模型,將程序組件從高風(fēng)險到低風(fēng)險排序3. 通過“故障注入

18、 ”,使用常見的 “攻擊模式 ”去攻擊應(yīng)用程序的 “攻擊面”。攻擊首先從程序 的最高風(fēng)險部分開始4. 審查系統(tǒng),查找常見的 “安全設(shè)計錯誤 ”五、綜合題1、什么是前置病毒( jprepending virus ),如何修復(fù)前置病毒感染的文件? 答案:把病毒的代碼插入到宿主程序的前面,這些代碼通常采用高級語言如C、Pascal 等實現(xiàn),通常在磁盤上創(chuàng)建一個包含原文件內(nèi)容的臨時文件,然后用 system 這樣的函數(shù)執(zhí)行臨 時文件中原來的程序。前置病毒的變種為典型寄生病毒。 這種病毒用自身的代碼重寫宿主頂部的數(shù)據(jù), 并把宿主頂部的這些數(shù)據(jù)存放在宿主程序的最 后,長度通常等于病毒體的長度。因此,修復(fù)工作只需要把文件從末尾向前的 N 個字節(jié)拷 貝到文件頭部, 然后再文件大小為 Filesize-N 的地方把文件截斷, 這里 N 是病毒代碼的長度。 第一個寄生病毒是 Virdem 。2、惡意代碼分析過程的具體步驟? 第一步是對可疑對象進(jìn)行快速檢查。第二步工作是用一個或一組反病毒掃描

溫馨提示

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

評論

0/150

提交評論