常見弱點(diǎn)枚舉 (CWE) 列出了導(dǎo)致許多軟件系統(tǒng)中出現(xiàn)安全漏洞的共模故障。它可用于幫助提高關(guān)鍵網(wǎng)絡(luò)和基礎(chǔ)設(shè)施的穩(wěn)健性,以幫助阻止網(wǎng)絡(luò)攻擊。
網(wǎng)絡(luò)中心戰(zhàn)使用網(wǎng)絡(luò)系統(tǒng)在戰(zhàn)區(qū)內(nèi)共享信息。這一先進(jìn)的通信網(wǎng)絡(luò)增強(qiáng)了態(tài)勢感知能力,目的是提高特派團(tuán)的效力。
支撐這種系統(tǒng)的網(wǎng)絡(luò)有可能向敵人暴露一個(gè)重要的攻擊面,引發(fā)重大的安全問題。在了解了需要采取哪些措施來確保系統(tǒng)安全之后,下面將檢查常見的弱點(diǎn)和枚舉 (CWE),并演示如何使用它來增強(qiáng)戰(zhàn)斗通信的安全性。
安全問題
內(nèi)部網(wǎng)絡(luò)通常被作為獲取機(jī)密信息的一種手段。2008年,美國軍事中央司令部網(wǎng)絡(luò)中的機(jī)密和非機(jī)密系統(tǒng)被發(fā)現(xiàn)遭到破壞。調(diào)查顯示,一臺軍用筆記本電腦被便攜式USB驅(qū)動器感染。然后,這種感染通過網(wǎng)絡(luò)連接傳播到安全區(qū)域,據(jù)信已用于將大量數(shù)據(jù)傳輸給第三方。在最初的攻擊發(fā)生四年后,仍然發(fā)現(xiàn)了受感染的機(jī)器。
還試圖進(jìn)行外部攻擊。例如,利用在聯(lián)合攻擊戰(zhàn)斗機(jī)上工作的一個(gè)或多個(gè)承包商中的網(wǎng)絡(luò)漏洞來訪問敏感的項(xiàng)目數(shù)據(jù)。這次攻擊似乎始于2007年,但直到2009年才被發(fā)現(xiàn)。攻擊包括在開發(fā)環(huán)境中安裝復(fù)雜的間諜軟件。間諜軟件用于將數(shù) TB 的數(shù)據(jù)傳輸?shù)降谌?。泄露的確切性質(zhì)尚不清楚,因?yàn)閿?shù)據(jù)在發(fā)送之前經(jīng)過了高度加密。
理解系統(tǒng)受到攻擊的原因并不總是那么容易,有些攻擊可能是偶然的。用于控制“捕食者”和“收割者”無人機(jī)機(jī)隊(duì)的系統(tǒng)最近被發(fā)現(xiàn)感染了一種包含鍵盤記錄器有效載荷的病毒。鍵盤記錄器記錄了無人機(jī)飛行員在現(xiàn)役期間的動作,但不影響系統(tǒng)功能。似乎沒有數(shù)據(jù)丟失,盡管這可能僅僅是因?yàn)槿狈衫玫耐獠烤W(wǎng)絡(luò)連接。事實(shí)證明,網(wǎng)絡(luò)感染很難根除,并且已發(fā)現(xiàn)已傳播到分類和非分類系統(tǒng)。據(jù)認(rèn)為,該病毒是由用于將地圖和其他數(shù)據(jù)傳輸?shù)?a href="http://ttokpm.com/v/tag/8966/" target="_blank">控制系統(tǒng)的便攜式USB驅(qū)動器無意中引入的。
敏感信息丟失并不是攻擊的唯一可能結(jié)果。在軍事空中交通管制系統(tǒng)中檢測到的病毒有可能使第三方使雷達(dá)數(shù)據(jù)不可信,從而導(dǎo)致混亂或資產(chǎn)損失。
安全注意事項(xiàng)
其中許多安全問題是由于系統(tǒng)系統(tǒng)內(nèi)的設(shè)備互連而引起的。攻擊者很難利用隔離運(yùn)行的系統(tǒng)。但是,如果它們是聯(lián)網(wǎng)的,即使是間歇性的,網(wǎng)絡(luò)也允許許多其他系統(tǒng)受到攻擊。如果它們都基于相同的技術(shù),則可以利用常見的安全漏洞來快速傳播惡意軟件。
CWE檢查
利用的漏洞通常與代碼實(shí)現(xiàn)或需求錯誤有關(guān)。例如,由無效網(wǎng)絡(luò)數(shù)據(jù)觸發(fā)的緩沖區(qū)溢出事件可能被用來誘騙系統(tǒng)運(yùn)行攻擊者注入的任意代碼。根據(jù)美國國家安全技術(shù)研究所(NIST)的研究,64%的軟件漏洞源于編程錯誤。
CWE是由MITRE公司在美國聯(lián)邦撥款下運(yùn)營的一項(xiàng)戰(zhàn)略軟件保障計(jì)劃,由美國國土安全部國家網(wǎng)絡(luò)安全部門共同贊助。它列出了導(dǎo)致系統(tǒng)內(nèi)安全故障的編程錯誤,旨在改進(jìn)用于確保連接設(shè)備安全的軟件保證和審查流程。以這種方式枚舉漏洞允許定義編碼標(biāo)準(zhǔn)以針對它們,以便在開發(fā)過程中消除它們。
CWE數(shù)據(jù)庫
CWE數(shù)據(jù)庫包含有關(guān)安全漏洞的信息,這些漏洞已被證明會導(dǎo)致可利用的漏洞。這些弱點(diǎn)可能位于基礎(chǔ)結(jié)構(gòu)級別(例如,配置不當(dāng)?shù)木W(wǎng)絡(luò)和/或安全設(shè)備)、策略和過程級別(例如,共享用戶名和/或密碼)或編碼級別(例如,無法驗(yàn)證數(shù)據(jù))。CWE數(shù)據(jù)庫包含有關(guān)實(shí)際漏洞的信息,而不是理論信息,因此僅捕獲在該領(lǐng)域被利用的編碼弱點(diǎn)。
CWE兼容性的優(yōu)勢
應(yīng)在開發(fā)環(huán)境中使用 CWE,以確保不會將已知漏洞引入軟件。許多已識別的問題都可以通過靜態(tài)和/或動態(tài)檢查工具自動檢測。為了獲得最大的收益,應(yīng)在開發(fā)過程中盡早使用此類工具,因?yàn)閲L試在最后一刻添加安全性不太可能成功。采用其他工具強(qiáng)制執(zhí)行的安全標(biāo)準(zhǔn),如CERT-C安全編碼標(biāo)準(zhǔn),補(bǔ)充了這一目標(biāo),并進(jìn)一步增強(qiáng)了安全特性。
確保系統(tǒng)安全
許多安全漏洞可以追溯到編碼錯誤或架構(gòu)缺陷,并且在部署系統(tǒng)后通常很難修復(fù)和/或成本高昂。遺憾的是,許多開發(fā)人員只對核心應(yīng)用程序功能的開發(fā)和測試感興趣。安全性很少以相同的嚴(yán)格性進(jìn)行測試。
系統(tǒng)的安全性需要被視為系統(tǒng)最重要的屬性之一。如果最終系統(tǒng)要安全,則需要在系統(tǒng)設(shè)計(jì)中預(yù)先包含安全要求,并在正常開發(fā)期間實(shí)施。CWE 可用于幫助確定適當(dāng)?shù)母呒壈踩蟆?/p>
通過在軟件開發(fā)生命周期的所有階段關(guān)注這些措施,開發(fā)人員可以幫助消除已知的弱點(diǎn)。
為了防止引入安全漏洞,開發(fā)團(tuán)隊(duì)需要對開發(fā)過程中要采取的安全目標(biāo)和方法有共同的理解。這應(yīng)包括評估安全風(fēng)險(xiǎn)和建立將使用的安全編碼做法。再一次,CWE可以在編碼過程中提供幫助,因?yàn)樗怀隽藢?dǎo)致其他系統(tǒng)安全妥協(xié)的構(gòu)造,提醒開發(fā)人員在實(shí)施過程中需要格外小心。
風(fēng)險(xiǎn)評估確定與具體情況和識別威脅相關(guān)的各種系統(tǒng)組件的定量和定性安全風(fēng)險(xiǎn)。此信息用于減少安全漏洞,如果其安全性被破壞,將產(chǎn)生重大影響的區(qū)域。評估的結(jié)果是制定一套安全控制和緩解策略,這些策略將構(gòu)成系統(tǒng)安全要求的核心。
這些安全要求成為用于所有其他要求的同一開發(fā)過程的一部分。一開始就詳細(xì)說明,然后通過設(shè)計(jì)、編碼和測試階段跟蹤安全要求,以確保滿足初始要求。這些鏈接形成文檔,演示最終系統(tǒng)如何滿足開始時(shí)規(guī)定的安全目標(biāo)。
CWE:不是編碼標(biāo)準(zhǔn)
CWE是一個(gè)“不要被抓住”的列表,而不是實(shí)際的編碼標(biāo)準(zhǔn)。但是,編碼標(biāo)準(zhǔn)可以作為補(bǔ)充,以確保項(xiàng)目中不存在CWE問題。遵守這些標(biāo)準(zhǔn)有助于確保實(shí)現(xiàn)項(xiàng)目安全目標(biāo),尤其是當(dāng)許多安全問題直接由它們所針對的編碼錯誤導(dǎo)致時(shí)。此外,遵守公認(rèn)的標(biāo)準(zhǔn)有助于證明合同擔(dān)保義務(wù)已經(jīng)履行。
遵守所選的編碼標(biāo)準(zhǔn)(或標(biāo)準(zhǔn))應(yīng)該是一個(gè)正式的過程(理想情況下是工具輔助的,但也可以手動),因?yàn)榫幊虉F(tuán)隊(duì)幾乎不可能在整個(gè)代碼庫中遵循所有規(guī)則和準(zhǔn)則。
遵守標(biāo)準(zhǔn)是確定代碼質(zhì)量時(shí)應(yīng)用的有用指標(biāo)。
靜態(tài)和動態(tài)測試應(yīng)被視為基本實(shí)踐。確認(rèn)CWE兼容性的靜態(tài)分析工具在所有代碼中系統(tǒng)地執(zhí)行該標(biāo)準(zhǔn)。動態(tài)分析可確保代碼不包含運(yùn)行時(shí)錯誤,包括可能被利用來危害安全性的錯誤。
可追溯性很重要
如果要聲明系統(tǒng)符合CWE等安全標(biāo)準(zhǔn),則必須提供證據(jù)來支持該聲明??勺匪菪裕劭梢燥@示哪些測試結(jié)果證明已滿足特定的安全要求],從需求到設(shè)計(jì),驗(yàn)證計(jì)劃和由此產(chǎn)生的測試工件可用于支持此類聲明。
圖 2 說明了如何將可追溯性鏈接到需求和相關(guān)測試用例。這種圖形表示使開發(fā)人員可以輕松地立即發(fā)現(xiàn)不必要的功能(不需要的代碼)、未實(shí)現(xiàn)的需求以及失敗或缺失的測試用例。
圖2:LDRA TBmanager使用戶能夠查看單個(gè)需求和測試用例的源代碼可追溯性。
前進(jìn)
采用針對 CWE 漏洞的安全標(biāo)準(zhǔn)允許為項(xiàng)目指定安全質(zhì)量屬性。將安全屬性納入系統(tǒng)要求意味著可以在將系統(tǒng)集成到網(wǎng)絡(luò)之前對其進(jìn)行測量和驗(yàn)證,從而大大降低敵人在現(xiàn)場利用潛在安全漏洞的可能性。
使用合格且集成良好的應(yīng)用程序生命周期管理 (ALM) 工具來自動執(zhí)行測試、整理過程工件和需求可追溯性,大大減少了生成認(rèn)證機(jī)構(gòu)所需文檔所需的資源。它最大限度地減少了開發(fā)人員的工作量,并允許管理人員有效地跟蹤進(jìn)度。
很明顯,如果要保護(hù)網(wǎng)絡(luò)中心戰(zhàn)系統(tǒng)免受信息泄露和遠(yuǎn)程操縱,系統(tǒng)開發(fā)人員需要重新考慮他們的假設(shè)。利用CWE中包含的知識并選擇借助CWE感知工具開發(fā)和測試軟件是向前邁出的重要一步。合并CWE并開始持續(xù)改進(jìn)過程的公司有助于確保只有可靠,值得信賴,可擴(kuò)展和安全的系統(tǒng)才能交付給那些冒著生命危險(xiǎn)來保護(hù)我們國家的人。
審核編輯:郭婷
-
驅(qū)動器
+關(guān)注
關(guān)注
52文章
8099瀏覽量
145817 -
usb
+關(guān)注
關(guān)注
60文章
7876瀏覽量
263709
發(fā)布評論請先 登錄
相關(guān)推薦
評論