3月22日,360政企安全對(duì)外披露了美國(guó)國(guó)安局(NSA)針對(duì)中國(guó)境內(nèi)目標(biāo)采用的Quantum網(wǎng)絡(luò)攻擊平臺(tái)的技術(shù)特點(diǎn),并證明了其無(wú)差別化網(wǎng)絡(luò)攻擊,不但能夠劫持世界任何角落的頁(yè)面流量,而且可以實(shí)施零日(0 day)漏洞利用攻擊,并遠(yuǎn)程植入后門(mén)程序。
隔天24日,網(wǎng)上曝出微軟被黑客組織Lapsus$盜用了的一個(gè)賬戶,并獲得了有限訪問(wèn)權(quán)限,并聲稱(chēng)掌握部分源代碼。
即便是微軟這樣的巨頭,也不可避免的中招了!
對(duì)此次入侵,微軟表示,“我們的網(wǎng)絡(luò)安全響應(yīng)團(tuán)隊(duì)迅速參與修復(fù)受損帳戶,并防止黑客組織進(jìn)一步活動(dòng)。”
不到三天接料爆料出重大的安全新聞,相信國(guó)內(nèi)各個(gè)企業(yè)的風(fēng)控部門(mén)都會(huì)倒吸一口涼氣。有的已經(jīng)開(kāi)始組織安全人員,準(zhǔn)備擼起袖子開(kāi)展自身系統(tǒng)安全的檢查與整改工作。不過(guò),常言道“磨刀不誤砍柴工”。我們與其在現(xiàn)有的生產(chǎn)環(huán)境中大海撈針,不如先靜下心來(lái),從系統(tǒng)開(kāi)發(fā)與運(yùn)營(yíng)兩個(gè)維度出發(fā)去思考。我這里結(jié)合以往的從業(yè)經(jīng)歷,總結(jié)除了五大系統(tǒng)安全實(shí)踐參考要點(diǎn):開(kāi)發(fā)安全、系統(tǒng)梳理、權(quán)值分級(jí)、風(fēng)險(xiǎn)管理、監(jiān)控響應(yīng)。希望能幫助各位快速鎖定安全隱患,防患于未然。
開(kāi)發(fā)安全
相信大家對(duì) DevSecOps一詞并不陌生,它由敏捷開(kāi)發(fā)模式演變而來(lái),旨在將安全性盡量“左移”到各個(gè)開(kāi)發(fā)子周期的初始階段,以協(xié)助研發(fā)人員盡早獲悉應(yīng)用代碼中可能存在的威脅與漏洞。對(duì)此,我們可以采用如下四種實(shí)踐模式:
未雨綢繆式:分割應(yīng)用程序之間依賴性,以便隔離各個(gè)組件,將來(lái)漏洞和威脅限制在單個(gè)組件中,進(jìn)而保證其他組件的持續(xù)運(yùn)行。該模式的典型場(chǎng)景是微服務(wù)應(yīng)用。
一票否定式:通過(guò)代碼邏輯和用戶場(chǎng)景的構(gòu)建,在有惡意行為出現(xiàn)時(shí),中斷其所有進(jìn)程。例如:如果有用戶在訪問(wèn)某個(gè)網(wǎng)站時(shí),試圖進(jìn)行跨站腳本注入攻擊,那么其任何操作行為及其會(huì)話就應(yīng)當(dāng)被直接阻止。
他山之石式:在缺乏安全專(zhuān)家的團(tuán)隊(duì)中,可以通過(guò)業(yè)界常用的威脅模型與管控模型,來(lái)提前識(shí)別應(yīng)用組件可能面臨的潛在風(fēng)險(xiǎn),并選取最佳防護(hù)措施。
川流不息式:利用自動(dòng)化監(jiān)控手段和獲取的多種輸入?yún)?shù),將對(duì)于運(yùn)行環(huán)境與用例的風(fēng)險(xiǎn)評(píng)估,集成到軟件服務(wù)整個(gè)生命周期中。
此外,在軟件應(yīng)用的構(gòu)建中,我們也需要落實(shí)如下方面:
針對(duì)不同的應(yīng)用服務(wù),設(shè)置不同的用戶職能組別。
通過(guò)加密等方式,避免在應(yīng)用數(shù)據(jù)的傳輸過(guò)程中,泄漏任何密碼、口令、證書(shū)或私鑰信息。
將多種應(yīng)用程序的登錄方式統(tǒng)一為多因素認(rèn)證(MFA)+單點(diǎn)登錄(SSO),以實(shí)現(xiàn)用戶賬號(hào)權(quán)限的自動(dòng)匹配。
使用成熟的產(chǎn)品來(lái)管理密鑰,及時(shí)發(fā)現(xiàn)過(guò)期與注銷(xiāo)證書(shū)等情況。
檢查程序代碼,及時(shí)發(fā)現(xiàn)無(wú)效或過(guò)時(shí)的依賴項(xiàng)、代碼庫(kù)、潛在的內(nèi)存泄漏、死循環(huán)、以及代碼漏洞。
系統(tǒng)梳理
當(dāng)然,除了提供軟件應(yīng)用服務(wù),我們也離不開(kāi)承載著應(yīng)用的系統(tǒng)架構(gòu)。隨著企業(yè)的發(fā)展,其IT架構(gòu)與平臺(tái)會(huì)呈現(xiàn)錯(cuò)綜復(fù)雜的結(jié)構(gòu)狀態(tài)。因此,我們需要通過(guò)鉆機(jī)房,登設(shè)備,查線路,測(cè)應(yīng)用,跟業(yè)務(wù),訪用戶等活動(dòng),梳理出日常IT服務(wù)所處的環(huán)境,以及所用到的資源。
在清點(diǎn)并填寫(xiě)具體內(nèi)容之前,我們需要事先做好條目的分類(lèi)與定義,以保證生成的清單具有統(tǒng)一性和規(guī)范性。而在實(shí)踐中,我們需要以數(shù)據(jù)的特征與狀態(tài)為依據(jù),去發(fā)現(xiàn)那些存儲(chǔ)著靜態(tài)數(shù)據(jù)的有形硬件設(shè)備,處理著實(shí)時(shí)數(shù)據(jù)的軟件應(yīng)用,承載著動(dòng)態(tài)數(shù)據(jù)的網(wǎng)絡(luò),包含著結(jié)構(gòu)化數(shù)據(jù)的數(shù)據(jù)庫(kù),存放著非結(jié)構(gòu)化數(shù)據(jù)的云平臺(tái),以及被用于持續(xù)讀寫(xiě)數(shù)據(jù)的文件服務(wù)器與用戶終端。
為了保證準(zhǔn)確性,我們可以采用“自動(dòng)化工具發(fā)現(xiàn) + 人工錄入 + 二次審核”的方式,構(gòu)建出全面、完整、直觀的系統(tǒng)基線。這將是我們后期進(jìn)行整改的參考標(biāo)準(zhǔn)。
權(quán)值分級(jí)
完成了系統(tǒng)的梳理,我們便可以從信息安全的經(jīng)典理論出發(fā),全面考慮各種組件與數(shù)據(jù)在其機(jī)密性(C)、完整性(I)和可用性(A)受到破壞時(shí),可能給企業(yè)帶來(lái)的影響程度,并據(jù)此賦予三個(gè)維度相應(yīng)的數(shù)值。有了賦值,我們便可以基于如下的公式,計(jì)算出資產(chǎn)的權(quán)重值(V):
值得注意的是,我們不但可以給軟硬件資產(chǎn)賦值,也可以對(duì)數(shù)據(jù)分配權(quán)重值,以進(jìn)步厘清有哪些數(shù)據(jù)需要被加密存放,哪些數(shù)據(jù)在使用需要立即清除,哪些數(shù)據(jù)僅能在內(nèi)部被受限制地使用,以及哪些數(shù)據(jù)可以被直接對(duì)外開(kāi)放。當(dāng)然,精確的數(shù)字往往不便于界定,我們可以通過(guò)取值范圍來(lái)劃分出:“絕密、機(jī)密、隱私、敏感 、公開(kāi)”等級(jí)。
同時(shí),在一些機(jī)密性要求極其嚴(yán)格的場(chǎng)合,我們甚至需要對(duì)某些結(jié)構(gòu)化數(shù)據(jù)表中的字段,非結(jié)構(gòu)化數(shù)據(jù)域中的鍵/值(K/V),以及某個(gè)介質(zhì)對(duì)應(yīng)的屬性標(biāo)簽里的元信息,進(jìn)行不同安全級(jí)別的區(qū)分。當(dāng)然,除了對(duì)數(shù)據(jù)予以邏輯分級(jí),我們也需要以物理標(biāo)簽的形式,來(lái)顯著標(biāo)識(shí)設(shè)備部件的密級(jí)。
風(fēng)險(xiǎn)管控:運(yùn)營(yíng)風(fēng)險(xiǎn)識(shí)別及應(yīng)對(duì)
一些開(kāi)發(fā)者或許會(huì)疑惑:有哪些影響C、I、A的因素呢?此時(shí)我們就需要來(lái)識(shí)別運(yùn)營(yíng)環(huán)境中針對(duì)組件與數(shù)據(jù)的外部威脅、內(nèi)部弱點(diǎn)、以及組合到一起形成的風(fēng)險(xiǎn)了。通常,我們可以采取如下四步來(lái)識(shí)別風(fēng)險(xiǎn):
1、收集與識(shí)別:根據(jù)過(guò)往的記錄、以及業(yè)界經(jīng)驗(yàn),招集不同角色的人員,使用頭腦風(fēng)暴、問(wèn)卷訪談、矩陣圖表等方法,識(shí)別現(xiàn)有環(huán)境中的隱患。例如:
(1)技術(shù)層面上:軟、硬件介質(zhì)的故障與損壞、應(yīng)用系統(tǒng)的自身缺陷、惡意軟件的死鎖、以及網(wǎng)絡(luò)上的各種拒絕服務(wù)的攻擊等。
(2)支撐系統(tǒng)層面上 :機(jī)房停電、漏水、以及運(yùn)營(yíng)商網(wǎng)絡(luò)中斷等。
(3)人為層面上:訪問(wèn)掛馬的網(wǎng)站、各種操作性的失誤、以及文件數(shù)據(jù)被誤改或篡改等。
(4)管理層面上:人員意識(shí)的缺乏、處置方式的錯(cuò)誤、以及規(guī)章制度的不完善等。
2、分析與評(píng)估:運(yùn)用定性/定量等不同的方法,對(duì)已發(fā)現(xiàn)的風(fēng)險(xiǎn)從程度、范圍、以及可能性三個(gè)維度進(jìn)行評(píng)估與排序,進(jìn)而得出風(fēng)險(xiǎn)等級(jí)矩陣。在實(shí)際中,我們可以參考如下的界定標(biāo)準(zhǔn)進(jìn)行風(fēng)險(xiǎn)的量化:
(2)損害的程度 – 輕微、一般、較大、嚴(yán)重、特大等。
(3)影響的范圍 - 整個(gè)企業(yè)、所有外部客戶、多個(gè)分站點(diǎn)、某個(gè)部門(mén)、部分系統(tǒng)、單個(gè)服務(wù)等。
(4)發(fā)生的可能性 – 可考慮物理與邏輯上所處的區(qū)域、自身的容錯(cuò)能力、等級(jí)保護(hù)與合規(guī)的達(dá)標(biāo)情況等。
3、應(yīng)對(duì)與處置:我們需要根據(jù)本企業(yè)的風(fēng)險(xiǎn)偏好(即風(fēng)險(xiǎn)接受程度),在通用的風(fēng)險(xiǎn)減輕、轉(zhuǎn)移、規(guī)避、以及接受等處置方法中進(jìn)行選擇,并予以應(yīng)對(duì)。其中,我們需要對(duì)如下兩個(gè)方面引起重視:
(1)根據(jù)木桶原理,我們應(yīng)當(dāng)注意處置措施的一致性,以免出現(xiàn)局部“短板”。
(2)在分清風(fēng)險(xiǎn)的所有者、以及控制實(shí)施者的基礎(chǔ)上,兼顧時(shí)間、預(yù)算等成本,靈活調(diào)整各項(xiàng)管控策略。
監(jiān)控響應(yīng):最小化安全事件
目前,許多企業(yè)都通過(guò)建立主動(dòng)監(jiān)控和響應(yīng)機(jī)制,來(lái)最小化安全事件對(duì)于業(yè)務(wù)運(yùn)營(yíng)的負(fù)面影響。例如,運(yùn)營(yíng)團(tuán)隊(duì)可以設(shè)置可靠性工程師(SRE)崗位,在日常預(yù)防性例檢中,實(shí)時(shí)地監(jiān)控關(guān)鍵設(shè)備的狀態(tài),及時(shí)根據(jù)文檔發(fā)現(xiàn)并定位部件故障。同時(shí),他們也可以通過(guò)部署諸如Zabbix等開(kāi)源的日志與事件監(jiān)控工具,以遠(yuǎn)程和集中的方式,審查并跟蹤各項(xiàng)性能指標(biāo)。
下面,我以某個(gè)云端業(yè)務(wù)環(huán)境為例,來(lái)討論如何在事件監(jiān)控與響應(yīng)的整個(gè)生命周期中,實(shí)施管理和控制。
檢測(cè)與識(shí)別階段:分別抓取和過(guò)濾來(lái)自各個(gè)虛擬機(jī)的系統(tǒng)事件、以及基于網(wǎng)絡(luò)的異常流量信息,然后持續(xù)將經(jīng)過(guò)篩選的日志信息寫(xiě)入HBase數(shù)據(jù)庫(kù),為后期的各種關(guān)聯(lián)分析、以及必要的取證提供重要依據(jù)。
調(diào)查與分析階段:運(yùn)用工具按照特征代碼,對(duì)事件的種類(lèi)予以分組、對(duì)事件的發(fā)生頻率進(jìn)行統(tǒng)計(jì)。同時(shí),我們可以引入應(yīng)用性能分析(APM)模塊,精確地定位是在應(yīng)用服務(wù)的哪個(gè)URL處出現(xiàn)了訪問(wèn)速度的驟降,或是用戶在提交哪個(gè)SQL語(yǔ)句時(shí)出現(xiàn)了延時(shí),以便更快地定位根本問(wèn)題。
抑制與補(bǔ)救階段:可以通過(guò)暫停出問(wèn)題的虛機(jī)鏡像,來(lái)隔離它與其他系統(tǒng)及服務(wù)之間的邏輯聯(lián)系,此舉既不會(huì)破壞該虛機(jī)上的證據(jù),又能夠阻止事態(tài)的惡化。
總的說(shuō)來(lái),我們可以參考如下流程,來(lái)有效應(yīng)對(duì)突發(fā)事件。
結(jié)語(yǔ)
綜上所述,我們從開(kāi)發(fā)安全、系統(tǒng)梳理、權(quán)值分級(jí)、風(fēng)險(xiǎn)管理、以及監(jiān)控響應(yīng)五個(gè)方面,討論了可落地的系統(tǒng)安全實(shí)踐要點(diǎn)。
面對(duì)紛繁復(fù)雜的內(nèi)外部網(wǎng)絡(luò)環(huán)境,我們應(yīng)當(dāng)秉承著“害人之心不可有,防人之心不可無(wú)”的樸素概念,積極主動(dòng)地對(duì)本企業(yè)的IT系統(tǒng),持續(xù)進(jìn)行抽絲剝繭式的梳理、檢查與改進(jìn)。我相信只要各個(gè)企業(yè)都能及時(shí)補(bǔ)齊安全短板,咱們國(guó)家的網(wǎng)絡(luò)安全整體態(tài)勢(shì)就會(huì)顯著提高。