利用流計算實時檢測網絡威脅
自從互聯網問世以來,網絡攻擊和威脅一直存在。惡意的攻擊會給企業帶來物理上和經濟上的的損失。隨著技術的發展,惡意的網絡攻擊不斷增加,而且越來越危險。因此,防范網絡攻擊變得異常重要。
用傳統的方法檢測攻擊,通常是將數據收集下來進行離線的歷史分析,但這樣難以對網絡攻擊采取及時有效的應對。在采用離線分析的同時,我們可以利用更先進的技術,實時檢測網絡攻擊和威脅,以便對實時洞察和應對惡意攻擊。
利用流計算平臺很好地解決這種問題。使用流計算技術,企業很容易實現實時的網絡安全分析:通過實時分析網絡訪問,企業能過濾無關數據,只抓取和保存有意義的數據,然后結合已有的離線分析,將能更好地定制網絡安全策略和防止網絡非法入侵。
Streams v4.1增加了Cybersecurity Toolkit,該Toolkit將網絡訪問分析功能構建成模塊,以幫助開發者快速地實現實時網絡安全分析。Cybersecurity Toolkit提供三個機器學習模型:
- DomainProfiling – 基于DNS響應流量中的域名而構建的Profile,檢測可疑的網絡訪問行為。
- HostProfiling – 基于DNS響應流量中的主機而構建的Profile,檢測可疑的網絡訪問行為。
- PredictiveBlacklisting – 預測是否該將一個域加入到黑名單。
下面舉個例子說明如何使用機器學習模型分析DNS的響應記錄。
DomainProfiling 模型
DomainProfiling Operator利用機器學習模型分析DNS響應流量并報告域名訪問是否是可疑的。通過一定時期內的DNS響應記錄構建Profile,然后利用Profile分析每次訪問是“可疑的”還是“良性的”。先來看看正常的網絡訪問演示:


在這個場景中, 30秒時間窗口內的DNS訪問和響應被捕獲下來。利用這些信息為每個域名構建Profile,這樣,訪問每個域名的用戶數和訪問次數被記錄下來。這種場景作為網絡中的“正常的”或“預期的”行為。這種每個域名在30秒內都有幾次的訪問,我們認為是良性的(判斷時結合歷史數據分析)。
這是另一種場景:


在這種場景中,同樣是30秒的時間窗口內的DNS訪問和響應被捕獲下來。然而,根據Profile,a11233112.ru.ch的異常訪問馬上體現出來。該域名在30秒內被4個不同用戶共25訪問,對比“正常的”30秒窗口,這種超過10倍的訪問是非常可疑的。在這種情況下,DomainProfiling operator就會報告這樣的域名是“可疑的”。
前面的例子目的是闡明如何利用DomainProfiling判斷域名的訪問是“良性的”還是“可疑的”。在實際使用中,并非對所有的DNS記錄進行判斷,而是根據一定的規則預先進行過濾,例如,利用黑名單和白名單進行過濾,以確保DomainProfiling分析的準確性。下圖是Streams實現實時網絡檢測的原型:

IBM在GitHub上提供了該樣例代碼,以便開發人員參考和使用。下載代碼請訪問//github.com/IBMStreams/streamsx.cybersecurity.starterApps
本文暫時先介紹DomainProfiling,而HostProfiling的用法與前者類似,因此不再闡述。關于PredictiveBlacklisting的原理和使用,請關注下期的文章。
IBM InfoSphere Streams 試用版下載地址:
詳情請咨詢!
客服熱線:023-66090381