Bài 69. Quản lý lỗ hổng (2): phân tích và ưu tiên: false positive/negative, CVSS, mức độ phơi nhiễm
Khóa học CompTIA Security+ SY0-801 · Phần 4: Vận hành bảo mật · Bài 69 · 🎯 Objective 4.3 · ⏱️ Đọc khoảng 17 phút · 🧪 Không cần lab · 📝 5 câu bài tập cuối bài
🎯 Mục tiêu bài học
- Xác nhận kết quả quét: phân biệt dương tính thật, dương tính giả, âm tính thật, âm tính giả.
- Đọc hiểu CVE và điểm CVSS, biết các mức nghiêm trọng và các nhóm chỉ số nền tảng.
- Biết xếp thứ tự ưu tiên dựa trên nhiều yếu tố: khả năng khai thác, giá trị tài sản, mức độ phơi nhiễm, kiểm soát bù, tác động tổ chức.
- Hiểu khẩu vị rủi ro (risk tolerance) và ngưỡng rủi ro quyết định việc xử lý hay chấp nhận.
📎 Vị trí trong đề thi: tiếp nối Bài 68 (phát hiện), bài này là bước phân tích và ưu tiên của Objective 4.3; Bài 70 sẽ lo bước khắc phục. Bài dùng lại CVE và CVSS ở Bài 15, phân loại tài sản ở Bài 66 và các biện pháp giảm thiểu ở Bài 59 đến Bài 65.
💡 Liên hệ thực tế: báo cáo quét dài 400 dòng
Lần quét đầu tiên cho cửa hàng chị Lan trả về 400 phát hiện, chia thành các mức Nghiêm trọng, Cao, Trung bình, Thấp. Chị Lan hốt hoảng: "Làm sao sửa hết trong tuần này?" Nam đáp: không cần, và cũng không nên. Việc đầu tiên là xác nhận: một số phát hiện là dương tính giả (công cụ nhận nhầm phiên bản). Việc thứ hai là ưu tiên: một lỗ hổng "Cao" trên máy in nội bộ không ra Internet thì kém cấp bách hơn một lỗ hổng "Trung bình" trên máy chủ web bán hàng đang mở ra ngoài. Đây là tình huống minh họa, không phải vụ việc có thật.
🎯 Hình 69a. Âm tính giả đáng sợ hơn vì lỗ hổng vẫn còn mà không ai biết để xử lý.
📘 Kiến thức cốt lõi
✅ Xác nhận kết quả: dương tính và âm tính
Công cụ quét không hoàn hảo. Mỗi phát hiện rơi vào một trong bốn nhóm:
| Kết quả | Ý nghĩa | Hệ quả |
|---|---|---|
| Dương tính thật (true positive) | Báo có lỗ hổng và đúng là có | Cần xử lý |
| Dương tính giả (false positive) | Báo có lỗ hổng nhưng thực ra không có | Tốn công kiểm tra, mất tin tưởng vào công cụ; xử lý bằng cách xác minh và ghi nhận để lần sau bỏ qua |
| Âm tính thật (true negative) | Báo không có và đúng là không có | Bình thường |
| Âm tính giả (false negative) | Báo không có nhưng thực ra có lỗ hổng | Nguy hiểm nhất: tạo cảm giác an toàn giả |
Cách giảm sai sót: quét có tài khoản (Bài 68), xác minh thủ công các phát hiện quan trọng, đối chiếu nhiều công cụ hoặc nguồn, giữ công cụ và cơ sở dữ liệu lỗ hổng luôn cập nhật, và bổ sung bằng pentest, vì quét thường không thấy lỗi logic hoặc zero-day. Ghi nhận một dương tính giả đã xác minh giúp lần quét sau không lặp lại việc kiểm tra.
🏷️ CVE và CVSS
- CVE (Common Vulnerabilities and Exposures) là hệ thống mã định danh chung cho lỗ hổng đã công bố, có dạng CVE-năm-số. Một mã CVE giúp mọi công cụ và đội ngũ cùng nói về một lỗ hổng.
- CVSS (Common Vulnerability Scoring System) là thang điểm 0 đến 10 mô tả mức nghiêm trọng kỹ thuật của lỗ hổng.
| Điểm CVSS | Mức nghiêm trọng |
|---|---|
| 0.0 | Không (None) |
| 0.1 đến 3.9 | Thấp (Low) |
| 4.0 đến 6.9 | Trung bình (Medium) |
| 7.0 đến 8.9 | Cao (High) |
| 9.0 đến 10.0 | Nghiêm trọng (Critical) |
Các nhóm chỉ số tạo nên điểm:
- Chỉ số nền tảng (base): đặc tính cố hữu của lỗ hổng: vector tấn công (mạng, lân cận, cục bộ, vật lý), độ phức tạp của việc khai thác, quyền cần có, có cần người dùng tương tác không, phạm vi ảnh hưởng (scope), và tác động lên bí mật, toàn vẹn, sẵn sàng (CIA).
- Chỉ số thời gian (temporal): thay đổi theo thời gian, như đã có mã khai thác công khai chưa, đã có bản vá hay biện pháp tạm thời chưa.
- Chỉ số môi trường (environmental): điều chỉnh theo môi trường cụ thể của tổ chức, như tầm quan trọng của tài sản và các kiểm soát đang áp dụng.
Điểm mà các công cụ và cơ sở dữ liệu công bố thường là điểm nền tảng, chưa tính đến hoàn cảnh của bạn. Vì vậy CVSS là điểm khởi đầu, không phải câu trả lời cuối cùng.
📊 Những yếu tố bổ sung khi ưu tiên
| Yếu tố | Câu hỏi cần đặt ra |
|---|---|
| Khả năng khai thác (exploitability) | Đã có mã khai thác công khai chưa, có đang bị tội phạm lợi dụng ngoài đời không? Một số nguồn công bố danh sách lỗ hổng đang bị khai thác thực tế (ví dụ danh mục KEV của cơ quan an ninh mạng Mỹ) và thang EPSS ước lượng xác suất bị khai thác |
| Giá trị và mức quan trọng của tài sản | Hệ thống này phục vụ nghiệp vụ nào, chứa dữ liệu nhạy cảm nào (dựa trên phân loại ở Bài 66)? |
| Mức độ phơi nhiễm (exposure) | Có ra Internet không, hay chỉ trong mạng nội bộ phân đoạn? Ai có thể tới được? |
| Kiểm soát bù (compensating controls) | Có firewall, IPS, phân đoạn, WAF đang chặn đường khai thác chưa? |
| Tác động tổ chức (impact) | Nếu bị khai thác thì mất gì: tiền bạc, uy tín, luật định, an toàn con người, mất dịch vụ? |
| Phụ thuộc và khả năng vá | Vá có làm gián đoạn hệ thống quan trọng không, có bản vá chưa? |
📊 Hình 69b. Lỗ hổng điểm vừa nhưng trên máy quan trọng và ra Internet có thể cần xử lý trước một lỗ hổng điểm cao ở nơi khuất.
⚖️ Khẩu vị rủi ro và ngưỡng chấp nhận
Không tổ chức nào vá hết mọi thứ ngay lập tức; nguồn lực có hạn. Hai khái niệm quyết định đường đi:
- Khẩu vị rủi ro / ngưỡng chịu đựng (risk tolerance, risk appetite): mức rủi ro tổ chức sẵn sàng chấp nhận để đạt mục tiêu. Một ngân hàng thường có ngưỡng thấp hơn một cửa hàng nhỏ.
- Ngưỡng rủi ro (risk threshold): điểm mà vượt qua thì phải hành động, chẳng hạn "mọi lỗ hổng nghiêm trọng trên hệ thống ra Internet phải xử lý trong 7 ngày", "mức cao trong 30 ngày".
Các ngưỡng này thường được viết thành thời hạn xử lý theo mức độ (SLA) trong chính sách. Lỗ hổng ưu tiên thấp có thể được chấp nhận có ghi nhận (Bài 70), nhưng quyết định này phải do người có thẩm quyền (thường là chủ sở hữu tài sản hoặc lãnh đạo) đưa ra, không phải đội kỹ thuật tự ý.
🧩 Ví dụ ưu tiên: ba lỗ hổng, ai trước?
| Lỗ hổng | CVSS | Ngữ cảnh | Gợi ý ưu tiên |
|---|---|---|---|
| A: máy chủ web bán hàng, có mã khai thác công khai | 7.5 (Cao) | Ra Internet, giữ dữ liệu khách hàng | Rất cao, xử lý ngay |
| B: máy in nội bộ | 9.1 (Nghiêm trọng) | Trong VLAN riêng, không ra Internet, không dữ liệu | Trung bình, lên lịch xử lý |
| C: ứng dụng nội bộ cũ | 5.3 (Trung bình) | Chứa dữ liệu nhân sự, truy cập được từ mạng nhân viên, chưa có bản vá | Cao vừa, kèm kiểm soát bù |
Bài học: không xếp hạng chỉ theo điểm. Ngữ cảnh làm thay đổi thứ tự.
🎯 Mẹo làm bài: "Báo có lỗ hổng nhưng thực ra không" → false positive. "Báo không có nhưng thực ra có" → false negative (nguy hiểm nhất). "Mã định danh chung cho lỗ hổng" → CVE. "Thang điểm 0 đến 10 về mức nghiêm trọng" → CVSS. "Điểm 9.0 đến 10.0" → Critical (Nghiêm trọng). "Điểm không tính hoàn cảnh riêng" → base score. "Điều chỉnh theo môi trường tổ chức" → environmental. "Có ra Internet không" → mức độ phơi nhiễm (exposure). "Mức rủi ro tổ chức sẵn sàng chịu" → risk tolerance / appetite. "Vượt mức thì phải hành động" → risk threshold. "Biện pháp thay thế chặn khai thác khi chưa vá" → kiểm soát bù.
🧠 Áp vào câu chuyện của Nam
| Vấn đề | Cách làm |
|---|---|
| 400 phát hiện, sợ không kịp | Xác minh, loại dương tính giả, rồi ưu tiên theo nhiều yếu tố |
| Công cụ nhận nhầm phiên bản | Xác minh thủ công, ghi nhận dương tính giả để lần sau bỏ qua |
| Lỗ hổng "Cao" trên máy không ra Internet | Hạ mức cấp bách nếu có phân đoạn và không có dữ liệu nhạy cảm |
| Lỗ hổng "Trung bình" trên web bán hàng | Nâng ưu tiên vì có phơi nhiễm và tài sản quan trọng |
| Không đủ người vá hết | Đặt thời hạn xử lý theo mức độ, ghi ngoại lệ có duyệt |
📖 Thuật ngữ cần nhớ
| Thuật ngữ | Nghĩa |
|---|---|
| True / false positive | Báo có lỗ hổng và đúng / báo có nhưng sai. |
| True / false negative | Báo không có và đúng / báo không có nhưng sai. |
| CVE | Mã định danh chung của lỗ hổng đã công bố. |
| CVSS | Thang điểm 0 đến 10 về mức nghiêm trọng kỹ thuật. |
| Base / temporal / environmental | Chỉ số nền tảng / theo thời gian / theo môi trường. |
| Exploitability | Khả năng bị khai thác trong thực tế. |
| Exposure | Mức độ lộ ra bên ngoài, khả năng bị tiếp cận. |
| Compensating control | Biện pháp thay thế giảm rủi ro khi chưa vá được. |
| Risk tolerance / appetite | Mức rủi ro tổ chức sẵn sàng chấp nhận. |
| Risk threshold | Ngưỡng buộc phải hành động. |
📌 Tóm tắt nhanh
- Trước khi sửa, hãy xác nhận: dương tính giả tốn công; âm tính giả nguy hiểm nhất vì tạo cảm giác an toàn giả.
- CVE là mã định danh; CVSS là điểm 0 đến 10, chia Thấp, Trung bình, Cao, Nghiêm trọng; điểm công bố thường là base score, chưa tính hoàn cảnh bạn.
- Ưu tiên xét nhiều yếu tố: khả năng khai thác, giá trị tài sản, mức độ phơi nhiễm, kiểm soát bù, tác động tổ chức.
- Khẩu vị rủi ro và ngưỡng rủi ro quyết định cái nào phải xử lý ngay, cái nào có thể chấp nhận có ghi nhận.
💬 Hỏi & Đáp nhanh
❓ CVSS 10 có luôn là lỗ hổng phải xử lý đầu tiên không? Thường rất cấp bách, nhưng không tuyệt đối. Nếu hệ thống bị cô lập hoàn toàn và có kiểm soát bù hiệu quả, thứ tự có thể khác. Ngược lại, lỗ hổng điểm thấp hơn có mã khai thác đang lưu hành trên hệ thống quan trọng có thể đáng ưu tiên hơn.
❓ Làm sao biết một phát hiện là dương tính giả? Xác minh thủ công: kiểm tra phiên bản thực tế, thử tái hiện điều kiện, xem kiểm soát khác đã chặn chưa, hoặc dùng công cụ thứ hai. Khi chắc chắn, ghi nhận lý do để lần sau không phải kiểm tra lại.
❓ Tổ chức nhỏ có cần ngưỡng và thời hạn xử lý không? Nên có, dù đơn giản (ví dụ: nghiêm trọng trong 7 ngày, cao trong 30 ngày). Có thời hạn rõ giúp việc vá không bị trì hoãn vô hạn.
📝 Bài tập đánh giá
Tự chọn đáp án cho từng câu, rồi đối chiếu với phần đáp án ở cuối bài.
Câu 1. Công cụ quét báo hệ thống không có lỗ hổng, nhưng thực tế hệ thống có lỗ hổng. Đây là trường hợp nào?
- A. Dương tính thật
- B. Âm tính giả (false negative)
- C. Dương tính giả
- D. Âm tính thật
Câu 2. Điểm CVSS 9.3 thuộc mức nghiêm trọng nào?
- A. Nghiêm trọng (Critical)
- B. Trung bình
- C. Thấp
- D. Không
Câu 3. Hai lỗ hổng có điểm CVSS gần nhau. Yếu tố nào sau đây không thuộc những điều nên xét thêm để ưu tiên?
- A. Có mã khai thác công khai hay không
- B. Hệ thống có ra Internet không
- C. Tài sản chứa dữ liệu quan trọng đến đâu
- D. Màu sơn của vỏ máy chủ
Câu 4. Một lỗ hổng điểm Cao nằm trên máy không có dữ liệu nhạy cảm, đặt trong VLAN riêng không ra Internet. Cách xử lý hợp lý nhất là gì?
- A. Bỏ qua hoàn toàn và không ghi lại
- B. Hạ mức cấp bách so với lỗ hổng tương tự trên hệ thống ra Internet, vẫn xếp lịch xử lý và ghi nhận
- C. Xử lý trước mọi thứ khác vì điểm cao
- D. Tắt công cụ quét
Câu 5. "Mức rủi ro mà tổ chức sẵn sàng chấp nhận để đạt mục tiêu" được gọi là gì?
- A. Dương tính giả
- B. Chỉ số môi trường
- C. Khẩu vị rủi ro (risk tolerance / appetite)
- D. Mã CVE
👉 Đáp án
Câu 1: B — Báo không có nhưng thực ra có lỗ hổng là âm tính giả, nguy hiểm vì tạo cảm giác an toàn giả.
Câu 2: A — Điểm 9.0 đến 10.0 là mức Nghiêm trọng (Critical).
Câu 3: D — Màu sơn không liên quan; cần xét khả năng khai thác, mức phơi nhiễm và giá trị tài sản.
Câu 4: B — Ngữ cảnh (phân đoạn, không dữ liệu nhạy cảm) làm giảm cấp bách, nhưng vẫn cần xếp lịch và ghi nhận.
Câu 5: C — Khẩu vị rủi ro (risk tolerance hoặc appetite) là mức rủi ro tổ chức sẵn sàng chấp nhận.
📚 Bài viết thuộc khóa học CompTIA Security+ của VNExperts
🧭 Điều hướng
| ⬅️ Bài trước | 🏠 Mục lục khóa học | Bài kế tiếp ➡️ |
|---|---|---|
| Bài 68: Quản lý lỗ hổng (1): phát hiện lỗ hổng | Mục lục khóa học CompTIA Security+ | Bài 70: Quản lý lỗ hổng (3): khắc phục và kiểm chứng |