這篇文章會簡介 DNS 常見攻擊方式與透過 Elastic Machine learning 工具可能的偵測方法。
當然,最好的方式就是花錢解決問題,像是直接使用 cloudflare、GCP、AWS 提供的服務,這幾間都是世界上前幾大的公司,相對一些普通規模的主機商要被打爆的機率也就小很多了。
近年來什麼東西都要加個雲端才夠潮,所以網路安全也就越來越重要,整個網路每天都一定會用到的服務就是 DNS (Domain Name System),中文名稱是網域名稱系統。
DNS 的用途是把比較難記的 IP 跟比較好記的網域進行對應連結,這樣就可以透過 web.ncku.edu.tw 而不是 140.116.241.51 去進行連線。
DNS 運作原理,簡單來說就是給網域回答 IP 地址,網路上目前也提供非常多 WHOIS 的相關服務,有興趣的話可以玩看看。
WHOIS
問網域會有兩種詢問的方法
Recursive VS Iterative
DNS 主要會有以下紀錄
越多人用的服務當然也就會成為攻擊的目標,常看到的
可憐的主機商,又被 DDoS 了
要達到監控和了解威脅,需要從各種來源去收集資料,目標是去偵測出 C&C 伺服器相關的活動,C&C (Command & Control Server) 是控制僵屍網路的主控伺服器,會和感染了惡意軟體 (malware) 的主機進行通訊並指揮攻擊行為。
從另外一個方面來看,malware 理論上也會內建一套尋找 C&C 的方法,如果可以在被攻擊前,透過分析數據提早抓到在溝通也許就能預防,我猜防毒軟體提供的全球威脅地圖也是透過分析和監控相關數據得來的。
威脅地圖
Elastic 最方便的方式是透過機器學習的工具來分析,下面會使用教學範例中提供的 security-analytics-packetbeat-\*
來做示範。
建立,Datafeed 請設定
{"term":{"type":{"value":"dns","boost":1}}}
設定 Detector 如圖
設定 Bucket Span 及 Influencer,接著下一步其他都用預設值即可
AnomalyExplorer 看結果
這次照著教學做完,覺得蠻神奇的,因為馬上就可以看出一些資訊,像是可以看出哪個網域或是哪個 Host Name 最有可能出現問題。
整個 Anomaly Explorer 的面板右半邊會是依照時間分析的結果圖表,左半天可以看到我們設定的 Influencer 相關聚合統計,有點像是知道筆電裡面分別會有幾筆蘋果華碩聯想的概念。
另外也有附上可以互動的表,下圖就是選擇 Critical 後的結果,然後有點選 Actual 按照大小排列。
CriticalAnomalies
看完也做過之後,發現其實相關步驟都不難,難的是要知道怎麼去設定相關配置,如果一個系統突然要自己設,可能也會不知道從何設起,認真讀一波文件後發現 Elastic 也有提供常見配置教學,覺得可以先從這些常見配置去推敲出為什麼需要這樣設定,文件連結在此:
https://www.elastic.co/guide/en/machine-learning/current/ootb-ml-jobs.html
另外也附上 Detector 會需要知道的相關機器學習 functions 文件連結:
https://www.elastic.co/guide/en/machine-learning/current/ml-functions.html