"xyzzy=xyzzy."也是同樣原理。這樣發(fā)展下去會是怎樣的呢?

不錯,使用靜態(tài)簽名定義–但由于你必須寫下簽名字符串的無限長數(shù)字來識別每次攻擊,因此像目前許多常用入侵檢測系統(tǒng)產(chǎn)品使用的方法每次都是失效的。那些"n=n"攻擊是SQL注入式攻擊中最瑣碎的。

問題之一是所有以網(wǎng)絡(luò)為基礎(chǔ)的入侵檢測工具都缺乏上下文來有效的判斷HTTP請求是否包含惡意輸入。

接下來在入侵檢測系統(tǒng)領(lǐng)域還有一個隱藏的黑暗面。你知道我們安全人員是如何告訴軟件使用者使用SSL加密來保證敏感數(shù)據(jù)在網(wǎng)絡(luò)上傳遞時的安全的嗎?確實,對網(wǎng)絡(luò)流量進(jìn)行加密(這是個好辦法)就相當(dāng)于給監(jiān)控用的攝像頭加上有效的鏡頭蓋。入侵檢測系統(tǒng)產(chǎn)品無法看到SSL加密數(shù)據(jù)包內(nèi)部的內(nèi)容。

通過對我們的敏感數(shù)據(jù)進(jìn)行SSL加密,我們可以收回觀測帶有惡意有效負(fù)荷跡象數(shù)據(jù)的入侵檢測系統(tǒng)傳感器。即使他們可以勝任偵測SQL注入式攻擊的職責(zé),但SSL加密會導(dǎo)致他們的工作無法完成。

因此這就意味著我們要停止使用入侵檢測系統(tǒng)和SSL馬?當(dāng)然不是。這只是說明我們必須清醒的意識到我們所用技術(shù)的局限性。

在很多時候入侵檢測系統(tǒng)能十分有效的進(jìn)行偵測。已知病毒,蠕蟲,木馬等的爆發(fā)會經(jīng)常興風(fēng)作浪來沖擊使用入侵檢測系統(tǒng)進(jìn)行監(jiān)控的網(wǎng)絡(luò)。

入侵檢測系統(tǒng)工具甚至能偵測到許多新型的攻擊。舉例來說,僵尸網(wǎng)絡(luò)和其他木馬經(jīng)常會在被感染計算機(jī)上安裝網(wǎng)絡(luò)服務(wù)。當(dāng)攻擊者和這些服務(wù)進(jìn)行聯(lián)系時,桌面系統(tǒng)計算機(jī)從網(wǎng)絡(luò)層面上來說就更像是一臺服務(wù)器。多數(shù)現(xiàn)有的入侵檢測工具在之前已知的木馬病毒發(fā)作時會注意到這些網(wǎng)絡(luò)活動。

但是不要因此而麻痹,以為入侵檢測系統(tǒng)產(chǎn)品在偵測所有的網(wǎng)絡(luò)應(yīng)用軟件攻擊上都是有效的。采取實際應(yīng)用軟件安全措施的唯一地方就是應(yīng)用軟件本身的內(nèi)部。這種安全是無法購買得來的。

同樣,我們也不能放棄SSL。SSL依然是目前可用的最普遍也最廣為認(rèn)可的網(wǎng)絡(luò)加密技術(shù)。實際上我們必須采用SSL加密技術(shù)來保護(hù)傳輸過程中的敏感數(shù)據(jù)。

這就意味著我們的入侵檢測產(chǎn)品注定無法刺穿SSL的屏障嗎?在很多甚至是多數(shù)情況下,確實如此。目前在企業(yè)級體系架構(gòu)中,我們可以將SSL流程卸載到前端處理器,將入侵檢測系統(tǒng)放置在這些處理器的后面。但這是很多小型企業(yè)所力不能及的。

我們也在考慮托管在應(yīng)用軟件服務(wù)器上的入侵檢測系統(tǒng),但是需要警告和重申的是許多入侵檢測系統(tǒng)產(chǎn)品在偵測應(yīng)用軟件層攻擊上是比較薄弱的。在應(yīng)用軟件內(nèi)部,還沒有替代應(yīng)用軟件層防御的辦法,包括入侵檢測在內(nèi)亦是如此。

我們也不能忽略另一個使用SSL的巨大優(yōu)勢–那就是驗證。在多數(shù)應(yīng)用軟件中,只有服務(wù)器對客戶的驗證,或者附加值服務(wù)的驗證。在除了服務(wù)器證書外還使用客戶端證書的領(lǐng)域,SSL加密能我們提供非常強(qiáng)大的相互驗證。

盡管如此,沒有一項技術(shù)是完美的。我們也不會對此大驚小怪對嗎?目前現(xiàn)有的入侵檢測技術(shù)是有用的工具,但是我們不能事事依靠這項技術(shù)。應(yīng)用軟件攻擊是他們的弱點之一。讓我們接受這個事實,將注意力轉(zhuǎn)移到研發(fā)更加安全的應(yīng)用軟件上去吧。

分享到

yajing

相關(guān)推薦