為什么你的Web不安全
在本世紀(jì)初互聯(lián)網(wǎng)熱潮時期,有一個詞曾非常流行,那就是“眼球經(jīng)濟(jì)”,網(wǎng)站建好了,人們的目光自然會被吸引過來,這就是互聯(lián)網(wǎng)的眼球經(jīng)濟(jì)。而在八年后的今天,看起來這句話需要加上一句注腳:駭客們的眼球也全被吸引過來了。
駭客們會將注意力集中在Web系統(tǒng),原因很簡單,我們先來看ISO13335的風(fēng)險模型:
一個系統(tǒng),當(dāng)然也包括Web系統(tǒng)在內(nèi),其面臨的風(fēng)險是由三個方面決定的:威脅、弱點和價值。
對Web系統(tǒng)來說,由于一般的網(wǎng)頁編碼人員沒有經(jīng)過專業(yè)的安全培訓(xùn),很難做到在所有頁面中都正確的過濾了違規(guī)字符、正確的確保了訪問權(quán)限,這就造成了Web系統(tǒng)存在各種各樣的弱點,比如說SQL注入的漏洞和XSS漏洞。
Web系統(tǒng)作為一種對外提供服務(wù)的業(yè)務(wù)系統(tǒng),注定需要面對每天無數(shù)次的用戶訪問,利用系統(tǒng)弱點的威脅無時不在。
除開這些原因之外,當(dāng)前Web系統(tǒng)容易遭受攻擊,還有一個非常重要的原因:價值。正如太史公在《史記•貨殖列傳》中所說的“天下熙熙,皆為利來;天下攘攘,皆為利往”,網(wǎng)站承載的價值,是很多駭客們對攻擊網(wǎng)站樂此不疲的根源,除了直接從網(wǎng)站獲利外,前些日子在江西落網(wǎng)的一名駭客還有新招:攻擊衛(wèi)生廳網(wǎng)站、人事考試網(wǎng)站、建設(shè)廳網(wǎng)站獲得管理員權(quán)限,然后通過販賣假證來獲利。
從上面風(fēng)險管理框架圖中,我們還能發(fā)現(xiàn)一件很有意思的事:即使我們可以在代碼層面經(jīng)過嚴(yán)格的檢驗,杜絕一切可能的代碼缺陷,在應(yīng)用層面上,可以對所有訪問者都進(jìn)行嚴(yán)格的控制,避免任何威脅的可能,也無法降低系統(tǒng)的資產(chǎn)價值到零,完全避免風(fēng)險的產(chǎn)生。相反的,隨著應(yīng)用系統(tǒng)Web化進(jìn)程的推進(jìn),Web系統(tǒng)將承載越來越多的價值,而Web業(yè)務(wù)防御也將越來越被人們所重視。
Web威脅和防御的發(fā)展
回過頭來,我們回顧一下Web威脅的發(fā)展歷程,一并也回憶一下相應(yīng)的解決方案。
早期的Web業(yè)務(wù),一般僅承擔(dān)信息發(fā)布的作用,常見的攻擊行為就是篡改網(wǎng)站頁面,所以其防護(hù)措施也相對簡單。網(wǎng)頁防篡改系統(tǒng)就是這個時期的Web防御代表產(chǎn)品。其工作原理是:將所有發(fā)布的信息都備份,并開啟watchdog監(jiān)視網(wǎng)頁文件,一旦被修改就和備份數(shù)據(jù)進(jìn)行對比,如果不同則恢復(fù)。這種方案無視攻擊類型,部署也相對簡單,但應(yīng)用范圍相對狹小,僅能適用于靜態(tài)頁面。
隨著動態(tài)頁面技術(shù)的廣泛應(yīng)用,Web業(yè)務(wù)進(jìn)入了一個新的階段,基于靜態(tài)文件防護(hù)的網(wǎng)頁防篡改系統(tǒng)的應(yīng)用范圍縮小了,雖然攻擊者最常見的攻擊手段還是替換網(wǎng)頁,但已經(jīng)很難單純用網(wǎng)頁防篡改系統(tǒng)來進(jìn)行保護(hù)了,這個階段最常見的Web防御措施就是防火墻+入侵檢測產(chǎn)品,并設(shè)置兩者的聯(lián)動:入侵檢測產(chǎn)品發(fā)現(xiàn)針對Web系統(tǒng)的攻擊行為,通知防火墻進(jìn)行阻斷。這種方案不受Web系統(tǒng)的架構(gòu)影響,但用戶必須購買可以相互配合使用的防火墻和入侵檢測產(chǎn)品。
到了Web2.0的時代,Web系統(tǒng)的交互性不斷加強,出現(xiàn)了像SQL注入、XSS這種可實現(xiàn)“瞬間”攻擊的方法,在這種情況下,防火墻+入侵檢測聯(lián)動的解決方案不起作用了,網(wǎng)頁防篡改系統(tǒng)也由于Web系統(tǒng)的數(shù)據(jù)庫處在一直不斷更新的狀態(tài)下而無法發(fā)揮作用。Web業(yè)務(wù)安全防御需要有一種能“實時”切斷攻擊的應(yīng)用級解決方案。
Web安全產(chǎn)品
針對“實時”切斷攻擊的應(yīng)用級解決方案需求,安全界提出了兩種解決思路:
思路一:基于自動學(xué)習(xí)功能的application firewall。這種方案和網(wǎng)頁防篡改系統(tǒng)有一點共通點:不關(guān)心某一個具體的攻擊行為,從行為框架上防御攻擊行為。application firewall通常需要一到兩周的數(shù)據(jù)學(xué)習(xí)期,在這個期間需要給application firewall提供“干凈”的數(shù)據(jù)流量,application firewall將記錄并分析這些“干凈”的數(shù)據(jù),建立一個正常數(shù)據(jù)模型。在產(chǎn)品的正式工作期間,所有不在正常數(shù)據(jù)模型內(nèi)的訪問都將被視作異常而予以阻斷,并不判斷其到底屬于什么攻擊行為。
這種方法的好處和劣勢都同樣明顯,好處是:由于“訓(xùn)練”系統(tǒng)的數(shù)據(jù)是“干凈”的,而所有攻擊行為一定是“不干凈”的,所以,報警準(zhǔn)確率極高,任何異常都無法穿透application firewall。但正是由于這個學(xué)習(xí)機制,其劣勢如下:必須要保障“訓(xùn)練”期間的數(shù)據(jù)“干凈”而全面,不夠“干凈”的數(shù)據(jù)將導(dǎo)致在正式工作期間產(chǎn)品漏報。而不夠全面的訓(xùn)練數(shù)據(jù)將導(dǎo)致產(chǎn)品的誤報。此外,被保護(hù)的系統(tǒng)如果業(yè)務(wù)發(fā)生變更,需要重新進(jìn)行“訓(xùn)練”。
思路二:基于入侵防御技術(shù)的IPS。這種方法可以視作從防火墻+入侵檢測聯(lián)動的方案中轉(zhuǎn)化而來,保持了對入侵行為的檢測分析,增加了對數(shù)據(jù)的實時控制。其原理大致如下:
可以看出,和思路一不同的是,思路二直面系統(tǒng)所存在的威脅和弱點,不但能阻斷對Web業(yè)務(wù)的攻擊企圖,還可以給用戶提供展示W(wǎng)eb業(yè)務(wù)所存在的漏洞和弱點。但考慮到方案二采用檢測技術(shù)的是基于專家系統(tǒng)而非異常模型,所以其報警準(zhǔn)確率將因產(chǎn)品而有所差異。
如何提高Web安全水平
在網(wǎng)絡(luò)安全界,常說的一個詞就是“解決方案”,很少有一個產(chǎn)品能獨立完成對一個系統(tǒng)的全面防護(hù),對Web業(yè)務(wù)也是一樣,不論是application firewall還是IPS,都只能作為Web安全解決方案的一個部分,從經(jīng)典的PDR模型來看,一個完整的安全解決方案,至少應(yīng)當(dāng)包括檢測、防御、響應(yīng)這三個部分。
檢測,建立對網(wǎng)站安全檢查機制,確保入侵的及時獲知,通過檢測,及時了解網(wǎng)站入侵漏洞,安全狀況;
防御,結(jié)合網(wǎng)站主流威脅與漏洞狀況,部署網(wǎng)站入侵防御產(chǎn)品,完善防護(hù)能力;
響應(yīng),確立專業(yè)支持團(tuán)隊的外援保障,解決及時響應(yīng)問題,在網(wǎng)站漏洞被驗證后,能確保對其漏洞進(jìn)行安全代碼審核修補。
啟明星辰于近日推出的網(wǎng)站安全360解決方案,就是PDR模型的典型實踐。
針對當(dāng)前Web業(yè)務(wù)系統(tǒng)僅有簡陋防護(hù)和有事件才響應(yīng)的被動狀態(tài),提出了結(jié)合安星遠(yuǎn)程網(wǎng)站安全檢查服務(wù)(實現(xiàn)檢測的120°)、天清入侵防御產(chǎn)品(實現(xiàn)防御的120°)、M2S\ADLAB的應(yīng)急響應(yīng)服務(wù)(實現(xiàn)響應(yīng)的120°)的網(wǎng)站安全360解決方案。
和以往的Web安全解決方案不同,360解決方案不是簡單的“防御攻擊”,而是從事前檢測、事中防御、事后響應(yīng)三個方面,實現(xiàn)對Web業(yè)務(wù)的全面保護(hù)。其思想在Web業(yè)務(wù)安全防御方面,有十分值得借鑒的地方,即使不購買360安全服務(wù),也可以按照如下思路,對Web系統(tǒng)的安全進(jìn)行DIY:
事前檢測階段,發(fā)現(xiàn)Web系統(tǒng)存在的漏洞,包括系統(tǒng)漏洞和業(yè)務(wù)漏洞;了解Web系統(tǒng)的當(dāng)前狀況,是否已經(jīng)被攻擊掛馬。
事中防御階段,對針對Web業(yè)務(wù)的幾大威脅,如SQL注入、XSS進(jìn)行重點防御,同時兼顧對承載Web業(yè)務(wù)的操作系統(tǒng)進(jìn)行安全防護(hù)。
事后響應(yīng)階段,對檢測階段的結(jié)果進(jìn)行響應(yīng):修補系統(tǒng)漏洞,完善網(wǎng)頁編碼,清除網(wǎng)頁木馬和惡意代碼。對防御階段發(fā)現(xiàn)的問題進(jìn)行響應(yīng):如果出現(xiàn)未防住的攻擊行為,對被攻擊網(wǎng)站進(jìn)行恢復(fù)。






