Sandbox là gì? Vai trò và ứng dụng sử dụng Sandbox
Sandbox – một công nghệ giúp bảo vệ máy tính tránh được các nguy cơ bị malware thâm nhập. Hãy cùng Bizfly Cloud tìm hiểu những thông tin cũng như vai trò của ứng dụng sandbox nghĩa là gì ngay tại bài viết này nhé.
Sandbox là gì?
Sandbox là một kỹ thuật quan trọng trong lĩnh vực bảo mật có tác dụng cô lập các ứng dụng, ngăn chặn các phần mềm độc hại để chúng không thể làm hỏng hệ thống máy tính, hay cài các mã độc nhằm ăn cắp thông tin cá nhân của bạn.
Hiện nay, nhiều ứng dụng mà bạn sử dụng hàng ngày đều được áp dụng công nghệ Sandbox, giúp âm thầm bảo chúng ta khỏi nguy các cuộc tấn công bởi kẻ xấu. Ngoài ra, bạn cũng có thể tự tạo ra một môi trường Sandbox của riêng mình nhằm mục đích test, phân tích một phần mềm nào đó khi bạn chưa chắc chắn liệu chúng có làm hại tới máy tính hay không.
Hãy cùng tìm hiểu kĩ hơn về “hộp cát” thần kì trong bài viết sau đây của mình nhé!
Vai trò của Sandbox
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ẽ.
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.
Các trình duyệt phổ biến hiện nay như Google Chrome và Internet Explorer đều chạy trong môi trường Sandbox. Những trình duyệt này chạy trên máy tính nhưng không được phép truy cập vào toàn bộ tài nguyên máy, mà chỉ có thể sử dụng một lượng nhỏ tài nguyên hệ thống mà thôi. Điều này giúp cho trong trường hợp một trang web độc hại tìm ra được lỗ hổng bảo mật và chiếm quyền điều khiển trình duyệt, chúng cũng không thể làmhại tới máy tính của bạn, bởi bản thân trình duyệt lúc này đang bị cô lập với hệ thống nhờ Sandbox.
Đáng tiếc rằng một trình duyệt phổ biến hiện nay là Firefox chưa áp dụng công nghệ bảo mật này.
Những ứng dụng nào đang sử dụng Sandbox?
Hiện nay, rất nhiều ứng dụng ở nhiều nền tảng đã áp dụng Sandbox để bảo vệ người dùng. Cụ thể:
– Các website: Các trình duyệt web bạn sử dụng sẽ cô lập trang web mà nó tải. Website có thể chạy các mã JavaScript, nhưng đoạn mã này không thể làm bất kì điều gì chúng muốn. Nếu JavaScript cố gắng truy cập vào dữ liệu mà bạn lưu trữ trên máy, yêu cầu truy cập này sẽ ngay lập tức bị từ chối.
– Plug-in trình duyệt: Các nội dung mà plug-in của trình duyệt load – như Flash hay Silverlight – cũng được chạy ở môi trường Sandbox. Việc bạn chơi 1 game flash trên web sẽ an toàn hơn so với việc bạn tải game về chạy dưới dạng một ứng dụng thông thường, bởi Flash sẽ cô lập game khỏi hệ thống máy tính cũng như giới hạn quyền truy cập vào hệ thống của game đó. Tuy nhiên, một số plug-in trình duyệt, như Java, thường là mục tiêu của những kẻ tấn công. Chúng tận dụng các lỗ hổng để vượt qua môi trường Sandbox và thực hiện các hành vi phá hoại.
– PDF, Microsoft Office: Trình đọc file PDF là Adobe Reader cũng chạy các file PDF trong môi trường Sandbox, ngăn chặn chúng truy cập vào hệ thống máy tính. Trong khi đó, bộ công cụ văn phòng Office của Microsoft cũng có chế độ Sandbox để ngăn các đoạn macro không an toàn làm hại đến máy tính của bạn.
– Trình duyệt web: Như đã nói trên, các trình duyệt web cũng chạy trong môi trường Sandbox để trong trường hợp kẻ tấn công chiếm được quyền điều khiển trình duyệt, chúng cũng không thể ăn cắp được dữ liệu trong máy.
– Ứng dụng di động: Các HĐH di động hiện nay, gồm iOS, Android, Windows 8, đều chạy ứng dụng trong môi trường Sandbox. Chúng chỉ được phép truy cập vào tài nguyên hệ thống, như dùng GPS để theo dõi vị trí của bạn…, nếu người dùng đồng ý. Ngoài ra, việc từng ứng dụng đều chạy trong môi trường Sandbox riêng sẽ ngăn chặn không cho các ứng dụng này can thiệp vào nhau.
– Ứng dụng Windows: Nếu bạn đang sử dụng các chức năng của User Account Control trên Windows, điều đó cũng có nghĩa là bạn đang áp dụng Sandbox cho việc bảo mật, mặc dù việc áp dụng này chỉ ở cấp độ thấp. Bởi về cơ bản, các chức năng này chỉ là hỏi bạn có cho phép 1 ứng dụng nào đó truy cập vào tập tin hệ thống hay không, mà thôi; và bất kì ứng dụng Windows nào cũng có thể lựa chọn để chạy ngầm và theo dõi toàn bộ thao tác bàn phím của bạn trong khi bạn không hề hay biết.
Một số lỗi hay gặp khi không có Sandbox
Các chương trình không chạy trong Sandbox có thể tàn phá hệ thống của bạn. Dưới đây là một số vấn đề có thể xảy ra khi không có Sandbox:
1. Các chương trình bị crash
Trước đây, CPU phân phối tài nguyên trên cơ sở thứ tự trước sau. Nguyên lý này hoạt động tốt khi máy tính của bạn không phải hoạt động nhiều. Nhưng ngày nay các phương pháp phân bổ tài nguyên phức tạp hơn được sử dụng. CPU bảo vệ giới hạn của các tài nguyên mà chúng đã phân bổ và nếu một chương trình cố gắng truy cập vào một tài nguyên chưa được chỉ định cụ thể cho nó, chương trình đó hoặc các chương trình khác có thể bị crash.
Chạy chương trình trong Sandbox cho phép hệ thống phân bổ trước các tài nguyên như bộ nhớ và dung lượng ổ đĩa trước khi chương trình yêu cầu bất kỳ thứ gì. Điều này đảm bảo rằng các tài nguyên đó luôn sẵn sàng cho chương trình bất cứ khi nào nó cần và cũng đảm bảo rằng không có chương trình nào khác có thể sử dụng các tài nguyên đó.
2. Ứng dụng bị sập do chương trình phụ thuộc được nâng cấp
Mỗi chương trình đều có nhiều phiên bản của chính nó. Rất ít chương trình hoàn hảo về mọi mặt khi ra mắt lần đầu, đó là lý do tại sao chúng ta liên tục phải tuân theo chu kỳ nâng cấp không bao giờ kết thúc. Các thiết bị luôn cho chúng ta biết rằng các bản cập nhật cần được áp dụng hoặc các phiên bản mới của các chương trình đã có sẵn. Điều quan trọng là cho phép các bản cập nhật này diễn ra càng sớm càng tốt vì nhiều bản cập nhật này có liên quan đến các vấn đề về bảo mật hoặc hiệu suất. Việc ngừng nâng cấp thường khiến thiết bị của bạn kém an toàn hơn và chạy ở trạng thái chưa tốt nhất.
Bên dưới các ứng dụng chính mà chúng ta sử dụng và tương tác hàng ngày là một tập hợp các chương trình trợ giúp. Các chương trình này tồn tại để hỗ trợ ứng dụng chính chạy đúng cách. Chúng ta hiếm khi biết đến những chương trình này, những chương trình chính không thể hoạt động nếu không có chúng. Các chương trình trợ giúp này được gọi là chương trình phụ thuộc hay Dependencies theo cách nói của Các nhà phát triển. Cũng giống như bất kỳ chương trình nào khác, các phần phụ thuộc này liên tục cập nhật và thay đổi, do đó mọi thứ có thể trở nên phức tạp.
Nếu một chương trình chính sử dụng một chức năng cụ thể mà phần phụ thuộc cung cấp, nhưng phần phụ thuộc được nâng cấp và đột nhiên không có chức năng đó nữa, thì ứng dụng chính sẽ bị sập. Trong nhiều trường hợp, lỗi của ứng dụng phụ thuộc xảy ra quá bất ngờ khiến ứng dụng chính sẽ bị sập một cách bất thường. Các nhà phát triển có thể không được cảnh báo trước về những thay đổi đối với phần phụ thuộc, vì vậy có thể khó giải thích tình huống như vậy và xử lý nó một cách khéo léo. Các nhà phát triển thường xuyên gặp phải vấn đề này và Sandbox là cách để giải quyết tốt nhất.
3. Nhiễm các chương trình độc hại
Các chương trình độc hại tồn tại thăm dò xung quanh các khu vực của máy tính được gán cho các chương trình khác để xem chúng có thể tìm thấy gì. Trong những năm gần đây, việc phân bổ tài nguyên đã trở nên tốt hơn nên chương trình khó truy cập dữ liệu không nằm trong khu vực được chỉ định cụ thể cho nó, nhưng các kỹ thuật hack vẫn cố gắng đọc vượt quá bộ nhớ được gán cho chương trình có thể hoạt động.
Thủ thuật để kiểm tra thành công dữ liệu (xóa dữ liệu khỏi hệ thống của bạn) luôn dựa vào việc đánh lừa người dùng máy tính cài đặt phần mềm độc hại. Điều này thường được thực hiện với social engineering hoặc phishing và có thể dẫn đến sự xâm phạm đáng kể của một hệ thống nơi mọi tệp đều có thể bị đánh cắp.
Các chương trình Sandbox có thể cung cấp một lớp bảo mật rất chắc chắn chống lại các chương trình độc hại. Khi một chương trình được Sandboxed đúng cách, nó chỉ có thể truy cập vào bộ nhớ và dung lượng ổ đĩa được gán cho nó. Do đó, việc mở các tài liệu nhạy cảm trong Sandbox thường sẽ ngăn chương trình độc hại truy cập chúng vì tài liệu không nằm trong cùng không gian bộ nhớ với chương trình độc hại.
Cách thiết lập Sandbox cho ứng dụng
Thông thường các ứng dụng Windows truyền thống không được thiết lập để mặc định chạy trong môi trường Sandbox. Bởi vậy, nếu bạn muốn test 1 ứng dụng nào đó mà không sợ làm ảnh hưởng tới phần còn lại của hệ thống, bạn có thể áp dụng các phương pháp sau để chạy ứng dụng trong môi trường Sandbox.
– Máy ảo: Các chương trình máy ảo như VirtualBox hay VMware sẽ giúp tạo ra các thiết bị phần cứng ảo và nó sẽ dùng để chạy 1 HĐH. Toàn bộ HĐH mới này được “cô lập” với hệ thống cũ của bạn. Nó không được phép truy cập vào bất kì tài nguyên nào bên ngoài máy ảo. Do vậy, bạn có thể cài phần mềm lên HĐH được ảo hóa này để tiến hành thử nghiệm mà không sợ gây hại cho hệ thống thật của mình. Nhờ đó, bạn có thể thoải mái cài đặt malware để tiến hành phân tích mà không làm ảnh hưởng tới máy tính.
Sandboxie: Sandboxie là một ứng dụng giúp tạo môi trường Sandbox cho các ứng dụng Windows khác. Nó sẽ tạo ra một môi trường ảo và được cô lập để bạn dùng cho việc thử nghiệm các ứng dụng, ngăn chặn các phần mềm này can thiệp vào hệ thống thật.
Kết luận
Nếu bạn là một người dùng thông thường, bạn không cần quá quan tâm tới chi tiết kỹ thuật của Sandbox. Bởi đơn giản Sandbox là công nghệ được thiết kế để chạy ngầm và bạn không phải thực hiện bất kì thao tác gì để tận hưởng những ưu việt mà nó mang lại. Tuy nhiên, bạn cần biết được những loại ứng dụng nào đang áp dụng Sandbox, loại nào không, để đưa ra những giải pháp hợp lý.
Cảm ơn bạn đã theo dõi bài viết!
Nguồn: cuongquach.com
>>> Xem thêm: Microsoft ra mắt tính năng “Windows Sandbox” để chạy máy ảo trong Windows 10