Sandbox

Sandbox là môi trường thử nghiệm cô lập, cho phép người dùng chạy các chương trình hoặc file thực thi mà không gây hại, làm hỏng các ứng dụng, hệ thống hoặc nền tảng.

Các nhà phát triển sử dụng sandbox để test mã lập trình mới. Chuyên gia an ninh mạng sử dụng sandbox để test các phần mềm độc hại tiềm ẩn. Trong trường hợp nếu không có sandbox, một ứng dụng hoặc process hệ thống khác có thể truy cập không giới hạn vào tất cả dữ liệu người dùng và tài nguyên hệ thống trên mạng.

Ngoài ra sandbox cũng được sử dụng để thực thi mã độc một cách an toàn, tránh gây hại cho các thiết bị đang chạy mã, mạng hoặc các thiết bị được kết nối khác. Việc sử dụng sandbox để phát hiện phần mềm độc hại, tăng cường lớp bảo mật chống lại các mối đe dọa, chẳng hạn như các cuộc tấn công và khai thác lén lút sử dụng lỗ hổng zero-day.

Về cơ bản, Sanbox là một môi trường dùng để chạy phần mềm và môi trường đó được nằm trong sự kiểm soát chặt chẽ. 

Vì các phần mềm độc hại (malware) ngày càng tinh vi hơn, việc theo dõi các hành vi đáng ngờ để phát hiện sự hiện diện của các mối đe dọa này ngày càng trở lên khó khăn. Thậm chí một số virus, phần mềm độc hại gần đây còn sử dụng các kỹ thuật giải mã tiên tiến, có khả năng “ẩn mình”, tránh khỏi sự phát hiện của các phần mềm diệt virus.

Sandbox bảo vệ cơ sở hạ tầng quan trọng của một tổ chức khỏi các mã đáng ngờ bằng cách chạy trong hệ thống riêng biệt, đồng thời cho phép nhà phát triển test các mã độc hại trong môi trường cô lập. Bằng cách này giúp nhà phát triển có thể nắm cách thức hoạt động của virus, mã độc trong hệ thống cũng như phát hiện các cuộc tấn công phần mềm độc hại tương tự nhanh hơn.

Sandbox giúp hạn chế chức năng của một đoạn mã, cấp quyền cho một đoạn mã nào đó chỉ được thực hiện một số chức năng nhất định, từ đó nó không thể thực hiện những can thiệp khác có thể làm nguy hại cho máy tính người dùng.

Ví dụ: Cho vai trò của Sandbox chính là trình duyệt web mà bạn sử dụng hàng ngày. Các trang web mà bạn truy cập đều được chạy trong môi trường Sandbox. Website sẽ bị hạn chế và chỉ được chạy trong trình duyệt cũng như chỉ được can thiệp vào một phần nhỏ trong tài nguyên hệ thống. Chúng không được phép sử dụng webcam cũng như không thể truy cập được vào các dữ liệu trên máy nếu như bạn không cho phép. Nếu như các trang web không bị giới hạn trong môi trường Sandbox này, thì khi bạn lỡ truy cập vào các website chứa mã độc, nguy cơ máy tính của bạn bị tấn công là rất cao.

Về cơ bản, sandbox được sử dụng để kiểm tra các chương trình đáng ngờ, có thể chứa virus hoặc các phần mềm độc hại khác (malware) mà không cho phép phần mềm gây hại cho thiết bị.

Sandbox là một trong những tính năng quan trọng trong môi trường phát triển và ngôn ngữ lập trình Java. Trong đó sandbox là vùng chương trình và tập hợp các quy tắc mà các lập trình viên cần sử dụng khi tạo mã Java (hay còn được gọi là Applet) được gửi như một phần của trang web.

Ngoài các nhà phát triển có thể sử dụng sandbox để phát triển các ứng dụng sử dụng dịch vụ web từ sandbox. Bằng cách này cho phép các nhà phát triển phần mềm và dịch vụ bên thứ 3 có thể xác thực mã trước khi chuyển sang môi trường sản xuất.

API sandbox được thiết kế cho các nhà phát triển và người thử nghiệm API. API này sẽ bắt chước các đặc điểm môi trường sản xuất để tạo các phản hồi mô phỏng API phản ánh hành vi của hệ thống thực.

Sandbox trình duyệt

Sandbox trình duyệt là cách gọi chung các sandbox được áp dụng trên các nền tảng chạy trên trình duyệt để bảo vệ người dùng, cụ thể như:

  • Các website: các trình duyệt web của bạn sẽ cô lập các trang web mà bạn truy cập. Các website sẽ được phép chạy các mã JavaScript, nhưng chúng chỉ được phép sử dụng các dữ liệu mà bạn cho phép. Sandbox sẽ ngăn chặn Javascript nếu chúng truy cập dữ liệu của các bạn trên máy mà không có sự cho phép của bạn.
  • Plug-in trình duyệt: Môi trường sandbox cũng sẽ được chạy trên bất cứ nội dung nào plug-in trình duyệt (Flash hay Silverlight) tải. Sandbox sẽ cô lập chúng, ngăn không cho các ứng dụng chạy trên plug-in này truy cập trái phép vào máy tính.
  • Trình duyệt web: Hầu hết các trình duyệt phổ biến ngày nay đều thược thiết kế chạy trong sandbox của riêng chúng mà người dùng không cần phải thiết lập điều gì. Sandbox trên trình duyệt web sẽ làm tăng tính bảo mật, bảo vệ người dùng khỏi các malware hay các hacker tấn công bạn trên internet.

PDF, Microsoft Office

Trình đọc file PDF là Adobe Reader cũng đã áp dụng sandbox, cho phép chạy các file PDF trong môi trường sandbox, ngăn chặn nguy cơ các file PDF bị cài mã độc tấn công dữ liệu máy tính của bạn. Microsoft Office cũng có trình sandbox của riêng mình, ngăn không cho các đoạn mã độc thâm nhập vào máy tính của bạn.

Ứng dụng Windows

Các ứng dụng Windows truyền thống không được thiết lập mặc định chạy trong sandbox. Tuy nhiên, người ta vẫn dùng các phương pháp sandbox thủ công để thiết lập các ứng dụng chạy trong môi trường sandbox. Nếu bạn muốn thử các ứng dụng nào đó nhưng lại sợ ảnh hưởng đến máy tính của mình, các bạn có thể thử các phương pháp sau để chạy thử ứng dụng trong môi trường sandbox.

Máy ảo

Một trong những Ứng dụng máy ảo nổi tiếng hiện nay là VirtualBox, có thể chạy máy ảo trên cả Windows lẫn macOS hay kể cả Linux. Các chương trình máy ảo sẽ giúp tạo ra một môi trường phần cứng ảo và chạy riêng một hệ điều hành. Hệ điều hành mới này sẽ tách biệt hoàn toàn với máy tính của bạn, tất cả các ứng dụng chạy trong máy ảo sẽ không được phép truy cập vào bất kỳ đâu bên ngoài máy ảo, nhờ vậy sẽ bảo vệ hệ thống thật của bạn trước các phần mềm không đảm bảo.


VirtualBox. (Nguồn: thegioididong.com)

Ứng dụng máy ảo khác cũng nổi tiếng không kém chính là Parallels. Phần mềm này được viết riêng cho macOS và được thiết kế để chạy Windows trên máy ảo. Đây cũng là ứng dụng để người dùng macOS có thể chạy Windows trên MacBook của mình.


Ứng dụng Parallels trên macOS. (Nguồn: thegioididong.com)

Sandboxie

Sandboxie cũng là một ứng dụng tạo môi trường sandbox cho các ứng dụng Windows. Phần mềm này sẽ tạo ra một môi trường ảo để cô lập ứng dụng. Đây có thể là nơi để bạn thử nghiệm các ứng dụng mới nhưng vẫn đảm bảo an toàn cho máy tính của mình.


Giao diện của Sanboxie. (Nguồn: thegioididong.com)

QubesOS

Đây cũng là một ứng dụng tạo môi trường sandbox trên Windows. Điểm đặc biệt của ứng dụng này là nó khởi chạy nhiều hệ điều hành riêng biệt với nhau, cho phép sandbox các ứng dụng riêng lẻ, và các ứng dụng này chạy trong máy ảo của riêng mình thay vì tạo một máy ảo chung cho tất cả ứng dụng như VirtualBox.


Giao diện của QubesOS. (Nguồn: thegioididong.com)