理想的WAF應該具備以下這些功能:
上下文理解能力:傳統WAF對于HTTP協議的理解主要是單向處理請求或者應答,缺乏對HTTP整個session行為的分析,缺乏結合上下文綜合理解請求應答內容的能力,這好比盲人摸象,對于問題分析很片面。比如盲注這類沒有明顯回顯特征的,僅依賴請求包特征,不去分析整個session多個應答包的時間特征就很難準確發現。
語義分析能力:語義分析,部分廠商稱之為沙箱,本質上是WAF具備語義識別常見的SQL、PHP、shell語言的能力,傳統WAF的規則多是基于正則,說白了就是從文本的角度去理解HTTP協議,按簡單的正則匹配,好比用鳥的大腦去嘗試理解人類的語言,結果肯定是誤報率和漏報率無法平衡。有了語義理解能力以后,就可以從HTTP載荷中提取的疑似可執行代碼段,用語義去理解是否可以執行。
審計取證能力:能夠以HTTP會話作為存儲單位,保存至少一個月的存儲日志,完整記錄請求應答內容,至少包括請求和應答的前4兆內容,支持基于常見HTTP字段的正則查詢,支持ELK那種基礎的聚合、TOP、大于、小于等操作。
情報能力:威脅情報這兩年一直比較火,也逐漸從概念層面過渡到實戰,從IP地址庫、HTTP代理庫、VPN庫進步到真正是肉雞庫等,這一進步也給WAF帶來了新的武器,對于大面積機器攻擊行為,比如CC/DDoS肉雞等可以做到直接封禁。
業務安全防護能力:業務安全的防護范圍非常廣,我認為至少包括網站內容防護,反惡意抓取、垃圾信息注入、黃賭毒信息注入、主頁篡改(這個對黨政軍用戶至關重要)等。高級業務邏輯CC攻擊,對API接口的海量調用,包括短信接口、驗證碼接口、登錄接口、數據查詢接口等,撞庫也可以算作此類。輕量級防薅羊毛、暴力注冊、刷紅包、刷代金券等。
協同能力:這個能力我認為很重要,因為WAF不是萬金油,也不可能包打天下,再強大也可能被繞過,但是WAF的卡位很好,位于網路邊界,特別適合做隔離操作,比如hids發現WebShell,協同WAF阻斷訪問,數據庫審計發現拖庫或者敏感操作協同WAF阻斷(這個還依賴WAF和數據庫聯動分析,將HTTP會話和SQL操作關聯)等。
回答所涉及的環境:聯想天逸510S、Windows 10。
理想的WAF應該具備以下這些功能:
上下文理解能力:傳統WAF對于HTTP協議的理解主要是單向處理請求或者應答,缺乏對HTTP整個session行為的分析,缺乏結合上下文綜合理解請求應答內容的能力,這好比盲人摸象,對于問題分析很片面。比如盲注這類沒有明顯回顯特征的,僅依賴請求包特征,不去分析整個session多個應答包的時間特征就很難準確發現。
語義分析能力:語義分析,部分廠商稱之為沙箱,本質上是WAF具備語義識別常見的SQL、PHP、shell語言的能力,傳統WAF的規則多是基于正則,說白了就是從文本的角度去理解HTTP協議,按簡單的正則匹配,好比用鳥的大腦去嘗試理解人類的語言,結果肯定是誤報率和漏報率無法平衡。有了語義理解能力以后,就可以從HTTP載荷中提取的疑似可執行代碼段,用語義去理解是否可以執行。
審計取證能力:能夠以HTTP會話作為存儲單位,保存至少一個月的存儲日志,完整記錄請求應答內容,至少包括請求和應答的前4兆內容,支持基于常見HTTP字段的正則查詢,支持ELK那種基礎的聚合、TOP、大于、小于等操作。
情報能力:威脅情報這兩年一直比較火,也逐漸從概念層面過渡到實戰,從IP地址庫、HTTP代理庫、VPN庫進步到真正是肉雞庫等,這一進步也給WAF帶來了新的武器,對于大面積機器攻擊行為,比如CC/DDoS肉雞等可以做到直接封禁。
業務安全防護能力:業務安全的防護范圍非常廣,我認為至少包括網站內容防護,反惡意抓取、垃圾信息注入、黃賭毒信息注入、主頁篡改(這個對黨政軍用戶至關重要)等。高級業務邏輯CC攻擊,對API接口的海量調用,包括短信接口、驗證碼接口、登錄接口、數據查詢接口等,撞庫也可以算作此類。輕量級防薅羊毛、暴力注冊、刷紅包、刷代金券等。
協同能力:這個能力我認為很重要,因為WAF不是萬金油,也不可能包打天下,再強大也可能被繞過,但是WAF的卡位很好,位于網路邊界,特別適合做隔離操作,比如hids發現WebShell,協同WAF阻斷訪問,數據庫審計發現拖庫或者敏感操作協同WAF阻斷(這個還依賴WAF和數據庫聯動分析,將HTTP會話和SQL操作關聯)等。
回答所涉及的環境:聯想天逸510S、Windows 10。