CVE, CPE และ CVSS: อ่านผลช่องโหว่จาก NVD
CVE คืออะไร
Common Vulnerabilities and Exposures (CVE) เป็นตัวระบุสาธารณะของช่องโหว่ที่บันทึกแล้ว แต่ละรายการมีรหัสรูปแบบ CVE-ปี-เลข โปรแกรม CVE อธิบายไว้ที่ CVE Program
CVE บอกว่ามีรายการนี้อยู่ในบัญชี ไม่ได้บอกโดยลำพังว่าโฮสต์ของคุณติดจริงหรือต้องแพตช์เป็นอันดับแรก ต้องดูผลิตภัณฑ์ เวอร์ชัน สภาพแวดล้อม และคะแนนความรุนแรงประกอบ
NVD และคะแนน CVSS
National Vulnerability Database (NVD) ของ NIST เติมข้อมูลวิเคราะห์ให้ CVE เช่น สรุป ลิงก์อ้างอิง และคะแนน CVSS
Common Vulnerability Scoring System รุ่นที่ใช้กันกว้างคือ CVSS v3.1 ตามข้อกำหนดของ FIRST คะแนนฐาน (Base Score) สะท้อนความรุนแรงทั่วไปของช่องโหว่ ไม่รวมว่าโฮสต์นั้นเปิดสู่สาธารณะหรือมีชั้นป้องกันเพิ่มหรือไม่
ระดับที่มักแสดงบนเครื่องมือสแกน
| ช่วงคะแนน (โดยประมาณ) | ระดับ |
|---|---|
| 9.0–10.0 | Critical |
| 7.0–8.9 | High |
| 4.0–6.9 | Medium |
| 0.1–3.9 | Low |
CPE ใช้จับคู่ผลิตภัณฑ์อย่างไร
Common Platform Enumeration (CPE) เป็นชื่อมาตรฐานของฮาร์ดแวร์ ระบบปฏิบัติการ และแอปพลิเคชัน รูปแบบ 2.3 อธิบายใน NISTIR 7695 และพจนานุกรมที่ NVD CPE
ตัวอย่างเชิงโครงสร้าง (ไม่ใช่การระบุเป้าหมายจริง)
cpe:2.3:a:vendor:product:version:*:*:*:*:*:*:*เครื่องสแกนที่อ่านแบนเนอร์หรือ fingerprint ของบริการ อาจแปลงเป็น CPE แล้วถาม NVD ว่ามี CVE ที่ผูกกับชื่อนั้นหรือไม่ API ปัจจุบันของ NVD คือ CVE API 2.0
ทำไมผลจับคู่อาจคลาดเคลื่อน
- แบนเนอร์โฆษณาเวอร์ชันไม่ตรงของที่ติดตั้งจริง หรือถูกปิดไว้
- ผู้ให้บริการแพตช์ย้อนหลัง (backport) โดยไม่เปลี่ยนเลขเวอร์ชันตามต้นน้ำ
- CPE ในฐานข้อมูลกว้างหรือแคบกว่าแพ็กเกจที่ใช้อยู่
- บริการที่ตรวจเวอร์ชันไม่ได้จะไม่มี CVE จากเส้นทางนี้ แม้ยังมีความเสี่ยงด้านอื่น
ดังนั้นรายการ CVE จากเวอร์ชันเป็นข้อบ่งชี้ ควรยืนยันกับบันทึกแพ็กเกจของผู้ให้บริการและประกาศความปลอดภัยของผลิตภัณฑ์ก่อนวางแผนปิดระบบ
สรุป
อ่าน finding โดยเริ่มจากรหัส CVE เปิดหน้า NVD ดูผลิตภัณฑ์ที่ได้รับผลกระทบและคะแนน CVSS แล้วเทียบกับเวอร์ชันจริงในระบบของตนเอง ใช้ CPE เป็นดัชนีค้นหา ไม่ใช่หลักฐานสุดท้ายว่าโฮสต์ติดช่องโหว่