iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 5
0
Security

資安補漏洞,越補越大洞系列 第 5

[Day 5] 這個漏洞有多嚴重? [上]

現在資訊產品的漏洞這麼多,有些影響程度很輕微,放著不理他也不會造成很大的影響,但有些漏洞如果沒修補,就會導致大型悲劇,例如前陣子沸沸揚揚的WannaCry勒索病毒所利用的漏洞就是一個例子。

那我們應該如何判斷一個漏洞的嚴重程度呢?今天要介紹的就是一個可以評斷漏洞嚴重程度的分數標準,也就是通用漏洞評分系統 (Common Vulnerability Scoring System, CVSS)。CVSS的研究是由美國國家基礎建設諮詢委員會 (National Infrastructure Advisory Council, NIAC)從2003年所發起的,並在2005年2月完成第一版CVSS (CVSSv1),後續則轉由FIRST(不知道FIRST是什麼的朋友請看https://ithelp.ithome.com.tw/articles/10197572 )進行進一步改善及研究發展,FIRST也因此建立一個CVSS特別興趣群 (CVSS Special Interest Group, CVSS SIG),負責以現行CVSS為基準,研擬下一版本的CVSS應如何進行修正及改善。在採納各方意見後,2007年6月第二版的CVSS (CVSSv2)正式出爐,而隨著各界持續提供許多意見,在2015年6月則發布了目前正在使用的第三版CVSS (CVSSv3.0)。

既然往事已矣不可追,我們就直接來介紹目前正在使用的CVSSv3.0是如何評斷漏洞的嚴重性的吧!

CVSSv3.0以3個群組來進行判斷,分別是基本矩陣群 (Base metric group)、暫時矩陣群 (Temporal metric group)及環境矩陣群 (Environmental metric group),其中基本矩陣群會訂定出基本分數,暫時矩陣群及環境矩陣群則分別以基本矩陣群所產出的分數為基準,進行進一步的判斷,以獲取更嚴密的分數,但也因為後兩項算是進階選項,如果使用者想要進一步評估漏洞才會使用,大部分都只使用了基本矩陣群的部分。

https://ithelp.ithome.com.tw/upload/images/20181020/20107304JCTOgNcW2e.png
(圖來源:https://www.first.org/cvss/specification-document

接著介紹基本矩陣群,他以8個面向來進行評分,並得出一個0.0~10.0分的分數,分數越高代表漏洞危險程度越高:

  1. 攻擊向量 (Attack Vector, AV)
  • Network (N):由網際網路網路進行攻擊
  • Adjacent (A): 由受限制的網路進行攻擊,如區域網路及藍芽等
  • Local (L):在不連接網路的狀況下進行攻擊
  • Physical (P):需接觸到實體機器才能進行攻擊
  1. 攻擊複雜度 (Attack Complexity, AC)
  • Low (L):低,攻擊可被輕易重現
  • High (H):高,須由攻擊者達成數項條件後才能成功
  1. 是否需要提權 (Privileges Required, PR)
  • None (N):不需要
  • Low (L):需要一般使用者權限
  • High (H):需要管理者權限
  1. 是否需要使用者操作 (User Interaction, UI)
  • None (N):不需要
  • Required (R):需要使用者操作某些動作才能讓攻擊成功
  1. 影響範圍 (Scope, S)
  • Unchanged (U) :僅影響含有漏洞的元件本身
  • Changed (C):會影響到含有漏洞的元件以外的元件
  1. 機密性影響 (Confidentiality, C)
  • None (N):無影響
  • Low (L):攻擊者可以取得機密資料,但無法使用該資料
  • High (H):攻擊者可以取得機密資料,且可以使用該資料
  1. 完整性影響(Integrity, I)
  • None (N) :無影響
  • Low (L) :攻擊者有部分權限以竄改某些資料,對含有漏洞之元件影響較小
  • High (H):攻擊者有權限竄改所有資料,對含有漏洞之元件有嚴重影響
  1. 可用性影響 (Availability, A)
  • None (N):無影響
  • Low (L):可用性受到影響,導致服務或元件仍可被部分取得,或是時好時壞
  • High (H):可用性受到嚴重影響,導致服務或元件完全不可被取得

舉個例子,WannaCry使用的漏洞CVE-2017-0144的CVSSv3分數是8.1,其中8項選項如下:
Attack Vector (AV): Network
Attack Complexity (AC): High
Privileges Required (PR): None
User Interaction (UI): None
Scope (S): Unchanged
Confidentiality (C): High
Integrity (I): High
Availability (A): High

如果想要試著玩看看各項排列組合產出的分數是多少,可以到FIRST網站上的CVSSv3計算機去試試看:https://www.first.org/cvss/calculator/3.0 。系統也會根據你的選擇產出一個向量字串 (Vector String),用於描述你對這個漏洞的各項選擇,例如CVE-2017-0144的向量字串長相則為「CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H」,我們也可以看出來,這個字串是根據上述8個面向分別描述選擇的答案為何所產出的。

https://ithelp.ithome.com.tw/upload/images/20181020/20107304jDOCyjDlTp.png
(圖來源:https://www.first.org/cvss/calculator/3.0#CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H/E:F/RL:T/RC:R

由於在CVSSv3問世前,CVSSv2也已經使用了不短的時間,所以現在有時候也可以看到有人在描述漏洞的時候,會同時給CVSSv2跟CVSSv3的分數,兩者都有一定參考性,就端看使用者怎麼應用囉。

參考資料:
[1] https://en.wikipedia.org/wiki/Common_Vulnerability_Scoring_System
[2] https://www.first.org/cvss/
[3] https://nvd.nist.gov/vuln/detail/CVE-2017-0144


上一篇
[Day 4] 國際漏洞編號標準有哪些?
下一篇
[Day 6] 這個漏洞有多嚴重? [下]
系列文
資安補漏洞,越補越大洞30

尚未有邦友留言

立即登入留言