Những điều cần biết về CVE

08:00 | 10/05/2021 | HACKER / MALWARE
Các lỗ hổng và sự phơi nhiễm phổ biến (Common Vulnerabilities and Exposures - CVE) là các lỗ hổng bảo mật được tiết lộ và phơi bày công khai. Bài viết này trình bày lý do CVE trở thành tiêu chuẩn công nghiệp cho định danh các lỗ hổng và phơi nhiễm phổ biến hiện nay.

Định nghĩa CVE

Các lỗ hổng và phơi nhiễm phổ biến là một chương trình được khởi xướng vào năm 1999 bởi MITRE, một tổ chức phi lợi nhuận điều hành các trung tâm nghiên cứu và phát triển do Chính phủ Liên bang tài trợ. Mục đích của chương trình này là phân loại và nhận dạng những lỗ hổng về phần cứng hoặc phần mềm, tập hợp thành 1 hệ thống mở để chuẩn hóa quy trình xác thực các lỗ hổng đã được biết.

CVE sử dụng giao thức tự động hóa nội dung bảo mật (Security Content Automation Protocol - SCAP) để thu thập thông tin về các lỗ hổng bảo mật và phơi nhiễm, lập danh mục về các lỗ hổng theo một số nhận dạng khác nhau.

Sau khi được lập thành tài liệu, MITRE cung cấp cho mỗi lỗ hổng một định danh duy nhất. Sau khi cơ sở dữ liệu về lỗ hổng bảo mật của MITRE công bố lỗ hổng, cơ sở dữ liệu về lỗ hổng bảo mật quốc gia (National Vulnerability Database - NVD) cũng công bố CVE với một phân tích bảo mật tương ứng.

CVE cho phép các tổ chức thiết lập cơ sở để đánh giá mức độ bao phủ của các công cụ bảo mật của họ. Các định danh CVE mà công cụ có thể phát hiện được sẽ cho biết chúng có phù hợp với tổ chức hay không. Ngoài ra, các nhà nghiên cứu cũng có thể sử dụng thông tin CVE để tìm kiếm các dấu hiệu của những lỗ hổng đã biết trong quá trình điều tra.

Định danh một CVE

Mỗi một CVE mới sẽ nhận được một định danh duy nhất theo công thức: “CVE” + Năm + số định danh (lớn hơn hoặc bằng 4 chữ số). Ví dụ CVE2018-8589 là một CVE về lỗ hổng tồn tại trên hệ điều hành Windows, thể hiện đây là lỗ hổng công bố năm 2018 với định danh trên cơ sở dữ liệu của MITRE là 8589.

Hình 1. Công thức để đánh số định danh cho 1 mã CVE

Đối với các trường hợp thông thường thì số định danh sẽ do MITRE cung cấp. Tuy nhiên, ngoài MITRE cũng có những đơn vị khác gọi là các tổ chức đánh số thương mại (phi chính phủ) sẽ tham gia cấp số định danh cho những lỗ hổng trên sản phẩm của họ. Theo thống kê chính xác từ MITRE ngày 04/12/2020 thì con số này là 148 tổ chức đến từ 25 quốc gia trên thế giới. Ngoài ra, Trung tâm Điều phối CERT cũng được chứng nhận để chỉ định số CVE.

Ngoài định danh duy nhất, mỗi bản ghi CVE sẽ chứa ngày mà CVE này được tạo bởi MITRE, theo sau là các trường mô tả và tham chiếu. Nếu lỗ hổng bảo mật không được báo cáo trực tiếp bởi MITRE, trường tham chiếu sẽ bao gồm các đường dẫn đến bài viết hoặc tài liệu nơi lỗ hổng được công bố đầu tiên. Các liên kết khác có thể xuất hiện trong trường này là các trang sản phẩm bị ảnh hưởng bởi CVE.

Cách đăng ký CVE

Để đăng ký một CVE, người báo cáo phải liên hệ với một trong các cơ quan đánh số CVE (CVE Numbering Authorities - CNA) hoặc MITRE. Ngoài ra, người báo cáo cũng có thể đăng một bài cảnh báo lỗ hổng trong danh sách email như Bugtraq, sau đó MITRE sẽ phản hồi vài ngày sau để cung cấp mã CVE.

Thời gian để một CVE mới xuất hiện ở cơ sở dữ liệu của MITRE có thể mất vài ngày đến vài tháng do lượng lỗ hổng được báo cáo đang ngày càng nhiều, dẫn tới nguồn lực của MITRE không đủ để cập nhật kịp thời các lỗ hổng.

Mức độ nghiêm trọng của một CVE

Mỗi CVE nhận được điểm Hệ thống chấm điểm lỗ hổng phổ biến (Common Vulnerability Scoring System - CVSS) từ NVD sẽ cho biết mức độ nghiêm trọng về bảo mật của nó. Xếp hạng mức độ nghiêm trọng bảo mật của NVD giúp các nhà phát triển và nhóm bảo mật xác định được mức độ nghiêm trọng và phạm vi ảnh hưởng của lỗ hổng để phân bổ nguồn lực, khắc phục hậu quả.

Điểm CVSS tuân theo một công thức được tạo thành từ vài chỉ số bảo mật. Các chỉ số liên quan đến việc xác định mức độ nghiêm trọng của một lỗ hổng bao gồm hướng truy cập của nó, độ phức tạp của cuộc tấn công, tính bảo mật của dữ liệu được xử lý bởi hệ thống chứa lỗ hổng, tính toàn vẹn của hệ thống bị khai thác. Hiện tại có hai phiên bản của CVSS đang được sử dụng song song là phiên bản 2.0 và 3.0.

CVSS phiên bản 2.0

CVSS phiên bản 2.0 ra mắt vào năm 2007 và được các nhà cung cấp và doanh nghiệp sử dụng rộng rãi như một ngôn ngữ chung để so sánh các lỗ hổng phần mềm. Với CVSS phiên bản 2.0 thì các lỗ hổng được tính điểm dựa trên tác động tổng thể đối với nền tảng máy chủ. CVSS dựa trên ba nhóm chỉ số: Base, Temporal và Environmental chứa các tập chỉ số để tính toán.

Nhóm chỉ số Base: là các chỉ số về các đặc điểm của lỗ hổng bảo mật mà không đổi theo thời gian và trên các môi trường người dùng. Các chỉ số hướng truy cập, độ phức tạp và xác thực sẽ cho biết cách thức truy cập lỗ hổng bảo mật và liệu có cần thêm điều kiện để khai thác nó hay không? Ba chỉ số khác liên quan đến tác động của lỗ hổng chỉ ra rằng nếu bị khai thác sẽ ảnh hưởng trực tiếp đến tài sản CNTT như thế nào? Trong đó, các tác động được xác định độc lập là mức độ mất tính bảo mật, tính toàn vẹn và tính khả dụng. Ví dụ, một lỗ hổng có thể làm mất một phần tính toàn vẹn và tính khả dụng, nhưng không làm mất tính bảo mật.

Hình 2. Đăng ký định danh CVE qua Bugtraq

Nhóm chỉ số Temporal: là chỉ số về các mối đe dọa do lỗ hổng bảo mật gây ra có thể thay đổi theo thời gian. Ba yếu tố mà CVSS quan tâm là xác nhận các chi tiết kỹ thuật của lỗ hổng, tình trạng khắc phục lỗ hổng và tính khả dụng của mã khai thác. Vì chỉ số Temporal là tùy chọn nên mỗi chỉ số bao gồm một giá trị mà không ảnh hưởng đến điểm số. Giá trị này được sử dụng khi người dùng cảm thấy số liệu cụ thể khác của một chỉ số là không phù hợp nên không muốn sử dụng trong việc tính toán điểm số.

Nhóm chỉ số Environmental: là chỉ số về đặc điểm của lỗ hổng liên quan đến môi trường CNTT của người dùng. Các môi trường khác nhau thì ảnh hưởng của lỗ hổng đối với một tổ chức và các bên liên quan sẽ khác nhau. Cũng như nhóm chỉ số Temporal thì nhóm chỉ số Environmental cũng có giá trị tuỳ chọn không ảnh hưởng đến điểm số.

Mặc dù được áp dụng rộng rãi, phiên bản CVSS 2.0 vẫn có những vấn đề quan trọng cần giải quyết. Các chuyên gia cho rằng việc thiếu chi tiết trong một vài chỉ số dẫn đến kết quả là điểm số CVSS không giúp phân loại được các loại lỗ hổng và rủi ro. Vì vậy sau 5 năm, CVSS phiên bản 3.0 đã ra đời để giúp giải quyết các vấn đề tồn đọng của CVSS 2.0.

CVSS phiên bản 3.0

Phiên bản CVSS 3.0 bắt đầu được phát triển từ năm 2012 và phát hành lần đầu tiên vào tháng 6/2015. Trong phiên bản này, một vài chỉ số đã được thay đổi, thêm mới và xóa bỏ. Các công thức để tính điểm đã được cập nhật để kết hợp các chỉ số mới trong khi vẫn giữ nguyên phạm vi điểm hiện tại là 0-10. Ngoài ra, phiên bản này đã đưa ra chính thức phân loại mức độ nghiêm trọng của lỗ hổng dựa trên điểm số:

  • Không nghiêm trọng (0)
  • Thấp (0,1-3,9)
  • Trung bình (4,0-6,9)
  • Cao (7,0-8,9)
  • Nghiêm trọng (9,0-10,0)

Hình 3. Mức độ nghiêm trọng của lỗ hổng phân theo thang điểm

Phiên bản 3.1 của CVSS phiên bản 3 cũng khẳng định điểm số CVSS của một lỗ hổng chỉ dùng để đánh giá mức độ nghiêm trọng của một lỗ hổng và không phải để sử dụng như một điểm độc lập để đánh giá rủi ro. Điểm này giải quyết việc chuyển đổi từ phiên bản 2.0 sang phiên bản 3.0 đang làm tăng mức độ nghiêm trọng của lỗ hổng, theo thống kê của CISCO dựa trên 748 lỗ hổng có tới 38% đã tăng từ mức Trung bình sang Cao.

Hình 4. So sánh sự thay đổi về mức độ nghiêm trọng giữa hai phiên bản CVSS

Tổng kết

CVE không đơn giản chỉ là một danh sách các lỗ hổng bảo mật thông tin được tiết lộ và phơi bày công khai, mà được thiết kế để cho phép các cơ sở dữ liệu về lỗ hổng và các công cụ khác có thể liên kết được với nhau. Ngoài ra, CVE còn được sử dụng để so sánh giữa các công cụ về an ninh mạng và các dịch vụ bảo mật. Sử dụng hiệu quả CVE sẽ mang lại rất nhiều lợi ích cho các công ty, tổ chức phát triển sản phẩm và dịch vụ, cũng như các tổ chức về an ninh mạng.

Nguyễn Đăng Thứ (Công ty cổ phần chứng khoán SSI)

Tin cùng chuyên mục

Tin mới