CVSS หรือการระบุความรุนแรงของช่องโหว่
Published: 2021-02-06 09:10:21


CVSS หรือ The Common Vulnerability Scoring System คือระบบการบอกระดับความรุนแรงของช่องโหว่ (ในระบบไอทีต่างๆ) ซึ่งการมี CVSS นี้ก็จะช่วยให้ software developers, testers, security engineer หรือเจ้าหน้าที่ทางด้านไอทีอื่นๆ สามารถประเมินได้ว่า ช่องโหว่ที่มีอยู่นั้นสามารถถูกคุกคามได้มากน้อยเพียงใด และสามารถบรรเทาหรือรับมือได้อย่างไร
 
# ช่องโหว่ในทางซอฟแวร์คือ ?
ช่องโหวของซอฟแวร์ หรือ a software vulnerability คือข้อบกพร่องใด้ๆก็ตามในโค๊ด (sorce code) ซึ่งอาจจะถูกเจาะได้ หรือผู้โจมตีสามารถใช้ประโยชน์จากข้อบกพร่องที่มีอยู่นี้ ซึ่งสาเหตุของช่องโหว่ อาจมาจากตรรกะการเขียนที่ผิดพลาด (faulty logic), มีกระบวนการตรวจสอบต่างๆที่ไม่เพียงพอ (inadequate validation mechanisms), ไม่มีการป้องกันเวลาโปรแกรมใช้หน่วยความจำเกิน (buffer overflows), APIs ไม่มีการป้องกัน หรือเพราะใช้ libraries ของคนอื่น ซึ่งสิ่งเหล่านี้มักเป็นปัญหาที่ทำให้เกิดช่องโหว่
 
ช่องโหว่ที่มีอยู่ก็จะเป็นความเสี่ยงของผู้ใช้และองค์กร ซึ่งผู้โจมตีก็อาจจะสามารถเจาะเข้าสู่ระบบ, ทำลายระบบ, ทำให้ระบบมีการหยุดทำงาน, ขโมยข้อมูล หรือติดตั้งโปรแกรมอันตรายต่างๆ (malware) เข้าสู่ระบบ เว้นแต่ว่า เมื่อช่องโหว่นั้นๆถูกพบและถูกแก้ไข (ถูก patch) โดยการอัพเดท ก็จะทำให้ระบบมีความปลอดภัย
 
# ช่องโหว่ถูกรายงานอย่างไร ?
วิธีการรายงานช่องโหว่ก็จะขึ้นอยู่กับประเภทของซอฟแวร์ซึ่งถูกพบ ชนิดของช่องโหว่ และปัจจัยต่างๆ โดยปกติแล้วช่องโหว่จะถูกพบและรายงานโดยนักวิจัย หรือนักทดสอบระบบ ไม่ว่าจะเป็นคนที่ทำหน้าที่นี้แบบ full-time หรือ คนที่เป็น freelance แบบนักล่าเงินรางวัล (bug bounty)
 
ช่องโหว่เล็กๆน้อยๆที่ไม่เป็นอันตรายมาก ที่สามารถแก้ไขโดยผู้ใช้งานทั่วไปได้ ก็อาจะไม่ถูกรายงาน แต่ถ้ามีช่องโหว่ระดับอันตรายแล้วถูกพบโดยเหล่าอาชยากรทางไซเบอร์ ก็พวกเขาอาจจะไม่รายงานช่องโหว่ดังกล่าวให้กับเจ้าของซอฟแวร์ ซึ่งตามหลักแล้วเมื่อพบช่องโหว่ก็ควรรายงานให้กับบริษัทผู้พัฒนาซอฟแวร์นั้นๆ
 
ช่องโหว่ที่พบในซอฟต์แวร์ที่มีลิขสิทธิ์อาจจะถูกรายงานไปยังบริษัทต้นทาง หรือองค์กร MITRE แต่ถ้าเป็นช่องโหว่ที่พบในพวก open source ก็อาจจะรายงานไปยังกลุ่ม community ของ open source นั้น
 
เมื่อช่องโหว่ถูกรายงานไปยังหน่วยงานเช่น MITRE จากนั้นทางหน่วยงานก็จะระบุหมายเลขของช่องโหว่ดังกล่าว แล้วทาง MITRE ก็จะแจ้งไปยังหน่วยที่เกี่ยวข้องต่อไป (vendor หรือ project manager) ซึ่งผู้รับผิดชอบต่างๆก็จะมีเวลาให้ 30 ถึง 90 วันในการแก้ไขช่องโหว่ดังกล่าวก่อนที่รายละเอียดของช่องโหว่จะถูกเปิดเผยต่อสาธาราณะ ซึ่งนี่ก็จะเป็นการลดความเป็นไปได้ที่ผู้โจมตี (attackers) อาจจะเจาะช่องโหว่ก่อนที่จะถูกแก้ไข
 
# CVSS คือ?

CVSS หรือ The Common Vulnerability Scoring System คือระบบ (มาตรฐาน, standard) การกำหนดระดับความรุนแรงของช่องโหว่ ซึ่งระบบหรือมาตรฐานนี้ผู้ภายใต้การกำกับดูแลของหน่วยงาน FIRST (the Forum of Incident Response and Security Teams) ซึ่งเป็นองค์กรไม่แสวงผลกำไร ซึ่งระบบหรือมาตรฐานดังกล่าวได้นิยามความรุนแรงของช่องโหล่ตั้งแต่ 0.0 จนถึง 10.0 (ซึ่งระดับ 10.0 ถือว่ามีความรุนแรงสูงสุด) ซึ่งระบบหรือมาตรฐานล่าสุด (เมื่อ June 2019) คือเวอร์ชั่น CVSS 3.1
 
ระบบหรือมาตรฐานดังกล่าวก็จะช่วยให้นักวิจัยทางด้าน security, ผู้ใช้ หรือองค์กรต่างๆได้มีมาตรฐานในการวัด การรายงานและติดตามความรุนแรงของช่องโหว่ได้เข้าใจได้ตรงกัน และ CVSS ก็จะช่วยให้ทีม security และนักพัฒนาสามารถเรียงลำดับความสำคัญในการรับมือกับภัยคุกคามและพร้อมจัดการกับทรัพยากร (hardware, software) ได้อย่างมีประสิทธิภาพ
 
# CVSS ระบุระดับความรุนแรงได้อย่างไร?

ระดับความรุนแรงของช่องโหว่แต่ละตัว หรือแต่ละ CVSS นั้น เป็นการนับคะแนน (scoring) จากหลายๆปัจจัยหรือองค์ประกอบหรือ Base score รวมกัน ซึ่งแต่ละปัจจัยหรือแต่ละองค์ประกอบก็จะมีเกณฑ์การนับคะแนนเฉพาะของตัวเอง ซึ่งแรกๆนั้น ผู้รายงานช่องโหว่อาจจะกำหนดระดับความรุนแรงชั่วคราวได้
 
## Base score ของCVSS ถูกวัดโดย
– คะแนน subscore ความสำเร็จของการถูกเจาะ
– คะแนน subscore ผลกระทบ
– คะแนน subscore ขอบเขต
แต่ละ subscore ก็จะมีตัวชี้วัดที่จะใช้ประเมินขอบเขตของการโจมตี, ความสำคัญของข้อมูลและระบบที่ได้รับผลกระทบ
 
## Base score
ตัว Base score จะแสดงให้เห็นลักษณะหรือพฤติกรรมเฉพาะของช่องโหว่ได้ และลักษระดังกล่าวไม่ควรที่จะเปลี่ยนไปเปลี่ยนมา สำหรับการคำนวณหรือนับคะแนนของ base score นั้น ทางผู้รายงานช่องโหว่ต้องคำนวณจากทั้งสาม subscore (ที่กล่าวมาก่อนหน้า)
 
## Exploitability subscore
Exploitability subscore หรือคะแนน subscore ความสำเร็จของการถูกเจาะ จะวัดจากองค์ประกอบต่างที่ทำให้เกิดช่องโหว่ ซึ่งองค์ประกอบเหล่านี้ก็จะช่วยให้นักวิจัยรู้ว่าช่องโหว่นี้จะสามารถถูกเจาะโดยผู้โจมตีได้อย่างไร ซึ่ง subscore นี้ประกอบด้วยตัวชี้วัดดังต่อไป


# Reference: 

Eddie Segal,
https://blog.malwarebytes.com/malwarebytes-news/2020/05/how-cvss-works-characterizing-and-scoring-vulnerabilities/
[1] https://www.first.org/cvss/specification-document