跳到主要內容區塊

ntuccepaper2019

技術論壇

關於SNMP通訊協定資安威脅的二三事
  • 卷期:v0049
  • 出版日期:2019-06-20

作者:江培文 / 臺灣大學計算機及資訊網路中心資訊網路組研究助理


SNMP是以OID來查詢及回傳設備狀態資訊,使用不同階層之OID會得到不同程度的設備查詢資訊。本文針對受測目標防火牆設備進行SNMP指令查詢,經由測試實驗結果顯示,使用SNMP指令查詢會影響到測試防火牆設備的系統資源及效能。正常情況下,防火牆設備運作於資安防護之環境,當防火牆設備因接收處理密集傳送之SNMP查詢指令,將可能導致系統資源耗盡之狀態,一旦影響到防火牆設備的正常防護功能,也將面臨資安威脅之風險。

 

前言

簡單網路管理協定(SNMP)提供設備維運狀態監控之功能,SNMP指令是以物件識別碼(OID)來查詢及回傳設備狀態資訊,若使用階層頂端之OID查詢會得到較多的狀態資訊。換言之,如使用階層底端之OID查詢則回傳較少的狀態資訊。本文中,筆者首先確認測試環境沒有其他使用者封包流量之影響因素,其次依序進行2個測試實驗:實驗1是以較低階層OID進行測試,結果顯示受測目標Juniper firewall設備達到24%之CPU使用率;實驗2是以較高階層OID進行測試,結果顯示受測目標Juniper firewall設備達到81%之CPU使用率。

 

SNMP的潛在資安威脅

一般而言,大部分設備皆使用「public」作為預設SNMP community,如圖1,若設備管理人員在未變更預設community情況下,就可能被有心人士使用於惡意的設備攻擊行為。本文針對管理人員在未變更預設SNMP community所可能導致的資安威脅,包含「竊取系統資訊」、「盜用密碼及竄改設定」與「進行反射式放大攻擊」分述如下:

Art editor Img
圖1. SNMP community唯讀權限

 

竊取系統資訊

使用SNMP指令不僅可查詢設備狀態的資訊,亦可得到設備型號的相關資訊。筆者先以階層頂端之OID進行查詢,如圖2,回傳結果可得知該設備型號資訊,如圖3,另於網路搜尋則可進一步瞭解該設備型號,如圖4。

 

Art editor Img
圖2. SNMP request指令查詢

 

 

Art editor Img
圖3. SNMP response結果回傳

 

Art editor Img
圖4. Juniper firewall資安設備

 

資料來源:bing juniper srx210 firewall png

 

盜用密碼及竄改設定

經由前述取得該設備型號資訊,倘若設備管理人員未變更仍繼續使用預設的登入帳號密碼時,有心人士亦可於網路搜尋得到該設備預設登入資訊,如圖5。一旦取得管理者登入帳號密碼,則可變更設備的相關設定。本文中,筆者以變更SNMP community權限為例,將「public」由read-only調整為read-write之權限,如圖6。

Art editor Img


圖5. Juniper設備預設帳密

 

資料來源:https://www.cleancss.com/router-default/Juniper/SRX210

Art editor Img


圖6. SNMP community讀寫權限

 

進行反射式放大攻擊

本文中,筆者針對受測目標Juniper firewall設備使用2個不同階層之OID為例,進行OID查詢測試實驗,以評估不同SNMP查詢指令對於設備效能之影響。首先,確認測試環境未存在其他使用者封包流量之影響因素。測試前Juniper firewall設備之CPU (Control)為11%,如圖7,另由圖8可得知,確認未存在其他封包流量之影響因素。

Art editor Img
圖7. SNMP測試前--設備資源使用情形

 

Art editor Img
圖8. SNMP測試前--網路封包傳收速率
(圖左為Input Rate=0.000 Kbps,圖右為Output Rate=0.000 Kbps)

 

第一個測試實驗,筆者使用階層底端之OID進行Juniper firewall設備SNMP指令查詢,如圖9,愈底層的OID可得到愈特定之設備相關資訊。由圖10可知,Juniper firewall設備之CPU (Control)為24%。網路封包接收速率(Input Rate)為9.183 Kbps,網路封包傳送速率(Output Rate)為1.696 Kbps,如圖11。圖12顯示本測試實驗之網路傳收位元組(Bytes)數及封包(Packets)數。

 

Art editor Img
圖9. SNMP測試實驗1--request指令查詢

Art editor Img
圖10. SNMP測試實驗1--設備資源使用情形

Art editor Img
圖11. SNMP測試實驗1--網路封包傳收速率(圖左為Input Rate=9.183 Kbps,圖右為Output Rate=1.696 Kbps)

Art editor Img
圖12. SNMP測試實驗1--設備網路流量統計

 

第二個測試實驗,筆者另以階層頂端之OID進行Juniper firewall設備SNMP指令查詢,如圖13,愈頂層的OID可得到愈廣泛之設備相關資訊。由圖14可知,Juniper firewall設備之CPU (Control)為81%。網路封包接收速率(Input Rate)為82.631 Kbps,網路封包傳送速率(Output Rate)為87.262 Kbps,如圖15。圖16顯示本測試實驗之網路傳收位元組(Bytes)數及封包(Packets)數。

Art editor Img
圖13. SNMP測試實驗2--request指令查詢

 

Art editor Img
圖14. SNMP測試實驗2--設備資源使用情形

 

Art editor Img
圖15. SNMP測試實驗2--網路封包傳收速率(圖左為Input Rate=82.631 Kbps,圖右為Output Rate=87.262 Kbps)

 

Art editor Img
圖16. SNMP測試實驗2--設備網路流量統計

 

結論

簡單網路管理協定提供設備管理監控之功能,SNMP manager及agent間需先確認community之有效性,其後方能查詢及回傳設備狀態資訊。設備管理人員應確保預設community完成變更,以避免被有心人士使用於惡意的攻擊行為。本文中,受測防火牆設備於沒有其他使用者的封包流量條件下,筆者分別連續執行50次SNMP查詢指令以測試防火牆設備的系統資源及效能影響之程度。正常情況下,防火牆設備運作之環境,倘若遭受有心人士以密集傳送SNMP指令,則該防火牆設備將可能達到系統資源(如CPU使用率)耗盡之狀態,此外,一旦影響到防火牆的網路流量防護功能,也將導致資安風險。

 

參考資料

http://www.cc.ntu.edu.tw/chinese/epaper/0047/20181220_4707.htmlhttps://en.wikipedia.org/wiki/Simple_Network_Management_Protocolhttps://kb.juniper.net/InfoCenter/index?page=content&id=KB16545&actp=METADATA