• 沒有找到結果。

以網路流量偵測SSH字典攻擊與追蹤之研究

N/A
N/A
Protected

Academic year: 2021

Share "以網路流量偵測SSH字典攻擊與追蹤之研究"

Copied!
47
0
0

加載中.... (立即查看全文)

全文

(1)國立高雄大學亞太工商管理研究所 碩士論文. 以網路流量偵測 SSH 字典攻擊與追蹤之研究 A Study of Using NetFlow Traffic Data to Detect and Track SSH Dictionary Attack. 研究生:薛昱仁 撰 指導教授:蕭漢威 博士. 中華民國九十八年一月.

(2) 誌謝 兩年半的碩班生涯終於要結束了,一路走來要感謝的人實在太多。首先要感謝口試 委員魏志平教授與楊新章教授,給予畢業論文寶貴的研究建議,使得論文更臻完美。感 謝辛苦指導的蕭漢威老師,從碩一入學一路扶持我到碩三上學期。我隨性的個性與廣泛 的興趣總是讓蕭老師操心與煩惱,但蕭老師總能包容並且給予支持與指導,令我十分感 動。感謝林杏子老師總是在生活中不時給予鼓勵與打氣。在我需要幫忙的時候,總會貼 心遞上關懷,讓我在正向心理學的氛圍下滋養茁壯。. 感謝王學亮老師與丁一賢老師於 Group Meeting 時給予畢業論文的指教。感謝資管 系與亞太系所有老師在碩班課程中辛勤指導學生。感謝亞太所碩班同學,藍欣、世斌、 士庭、德政、昶儒、小紅、繼哲、麗君、儷儒、偉鴻、吟臻與安迪,我永遠忘不了我們 一同共度在研究室那段美好時光。感謝資料工程與網路管理實驗室的碩二學弟妹,宗 儒、思揚、智翔、軍達與恆慈,與其他碩一學弟,坤裕等人,在實驗室裡互相討論交流 與學習,讓我們彼此都有所收穫成長。感謝我所有朋友,有你們讓我生命更加完整。. 最後,要感謝我的父母。兩年半的碩班生涯,爸媽總是在背後默默地支持著我,不 管我做任何決定,你們永遠給予正面的支持與鼓勵,讓我能心無旁鶩專心讀書,做我想 做的事。我愛你們。. 薛昱仁 謹誌 于國立高雄大學 資料工程與網路管理實驗室 2009 年 1 月 20 日.

(3) 以網路流量偵測 SSH 字典攻擊與追蹤之研究 國立高雄大學資訊管理學系 指導教授:蕭漢威 博士. 國立高雄大學亞太工商管理研究所 學生:薛昱仁. 摘要 隨著各式網際網路應用程式的快速發展,在網路上進行身份認證是無可避免的流 程,密碼認證的方法是目前仍無法取代的認證方式。而字典攻擊手法為利用字典中經常 出現的字詞猜測使用者可能的密碼,這類字典攻擊的技術仍被入侵者拿來做為主要的入 侵手段之一。近年來觀察位於網際網路上的伺服器日誌檔,經常有許多入侵者以字典攻 擊的方法試圖入侵伺服器,這類的攻擊方法因為網路程式的技術日益發達,有許多利用 字典攻擊自動入侵的機制被發展出來,所以這類的攻擊事件有越來越嚴重的趨勢,造成 了各級網管人員的困擾。. 本研究利用了網路 NetFlow 的流量資料,蒐集了針對 SSH 通信協定進行字典攻擊 的流量記錄,以資料探勘中分類分析技術的貝式機率演算法、決策樹演算法與支援向量 機演算法,建立了一個有效的偵測模組。在本研究中實證了這個偵測模組有很好的效 果,在預測準確率上可達 90% 以上的正確率。此外,本研究並且利用 SSH 字典攻擊偵 測模組所偵測到的攻擊 IP 與 NetFlow 資料發展 SSH 字典攻擊追蹤演算法,藉以幫助網 路管理者追蹤 SSH 字典攻擊的主機,並找出其間的攻擊路徑拓樸關係以找出較早發動 字典攻擊的主機位址。研究結果將可以有效的提供網路管理人員從網路流量的記錄中自 動找出潛在進行的 SSH 字典攻擊跳板,並協助找出目前網路內的 SSH 字典攻擊發動路 徑的拓樸關係,對於提高網路安全防護具有很大的幫助。 關鍵字:字典攻擊、網路流量、資料探勘、追蹤網路攻擊. i.

(4) A Study of Using NetFlow Traffic Data to Detect and Track SSH Dictionary Attack. Advisor: Dr. Han Wei Hsiao Department of Information Management National University of Kaohsiung. Student: Yu Jen Hsueh Department of Asia-Pacific Industrial and Business Management National University of Kaohsiung. ABSTRACT. With the rapid growth of technology, there are many applications system needs to authenticate in the Internet environment. User account and password is a simply and general way for authentication in network. The dictionary attack means that attackers attempt to login some user accounts illegally by trying all possible password. There are a lot of login failed SSH service login records in the system authentication logs file, that become a usually situation on the Taiwan Academic Network environment. It implies that dictionary attack is a serious intrusive event.. In this paper, we propose a classification-based detection module to detect SSH dictionary attack. We used three data mining classification algorithms, Naïve Bayes, decision tree and SVM to build our SSH dictionary attack detection module. We collected real world NetFlow traffic data in a month as our training samples to build our detection system. Our empirical evaluation results show that the proposed detection module reaches above 90% detection accuracy. Further, we used detection module and NetFlow history data to develop the SSH dictionary attack tracking algorithm. We try to find out the topology of IP address that launched SSH dictionary attack, and try to trace back the origin of SSH dictionary attacker. This research result that could be helps the network managers to detect implicit dictionary attack behaviors to improve the network security.. Keywords: Dictionary Attack, NetFlow, Data Mining, Network Attack Tracking. ii.

(5) 論文目錄 第1章. 前言.......................................................................................................................... 1. 第2章. 文獻探討.................................................................................................................. 4. 2.1. 字典攻擊.................................................................................................................. 4. 2.2. 防禦SSH字典攻擊的方法....................................................................................... 4. 2.3. 追蹤網路攻擊相關研究.......................................................................................... 7. 第3章. 網路流量偵測SSH字典攻擊模組........................................................................... 9. 3.1. NetFlow資料簡介.................................................................................................... 9. 3.2. SSH連線網路流量資料......................................................................................... 11. 3.3. SSH字典攻擊偵測模組......................................................................................... 12. 第4章. SSH字典攻擊追蹤機制......................................................................................... 17. 4.1. SSH字典攻擊追蹤演算法..................................................................................... 17. 4.2. SSH字典攻擊追蹤演算法範例............................................................................. 19. 第5章. SSH字典攻擊偵測模組與追蹤SSH字典攻擊演算法實例 ................................. 24. 5.1. SSH字典攻擊偵測模組實證評估......................................................................... 24. 5.2. SSH字典攻擊追蹤演算法實例............................................................................. 30. 第6章. 結論與未來研究方向............................................................................................ 37. iii.

(6) 表目錄 表 2-1.auth.log中出現字典攻擊行為的相關紀錄.................................................................... 5 表 3-1.NetFlow的網路封包流量屬性..................................................................................... 10 表 3-2.正常客戶端SSH連線NetFlow資料 ............................................................................. 11 表 3-3.SSH字典攻擊NetFlow實例資料 ................................................................................. 12 表 3-4.SSH字典攻擊分類分析之流量變數 ........................................................................... 14 表 4-1.SSH字典攻擊IP連線紀錄列表.................................................................................... 18 表 4-2.範例SSH字典攻擊IP連線紀錄列表............................................................................ 20 表 5-1.混合矩陣(Confusion Matrix) ....................................................................................... 25 表 5-2.SSH字典攻擊預測實證評估結果 ............................................................................... 26 表 5-3.分類流量變數分類效力程度排序............................................................................... 28. iv.

(7) 圖目錄 圖 3-1.NetFlow收集架構圖..................................................................................................... 11 圖 3-2.SSH字典攻擊偵測系統架構 ....................................................................................... 13 圖 4-1.SSH字典攻擊追蹤演算法虛擬碼 ............................................................................... 19 圖 4-2.攻擊路徑拓樸關係範例............................................................................................... 21 圖 5-1.SSH字典攻擊連線示意圖 ........................................................................................... 30 圖 5-2.攻擊角色示意圖........................................................................................................... 31 圖 5-3.攻擊範圍示意圖........................................................................................................... 32 圖 5-4.內分支度高的IP節點示意圖 ....................................................................................... 33 圖 5-5.外分支度的IP節點示意圖 ........................................................................................... 34 圖 5-6.內分支度高且外分支度也高的IP節點示意圖 ........................................................... 35 圖 5-7.外分支度高且鄰近節點的外分支度也高的IP節點示意圖 ....................................... 36. v.

(8) 第1章. 前言. 網際網路的快速發展,使得各式各樣的網路服務興起,如網路拍賣、網路銀行、電 子信箱與線上遊戲等。這些網路服務普遍上是使用密碼認證機制,來提供有關於個人化 的服務,例如可以檢視該帳號的相關資料紀錄,如電子郵件、網路銀行存款餘額等。在 註冊階段,使用者需在網路服務系統設定一組系統帳號密碼,之後使用者登入時,只需 登入先前設定的帳號密碼即可登入系統,使用該系統所提供的服務。密碼認證是檢驗使 用者是否有權限存取這些網路服務最簡便也最普及的方法。雖然有其他的認證方式如公 鑰加密認證(Public-Key Cryptography)(Halevi & Krawczyk, 1999)、智慧卡認證(Smart Card Authentication)(Kim, Lee, & Yoo, 2003)與生物辨識(Biometrics)(Ratha, Connell, & Bolle, 2001)等,但這些方法因為建置成本過高,在一般網路服務認證使用上並不普及。. 密碼認證雖然簡便,但也有其缺點。例如密碼的命名與使用者的習慣有關,缺乏安 全管理概念的使用者會挑選簡便與容易記憶的密碼,如簡單英文單字與數字組合、生 日、身份證字號、電話號碼等。並且使用者最常使用的密碼大約只有四到五組(Adams & Sasse, 1999),在現今大量需要密碼認證的網路服務下,密碼的重複使用率很高(Ives, Walsh, & Schneider, 2004)。再者,使用者貪圖方便或職務管理不得已狀況之下,會有多 人共用一組帳號密碼情形發生,例如管理者帳號只有一組,但是卻有兩個以上的管理 員,不同的管理員就會共用同一組簡單容易記憶的管理者帳號密碼。但使用者這些挑選 密碼的策略所導致的安全問題造成了許多網路管理問題,網站無法要求全部的使用者都 具備安全密碼管理認知。而目前網際網路的網站中,有許多使用者註冊網站帳號時,大 部分網站缺乏挑選適當不易猜測的密碼的導引文件或步驟。即使網站對使用者挑選密碼 的格式有所限制(e.g. 最大八個字元、非字典用字),但使用者仍然無法理解為何該網站 限制密碼格式的真正意義是防止使用者密碼被猜測出來(Furnell, 2007)。. 因此,根據使用者不良的密碼使用習慣,入侵者便發展出字典攻擊(Dictionary Attack) 來猜測這些容易記憶的密碼帳號。如 2002 年國外知名網路拍賣網站 eBay 發生入侵者利 用字典攻擊工具破解這些使用簡便密碼的賣家帳號,利用這些賣家帳號,進行非法的網 路詐欺行為,而這些被盜帳號的擁有者,就成為入侵者進行網路詐欺行為的犯罪工具 (Wolverton, 2002)。由 eBay 字典攻擊事件可得知使用簡便密碼會帶來網路安全的問題,. 1.

(9) 但因為使用者使用密碼不良習慣,並且目前尚未出現其他方案能有效取代密碼做為系統 認證方式,字典攻擊儼然形成一個網路安全上的隱憂。. 觀察 Internet 環境中的伺服器日誌紀錄檔(Server Log)時,經常可以發現許多針對 SSH(Secure Shell)(Bellare, Kohno, & Namprempre, 2006)服務的字典攻擊事件發生。SSH 是加密傳輸協定,屬於 TCP/IP 應用層協定。SSH 改良使用從前 Telnet 協定從網路遠端 連線至伺服器時,使用明文傳輸容易被竊聽的缺點,系統管理者改使用加密傳輸提供網 路遠端登入進行系統管理。伺服器開啟 SSH 服務主要是讓管理者透過網路,以加密連 線方式,從網路遠端登入與管理伺服器日常業務。但攻擊者模擬一般管理者正常 SSH 連線行為,使用 SSH 字典攻擊連線開啟 SSH 服務的伺服器,試圖取得伺服器的登入權 限。網路上不同使用者因不同需求,架設了各式網路伺服程式,然而因維護人員缺乏密 碼管理概念或者疏忽管理的緣故,某些伺服器的管理者帳號的密碼,也常常挑選簡便與 容易記憶的密碼,這些採用簡便密碼的管理者帳號,便成為 Internet 上字典攻擊的主要 瞄準目標。. 本研究從網路流量觀察 SSH 字典攻擊特徵,並試圖以資料探勘技術去建立 SSH 字 典攻擊偵測模組與發展 SSH 字典攻擊追蹤演算法。當 SSH 字典攻擊行為發動時,攻擊 者的 SSH 字典攻擊程式會先掃描網域內有哪些伺服器開啟 SSH 服務,針對網域中每個 伺服器 IP 預設 SSH 通訊埠 22 發送 TCP SYN 封包 ,若有伺服器發送回應攻擊者的 ACK 封包,SSH 字典攻擊程式就認定該伺服器有開啟 SSH 服務。攻擊者具備發動 SSH 字典 攻擊所需的字典檔,字典檔中儲存一般管理者常用的帳號密碼配對(如帳號 admin,密碼 admin123)。之後,攻擊者所使用的 SSH 字典攻擊程式就針對有回應的 ACK 封包的伺服 器,送出字典檔中的帳號與密碼,做為 SSH 登入認證訊息給該伺服器,試圖猜測伺服 器中具有 SSH 服務遠端登入權限的帳號與密碼。若第一次所傳送的帳號密碼猜測失敗, SSH 攻擊程式便會重複以另外一組位於攻擊者的字典檔中的帳號密碼測試,直到字典檔 中的帳號密碼猜測完畢,或成功登入為止。. 在開放的 Internet 的環境使得網路管理者不易取得各單位伺服器的日誌檔。網路管 理者必須維持管轄範圍內的網路安全,若能發展從其他網路管理資訊做為偵測方法,將 可解決網路管理者不易取得伺服器日誌檔的缺點。因此,本篇研究欲利用 SSH 協定與. 2.

(10) SSH 字典攻擊的特性,以網路 NetFlow(Cisco, 2008a)流量資料偵測針對 SSH 協定所發動 的字典攻擊,試圖以資料探勘分類分析方法,提出 SSH 字典攻擊偵測模組。此外,攻 擊者發動 SSH 字典攻擊的意圖不僅僅是取得伺服器登入權限,更是欲利用這些已經被 SSH 字典攻擊入侵成功的伺服器,稱為殭屍(Zombie)或跳板(Stepping Stone),拓展攻擊 者所控制的殭屍網路(Botnet)(Ianelli & Hackworth, 2005)版圖,尋找網路上更多的可能入 侵成功的伺服器。觀察 Internet 日常流量時,發現攻擊者常會利用先前被字典攻擊入侵 成功的伺服器,針對所指定的網域 IP,同樣入侵手法再針對其他網路上的伺服器,再進 行 SSH 字典攻擊。因此,有鑑於攻擊者常藉由先前發動 SSH 字典攻擊並且入侵成功的 伺服器,再向其他網路上的伺服器發動 SSH 字典攻擊的網路攻擊情況,為了解這些發 動 SSH 字典攻擊伺服器主機之間的攻擊路徑拓樸關係,本研究在第三章提出 SSH 字典 攻擊偵測模組,偵測 NetFlow 資料中是否有攻擊者在網路上曾經發動 SSH 字典攻擊。 並且於第四章以 SSH 字典攻擊偵測模組與 NetFlow 資料,發展了一套 SSH 字典攻擊追 蹤演算法,利用 SSH 字典攻擊偵測模組,試圖尋找這些被 SSH 字典攻擊入侵成功的伺 服器主機之間的攻擊路徑拓樸關係,並實際利用高雄大學的網路環境驗證 SSH 字典攻 擊偵測模組效能與 SSH 字典攻擊追蹤的結果。. 3.

(11) 第2章. 文獻探討. 本章中探討與 SSH 字典攻擊相關文獻,2-1 探討字典攻擊的定義、字典攻擊細項分 類與說明。2-2 說明相關防禦 SSH 字典攻擊的方法與其缺點與限制。2-3 探討目前針對 追蹤網路攻擊的研究,說明類似追蹤網路攻擊的方法與其缺點與限制,並比較本研究所 提出的偵測模式與追蹤機制與其他方法的差異。. 2.1 字典攻擊 對於字典攻擊意指字典攻擊為在一組小範圍的字典檔中,攻擊者從中嘗試使用各種 可能的密碼,利用這些可能的帳號密碼登入伺服器,直到找到正確的密碼為止。過去的 相關研究中,Pinkas & Sander(2002)曾對字典攻擊有較明確的定義: “A small password domain enables adversaries to attempt to login to accounts by trying all possible passwords, until they find the correct one. ” 當攻擊者欲嘗試的密碼皆驗證完畢無法順利登入時,字典攻擊也會停止。字典攻擊 還可細分為線上(Online)與離線(Offline)兩種攻擊方式(Pinkas & Sander, 2002),線上字典 攻擊定義是攻擊者在網路上直接對伺服器做帳號密碼登入驗證,以便檢查猜測的密碼是 否可正確登入,線上字典攻擊會在伺服器日誌紀錄檔中留下大量的密碼登入錯誤紀錄, 例如 eBay 字典攻擊事件所採用的攻擊方式。而離線字典攻擊不需與伺服器做互動帳號 密碼驗證,攻擊者透過伺服器中其他系統漏洞盜取伺服器的密碼檔。取得密碼檔後,可 讓攻擊者不需透過登入伺服器的程序,離線使用如 John the Ripper(Peslyak, 2008)的離線 字典攻擊工具,在攻擊者的電腦以暴力法或機率猜測的方法驗證所猜測伺服器使用者的 密碼是否正確。SSH 字典攻擊需要對伺服器做即時帳號密碼登入驗證,可歸屬為線上字 典攻擊,因此本研究是針對線上字典攻擊行為進行偵測。. 2.2 防禦 SSH 字典攻擊的方法 SSH 字典攻擊歸類為線上字典攻擊,先前防禦線上字典攻擊的相關研究如(Oorschot & Stubblebine, 2006; Pinkas & Sander, 2002)採用防禦線上字典攻擊的方法為反向杜林測. 4.

(12) 試(Reverse Turing Test),利用 Captcha 技術(Ahn, Blum, & Langford, 2004),產生讓電腦 難以判讀但人類卻可輕鬆識別的圖形,使用者必須要在登入時輸入圖形中顯示的數字或 英文字母一併連同帳號密碼提交至認證伺服器。使用 Captcha 技術防禦線上字典攻擊成 效卓著,目前各大網站如 Google、Yahoo 等在帳號認證部份均廣泛使用 Captcha 技術, 以防禦線上字典攻擊。但 Captcha 技術只能使用於圖形介面認證環境,無法使用於文字 介面認證的 SSH 協定。因此,雖然 SSH 字典攻擊歸類為線上字典攻擊,但目前無法使 用 Captcha 技術防禦 SSH 字典攻擊。而目前防禦 SSH 字典攻擊的方法主要還是以伺服 器管理為主,如稽核伺服器日誌檔、公私鑰非對稱加密認證、修改伺服器 SSH 服務通 訊埠。以下部份將深入探討這些防禦 SSH 字典攻擊的方法以及其缺點。 第一種防禦 SSH 字典攻擊方法為稽核伺服器日誌檔中,若有出現 SSH 字典攻擊的 相關行為的 IP,例如同一個 IP 進行 SSH 連線認證,使用不存在的帳號登入失敗次數達 數次以上,便使用防火牆或進行 IP 封鎖或者加入拒絕連線的列表中(e.g. hosts.deny)。在 伺服器日誌檔中出現 SSH 字典攻擊的相關行為如表 2-1。. 表 2-1. auth.log 中出現字典攻擊行為的相關紀錄 z z z z z. Jul Jul Jul Jul Jul. 8 03:14:14 host1 sshd[13676]: Invalid user divine from 192.168.0.1 8 03:14:19 host1 sshd[13680]: Invalid user popa3d from 192.168.0.1 8 03:14:26 host1 sshd[13684]: Invalid user aptproxy from 192.168.0.1 8 03:14:32 host1 sshd[13688]: Invalid user desktop from 192.168.0.1 8 03:14:38 host1 sshd[13692]: Invalid user workshop from 192.168.0.1. 在表 2-1 中,divince、popa3d、aptproxy 等帳號都是伺服器中不存在的帳號, 192.168.0.1 這個 IP 試圖使用這些不存在的帳號進行 SSH 認證登入,並且登入失敗次數 超過數次以上,透過稽核日誌檔的方式,將 192.168.0.1 加入防火牆封鎖 IP 或拒絕連線 列表中,以防該 IP 下次惡意攻擊行為影響到伺服器系統安全。相關偵測軟體如 Denyhosts(Schwartz, 2008),安裝軟體後透過稽核日誌檔,封鎖這些被偵測出來的具有字 典攻擊行為的 IP,還可以進一步同步到 Denyhosts 的共享黑名單中,讓所有安裝 Denyhosts 的伺服器共同使用與封鎖。 稽核日誌檔的防禦方法缺點為若攻擊目標伺服器與網路管理者在不同的管理權限 下,管理者無法拿到伺服器日誌檔的時候,就無法針對日誌檔中進行字典攻擊的 IP 進 行偵測,例如在網路管理業務上,不易取得與管理底下授權給其他單位的伺服器日誌. 5.

(13) 檔。在無法稽核日誌檔的狀況下,便無法利用日誌檔得知伺服器曾經遭受過哪些網路 IP 的字典攻擊。此外,共享黑名單的機制屬於封鎖黑名單表列上的 IP,若字典攻擊者的 IP 不在黑名單上,就無法事先進行阻擋。因此,對於不在黑名單上的字典攻擊者的 IP,共 享黑名單也無法全面阻擋其字典攻擊。並且本研究使用 NetFlow 資料進行偵測網路上的 SSH 字典攻擊,若要全面推廣每位伺服器管理者安裝稽核伺服器日誌檔軟體於伺服器 中,請求共同偵測防禦 SSH 字典攻擊。NetFlow 資料彙整訓練並不需要伺服器管理者額 外安裝監測軟體配合,對於偵測 SSH 字典攻擊的成本相對低廉許多。 第二種防禦 SSH 字典攻擊的方法,則是利用非對稱金鑰加密認證方式。使用者可以 在 SSH 客戶端選擇產生一對 RSA 或 DSA 演算法的公鑰與私鑰,將客戶端產生出來的公 鑰置入欲登入的 SSH 伺服器中的帳號相關設定資料夾中。如此一來,SSH 客戶端欲登 入 SSH 伺服器時便可使用私鑰進行認證,不需要輸入帳號密碼,即可完成登入程序。 這種以公私鑰加密的認證方式能夠防禦 SSH 字典攻擊,因為使用者登入時不需要輸入 帳號密碼,直接使用約定的公私鑰認證即可登入。字典攻擊者因為無法產生與認證公鑰 對應的私鑰,就無法順利登入伺服器。. 使用非對稱金鑰認證的防禦方法缺點為非對稱金鑰認證機制並不普及。原因為使用 者接受程度不高,對於使用者而言,帳號密碼登入方式也比非對稱金鑰認證方式熟悉並 且方便許多。目前 Internet 的網路服務大都使用帳號與密碼的認證方式,使用非對稱金 鑰認證的相關網路服務並不普及,使用者普遍習慣使用帳號與密碼的認證方式登入網路 服務。而 SSH 伺服程式預設也不開啟使用非對稱金鑰認證方式,一般伺服器管理者也 普遍使用帳號與密碼認證方式登入伺服器。 第三種防禦方法為修改 SSH 服務通訊埠,針對 SSH 字典攻擊的行為,伺服器管理 者的修改 SSH 服務通訊埠從 Port 22 修改為其他的通訊埠號碼。因為普遍的 SSH 字典攻 擊都是針對 SSH 預設的通訊埠進行攻擊,字典攻擊者對 SSH 預設通訊埠進行連線時, 若發現連線失敗就會停止攻擊。所以修改 SSH 服務的通訊埠,便能有效的防禦 SSH 字 典攻擊。這是一種刻意躲避攻擊者的方式,但修改 SSH 服務通訊埠的防禦方法缺點為 管理者雖然修改 SSH 通訊埠,但攻擊者只要進行通訊埠掃描(Port Scan),攻擊者就能得 知管理者修改過的 SSH 通訊埠號碼。攻擊者將字典攻擊程式目標 SSH 通訊埠修改為掃 描到的通訊埠後,伺服器仍然會遭受到 SSH 字典攻擊。. 6.

(14) 綜合上述的各防禦方式的缺點,(1) 管理者權限無法取得伺服器日誌檔時,無法針 對日誌檔中進行字典攻擊的 IP 進行封鎖,(2) 非對稱金鑰認證機制,使用者接受程度不 高(3) 攻擊者經由通訊埠掃瞄後,仍可進行字典攻擊。若我們能由流經網路骨幹路由器 的流量特性,蒐集 SSH 字典攻擊的流量資料建立出一個有效的分類偵測模式,則可找 出網路上發生的 SSH 字典攻擊事件,並且提高網路的防禦能力。因此,本研究利用網 路 NetFlow 流量資料,利用資料探勘的分類分析演算法提出一個偵測 SSH 字典攻擊的 模組。. 2.3 追蹤網路攻擊相關研究 目前針對追蹤 SSH 字典攻擊的相關研究較少。針對字典攻擊的相關研究,也僅針對 防禦字典攻擊部份,並無相關追蹤字典攻擊的研究。而目前相關追蹤網路攻擊的研究大 都專注於追蹤分散式阻斷服務攻擊(Distributed Denied of Service, DDoS)與追蹤跳板行 為。攻擊者發動分散式阻斷服務攻擊時,可假造其來源攻擊 IP 位置,再加上分散式阻 斷服務攻擊為分散式的攻擊架構,發動分散式阻斷服務攻擊的主機可能分散在各地,使 得分散式阻斷服務攻擊的隱匿性極高,網路管理者不易從 TCP/IP 第三層的 IP 相關資料 (如 NetFlow 資料),追查攻擊者的來源 IP,因此,因為攻擊者可假造其來源攻擊 IP 位置, 先前相關研究主要強調於追蹤匿名攻擊,常使用其他輔助資訊來進行分散式阻斷服務攻 擊的追蹤。追蹤入侵攻擊相關研究採取方法如封包標記(Packet Marking)(Aljifri, Smets, & Pons, 2003; Dean, Franklin, & Stubblefield, 2002; Savage, Wetherall, Karlin, & Anderson, 2001)、ICMP 追蹤訊息(ICMP Traceback Message)(Bellovin, Leech, & Taylor, 2003)與追蹤 節點方式(Hop by Hop Tracing)(Baba & Matsuda, 2002)等。這些方法都有效益,但這些追 蹤分散式阻斷服務攻擊研究使用的方法並不適用於追蹤 SSH 字典攻擊。因為 SSH 字典 攻擊是非匿名的網路攻擊方式。SSH 協定為 TCP 連線協定,攻擊者必須回覆 TCP ACK 封包並且 SSH 伺服器必須回傳給攻擊者所猜測的帳號密碼正確與否的訊息,使得攻擊 者在發動 SSH 字典攻擊時,無法隱藏 SSH 字典攻擊連線來源 IP。而追蹤分散式阻斷服 務攻擊研究使用的方法是針對匿名網路攻擊的情境所設計,並且較少應用在追蹤非匿名 網路攻擊上。. 7.

(15) 本研究欲利用 NetFlow 資料進行追蹤 SSH 字典攻擊。與其他方法相比較,本研究僅 需設定路由器輸出 NetFlow 資料至網路管理主機收集,而目前一般中高階路由器皆支援 NetFlow 功能,可避免發生與封包標記與 ICMP 訊息方法需額外硬體支援的問題。而 NetFlow 並不會造成網路設備效能的嚴重影響,路由器開啟輸出 NetFlow 功能,並不會 消耗路由器太多的運算資源。因此,本研究追蹤 SSH 字典攻擊並不會如封包標記與 ICMP 訊息追蹤分散式阻斷服務攻擊的方法,需要消耗太多路由器運算資源。而本研究所需要 的 NetFlow 資料也僅需位於 SSH 字典攻擊者與 SSH 字典攻擊受害者之間其中一台路由 器輸出 NetFlow 資料即可,當然所擷取 NetFlow 資料的路由器越靠近網路骨幹核心,表 示路由器服務的封包轉送服務的網路範圍越大,本研究可追蹤的網路範圍就越大。但也 不需如節點追蹤方法追蹤分散式阻斷服務攻擊的方法需要全部攻擊路徑上的路由器權 限。. 在使用網路流量追蹤跳板的相關研究上,Zhang & Paxson (2000b)針對互動式 (Interactive)網路連線提出以連線流量時間間隔為基礎(Timing-based)的演算法追蹤網路 上的跳板。利用比較攻擊者與跳板的連線與跳板與第三台伺服器的連線,兩種連線之間 流量時間間隔的相似程度做為跳板行為特徵,判斷網路連線是否為攻擊者利用跳板控制 第三台伺服器的連線行為。Zhang & Paxson 認為攻擊者使用跳板去控制第三台伺服器 時,在攻擊者與跳板之間的連線流量時間間隔與跳板與第三台伺服器的連線流量時間間 隔相似程度較一般任意兩條網路連線高。此種追蹤跳板的相關研究雖然有效益,但有其 嚴格的限制,即為必須取得入侵者、跳板、與被入侵主機間完整的 SSH 封包流量資訊。 對於大範圍的網路環境所能監測的效能就較為困難,對於大範圍的網路環境本研究認為 取得成本較低的 NetFlow 資料較完整的 SSH 封包流量資訊適合,因此本研究採用 NetFlow 資料做為實驗來源資料。. 而本研究欲瞭解的問題為網路上發動字典攻擊的伺服器 IP 的攻擊路徑拓樸關係,找 出發動 SSH 字典攻擊的攻擊者在網路上尋找可控制的伺服器跳板的攻擊路徑,藉由追 蹤攻擊路徑拓樸關係,可得知攻擊者透過哪些已入侵的跳板伺服器發動 SSH 字典攻擊 試圖入侵網路上其他的伺服器,從跳板伺服器循序向上追蹤攻擊路徑拓樸關係,找出網 路上較早發動 SSH 攻擊的伺服器 IP。而 NetFlow 資料有詳盡連線流量紀錄,NetFlow 資 料中連線流量紀錄有助於本研究找出發動 SSH 字典攻擊伺服器 IP 的攻擊路徑拓樸關係。. 8.

(16) 第3章. 網路流量偵測 SSH 字典攻擊模組. 在第 2 章中提到防禦 SSH 字典攻擊的方法大多為伺服器端的限制與管理,網路管 理者若無管理伺服器的權限時,便無法防禦 SSH 字典攻擊。對於網路管理者而言,網 路流量資料相對取得容易,而 SSH 協定使用加密連線,無法以監聽網路封包內容的方 式偵測字典攻擊。本研究便試圖使用網路流量資料進行字典攻擊偵測與防禦,以 NetFlow 資料,分析正常 SSH 連線與 SSH 字典攻擊在網路流量特徵上的異同之處。並且根據兩 者差異之處,使用資料探勘分類分析方法,進一步發展 SSH 字典攻擊的偵測模組。. 3.1 NetFlow 資料簡介 NetFlow 是 Cisco 公司所提出透過路由器稽核目前網路使用狀況的技術。NetFlow 原 理為路由器轉送 TCP/IP 第三層 IP 網路封包時,有著一連串的相同傳輸特徵封包,如相 同的來源 IP、目的 IP、來源通訊埠與目的通訊埠等,會在相近的時間傳輸到路由器轉送 的特性。路由器將這些具有相同傳輸特徵封包的轉送資訊快取在內部的流量表(Flow Table)中,以便於之後相同特徵封包轉送時,可直接比對流量表即可轉送到目的介面, 增加在後續封包轉送時的效率。路由器要判斷是否要新增流量表的轉送資料時,會比對 欲傳輸的網路封包相關 IP 表頭資訊,如來源 IP 位置、目的 IP 位置、來源通訊埠、目標 通訊埠、所使用的協定是 TCP 或 UDP、來源介面等,若前述封包資訊符合內部流量表 其中一筆快取資料,則累加該快取資料的傳輸 Package 數、傳輸 Byte 數。若無符合則新 增一筆封包特性快取資料於流量表中(Cisco, 2008c)。因此,流量表的快取資料欄位就有 來源 IP、目的 IP、來源通訊埠、目標通訊埠、所使用的第三層協定(如 TCP 或 UDP)、 來源介面、傳輸 Package 數與傳輸的 Bytes 數等資料。NetFlow 資料來源即為路由器內 部的流量表的快取資訊。因為一般路由器儲存空間有限,網路管理者通常會設定路由器 輸出 NetFlow 資料至網路管理主機儲存,網路管理者可利用所儲存的 NetFlow 進行後續 網路狀況稽核,如調查頻寬利用率、瞭解目前病毒與蠕蟲散佈狀況、稽核使用者個別 IP 流量、進行網路效能除錯等。目前 NetFlow 資料格式發展至今有 V5、V7 與 V9 三種格 式,大致一般 NetFlow 資料格式可收集到的網路封包流量屬性與說明(Cisco, 2008b),如 表 3-1 所示。本研究使用 V5 的 NetFlow 資料格式,利用部份 NetFlow V5 格式的資料屬 性進行研究分析。. 9.

(17) 表 3-1. NetFlow 的網路封包流量屬性 說明. 網路封包流量屬性 Source IP. 連線來源 IP. Destination IP. 連線目標 IP. Source Port. 連線來源通訊埠. Destination Port. 連線目的通訊埠. Type of Service. 封包服務類型,通常做為流量控制用途. Packet Count. 傳輸的 Package 數. Byte Count. 傳輸的 Byte 數. Start Timestamp. 起始流量時間戳記. End Timestamp. 結束流量時間戳記. Input Interface Numbers. 封包所流入的路由器網路介面. Output Interface Numbers. 封包所流出的路由器網路介面. TCP Flags. TCP 連線旗標(SYN, ACK, RST, FIN 等). Encapsulated Protocol (TCP/UDP). 封包封裝格式(TCP 或 UCP 格式). Next-Hop Address. 轉送封包至下一個路由器的 IP 位置. Source Autonomous(AS) Number. 來源 AS 號碼. Destination Autonomous(AS) Number. 目的 AS 號碼. Source Prefix Mask. 連線來源 IP 的網路遮罩. Destination Prefix Mask. 連線目標 IP 的網路遮罩. 本研究從高雄大學管理學院路由器輸出 NetFlow 資料至我們的網路管理主機上,流 量收集架構圖如圖 3-1 為本研究收集的 NetFlow 流量架構圖,管理學院路由器連接交換 器,交換器則連接到管理學院內各研究室、上課教室、系辦、電腦教室等的個人電腦。 因此,所有管理學院上網的個人電腦對外的網路封包傳送都需經過上層的交換器,再透 過管理學院路由器轉送封包至更上層的網路設備(高雄大學校內核心路由器與高屏澎區 網路由器等),最後到達網際網路。本研究設定高雄大學管理學院路由器輸出 NetFlow 資料至網路管理主機,將可收集到所有在管理學院內上網的個人電腦的網路流量資料, 以供本研究後續分析 SSH 字典攻擊與正常 SSH 連線的網路流量特性。. 10.

(18) 圖 3-1. NetFlow 收集架構圖. 3.2 SSH 連線網路流量資料 本研究利用 NetFlow 資料觀察正常 SSH 連線資料,如表 3-2。表 3-2 中第一個欄位 SrcIP 是連線來源 IP(Source IP)。第二個欄位 DstIP 是連線目標 IP(Destination IP)。第三 個欄位 SrcPort 是連線來源通訊埠(Source Port)。第四個欄位 DstPort 是連線目標通訊埠 (Destination Port)。第五個欄位為 Octets 是傳輸的 bytes 數。第六個欄位 Packets 是傳輸 的封包數。. 表 3-2. 正常客戶端 SSH 連線 NetFlow 資料 SrcIP sip1 sip2. DstIP SrcPort DstPort Octets Packets sip2 22 57103 6480 49 sip1 57103 22 6816 66. 從表 3-2 中可以發現正常 SSH 連線在 NetFlow 資料裡面總共彙整成為兩筆流量資 訊。第一筆為來源 IP(sip1)流向目的 IP(sip2)的流量,第二筆為客戶端流向伺服器的流量。 SSH 字典攻擊的網路流量資料如表 3-3。本研究所觀察的 SSH 連線網路流量資料為. 11.

(19) NetFlow 資料中連線來源通訊埠或連線目的通訊埠為 22 的網路流量資料,因為本研究觀 察到大部分的 SSH 字典攻擊均針對 SSH 預設通訊埠號 22 進行攻擊。若正常 SSH 服務 開啟於非預設通訊埠號 22 上,可使用封包內容過濾方式,過濾網路連線封包內容中 SSH 版本字串做為 SSH 連線封包的特徵(Zhang & Paxson, 2000a)。確認該網路連線封包為 SSH 連線封包後,即可應用本研究所提出的 SSH 字典攻擊偵測模組確認其網路連線 NetFlow 資料是否為正常 SSH 連線或 SSH 字典攻擊。但本研究目前僅針對 NetFlow 資 料中連線來源通訊埠或連線目的通訊埠為 22 的網路流量資料進行偵測。 表 3-3. SSH 字典攻擊 NetFlow 實例資料 SrcIP ip1 ip1 ip1 ip1 ip1 … ip7 ip8 ip1 ip10 ip11 …. DstIP SrcPort DstPort Octets Packets ip2 46310 22 60 1 ip3 44763 22 60 1 ip4 56004 22 60 1 ip5 54297 22 60 1 ip6 35660 22 60 1 … … … … … ip1 22 41701 2316 14 ip1 22 47847 2464 15 ip9 47847 22 1268 14 ip1 22 47359 2268 12 ip1 22 59326 2351 14 … … … … …. 在表 3-3 中流量資料前五行是攻擊者(ip1)發出 TCP SYN 封包刺探目標網域中的 IP 是否有開啟 Port 22 服務。TCP SYN 一個封包大小為 60 bytes,攻擊者使用 TCP SYN 封 包欲對網域中的 IP 進行 TCP 連接。後五行是攻擊者針對先前有回應 TCP ACK 的 IP, 進行 SSH 字典攻擊。. 3.3 SSH 字典攻擊偵測模組 本研究將分辨正常 SSH 客戶端的網路流量與 SSH 字典攻擊的網路流量視為資料探 勘中的分類問題。使用三種資料探勘的分類演算法,貝式機率(Naïve Bayes)演算法、決 策樹(Decision Tree)演算法(Quinlan, 1993)與支援向量機(Support Vector Machine)演算法 (Boser, Guyon, & Vapnik, 1992),訓練建立 SSH 字典攻擊分類模組。挑選這三種分類演 算法的理由考量訓練時間與分類判斷時間效率。在 Internet 的網路環境中,同類型的網 路弱點,所衍生出的不同攻擊工具或變種病毒是多變且多樣的,單就字典攻擊工具而. 12.

(20) 言,流傳於 Internet 網路的就有非常多種,特別是隨著網路程式設計的技術發展,未來 一定會有更多的字典攻擊的工具被入侵者所發展出來。在未來面對未知的新型攻擊工具 時,要能有效的提昇預測準確度,必須經常要蒐集新攻擊事件的網路流量重新訓練。所 以在本研究中我們特別選用了三種資料探勘分類分析中於訓練與預測階段都能有快速 反應的貝式機率演算法、決策樹演算法與支援向量機演算法做為 SSH 字典攻擊偵測模 組的分類演算法。再者考量演算法的分類判斷時間效率,貝式機率演算法可訓練條件機 率模型,利用建立的條件機率模型可快速分類網路攻擊。決策樹演算法優點為輸出結果 為決策樹,決策樹可轉換產生為決策規則(Decision Rule),決策規則容易以 if-else 的判 斷式移植訓練後的偵測模組,分類時間也相當快速。支援向量機演算法所訓練的決策分 界(Decision Boundaries)為二次函數分類模型,利用訓練的二次函數分類模型也可快速分 類網路攻擊。因此,本研究使用訓練與分類時間較快速的貝式機率演算法、決策樹演算 法與支援向量機演算法做為 SSH 字典攻擊偵測模組的分類演算法。透過 NetFlow 收集 已知的正常 SSH 連線的流量資料與 SSH 字典攻擊資料訓練建立 SSH 字典攻擊分類模 組,之後利用分類模組偵測網路流量中是否有未知的 SSH 字典攻擊存在。本研究提出 SSH 字典攻擊偵測模組如圖 3-2。. 圖 3-2. SSH 字典攻擊偵測系統架構. 13.

(21) 為建立 SSH 字典攻擊偵測模組,本研究分析比較正常 SSH 連線時的 NetFlow 資訊 與發動 SSH 字典攻擊時的 NetFlow 資訊後,從 NetFlow V5 格式資訊中彙整十七個可能 有效偵測 SSH 字典攻擊的流量變數,如表 3-4,第一個欄位名稱為流量變數名稱,為本 研究初步提出的十七個變數。第二個欄位為流量變數說明,解釋本研究所提出的流量變 數。. 表 3-4. SSH 字典攻擊分類分析之流量變數 流量變數名稱. 流量變數說明. c_port_count. 客戶端使用的 Port 數. c_s_octs_sum. 客戶端流向伺服器的 Byte 數總和. c_s_octs_mean. 客戶端流向伺服器的 Byte 數平均. c_s_octs_sd. 客戶端流向伺服器的 Byte 數標準差. c_s_pkts_sum. 客戶端流向伺服器的 Package 數總和. c_s_pkts_mean. 客戶端流向伺服器的 Package 數平均. c_s_pkts_sd. 客戶端流向伺服器的 Package 數標準差. c_octs_pkts_ratio_mean 客戶端流向伺服器的 Byte 數/Package 數比值平均 s_c_octs_sum. 伺服器流向客戶端的 Byte 數總和. s_c_octs_mean. 伺服器流向客戶端的 Byte 數平均. s_c_octs_sd. 伺服器流向客戶端的 Byte 數標準差. s_c_pkts_sum. 伺服器流向客戶端的 Package 數總和. s_c_pkts_mean. 伺服器流向客戶端的 Package 數平均. s_c_pkts_sd. 伺服器流向客戶端的 Package 數標準差. s_octs_pkts_ratio_mean 伺服器流向客戶端的 Byte 數/Package 數比值平均 c_s_octs_ratio_mean. 雙向流量的 Byte 數比值平均. c_s_pkts_ratio_mean. 雙向流量的 Package 數比值平均. 十七個流量變數為單一 SSH 客戶端與單一 SSH 伺服器端之間的相關連線流量資料 彙整,在 NetFlow 資料中攻擊者發動 SSH 字典攻擊,即為 SSH 客戶端。而開啟 SSH 服 務的伺服器,在 NetFlow 資料中即為伺服器端。十七個流量變數依造客戶端流向伺服器、. 14.

(22) 伺服器流向客戶端與雙向流量歸納為三部份說明如下:. 1.. 客戶端流向伺服器的相關流量變數: 客戶端流向伺服器的相關流量變數又可分為客戶端所使用的 Port 數、客戶端流向伺 服器端的 Byte 數與 Package 數相關流量變數。客戶端使用的 Port 數彙整方式為, 在累計的單位時間內,計算 NetFlow 資料中單一 SSH 客戶端於單位時間內開啟向 單一 SSH 伺服器連線的通訊埠的總和,挑選此變數的原因為 SSH 字典攻擊發動時, 較常開啟比正常 SSH 連線還要多的通訊埠。因此本研究採用 SSH 客戶端開啟的總 通訊埠數做為預測變數。. 而客戶端流向伺服器端的 Byte 數與 Package 數相關流量變數依造 NetFlow 格式所提 供的 Byte 數與 Package 數資料彙整方式為,在累計的單位時間內,彙整計算 NetFlow 資料中單一 SSH 客戶端流向單一 SSH 伺服器端 Byte 數與 Package 數的總和、平均、 標準差與 Byte 數/ Package 數比值平均。挑選這些變數的原因為攻擊者發動 SSH 字 典攻擊時,大量送出的認證封包內容皆為字典檔中的帳號密碼。本研究觀察到字典 檔中的帳號密碼長度大約介於 4 至 10 個字元中間,使得 NetFlow 資料中 SSH 字典 攻擊的客戶端流向伺服器的 Byte 數與 Package 數較小且固定,而正常的 SSH 連線 的客戶端流向伺服器的 Byte 數與 Package 數數值較大且較不固定,數值較大且不固 定的原因為管理者使用 SSH 服務自遠端進行管理伺服器時,會傳輸多種的命令列 指令,便使得正常 SSH 連線的客戶端流向伺服器的 Byte 數與 Package 數值較大且 較不固定。因為正常 SSH 連線與 SSH 字典攻擊的客戶端流向伺服器的 Byte 數與 Package 數的總和、平均、標準差與兩者比值平均數值有所差異,便可區分出正常 SSH 連線與 SSH 字典攻擊。因此本研究採用這些客戶端流向伺服器的流量變數做 為預測變數。. 2.. 伺服器流向客戶端的相關流量變數: 伺服器流向客戶端的相關流量變數依造 NetFlow 格式所提供的 Byte 數與 Package 數資料彙整方式為,在累計的單位時間內,彙整計算 NetFlow 資料中單一 SSH 伺 服器端流向單一 SSH 客戶端 Byte 數與 Package 數的總和、平均、標準差與 Byte 數 / Package 數比值平均。挑選這些變數的原因為 SSH 字典攻擊發動時,開啟 SSH 服. 15.

(23) 務的伺服器常會回傳大量認證失敗的錯誤訊息封包給攻擊者,由於伺服器所回傳的 認證失敗訊息封包內容皆為“Permission Denied, please try again. ”,使得 SSH 字典攻 擊的伺服器流向客戶端 Byte 數與 Package 數的總和、平均、標準差與兩者比值平均 數值較小且固定。而正常的 SSH 連線伺服器流向客戶端的訊息封包為管理者輸入 命令列指令結果訊息,伺服器流向客戶端的 Byte 數與 Package 數的總和、平均、標 準差與 Byte 數/ Package 數比值平均數值會因管理者輸入不同的命令列指令回傳不 同的輸出結果變得較大且不固定。因為正常 SSH 連線與 SSH 字典攻擊的伺服器流 向客戶端的 Byte 數與 Package 數的總和、平均、標準差與 Byte 數/ Package 數比值 平均數值皆有所差異,便可區分出正常 SSH 連線與 SSH 字典攻擊。因此,本研究 採用這些伺服器流向客戶端的流量變數做為預測變數。. 3.. 雙向流量的 Byte 數與 Package 數比值平均流量變數: 在累計的單位時間內,計算 NetFlow 資料中,單一 SSH 客戶端流向單一 SSH 伺服 器端與單一 SSH 伺服器端流向單一 SSH 客戶端的 Byte 數與 Package 數比值平均。 採用此變數的原因為本研究觀察到 SSH 字典攻擊客戶端流向 SSH 伺服器端的 Byte 數與 Package 較小且固定,封包的 Byte 數與 Package 數僅為所猜測的帳號密碼認證 封包訊息的 Byte 數與 Package 數。而 SSH 伺服器端流向 SSH 字典攻擊客戶端的 Byte 數與 Package 數也較小且固定,封包內容為伺服器傳送給攻擊者認證失敗錯誤 訊息的 Byte 數與 Package 數。由於 SSH 字典攻擊流量雙向的 Byte 數與 Package 數 數值大小皆較小且固定,使得 SSH 字典攻擊的 Byte 數與 Package 數比值平均比值 介於一個固定的數值內,而正常 SSH 連線的 Byte 數比值平均則因管理者輸入不同 的命令列指令與其對應回傳結果數值較大且不固定。因為正常 SSH 連線與 SSH 字 典攻擊的 Byte 數與 Package 數比值平均數值有所差異,便可區分出正常 SSH 連線 與 SSH 字典攻擊。因此,本研究採用 Byte 數與 Package 數比值平均做為預測變數。. 16.

(24) 第4章. SSH 字典攻擊追蹤機制. 我們觀察到 Internet 上發動 SSH 字典攻擊的伺服器大部份為跳板(Stepping Stone), 攻擊者以 SSH 字典攻擊成功入侵某台伺服器後,攻擊者會植入 SSH 字典攻擊程式與後 門程式於入侵成功的伺服器中,以便於後續攻擊者能夠藉由後門程式操控該伺服器且利 用入侵成功的伺服器向網路上其他伺服器發動 SSH 字典攻擊。攻擊者藉由後門程式操 控並且代為發動 SSH 字典攻擊的伺服器即為攻擊者的跳板。攻擊者發動 SSH 字典攻擊 在網路上試圖尋找更多可控制跳板主機的行為,類似會自我複製的電腦病毒或蠕蟲在網 路上擴散的行為,攻擊者可控制的跳板個數隨著時間以指數方式成長。本研究欲瞭解 SSH 字典攻擊在網路上的攻擊路徑,攻擊者、跳板與受害者之間的拓樸關係。攻擊路徑 拓樸關係是從最初發動 SSH 攻擊者至遭受字典攻擊的受害者中間經過哪些被成功入侵 的跳板主機。若受害者遭受 SSH 字典攻擊後,可透過攻擊路徑拓樸關係即可向上逐步 追蹤跳板攻擊主機甚至找到較早發動 SSH 字典攻擊的攻擊者。. 本研究欲瞭解被 SSH 字典攻擊偵測模組所偵測到網路上曾經發動 SSH 字典攻擊伺 服器 IP 的攻擊路徑拓樸關係。本研究從歷史 NetFlow 流量資料中發現攻擊者會利用先 前發動過 SSH 字典攻擊入侵成功的伺服器,再發動 SSH 字典攻擊尋找更多潛在可控制 的跳板伺服器,並且本研究觀察到攻擊者具有大量發動 SSH 字典攻擊的行為特徵。因 此,根據攻擊者利用跳板伺服器發動 SSH 字典攻擊尋找更多跳板伺服器的特性,本研 究利用第三章所提出的 SSH 字典攻擊偵測模組,發展 SSH 字典攻擊追蹤演算法,追蹤 演算法目的是為了找出網路管理範圍內所有發動 SSH 字典攻擊伺服器主機之間的攻擊 路徑拓樸關係。4-1 將解釋追蹤演算法,並呈現追蹤演算法的虛擬碼。4-2 利用範例解釋 追蹤演算法所產生的攻擊路徑拓樸關係圖以及其執行結果。. 4.1 SSH 字典攻擊追蹤演算法 透過 3.3 節中的 SSH 字典攻擊偵測模組的結果可得出一份 Internet 上 SSH 客戶端與 SSH 伺服器端的網路連線為 SSH 字典攻擊 IP 連線紀錄列表,SSH 字典攻擊 IP 連線紀錄 列表範例如表 4-1。. 17.

(25) 表 4-1. SSH 字典攻擊 IP 連線紀錄列表 編號. 攻擊日期. 攻擊者 IP. 受害者 IP. 1. 2008/08/01. 192.168.0.1. 192.168.0.2. 2. 2008/08/01. 192.168.1.1. 192.168.1.2. …. …. …. …. 1000. 2008/09/28. 192.168.100.1. 192.168.100.2. 表 4-1 中,編號欄位為字典攻擊連線的流水編號。攻擊日期欄位為該筆攻擊發動時 間。攻擊者 IP 欄位為向 SSH 受害者 IP 發動 SSH 字典攻擊連線的 IP,為 SSH 連線客戶 端。受害者 IP 欄位為開啟 SSH 服務並且遭受 SSH 字典攻擊的 SSH 伺服器 IP。舉例來 說,編號 1 資料為攻擊者 IP 192.168.0.1 於 2008 年 8 月 1 號向開啟 SSH 服務的伺服器 IP 192.168.0.2 發動 SSH 字典攻擊。因此,本研究利用 SSH 字典攻擊偵測模組所偵測出 SSH 字典攻擊 IP 連線紀錄列表找出 SSH 字典攻擊的攻擊者與受害者之間的攻擊路徑拓樸關 係,例如伺服器 IP_1 發動 SSH 字典攻擊入侵成功伺服器 IP_2 之後,伺服器 IP_2 過兩 天發動 SSH 字典攻擊成功入侵伺服器 IP_3。對於伺服器 IP_3 而言,攻擊路徑拓樸關係 為 IP_1→IP_2→IP_3。→符號代表向箭頭方向的伺服器 IP 發動 SSH 字典攻擊。本研究 以 SSH 字典攻擊偵測模組偵測到 SSH 字典攻擊 IP 連線紀錄列表為基礎,設計 SSH 字 典攻擊追蹤演算法,找出網路上曾經發動 SSH 字典攻擊伺服器 IP 主機之間攻擊路徑拓 樸關係。追蹤演算法執行結束時,就可以得到 SSH 字典攻擊路徑拓樸關係,可進一步 找出網路上 SSH 字典攻擊者 IP 的攻擊路徑與較早發動 SSH 字典攻擊的伺服器 IP。SSH 字典攻擊追蹤演算法虛擬碼如圖 4-1 所示。 z z z z z z z. Topology graph is a nonempty set of vertices and a set of directed edges, where each edge is a pair of vertices and has a label marked on itself. DC: Dictionary attack list detected by SSH dictionary attack detection module DCk: Current dictionary attack list record DCk.aIP: Attacker IP of current dictionary attack list record DCk.vIP: Victim IP of current dictionary attack list record DCk.date: Date of current dictionary attack list record N: Total numbers of dictionary attack list record Functions: for all graph ∈ Topology graph, v, v1, and v2 ∈ Vertices. z z. CreateGraph(): Function that return a empty graph ExistsVertex(graph, v): Function that examine the vertex v has been already in the graph. 18.

(26) z z. or not InsertVertex(graph, v): Function that insert vertex v in the graph. v has no incident edges. InsertEdge(graph, v1, v2, label): Function that insert a new edge from v1 to v2 in the graph and mark label on the new edge.. Input: A set of dictionary attack list records DC1…DCN Output: Topology graph G 1 Begin 2 G ← CreateGraph() 3 4 For k = 1 to N 5 V1 ← DCk.aIP 6 V2 ← DCk.vIP 7 Label ← DCk.date 8 9 IF not ExistsVertex(G, V1) 10 Then InsertVertex(G, V1) 11 EndIF 12 13 IF not ExistsVertex(G, V2) 14 Then InsertVertex(G, V2) 15 EndIF 16 17 InsertEdge(G, V1, V2, Label) 18 19 EndFor 20 21 End 圖 4-1. SSH 字典攻擊追蹤演算法虛擬碼. 4.2 SSH 字典攻擊追蹤演算法範例 舉例來說,SSH 字典攻擊模組偵測出 NetFlow 資料中有 5 筆字典攻擊 IP 連線紀錄, 如表 4-2 所示。A_IP、C_IP 與 D_IP 位於我們網路管轄範圍內,而 B_IP 與 E_IP 於管轄 網路範圍外。本研究第三章的字典攻擊偵測模組偵測出 A_IP 曾經在 2008 年 8 月 3 號向 E_IP 進行 SSH 字典攻擊。假設網路上僅有 5 筆 SSH 字典攻擊 IP 連線紀錄 (如表 4-2)。 將表 4-2 SSH 字典攻擊 IP 連線紀錄列表應用 SSH 字典攻擊追蹤演算法找出攻擊路徑拓 樸關係,追蹤演算法執行完畢便得 SSH 字典攻擊的每日伺服器 IP 攻擊路徑拓樸關係結 果如圖 4-2。. 19.

(27) 表 4-2. 範例 SSH 字典攻擊 IP 連線紀錄列表 編號 1 2 3 4 5. 攻擊日期 攻擊者 IP 受害者 IP 2008/08/01 B_IP A_IP 2008/08/01 B_IP D_IP 2008/08/02 B_IP C_IP 2008/08/03 A_IP E_IP 2008/08/04 C_IP E_IP. 20.

(28) 虛線代表當日建立的 SSH 字典攻擊連線. (a). 2008 年 8 月 1 號網路流量內相關 SSH 字典攻擊伺服器 IP 攻擊路徑拓樸關係. (b). 累積至 2008 年 8 月 2 號網路流量內相關 SSH 字典攻擊伺服器 IP 攻擊路徑拓樸關係. (c). 累積至 2008 年 8 月 3 號網路流量內相關 SSH 字典攻擊伺服器 IP 攻擊路徑拓樸關係. (d). 累積至 2008 年 8 月 4 號網路流量內相關 SSH 字典攻擊伺服器 IP 攻擊路徑拓樸關係 圖 4-2. 攻擊路徑拓樸關係範例 本研究將追蹤演算法應用於每日的 SSH 字典攻擊 IP 連線紀錄列表中,以天為單位,. 21.

(29) 每日輸出累積至當日 SSH 字典攻擊 IP 連線紀錄列表所產生的相關攻擊路徑拓樸關係 圖,藉由累積至當日的攻擊路徑拓樸關係圖可逐日顯示每日攻擊路徑拓樸關係的變化, 方便網路管理者掌握 SSH 字典攻擊的攻擊路徑變化情形。由圖 4-2 比起原始的 NetFlow 資料(如表 4-1)更能清楚呈現過去的 NetFlow 資料中的 SSH 字典攻擊伺服器 IP 攻擊路徑 拓樸關係。從圖 4-2a 呈現 2008 年 8 月 1 號 SSH 字典攻擊路徑拓樸關係,我們可發現在 管轄網路範圍外的 B_IP 於 2008 年 8 月 1 號發動 SSH 字典攻擊攻擊管轄網路範圍內的 A_IP 與 D_IP。圖 4-2b 中呈現累積至 2008 年 8 月 2 號 SSH 字典攻擊路徑拓樸關係。我 們又發現 B_IP 於 2008 年 8 月 2 號發動 SSH 字典攻擊,目標為 C_IP。在圖 4-2c 中同樣 呈現累積至 2008 年 8 月 3 號的 SSH 字典攻擊路徑拓樸關係。A_IP 與 C_IP 於 2008 年 8 月 1 日遭受 B_IP 發動 SSH 字典攻擊後,藉由圖 4-2c 我們可以發現 A_IP 又於 2008 年 8 月 3 號發動 SSH 字典攻擊管轄網路範圍外的 E_IP。在圖 4-2d 中呈現累積至 2008 年 8 月 4 號 SSH 字典攻擊路徑拓樸關係。藉由圖 4-2d,我們可以發現 C_IP 於 2008 年 8 月 4 號也發動 SSH 字典攻擊攻擊管轄網路範圍外的 E_IP。因此透過圖 4-2 連續四天從 2008 年 8 月 1 號累積至 2008 年 8 月 4 號 SSH 字典攻擊攻擊路徑關係中,可以懷疑 A_IP 與 C_IP 分別在 2008 年 8 月 1 號與 2 號,因為被 B_IP 所發動的 SSH 字典攻擊入侵成功, A_IP 與 C_IP 才會分別於 2008 年 8 月 3 號與 4 號發動 SSH 字典攻擊,目標為網路管轄 範圍外的 E_IP。此外,也可推測 B_IP 藉由 A_IP 與 C_IP 當做跳板,向 E_IP 發動 SSH 字典攻擊。. 對於網路管理者而言,透過 SSH 字典攻擊路徑拓樸關係圖有助於追蹤管轄網路範 圍內外發動 SSH 字典攻擊情形,並且根據彙整後的 SSH 字典攻擊路徑拓樸關係圖有助 於找出較早發動 SSH 字典攻擊的伺服器來源 IP,例如根據圖 4-2 中,我們發現 E_IP 遭 受 SSH 字典攻擊。我們經由攻擊路徑拓樸關係推論出,攻擊 E_IP 的伺服器雖為 A_IP 與 C_IP,但 A_IP 與 C_IP 僅為 B_IP 攻擊 E_IP 所使用的跳板伺服器。雖然 B_IP 並無直 接連線向 E_IP 發動 SSH 字典攻擊,在 E_IP 的伺服器日誌檔中也會顯示 A_IP 與 C_IP 向 E_IP 發動 SSH 字典攻擊,但是透過攻擊路徑拓樸關係可清楚呈現 B_IP 才是 E_IP 真 正的入侵來源。再者,SSH 字典攻擊路徑拓樸關係圖比起原始的 NetFlow 資料較容易馬 上觀察出 E_IP 與攻擊源頭 B_IP 之間多層的攻擊路徑拓樸關係,例如 B_IP 與 E_IP 之間 關係是透過 A_IP 與 C_IP 發動 SSH 字典攻擊得來。網路管理者也可利用這類伺服器 IP 攻擊路徑拓樸關係,進一步追查較早發動 SSH 字典攻擊伺服器來源 B_IP 與其相關發動. 22.

(30) SSH 字典攻擊的跳板伺服器 IP 位置,如 A_IP、C_IP 等,是否已被攻擊者植入木馬程式 並且持續在網路上攻擊其他伺服器。網路管理者加入觀察清單中,監控後續連向該伺服 器的所有網路流量。網路管理者可使用這些相關稽核資料,採取適當防治與通報措施, 以免 SSH 字典攻擊行為再度發生。. 23.

(31) 第5章. SSH 字典攻擊偵測模組與 SSH 字典攻擊追 蹤演算法實例. 本研究計畫提出 SSH 字典攻擊偵測模組與 SSH 字典攻擊追蹤演算法。在本章中將 對第三章所提出的字典攻擊偵測模組進行實證評估,評估 SSH 字典攻擊偵測模組對於 真實的 SSH 字典攻擊的偵測效能,並進行流量變數分類效力程度排序。並利用真實的 SSH 字典攻擊網路維安事件,進行攻擊路徑拓樸關係分析與追蹤較早發動 SSH 字典攻 擊的伺服器 IP。. 5.1 SSH 字典攻擊偵測模組實證評估 為建立圖 3-2 的 SSH 字典攻擊偵測模組,本研究以 t 分鐘為樣本取樣時間間隔週期 (t = 1, 3, 5),彙整高雄大學管理學院路由器一個月內的 NetFlow 資料,時間從 2008 年 7 月 1 日至 2008 年 7 月 31 日。SSH 字典攻擊 NetFlow 資料與正常 SSH 連線 NetFlow 彙 整後資料各 2500 筆。利用伺服器日誌檔驗證收集高雄大學管理學院網路中的 SSH 字典 攻擊 NetFlow 資料與正常 SSH 流量資料。 本研究收集實際 SSH 字典攻擊與正常 SSH 連線網路流量,整理為本研究所提出的 十七個流量變數後,使用貝式機率演算法、決策樹演算法與支援向量機演算法進行分 類,並且使用十摺交叉驗證法(10-Fold Cross Validation)。十摺交叉驗證方法為將正常 SSH 連線資料與 SSH 字典攻擊資料分為資料個數相同的十組資料,以九組資料做為訓練資 料,剩下一組做測試資料,稱為一摺資料組。且將十組資料依序做為測試資料,故共有 十摺資料組,並計算十摺資料組驗證評估結果平均值得平均實證評估數據。十摺交叉驗 證法為較嚴謹分類資料驗證評估方式。. 關於評估分類效能指標本研究採用準確率(Precision Rate)、召回率(Recall Rate)、正 確率(Accuracy Rate)與 F-measure 來進行評估,這四項效能評估指標可使用 2x2 的混合 矩陣(Confusion Matrix)解釋,如表 5-1。. 24.

(32) 表 5-1. 混合矩陣(Confusion Matrix) 分類預測類別. 實際類別. C1. C2. C1. True Positives (TP). False Negatives (FN). C2. False Positives (FP). True Negatives (TN). 表 5-1 中的混合矩陣代表分類結果,C1與C2代表分類類別,在本研究就為SSH字典 攻擊與正常SSH連線,而Positives資料欄位為主要專注分類的部份,例如本研究即為SSH 字典攻擊,Negatives 資料欄位在本研究即為正常SSH連線資料。True Positives為資料實 際類別為C1類別,分類預測結果也正確地分類為C1類別。False Positives為實際類別是C2 類別,分類預測結果卻不正確地分類為C1類別。False Negatives為實際類別為C1類別, 分類預測結果卻不正確地分類為C2類別。True Negatives為實際類別為C2類別,分類預測 結果也正確地分類為C2類別。 而準確率計算公式定義如下:. Precision Rate =. TP TP + FP. 準確率於本研究意指辨識結果為 SSH 字典攻擊中,每次的偵測判斷能準確辨識出 SSH 字典攻擊的資料正確性之比例。. 而召回率計算公式定義如下:. Recall Rate =. TP TP + FN. 召回率於本研究意指透過貝式機率演算法在實驗樣本中對於所有 SSH 字典攻擊紀錄, 有多少比例的 SSH 字典攻擊資料都能被正確地發現出來。. 而正確率計算公式定義如下:. 25.

(33) Accuracy Rate =. TP + TN TP + TN + FP + FN. 正確率於本研究為辨識結果中,能正確分辨正常 SSH 連線資料與 SSH 字典攻擊資料的 比例。. 此外,在資料探勘分類分析結果中,準確率與召回率有此消彼長的情形。為了客觀評估 本研究訓練出來的 SSH 字典攻擊偵測模組,本研究另外計算 F-measure 數值。而 F-measure 公式定義如下:. F-meaurse =. 2 × Precision Rate × Recall Rate Precision Rate + Recall Rate. 透過計算準確率、召回率、正確率與 F-measure 數值可客觀評估本研究所訓練的 SSH 字典攻擊偵測模組的分類效能。本研究所提出的 SSH 分類字典攻擊偵測模組效能評估 結果如表 5-2。. 表 5-2. SSH 字典攻擊預測實證評估結果 一分鐘取樣資料. 準確率. 召回率. 正確率. F-measure. 貝式機率. 59.8%. 99.6%. 66.38%. 74.8%. 決策樹. 98.7%. 98.3%. 98.52%. 98.5%. 支援向量機. 100%. 73.3%. 86.66%. 84.6%. 三分鐘取樣資料. 準確率. 召回率. 正確率. F-measure. 貝式機率. 56.5%. 99.9%. 61.56%. 72.2%. 決策樹. 98.8%. 98%. 98.38%. 98.4%. 支援向量機. 87.6%. 85.5%. 86.7%. 86.5%. 五分鐘取樣資料. 準確率. 召回率. 正確率. F-measure. 貝式機率. 59.8%. 99.7%. 66.4%. 74.8%. 決策樹. 99.1%. 98.6%. 98.84%. 98.8%. 支援向量機. 88.7%. 85.8%. 87.44%. 87.2%. 26.

(34) 表 5-2 中的準確率、召回率與 F-measure 討論貝式機率、決策樹與支援向量機演算 法的分類效能。本研究發現決策樹演算法對於 SSH 字典攻擊的分類效果比起貝式機率 演算法與支援向量機演算法來的優異。而決策樹演算法對於分辨 SSH 字典攻擊平均有 九成以上的準確率、召回率與 F-measure,分類效果相當良好。而貝式機率演算法對於 分辨 SSH 字典攻擊平均僅有六成的準確率低但召回率卻接近 100%,使得 F-measure 平 均數值僅有 73%。從準確率與召回率數據判斷貝式機率應傾向將正常 SSH 連線分類為 SSH 字典攻擊,經進一步觀察原因為貝式機率演算法在處理連續數值資料時,會將連續 數值資料假設為常態分配(Normal Distribution),計算數值資料的平均值與標準差,建立 常態分配機率模型。但本研究觀察正常 SSH 連線的預測變數數值資料分佈並不是常態 分配,為左偏分配(Skew to the right),大部分的資料數值較小,僅有少部份的資料數值 較大,正常 SSH 字典連線資料假設數值為常態分配做為機率函數模型並不適切。此外, 貝式機率演算法中的變數需假設為彼此獨立,而本研究所使用的流量變數彼此之間有其 相關性,如伺服器流向客戶端的 Byte 數/Package 數比值平均與伺服器流向客戶端的 Byte 數平均與伺服器流向客戶端的 Package 數平均有相關性,變數之間關係非獨立。流量變 數彼此不獨立也可能是影響貝式機率分類效能低落的原因之一。因此使用常態分配的貝 式機率演算法去建立 SSH 字典攻擊偵測模組會傾向將正常的 SSH 字典攻擊連線分類為 SSH 字典攻擊,使得貝式機率演算法所建立的 SSH 字典攻擊偵測模組召回率高,但準 確率卻降低。而支援向量機對於分辨 SSH 字典攻擊的效能介於決策樹演算法與貝式機 率演算法之間,具有八成以上的準確率、召回率與 F-measure。. 接下來由表 5-2 中的正確率數值討論貝式機率、決策樹與支援向量機演算法的分類 效能。決策樹演算法平均皆有 98%以上的正確率,代表決策樹演算法能夠分辨 98%的正 常的 SSH 連線與 SSH 字典攻擊連線資料,正確率較其他兩種演算法優異。而貝式機率 演算法的平均正確率為 64.78%,正確率低的原因同準確率。因為貝式機率演算法會將 正常的 SSH 連線連續數值資料分佈假設為常態分佈,但實際資料分佈與常態分配不一 致,造成分類模組判斷正常 SSH 連線資料時容易判斷為 SSH 字典攻擊,造成正確率降 低。而支援向量機演算法平均正確率為 86%,介於貝式機率演算法與決策樹演算法之 間,正確率尚可。. 接下來觀察不同取樣時間間隔對於分類正確率的影響,本研究計算一分鐘、三分鐘. 27.

(35) 與五分鐘的貝式機率演算法、決策樹演算法與支援向量機演算法三次十摺共三十組資料 的正確率結果,兩兩進行 t 檢定,判斷各演算法一分鐘、三分鐘與五分鐘的取樣時間間 隔的正確率結果是否有顯著差異。t 檢定結果為三種演算法的不同取樣時間間隔正確率 兩兩之間均有顯著差異。但不同取樣時間間隔的正確率差異都在 4% 的範圍內,如支 援向量機的一分鐘、三分鐘與五分鐘三次十摺資料平均正確率為 85.28、86.03 與 87.49。 針對取樣時間間隔,以平均正確率而言,五分鐘取樣時間間隔的訓練資料訓練 SSH 偵 測模組的表現比一分鐘與三分鐘取樣時間間隔的訓練資料表現較佳,但其差異並不明 顯。雖然 t 檢定結果為兩者之間存在顯著差異,由於平均正確率一分鐘、三分鐘與五分 鐘的差異並不大,取樣時間間隔應不至於造成偵測效能太大的偏誤。由取樣時間間隔對 於分類演算法的實證評估結果,本研究建議若較要求快速偵測 SSH 字典攻擊,可採取 一分鐘的取樣時間間隔。若要偵測較廣域的網路範圍,彙整 NetFlow 資料為預測變數需 花費較高的計算資源成本,可考慮採取五分鐘的取樣時間間隔。本研究實證評估採用效 能最佳的五分鐘取樣時間的訓練資料,利用決策樹演算法訓練 SSH 偵測模組,偵測 NetFlow 資料中,是否存在 SSH 字典攻擊連線資料。. 總體而言,對於 SSH 字典攻擊偵測實證評估,決策樹演算法表現最佳,有九成八 以上的準確率。支援向量機次之,有八成以上的準確率。貝式機率演算法表現較差,僅 有不到六成的準確率。其中主要原因為貝式機率在處理連續值屬性偏差造成的影響。因 此,對於偵測 SSH 字典攻擊,本研究建議可使用決策樹演算法有不錯的偵測效果。 本研究欲瞭解所使用的十七個流量變數個別對於偵測 SSH 字典攻擊的分類成效的 分類效力程度,以便於進一步瞭解有使用相關分類演算法偵測 SSH 字典攻擊時,較為 有效的變數,進行後續偵測與防禦。本研究使用資訊獲利(Information Gain)計算十七個 本研究所提出偵測流量變數的偵測能力程度排序,並且同樣以十摺交叉驗證,計算結果 重要程度排序如表 5-3。. 表 5-3. 分類流量變數分類效力程度排序 排名. 流量變數名稱. 流量變數說明 客戶端流向伺服器的 Byte 數平均. 1. c_s_octs_mean. 2. c_octs_pkts_ratio_mean 客戶端流向伺服器的 Byte 數/Package 數比值平均. 28.

(36) 3. s_c_octs_mean. 伺服器流向客戶端的 Byte 數平均. 4. s_c_pkts_mean. 伺服器流向客戶端的 Package 數平均. 5. c_s_pkts_mean. 客戶端流向伺服器的 Package 數平均. 6. c_s_octs_ratio_mean. 雙向流量的 Byte 數比值平均. 7. s_octs_pkts_ratio_mean 伺服器流向客戶端的 Byte 數/Package 數比值平均. 8. c_s_pkts_ratio_mean. 雙向流量的 Package 數比值平均. 9. c_port_count. 客戶端使用的 Port 數. 10. s_c_pkts_sd. 伺服器流向客戶端的 Package 數標準差. 11. c_s_octs_sd. 客戶端流向伺服器的 Byte 數標準差. 12. s_c_octs_sd. 伺服器流向客戶端的 Byte 數標準差. 13. c_s_octs_sum. 客戶端流向伺服器的 Byte 數總和. 14. c_s_pkts_sd. 客戶端流向伺服器的 Package 數標準差. 15. s_c_octs_sum. 伺服器流向客戶端的 Byte 數總和. 16. s_c_pkts_sum. 伺服器流向客戶端的 Package 數總和. 17. c_s_pkts_sum. 客戶端流向伺服器的 Package 數總和. 表 5-3 中,排名數字越小代表分類效力程度越高。其中最重要的分類流量變數為客 戶端流向伺服器的 Byte 數平均,意指客戶端流向伺服器的 Byte 數平均與其他十六個流 量變數在分類效果上比較容易分辨流量資料中是否有存在未知的 SSH 字典攻擊資料。 可能的原因為當 SSH 字典攻擊發動時,SSH 攻擊者傳送猜測帳號密碼的封包 Byte 數平 均較小,封包內容皆為帳號與密碼的認證訊息。而跟正常 SSH 連線除了帳號密碼認證 訊息外,也有傳輸管理者遠端管理指令的網路封包。正常 SSH 連線的客戶端流向伺服 器的 Byte 數平均較不像 SSH 字典攻擊的客戶端流向伺服器的 Byte 數平均較小。因此, 使用客戶端流向伺服器的 Byte 數平均的流量變數能明顯比較出 SSH 字典攻擊與正常 SSH 連線行為的差異。 而位居重要程度排序最後數名的流量變數是 Byte 數與 Package 數以標準差與總和彙 整的流量變數資料,可得知以 Byte 數與 Package 數以標準差與總和彙整的流量變數對於 SSH 字典攻擊偵測模組偵測 SSH 字典攻擊較無影響,表示為較不重要的流量變數。可 得知 SSH 字典攻擊的攻擊行為特徵並不會反應在 Byte 數與 Package 數以標準差與總和. 29.

(37) 彙整的流量變數上。因此,Byte 數與 Package 數以標準差與總和彙整的流量變數在 SSH 字典攻擊偵測模組中較無法正確分辨 SSH 字典攻擊與正常 SSH 連線資料。這與一般認 為在網路攻擊事件發生時,會產生較大數量 Byte 數與 Package 數的認知並不一致。對於 SSH 字典攻擊在本研究的驗證中,其他的流量變數資訊具有較高的分類預測效力。. 5.2 SSH 字典攻擊追蹤演算法實例 利用第四章所建構的 SSH 字典攻擊偵測模組,我們以 2008 年 8 月 1 日至 2008 年 10 月 31 日為期兩個月的高屏澎區網核心路由器 NetFlow 資料,將高屏澎區網內兩個月 的 SSH 字典攻擊 IP 連線紀錄應用 SSH 字典攻擊追蹤演算法,找出高屏澎區網 SSH 字 典攻擊路徑拓樸關係圖。由於數量龐大無法以完整圖形呈現,本研究以部份拓樸關係圖 加以討論,並為了保護隱私,本研究皆以變數取代真實 IP 呈現。本研究觀察歸納 SSH 字典攻擊路徑拓樸關係圖,可獲得的網路管理資訊分別討論如下:. 1. 出現於攻擊路徑拓樸關係圖上的兩個 IP 節點 S1_IP、S2_IP,如圖 5-1 所示,S1_IP 節點箭頭連線指向 S2_IP 節點,因為 SSH 字典攻擊偵測模組偵測到 S1_IP 為 SSH 客 戶端與 S2_IP 為 SSH 伺服器端於 2008 年 8 月 23 日的 SSH 傳輸流量為 SSH 字典攻 擊連線。S1_IP 攻擊者可能利用這次的 SSH 字典攻擊連線猜測出 S2_IP 伺服器的帳 號密碼,因此本研究推論該連線則可能為 S2_IP 遭受攻擊的網路連線,當攻擊路徑 拓樸關係出現像圖 5-1 的情形。. 圖 5-1. SSH 字典攻擊連線示意圖. 2. 可定義攻擊角色,攻擊路徑拓樸關係圖,如圖 5-2。在圖 5-2 中,我們觀察到 S1_IP. 30.

(38) 於 2008 年 8 月 23 日攻擊 S2_IP,S2_IP 又於 2008 年 8 月 25 日攻擊 S3_IP。發現 S1_IP 發動 SSH 字典攻擊 S2_IP 的時間早於 S2_IP 攻擊 S3_IP 的時間,並且攻擊時間相當 接近。因此,本研究推論 S1_IP 可能於 2008 年 8 月 23 日先成功入侵 S2_IP 後,於 兩天後 S1_IP 操縱 S2_IP 向 S3_IP 進行 SSH 字典攻擊。由於 S1_IP 為最早發動 SSH 字典攻擊的 IP,S1_IP 在攻擊角色中便扮演攻擊者的角色。S3_IP 為最晚被攻擊的節 點,S3_IP 攻擊角色中便扮演受害者角色。S2_IP 節點位於 S1_IP 與 S3_IP 中間,由 S1_IP 操縱 S2_IP 再攻擊 S3_IP,便在攻擊角色中扮演跳板的角色。由圖 5-2 進一步 歸納得出,若將攻擊路徑拓樸關係圖視為樹狀結構,則 IP 節點位於根節點為攻擊者 (如 S1_IP),而 IP 節點若位於葉節點為受害者(如 S3_IP),其餘位於根節點與葉節點 間的節點即可能為跳板(如 S2_IP)。. 圖 5-2. 攻擊角色示意圖. 3. 可歸納出網路上不同攻擊者所發動的 SSH 字典攻擊的攻擊範圍,如圖 5-3。圖 5-3 中 有 6 個節點,A1_IP、A2_IP、A3_IP、B1_IP、B2_IP 與 B3_IP,由圖 5-2 可得知,圖 5-3 中有兩組不同的攻擊角色示意圖。一組為 A1_IP、A2_IP 與 A3_IP,另一組為 B1_IP、B2_IP 與 B3_IP。A1_IP、A2_IP 與 A3_IP 這組的節點與 B1_IP、B2_IP 與 B3_IP 節點彼此組間節點都無連接的情形,表示 A1_IP 攻擊者與 A2_IP 跳板並無向 B1_IP、 B2_IP 與 B3_IP 發動 SSH 字典攻擊。表示不同的攻擊角色示意圖彼此之間若無節點 相連接,表示兩組的攻擊者或跳板並無向另一組的節點進行攻擊,兩組為各為不同 的攻擊者的攻擊範圍。因此,A1_IP 為根節點的樹狀結構子圖與 B1_IP 為根節點的. 31.

(39) 樹狀結構子圖可歸納出兩個不同的攻擊者所發動的 SSH 字典攻擊的攻擊範圍。到目 前為止,由於僅收集到高屏澎區網範圍的 NetFlow 資料,僅能呈現部份的攻擊路徑 拓樸關係。若欲進一步確認 A1_IP 與 B1_IP 是否分屬不同的攻擊發起端或 A_IP 與 B_IP 僅為同一攻擊者的跳板,則需更廣域的路由器 NetFlow 資料才能加以驗證。. 圖 5-3. 攻擊範圍示意圖. 4. 若發現攻擊路徑拓樸關係圖中有 IP 節點的內分支度(In-Degree)高,如圖 5-4 中的 T1_IP 節點。圖 5-4 中 T1_IP 節點分別於 2008 年 9 月 2 日至 11 日遭受 C1_IP、C2_IP、 C3_IP、C4_IP 與 C5_IP 節點 SSH 字典攻擊,表示 T1_IP 於 9 日內便遭受 5 次的 SSH 字典攻擊,被攻擊次數十分頻繁。本研究推論 T1_IP 節點所處的網路環境可能網路 安全防護措施較差,伺服器無限定 SSH 連線的網路範圍或無安裝稽核日誌檔軟體防 禦 SSH 字典攻擊,因此較易成為攻擊者攻擊的對象。但觀察攻擊路徑拓樸關係,T1_IP 並無再繼續發動 SSH 字典攻擊,推論 T1_IP 雖遭受 C1_IP、C2_IP 等 IP 進行 SSH 字 典攻擊,但 C1_IP、C2_IP 等 IP 攻擊者均無成功入侵 T1_IP,因此本研究推論 T1_IP 的帳號密碼應較不易破解或是具有其他安全防禦機制。若發現此攻擊路徑拓樸關係 出現時,本研究建議應通知 T1_IP 的伺服器管理者已經被 C1_IP、C2_IP 等攻擊者發 動過 SSH 字典攻擊,並且告知伺服器管理者限定 SSH 連線的網路範圍與設定阻擋 C1_IP、C2_IP 等攻擊者的防火牆規則。網路管理者應注意 C1_IP、C2_IP 等 IP 後續 的網路流量,可設定路由器的 ACL(Access Control List)規則阻擋 C1_IP、C2_IP 等 IP 向管理網路範圍內的網路連線,以避免後續 C1_IP、C2_IP 等 IP 進行其他網路攻擊. 32.

(40) 危及網路安全。. 圖 5-4. 內分支度高的 IP 節點示意圖. 33.

參考文獻

相關文件

另一重要的基本分析為熱值 (heating value) 測量,藉 由熱卡計以得知該燃料單位質量反應後釋放之熱量;其 又分成高位發熱值 (higher heating value, HHV) 與低 位發熱值

某項貨物的單位價格是指該項貨物的貿易貨值與其貨量之比。季度單位價格指數是計算當季各

年初至當期累計 按年變動 主要指標 單位 參考期

年初至當期累計 按年變動 主要指標 單位 參考期

年初至當期累計 按年變動 主要指標 單位 參考期

年初至當期累計 按年變動 主要指標 單位 參考期

年初至當期累計 按年變動 主要指標 單位 參考期

對外商品貿易指數的資料是源於進出口貨物准照及申報單的資料,而有關指數主要包括:價