iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 6
18
Security

從 0 開始的 Web Security系列 第 6

Day 6 網路模型與攻擊面向

Day 2 簡單帶過了 OSI 與 TCP/IP 的網路模型
這篇將會將會從這兩個模型來簡介可能發生的攻擊面向

OSI & TCP/IP Model

https://ithelp.ithome.com.tw/upload/images/20200917/20129897AJMJgnzp0a.png
從上面這張圖我們可以看到,OSI 模型將上面網路行為劃分成為七層
而 TCP/IP 模型將其簡化成四層
本文將會使用 OSI 模型的前三層 (1~3),與 TCP/IP 模型的後兩層 (3~4)
來講解較常發生的攻擊

Physical Layer (OSI Layer 1)

基本上這個較難發生在嚴格控管的機房環境
物理層面的攻擊基本上較常發生在辦公室、家庭、咖啡廳等環境
L1 的傳輸基本就是 010101 的數位訊號,而基本的傳輸媒介則是使用光子、電子,與無線電波
我們先來看看需要較少技術的 L1 攻擊
相信大家應該都看過這張圖
https://ithelp.ithome.com.tw/upload/images/20200921/20129897UsPp5zVXle.jpg
L1 等級的防火牆,當剪斷之後就能阻擋惡意流量,當然正常流量也一起被幹掉了
這個就是較少技術的 L1 級別攻擊,將通訊實體阻斷就可以達到 DoS (Deined of Service) 的效果
當然,這是需要較少的攻擊

我們有其他需要較多技術的 L1 攻擊可以實作
最常見的就是稱作 Tapping 的攻擊
Tap 基本上你去問 Google 的話,他會告訴你 Tap 有偷聽的意思
https://ithelp.ithome.com.tw/upload/images/20200921/20129897yW1dgf0qc7.png
有些廠商也將 TAP 當作為(Test Access Point 或是 Terminal Access Point)藉此美化這種行為
TAP 是一把雙面刃,可以讓網管人員分析數據流,但如果到惡意使用者手裡就可以變為竊聽的工具

TAP 主要分為兩種,主動式與被動式

被動式 TAP(Passive TAP)

被動式的 TAP 基本上就是把部分的傳輸媒介複製出來
像是如果用傳統銅質雙絞線,就可以在實體上把資料線接出來
而光纖的光脈衝訊號的話則可以使用分光器將光線分離出來
無線訊號的話大家都收得到,直接收就行
但有很大機率會對原訊號造成干擾或衰減
後面會有實作(對於沒囤文的我壓力暴增
因為被動式是使用直接對傳遞媒介本身複製的方式,所以不會因為監聽設備死掉而造成連線中斷的情況
這裡要注意,被動式指的是不主動提供新的訊號源來中繼訊號,與安裝時的 Zero Downtime 並不完全相同
Passive TAP 可以做到 Zero Downtime,但不是每種方法都可以

主動式 TAP(Active TAP)

主動式 TAP 也就是如上面所講的,需要主動提供新的訊號源來中繼,避免訊號太弱
主動式 TAP 可以做到 MITM (Man in the Middle) 的攻擊,同時也能避免被動式 TAP 訊號干擾與衰弱的問題
而主動式的缺點也很明顯,由於新的訊號源是由中間人主動提供的,當中間人的主動式 TAP 裝置故障或斷線後,整個連線將會中斷

Link Layer (OSI Layer 2)

Link Layer,也就是大家常聽見的 L2,L2 Switch 的 L2 就是這個 L2
在現在世界通用的以太網路,L2 主要用來識別的位置稱作 MAC (Media Access Control) 位置
在你的各位的電腦透過 DHCP 獲得 IP 前,主要的通訊都是 L2 的通訊
連結層可以做的攻擊基本上都發生在你可以控制的設備周邊,可以透過一些連結層的通訊協定來進行攻擊
比較常見的像是假冒自己是別台電腦(Fake Src MAC、ARP Spoofing)
或者是假冒成是一台網路交換器來影響周邊設備(STP Spoofing、Trunking Attack)

因為 L2 的攻擊可以有效的影響周邊的設備,所以在無防護的橫向移動是個有效的選擇
後面也會有 L2 的攻擊實作與分析

Network Layer (OSI Layer 3)

L3,網路層,又稱為 IP 層,主要用來識別不同主機的位置也就是 IP 位置
L3 在現有的 TCP 與 UDP 當道的情況下,可以攻擊的向量相對少了些
主要可以被攻擊的也是偽造發出封包的 Source IP,讓目的地機器認為這個封包是從其他機器來的
這種攻擊被稱作 IP Spoofing,這種攻擊也是現經較常見的 L3 攻擊
較小的終端是無法阻止這種攻擊的,需要在中途或者來源斷絕
這部分也會在後續實作提到

Transport Layer (OSI Layer 4, TCP/IP Layer 3)

Transport Layer 其實算是問題比較少的一層,這層主要需要搭配上面 Network Layer 進行攻擊
原因是因為現在大部分使用的都是 TCP 與 UDP,如果可以猜到對方使用的 TCP/UDP port,即可介入連線進行攻擊
但因為用猜的機率實在不大所以沒什麼攻擊空間,但如果可以聽到單方向的流量,會讓攻擊難度下降到可輕易實現的等級
這層也可以因為一些狀態機實作的方式來進行一些攻擊

Application Layer (TCP/IP Layer 4)

OSI L4 以上的一律被歸類在 TCP/IP 模型的第四層,而這層主要問題就是大家常見的 Web Secuity 等
像是一些 SQL Injection、XSS、SSRF 等的攻擊,就會被歸類在這裡
而因為這些議題較常被拿出來探討,故本系列文章將不會著重於這塊
我們只會根據一個較重要的與網際網路基礎較相關的協議,也就是 BGP 做探討。

小結

今天這篇文概述了 OSI 與 TCP/IP 模型中每一層可能發生的安全問題
之後的文章將會講解這些攻擊的細節,並附帶一些實作教學
如果對 TCP 這幾層不太熟的,可以看看這個系列的文 那些年還給老師的TCP/IP五層結構
如果你覺得這篇文或這系列的問題對你/妳有幫助,按個喜歡+訂閱好嗎 QQ


上一篇
Day 5 路由處理與交換原則
下一篇
Day 7 攻擊向量 (1) - 物理攻擊 (OSI L1)
系列文
從 0 開始的 Web Security22

尚未有邦友留言

立即登入留言