Tìm hiểu về Sandbox: “Hộp cát” bảo vệ an toàn cho máy tính của bạn
Sandbox là một kỹ thuật rất quan trọng trong bảo mật giúp hạn chế việc truy cập vào tài nguyên hệ thống của các ứng dụng ngoài.
Khi đọc các bài viết liên quan tới bảo mật máy tính, hẳn bạn đã từng được nghe nói tới 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. Vậy Sandboxlà 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ắm 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à chúng ta sử dụng thường ngày đều được áp dụng công nghệ Sandbox, giúp âm thầm bảo vệ bạn khỏi các nguy cơ bị kẻ xấu tấn công. Bên cạnh đó, bạn cũng có thể tự mình tạo ra một môi trường Sandbox của riêng mình để test, phân tích một phần mềm nào đó khi mà bạn chưa chắc chắn liệu chúng có làm hại máy tính của mình hay không.
Vai trò của Sandbox
Một Sandbox về cơ bản 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.
Một 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àm phương hạ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ể như sau:
- 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.
Video đang HOT
- 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.
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.
Tạm kết
Nếu bạn là một người dùng thông thường, có lẽ bạn cũng 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ý.
Theo VNE
Vì sao nên có Firefox 64-bit cho Windows?
Mới đây, Mozilla - hãng phát triển trình duyệt Firefox nổi tiếng, đã đưa ra 1 quyết định gây khá nhiều "bất bình" trong cộng đồng người dùng trình duyệt này. Họ cho biết sẽ ngừng phát triển bản Build Nightly của Firefox cho người dùng Windows 64-bit. Riêng với Linux và Mac OS X vì còn hợp đồng nên vẫn tiếp tục được cung cấp phiên bản 64-bit chính thức.
Build Nightly của Firefox cho người dùng Windows 64-bit là gì? Nếu bạn đang dùng Firefox trên Windows, thì thực ra phiên bản mainstream, ổn định, mà chúng ta thường tải về từ trang chủ của Mozilla là bản Firefox 32-bit, mặc cho Windows bạn đang cài trên máy là Windows 32-bit hay 64-bit đi chăng nữa. Trong quá trình phát triển 1 phiên bản Firefox mới thì Mozilla chia ra làm nhiều gói Build khác nhau, và Build Nightly chính là 1 trong các bản Build đó, và nó được Moziila phát triển ra 2 phiên bản: 32-bit và 64-bit.
Nhiều lý do cho quyết định này được Mozilla đưa ra như: nhiều plugin không hỗ trợ phiên bản 64-bit, hệ thống báo cáo và giám sát lỗi của Mozilla không phân rõ giữa 32 và 64 bit, các lỗi trên bản 64-bit không được sửa vì phiên bản đó không được ưu tiên, và JavaScript thực thi chậm hơn trên bản 32-bit. Hơn nữa, các lập trình viên của Mozilla đã nói rằng họ sẽ không sửa những lỗi chỉ hiện hữu trên bản 64-bit. Họ cũng đã tuyên bố rằng phiên bản đầy đủ của Firefox 64-bit sẽ không được tung ra vào nửa đầu 2013 và có lẽ nó cũng sẽ chẳng được bao giờ tung ra!
Tuy nhiên, đây quả là một quyết định đáng tiếc của Mozilla. Bởi xét trên nhiều phương diện thì các trình duyệt 64-bit rõ ràng "ăn đứt" bản 32-bit. Những phương diện đó là gì?
Bảo mật
Đầu tiên chúng ta phải nói tới yếu tố liên quan tới việc bảo mật. Các lỗ hổng bảo mật trên các trình duyệt web hiện nay là một vấn đề nhức nhối. Bởi thế, cả nhà cung cấp HĐH máy tính lẫn nhà phát triển trình duyệt đều phải áp dụng các công nghệ tiên tiến nhằm làm giảm các nguy cơ trình duyệt hay PC của người dùng bị hacker tấn công. Một trong những công nghệ phổ biến hiện nay chính là cho trình duyệt chạy trong môi trường sandbox để làm giảm nguy cơ các phần mềm độc hại ghi thông tin lên ổ cứng người dùng: khi một ứng dụng được khởi chạy, Sandbox sẽ tạo một "tường rào" xung quanh để cách li ứng dụng với phần còn lại của hệ thống.
Hay một phương pháp khác có tên ASLR - Address Space Layout Randomization (phân phối không gian địa chỉ ngẫu nhiên). Đây là công nghệ di chuyển các thư viện liên kết động DLL và bộ nhớ ứng dụng vào những vùng bộ nhớ ngẫu nhiên, khiến cho việc tấn công từ bên ngoài của hacker trở nên khó khăn hơn. Trên Windows 8 cũng có 1 tính năng bảo mật là High Entropy ASLR về bản chất cũng chính là việc phân phối ngẫu nhiên này.
Mozilla nên tiếp tục phát triển "cáo lửa" 64-bit.
Từ đây, vấn đề với Windows 32-bit, hay Firefox 32-bit đã dần lộ ra. Mỗi tiến trình 32-bit có thể truy cập 2 mũ 32 bytes bộ nhớ (tương đương 4GB) còn tiến trình 64-bit có thể truy cập đến 2 mũ 64 bytes bộ nhớ (tham khảo thêm: khác biệt giữa Windows 32-bit và Windows 64-bit). Trong số 4GB bộ nhớ mà bộ xử lý 32-bit có thể nhận được, hệ thống chiếm khoảng 2GB hoặc 1GB nên các ứng dụng chỉ còn 2GB đến 3GB để dùng. Bởi thế, khi áp dụng công nghệ ASLR, số vùng ngẫu nhiên để thực hiện các di chuyển trên là không có nhiều. Các thư viện liên kết động vẫn phải cần được đóng gói cạnh nhau để đảm bảo có đủ bộ nhớ cho ứng dụng lưu trữ dữ liệu.
Trên Windows 64-bit, vấn đề này đã được giải quyết. Với 18 "tỉ tỉ" GB bộ nhớ, ta có được vô vàn vùng không gian địa chỉ để phân tán các thư viện liên kết động đến những nơi không dễ dàng tìm ra.
Với các ứng dụng khác, công nghệ bảo mật ASLR hay điện toán 64-bit có lẽ không có nhiều ý nghĩa quá lớn. Tuy nhiên, với trình duyệt thì lại là 1 câu chuyện khác. Trình duyệt là ứng dụng rất dễ bị malware tấn công do chúng được sử dụng thường xuyên để kết nối với tài nguyên mạng vốn rất có ích nhưng cũng có rất nhiều nguy cơ bị tấn công. Các trình duyệt web cần được trang bị các công nghệ bảo mật tốt như ASLR, và với việc Mozilla bỏ rơi phiên bản 64-bit, Firefox sẽ không thể tận dụng các tính năng bảo mật tiên tiến đã nói ở trên.
Ổn định
Firefox hiện tại đã trở nên quá khổ đối với không gian bộ nhớ 32-bit. Bởi ngoại trừ các plugin, tất cả mọi thứ Firefox làm đều chạy trong cùng một tiến trình: tất cả các tab, các cửa sổ bạn mở, tất cả các hình ảnh, đoạn mã, download đều cùng chia sẻ 4GB bộ nhớ. Khi bạn mở quá nhiều tab hay khi load những trang có cấu trúc cùng những đoạn mã phức tạp, hoặc chỉ vì một số lỗi của chính Firefox sẽ dẫn đến trường hợp bộ nhớ được cấp phát nhưng không được giải phóng ngay cả khi không còn dùng đến. Một khi đã đạt đến giới hạn, Firefox sẽ chậm dần, chậm dần vì nó phải hoạt động nhiều hơn để có thể có được nhiều vùng nhớ hơn và cuối cùng, như thường lệ - trình duyệt bị crash! Trong khi đó, Firefox 64-bit với ưu điểm là có nhiều vùng nhớ hơn nên sẽ chẳng bao giờ rơi vào tình trạng thiếu hụt bộ nhớ.
Kể từ phiên bản 13, các nhà phát triển Firefox đã có một số hướng để cải thiện lỗi trên như tính năng load trang theo yêu cầu: khi người dùng khởi động lại trình duyệt (với 1 loạt thẻ đã mở trước đó), Firefox sẽ chỉ load các trang mà người sử dụng click đến. Điều này giúp tiết kiệm bộ nhớ nhưng chỉ là một giải pháp tạm thời bởi khi người dùng cần mở nhiều website cùng 1 lúc, mọi thứ lại trở về với vấn đề cũ.
Tất nhiên, giải quyết vấn đề bộ nhớ không có nghĩa là Mozilla phải bắt buộc phát triển phiên bản 64-bit, hay nói cách khác đây không phải là giải pháp duy nhất. Mozilla có thể học tập Google khi làm Chrome. Chrome cho Windows cũng chỉ có phiên bản 32-bit (mặc dù dù có thể Google đang nỗ lực phát triển một bản 64-bit riêng), nhưng trên Chrome, mỗi tiến trình được phân thành từng tab riêng, sức ép bộ nhớ là không nhiều như trên Firefox, bởi thay vì nhồi chung tất cả vào sử dụng 4 GB bộ nhớ, các thẻ trên Chrome có 4 GB bộ nhớ cho riêng mình. Tuy nhiên, phát triển phiên bản 64-bit vẫn là điều mà Mozilla nên làm bởi nó vừa khắc phục được vấn đề bộ nhớ, vừa tận dụng được các tính năng bảo mật tiên tiến đã nói ở trên.
Kết
Trong khi phiên bản 64-bit có rất nhiều lợi ích như vậy, thì các lý do mà Mozilla đưa ra cho việc từ bỏ của mình lại có vẻ như không hợp lý cho lắm. Bởi nhiều nhà phát triển vẫn có cách để phân biệt các crash giữa bản 32-bit và bản 64-bit và không có lý gì Mozilla không làm được điều này. Số plugin hỗ trợ cũng không hẳn không có cách giải quyết. Hãy nhìn sang Opera. Giống như Firefox, Opera cũng dùng chung 1 tiến trình cho tất cả các thẻ web (thay vì mỗi tab 1 tiến trình như Chrome) và cũng chạy các plugin trên các tiến trình riêng biệt. Tuy nhiên, họ có cách cho phép các plugin 32-bit chạy được trên phiên bản 64-bit. Và rõ ràng nếu muốn, Mozilla cũng có thể áp dụng công nghệ tương tự như của Opera.
Mozilla đã, đang và sẽ tiếp tục duy trì bản Firefox 64-bit trên Mac OS X và Linux tuy nhiên lại bỏ rơi một lượng rất lớn người dùng sử dụng Windows. Tính đến tháng 11 năm 2011, tính riêng số lượng người dùng Firefox 64-bit trên Windows 7 đã lớn hơn tổng số người dùng Firefox trên Mac OS X và Linux gộp lại. Số lượng người dùng bản build Nightly 64-bit cũng đông hơn số người dùng bản 32-bit. Chính vì thế, Mozilla nên tiếp tục duy trì phiên bản 64-bit của Firefox cũng như đưa nó trở thành phiên bản ưu tiên. Firefox vẫn còn rất nhiều người dùng và rõ ràng họ xứng đáng để tiếp tục được sử dụng phiên bản 64-bit với sự an tâm về độ bảo mật cũng như tính ổn định.
Theo Genk
Chuyện về chàng hacker chuyên "tấn công" iPhone, iPad Nicholas Allegra - một chàng trai 20 tuổi sống cùng bố mẹ ở Chappaqua, NewYork. Anh chàng cao ráo, tóc xù và luôn đeo một cặp kính đã tốt nghiệp đại học Brown University từ mùa đông năm ngoái và đang tìm kiếm một cơ hội thực tập tại một công ty lớn. Cũng trong thời điểm đó, cậu thường dành thời gian...