美國卡內(nèi)基梅隆大學(xué)軟件工程研究所( Software Engineering Institute,簡(jiǎn)稱SEI)是美國國防部資助的研發(fā)中心,由卡內(nèi)基梅隆大學(xué)運(yùn)營。SEI提供技術(shù)推進(jìn)軟件工程實(shí)踐,與組織機(jī)構(gòu)協(xié)作顯著改進(jìn)軟件工程能力。
軟件工程研究所CERT網(wǎng)絡(luò)安全部是全球領(lǐng)先信任機(jī)構(gòu),致力于改進(jìn)計(jì)算機(jī)系統(tǒng)、網(wǎng)絡(luò)以及美國網(wǎng)絡(luò)安全行業(yè)資產(chǎn)的安全與彈性。
當(dāng)?shù)貢r(shí)間8月15日,美國卡內(nèi)基梅隆大學(xué)軟件工程研究所CERT部門發(fā)布 “CERT漏洞協(xié)同披露指南”(The CERT Guide to Coordinated Vulnerability Disclosure)。
“漏洞協(xié)同披露”(Coordinated Vulnerability Disclosure,簡(jiǎn)稱CVD)是緩解信息安全漏洞,削弱對(duì)手優(yōu)勢(shì)的過程。CVD是一個(gè)過程,而非事件。發(fā)布補(bǔ)丁或文件是CVD過程中的重要事件。
CVD參與對(duì)象可能會(huì)反復(fù)提出以下問題:
得知產(chǎn)品存在漏洞,應(yīng)采取哪些行動(dòng)予以響應(yīng)?其它哪些人需要了解事件?這些人需了解事件的最佳時(shí)機(jī)?
只有當(dāng)這些問題迎刃而解,無人存在疑問時(shí),CVD過程才算結(jié)束。
CVD與漏洞管理(Vulnerability Management,簡(jiǎn)稱VM)不同,不可混為一談。VM包含CVD的下游過程,一旦漏洞被披露,部署人員必須采取行動(dòng)予以響應(yīng)。
CVD原則如下:
• 降低損害——發(fā)布漏洞信息降低潛在損害;使用漏洞緩解技術(shù);減少陷入風(fēng)險(xiǎn)的時(shí)間;發(fā)布優(yōu)質(zhì)補(bǔ)丁;自動(dòng)識(shí)別易受攻擊的數(shù)據(jù),自動(dòng)部署補(bǔ)丁。
• 假設(shè)會(huì)有人報(bào)告漏洞——假設(shè)有人已花費(fèi)時(shí)間和精力聯(lián)系廠商或協(xié)調(diào)者報(bào)告問題。
• 避免措手不及——措手不及會(huì)增加漏洞披露帶來的消極后果,應(yīng)盡量避免。
• 激勵(lì)——獎(jiǎng)勵(lì)通常比懲罰更有效。由于激勵(lì)會(huì)加強(qiáng)安全研究人員與組織機(jī)構(gòu)之間的未來合作關(guān)系,因此激勵(lì)較為重要。
• 道德考量——CVD過程可采用技術(shù)和媒體專業(yè)團(tuán)體的大量道德準(zhǔn)則。
• 改進(jìn)過程——CVD過程參與者應(yīng)吸取經(jīng)驗(yàn),并響應(yīng)改進(jìn)過程。CVD還能為組織機(jī)構(gòu)的軟件開發(fā)生命周期(SDL)提供重要反饋。
• CVD苛刻——漏洞披露是多面問題,似乎沒有“正確”答案,只有“更好”或“更糟”的解決方案。
CVD過程包含的角色
CVD以發(fā)現(xiàn)漏洞開始,部署補(bǔ)丁或緩解措施結(jié)束。因此,CVD過程涉及不同的角色和利益相關(guān)者
• 發(fā)現(xiàn)者:發(fā)現(xiàn)漏洞的個(gè)人或組織機(jī)構(gòu)。
• 報(bào)告者:向廠商報(bào)告漏洞的個(gè)人或組織機(jī)構(gòu)。
• 廠商:生產(chǎn)或維護(hù)漏洞產(chǎn)品的個(gè)人或組織機(jī)構(gòu)。
• 部署者:必須部署補(bǔ)丁或采取其它補(bǔ)救措施的個(gè)人或組織機(jī)構(gòu)。
• 協(xié)調(diào)者:促進(jìn)協(xié)同響應(yīng)過程的個(gè)人或組織機(jī)構(gòu)。
CVD階段
CVD過程可廣泛定義為階段。雖然這些階段有時(shí)可能會(huì)出現(xiàn)次序顛倒的情況,甚至?xí)谔幚韱蝹€(gè)漏洞案例中重復(fù)出現(xiàn)(例如,接收者可能需要獨(dú)立驗(yàn)證報(bào)告),但常見順序如下:
• 發(fā)現(xiàn):發(fā)現(xiàn)產(chǎn)品中存在的漏洞。
• 報(bào)告:產(chǎn)品廠商或第三方協(xié)調(diào)員收到漏洞報(bào)告。
• 驗(yàn)證并歸類:報(bào)告接收人驗(yàn)證報(bào)告,確保準(zhǔn)確度,以采取進(jìn)一步行動(dòng)之前確定是否優(yōu)先處理。
• 修復(fù):開發(fā)修復(fù)計(jì)劃(軟件補(bǔ)丁,也可能是其它機(jī)制)并測(cè)試。
• 公眾意識(shí):將漏洞和修復(fù)計(jì)劃披露給公眾。
• 部署:將修復(fù)計(jì)劃應(yīng)用到已部署的系統(tǒng)中。
CVD過程差異
CVD過程會(huì)因參與者、時(shí)間推移和環(huán)境不同而存在差異:
• 選擇披露政策:由于業(yè)務(wù)需求各異,披露政策可能需要適用于不同的組織機(jī)構(gòu)、行業(yè)、產(chǎn)品,例如補(bǔ)丁分發(fā)或安全風(fēng)險(xiǎn)。
• 多方協(xié)調(diào):一個(gè)發(fā)現(xiàn)者與一個(gè)廠商之間的協(xié)調(diào)相對(duì)直接,但有些案例涉及多名發(fā)現(xiàn)者、或復(fù)雜的供應(yīng)鏈通常需要更多關(guān)注。
• 協(xié)同與同步:不同的組織機(jī)構(gòu)的工作步調(diào)不同,這會(huì)給同步漏洞信息和補(bǔ)丁增加難度。
• 協(xié)同范圍:CVD參與者必須決定協(xié)同過程范圍,例如最好將關(guān)鍵基礎(chǔ)設(shè)施漏洞從頭到尾協(xié)同披露給系統(tǒng)部署者,然而,對(duì)于移動(dòng)應(yīng)用程序的漏洞,也許通知了開發(fā)人員自動(dòng)更新過程就足夠了。
CERT協(xié)調(diào)中心資深漏洞分析師艾倫豪斯霍爾德表示,移動(dòng)設(shè)備的數(shù)量已經(jīng)超出傳統(tǒng)計(jì)算機(jī)的數(shù)量,而物聯(lián)網(wǎng)將在未來幾年趕超移動(dòng)設(shè)備數(shù)量。隨著漏洞發(fā)現(xiàn)漏洞和技術(shù)為了滿足現(xiàn)實(shí)不斷發(fā)展,因此協(xié)調(diào)和披露的工具與過程也必須滿足現(xiàn)實(shí)要求。由于硬件系統(tǒng)可能會(huì)主宰未來的互聯(lián)網(wǎng),因此必須重新評(píng)估許多有關(guān)披露時(shí)間、協(xié)調(diào)渠道、開發(fā)周期、掃描、打補(bǔ)丁等漏洞處理過程的設(shè)想。