2017.W13 - DoS (Denial-of-Service) - 資安

Table of Contents

2017.W13 - DoS (Denial-of-Service)
> 工作多年的人 分不出 Security Issue 跟 Bug 的差異 讓人很吃驚 QQ

## 前言 ##
依然是工作上的報怨 遇到同事認為User 回報的 DoS 漏洞是個不重要的問題

似乎想要把這個當作是 bug 慢~慢~解掉


## 內容 ##
DoS (Denial-of-Service)[0] 又稱為阻斷服務攻擊

是攻擊者利用合法或系統漏洞所產生的一種攻擊手法

跟 DDoS 的差別 在於 DDoS 是利用大量的殭屍電腦[1] 來進行 DoS 攻擊

按照簡單的邏輯思考

如果 DoS 攻擊 (單一來源)有效的話 就無需使用 DDoS 的方式攻擊

但現在成熟的軟體開發中 已經很難出現一個可以長時間利用的 DoS 漏洞



一個簡單的'合法' DoS 攻擊的例子:`reboot`

假設有一個服務 可以接受 reboot-like 的指令 在收到指令時會自動重開機

在設計不好的情況之下 這個 API 可以被 queue 住

也就是說 如果短時間內連續發送數千個 `reboot` 指令

電腦就會重複的重開機而無法正常地提供服務

在這種情況下 `reboot` 指令是一個合法的指令 用途也跟當初設計的一致

然而因為設計上的缺陷與疏失 在惡意使用情況下就存在著 DoS 的漏洞



另一個例子 則是利用設計上的缺陷 (例如不合法的請求)

因為在處理的過程中發生的 SIGSEGV[2] 而不正常中斷

或者是設計上的缺陷 而有 resource leak[3] 的狀況

在攻擊者利用這個缺陷 使用單一來源就可以造成服務中斷



就結論來看 DoS 是一種

1. 就是一個 Bug 無論從 Coding 上來看或架構上來看
2. 單一來源就可造成服務中斷
3. DoS 類型的易攻易守但是難找 等於替 RD 再找 Bug


## 補充 ##
下禮拜外出取材 我希望那時候可以想到好的東西可以寫

不過不要抱著太大的期待...


[0]: https://zh.wikipedia.org/zh-tw/%E9%98%BB%E6%96%B7%E6%9C%8D%E5%8B%99%E6%94%BB%E6%93%8A
[1]: https://en.wikipedia.org/wiki/Zombie_(computer_science)
[2]: https://zh.wikipedia.org/wiki/SIGSEGV
[3]: https://en.wikipedia.org/wiki/Resource_leak

--

All Comments

Anthony avatarAnthony2017-03-30
請問可以寫dos攻擊的種類嗎?
如icmp flooding ,smurf.,ping of death之類的
Rosalind avatarRosalind2017-03-31
樓上是希望我寫 還是你想寫呢?
Gilbert avatarGilbert2017-04-01
感謝樓主分享,揪感心