烽火18臺系列之九-防篡改”魔力三角”
今天藉著烽火臺系列寫一篇關於網頁防篡改的文章,因為小編平日裡與客戶交流發現,目前網頁的篡改問題仍然是客戶最為頭疼的網路安全問題之一。而提到”防篡改”,大多數人第一時間想到的是”防篡改系統”。而小編要說的是:
“防篡改系統”≠”防篡改”
防篡改系統的前世今生
防篡改系統發展至今共經歷了四代技術(每代技術各家叫法不同,但原理基本相同),而這四代技術在不同的年代都解決了一定的問題,但同時也因為暴露的缺陷而不斷更迭。
第一代技術:時間輪詢技術
這是早期使用的技術,顧名思義,其是採用定時迴圈掃描,且每次掃描均從頭到尾進行。
該機制有兩大問題:
1、現在的網站少則幾千個檔案,大則幾萬,幾十萬個檔案,輪詢機制不僅需要耗費大量的時間,還會大大影響伺服器效能。
2、因為存在掃描的間隙,所以會存在”盲區”,這段時間內外部的訪問均是被篡改的頁面,”盲區”的時長由網站檔案數量、磁碟效能、CPU效能等眾多客觀因素來決定。
第二代技術:事件觸發技術
該技術以穩定、可靠、佔用資源極少著稱,其原理是利用作業系統的檔案系統或驅動程式介面,在網頁檔案的被修改時進行合法性檢查,對於非法操作進行報警和恢復。
可以看出,該技術是典型的”後發制人”,即非法篡改已經發生後才可進行恢復,其存在兩大問題:
1、如果採取”連續篡改”的攻擊方式,由於是篡改後程式才進行檢查和恢復,則同樣會存在一個系統延遲的時間間隔,而連續篡改往往利用自動化指令碼每秒上千次篡改,這會導致大眾訪問的一直是篡改後網站。
2、目錄監控的安全性受制於防篡改監控程式的安全性,如果監控程式被強行終止,則防篡改功能就立刻消失,網站目錄就又面臨被篡改的危險。
第三代技術:核心內嵌技術
核心內嵌技術即數字水印技術,最初先將網頁內容採取非對稱加密存放,在外來訪問請求時將經過加密驗證過的,進行解密對外發布,若未經過驗證,則拒絕對外發布,呼叫備份網站檔案進行驗證解密後對外發布。
這樣即使黑客成功對內容進行了修改,也不能對外發布。表面看上去,這種技術非常完善,但沒有100%的安全,此類方式同樣存在問題:
1、市面上”數字水印”的密碼學演算法,無一例外地使用 MD5雜湊演算法,該雜湊演算法在2004年被我國密碼學家山東大學的王小云教授攻破,使得偽造出具有相同數字水印而內容截然不同的檔案立刻成為了現實。目前,包括MD5在內多種密碼學演算法在網路中基本成為”公開的祕密”。當”數字水印”技術使用一個已被攻破的脆弱演算法時,其安全性也就轟然倒塌了。
2、”數字水印”技術在計算大於100KB大小的檔案”指紋”時,其速度將隨著檔案的增大而逐步下降到讓人無法忍受的地步,因此大多數產品都會預設設定一個超過xxx KB的檔案不進行數字水印檢查規則。關於這項安全隱患,讀者可以隨便找個10MB以上的檔案放入網站目錄中,然後再訪問該檔案,如果發現檔案可以訪問或者下載,即可證明當前使用的防篡改產品存在該安全隱患。
3、數字水印屬於模組化功能,需插入web服務軟體中,這種缺陷導致一旦計算水印雜湊模組被解除安裝,防篡改能力隨即消失。
第四代技術:檔案過濾驅動技術
檔案過濾驅動技術是目前主流防篡改廠商所採用的技術,通常與事件觸發技術配合使用。其原理是採用作業系統底層檔案過濾驅動技術,攔截與分析IRP流,對所有受保護的網站目錄的寫操作都立即截斷,且整個檔案複製過程為毫秒級,使得公眾無法看到被篡改頁面,其執行效能和檢測實時性都達到很高的水準。
這種方式的確大大增大了黑客篡改的難度,但仍然做不到100%安全,隨手在網際網路上搜尋,就會發現其仍然有很多缺陷:
1、基於實際應用中各種複雜環境與因素的考慮,作業系統的設計者在系統核心底層設計了多種可以讀寫檔案的方式,相關資料流不單單是走檔案過濾驅動這一條線。網路上大家常用的各種”檔案粉碎機”強制刪除頑固檔案就是基於相關原理的。(繞過程式碼網上即可找到,在這裡不做展示了)
2、檔案路徑表示除了正常的方式之外,還可以用DOS8.3檔案路徑表示法,當檔名的長度超過8個字元時,就可以用DOS8.3路徑表示。
我相信未來還會不斷有新的防篡改技術誕生,但大家應該能夠發現,一味的從防禦角度出發解決網頁篡改問題猶如”管中窺豹”,黑客永運可以通過嘗試,發現技術缺陷,而防禦技術的更新永遠落後於攻擊。
防篡改”魔力三角”
中醫有句俗話是”治病先看病”,在網路安全中同樣適用。網頁發生篡改就像感冒發燒,症狀是發燒,但根本問題卻是身體內部出現了問題。而篡改則是網站存在風險。而發現風險則是從根本上解決網頁篡改問題的第一步。
而漏洞則是最為常見的風險。很多客戶都說部署了漏掃產品,但漏洞掃描類似於醫生的”望、聞、問、切”,醫生會觀察身體的各類反應,從而進行準確的診斷。漏洞掃描也要覆蓋網站或業務系統的各個部分,其中要包括系統漏洞、Web漏洞、中介軟體及資料庫漏洞,這樣才能不存在短板。
第二個風險是弱口令,誰也不想黑客通過口令簡簡單單的控制了網站甚至是伺服器,那麼再多的防護裝置也無計可施。
發現了病症所在,就要”對症下藥”進行風險控制。做完風險控制後才是防禦。防禦也應該分為兩個部分,以Kill Chain模型來看,防篡改僅僅是針對攻擊最後一步的防禦,而完成一次攻擊還需要很多環節,在這些環節之中,同樣需要檢測及防禦裝置,這也就是國內普遍應用的縱深防禦理念。
任何事物都有兩面性,同樣也沒有絕對的安全。
無論是風險控制還是縱深防禦,其本質都是在增加黑客的攻擊成本。但安全還有一種思路,叫做態勢感知。即使黑客通過各種手段突破了層層防護,我們還可以做的是第一時間發現攻擊,比如有組織黑客常用的Webshell,即俗稱的網站後門。黑客組織往往前期在網站中植入了Webshell,然後伺機而動。對於解決防篡改,Webshell的檢測尤為重要。再進一步,如果繞過了防篡改系統,發生了篡改,仍然要有外部的發現機制,從而第一時間進行手工恢復,甚至是自動關閉,事後再進行溯源,防止再次發生。
從上可以總結出新型的安全方法論應該是:以風險控制為先,多角度檢查風險情況,降低系統遭受攻擊的可能性。然後基於Kill Chain模型,在攻擊過程中採用縱深防禦理念進行安全防護。最後,要具備態勢感知能力,在攻擊發生後第一時間響應並處置。
盛邦安全基於對Web領域多年的積累,以及新型安全方法論,提出了防篡改”魔力三角”方案。
通過烽火臺-網站監控預警系統(RAYSaaS)對網站進行事前的風險檢測,發現網站的系統漏洞、Web漏洞、中介軟體及資料庫漏洞,同時可檢測網站所存在弱口令問題;7*24小時的實時監測,能夠及時發現Webshell,並確保發生篡改攻擊後能夠第一時間發現並告警。
通過銳御-Web應用防火牆(RAYWAF)對網站進行安全防護,阻斷黑客對目標的探測、工具的傳輸、漏洞的利用、控制等攻擊過程。同時整合了威脅情報能力,大幅提升對於高階攻擊的檢測發現能力。
通過銳鎖-網頁防篡改系統(RAYLOCK)的檔案過濾驅動技術+事件觸發技術,來加強對於篡改攻擊的阻斷及事後恢復。
網路安全永遠是人與人的較量,盛邦安全願與各位在安全的道路上共同前行。
相關文章
- 烽火18臺系列之十一:剛需中的剛需——網站篡改監控網站
- 烽火18臺系列之十——釣魚網站監控的需求與實戰網站
- JavaScript防篡改物件JavaScript物件
- Cookie防篡改機制Cookie
- API的防篡改和防重放機制API
- 網站被篡改了_網站被篡改了怎麼辦_防網站篡改了網站
- Spark 系列(九)—— Spark SQL 之 Structured APISparkSQLStructAPI
- Spring Boot介面如何設計防篡改、防重放攻擊Spring Boot
- API介面設計:防引數篡改+防二次請求API
- HTTPS可以預防駭客篡改內容嗎?HTTP
- Android點將臺:烽火狼煙[-Handler-]Android
- Quartz.Net系列(九):Trigger之DailyTimeIntervalScheduleBuilder詳解quartzAIUI
- 動態規劃系列之九找零錢動態規劃
- WEB安全新玩法 [3] 防護交易資料篡改Web
- underscore 系列之防衝突與 Utility FunctionsFunction
- JDK 18 / Java 18 正式釋出:九項 JDK 增強JDKJava
- 女友都懂系列之防抖與節流分析
- .NET平臺系列18 .NET5的超強優勢
- 網站防篡改的方法有哪些?這些技巧不能忘!網站
- Linux 伺服器下如何建立檔案防篡改規則Linux伺服器
- Linux伺服器下如何建立檔案防篡改規則Linux伺服器
- webgl 系列 —— 三角形Web
- 沒閒著系列 18
- 解密Prompt系列18. LLM Agent之只有智慧體的世界解密智慧體
- Cypress系列(18)- 可操作型別的命令 之 點選命令型別
- 2019網頁遊戲資料包告(11月):《烽火九州》表現亮眼網頁遊戲
- Storm 系列(九)—— Storm 整合 KafkaORMKafka
- webgl 系列 —— 漸變三角形Web
- 網易易盾推出政企網站安全方案 主打主動治理、防篡改網站
- win10 1903版本系統如何啟用或禁用防篡改功能Win10
- 《邪惡冥刻》的魔力今日蔓延至NS平臺!
- 18.spring系列- 事件機制Spring事件
- 軟體開發專案文件系列之九如何撰寫測試方案
- Spark 原始碼系列(九)Spark SQL 初體驗之解析過程詳解Spark原始碼SQL
- 深入解讀Gartner 2021年《分析與BI平臺魔力象限》
- React18 之 SuspenseReact
- 18 . Go之操作MysqlGoMySql
- Android多媒體之GLES2戰記第六集--九層之臺Android