如何 定義攻擊封包的網路參數 ?
在一篇論文:
SDNScore: A Statistical Defense Mechanism Against DDoS Attacks in SDN Environment 中有提到 Attack Types 的部分
包括:
麻煩各位熱心的IT大大 ~~~ 最近想嘗試模擬論文提及的attack types!
攻擊不分次數的, 就算只有一次, 也是攻擊行為.
我插你一刀算不算攻擊? 當然算啊!!
但我插你一刀算不算殺人? 那就不一定了, 因為殺人有其成立要件, 必須先滿足要件, 才能判定成殺人...(說不定有人插了十幾刀還沒死)
我插你一刀算不算傷害? 可能會算, 因為傷害的成立要件比殺人寬鬆, 只要你受傷就很可能成立...(插一刀就算? 還是插三刀才算?)
所以攻擊的行為不需要算次數, 一次就算成立此行為.
但是攻擊的目的是甚麼? 在攻擊之後是否就達成目的 (殺人 or 傷害)? 這才是要討論的重點.
以樓主提出的兩個案例來說, 它的目的是DoS 服務阻斷, 所以單單只有一次的攻擊行為, 並沒不見得就會達到阻斷; 該問的是: 他要如何達到阻斷的目的?
因此, 問題應該被重新敘述成:
TCP SYN Flooding 要攻擊幾次, 才能達到阻斷的效果?
SQL Slammer Worm 要傳染幾次, 才能達到阻斷的效果?
我的機房每天都收到兩萬多次的 Layer 7 攻擊, 和百萬次的 Layer 3/4 攻擊, 但都被我的防禦機制擋下, 據此描述:
我的客戶有沒有被攻擊? 有
我的客戶有沒有被傷害? 沒有
你被插三刀, 和我被插三刀, 結局會不會相同?
你對 A 發動一萬次 TCP SYN Flooding, vs.
你對 B 發動一萬次 TCP SYN Flooding, 結局會相同嗎?
樓下請繼續...(現在要討論: 誰可以被插幾刀才死?)
謝謝 raytracy生動的比喻!
想延伸問 就是機房有自動偵測和抵禦的機制嗎?
還是說使用上有覺得卡卡的,才進行抵禦的部分
機房通常是這樣配置的:
對於已知的公開漏洞或弱點, 可以預先將防禦措施配置到設備上, 阻擋大部分約 80~90% 的攻擊行為.
但這樣也有可能發生誤擋 (False Postive) 的慘劇, 尤其是在 Layer 7 層級的 WAF 設備, 跟 Web Application 的寫法息息相關, 有時會因為資料傳輸的 Pattern 太接近漏洞特徵而被擋掉, 造成網站功能不正常...
所以通常機房的安全中心, 必須跟應用系統的開發團隊密切配合, 發生誤擋事件時, 要能夠出來調查, 是否真的誤擋? 真正的行為是甚麼? 然後修改防禦的規則, 把誤擋的成分拿掉或隔開, 使功能正常....
==== 以上是針對已公開的漏洞
但其實在暗網裡面, 還有為數眾多, 沒有被公開發表過的漏洞, 被掌握在黑客手上.
這些漏洞因為尚未發表, 你也無從取得他的特徵, 所以無法如上面所述, 用現成的規則去防禦他. 除非被黑客拿來使用之後, 又被運氣好的資安人員抓到, 才得以知道, 未公開的漏洞有哪些特徵?
這種通常需要依賴行為分析工具, 持續紀錄系統內的各種行為, 先建立正常的基準線(Baseline), 當發現有與基準線特徵相異的活動時, 特別挑出來告警, 交給資安人員進行人工分析, 來判讀該事件的安全層級....
機房至少要建置 SIEM 系統, 用來持續收集行為 (有些惡意行為需要累積一段時間才看得出來, 所以歷史紀錄很重要), 搭配 SOAR 全球情資和自動化偵蒐系統, 來比對各種行為的來源和樣態, 現在有個共同的標準可以進行分析交流:
瞭解 MITRE 2020 ATT&CK 端點防衛評估