警告:不要認為有了WAF的保護,資料庫安全就可以高枕無憂了,資料庫仍然有很大的暴露風險。
Web應用程式防火墻(WAF)現在已經成為很多商業Web網站和系統的基本保護措施了,它的確在防范很多針對Web系統的安全攻擊有比較好的效果,但是WAF在面對攻擊方式多種多樣的SQL注入方面還是顯得束手無策。
背景知識:什么是WAF?
Web應用防火墻(WAF)是一種基礎的安全保護模塊,主要針對HTTP訪問的Web程式的保護,放在Web應用程式前面,在用戶請求到達Web服務器前對用戶請求進行掃描和過濾,分析和校驗每個用戶請求的網路包,確保每個用戶請求是有效并安全的,對無效或者有攻擊行為的請求進行阻斷或隔離。
WAF可以通過定義一些常見的SQL注入的特征碼對常見SQL注入提供防護,比如SQL注入代碼加入到某些命令或某些輸入,這些WAF是沒有問題的。但是市面上的關系型資料的種類非常多,雖然有統一的SQL結構化資料查詢語言,但是每個資料庫的具體實作有非常多的不一樣,這些不一樣就導致了多種多樣的SQL注入攻擊方式的產生。因此也就導致了像WAF這樣安全保護系統在不理解應用程式的背景關系,不熟悉資料庫型別,命令,結構的情況下,僅僅靠分析網路資料包,加上定義一些資料庫特殊字符黑名單,去防護多種多樣的SQL注入攻擊是遠遠不夠的。
筆者非常認可WAF在Web應用安全防護方面能起比較大的作用,能防護很多Web攻擊,也非常鼓勵每個企業去使用WAF為Web應用程式提供安全保障,但是千萬不要天真的認為,有了WAF你的資料庫就安全了,這種想法非常的危險。
資料庫暴露的訪問點多種多樣
從WAF的原理來看,WAF并不能完整的保護Web應用程式免受SQL注入攻擊,因為它在Web應用程式外部,不了解應用程式的背景關系,不知道目標資料庫的型別,這就從根本上決定了WAF只能防范最通用的SQL注入方式。
即使WAF做的足夠好能夠防范絕大多數從Web系統進入的SQL注入攻擊,也不能說資料庫就得到了很好的保護,因為能訪問資料庫的源頭不僅僅是Web系統,還有很多其他途徑能訪問資料庫。
除了Web系統外還有三類主要的資料庫訪問途徑:
1. 組織內其他應用系統能訪問資料庫:比如在電子商務系統里,價格和庫存可能會用一些自動化的腳本來定時更新。
2. 一些內部管理程式可以訪問系統,也可能是一些介面,方便雇員添加資訊或者發送資訊給客戶。
3. 還有資料庫DBA,IT經理,QA,開發人員等等內部人員通過資料庫管理工具可以訪問資料庫。
WAF只監控通過HTTP方式將來的資料,這些潛在的資料庫訪問源頭WAF是毫不知情的,但來自內部的攻擊更可怕,內部人員非常清楚資料庫的結構和內容,目標性也更加明確,不是獲取經濟利益就是獲取大量內部資訊,造成的危害可以說是毀滅性的,比如前兩年發生在銀行客戶資料庫大規模泄露事件就很清楚的證明了這一點。同時現在黑客攻擊手段越來越高明,翻墻技術已經非常成熟,而且在云時代有明顯邊界的網路拓撲結構越來越少。總之WAF對SQL注入攻擊的防護作用越來越小。
多維度資料庫保護是完全之策
既然資料庫的方面途徑很多,要想比較好的解決資料泄露的的危險,多維度防護是最佳方法,只有堵住每條可能泄露的攻擊才能確保資料庫的安全,可能的方法包括但不僅限于:
1. 運行時應用程式自我保護(RASP)
2. 資料庫防火墻
3. 模式學習程序
4. 職責分離
5. 風險為基礎的政策
6. 敏感資訊屏蔽
7. 定期審計管理和訪問敏感資訊
運行時應用程式自我保護(RASP)
RASP針對應用程式保護的,不僅僅是對Web應用測驗,它將代碼掃描工具的漏洞發現功能和WAF的實時攻擊攔截能力結合起來,將這些防護功能像疫苗一樣注入到應用程式中,讓應用程式像人體擁有疫苗一樣對攻擊擁有免疫能力,他可以找到所有已知漏洞,像一個虛擬的大補丁將所有的已知漏洞修補起來,免于大多數漏洞攻擊,同時它和應用程式一起運行是同一個行程,擁有應用程式的背景關系,了解應用程式的每一個動作,因此他能精確的了解每一個攻擊并能夠實時對攻擊進行防御。比如SQL注入,它在每個資料庫的JDBC的statement具體實作里,根據對每個資料的不同,有針對性的將SQL注入保護程式注入,這樣就能確保各種可能的SQL注入攻擊得到有效的防范,并且這個防護是在應用程式訪問資料庫的必經之路,是不可繞過的。這兩個優勢是WAF無法企及的。如果每個應用程式都進行RASP保護,至少無論內外通過應用進行SQL注入基本上是不可能的,這樣就可以堵住應用程式訪問資料庫的漏洞。目前RASP是比較新的概念,國外有HP在做,國內好像有一個初創安全OneASP在做類似的產品,大家有有興趣可以關注一下。
資料庫防火墻
資料庫防火墻技術是針對關系型資料庫保護需求應運而生的一種資料庫安全主動防御技術,資料庫防火墻部署于應用服務器和資料庫之間。用戶必須通過該系統才能對資料庫進行訪問或管理。資料庫防火墻所采用的主動防御技術能夠主動實時監控、識別、告警、阻擋繞過企業網路邊界(FireWall、IDS\IPS等)防護的外部資料攻擊、來自于內部的高權限用戶(DBA、開發人員、第三方外包服務提供商)的資料竊取、破壞、損壞的等,從資料庫SQL陳述句精細化控制的技術層面,提供一種主動安全防御措施。
模式匹配學習程序
基于自學習機制的風險管控模型,主動監控資料庫活動,防止未授權的資料庫訪問、SQL注入、權限或角色升級,以及對敏感資料的非法訪問等。
基于風險管理的策略
任何型別的資料庫查詢陳述句或命令,都可以用一些方法來評估。影響風險評估的因素包括白名單和黑名單,命令是從哪里過來的,在一定時間有多少個類似的命令等等,利用所有的資訊,一個基于規則的系統可以使用這些資訊來通過一系列的規則來評估那些命令是可疑的。
權責分明
為資料庫訪問分配適當的權限是非常必要的。基于Web的應用程式只應該有有限的查詢權限,資料庫管理員擁有更大的管理權限是有必要的。通過適當的執行職責分離,可以有效的避免多種資料庫攻擊。
混淆敏感資料
所有人都應該能查看敏感資料,甚至包括資料庫管理員,程式員,以及高管。DBA可以執行一些資料庫管理任務,但是沒有必要讓他們能看到資料庫中個人的敏感資料,為了達到這個目的,使用一個非常強大的和實時的資料混淆解決方案是非常重要的。一些組織使用離線的“生產”系統進行屏蔽,但隨著實時資料的混淆的成熟,實時資料混淆系統在成本和避免資料更新方面有更大的優勢,所有改變都可以實時在資料庫中體現。
定時審計對敏感資料的管理和訪問行為
一致的和可靠的審計程序中,尋找可疑的活動和更新政策,不斷提高資料庫安全有很長的路要走。今天的資料庫安全產品可以根據可定制的規則對某些種類的訪問提供警報服務。
讓每個公司都能保護得起資料庫安全
在以前資料庫安全保護只有少數大公司能夠花大價錢才能搞好,資料庫防火墻非常昂貴,制定規則,審計行為都需要大量的人力去解決,小公司基本沒有能力去做。現在RASP是一種非常好的解決方案,只要制定簡單規則,比如只有管理員能訪問生產資料庫等,其他所有資料庫訪問都通過應用程式訪問,而每個應用程式都安裝RASP保護程式,這樣資料庫的安全是有保障的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/156323.html
標籤:安全技術/病毒
上一篇:筆記本電腦WIFI速度突然變慢!
