區域網路扁平架構與 Zero Trust 缺口:從 Streamlit 測試到 IoT 隔離的安全評估
一、研究背景與目的
近期,筆者在開發一套以自然語言處理(NLP)做詐騙文字偵測的專案,並以 Streamlit 作為 Web GUI 平台,將模型部署在本機端(localhost)並開啟特定埠供區域網路內同仁測試。Streamlit 運行時會在本機啟動一個 Python HTTP 伺服器,預設綁定在 0.0.0.0 或 127.0.0.1 上開放某一 Port,以便在瀏覽器中呈現互動介面。這種方式雖然快速且開發門檻低,但當伺服器綁定 LAN 介面後,內網使用者便能直接存取該測試介面。為了評估這是否在內網中打開了一扇「未關的大門」,我展開了網路分段與路由隔離的檢視,並思考在此扁平網路架構下,攻擊者是否能利用這些測試服務進行橫向移動。後續也將延伸至 IoT 設備(如網路印表機、IP 攝影機)的類似情境,以探討全網段的隔離與安全強化策略。
二、檢驗流程與技術說明
| 步驟 | 工具/命令 | 判斷依據 |
|---|---|---|
| 1 | ipconfig /all |
取得本機 IPv4 與子網遮罩,推算 L3 子網範圍。 |
| 2 | arp -a |
列出同子網內回應 ARP 的 MAC,若數量龐大且同屬同一範圍,代表 L2 扁平。 |
| 3 | tracert 10.x.x.x |
若僅顯示 1 hop 即達目標,代表無路由器介入,L3 亦為扁平子網。 |
在第一步驟中,我使用 Windows 內建的 ipconfig /all 命令,該工具會讀取作業系統的網路介面設定,包括 IPv4/IPv6 位址、子網路遮罩、預設閘道及 DNS 伺服器等資訊。由於開發環境為 Windows,ipconfig 是最直接且無須額外安裝的方式;我曾考慮過在 Linux 上使用 ifconfig 或 ip addr,但環境差異導致後者不適用於本機測試。此外,也曾嘗試透過 SNMP 查詢交換器表項,但因需額外設定 SNMP 社群字串並具有管理權限,後來捨棄以簡化流程。
第二步驟採用的 arp -a 命令能列出本機 ARP 緩存中所有已解析的 IP↔MAC 對應,這代表在 Layer-2 廣播域內活躍的鄰居主機。arp -a 屬於作業系統核心工具,免額外權限,且回應速度快;我曾一度考慮使用 Nmap 的 ARP 掃描 (nmap -sn) 來取得更多細節,但因 Nmap 執行過程較久且在部分網段容易觸發 IDS/IPS 告警,最後還是回歸「內建即用、低干擾」的 arp -a。
第三步驟中,我以 tracert 進行路由追蹤,透過發送 TTL(Time To Live)遞增的 ICMP 回顯請求,揭示封包經過的每個路由節點。由於我是用 Windows 環境,tracert 已隨系統安裝;我曾考慮使用更進階的 pathping(可顯示封包遺失率)或跨平台的 mtr(即時路線監測),但這些工具在 Windows 上需額外佈署,且 tracert 已足以驗證是否存在多跳路由,因此最終捨棄其他選項。
三、檢驗結果
在本次檢測中,首先透過 ipconfig /all 確認本機取得的 IPv4 位址落在 10.136.3.*,子網遮罩為 255.255.224.0,也就是 /19 代表整個第三層網段涵蓋了從 10.136.0.0 到 10.136.31.255 的範圍。接著執行 arp -a 時,可以看到數百筆來自同一 /19 網段內的 IP↔MAC 對應條目,並且其中並未出現屬於其他子網的 MAC,也沒有任何私有 VLAN(Private VLAN)或中繼裝置的硬體地址,這表示在第二層廣播域中,所有主機彼此之間的 ARP 廣播都能相互響應,沒有看到任何隔離機制阻擋。最後,用 tracert 追蹤到幾個內網主機的路徑,結果皆只顯示一跳便直達對方 IP,證明在第三層也不需要經過額外的路由器或三層交換器轉發,整個內網從 Layer-2 到 Layer-3 都呈現扁平化結構。
深入分析這樣的結果,我們可以明白在缺乏網路分段的環境下,攻擊者一旦拿到內網入口,便能輕易透過 ARP 欺騙(ARP spoofing)或 ICMP 掃描取得所有主機的網段資訊,並快速發動橫向移動(lateral movement)。由於沒有 VLAN、ACL 或防火牆規則限制 East-West(東西向)流量,每一台主機都如同開放的互通通道,攻擊者能無障礙地探測服務埠、部署惡意載荷或直接存取敏感資料。此外,扁平化的廣播域還可能引發大規模的廣播風暴,當網路有故障或惡意攻擊造成 ARP 廣播泛濫時,整個子網的效能都會受到嚴重衝擊。
為了更全面地驗證網路是否存在分段或隔離機制,還可以結合其他工具與方法。首先,透過 Nmap 的 ping sweep 及埠掃描,不僅能快速識別哪些主機在同一播送域,也能判斷它們所開放的服務埠與作業系統類型。其次,可透過 SNMP 查詢交換器的 VLAN 介面表(VLAN MIB),了解底層交換機對應的 VLAN 成員與介面分配情形。第三,使用 Wireshark 於關鍵交換器或主機端進行封包擷取,觀察 ARP、STP 及 LLDP/CDP 流量,確認是否有 VLAN 標記或網路層隔離。第四,採用 pathping 或跨平台的 mtr(My Traceroute)工具,不僅看跳數,還能量化每一段路由的丟包率,進一步判斷路由器是否有流量過濾或丟棄封包。最後,透過網路流量監控系統(NDR)、IDS/IPS 或網管系統(NMS)中的拓撲發現功能,可以自動繪製網路拓撲圖,並標示出哪些節點間存在直接通信,協助判定實際架構中的分段與隔離程度。
透過這些多元化的檢測方式,便能更完整地揭露網路架構真實面貌,並為後續實施微分段、ACL 防禦以及 Zero Trust 驗證提供更精確的依據。
四、內網扁平帶來的資安風險
| 發現 | 風險場景 | 資安風險 |
|---|---|---|
| L2 扁平廣播域 | 主機間可自由 ARP 並互相發現 | ARP 欺騙(中間人攔截)、廣播風暴影響範圍廣 |
| L3 扁平子網 | 封包不需路由即可直達任意主機 | 橫向移動(lateral movement)、服務偵測與掃描易如反掌 |
| 無 ACL/防火牆 | 無跨段存取限制 | 無最小權限控管、難以對單一服務或區域進行強制授權與驗證 |
攻擊者若成功滲透到開放於 LAN 的 Streamlit 測試介面,第一步往往是藉由介面本身的漏洞取得初步執行權限。例如,若開發者在處理使用者輸入時未嚴格過濾,攻擊者可透過精心構造的字串注入(如 Python 的 eval() 漏洞或序列化攻擊)執行任意程式碼。一旦掌握程式碼執行,攻擊者可在受害主機上植入後門、下載並執行惡意模組,甚至將模型參數或訓練資料上傳至遠端伺服器,進行未授權的模型竊取或逆向工程。
在拿到這台主機的系統權限後,攻擊者接著會藉由 ARP 欺騙(ARP spoofing)攔截內網流量。透過工具如 Ettercap 或 Cain & Abel,攻擊者可偽造網關或其他重要伺服器的 MAC 位址,將跨主機的 HTTP/HTTPS、SMB、RDP 等流量導向自己機器,並在未加密或 TLS 配置不當的情況下,取得使用者憑證或敏感資料。此時,攻擊者便能收集 NTLM 雜湊、Kerberos 票證或其它身分驗證令牌,為下一步的橫向移動 (lateral movement) 做準備。
獲得初步認證憑證後,攻擊者通常會利用內建工具(如 net use、PowerShell Remoting)或公開漏洞(例如 MS17-010 SMB 漏洞)向其他主機發動攻擊。透過 nmap 或內部掃描器快速列舉可用埠,確認哪些機器開啟 SMB、RDP、SSH、MySQL 等服務,然後使用 EternalBlue、CVE-2021-34527(PrintNightmare)等漏洞模組自動化滲透。攻擊者往往會一口氣將多台主機收入囊中,並部署後門程式(如 Cobalt Strike Beacon)以確保持續存取。
針對模型層面,攻擊者還可能對詐騙偵測模型實施「模型中毒(model poisoning)」,即在測試介面提交經過對抗性微調的樣本,導致模型誤判正常訊息或放行惡意訊息;更嚴重者,攻擊者可執行「模型抽取(model extraction)」,透過大量查詢並分析回傳結果,重建或近似還原出完整的模型權重,進而進行離線推理,甚至賣出該模型作為商業情報。
最後,在資料外洩階段,攻擊者常使用 DNS 隧道、ICMP 回顯資料或 HTTP over 非標準埠等 covert channel,將竊取到的模型檔案、日誌與用戶數據偷偷傳出。如果內網中還有未妥善隔離的 IoT 設備(如網路印表機),這些設備的管理介面同樣可能被攻陷,一旦攻擊者在印表機上植入殭屍程式,就能透過影印或列印工作將隱藏指令注入文件,甚至藉由印表機的儲存卡讀寫敏感掃描文件,再次擴大攻擊面。
面對如此多元且階段化的攻擊路徑,單靠一兩道防線已無法全面防禦。企業應在網路邊界與內部同時布署微分段與持續驗證機制,並結合 NDR/IDS、SIEM 與 EDR 工具,對可疑的 ARP 廣播、非典型流量與非法登錄行為保持警覺,才能在初期就攔截這些滲透與橫向移動攻擊。
五、Zero Trust 架構的落差與建議
Zero Trust Architecture(ZTA)由 NIST SP 800-207 定義為「一套不依賴傳統網路邊界的安全原則,旨在防止資料外洩並限制內部橫向移動」 ([PDF] A Zero Trust Architecture Model for Access Control in Cloud-Native ...)。此架構強調「永不信任、持續驗證、微分段、最小權限」等要素,但從本次檢測結果可見,單位內網在 L2/L3 層均採扁平結構,既無 VLAN 分段,也未配置 Layer-3 ACL,所有節點預設互信,與 ZTA 原則大相逕庭。
為解決此現況,建議先在核心交換器或防火牆上區分「管理、研發、測試、IoT」等多個 VLAN 並對應不同子網,再透過 ACL 嚴格定義哪些來源可存取哪些服務埠。進一步可導入軟體定義網路(SDN)與容器服務網格(Service Mesh)架構,利用 sidecar proxy(如 Istio)在應用層實現動態 mTLS 加密與細緻服務間授權,確保每次 East-West 流量均經過真實身分與安全策略驗證 (Project Overview — Implementing a Zero Trust Architecture Project ...)。
六、延伸研究:IoT 設備的資安風險
另外,我們深入檢視 IoT 裝置的延伸風險,發現單一未經分段的扁平網段中,攻擊者只要透過最初的測試伺服器入口,就能大規模掃描並定位各類 IoT 裝置。這些裝置往往同時開放多個服務埠,例如 HTTP、Telnet、MQTT、SNMP 等,而預設安裝的固件常內建弱密碼或者硬編碼認證資訊,使得攻擊者可利用工具如 Hydra 或 Medusa 進行「密碼噴射(password spraying)」,迅速破解裝置帳密。根據 OWASP IoT Top 10,弱口令與明文憑證是最常見且最易被濫用的問題之一 (OWASP IoT Top 10 Vulnerabilities & How To Mitigate Them - SISA)。一旦攻陷第一台 IP 攝影機,攻擊者即可將其納入殭屍網路,並以該裝置為橋頭堡,對同網段的其他設備發動橫向移動,甚至藉由 SNMP 枚舉(使用 snmpwalk)或 UPnP 探測進一步發現尚未識別的株。
在滲透過程中,攻擊者往往會透過 ARP 欺騙和中間人(MitM)技術攔截 IoT 裝置的內部通訊,特別是在裝置間常見的未加密 TCP/UDP 協議上,能截獲攝影機影像、印表機掃描文件或感測器上報的敏感資料。若裝置提供 Web 管理介面但未落實 HTTPS 或 TLS,攻擊者更可直接利用 SSL Stripping 或自簽憑證攻擊,令使用者誤信惡意伺服器。一旦取得憑證,便可將竊取的 IoT 裝置用於發動分散式阻斷服務(DDoS)攻擊或橫向滲透至企業內部其它關鍵系統。
由於許多 IoT 裝置缺乏安全更新機制,無法自動接收廠商釋出的安全補丁,攻擊者只要掌握裝置上的未修漏洞(如 2019 年多款攝影機曝出的 CVE-2019-1234 類漏洞),就能保持對裝置的長期控制。實務上,可透過 Nessus、OpenVAS 等漏洞掃描器定期掃描這些設備,並對其管理介面埠(例如 TCP/8080、TCP/8443)進行針對性測試,確認是否仍存在公開漏洞。而在分段不足的環境下,這些測試流量無論合法或惡意,皆能不受阻礙地觸及整個 /19 子網,放大了快速蔓延的風險。
為驗證隔離效果,可進一步採用被動式網路監控(NDR)與行為分析,監測 IoT 裝置間的 East-West 流量,啟用鏡像埠收集封包樣本,並分析 ARP、LLDP、MDNS 等協議的頻繁出現是否異常。此外,應配合部署基於標籤或進程的微分段技術,並在每一個 IoT 裝置上安裝輕量級 Host-Based Agent,強制所有通訊先經過本地安全代理做 TLS 驗證與流量白名單檢查,才能在根本上阻斷橫向攻擊路徑。如此,才能真正化解 IoT 裝置在扁平網段中成為攻擊跳板的隱憂。
七、結論
在本次檢測中,我們透過 ipconfig 確認內網節點皆屬於同一 /19 子網,接著以 arp -a 揭示了大量同網段的 MAC 對應,最後用 tracert 驗證 L3 路由也僅需一跳直達,從物理層(Layer-2)到網路層(Layer-3)均呈現扁平化結構。這樣的架構意味著,當任一主機遭到入侵,攻擊者便可直接對內網其他節點進行 ARP 欺騙、SMB 或 RDP 掃描,無需經過任何路由器或防火牆的檢查,就能快速橫向移動。ARP 廣播域的扁平性更可能因廣播風暴或 DHCP 污染而造成整網癱瘓,攻擊者能利用這些弱點發動大規模攻擊或中斷服務。
與 NIST SP 800-207 所定義的 Zero Trust 原則相比,此環境明顯缺少「永不信任」與「持續驗證」的機制。理想中的 Zero Trust 要求對每次存取都進行動態風險評估並驗證裝置與使用者身分,還要透過微分段(micro-segmentation)限制東西向(East-West)流量。而我們的內網不僅沒有部署 VLAN 分段與 Layer-3 ACL,亦未在應用層導入 mTLS 或 API Gateway 驗證,致使所有服務都被視為同等可信、無差別放行。若此漏洞未被彌補,攻擊者只需利用單一入口便可橫掃整個網段,並在毫無警示的情況下竊取敏感資料或挾持 AI 模型。
為徹底封鎖這扁平架構所帶來的「未關大門」,建議從網路與應用兩端同時著手。網路側應在核心交換器與防火牆上,依管理、研發、測試、IoT 等業務需求細分多個 VLAN 並套用嚴格的 Layer-3 ACL;同時可導入 SDN 平台或容器服務網格(如 Istio、Cilium)實踐微分段,確保各節點間 East-West 流量必須經過動態身份驗證與金鑰協商。在應用層面,對 Streamlit GUI、API 服務與 IoT 管理介面全面啟用 mTLS 與 OAuth2/JWT 驗證,並結合 SIEM、NDR 與 UEBA 進行持續狀態監控與異常行為分析。最後,不可遺漏對 IoT 裝置的隔離與定期稽核,包括漏洞掃描、弱口令檢測與韌體更新,才能真正落實 Zero Trust,並有效抵禦內網的橫向移動與資料竊取風險。
Comments
Post a Comment