綜合項(xiàng)目應(yīng)用系統(tǒng)開發(fā)安全管理標(biāo)準(zhǔn)規(guī)范_第1頁
綜合項(xiàng)目應(yīng)用系統(tǒng)開發(fā)安全管理標(biāo)準(zhǔn)規(guī)范_第2頁
綜合項(xiàng)目應(yīng)用系統(tǒng)開發(fā)安全管理標(biāo)準(zhǔn)規(guī)范_第3頁
綜合項(xiàng)目應(yīng)用系統(tǒng)開發(fā)安全管理標(biāo)準(zhǔn)規(guī)范_第4頁
綜合項(xiàng)目應(yīng)用系統(tǒng)開發(fā)安全管理標(biāo)準(zhǔn)規(guī)范_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

文檔編號(hào):項(xiàng)目應(yīng)用開發(fā)等級(jí)保護(hù)規(guī)范

密級(jí):項(xiàng)目?jī)?nèi)部

項(xiàng)目應(yīng)用系統(tǒng)開發(fā)安全管理規(guī)范

(信息系統(tǒng)等級(jí)保護(hù)三級(jí))

二。二四年九月

編號(hào)應(yīng)用開發(fā)等級(jí)保護(hù)規(guī)范

密級(jí)項(xiàng)目?jī)?nèi)部

階段項(xiàng)目設(shè)計(jì)階段

頁數(shù)_______________

代號(hào)_________________________________

名稱______

建設(shè)單位―

承建單位

會(huì)簽編寫_____________________________

■■校對(duì)_____________________________

--審核_____________________________

二標(biāo)審_____________________________

::批準(zhǔn)______________________________

相關(guān)本文檔

戈明:類型一創(chuàng)建(C)、修改(U)、刪除(D)、增加(A);

第4章系統(tǒng)開發(fā)階段安全規(guī)范.....................................錯(cuò)誤味定義書簽。

4.1系統(tǒng)開發(fā)語言...............................................錯(cuò)誤!未定義書簽。

4.1.1通用規(guī)范................................................錯(cuò)誤!未定義書簽。

4.1.2Perl語言.................................................錯(cuò)誤!未定義書簽。

4.1.3Java語言................................................錯(cuò)誤!未定義書簽。

4.1.4C/C++語言................................................錯(cuò)誤!未定義書簽。

4.2系統(tǒng)開發(fā)安全相關(guān)工具管理...................................錯(cuò)誤!未定義書簽。

4.2.1工具「Pscan..........................................................18

4.2.2工具二:FLAWFINDER.........................................................18

4.3控制軟件代碼程序庫(kù).........................................錯(cuò)誤!未定義書簽。

4.3.1管理運(yùn)作程序庫(kù)..........................................錯(cuò)誤!未定義書簽。

4.3.2管理源程序庫(kù)............................................錯(cuò)誤!未定義書簽。

4.4在軟件開發(fā)過程變更管理.....................................錯(cuò)誤!未定義書簽。

4.5開發(fā)版本管理...............................................錯(cuò)誤!未定義書簽。

4.5.1控制程序清單............................................錯(cuò)誤!未定義書簽。

4.5.2版本升級(jí)控制............................................錯(cuò)誤!未定義書簽。

4.5.3版本變更控制............................................錯(cuò)誤!未定義書簽。

4.6開發(fā)日志審核管理...........................................錯(cuò)誤!未定義書簽。

4.6.1開發(fā)H志定時(shí)審計(jì)........................................錯(cuò)誤!未定義書簽。

4.6.2開發(fā)人員權(quán)限定時(shí)審計(jì)....................................錯(cuò)誤!未定義書簽。

4.7防御后門代碼或隱藏通道.....................................錯(cuò)誤!未定義書簽。

4.7.1后門代碼和隱藏通道介紹..................................錯(cuò)誤!未定義書簽。

4.7.2防御后門代碼和隱藏通道相關(guān)措施...........................錯(cuò)誤!未定義書簽。

第5章系統(tǒng)測(cè)試階段安全規(guī)范.....................................錯(cuò)誤味定義書簽。

5.1應(yīng)用系統(tǒng)安全性檢測(cè).........................................錯(cuò)誤!未定義書簽。

5.1.1設(shè)計(jì)具體測(cè)試計(jì)劃、測(cè)試范圍、測(cè)試方法和測(cè)試工具..........錯(cuò)誤!未定義書簽。

5.1.2測(cè)試種類................................................錯(cuò)誤!未定義書簽。

5.1.3在測(cè)試過程中具體描述每個(gè)和測(cè)試方案相關(guān)測(cè)試步驟和測(cè)試數(shù)據(jù)錯(cuò)誤!未定義書簽。

5.2控制測(cè)試環(huán)境...............................................錯(cuò)誤!未定義書簽。

5.3為測(cè)試使用真實(shí)數(shù)據(jù).........................................錯(cuò)誤!未定義書簽。

5.4在軟件轉(zhuǎn)移至生產(chǎn)環(huán)境前進(jìn)行測(cè)試.............................錯(cuò)誤!未定義書簽。

5.5應(yīng)用系統(tǒng)安全質(zhì)量判定.......................................錯(cuò)誤!未定義書簽。

第6章系統(tǒng)培訓(xùn)及文檔階段安全規(guī)范..............................錯(cuò)誤!未定義書簽。

6.1新系統(tǒng)培訓(xùn).................................................錯(cuò)誤!未定義書簽。

6.2撰寫新系統(tǒng)和系統(tǒng)改善文檔...................................錯(cuò)誤!未定義書簽。

第7章應(yīng)用系統(tǒng)開發(fā)外包安全控制.................................錯(cuò)誤味定義書簽。

第8章附錄......................................................錯(cuò)誤味定義書簽。

8.1參考文件...................................................錯(cuò)誤!未定義書簽。

8.2本規(guī)范用詞說明.............................................錯(cuò)誤!未定義書簽。

8.2.1為便于在實(shí)施不規(guī)范條文時(shí)區(qū)分對(duì)待,對(duì)要求嚴(yán)格程度不一樣用詞說明以卜.:.……32

8.2.2條文中指定應(yīng)成其它相關(guān)標(biāo)準(zhǔn)、規(guī)范實(shí)施時(shí),寫法為“應(yīng)符合……要求”

或“應(yīng)按……要求(或要求)實(shí)施"。32

第1章概述

1.1信息系統(tǒng)很多安全控制或其它安全性確保是經(jīng)過系統(tǒng)開發(fā)設(shè)計(jì)給予實(shí)現(xiàn)。所

以假如在系統(tǒng)開發(fā)設(shè)計(jì)階段沒有對(duì)系統(tǒng)安全性給充足考慮,那么系統(tǒng)本身

一定會(huì)存在很多先天不足,系統(tǒng)就會(huì)漏洞百出。為確保應(yīng)用系統(tǒng)安全,在應(yīng)

用系統(tǒng)開發(fā)之前就應(yīng)確定系統(tǒng)安全需求,并以此作為開發(fā)設(shè)計(jì)階段基礎(chǔ)。

1.2本規(guī)范關(guān)鍵要求了在系統(tǒng)開發(fā)各個(gè)階段所應(yīng)遵守多種安全規(guī)范,從需求分

析開始,到設(shè)計(jì),再到開發(fā)和維護(hù)和最終文檔等系統(tǒng)開發(fā)各個(gè)階段分別進(jìn)

行敘述,并將在不一樣階段中所需要注意安全問題和相關(guān)安全規(guī)范進(jìn)行深

入描述和要求。

1.3目標(biāo)

14保護(hù)應(yīng)用系統(tǒng)開發(fā)過程安全。具體地說就是保護(hù)應(yīng)用系統(tǒng)開發(fā)過

程免受未經(jīng)授權(quán)訪問和更改,保護(hù)系統(tǒng)開發(fā)中系統(tǒng)軟件和信息

安全,確保開發(fā)項(xiàng)目順利正確實(shí)施并對(duì)開發(fā)環(huán)境進(jìn)行嚴(yán)格控制。

同時(shí)確保應(yīng)用系統(tǒng)開發(fā)外包中各項(xiàng)安全。

1.5適用范圍

1.6本套規(guī)范適用范圍包含了整個(gè)應(yīng)用系統(tǒng)開發(fā)過程中安全。包含了系統(tǒng)開發(fā)可

行性和需求分析階段安全,系統(tǒng)設(shè)計(jì)階段安全,系統(tǒng)開發(fā)階段安全,系統(tǒng)

測(cè)試階段安全,系統(tǒng)培訓(xùn)和文檔階段安全和系統(tǒng)開發(fā)外包安全規(guī)范。

1.7關(guān)鍵要求了應(yīng)用系統(tǒng)開發(fā)過程安全保密,軟件質(zhì)量要求,系統(tǒng)和

業(yè)務(wù)需求符合性,確保敏感信息安全,系統(tǒng)本身穩(wěn)定性和兼容性

問題。

1.8規(guī)范引用文件或標(biāo)準(zhǔn)

下列文件中條款經(jīng)過本標(biāo)準(zhǔn)引用而成為本標(biāo)準(zhǔn)條款。通常不注日期引

用文件,其最新版本適適用于本標(biāo)準(zhǔn)。

>GB17859-1999計(jì)算機(jī)信息系統(tǒng)安全保護(hù)等級(jí)劃分準(zhǔn)則

>GB/T9387-1995信息處理系統(tǒng)開放系統(tǒng)互連基礎(chǔ)參考模型

(IS07498:1989)

>GA/T391-計(jì)算機(jī)信息系統(tǒng)安全等級(jí)保護(hù)管理要求

>ISO/IECTR13355信息技術(shù)安全管理指南

>NIST信息安全系列一一美國(guó)國(guó)家標(biāo)準(zhǔn)技大院

>英國(guó)國(guó)家信息安全標(biāo)準(zhǔn)BS7799

>信息安全基礎(chǔ)保護(hù)ITBaselineProtectionManual(Germany)

>BearingPointConsulting內(nèi)部信息安全標(biāo)準(zhǔn)

>RUSecure安全技術(shù)標(biāo)準(zhǔn)

>信息系統(tǒng)安全教授叢書CertificateInformationSystemsSecurity

Professional

1.9術(shù)語和定義

>訪問控制accesscontrol一個(gè)安全確保手段,即信息系統(tǒng)資源只能由被

授權(quán)實(shí)體按授權(quán)方法進(jìn)行訪問,預(yù)防對(duì)資源未授權(quán)使用。

>應(yīng)用系統(tǒng)applicationsystem

A認(rèn).authentication.驗(yàn)證用戶、設(shè)備和其它實(shí)體身份.b.驗(yàn)證數(shù)據(jù)完整性。

>授權(quán)authorization給權(quán)利,包含信息資源訪問權(quán)授予。

>可用性availability數(shù)據(jù)或資源特征,被授權(quán)實(shí)體按要求能立即訪問和使

用數(shù)據(jù)或資源。

>緩沖器溢出bufferoverflow指經(jīng)過往程序緩沖區(qū)寫超出其長(zhǎng)度內(nèi)容,造

成緩沖區(qū)溢出,從而破壞程序堆棧,使程序轉(zhuǎn)而實(shí)施其它指令,以達(dá)成攻擊目

標(biāo)。

>保密性confidentiality數(shù)據(jù)所含有特征,即表示數(shù)據(jù)所達(dá)成未提供或未

泄露給未授權(quán)個(gè)人、過程或其它實(shí)體程度。

>隱藏通道covertchannel可用來根據(jù)違反安全策略方法傳送!數(shù)據(jù)傳輸

信道。

>完整性integrity在預(yù)防非授權(quán)用戶修改或使用資源和預(yù)防授權(quán)用戶不正

確地修改或使用資源情況下,信息系統(tǒng)中數(shù)據(jù)和在原文檔中相同,并未遭受偶然

或惡意修改或破壞時(shí)所具性質(zhì)。

>敏感信息sensitiveinformation由權(quán)威機(jī)構(gòu)確定必需受保護(hù)信息,因?yàn)?/p>

該信息泄露、修改、破壞或丟失全部會(huì)對(duì)人或事產(chǎn)生可預(yù)知損害。

>系統(tǒng)測(cè)試systemtesting用于確定系統(tǒng)安全特征按設(shè)計(jì)要求實(shí)現(xiàn)過程。

這一過程包含現(xiàn)場(chǎng)功效測(cè)試、滲透測(cè)試和驗(yàn)證。

>后門代碼trapdoor通常為測(cè)試或查找故障而設(shè)置一個(gè)隱藏軟件或硬件

機(jī)制,它能避開計(jì)算機(jī)安全。而且它能在很規(guī)時(shí)間點(diǎn)或無需常規(guī)檢驗(yàn)情況下進(jìn)入

程序。

>特洛伊木馬Trojanhorse一個(gè)表面無害程序,它包含惡性邏輯程序,造

成未授權(quán)地搜集、偽造或破壞數(shù)據(jù),以此破壞計(jì)算機(jī)安全和完整性進(jìn)程。

>驗(yàn)證verification將某一活動(dòng)、處理過程或產(chǎn)品和對(duì)應(yīng)要求或規(guī)范相比

較。

1.10例:將某一規(guī)范和安全策略模型相比較,或?qū)⒛繕?biāo)代碼和源代

碼相比較。

1.11壓力測(cè)試于確定系統(tǒng)微弱步驟,確定系統(tǒng)在非正常條件下能夠

快速恢復(fù)到正常運(yùn)行狀態(tài)能力。

1.12應(yīng)用系統(tǒng)開發(fā)總體標(biāo)準(zhǔn)

>應(yīng)用系統(tǒng)開發(fā)應(yīng)遵照一系列總體標(biāo)準(zhǔn),以確保開發(fā)過程中安全。其中包

含:

>系統(tǒng)開發(fā)應(yīng)從業(yè)務(wù)需求角度出發(fā),不得盲目追求系統(tǒng)優(yōu)異性而忽略了系

統(tǒng)實(shí)用性。系統(tǒng)開發(fā)是為了愈加好地滿足業(yè)務(wù)上需要,而不是技術(shù)上需要。

>開發(fā)方法和管理必需規(guī)范化、合理化、制度化,從而確保開發(fā)質(zhì)量和進(jìn)

度。

>應(yīng)確保開發(fā)進(jìn)度并按時(shí)完成。確保開發(fā)工作立即、有效且高質(zhì)量完成。

>系統(tǒng)開發(fā)必需含有一定前瞻性,符合主流系統(tǒng)發(fā)展方向。

>提升和加強(qiáng)開發(fā)人員安全意識(shí)。確保機(jī)密信息和關(guān)鍵技術(shù)不會(huì)泄漏,尤

其是不可泄漏到競(jìng)爭(zhēng)店手手中,不然將會(huì)對(duì)企業(yè)競(jìng)爭(zhēng)力產(chǎn)生極大影響。

>應(yīng)充足利用現(xiàn)有資源。

第2章系統(tǒng)需求搜集和分析階段

2.1可行性研究分析

對(duì)于應(yīng)用系統(tǒng)開發(fā)項(xiàng)目應(yīng)進(jìn)行一定可行性分析,以確保只有在確定含有了

相當(dāng)資源和條件?,而且有能力滿足業(yè)務(wù)上需求情況下才能開展開發(fā)工作。切忌盲

目開發(fā),不然既浪費(fèi)資源,又浪費(fèi)時(shí)間。

2.1.1可行性研究宜從技術(shù)、需求面、投入和影響四個(gè)方面進(jìn)行考慮:

2.1.2技術(shù)可行性分析

>依據(jù)業(yè)務(wù)上提出需求,從技術(shù)開發(fā)角度分析現(xiàn)有技術(shù)手段和技術(shù)能力是

否能夠?qū)崿F(xiàn).業(yè)務(wù)上所要求系統(tǒng)功效。通??蓮囊韵氯齻€(gè)方面進(jìn)行分析:

>人員技術(shù)能力分析?,指企業(yè)內(nèi)系統(tǒng)開發(fā)隊(duì)伍或外包第三方開發(fā)企業(yè)是否

含有足夠技術(shù)和管理能力來完成系統(tǒng)開發(fā)任務(wù)。

2.1.3計(jì)算機(jī)軟件和硬件分析,指企業(yè)現(xiàn)有軟件和硬件性能是否足夠

滿足開發(fā)對(duì)應(yīng)系統(tǒng)要求。

2.1.4管理能力分析,指現(xiàn)有技術(shù)開發(fā)管理制度和管理步驟是否成熟

且標(biāo)準(zhǔn)化,是否滿足系統(tǒng)開發(fā)要求。

2.1.5需求可行性分析

2.1.6系統(tǒng)開提議源于業(yè)務(wù)上需求,所以需要對(duì)該需求進(jìn)行可行性分

析,以判定需求是否明確,是否符合實(shí)際,是否在一定時(shí)間范

圍內(nèi)能夠?qū)崿F(xiàn)。

2.1.7投資可行性分析

2.1.8依據(jù)業(yè)務(wù)需求和技術(shù)手段分析,確定實(shí)現(xiàn)系統(tǒng)開發(fā)所需投資,

并確定投資數(shù)額是否在可控制和可承受范圍內(nèi)。

2.1.9影響可行性分析

2.2所謂影響是指社會(huì)影響,比如系統(tǒng)開發(fā)是否符正當(dāng)律法規(guī)上要求,

是否和相關(guān)管理制度或行業(yè)標(biāo)準(zhǔn)相抵觸,是否符合人文或道德

上約束等。

2.3開發(fā)人員安全管理

2.3.1系統(tǒng)開發(fā)人員職責(zé)分配

>在系統(tǒng)開發(fā)過程中,應(yīng)明確不一樣人員身份和職責(zé)。在系統(tǒng)開發(fā)過程中

具體可分以下三種角色:

2.3.2項(xiàng)目責(zé)任人員:確保在整個(gè)系統(tǒng)開發(fā)各個(gè)階段全部實(shí)施了相關(guān)

安全方法,同時(shí)在整個(gè)系統(tǒng)開發(fā)過程中負(fù)責(zé)整個(gè)項(xiàng)目標(biāo)開發(fā)安

全管理。

2.3.3系統(tǒng)開發(fā)人員:依據(jù)業(yè)務(wù)需求確保開發(fā)系統(tǒng)能夠滿足業(yè)務(wù)上需

求和對(duì)應(yīng)安全上需求,同時(shí)滿足系統(tǒng)質(zhì)量上和進(jìn)度上要求。

2.34系統(tǒng)審核人員:對(duì)整個(gè)開發(fā)過程進(jìn)行審核和監(jiān)督,確保開發(fā)質(zhì)

量和開發(fā)安全。

2.3.5開發(fā)人員授權(quán)

>應(yīng)依據(jù)該職員在整個(gè)開發(fā)項(xiàng)目中所負(fù)責(zé)開發(fā)內(nèi)容授予其對(duì)應(yīng)權(quán)限和所應(yīng)

負(fù)擔(dān)責(zé)任。

>開發(fā)人員必需負(fù)責(zé)其開發(fā)內(nèi)容保密性,不得私自將開發(fā)相關(guān)信息泄漏出

去,即使對(duì)家人或開發(fā)團(tuán)體中其它開發(fā)人員也不得泄漏。但開發(fā)人員有責(zé)任將開

發(fā)相關(guān)信息告訴項(xiàng)目標(biāo)責(zé)任人員或開發(fā)小組責(zé)任人員。

>以書面方法將職員權(quán)限和對(duì)應(yīng)責(zé)任提交給職員本人。必需嚴(yán)格要求在為

企業(yè)工作期間,全部和工作相關(guān)開發(fā)結(jié)果所屬權(quán)全部歸企業(yè)全部。

>應(yīng)依據(jù)職員權(quán)限和責(zé)任大小確定是否需要簽署相關(guān)保密協(xié)議。

>應(yīng)在日常工作中統(tǒng)計(jì)職員和開發(fā)相關(guān)日志信息。

>職員一旦離職或調(diào)動(dòng)崗位應(yīng)立即收回或調(diào)整其對(duì)應(yīng)權(quán)限。

2.3.6開發(fā)人員必需訓(xùn)練開發(fā)安全代碼能力

>在整個(gè)開發(fā)過程中必需完整連續(xù)地進(jìn)行代碼錯(cuò)誤處理所要求步驟。

>錯(cuò)誤問題匯報(bào)應(yīng)努力爭(zhēng)取通俗易懂,不應(yīng)在其中包含任何系統(tǒng)細(xì)節(jié)問

題。

>應(yīng)對(duì)關(guān)鍵敏感信息進(jìn)行加密保護(hù)。

>應(yīng)使用部分相對(duì)復(fù)雜加密和密鑰生成機(jī)制。

>應(yīng)單獨(dú)編寫安全性設(shè)計(jì)說明概要

2.3.7分離系統(tǒng)開發(fā)和運(yùn)作維護(hù)

管理層必需確保應(yīng)用系統(tǒng)開發(fā)和運(yùn)作管理從組織人事和權(quán)限職責(zé)上分開。

>信息技術(shù)人員能夠現(xiàn)場(chǎng)修復(fù)或更改偶然或惡意數(shù)據(jù)和軟件問題。

2.4測(cè)試代碼中往往包含調(diào)試或查錯(cuò)代碼,大大增加了主機(jī)系統(tǒng)性能

負(fù)擔(dān)。

2.5開發(fā)人員不應(yīng)含有很高權(quán)限,不然將在系統(tǒng)運(yùn)行中產(chǎn)生很大風(fēng)

險(xiǎn)。

2.6建立系統(tǒng)開發(fā)安全需求分析匯報(bào)

>安全需求計(jì)劃應(yīng)能夠達(dá)成期望安全水平。其中包含了成本預(yù)估,完成各

個(gè)安全相關(guān)步驟所需時(shí)間。

>全部相關(guān)應(yīng)用系統(tǒng)更新或改善全部必需基于業(yè)務(wù)需求,并有業(yè)務(wù)事件支

持。這里業(yè)務(wù)需求不僅僅包含了系統(tǒng)功效、性能、開發(fā)費(fèi)用、開發(fā)周期等內(nèi)容,應(yīng)

明確系統(tǒng)安全要求。應(yīng)用系統(tǒng)任何一次改善或更新全部應(yīng)和該業(yè)務(wù)系統(tǒng)全部省親

密相關(guān)。

>開發(fā)安全需求分析計(jì)劃應(yīng)由開發(fā)項(xiàng)目經(jīng)理和企業(yè)內(nèi)部安全小組共同商議

決定。

>應(yīng)確保每一個(gè)應(yīng)用系統(tǒng)用戶全部意識(shí)到系統(tǒng)更新或改善全部和其本身親

密相關(guān),全部更新或改動(dòng)提議全部必需基于業(yè)務(wù)需求,而不是基于所謂“信息技

術(shù)要求”。

第3章系統(tǒng)每一次更新或改善全部必需認(rèn)真對(duì)待,必需進(jìn)

行具體需求定義、需求分析和測(cè)試評(píng)定,以確保不會(huì)對(duì)業(yè)

務(wù)造成任何不良影響。

第4章業(yè)務(wù)需求是系統(tǒng)更新和改動(dòng)基礎(chǔ),所以必需清楚明

確地定義業(yè)務(wù)需求,嚴(yán)禁在業(yè)務(wù)需求未經(jīng)業(yè)務(wù)部門領(lǐng)導(dǎo)

和關(guān)鍵責(zé)任人員認(rèn)可情況下,盲目地進(jìn)行開發(fā)工作。

第5章系統(tǒng)設(shè)計(jì)階段安全規(guī)范

5.1單點(diǎn)訪問控制且無后門

5.2任何用戶假如期望訪問應(yīng)用系統(tǒng)中某一部分,則必需經(jīng)過統(tǒng)一且

唯一認(rèn)證授權(quán)方法及步驟c

5.3人員職責(zé)和權(quán)限定義

54因?yàn)椴皇侨咳藛T對(duì)于某一個(gè)應(yīng)用系統(tǒng)全部含有一樣訪問或使用

權(quán)限,所以系統(tǒng)必需含有基于人員職責(zé)用戶授權(quán)管理,以確保每

個(gè)用戶能夠訪問到其權(quán)限范圍內(nèi)應(yīng)用系統(tǒng)部分。同時(shí)應(yīng)確保每

個(gè)用戶無法訪問其權(quán)限范圍以外應(yīng)用系統(tǒng)部分。

5.5確保敏感系統(tǒng)安全性

5.6將應(yīng)用系統(tǒng)中敏感信息保留在服務(wù)器端以進(jìn)行集中加密安全管理,

確保用戶端系統(tǒng)本身并不能存放任何敏感數(shù)據(jù)。

5.7確保訪問層安全性

5.8應(yīng)用系統(tǒng)不僅僅要確保系統(tǒng)模塊本身安全性,同時(shí)還應(yīng)考慮模塊

和模塊之間通訊安全性。這種模塊和模塊之間通訊安全性不僅

僅包含了應(yīng)用系統(tǒng)內(nèi)部模塊之間通訊安全,也包含了應(yīng)用系統(tǒng)

內(nèi)部模塊和外部模塊之間通訊安全性,如主機(jī)和用戶端之間通

訊安全性、服務(wù)器和服務(wù)器間通訊安全性,和當(dāng)?shù)叵到y(tǒng)和異地系

統(tǒng)之間通訊安全性。

5.9確保日志管理機(jī)制健全

5.10應(yīng)建立可依據(jù)情況自由設(shè)置日志管理機(jī)制,也就是說日志統(tǒng)計(jì)

范圍和具體程度能夠依據(jù)需求自行定制,且能夠?qū)崿F(xiàn)在應(yīng)用系

統(tǒng)使用過程中進(jìn)行日志定制和統(tǒng)計(jì)。保留全部和系統(tǒng)開發(fā)相關(guān)

程序庫(kù)更新審核統(tǒng)計(jì)。

5.11新系統(tǒng)容量計(jì)劃

>容量計(jì)劃是指確定系統(tǒng)總體規(guī)模、性能和系統(tǒng)彈性。容量計(jì)劃具體內(nèi)容

可能有所不一樣,但通常應(yīng)考慮以下方面:

>系統(tǒng)預(yù)期存放容量和在給定周期中獲取生成和存放數(shù)據(jù)量。

>在線進(jìn)程數(shù)量和估量可能占用資料

>系統(tǒng)和網(wǎng)絡(luò)響應(yīng)時(shí)間和性能,即端對(duì)端系統(tǒng)

>系統(tǒng)彈性要求和設(shè)計(jì)使用率(峰值,槽值和平均值等)

>安全方法如加密解密數(shù)據(jù)對(duì)系統(tǒng)影響。

>24x7運(yùn)作要求和可接收系統(tǒng)宕機(jī)次數(shù)(維護(hù)或設(shè)備更新造成必需性宕

機(jī))

第6章計(jì)劃容量時(shí)候相關(guān)系統(tǒng)使用信息了解越多越好。最近,

因?yàn)榛ヂ?lián)網(wǎng)站使用以指數(shù)形式增加,容量計(jì)劃變動(dòng)效果

不是很顯著,有時(shí)甚至毫無用處。原因在于極難估量實(shí)際

負(fù)載。在容量估量時(shí)候應(yīng)盡可能將情況設(shè)想得復(fù)雜部分。

第7章系統(tǒng)開發(fā)階段安全規(guī)范

7.1系統(tǒng)開發(fā)語言

7.1.1程序員可使用很多指導(dǎo)規(guī)范來預(yù)防應(yīng)用程序中一般安全問題。

其中很多能夠應(yīng)用于任何一個(gè)編程語言,但一些是針對(duì)特定語

言。特定語言指導(dǎo)規(guī)范關(guān)鍵集中在Perl,Java和C/C++語言。

大多數(shù)情況下,通常錯(cuò)誤能夠避免。而這些本能夠避免錯(cuò)誤常

常會(huì)造成很多安全漏洞,從而威脅信息保密性、完整性和可用

性。

7.1.2通用規(guī)范

7.1.2.1輸入驗(yàn)證

在用戶機(jī)/服務(wù)器環(huán)境下,進(jìn)行服務(wù)端驗(yàn)證而不是用戶端驗(yàn)證(比如基于

Javascript驗(yàn)證)。經(jīng)過在用戶端和服務(wù)器之間放置一個(gè)代理服務(wù)器,能夠很輕易

繞過用戶端驗(yàn)證。有了代理服務(wù)器,攻擊者能夠在數(shù)據(jù)被用戶端“驗(yàn)證”后修改

數(shù)據(jù)(和“man-in-the-middle”攻擊類似)。

在實(shí)際校驗(yàn)中,輸入校驗(yàn)首先定義一個(gè)有效(可接收)字符集,然后檢驗(yàn)每

個(gè)數(shù)據(jù)字符是否在有效范圍內(nèi)。假如輸入中包含無效字符,應(yīng)用程序應(yīng)返回錯(cuò)誤

頁面并說明輸入中包含無效字符。這么進(jìn)行驗(yàn)證原因是定義無效字符集比較.困難,

而且部分不應(yīng)有效字符通常不會(huì)被指出。

邊界檢驗(yàn)(比如字符串最大長(zhǎng)度)應(yīng)在字符有效性檢驗(yàn)以前進(jìn)行。邊界分析

能夠預(yù)防大多數(shù)緩沖區(qū)溢出漏洞。

7.1.2.2從環(huán)境變量取得數(shù)據(jù)也需要進(jìn)行驗(yàn)證。同時(shí)避免在環(huán)境變量中存放敏感

數(shù)據(jù)(比如密碼)。一些Unix系統(tǒng)(比如FreeBSD)包含ps命令,能夠

讓用戶看到任何目前進(jìn)程環(huán)境變量,這常常會(huì)暴露保密性信息。

7.1.2.3SQL語句

7.1.2.4假如應(yīng)用程序需要連接后端數(shù)據(jù)庫(kù),不得在代碼中使用SQL語句。使用

程序以外嵌入在代碼中SQL語句調(diào)用尤其危險(xiǎn),難以預(yù)防攻擊者使用輸

入域或配置文件(由應(yīng)用程序載入)來實(shí)施嵌入式SQL攻擊。而輸入驗(yàn)

證有利于緩解這種風(fēng)險(xiǎn)。

7.1.2.5注釋代碼(commentedcode)

7.1.2.6當(dāng)應(yīng)用程序在實(shí)際環(huán)境中開始應(yīng)用時(shí),應(yīng)刪除全部注釋代碼。注釋代碼

是用來調(diào)試或測(cè)試,它們不是最終應(yīng)用程序一部分。不管怎樣應(yīng)在實(shí)際

環(huán)境中刪除它們來避免意外實(shí)施(通常注釋標(biāo)識(shí)被刪除后就無法激活休

眠代碼,但還是存在可能性,所以應(yīng)實(shí)施這項(xiàng)工作)。

7.1.2.7錯(cuò)誤消息

7.1.2.8全部對(duì)用戶顯示錯(cuò)誤信息全部不應(yīng)暴露任何相關(guān)系統(tǒng)、網(wǎng)絡(luò)或應(yīng)用程序

敏感信息。假如可能話,應(yīng)使用包含編號(hào)通常錯(cuò)誤信息,這種信息只有

開發(fā)者和/或支持小組才能了解。通常錯(cuò)誤信息例子是“發(fā)生了錯(cuò)誤(代

碼1234),請(qǐng)您和系統(tǒng)維護(hù)部門聯(lián)絡(luò)?!?/p>

7.1.2.9統(tǒng)一資源定位(URL)內(nèi)容

對(duì)于web應(yīng)用,不要在URL上暴露任何關(guān)鍵信息,比如密碼、服務(wù)器名稱、IP地

址或文件系統(tǒng)路徑(暴露了web服務(wù)器目錄結(jié)構(gòu))。這些信息能夠在攻擊時(shí)使

用。例以下面就是一個(gè)不安全URL:

PASSWORD&file=/home/USER/expenses.txt

7.1.2.10設(shè)置PATH變量

7.1.3設(shè)置PATH為一個(gè)已知值,而不僅僅是使用開啟時(shí)缺省值。攻

擊者能夠在攻擊應(yīng)用程序時(shí)使用PATH變量,比如試圖實(shí)施一

個(gè)任意程序。這些也能夠應(yīng)用于大多數(shù)其它語言。

7.1.4Perl語言

7.1.4.1多年以來,Perl已經(jīng)成為用于系統(tǒng)管理和WebCGI開發(fā)功效最強(qiáng)編程語

言之一(幾乎能夠使用Perl實(shí)現(xiàn)任何功效)。但其擴(kuò)展應(yīng)用,即作為

Internet上CGI開發(fā)工具,使得它常常成為web服務(wù)器上攻擊目標(biāo)。另

外,大多數(shù)CGI腳本有著比通常見戶更高權(quán)限,造成它更輕易受攻擊。

下面列舉了部分開發(fā)者(尤其是CGI程序員)能夠使用主動(dòng)預(yù)防性方法

來增強(qiáng)Perl代碼整體安全性(請(qǐng)注意:這不是web服務(wù)器CGI腳本安全

性指導(dǎo)標(biāo)準(zhǔn))。

7.1.4.2Taint驗(yàn)證

Perl版本5.x包含一個(gè)叫做TaintChecking數(shù)據(jù)驗(yàn)證方法。假如起用該功效,它就

不許可經(jīng)過用戶輸入(任何程序外輸入)來操縱其它外部程序(比如經(jīng)過管道將

數(shù)據(jù)導(dǎo)入另一個(gè)程序?qū)嵤?。通常而言,程序員不能信任輸入腳本和程序數(shù)據(jù)

(叫做Tainted數(shù)據(jù)),因?yàn)闊o法確保它不會(huì)產(chǎn)生危害(有意或無意)。Taint驗(yàn)

證能夠經(jīng)過在命令行參數(shù)加入“-T”來開啟。比如能夠Perl腳本第一行這么加入

“-T”:

#lusr/bin/perl5-T

7.1.4.3Tainted數(shù)據(jù)包含命令行參數(shù)、環(huán)境變量和來自文件數(shù)據(jù)。引用tainted

數(shù)據(jù)變量也成為tainted數(shù)據(jù)。假如腳本試圖經(jīng)過不安全方法來使用

tainted數(shù)據(jù)會(huì)產(chǎn)生一個(gè)致命錯(cuò)誤(對(duì)這種情況稱為“不安全依靠”

(Insecuredependency)或其它說法)。啟用tainted驗(yàn)證在有些情況下會(huì)

造成腳本停止運(yùn)行,常常是因?yàn)镻erl解釋器要求全部腳本引用外部程序

完全路徑必需在PATH環(huán)境變量中列出,同時(shí)PATH中包含每個(gè)目錄除了

目錄全部者及對(duì)應(yīng)全部者用戶組外無法修改。Taint驗(yàn)證對(duì)于環(huán)境比較敏

感,這就可能會(huì)造成大多數(shù)程序員不愿使用它,不過只要可能就應(yīng)使用

taint驗(yàn)證,尤其是代碼實(shí)施其它程序功效時(shí)(比如在CGI腳本情況下)。

7.1.4.4安全模塊

7.1.4.5假如不僅輸入數(shù)據(jù)不可信而且實(shí)際代碼也不可信會(huì)產(chǎn)生什么情況?比

如用戶從網(wǎng)站上下載了一個(gè)ActiveX控件,而它實(shí)際是一個(gè)特洛伊木馬

(Trojanhorse)o這種情況下taint驗(yàn)證就不起作用。安全模塊讓程序員能

夠在Perl腳本中將不一樣代碼模塊和安全對(duì)象相聯(lián)絡(luò)。每個(gè)安全對(duì)象對(duì)

于運(yùn)行每塊代碼建立了一個(gè)限制環(huán)境。這和chroot在一個(gè)進(jìn)程中只能在

整體目錄結(jié)構(gòu)一個(gè)子目錄中運(yùn)行類似。而saft對(duì)象限制perl代碼只能在

perl包結(jié)構(gòu)一些特定包中運(yùn)行。怎樣使用安全模式超出了本文范圍,但

程序員應(yīng)在任何時(shí)候使用這一功效。

7.1.4.6警告參數(shù)(?w)

使用-w參數(shù)能夠在Perl解釋腳本時(shí)顯示全部警告信息。警告能夠?qū)σ韵虑闆r產(chǎn)

生:只使用了一次變量或完全沒有使用過變量,未定義文件句柄,未關(guān)閉文件句

柄,或?qū)⒎菙?shù)值變量傳輸?shù)綌?shù)據(jù)變量。該功效不是針對(duì)安全處理,不過有利于調(diào)

試直接或間接對(duì)安全有危害錯(cuò)誤。通常推薦總是使用-w參數(shù)??稍趖aint驗(yàn)證時(shí)

在第一行這么使用-w參數(shù):

#!usr/bin/perl5-Tw

7.1.5Java語言

7.1.5.1自從1995年公布以來,Java成為簡(jiǎn)單或復(fù)雜網(wǎng)絡(luò)應(yīng)用有效編程語言。它

在設(shè)計(jì)時(shí)充足考慮了安全問題,所以它含有限制特征有:搜集不再使用

內(nèi)存碎片垃圾搜集器,嚴(yán)格"sandbox”安全模型,和在特定主機(jī)上限制

應(yīng)用程序活動(dòng)安全管理器。以下為使用中相關(guān)規(guī)范:

7.1.5.2不應(yīng)在標(biāo)準(zhǔn)輸出上打印消息

7.1.5.3在實(shí)際Internet系統(tǒng)中避免使用System.out.println()或

System.eir.println。打印日志和錯(cuò)誤消息,原因是當(dāng)消息打印到標(biāo)準(zhǔn)輸

出時(shí),無法立即確定消息發(fā)生地點(diǎn),且有可能將敏感信息透露給攻擊

者。

7.1.5.4封裝

>Java中,假如沒有使用訪問標(biāo)識(shí)符(accessmodifier(private、

protected或public):來申明類、方法和屬性,那么它默認(rèn)訪問范圍是包,而且

同一包中全部類全部能訪問它。必需記住即使包有封裝功效,但它只有在每部分

加載到包代碼全部由授權(quán)用戶控制時(shí)才起作用。惡意用戶能夠加入她們自己類,

從而對(duì)于包中全部類、方法和屬性全部有完全訪問權(quán)限。

>Java政策文件支持兩種控制包訪問權(quán)限前綴。

>accessClassInPackage

AdefineClassInPackage

>全部標(biāo)準(zhǔn)庫(kù)中類全部默認(rèn)是能夠公共訪問(除了由“sun”開頭類)。為

了確保一個(gè)包安全性,必需修改${JAVAHOME}/jre/lib/security文件夾中

java,security文件。該文件中關(guān)鍵行是:

>package.access=sun.

>即使該方法有作用,但仍存在問題。比如程序員在java,security文件

中定義包安全時(shí)必需十分小心。在package,access中值是字符型,“sun.”將

保護(hù)"sun.tools”等包,不過不會(huì)對(duì)"sun"或"sunshine”等包進(jìn)行保護(hù)。

>另一個(gè)方法是使用JAR密封(sealing)。JAR(JavaARchive)文件是部分

類打包壓縮格式文件,和常見ZIP格式類似。假如從一個(gè)密封(sealing)JAR文

件中加載一個(gè)類,隨即同一個(gè)包類只能從該JAR文件加載。為了起用密封

(sealing),必需在建立JAR文件時(shí)這么設(shè)置密封(seal)參數(shù):

>Sealed:true

7.1.5.5使用密封(sealing)JAR文件比權(quán)限(permission)設(shè)置愈加好,因?yàn)?/p>

它不需要安裝安全管理器(securitymanager)o

7.1.5.6政策文件

Java內(nèi)建安全管理器是對(duì)應(yīng)用程序進(jìn)行限制一個(gè)方便工具。很多情況下需要

編制一個(gè)定制安全管理器,JDK1.2及以后版本提供了描述設(shè)置方法而不是實(shí)施它

們。這是經(jīng)過Java政黃文件實(shí)現(xiàn)。能夠用政策文件以相對(duì)模塊化方法控制文件

系統(tǒng)和網(wǎng)絡(luò)訪問。比如能夠限制應(yīng)用程序只能修更名字是f。。文件。

宜使用Java政策文件和安全管理器而不是重新創(chuàng)建一個(gè)類或系統(tǒng)來限制對(duì)

主機(jī)和網(wǎng)絡(luò)訪問。

7.1.6C/C++語言

7.1.6.1C本質(zhì)上是不安全編程語言。比如假如不謹(jǐn)慎使用話,其大多數(shù)標(biāo)準(zhǔn)字

符串庫(kù)函數(shù)有可能被用來進(jìn)行緩沖區(qū)攻擊或格式字符串攻擊。不過,因

為其靈活性、快速和相對(duì)輕易掌握,它是一個(gè)廣泛使用編程語言。下面

是針對(duì)開發(fā)安全C語言程序部分規(guī)范。

7.1.6.2緩沖區(qū)溢出

>避免使用不實(shí)施邊界檢驗(yàn)字符串函數(shù),因?yàn)樗鼈兛赡鼙挥脕磉M(jìn)行緩沖區(qū)

溢出攻擊。下面是應(yīng)避免使用函數(shù)。同時(shí),也列出了每個(gè)函數(shù)對(duì)應(yīng)比較安全替換

方法。

>不使用strcpyO,使用strncpyO

>不使用strcat(),使用strncat。

>不使用sprintf(),使用snprintfO

7.1.63不使用gets。,使用fgetsO

7.1.6.4在上面前三個(gè)中函數(shù)中,每個(gè)替換函數(shù)“n”表示了使用緩沖區(qū)大小。最

終一個(gè)函數(shù)“f”,表示格式,它許可用戶指定時(shí)望輸入格式。這些替換

方程強(qiáng)制程序員定義使用緩沖區(qū)尺寸和確定輸入類型。

7.1.6.5格式化字符串攻擊(FormatStringAttack)

該類攻擊往往和緩沖區(qū)溢出相關(guān),因?yàn)樗鼈兺P(guān)鍵利用了一些函數(shù)假設(shè),

比如sprintf。和vsprintf。假設(shè)緩沖區(qū)長(zhǎng)度是無限。然而即使使用snprintf()替換

sprintf。也無法完全保護(hù)程序不受格式化字符串攻擊。這些攻擊經(jīng)過直接將格式

說明符(formatspecifiers)(%d,%s,%n等)傳輸?shù)捷敵龊瘮?shù)接收緩沖區(qū)來進(jìn)行。

比如,以下代碼就是不安全:

snprintf(bufferzsizeof(buffer),string)

這種情況下,能夠在字符串中插入格式說明符來操縱內(nèi)存棧,來寫入攻擊者

數(shù)據(jù)(這些數(shù)據(jù)中包含小程序代碼,并可由處理器接著實(shí)施)。更多相關(guān)這些

攻擊具體內(nèi)容請(qǐng)見資源章節(jié)。對(duì)以上例子提議使用下面代碼。

snprintf(bufferzsizeof(buffer),"%s”,string)

7.1.6.6進(jìn)行格式字符串攻擊不太輕易。首先攻擊者必需能取得內(nèi)存棧內(nèi)容情況

(從應(yīng)用導(dǎo)出或使用調(diào)試器),然后必需知道怎樣正確訪問特定內(nèi)存空

間來操縱棧中變量。

7.1.6.7實(shí)施外部程序

推薦使用exec()函數(shù)而不是system。函數(shù)來實(shí)施外部程序。這是因?yàn)閟ystem()

接收整個(gè)命令行隨機(jī)緩沖區(qū)來實(shí)施程序。

snprintf(buffer,sizeof(buffer),"emacs%s'',filename);

system(buffer);

在以上例子中,能夠經(jīng)過使用分號(hào)利用文件名變量在sehll中插入額外命令

(比如文件名能夠是/etc/hosts;rm*,這將在顯示/etc/hosts目錄文件同時(shí),刪除

目錄中全部文件)。

而exec()函數(shù)只確保第一個(gè)參數(shù)被實(shí)施:

execlf'usr/bin/emacs","usr/bin/emacs",filename,NULL);

7.1.6.8上面例子確保文件名僅僅作為一個(gè)參數(shù)輸入Emacs工具,一樣它在

Emacs命令中使用完全路徑而不是使用能夠被攻擊者利用PATH環(huán)境變

量。

7.1.6.9競(jìng)爭(zhēng)條件(racecondition)

A進(jìn)程需要訪問資源時(shí)(不管是磁盤、內(nèi)存或是文件)通常需要實(shí)施兩個(gè)

步驟:

>首先測(cè)試資源是否空閑可用

假如可用,就訪問該資源,不然它等到資源不再使用為止再去訪問它

當(dāng)另一個(gè)進(jìn)程在步驟1和2之間想要訪問同一個(gè)資源時(shí)將出現(xiàn)問題,造成不

可估計(jì)結(jié)果。進(jìn)程可能會(huì)被鎖定,或一個(gè)進(jìn)程籍此取得了另一個(gè)進(jìn)程較大權(quán)限而

造成安全問題。攻擊關(guān)鍵集中在有較大權(quán)限程序上(稱為setuid程序)。競(jìng)爭(zhēng)

條件攻擊通常利用程序?qū)嵤r(shí)能夠訪問到資源。另外權(quán)限低程序也存在安全風(fēng)險(xiǎn),

因?yàn)楣粽呖赡軙?huì)等候有較高權(quán)限用戶實(shí)施那個(gè)程序(比如root),然后進(jìn)行攻

擊。

下面提議有利于緩解競(jìng)爭(zhēng)條件(racecondition)攻擊:

在進(jìn)行文件操作時(shí),利用那些使用文件描述符函數(shù)而不使用那些使用文件

路徑函數(shù)(比如使用fdopenO而不要使用fopenO)。文件描述符使得惡意用戶

在文件打開時(shí)或是在原始進(jìn)程對(duì)文件進(jìn)行操作前,無法使用文件連接(符號(hào)式或

是物理)來改變文件。

7.1610在寫文件甚至在讀文件時(shí)宜使用fcntl()和flock()函數(shù)來對(duì)文件加鎖,

這么它們就不能被其它進(jìn)程訪問。它幾乎能夠建立原子級(jí)操作。

7.1.6.11應(yīng)謹(jǐn)慎操縱臨時(shí)文件,因?yàn)樗鶗?huì)造成競(jìng)爭(zhēng)條件攻擊。

7.1612檢驗(yàn)有效返回值

7.2檢驗(yàn)有效返回值很關(guān)鍵。一個(gè)例子是舊/bin/login實(shí)現(xiàn)中不檢驗(yàn)

錯(cuò)誤返回值,造成當(dāng)它找不到/etc/passwd文件時(shí)返回root訪

問權(quán)限。假如該文件損壞了則這種情況是合理;但假如該文件

存在只是無法訪問,那么這就是一個(gè)大問題。

7.3系統(tǒng)開發(fā)安全相關(guān)工具管理

>有很多方法來確保代碼符合一定安全等級(jí)。正如前面指出,最好方法之

一是讓盡可能多人來檢驗(yàn)代碼(而不是在QA環(huán)境中實(shí)際進(jìn)行白箱或黑箱測(cè)試)。

然而,有時(shí)代碼在開始實(shí)際環(huán)境應(yīng)用前往往沒有足夠時(shí)間,而且即使檢驗(yàn)代碼也

會(huì)遺漏部分不易發(fā)覺錯(cuò)誤。這些錯(cuò)誤可能會(huì)對(duì)整個(gè)系統(tǒng)造成重大安全問題。所以

(和其它原因),使用源碼分析工具(SourceCodeAnalysisTool(SCAT))來自動(dòng)進(jìn)行

一些檢驗(yàn)過程很有幫助。本文介紹了部分這方面工具。每個(gè)工具全部用一樣測(cè)試

工具來檢驗(yàn),這些測(cè)試工具包含C和Java代碼段,而這些代碼段存在潛在安全錯(cuò)

誤。我們比較了每個(gè)工具測(cè)試結(jié)果,而且仔細(xì)檢驗(yàn)了以下屬性:

>靈活性一有多個(gè)選項(xiàng)并能掃描多個(gè)類型代碼工具得分會(huì)較高。

>正確性一關(guān)鍵目標(biāo)是發(fā)覺正確安全問題,而且不會(huì)出現(xiàn)大量誤報(bào)信息,

或更糟是沒有發(fā)覺真止錯(cuò)誤信息。

>輕易使用一大多數(shù)情況下,程序員只需將工具指定到特定代碼上然后

選擇“掃描”。除非尤其需要,程序員通常只做拍樣檢驗(yàn),而無需開發(fā)復(fù)雜測(cè)試

機(jī)制。

7.3.1報(bào)表一掃描結(jié)果應(yīng)以一個(gè)輕易了解格式來顯示,而且最好

同時(shí)提醒修改每個(gè)問題方法,并附加理由。

7.3.2每個(gè)工具在解析代碼上速度能夠忽略不計(jì),所以沒有進(jìn)行比

較(即使這并不包含配置掃描時(shí)間,而MOPS在這方面相對(duì)于

其它工具需要更多時(shí)間)。另外,這些工具全部能夠無償取得,

甚至能夠取得它們?cè)创a,所以不需考慮它們成本。

工具一:Pscan

Pscan是一個(gè)有針對(duì)性掃描程序,關(guān)鍵用于發(fā)覺C程序中緩沖區(qū)溢出和格式化字

符串攻擊。該程序檢驗(yàn)全部用到標(biāo)準(zhǔn)C程序庫(kù)中printf。函數(shù)。

sprintf(bufferzvariable);

printf(buffer,variable);

7.3.3相關(guān)這些語句在緩沖區(qū)溢出和格式化字符串攻擊中怎樣被利

用能夠查閱相關(guān)C和C++文檔。Pscan一個(gè)不足是不能發(fā)覺因

為越界檢驗(yàn)不充足而引發(fā)常規(guī)性緩沖區(qū)溢出。但Pscan對(duì)于緩

沖區(qū)溢出和格式化字符串攻擊定位還是相當(dāng)正確和快速。

Pscan程序相對(duì)簡(jiǎn)單,它只將結(jié)果返回標(biāo)準(zhǔn)輸出,當(dāng)然也能夠

將其輸出到文件,而且除了說明程序員應(yīng)怎樣修正錯(cuò)誤以外,

不給出語句為何犯錯(cuò)等類似信息。該工具一個(gè)顯著特點(diǎn)是能夠

同時(shí)掃描多個(gè)文件。

7?3.4.總體而言Pscan程序相對(duì)簡(jiǎn)單,易于使用,同時(shí)針對(duì)性很強(qiáng),

不過因?yàn)樗軌蜻m用范圍過于狹窄所以通常不推薦其在大型

商業(yè)應(yīng)用中使用,而只是檢驗(yàn)部分相對(duì)簡(jiǎn)單程序片斷。

工具二:Flawfinder

7.4Flawfinder是一個(gè)分析C程序安全隱患靜態(tài)分析工具。和Pscan

類似,該程序能夠發(fā)覺很多個(gè)類型錯(cuò)誤,除了printf()和標(biāo)準(zhǔn)字

符串函數(shù),它還能夠發(fā)覺競(jìng)爭(zhēng)條件和系統(tǒng)調(diào)用。Flawfinder相比

較Pscan,它返回錯(cuò)誤信息要豐富很多,而且也愈加具體。而這

對(duì)于程序員來說很關(guān)鍵。Flawfinder甚至能夠?qū)Τ绦蛑腥觞c(diǎn)進(jìn)

行分類,比如buffer弱點(diǎn)、格式弱點(diǎn)、shell弱點(diǎn)等。

7.5Flawofinder是一個(gè)相當(dāng)出色C程序檢驗(yàn)工具,速度會(huì),界面友好,

返回信息豐富,安裝使用相對(duì)簡(jiǎn)單。該工具是檢驗(yàn)不一樣規(guī)模應(yīng)

用程序首選,唯一不足是它只能用于C程序檢驗(yàn)。

7.6控制軟件代碼程序庫(kù)

7.6.1管理運(yùn)作程序庫(kù)

>我們通常將用于系統(tǒng)開發(fā)軟件工具和開發(fā)平臺(tái)稱之為運(yùn)作程序,所以為

了降低計(jì)算機(jī)程序被破壞可能性,應(yīng)對(duì)運(yùn)作程序庫(kù)訪問進(jìn)行嚴(yán)格控制:

7.6.1.1嚴(yán)格管理在開發(fā)設(shè)備上存放開發(fā)運(yùn)作程序目錄。假如開發(fā)運(yùn)作程序沒有

很好保護(hù),則系統(tǒng)及其設(shè)置可能遭到未經(jīng)授權(quán)訪問,并造成系統(tǒng)安全

性可靠性大大下降。

7.6.1.2只有指定人員如程序庫(kù)管理員經(jīng)過合適管理授權(quán)后,才能夠訪問運(yùn)作

程序庫(kù),對(duì)運(yùn)作程序庫(kù)訪問必需結(jié)合嚴(yán)格訪問控制技術(shù)手段和雙重訪

問控制機(jī)制。

7.6.13嚴(yán)格訪問控制能夠經(jīng)過以下要求實(shí)現(xiàn)

>嚴(yán)格管理開發(fā)部門所在區(qū)域保安管理,預(yù)防未經(jīng)授權(quán)人進(jìn)入開發(fā)區(qū)域。

7.6.1.4嚴(yán)格管理開發(fā)用途計(jì)算機(jī)使用,只有指定人員才能夠訪問開發(fā)用計(jì)算

機(jī)設(shè)備。

7.6.1.5嚴(yán)格管理開發(fā)運(yùn)作系統(tǒng)認(rèn)證管理,建立嚴(yán)格基于人員職責(zé)授權(quán)等級(jí)制

度,用口令或其它身份識(shí)別技術(shù)確定訪問者身份。

7.6.1.6建立雙重訪問控制機(jī)制

7.6.2雙重訪問控制機(jī)制就是對(duì)運(yùn)作程序庫(kù)管理需經(jīng)兩個(gè)人同時(shí)進(jìn)

行認(rèn)證后才可經(jīng)過方法。比如對(duì)運(yùn)作程序庫(kù)進(jìn)行更改或刪除需

要兩個(gè)人進(jìn)行口令認(rèn)證,系統(tǒng)才許可進(jìn)行以上操作。需要進(jìn)行

認(rèn)證兩個(gè)人相互不知道對(duì)方認(rèn)證口令或步驟。所以該認(rèn)證過程

必需兩個(gè)人同時(shí)在場(chǎng)才可進(jìn)行操作。

7.6.3管理源程序庫(kù)

>源程序包含了系統(tǒng)及其控制怎樣實(shí)現(xiàn)細(xì)節(jié),為修改系統(tǒng)提供了很好切入

點(diǎn),比如設(shè)置邏輯炸彈。且假如缺乏源程序代碼會(huì)使得以后應(yīng)用系統(tǒng)維護(hù)工作十

分困難甚至無法完成。所以為了降低計(jì)算機(jī)程序被破壞可能性,應(yīng)對(duì)源程序庫(kù)訪

問進(jìn)行嚴(yán)格控制:

>嚴(yán)格管理在開發(fā)設(shè)備上存放源程序目錄。假如源程序沒有很好保護(hù),則

系統(tǒng)及其設(shè)置可能會(huì)遭到未經(jīng)授權(quán)訪問,并造成系統(tǒng)安全性可靠性大大下降。

>只有指定人員如程序庫(kù)管理員經(jīng)過合適管理授權(quán)后才能夠訪問源程序庫(kù),

對(duì)源程序庫(kù)訪問必需結(jié)合進(jìn)行嚴(yán)格訪問控制技術(shù)手段和雙重訪問控制機(jī)制。

>各項(xiàng)應(yīng)用均應(yīng)韋定對(duì)應(yīng)管理員。

>信息技術(shù)支持人員(非開發(fā)人員)不應(yīng)自由訪問源程序庫(kù)。

>源程序庫(kù)和運(yùn)作程序庫(kù)宜分開存放而且分開管理。

>源程序庫(kù)和運(yùn)行應(yīng)用系統(tǒng)宜分開存放且分開管理。

7.7源程序庫(kù)更新和向程序員公布源程序應(yīng)由指定管理員依據(jù)一定授

權(quán)進(jìn)行,不得私自進(jìn)行更新或發(fā)放。

7.8應(yīng)保留全部對(duì)源程序庫(kù)進(jìn)行訪問讀取或修改日志統(tǒng)計(jì),方便以后

審核。

7.9在軟件開發(fā)過程變更管理

a)系統(tǒng)輕易受到未經(jīng)授權(quán)變更影響,即使是完全授權(quán)更改也可能存在破壞

性影響,存在數(shù)據(jù)完整性損失、應(yīng)用系統(tǒng)不可用和機(jī)密信息泄漏風(fēng)險(xiǎn)。為了使信

息系統(tǒng)損失降至最小,組織應(yīng)對(duì)更改善行嚴(yán)格控制,即在系統(tǒng)開發(fā)每一個(gè)階段

(可行性研究、需求分析、設(shè)計(jì)、編碼、測(cè)試、培訓(xùn)等)每一個(gè)更改實(shí)施前必需

經(jīng)過組織評(píng)審和授權(quán)。

b)對(duì)于敏感應(yīng)用系統(tǒng)更改應(yīng)由另一人員進(jìn)行檢驗(yàn),為了有效進(jìn)行控制,組

織應(yīng)建立更改控制審批程序,對(duì)更改申請(qǐng)、評(píng)審、測(cè)試、同意、更改計(jì)劃提出和

實(shí)施提出明確要求并嚴(yán)格實(shí)施,確保安全性和控制程序不被損害,程序設(shè)計(jì)人員

應(yīng)只能訪問她們工作所必需部分,確保任何改動(dòng)全部應(yīng)經(jīng)過審批。

>c)更改程序宜以下:

>清楚確定全部需要更改應(yīng)用系統(tǒng)、信息、數(shù)據(jù)庫(kù)和相關(guān)硬件設(shè)備。

>清楚確定更改原因(業(yè)務(wù)上具體步驟和具體需求或開發(fā)上需求)。

>由授權(quán)用戶提交更改申請(qǐng)。

>保留相關(guān)授權(quán)登記統(tǒng)計(jì)。

>在正式實(shí)施之前,更改方案必需經(jīng)過評(píng)審并經(jīng)過正式同意。

>確保授權(quán)用戶在實(shí)施之前確定并接收更改內(nèi)容。

>確保在實(shí)施過程中,盡可能降低對(duì)現(xiàn)行業(yè)務(wù)運(yùn)作系統(tǒng)影響。

>確保建立文件系統(tǒng)在完成各項(xiàng)更改時(shí)得到修改,舊文件被很好歸檔或處

理。

>確保全部應(yīng)用系統(tǒng)升級(jí)版本控制。

>確保對(duì)全部更改請(qǐng)求進(jìn)行審核跟蹤。

>確保用戶使用手冊(cè)作對(duì)應(yīng)必需更改。

7.10確保更改實(shí)施選擇了合適時(shí)機(jī),以確保更改實(shí)施不會(huì)干擾正常

業(yè)務(wù)運(yùn)作。

7.11開發(fā)版本管理

7.11.1控制程序清單

>源程序相關(guān)信息能夠幫助確定系統(tǒng)問題根源,而旦一旦掌握了系統(tǒng)源程

序相關(guān)信息能夠清楚地了解系統(tǒng)運(yùn)行邏輯和可能微弱點(diǎn),對(duì)系統(tǒng)安全有很大影

響。

>在任何時(shí)候?qū)τ诔绦蚯鍐伪匦柽M(jìn)行嚴(yán)格控制而且立即地進(jìn)行更新。

7.11.2對(duì)應(yīng)用系統(tǒng)開起源程序打印資料、電子版本或是相關(guān)匯報(bào)全部

必需進(jìn)行控制,紙質(zhì)文件應(yīng)保留在一個(gè)安全環(huán)境下,如保險(xiǎn)

柜等。電子文檔則應(yīng)進(jìn)行一定加密。

7.11.3版本升級(jí)控制

>應(yīng)用系統(tǒng)軟件開發(fā)版本升級(jí)申請(qǐng)。當(dāng)軟件版本因?yàn)楦?、修改等操作?/p>

要升級(jí)時(shí)必需先向相關(guān)責(zé)任人員提交申請(qǐng)。

>應(yīng)用系統(tǒng)軟件版本升級(jí)測(cè)試。對(duì)升級(jí)應(yīng)用系統(tǒng)進(jìn)行測(cè)試,確定系統(tǒng)多種

安全特征。

>應(yīng)用系統(tǒng)軟件版本審批。對(duì)應(yīng)用系統(tǒng)版本升級(jí),應(yīng)確定目前版本為最新

版本,舊版本應(yīng)進(jìn)行歸檔,不得隨意丟棄或刪除C

>應(yīng)用系統(tǒng)軟件版本升級(jí)計(jì)劃。制訂相關(guān)升級(jí)計(jì)劃,確保將系統(tǒng)升級(jí)對(duì)業(yè)

務(wù)影響降至最低。

>應(yīng)用系統(tǒng)軟件版本升級(jí)實(shí)施。

7.1L4版本變更控制

>版本變更應(yīng)提出中請(qǐng),詳見4.4“軟件開發(fā)過程變更管理規(guī)范”。

>應(yīng)使用軟件加鎖技術(shù)預(yù)防不一樣版本相互覆蓋情況。

>當(dāng)版本變更時(shí)應(yīng)在更新版本中統(tǒng)計(jì)變更具體描述。

>應(yīng)提供版本合并功效。

>版本更改應(yīng)只許可指定人員進(jìn)行操作。

7.12應(yīng)統(tǒng)計(jì)全部版本變更日志,其中包含更改日期、更改前版本號(hào)、

更改后版本號(hào)、更改人、審批人等信息。

7.13開發(fā)日志審核管理

7.13.1開發(fā)日志定時(shí)審計(jì)

系統(tǒng)開發(fā)中相關(guān)E志文件應(yīng)依據(jù)開發(fā)周期定時(shí)審核。

7?13.2開發(fā)人員權(quán)限定時(shí)審計(jì)

開發(fā)人員權(quán)限定時(shí)(3個(gè)月)審核一次。

7.14防御后門代碼或隱藏通道

7.14.1后門代碼和隱藏通道介紹

>a)后門代碼,關(guān)鍵指由攻擊者在未經(jīng)許可情況下,植入計(jì)算機(jī)系統(tǒng)程

序。利用調(diào)用環(huán)境權(quán)利進(jìn)行和其實(shí)際用途無關(guān)拷貝、濫用或破壞數(shù)據(jù),關(guān)鍵有三

種類型后門程序:

>調(diào)試后門一一為了方便調(diào)試而設(shè)置機(jī)關(guān),系統(tǒng)調(diào)試后未能立即消除。

>維護(hù)后門一一為了方便遠(yuǎn)程維護(hù)所設(shè)置后門,被黑客惡意利用。

惡意后門一一由設(shè)計(jì)者有意設(shè)置機(jī)關(guān),用來監(jiān)視用戶秘密甚至和破壞應(yīng)用

系統(tǒng)。

7.14.2特洛伊木馬也屬于后門一個(gè),它是黑客攻擊計(jì)算機(jī)關(guān)鍵手段

之一。特洛伊木馬能夠放置在正常文件或程序中,當(dāng)用戶打開

或?qū)嵤┧鼤r(shí)候,它就會(huì)自動(dòng)安裝在計(jì)算機(jī)上,使得一些人經(jīng)

過Internet訪問該計(jì)算機(jī)成為可能,使計(jì)算機(jī)處于一個(gè)很危

險(xiǎn)狀態(tài)。

7.14.3b)隱藏通道,關(guān)鍵指在計(jì)算機(jī)安全技術(shù)中,一個(gè)許可某個(gè)進(jìn)

程在違反安全規(guī)則狀態(tài)下傳輸信息通道。隱藏通道能夠經(jīng)過一

些直接或間接方法暴露信息?,F(xiàn)在使用應(yīng)用系統(tǒng)中大多數(shù)全部

包含一定程度隱藏通道,她們當(dāng)中很多是無害,像特殊組合健

能夠給出軟件制作者信息,但也有些是有害,所以必需進(jìn)行對(duì)

應(yīng)防范。

7.14.4防御后門代碼和隱藏通道相關(guān)措施

>應(yīng)從信譽(yù)好軟件供給商那里購(gòu)置相關(guān)軟件或程序。

>應(yīng)檢驗(yàn)和驗(yàn)證源程序和源代碼。

>在系統(tǒng)正式投入使用之前應(yīng)進(jìn)行評(píng)定,如部分行業(yè)標(biāo)準(zhǔn)認(rèn)證評(píng)定(產(chǎn)品

安全認(rèn)證、CMM認(rèn)證等)。

>在系統(tǒng)正式投入使用后,應(yīng)嚴(yán)格管理源代碼訪問、升級(jí)和修改.

>應(yīng)使用可靠開發(fā)人員操作密鑰系統(tǒng)。

>不應(yīng)隨便從部分不著名網(wǎng)站上下載軟件。

第8章不應(yīng)過于相信她人,不得隨便安裝她人給軟件,尤

其是不得隨便打開電子郵件中附件,部分可實(shí)施文件必

需優(yōu)異行病毒及惡意代碼掃描。

第9章安裝并正確地使用相關(guān)特洛伊木馬監(jiān)測(cè)和查殺程序,

現(xiàn)在大多數(shù)主流殺病毒軟件也帶有該功效,現(xiàn)在比較流

行專門用于查殺特洛伊木馬程序關(guān)鍵有Lockdown、The

Cleaner、TrojianDefenceSuit等。

第10章系統(tǒng)測(cè)試階段安全規(guī)范

10.1應(yīng)用系統(tǒng)安全性檢測(cè)

10.L1設(shè)計(jì)具體測(cè)試計(jì)劃、測(cè)試范圍、測(cè)試方法和測(cè)試工具

1012對(duì)軟硬件測(cè)試必需事先有正式測(cè)試計(jì)劃。測(cè)試計(jì)劃一個(gè)關(guān)鍵點(diǎn)

是測(cè)試計(jì)劃文檔不僅要包含測(cè)試內(nèi)容同時(shí)還需要包含測(cè)試預(yù)

期結(jié)果。而且測(cè)試計(jì)劃還需要覆蓋除此之外測(cè)試內(nèi)容和結(jié)果,

使之愈加全方面。測(cè)試完成以后,需要對(duì)測(cè)試結(jié)果進(jìn)行評(píng)定,

確定其結(jié)果是否達(dá)成了預(yù)定標(biāo)準(zhǔn)。假如達(dá)不到標(biāo)準(zhǔn),則應(yīng)對(duì)測(cè)

試結(jié)果劃分一個(gè)錯(cuò)誤嚴(yán)重性等級(jí),不然無法對(duì)結(jié)果進(jìn)行客觀

評(píng)論。

10.1.3測(cè)試種類

測(cè)試過程需要用戶參與以確保系統(tǒng)達(dá)成了業(yè)務(wù)上需求和用戶使用需求。所以

關(guān)鍵分為系統(tǒng)測(cè)試和用戶接收測(cè)試。

10.1.3.1系統(tǒng)測(cè)試

系統(tǒng)測(cè)試有很多個(gè)定義。通常而言系統(tǒng)測(cè)試能夠定義為:在人工環(huán)境下,測(cè)

試系統(tǒng)是否能夠達(dá)成預(yù)期要求測(cè)試方法。

從系統(tǒng)開發(fā)角度而言,系統(tǒng)測(cè)試是指由系統(tǒng)開發(fā)人員(程序員和其它技術(shù)人

員)進(jìn)行,意在確保系統(tǒng)各個(gè)模塊能夠正常運(yùn)行(模塊測(cè)試)和系統(tǒng)整體能夠正

常運(yùn)行測(cè)試過程。系統(tǒng)測(cè)試必需確保系統(tǒng)每一個(gè)功效全部能夠正確運(yùn)行,并對(duì)全

部程序錯(cuò)誤逐一分析。同時(shí)還測(cè)試系統(tǒng)模塊和模塊之間、功效和功效之間接口正

確性。需要注意是系統(tǒng)測(cè)試不對(duì)系統(tǒng)總體功效負(fù)責(zé),而只需要達(dá)成測(cè)試計(jì)劃中要

求測(cè)試準(zhǔn)則即可。

>a)系統(tǒng)負(fù)載測(cè)試,負(fù)載表示對(duì)系統(tǒng)要求,通常包含以下原因:

>程序和數(shù)據(jù)總體存放容量

>并發(fā)運(yùn)行應(yīng)用程序數(shù)量

>并發(fā)用戶數(shù)量,峰值,槽值和平均值

>外設(shè)數(shù)量

確定硬件規(guī)模比較復(fù)雜,在確定了上述原因以后,還應(yīng)確定其它類似響應(yīng)

時(shí)間等原因。

b)壓力測(cè)試

10.1.3.2壓力測(cè)試用于確定系統(tǒng)微弱步驟,確定系統(tǒng)在非正常條件下能夠快速

恢復(fù)到正常運(yùn)行狀態(tài)能力,類似非正常條件可能是在系統(tǒng)宕機(jī)、網(wǎng)絡(luò)故

障或高峰載荷下數(shù)據(jù)處理等。

10.1.3.3用戶接收測(cè)試一UAT

用戶接收測(cè)試是用戶對(duì)新系統(tǒng)或系統(tǒng)改動(dòng)正式驗(yàn)收測(cè)試過程,是任何系統(tǒng)開

發(fā)項(xiàng)目全部需要經(jīng)歷關(guān)鍵階段,而且需要終端用戶大力參與。在現(xiàn)實(shí)中,UAT需

要有周密詳盡和正確測(cè)試計(jì)劃,尤其是驗(yàn)收標(biāo)準(zhǔn)必需很具體。UAT最終部分往往

包含并行運(yùn)行,以比較開放系統(tǒng)和原有系統(tǒng)。

a)盡管系統(tǒng)用戶接收測(cè)試計(jì)劃可能伴隨系統(tǒng)不一樣而不一樣,測(cè)試必需涵

蓋全部以后實(shí)際運(yùn)行中可能發(fā)生事件。測(cè)試計(jì)劃通常能夠在系統(tǒng)開發(fā)前制訂用戶

需求說明書基礎(chǔ)上制訂。

>b)對(duì)任何系統(tǒng)而言,對(duì)于出現(xiàn)問題必需要明確要對(duì)這些問題做出哪些

應(yīng)對(duì)方法和誰來做這些應(yīng)對(duì)方法,比如用戶、項(xiàng)目團(tuán)體、供給商或是咨詢顧問等

全部可能項(xiàng)目參與方。

>c)為了愈加好地應(yīng)對(duì)測(cè)試過程中可能出現(xiàn)問題,最終用戶和項(xiàng)目團(tuán)體

必需協(xié)商制訂“錯(cuò)誤嚴(yán)重程度”范圍。它取值范圍從1到6,分別表示從業(yè)務(wù)/

商業(yè)影響角度評(píng)定在系統(tǒng)測(cè)試過程中發(fā)覺問題。下文是一個(gè)成功應(yīng)用例子,“1”

表示最嚴(yán)重錯(cuò)誤,而6則表示最輕微影響。

>“致命問題”一一假如該程度錯(cuò)誤發(fā)生,則測(cè)試不能繼續(xù)。

>“重大問題”一一測(cè)試能夠繼續(xù),不過系統(tǒng)不能上線。

>“關(guān)鍵問題”一一測(cè)試能夠繼續(xù),不過假如不處理該問題,則系統(tǒng)上線

后,可能對(duì)業(yè)務(wù)步驟有嚴(yán)重破壞。

>“通常性問題”一一除了這些問題會(huì)對(duì)既定業(yè)務(wù)步驟有部分輕微偏離外,

測(cè)試能夠繼續(xù),而且系統(tǒng)也能夠上線。

>“次要問題”一一能夠繼續(xù)測(cè)試和上線,但這些問題必需修正,同時(shí)這

些問題對(duì)業(yè)務(wù)步驟沒有或極少有影響。

>“粉飾性問題”一一類似顏色,字體等問題,假如這些問題對(duì)于業(yè)務(wù)需

求而言尤其關(guān)鍵,則需要將這些問題提升到較高層次。

系統(tǒng)用戶在取得主管項(xiàng)目標(biāo)高層領(lǐng)導(dǎo)意見前提下,必需就每類錯(cuò)誤需要采

取行動(dòng)和各自需要負(fù)擔(dān)責(zé)任等問題取得一致。比如,能夠要求立即處理嚴(yán)重程度

為1問題,并停止全部測(cè)試計(jì)劃直到該層次問題處理。

注意事項(xiàng):為避免類似分級(jí)問題風(fēng)險(xiǎn),在測(cè)試計(jì)劃中宜給出每一類問題例子,

以避免對(duì)問題分級(jí)出現(xiàn)根本性不一致。當(dāng)有不一致時(shí)候應(yīng)預(yù)先準(zhǔn)備。

d)最終用戶和系統(tǒng)開發(fā)上必需就每一類錯(cuò)誤數(shù)量有一個(gè)上限。

10.1.4注意:有些情況下用戶可能會(huì)有條件接收。這些條件可能增加

了工作范圍。在這種情況下和全部對(duì)系統(tǒng)修正全部需要很嚴(yán)格

用戶接收測(cè)試和必需回歸測(cè)試。

10.L5在測(cè)試過程中具體描述每個(gè)和測(cè)試方案相關(guān)測(cè)試步驟和測(cè)試

數(shù)據(jù)

10.2將全部測(cè)試數(shù)據(jù)進(jìn)行整理歸檔,將犯錯(cuò)統(tǒng)計(jì)進(jìn)行分析,確定問題

產(chǎn)生原因并編寫問題匯報(bào)。

10.3控制測(cè)試環(huán)境

>控制系統(tǒng)測(cè)試環(huán)境和實(shí)際工作環(huán)境應(yīng)隔離進(jìn)行控制處理,不然

>未經(jīng)確定軟件修改會(huì)造成出現(xiàn)無法預(yù)料問題。

A工作人員在兩個(gè)環(huán)境里切換,輕易操作失誤,引發(fā)無須要麻煩。

>開發(fā)和系統(tǒng)測(cè)試同時(shí)進(jìn)行輕易造成對(duì)系統(tǒng)狀態(tài)錯(cuò)誤估量。

10.4為測(cè)試使用真實(shí)數(shù)據(jù)

>測(cè)試數(shù)據(jù)通常情況下是虛構(gòu),不過有時(shí)候需要使用實(shí)際操作或運(yùn)作數(shù)據(jù),

當(dāng)該數(shù)據(jù)含有企業(yè)敏感信息時(shí)候,假如不加以控制,會(huì)造成數(shù)據(jù)泄漏。當(dāng)處于測(cè)

試目標(biāo)而使用真實(shí)敏感數(shù)據(jù)時(shí),能夠采取以下方法保護(hù)測(cè)試數(shù)據(jù)安全:

>對(duì)測(cè)試系統(tǒng)進(jìn)行嚴(yán)格訪問控制。只許可小部分測(cè)試人員進(jìn)行測(cè)試。且測(cè)

試人員應(yīng)簽署安全保密協(xié)議。

>每一次將真實(shí)運(yùn)作信息復(fù)制到測(cè)試系統(tǒng)時(shí)均需要一個(gè)單獨(dú)授權(quán)過程。

10.5測(cè)試完成后,應(yīng)立即將相關(guān)數(shù)據(jù)從測(cè)試應(yīng)用系統(tǒng)中刪除。

10.6統(tǒng)計(jì)下測(cè)試數(shù)據(jù)復(fù)制、使用和刪除情況,方便于審查追蹤。

10.7在軟件轉(zhuǎn)移至生產(chǎn)環(huán)境前進(jìn)行測(cè)試

10.8在軟件程序上線投入使用之前,必需采取切實(shí)方法確保這些軟

件接收了足夠測(cè)試和統(tǒng)計(jì)。不然就有可能造成很嚴(yán)重問題,甚至

造成企業(yè)日常運(yùn)行中止“必需牢靠樹立類似見解。

10.9應(yīng)用系統(tǒng)安全質(zhì)量判定

>現(xiàn)在國(guó)際上公認(rèn)開發(fā)質(zhì)量驗(yàn)證標(biāo)準(zhǔn)關(guān)鍵有兩種,能夠依據(jù)這兩種標(biāo)正確

定系統(tǒng)是否已經(jīng)達(dá)成了這兩種標(biāo)準(zhǔn)要求:

>ISO9000認(rèn)證體系

>軟件開發(fā)能力成熟度模型(CMMT)

第11章系統(tǒng)培訓(xùn)及文檔階段安全規(guī)范

11.1新系統(tǒng)培訓(xùn)

>對(duì)全部用戶和技術(shù)人員提供相關(guān)新系統(tǒng)功效和操作方面培訓(xùn)。必需確保

全部技術(shù)和'業(yè)務(wù)用戶接收足夠相關(guān)新系統(tǒng)或系統(tǒng)改善培訓(xùn)。

>培訓(xùn)應(yīng)有側(cè)重,而不是面面俱到、人人俱到

>相關(guān)應(yīng)用系統(tǒng)安全性方面培訓(xùn)應(yīng)擺在十分關(guān)鍵位置。

1L2撰寫新系統(tǒng)和系統(tǒng)改善文檔

>假如缺乏足夠文檔,當(dāng)系統(tǒng)發(fā)生問題時(shí)候,只能憑經(jīng)驗(yàn)處理,而有可能

會(huì)錯(cuò)上加錯(cuò)。一樣文檔不完整,不立即更新也會(huì)對(duì)系統(tǒng)維護(hù)能力造成致命影響。

第12章全部新系統(tǒng)和系統(tǒng)改善全部必需有充足最新文檔

支持,假如文檔沒有含有則系統(tǒng)不能上線。

第13章必需確保新系統(tǒng)和系統(tǒng)改善有詳實(shí)文檔。不可因?yàn)?/p>

資源和預(yù)算限制,而造成文檔不充足或完全沒有是不許

可發(fā)生事情。

第14章應(yīng)用系統(tǒng)開發(fā)外包安全控制

>假如對(duì)于外包(Outsourcing)應(yīng)用系統(tǒng)開發(fā)過程缺乏有效安全控制,組織

就見面臨很多風(fēng)險(xiǎn),比如應(yīng)用系統(tǒng)本身質(zhì)量問題、應(yīng)用系統(tǒng)本身隱藏了特洛伊木

馬或隱藏通道等。所以組織必需對(duì)開發(fā)外包進(jìn)行一定管理確保外包安全,提議采

取以下控制方法:

>應(yīng)選擇一個(gè)信譽(yù)和質(zhì)量確保能力卓著軟件開發(fā)商來為自己開發(fā)軟件。比

如開發(fā)商應(yīng)經(jīng)過了IS09001質(zhì)量管理體系認(rèn)證或軟件成熟度CMM等級(jí)。

>應(yīng)和外包供給商簽署商務(wù)或技術(shù)協(xié)議或枕,議,明確軟件質(zhì)量、知識(shí)產(chǎn)權(quán)

和安全要求,和軟件本身安全功效和開發(fā)過程安全控制要求。

>應(yīng)和外包供給商確定軟件開發(fā)后使用許可、代碼全部權(quán)和相關(guān)知識(shí)產(chǎn)權(quán)

歸屬問題。

>開放商應(yīng)出具所開發(fā)應(yīng)用系統(tǒng)質(zhì)量證實(shí)和完成工作正確性。

>應(yīng)在系統(tǒng)正式?jīng)]入使用之前仔細(xì)測(cè)試代碼中是否包含了特洛伊木馬程序

或隱藏通道。

第15章附錄

15.1參考文件

>【國(guó)家法律】

《中國(guó)國(guó)家安全法》

《中國(guó)計(jì)算機(jī)信息系統(tǒng)安全保護(hù)條例》

《中國(guó)計(jì)算機(jī)信息網(wǎng)絡(luò)國(guó)際聯(lián)網(wǎng)管理暫行要求》

《中國(guó)保守國(guó)家秘密法》

《中國(guó)國(guó)家安全法》

>【國(guó)家要求】

《維護(hù)互聯(lián)網(wǎng)安全決定》

中國(guó)計(jì)算機(jī)信息系統(tǒng)安全保護(hù)條例

中國(guó)信息安全產(chǎn)品測(cè)評(píng)認(rèn)證用標(biāo)準(zhǔn)目錄(一)

軍用計(jì)算機(jī)安全評(píng)定準(zhǔn)則GJB2255-95

國(guó)土資源部信息網(wǎng)絡(luò)安全管理要求

安全策略分析匯報(bào)一樣例

淺談金融計(jì)算機(jī)信息系統(tǒng)安全管理

電子計(jì)算機(jī)機(jī)房施工及驗(yàn)收規(guī)范sj

電子計(jì)算機(jī)機(jī)房設(shè)計(jì)規(guī)范GB50174-1993

網(wǎng)絡(luò)國(guó)際聯(lián)網(wǎng)管理暫行要求

計(jì)算機(jī)信息系統(tǒng)國(guó)際聯(lián)網(wǎng)保密管理要求

計(jì)算機(jī)信息系統(tǒng)安全專用產(chǎn)品分類標(biāo)準(zhǔn)(GA163T997)

計(jì)算機(jī)信息系統(tǒng)安全產(chǎn)品部件(安全功效檢測(cè)GA216-1T999)

計(jì)算機(jī)信息系統(tǒng)安全保護(hù)等級(jí)劃分準(zhǔn)則GB17859-1999

計(jì)算機(jī)信息系統(tǒng)安全等級(jí)保護(hù)操作系統(tǒng)技術(shù)要求(GAT388-)

計(jì)算機(jī)信息系統(tǒng)安全等級(jí)保護(hù)數(shù)據(jù)庫(kù)管理系統(tǒng)技術(shù)要求(GAT389-)

計(jì)算機(jī)信息系統(tǒng)安全等級(jí)保護(hù)管理要求(GAT391)

計(jì)算機(jī)信息系統(tǒng)安全等級(jí)保護(hù)網(wǎng)絡(luò)技術(shù)要求:GAT387-)

計(jì)算機(jī)信息系統(tǒng)安全等級(jí)保護(hù)通用技術(shù)要求GAT390-)

計(jì)算機(jī)軟件保護(hù)條例

計(jì)算站場(chǎng)地安全要GB9361_1988

計(jì)算站場(chǎng)地技術(shù)條件gb2887-1989field

銀行k聯(lián)網(wǎng)聯(lián)合安全規(guī)范

>【國(guó)家防火規(guī)范標(biāo)準(zhǔn)】

建筑內(nèi)部裝修設(shè)計(jì)防火規(guī)范GB5022295.doc

建筑物防雷設(shè)計(jì)規(guī)范GB50057_94.doc

建筑設(shè)計(jì)防火規(guī)范.doc

火災(zāi)自動(dòng)報(bào)警系統(tǒng)設(shè)計(jì)規(guī)范GBJ116_88.doc

高層民用建筑設(shè)計(jì)防火規(guī)范GB5004595.doc

>【國(guó)外相關(guān)標(biāo)準(zhǔn)】

RFC2196

BS

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論