Phát hiện lỗi và lỗ hổng phần mềm năm 2024

Khi một lỗ hổng bảo mật mới được công bố, các tổ chức, doanh nghiệp thường gặp khó khăn trong việc phát hiện và khắc phục chúng. Theo thống kê, năm 2018 và 2019 lần lượt phát hiện 16556 và 12174 lỗ hổng CVE mới. Trung bình một ngày có khoảng 33 lỗ hổng được công bố. Ngoài ra, còn rất nhiều lỗ hổng zero day chưa được phát hiện.

Phát hiện lỗi và lỗ hổng phần mềm năm 2024

Trong thời gian vừa qua, Cục An toàn thông tin cũng nhiều lần cảnh báo về các lỗ hổng bảo mật nguy hiểm. Cụ thể như lỗ hổng trong Microsoft Exchange (CVE-2021-26855, CVE-2021-26857, CVE-2021-26858, CVE-2021-27065), trong Domain Controller (ZeroLogon), trong Microsoft Sharepoint (CVE-2019-0604). Các lỗ hổng bảo mật nói trên đều đặc biệt nguy hiểm bởi chúng đều tồn tại trong máy chủ.

Mặc dù Microsoft đã đưa ra bản vá nhưng nhiều khách hàng vẫn chưa cập nhật. Theo các chuyên gia, nguyên nhân của sự chậm trễ này đến từ sự phức tạp của hệ thống mạng và tâm lý lo lắng của người dùng. Vậy, trong trường hợp được cảnh báo lỗ hổng mới, các doanh nghiệp cần làm gì để phát hiện và xử lý?

Có 2 cách để biết lỗ hổng có tồn tại trên hệ thống hay không:

  • Remote Check: phát hiện lỗ hổng từ xa qua giao thức mạng
  • Local Check: phát hiện lỗ hổng trực tiếp trên máy

1.1. Phát hiện lỗ hổng qua phương pháp Remote Check

Remote Check là phương pháp phát hiện lỗ hổng từ xa qua các giao thức mạng. Thông thường, các doanh nghiệp sẽ sử dụng công cụ để rà quét lỗ hổng. Có thể kể tên một số công cụ mất phí như Nessus, Nexpose, Acunetix, Securitybox 4Network, Securitybox 4Website, Netsparker… Một số công cụ miễn phí thường được sử dụng như Nmap, Openvas, Nikto…

Do bản chất của Remote Check là phát hiện lỗ hổng từ xa nên phương pháp này có những ưu, nhược điểm như sau:

  • Ưu điểm: Phát hiện nhanh, đơn giản. Có thể quét nhiều mục tiêu cùng lúc, không ảnh hưởng nhiều đến dịch vụ đang chạy.
  • Nhược điểm: Nhiều lỗ hổng không thể phát hiện bằng Remote Check. Khi sử dụng Remote Check sẽ có tỷ lệ “false positives”, còn gọi là “dương tính giả” nhất định. Để độ chính xác cao hơn thì doanh nghiệp nên sử dụng công cụ trả phí.

Nguyên nhân của “false positives” hay “dương tính giả” là gì?

Tỷ lệ false positives phụ thuộc vào lỗ hổng và cách phát hiện lỗ hổng của plugin. Tỷ lệ này được gọi là “Quality of Detection (QoD)” hay “Chất lượng phát hiện”. Chất lượng được xác định từ 0-100%, mô tả độ tin cậy của phát hiện lỗ hổng.

  • QoD = 100% – Việc phát hiện xảy ra bằng cách khai thác, kiểm thử xâm nhập thành công vào thiết bị thông qua lỗ hổng đó.
  • QoD > 95% – Gửi mã phát hiện (code execution, traversal attack, SQL injection…) rồi nhận các mã phản hồi cho thấy sự hiện diện có thể xảy ra của ứng dụng hoặc lỗ hổng dễ bị tấn công. “Có thể” có nghĩa là chỉ những trường hợp hiếm hoi mới có thể phát hiện sai.
  • QoD > 80% – Kiểm tra thông qua banner của giao thức, ứng dụng. Các banner này thường chứa version.
  • QoD > 70% – Kiểm tra thông qua banner của giao thức, ứng dụng. Các banner này thường chứa thông tin param, header, hàm thực thi, dấu hiệu khác…

Có thể thấy, một plugin phát hiện qua banner thường có tỷ lệ dương tính giả (false positives) khá cao. Ngoài ra, có một nguyên nhận nữa là version trên banner có thể sai khác với version thực tế của giao thức, ứng dụng sau nhất là sau khi cập nhật, nâng cấp.

1.2. Phát hiện lỗ hổng qua phương pháp Local Check

Local Check là phương pháp phát hiện lỗ hổng bằng cách trực tiếp check lỗ hổng trên thiết bị và mã nguồn ứng dụng. Thông qua kiểm tra, đọc thư viện (binary) như file exe, dll.., doanh nghiệp sẽ phát hiện ra phiên bản có chứa lỗ hổng. Thông thường, doanh nghiệp sẽ thực hiện thủ công hoặc sử dụng công cụ hỗ trợ.

Do bản chất của Local Check là phát hiện lỗ hổng trực tiếp nên phương pháp này có những ưu, nhược điểm như sau:

  • Ưu điểm: Phát hiện nhanh, chính xác. Doanh nghiệp có thể phát hiện ra nhiều lỗ hổng không thể phát hiện bằng Remote Check. Nhiều công cụ miễn phí.
  • Nhược điểm: Mất nhiều thời gian. Không kiểm tra liên tục và nhiều mục tiêu cùng một lúc.

1.2.1. Kiểm tra thủ công

Sau khi một lỗ hổng mới được công bố hoặc được một đơn vị chuyên trách cảnh báo, việc đầu tiên doanh nghiệp cần làm là xác định xem đơn vị mình có dùng hệ thống, phần mềm đó không. Nếu có sử dụng, doanh nghiệp cần làm theo các bước dưới đây:

Bước 1: Xác định thông tin lỗ hổng, nhà sản xuất, bản vá

Bạn có thể google search tên lỗ hổng, cách khắc phục, cách phát hiện và làm theo hướng dẫn. Nếu hướng dẫn không có sẵn, bạn cần truy cập vào website nhà sản xuất có thông tin lỗ hổng đó và tìm kiếm các thông tin sau:

  • Version bị lỗi, version mới nhất, version bản vá
  • Thời gian bản vá được cập nhật
  • Cách cập nhật nếu có
    Phát hiện lỗi và lỗ hổng phần mềm năm 2024
    Các phiên bản của Exchange Server 2019
    Phát hiện lỗi và lỗ hổng phần mềm năm 2024
    Bản vá của lỗ hổng Microsoft Exchange

Link tham chiếu:

  • https://docs.microsoft.com/en-us/exchange/new-features/build-numbers-and-release-dates?view=exchserver-2019
  • https://support.microsoft.com/en-us/topic/description-of-the-security-update-for-microsoft-exchange-server-2019-and-2016-december-8-2020-3bd0da3a-f829-1dbe-ff2c-ba0d271c5895
Bước 2: Kiểm tra phiên bản của hệ điều hành, ứng dụng

Việc kiểm tra thực hiện bằng cách check version của thiết bị, ứng dụng, hệ điều hành.

Đối với hệ điều hành Linux kiểm tra, tìm trong các thư mục bin hoặc đường dẫn mặc định khi cài. Nếu gói cài qua repository thì có thể tìm thông tin phiên bản qua rpm, apt,… Phiên bản hệ điều hành thì đọc file /etc/os-release.

Phát hiện lỗi và lỗ hổng phần mềm năm 2024
Phiên bản HĐH Ubuntu

Đối với hệ điều hành Windows, kiểm tra phiên bản hệ điều hành bằng cách kiểm tra lịch sử cập nhật. Với ứng dụng kiểm tra trong registry hoặc thư mục cài đặt

Kiểm tra bằng registry được thực hiện như sau:

  1. Mở Registry Editor
  2. Với x64 mở theo đường dẫn Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall
  3. Với x86 mở theo đường dẫn Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
  4. Tìm kiếm ứng dụng, kiểm tra version
    Phát hiện lỗi và lỗ hổng phần mềm năm 2024
    Kiểm tra phiên bản phần mềm bằng registry

Ngoài ra, doanh nghiệp có thể kiểm tra trong thư mục cài đặt: C:\Program Files (x86), C:\Program Files

Phát hiện lỗi và lỗ hổng phần mềm năm 2024
Thư mục cài đặt
Phát hiện lỗi và lỗ hổng phần mềm năm 2024
Kiểm tra phiên bản phần mềm bằng file cài đặt
Phát hiện lỗi và lỗ hổng phần mềm năm 2024
Kiểm tra phiên bản hệ điều hành bằng windows update

Bước 3. Xác nhận lỗ hổng có tồn tại

Nếu phiên bản hiện tại nhỏ hơn phiên bản vá lỗi thì doanh nghiệp có thể xác nhận sự tồn tại của lỗ hổng. Khi thấy thời gian cập nhật lần cuối nhỏ hơn thời gian phát hành phiên bản vá lỗi thì cũng đồng nghĩa với việc lỗ hổng đó có tồn tại.

1.2.2. Kiểm tra Local Check bằng phần mềm, công cụ hỗ trợ

Có nhiều phần mềm hỗ trợ kiểm tra lỗ hổng của máy tính, hệ điều hành, ví dụ như:

  • Microsoft Baseline Security Analyzer – Phần mềm miễn phí của Microsoft
  • Antivirus có tích hợp rà quét lỗ hổng
  • FortiClient Endpoint Management Server (EMS)
  • Công cụ kiểm tra có tích hợp đăng nhập từ xa – Securitybox 4Network, Nessus,…
    Phát hiện lỗi và lỗ hổng phần mềm năm 2024
    Kiểm tra bằng phần mềm Microsoft Baseline Security Analyzer
    Phát hiện lỗi và lỗ hổng phần mềm năm 2024
    Kiểm tra sử dụng đăng nhập qua phần mềm Security Box 4Network

Với ưu điểm nhanh, độ chính xác cao, đây là sự lựa chọn tối ưu cho doanh nghiệp.

2. Cách vá, khắc phục lỗ hổng bảo mật

Việc khắc phục lỗ hổng luôn là vấn đề đối với mọi doanh nghiệp. Sau nhiều năm làm trong ngành an toàn thông tin, Securitybox đã đúc kết được một số nguyên tắc sau:

  • Cách tối ưu, hiệu quả, triệt để nhất là cập nhật phần mềm, bản vá theo hướng dẫn nhà sản xuất. Các cách khác chỉ nên được sử dụng khi không có bản vá hoặc chúng ảnh hưởng nghiêm trọng đến hoạt động của hệ thống.
  • Nên có kế hoạch khắc phục, có ưu tiên để đảm bảo hoạt động của toàn hệ thống.

Để cập nhật phần mềm, doanh nghiệp cần vào website của nhà sản xuất và theo dõi bản cập nhật. Việc cập nhật được thực hiện bằng cách update tự động hoặc tải cài đặt thủ công bản vá.

Đối với trường hợp nhà sản xuất không hỗ trợ bản vá lỗ hổng hoặc việc cập nhật ảnh hưởng đến hoạt động, doanh nghiệp có thể làm theo một số cách sau:

  • Phần mềm, giao thức có mở port (smb, ssh,..) kết nối thì cần đóng port lại nếu không cần thiết.
  • Với port không thể đóng thì cần thiết lập firewall chỉ có một số IP, mạng được phép truy cập.
  • Cài đặt antivirus có thêm chức năng chặn tấn công mạng.
  • Ghi log, tạo backup phòng có sự cố xảy ra.

Doanh nghiệp cũng cần có kế hoạch ghi lại lịch sử khắc phục khi khắc phục lỗ hổng. Việc lập kế hoạch cũng cần đảm bảo những yếu tố sau:

  • Ưu tiên lỗ hổng mà có dịch vụ public: website, email server…
  • Thời gian đảm bảo không ảnh hưởng đến người dùng.
  • Có kế hoạch dự phòng, backup dữ liệu.
  • Nên bình tĩnh khắc phục, ko nên nóng vội.

Với kinh nghiệm của mình, Securitybox đã phát triển quy trình khắc phục tối ưu trên thiết bị Securitybox 4Network và Securitybox 4Website.

Phát hiện lỗi và lỗ hổng phần mềm năm 2024
Quy trình khắc phục lỗ hổng trên thiết bị Securitybox 4Network

3. Kiểm tra, xác nhận lỗ hổng đã được khắc phục hay chưa

Sau khi đã khắc phục lỗ hổng trên, doanh nghiệp cần kiểm tra lại xem hệ thống đã khắc phục hay chưa. Doanh nghiệp có thể kiểm tra giống như cách phát hiện lỗ hổng hoặc sử dụng chức năng quét lại trên Securitybox 4Network và Securitybox 4Website.

Phát hiện lỗi và lỗ hổng phần mềm năm 2024
Chức năng quét lại trong tác vụ khắc phục

Nếu quét lại hoặc lần quét Remote Check tiếp theo vẫn tồn tại lỗ hổng, doanh nghiệp cần kiểm tra bằng Local Check. Việc quét lại mà vẫn tồn tại lỗ hổng và Local Check không còn tồn tại, doanh nghiệp có thể xác nhận lỗ hổng đấy là false positives. Nguyên nhân có thể là do sau khi cập nhật thành công nhưng việc thay đổi banner trên ứng dụng chưa thay đổi hoặc chưa chạy lại ứng dụng. Việc này không quá đáng ngại, doanh nghiệp có thể dùng chức năng bỏ qua lỗ hổng trên thiết bị đó ở lần quét tiếp theo. Bạn có thể chọn phạm vi bỏ qua nếu cần thiết.

Phát hiện lỗi và lỗ hổng phần mềm năm 2024
Bỏ qua lỗ hổng nếu được xác định là false positives

SecurityBox là thiết bị rà quét và phát hiện lỗ hổng bảo mật đang tồn tại trên hệ thống. Sau khi gửi cảnh báo dấu hiệu bất thường đến quản trị viên, SecurityBox sẽ đề xuất cách khắc phục phù hợp để đảm bảo an ninh hệ thống. Nếu muốn hiểu thêm về thiết bị SecurityBox; doanh nghiệp hãy để lại thông tin tại form bên dưới để nhận tư vấn miễn phí.