[爆卦]icmp協定是什麼?優點缺點精華區懶人包

雖然這篇icmp協定鄉民發文沒有被收入到精華區:在icmp協定這個話題中,我們另外找到其它相關的精選爆讚文章

在 icmp協定產品中有2篇Facebook貼文,粉絲數超過2,850的網紅矽谷牛的耕田筆記,也在其Facebook貼文中提到, ref: https://www.hwchiu.com/ping-implementation.html 本篇文章是難得的自產文章,該文章分享一下自己觀察不同 ping 指令與不同發行版本下的實作方式,主要探討的點是 ICMP 封包是如何產生的。 就我目前認知,目前至少有三種常見方式來設定 pin...

  • icmp協定 在 矽谷牛的耕田筆記 Facebook 的最讚貼文

    2021-09-23 08:00:08
    有 116 人按讚

    ref: https://www.hwchiu.com/ping-implementation.html

    本篇文章是難得的自產文章,該文章分享一下自己觀察不同 ping 指令與不同發行版本下的實作方式,主要探討的點是 ICMP 封包是如何產生的。
    就我目前認知,目前至少有三種常見方式來設定 ping 指令讓其能夠順利收送 ICMP 封包。
    常見的 TCP/UDP 應用程式實際上都是讓 Kernel 幫忙處理底層的 L3/L4 封包,使用者的應用程式則是專注於資料的交換與處理,簡單的說法就是專心處理 L7 資料。
    但是 ICMP 封包不同於上述的 TCP/UDP 封包,一種方式就是透過 RAW Socket 的形式自行去拼湊組裝 ICMP 格式,自行處理一切封包的處理。
    RAW Socket 本身也不允許每個使用者都能輕易開啟,必須要有相關的權限才可以執行,因此一種 PING 的實作方式就是透過 SetUID 的方式,讓所有能夠執行 ping 指令的使用者會短暫瞬間提權變成 Root 的身份
    也因為是 Root 就可以順利的開啟 RAW Socket。
    SetUID 強大且方便,簡簡單單就可以讓使用者瞬間變成 Root,但是也因為簡單好像就安全角度來看會覺得不太嚴謹,畢竟我想要的只是一個能夠開啟 RAW Socket 的權限,你去把整個 Root 都送給我。
    因此第二種實作方式就是透過 Linux Capability 來達到更細緻化的權限控管,讓任何可以執行 ping 指令的使用者都可以短暫獲得 cap_net_raw 的權限,最終順利的開啟 RAW Socket
    而第三種方式則是跳脫的權限的概念,與其透過 RAW Socket 來自行打造 ICMP 封包,不如讓 Linux Kernel 幫忙處理 ICMP 封包,ping 的程式只要跟 Kernel 要求建立一個基於 ICMP 協定的 socket 即可。
    透過第三種方式最終可以達到 setuid-less 的架構,ping 的應用程式再也不需要任何的特殊權限,每個使用者都可以順利執行來收送 ICMP 封包。

    文章內會針對三種方式進行實驗跟觀察,對 PING 指令有興趣別忘了參考看看

  • icmp協定 在 iThome Security Facebook 的最讚貼文

    2017-02-10 16:04:50
    有 69 人按讚


    網路安全專家劉俊雄先前曾經接受iThome的專訪,
    分享他對於DDoS攻擊的觀察。
    囿限於媒體篇幅和屬性,
    劉俊雄趁著夜深人靜之際,
    把他對於DDoS攻擊的觀察有更深入的分享!!
    關注DDoS攻擊所有的資安與IT人員,
    都不要錯過這一篇動人的分享!!

    感謝奧天大大不藏私的經驗分享~~

    [淺談 DDoS 攻擊]
     
     
    幾個月前受訪談了些 DDoS 的話題,沒想到最近一連串爆發了這麼多事件,也讓個人淺見出現在幾篇 iThome 的報導
     
    http://www.ithome.com.tw/news/109932
    http://www.ithome.com.tw/news/110135
    http://www.ithome.com.tw/news/110144
    http://www.ithome.com.tw/news/110137
    http://www.ithome.com.tw/news/111861
     
    因訪談限制及媒體屬性,無法很完整的表達我的看法,趁著夜深人靜時整理一下 :
     
    DDoS 大略可分為三個層級 - 網路層、系統層、應用層,
     
    網路層為癱瘓目標頻寬,典型手法為 UDP/ICMP Flood、以及近年流行的各種 Reflection&Ampplification 洪水攻擊;
    系統層為癱瘓目標的基礎建設或系統層,典型手法為 SYN Flood、Fragment Packet Flood、Connection Flood 等;
    應用層為癱瘓目標的應用服務,典型手法為 SSL Flood、HTTP Flood、DNS Flood、Exploit、Slow Attack 等。
     
    十多年前個人剛接觸 DDoS 的時候,盛行的是「細巧」的系統層/應用層攻擊,但近幾年因許多協定的 反射&放大 手法被開發、以及 IoT Botnet 的盛行,應該會有一段時間轉為 「爆量」 的網路層攻擊。
     
    以開店作生意比喻 - 將店門口及前方道路視為網路出入口及上游,店裡設施和走道空間視為基礎建設,結帳櫃檯視為應用系統。則攻擊者可以堵住店門和馬路、可以塞爆店裡的走道和空間、又或者癱瘓結帳櫃檯。
     
    而 DDoS 為何難防 ?
    這與企業為何很難阻止駭客入侵的原因一樣,攻擊方與防守方處於不對等的立場,攻擊者有太多的方式可選擇,且可不斷的調整與嚐試,防守方卻礙於人力與預算限制,難以全天候對每一種手法都有良好的對應措施。
     
    許多老闆總認為花錢買設備就可以了事,但偏偏這不是單一設備、單一解決方式可以完全處理的,應該沒有一家的服務或設備直接上架,完全不需調校就可以完美對應每一種攻擊手法,需要有經驗豐富的專業人士視實際攻擊狀況調校參數及規則。有如同一把大刀,在關公和小孩手上耍起來實有天壤之別啊!
     
    以本次券商 DDoS 事件來說,由媒體報導看起來是屬於 [網路層] 的攻擊方式,但即使加大頻寬、或由ISP端阻擋住了,難保哪天不會出現針對系統層或應用層等更為精細、打得更為巧妙的手法,加上金融業幾乎全用 SSL 加密應用服務,會使中間的清洗商更難介入分析應用層攻擊(除非提交 SSL 金鑰)。
     
    至於實務上應該要怎麼阻擋會比較理想?
     
    我的看法是需 雲端清洗+本地防護,量大的攻擊由雲端或上游清洗處理,而細巧的攻擊可能穿過清洗中心,則由本地的防護機制處理,但絕對不會是由 "防火牆" 這萬年設備,至於用什麼設備可達到較好的阻擋效果請洽各大 SI。
     
    另外若預算許可下,還可建立多個資料中心或介接多條 ISP 線路,配合 GSLB 機制快速切換 DNS ,讓攻擊者難以鎖定每一個出入口,可增加攻擊難度及應變時間。
     
    另外真的遭遇 DDoS 攻擊時,個人的簡易 SOP 大概如下 -
    1. 快速診斷,描述症狀由專業人士判斷(有側錄封包更佳)
    2. 對症下藥
      - 洪水攻擊 : 請求 ISP/清洗商 協助、Black Hole、更換 IP / Multi ISP / GSLB
      - 系統層攻擊 : 更換撐不住的設備、關閉負載高的功能、調整系統參數延緩攻擊影響
      - 應用層攻擊 : 增加服務能量、減少異常存取
    3. 減少異常存取的方法:辨識特徵 + 過濾
      - 網路層特徵 (IP/PORT/ID/TTL/SEQ/ACK/Window/...)
      - 應用層特徵 (SSL/URL/Parameter/User-Agent/Referer/Cookie/Language/...)
    4. 如果打到沒有特徵可過濾,則需靠應用層的機制來辨識真實使用者
      - Redirection
      - Challenge
      - Authentication
    5. 若無上述功能則儘快商調適合的設備。
     
     
    以上是個人的看法,但我已經很多年沒直接處理 DDoS 的事件,也非任職於 ISP 方或 DDoS 防護服務廠商,只是單純的以技術角度分享,如有錯漏之處也請業界真正的高手不吝指教。
     
     
    題外話,最近 DDoS 正夯,服務商們可仿效已有許多資安業者提供的 IR Retainer 服務,推出 DDoS Retainer,也許是不錯的商機 XD
     
     
     
    [以上轉載請註明出處]

你可能也想看看

搜尋相關網站