Bốn ứng dụng điều khiển máy tính từ xa mã nguồn mở phổ biến VNC đã bị phát hiện chứa tổng cộng 37 lỗ hổng bảo mật. Nhiều lỗ hổng trong số này chưa từng được biết đến trong suốt 20 năm qua. Đáng chú ý, lỗ hổng nghiêm trọng nhất có thể cho phép kẻ tấn công từ xa xâm nhập vào hệ thống mà chúng nhắm tới.
VNC (virtual network computing – điện toán mạng ảo) là một giao thức đồ họa nguồn mở giúp chia sẻ máy tính để bàn dựa trên RFB (Remote FrameBuffer) cho phép người dùng điều khiển từ xa một máy tính khác, tương tự như dịch vụ RDP của Microsoft.
Giao thức VNC
Việc triển khai hệ thống VNC bao gồm “thành phần máy chủ” (server component) chạy trên máy tính chia sẻ màn hình desktop và “thành phần máy khách” (client component) chạy trên máy tính sẽ truy cập vào desktop được chia sẻ.
Nói cách khác, VNC cho phép bạn sử dụng chuột và bàn phím để làm việc trên máy tính từ xa như thể bạn đang ngồi đối diện với nó.
Có rất nhiều ứng dụng VNC (cả bản miễn phí và trả phí) tương thích với các hệ điều hành được sử dụng phổ biến như Linux, macOS, Windows và Android.
Hiện có hơn 600.000 máy chủ VNC có thể truy cập từ xa qua Internet và gần 32% trong số đó được kết nối với các hệ thống tự động hóa công nghiệp. Các nhà nghiên cứu an ninh mạng tại Kaspersky đã kiểm tra bốn ứng dụng mã nguồn mở của VNC, bao gồm:
- LibVNC
- UltraVNC
- TightVNC 1.x
- TurboVNC
Phát hiện 37 lỗ hổng trong các phần mềm VNC
Sau khi phân tích các phần mềm VNC này, các nhà nghiên cứu đã phát hiện tổng cộng 37 lỗ hổng gián đoạn bộ nhớ (memory corruption) mới trong phần mềm máy khách và máy chủ: 22 lỗ hổng trong số đó được phát hiện trong UltraVNC, 10 lỗ hổng trong LibVNC, 4 lỗ hổng trong TightVNC và chỉ có 1 lỗ hổng trong TurboVNC.
Tất cả các lỗi này đều liên quan tới việc sử dụng bộ nhớ không chính xác. Việc khai thác chúng thông thường sẽ chỉ dẫn đến các trục trặc và trạng thái từ chối dịch vụ. Trong những trường hợp nghiêm trọng hơn, những kẻ tấn công có thể truy cập trái phép vào các thông tin trên thiết bị hoặc cài đặt malware vào hệ thống của nạn nhân.
Một số lỗ hổng bảo mật được phát hiện cũng có thể dẫn đến các cuộc tấn công thực thi mã từ xa (RCE). Những kẻ tấn công có thể khai thác các lỗ hổng này để chạy mã tùy ý trên hệ thống mà chúng nhắm tới và giành quyền kiểm soát nó.
Các lỗ hổng chủ yếu ảnh hưởng tới ứng dụng phía máy khách
Vì ứng dụng phía máy khách nhận được nhiều dữ liệu hơn và chứa các thành phần giải mã dữ liệu nơi các nhà phát triển thường mắc lỗi trong khi lập trình, nên hầu hết các lỗ hổng đều ảnh hưởng đến phiên bản phía máy khách của các phần mềm này.
Mặt khác, phía máy chủ chứa một cơ sở mã tương đối nhỏ và hầu như không có chức năng phức tạp nào, chính điều này đã làm giảm khả năng xảy ra lỗi trong bộ nhớ.
Tuy nhiên, các nhà nghiên cứu cũng đã phát hiện ra một số lỗi phía máy chủ có thể bị các hacker khai thác, chẳn hạn như các lỗ hổng tràn bộ đệm stack trong máy chủ TurboVNC cho phép thực hiện mã từ xa trên máy chủ. Dẫu vậy, việc khai thác lỗ hổng này yêu cầu các thông tin xác thực để kết nối với máy chủ VNC hoặc kiểm soát máy khách trước khi kết nối được thiết lập.
Do đó, để bảo vệ thiết bị của mình tránh khỏi các cuộc tấn công khai thác lỗ hổng phía máy chủ, người dùng tuyệt đối không nên kết nối với các máy chủ VNC không đáng tin cậy hoặc chưa được kiểm tra. Đồng thời, các quản trị viên được yêu cầu bảo vệ máy chủ VNC bằng cách thiết lập mật khẩu mạnh và duy nhất. Kaspersky đã báo cáo các lỗ hổng cho các nhà phát triển bị ảnh hưởng.
Tất cả các đơn vị này đều đã phát hành bản vá cho các sản phẩm được hỗ trợ của họ, ngoại trừ TightVNC 1.x không còn được hỗ trợ bởi những nhà phát triển ban đầu. Vì vậy, người dùng được khuyến nghị chuyển sang sử dụng phiên bản TightVNC 2.x.
Thêm bình luận