Rủi ro bảo mật về tính năng Remote Tunnel Access của Visual Studio Code

Về tính năng Remote Tunnel Access 
Microsoft Visual Studio Code (VSCode) cung cấp chức năng Remote Tunnel Access (RTA) [1]. Tính năng này giúp tạo kết nối an toàn đến máy đích kể cả trong mạng private qua một network tunnel theo cơ chế reverse connection [2].


Architecture

Một kịch bản thường thấy là Starter có một PC cấu hình mạnh đặt tại văn phòng phục vụ nhu cầu code, build app, lab,…, tuy nhiên không thể kết nối trực tiếp đến máy tính này kể cả trong mạng nội bộ VNG do mạng bị cách ly. Tính năng RTA của VSCode giúp tạo một network tunnel cho phép một thiết bị khác như Laptop kết nối đến PC này TỪ BẤT KỲ ĐÂU có kết nối Internet. Một khi được kết nối, người dùng có quyền kiểm soát PC đó từ xa, có thể thực hiện nhiều thao tác như duyệt file, thực thi shell,…. Team Security Monitor nhận thấy tính năng này đã được sử dụng trong mạng nội bộ VNG.

Vấn đề an toàn thông tin 
Mặt trái, tính năng này có thể gây ra nhiều vấn đề bảo mật khi có thể truy cập vào mạng nội bộ VNG từ bất kỳ đâu, từ đó tiếp cận các tài nguyên nội bộ, nhạy cảm của VNG. Gần đây, đã có một số nghiên cứu sử dụng tính năng này để tấn công có chủ đích như dùng làm Reverse Shell, tham khảo [3].


What is Reverse Shell? Meaning and Example

Việc tấn công này rất khó bị phát hiện khi:

  • VSCode là một phần mềm uy tín được sử dụng rộng rãi, được phát hành và ký bởi Microsoft.
  • VSCode có cung cấp bản binary dễ dàng tải về và thực thi mà không cần cài đặt, ít để lại dấu vết trên hệ thống, do đó phù hợp với các yêu cầu khi triển khai malware.
  • Chức năng RTA và thực thi shell qua terminal là một tính năng hợp lệ của phần mềm.

Kết nối của network tunnel được bảo vệ không thể phân tích, đi qua server của Microsoft do đó được cho là an toàn.

Vì vậy, phòng ATTT sẽ phối hợp với đội vận hành hệ thống mạng xem xét có chặn tính năng này trong mạng nội bộ VNG hay không. Trước khi các quyết định được đưa ra và các biện pháp kỹ thuật được áp dụng, anh chị vui lòng tham khảo khuyến nghị sau.

Khuyến nghị 

  • Kiểm tra VSCode có mặt trên trên hệ thống có chủ đích (chủ động cài) hay không. Phòng trường hợp malware tự tải về VSCode sử dụng để thực hiện tấn công.
  • Kiểm tra chức năng RTA có bị bật lên không có chủ đích hay không.
  • Đối với các Starter có nhu cầu sử dụng RTA:
  • Chuyển các máy cần truy cập đến sử dụng mạng VNG Guest hoặc VNG Internet, không sử dụng mạng VNG Corp.
  • Do RTA truy cập qua tài khoản Github, đảm bảo bảo mật cho tài khoản Github bằng mật khẩu mạnh kết hợp OTP và bật cảnh báo đăng nhập. 

  • Hoàn toàn hiểu về rủi ro khi sử dụng và chịu trách nhiệm theo các quy định hiện hành. (Xem thêm Secure Infrastructure Policy—CS-VNG-014 [4]) 

  • Cân nhắc chuyển sang các hệ thống server nội bộ truy cập qua VPN, hệ thống cloud  hoặc dựng server dev,… 

  • Luôn cảnh giác. Bật các phần mềm bảo vệ như Windows Security (mặc định của Windows) hoặc Microsoft Defender [5].

Tài liệu tham khảo 
[1] https://code.visualstudio.com/docs/remote/tunnels

[2] https://en.wikipedia.org/wiki/Reverse_connection

[3] https://badoption.eu/blog/2023/01/31/code_c2.html

[4] https://vngms.sharepoint.com/sites/VNG-ISMS/SitePages/Secure-Network-Policy.aspx

[5] https://my.vng.vn/search?key=defender&type=wiki