朱犇,陳夢(mèng)嫻,孫望舒,戴文博
(國(guó)網(wǎng)浙江省電力有限公司溫州供電公司,浙江溫州 32500)
2017年5月12日,WannaCry勒索病毒事件全球爆發(fā),利用了微軟公司W(wǎng)indows操作系統(tǒng)的SMB服務(wù)漏洞(MS17-010)進(jìn)行傳播感染,兩天時(shí)間,約2242.3萬(wàn)個(gè)IP地址遭受“永恒之藍(lán)”漏洞攻擊。2017年12月15日, Oracle WebLogic存在CVE-2017-3506/CVE-2017-10352漏洞,被挖礦程序Watch-smartd所利用。2018年2月28日,知名代碼托管網(wǎng)站 GitHub 遭遇了史上最大規(guī)模的 DDoS 網(wǎng)絡(luò)攻擊,每秒 1.35 TB 的流量瞬間沖擊了這一開發(fā)者平臺(tái),攻擊者利用了基于 Memcached 的超放大攻擊。以上所有的這些安全事件受影響的設(shè)備基本都是暴露在互聯(lián)網(wǎng)上的,因此掌握企業(yè)資產(chǎn)在全互聯(lián)網(wǎng)中的暴露情況非常值得關(guān)注。
近年來(lái)互聯(lián)網(wǎng)大發(fā)展,正逐漸改變企業(yè)辦公、系統(tǒng)運(yùn)維的工作方式,同時(shí)推動(dòng)了生產(chǎn)系統(tǒng)的更新?lián)Q代和生產(chǎn)方式的變革。因企業(yè)業(yè)務(wù)需要I T 業(yè)務(wù)系統(tǒng)越建越多,資產(chǎn)暴露面越來(lái)越大,給別有用心者更多可乘之機(jī),甚至導(dǎo)致災(zāi)難性的破壞。
企業(yè)信息化工作經(jīng)過(guò)數(shù)年發(fā)展,業(yè)務(wù)系統(tǒng)、互聯(lián)網(wǎng)業(yè)務(wù)、手機(jī)應(yīng)用已經(jīng)得到了推廣,但隨著業(yè)務(wù)發(fā)展系統(tǒng)建設(shè)仍在不停發(fā)展,未經(jīng)報(bào)備私搭私建的情況仍然存在。這些業(yè)務(wù)系統(tǒng)未經(jīng)上線安全評(píng)估,存在極大的安全風(fēng)險(xiǎn)。主要表現(xiàn)在兩個(gè)方面,一是多數(shù)應(yīng)用使用未經(jīng)安全檢測(cè)的第三方應(yīng)用,二是系統(tǒng)開發(fā)人員安全意識(shí)薄弱,業(yè)務(wù)安全漏洞層出不窮。
對(duì)于日常安全管理來(lái)說(shuō),基于上述情況,主要要求業(yè)務(wù)部門做上線前安全評(píng)估,通過(guò)系統(tǒng)安全檢測(cè)挖掘安全風(fēng)險(xiǎn),檢測(cè)通過(guò)方可上線運(yùn)行,同時(shí)發(fā)布上線前安全管理辦法,從管理維度進(jìn)行約束。雖然從技術(shù)和管理都進(jìn)行了相應(yīng)的要求,但仍然無(wú)法杜絕私自上線業(yè)務(wù)系統(tǒng),破壞安全的行為,給企業(yè)安全管理造成不小影響。
綜上所述,不管從業(yè)務(wù)自身安全考慮,還是從企業(yè)安全整體考慮。通過(guò)建設(shè)自動(dòng)化監(jiān)測(cè)Web應(yīng)用URL地址工具,來(lái)監(jiān)控網(wǎng)絡(luò)內(nèi)私自上線業(yè)務(wù)系統(tǒng)的行為,勢(shì)在必行。
圖1 勒索病毒
現(xiàn)階段上線前安全評(píng)估流程在各大企業(yè)是力推的工作,但是一項(xiàng)流程如果通過(guò)制度推進(jìn),因涉及多個(gè)部門等因素通過(guò)制度很難推進(jìn)。如果流程通過(guò)線上平臺(tái)控制,不僅可以減少運(yùn)營(yíng)跟進(jìn)的人工成本,還能使推進(jìn)工作更加順暢。資產(chǎn)變更工作,安全部與業(yè)務(wù)部門對(duì)接較多,如圖1所示,通過(guò)建立資產(chǎn)發(fā)現(xiàn)平臺(tái)與需求申請(qǐng)平臺(tái)、開發(fā)管理平臺(tái)等對(duì)接,可以最大限度地減少溝通成本,提升推進(jìn)效率。
很多業(yè)務(wù)系統(tǒng)由于用戶較多,需求較大,開發(fā)團(tuán)隊(duì)有時(shí)候一周要對(duì)一個(gè)系統(tǒng)進(jìn)行多次修改,如果每次修改都需要多個(gè)部門介入評(píng)審或評(píng)估,工作效率極地。同時(shí),大部分企業(yè)對(duì)信息安全意識(shí)宣貫力度不夠,開發(fā)部門KPI更多的在于業(yè)務(wù)連續(xù)性、功能使用等方面,因此為了便捷及KPI會(huì)拋棄安全性。
圖2 業(yè)務(wù)部門分布
資產(chǎn)風(fēng)險(xiǎn)主要來(lái)源主要包括三個(gè)方面:一是未經(jīng)上線的業(yè)務(wù)系統(tǒng)(Web系統(tǒng)為主);二是未經(jīng)加固直接上線的;三是由于后期運(yùn)維為了便捷而開啟的運(yùn)維端口;四是由于業(yè)務(wù)需要但未經(jīng)過(guò)評(píng)估私自開啟的系統(tǒng)互聯(lián)接口。
Web系統(tǒng)方面主要風(fēng)險(xiǎn)為XSS漏洞、SQL注入漏洞、越權(quán)訪問(wèn)、旁注、任意文件上傳等高危應(yīng)用層漏洞。輕則系統(tǒng)遭受非法攻擊,重則數(shù)據(jù)泄露、主機(jī)權(quán)限丟失等。
未經(jīng)加固的主機(jī)及運(yùn)維端口開啟風(fēng)險(xiǎn)包括:開啟不必要的服務(wù)、高危端口、弱口令等。可能面臨攻擊包括拒絕服務(wù)攻擊、內(nèi)存溢出、提權(quán)等高危風(fēng)險(xiǎn)。
系統(tǒng)互聯(lián)接口包括系統(tǒng)服務(wù)接口、W e b 接口、數(shù)據(jù)庫(kù)接口、運(yùn)維端口等。風(fēng)險(xiǎn)包括賬號(hào)越權(quán)、弱口令、主機(jī)提取等。
圖3 Web2.0安全研究報(bào)告
安全部門提供安全編碼規(guī)范,開發(fā)團(tuán)隊(duì)在開發(fā)過(guò)程中需要上按照編碼規(guī)范要求。在開發(fā)階段減少安全隱患。規(guī)范需要涵蓋賬號(hào)與認(rèn)證、輸入與輸出驗(yàn)證、授權(quán)管理、數(shù)據(jù)保護(hù)、會(huì)話管理、加密管理、日志管理、異常管理等方面,從業(yè)務(wù)邏輯建議、代碼編寫建議、管理規(guī)范建議等方面提出安全需求。定期對(duì)開發(fā)部門進(jìn)行安全編碼培訓(xùn),講解常見應(yīng)用漏洞產(chǎn)生原理,提升開發(fā)人員安全編碼意識(shí)和安全開發(fā)水平。
新上線系統(tǒng)、修改后的系統(tǒng)上線前,需要經(jīng)過(guò)安全部門檢測(cè)(包括滲透測(cè)試、漏洞掃描、代碼設(shè)計(jì)等評(píng)估),對(duì)發(fā)現(xiàn)高危漏洞的系統(tǒng),修復(fù)后復(fù)測(cè),保證沒(méi)有安全隱患后才允許上線。
對(duì)正在運(yùn)行的線上系統(tǒng),每日由滲透測(cè)試團(tuán)隊(duì)進(jìn)行安全檢測(cè),包括Web漏洞掃描和人工滲透測(cè)試等措施,漏洞掃描使用多款掃描器交叉掃描,人工滲透根據(jù)制定的漏洞清單Checklist檢測(cè),根據(jù)檢測(cè)結(jié)果,建立知識(shí)庫(kù),統(tǒng)計(jì)出一般掃描器能檢測(cè)哪些漏洞,哪些漏洞掃描器不好發(fā)現(xiàn),如邏輯漏洞、越權(quán)漏洞等,只能通過(guò)人工滲透方式檢測(cè),保證檢測(cè)的廣度和深度,提高檢測(cè)效率。
(1)測(cè)試使用的應(yīng)用,遷移到內(nèi)網(wǎng),不在互聯(lián)網(wǎng)暴露。
(2) 對(duì)訪問(wèn)量較少的應(yīng)用,建議關(guān)閉,訪問(wèn)量數(shù)據(jù)可以從WAF、防火墻等設(shè)備上獲取。
(3)部分網(wǎng)站啟用了HTTPS后,HTTP網(wǎng)站可以繼續(xù)訪問(wèn),建議關(guān)閉HTTP網(wǎng)站的訪問(wèn)。
(4) 業(yè)務(wù)系統(tǒng)有關(guān)聯(lián)或者相似的,通過(guò)一個(gè)U R L 訪問(wèn)主站,其他業(yè)務(wù)系統(tǒng)通過(guò)二級(jí)目錄訪問(wèn)。
(1)通過(guò)自動(dòng)化掃描全網(wǎng)存活I(lǐng)P、端口等信息,自動(dòng)化識(shí)別U R L 地址,并判斷U R L 是否有效,通過(guò)指紋特征庫(kù)識(shí)別URL歸屬。
(2)建立指紋特征庫(kù),自動(dòng)化識(shí)別已備案和未備案業(yè)務(wù)系統(tǒng),系統(tǒng)應(yīng)建立指紋算法,根據(jù)不同U R L 信息通過(guò)算法算出指紋與后臺(tái)指紋庫(kù)進(jìn)行對(duì)比,輸出結(jié)果。
(3)自動(dòng)化掃描全網(wǎng)IP存活情況、端口開放情況,系統(tǒng)根據(jù)用戶輸入I P 資產(chǎn)信息,允許定期、不定期自動(dòng)化掃描I P 存活情況,自動(dòng)化分析開放端口情況。
自動(dòng)化檢測(cè)是本文研究重點(diǎn),通過(guò)實(shí)時(shí)探測(cè)分析,可及時(shí)發(fā)現(xiàn)風(fēng)險(xiǎn)源。
自動(dòng)化檢測(cè)最重要的工作是自動(dòng)化檢測(cè)資產(chǎn)存活情況,存活情況包括IP存活情況、端口開放情況、系統(tǒng)服務(wù)開啟情況等。結(jié)合業(yè)務(wù)上線規(guī)律,工具應(yīng)具備幾點(diǎn)能力:定時(shí)自動(dòng)掃描能力;自動(dòng)化收集掃描結(jié)果能力;應(yīng)具備歷史經(jīng)驗(yàn)庫(kù)收集、白名單、黑名單等能力;應(yīng)能根據(jù)經(jīng)驗(yàn)庫(kù),黑白名單自動(dòng)判別的能力。
圖4 自動(dòng)化檢測(cè)流程
第一種方式:使用Shell腳本檢測(cè)某個(gè)網(wǎng)段內(nèi)存活的主機(jī),主要原理是使用循環(huán)Ping該網(wǎng)段內(nèi)的每一個(gè)地址,根據(jù)執(zhí)行是否成功輸出主機(jī)是否存活。
第二種方式:使用專業(yè)的網(wǎng)絡(luò)工具Nmap、IPscan等。
應(yīng)允許用戶自定義掃描頻率、掃描內(nèi)容及資產(chǎn)自定義等能力。
當(dāng)工具檢測(cè)到目標(biāo)主機(jī)開啟端口時(shí),工具應(yīng)自動(dòng)化判別目標(biāo)端口是否為Web端口,并對(duì)其網(wǎng)站的存活判斷,如果目標(biāo)站點(diǎn)可用,應(yīng)對(duì)其進(jìn)行自動(dòng)化識(shí)別。識(shí)別依據(jù)來(lái)源歷史經(jīng)驗(yàn)庫(kù)和黑白名單庫(kù),如果識(shí)別成功,進(jìn)行標(biāo)注,如果識(shí)別失敗交由人工判斷。
Web資產(chǎn)眾多及開發(fā)迭代較快,安全部門管理需求包括:一是通過(guò)工具識(shí)別存量業(yè)務(wù);二是通過(guò)工具識(shí)別新增業(yè)務(wù)及未報(bào)備的業(yè)務(wù)?;诎踩块T需求分析,工具應(yīng)具備:記錄歷史Web資產(chǎn)信息的能力;具備記錄業(yè)務(wù)黑白名單的能力。
當(dāng)工具完成自動(dòng)化掃描之后,應(yīng)根據(jù)掃描策略完成掃描結(jié)果歸集,根據(jù)分析策略進(jìn)行及時(shí)分析,并根據(jù)歷史庫(kù)、黑白名單信息完成結(jié)果的梳理。針對(duì)分析誤報(bào)的情況,工具應(yīng)提供手工修正的能力。
工具采用Java語(yǔ)言開發(fā),采用了B/S架構(gòu)的模式(表示層-業(yè)務(wù)層-數(shù)據(jù)訪問(wèn)層-數(shù)據(jù)層)四層結(jié)構(gòu)。將各種業(yè)務(wù)處理、一系列邏輯判斷及各種運(yùn)算置于業(yè)務(wù)層,將各種復(fù)雜的查詢、與數(shù)據(jù)庫(kù)的交互置于數(shù)據(jù)訪問(wèn)層,明確各層的業(yè)務(wù)規(guī)則及界限,工具結(jié)構(gòu)圖如5所示。
圖5 自動(dòng)化工具架構(gòu)圖
(1)表示層:采用Bootstrap來(lái)展示前端數(shù)據(jù),jQuery負(fù)責(zé)處理異常請(qǐng)求及前端業(yè)務(wù)邏輯判斷。
(2)業(yè)務(wù)層:采用SpringMVC框架實(shí)現(xiàn)本系統(tǒng)業(yè)務(wù)邏輯處理及數(shù)據(jù)層調(diào)度。
(3)數(shù)據(jù)訪問(wèn)層:主要采用Mybatis框架實(shí)現(xiàn)數(shù)據(jù)交互,包括業(yè)務(wù)的增、刪、改、查、視圖查詢等。
(4)數(shù)據(jù)層:以MySQL數(shù)據(jù)庫(kù)為承載,存儲(chǔ)改系統(tǒng)的所有補(bǔ)丁及經(jīng)驗(yàn)庫(kù)。
安全防護(hù)層:系統(tǒng)中主要集成了Esapi安全框架負(fù)責(zé)常見的安全漏洞防護(hù)。
Web應(yīng)用URL地址自動(dòng)化檢測(cè)可以有效的監(jiān)控內(nèi)網(wǎng)隨意開啟Web服務(wù)的情況,可以有效彌補(bǔ)監(jiān)管難度大的問(wèn)題,有助于安全部分開展日常安全工作及降低公司整體安全風(fēng)險(xiǎn)。