Sandbox di Windows

Sandboxing adalah alat ringan baru di Windows yang memungkinkan Anda menjalankan aplikasi di lingkungan yang aman dan terisolasi.

Pernahkah Anda menemukan diri Anda dalam situasi di mana Anda perlu menjalankan beberapa jenis program, tetapi Anda tidak sepenuhnya yakin tentang sumber asalnya? Atau contoh lain - kebutuhan untuk memeriksa sesuatu pada versi "bersih" Windows. Dalam semua kasus seperti itu, sebelum hanya ada satu jalan keluar - untuk menginstal OS pada mesin fisik atau virtual yang terpisah dan melakukan percobaan yang diperlukan. Tapi ini bukan lagi masalahnya.

Microsoft telah mengembangkan mekanisme baru yang disebut Sandbox (eng. Windows Sandbox). Ini adalah lingkungan sementara yang terisolasi di mana Anda dapat menjalankan perangkat lunak yang mencurigakan tanpa risiko membahayakan PC Anda. Perangkat lunak apa pun yang diinstal di Sandbox tetap hanya di Sandbox dan tidak dapat berinteraksi dengan OS utama. Segera setelah Anda menutup Sandbox, semua isinya dihancurkan.

Berikut adalah fitur utama dari Sandbox:

  • Ini adalah bagian dari OS Windows. Jika Anda memiliki Windows 10 Pro atau Enterprise, maka Anda sudah dapat mulai menggunakannya.
  • Dari batu tulis yang bersih. Setiap kali Anda memulai Sandbox, Anda mendapatkan lingkungan yang sama, bersih, tidak berubah. Tepat seperti apa OS Anda setelah diinstal.
  • Tanpa jejak. Ketika Anda menutup Sandbox, semua aplikasi terpasang di dalamnya, semua file yang dibuat di sana dihancurkan. Mereka menutup Sandbox - tidak ada jejak keberadaannya.
  • Keamanan Ini menggunakan virtualisasi perangkat keras, yang menggunakan hypervisor untuk menjalankan kernel OS yang terpisah dan mengisolasinya dari OS utama Anda
  • Efisiensi Ini menggunakan penjadwal tugas terintegrasi, manajemen memori pintar, GPU virtual.

Persyaratan sistem


  • Windows 10 Pro atau Enterprise, build 18305 atau lebih tinggi
  • Arsitektur AMD64
  • Virtualisasi Diaktifkan BIOS
  • Minimum 4 GB (8 GB disarankan) RAM
  • Ruang disk kosong minimum 1 GB (disarankan SSD)
  • Prosesor dual-core (4 direkomendasikan dengan dukungan hyper-threading)

Mulai cepat


1. Instal Windows 10 Pro atau Enterprise build 18305 atau lebih tinggi

2. Nyalakan virtualisasi:

  • Jika Anda bekerja pada mesin fisik - lakukan di BIOS
  • Jika Anda bekerja di mesin virtual, gunakan perintah PowerShell berikut:

    Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true 

3. Buka (melalui Control Panel) daftar komponen Windows yang diinstal dan aktifkan Sandbox di dalamnya. Klik OK. Jika Anda melihat permintaan untuk menyalakan kembali komputer - konfirmasi.

gambar

4. Luncurkan Sandbox dari menu Start. Izinkan peningkatan hak untuk prosesnya.

5. Salin (melalui clipboard) ke Sandbox biner yang ingin Anda jalankan.

6. Luncurkan biner di Sandbox. Jika ini adalah penginstal, lakukan prosedur instalasi dan jalankan aplikasi yang terinstal.

7. Gunakan aplikasi sebagaimana dimaksud.

8. Setelah selesai - tutup saja Sandbox. Semua kontennya akan dihapus.

9. Opsional - Anda dapat memastikan bahwa tidak ada yang berubah di OS utama Anda.

gambar

Apa yang ada di bawah kap Sandbox


Windows Sandbox dibangun di atas teknologi yang disebut Windows Containers. Kontainer telah dikembangkan (dan telah lama digunakan) untuk bekerja di cloud. Microsoft telah mengambil teknologi yang cukup matang dan teruji dan menyelesaikannya untuk pengguna desktop Windows.

Di antara adaptasi kunci dapat dicatat:

Gambar yang dihasilkan secara dinamis


Kotak pasir itu, meskipun ringan, tetapi masih mesin virtual. Dan, seperti mesin virtual lainnya, ia membutuhkan gambar yang dapat di-boot. Fitur terpenting dari Sandbox adalah Anda tidak perlu mengunduh atau membuat gambar ini dari suatu tempat. Ini akan dibuat dengan cepat, dari file OS Windows Anda saat ini.

Kami selalu ingin mendapatkan lingkungan "bersih" yang sama untuk Sandbox. Tetapi ada masalah: beberapa file sistem mungkin berubah. Solusinya adalah membuat "gambar yang dihasilkan secara dinamis": untuk file yang dimodifikasi, versi aslinya akan dimasukkan di dalamnya, tetapi file yang tidak dapat diubah tidak akan secara fisik disertakan dalam gambar ini. Sebagai gantinya, mereka akan menggunakan tautan ke file nyata di disk. Seperti yang telah ditunjukkan oleh praktik, sebagian besar file dalam gambar adalah tautan tersebut. Hanya sebagian kecil dari mereka (sekitar 100 MB) yang akan dimasukkan dalam gambar sepenuhnya - ini akan menjadi ukurannya. Selain itu, ketika Anda tidak menggunakan Sandbox, file-file ini disimpan dalam bentuk terkompresi dan menempati sekitar 25 MB. Saat Anda memulai Sandbox, mereka ditempatkan ke "gambar dinamis" dengan ukuran sekitar 100 MB.

gambar

Manajemen memori yang cerdas


Manajemen memori Sandbox adalah peningkatan besar lainnya. Hypervisor memungkinkan Anda untuk menjalankan beberapa mesin virtual pada mesin fisik yang sama dan ini, secara umum, bekerja dengan baik di server. Tetapi, tidak seperti server, sumber daya mesin pengguna biasa jauh lebih terbatas. Untuk mencapai tingkat kinerja yang dapat diterima, Microsoft telah mengembangkan mode memori khusus di mana OS utama dan Sandbox dapat menggunakan halaman memori yang sama dalam beberapa kasus.

Faktanya: karena OS utama dan Sandbox menjalankan gambar OS yang sama, sebagian besar file sistem di dalamnya akan sama, yang berarti bahwa tidak masuk akal untuk memuat pustaka yang sama ke memori dua kali. Anda dapat melakukan ini sekali di OS utama, dan ketika file yang sama diperlukan di memori Sandbox, Anda dapat memberikannya tautan ke halaman yang sama. Tentu saja, beberapa langkah tambahan diperlukan untuk memastikan keamanan dari pendekatan ini, tetapi Microsoft telah mengatasinya.

gambar

Perencana terintegrasi


Dalam hal menggunakan mesin virtual konvensional, hypervisor mengontrol pengoperasian prosesor virtual yang berjalan di dalamnya. Sebuah teknologi baru dikembangkan untuk Sandbox, yang disebut "penjadwal terintegrasi", yang memungkinkan OS utama untuk memutuskan kapan dan berapa banyak sumber daya yang dialokasikan ke Sandbox. Ia bekerja seperti ini: prosesor Sandbox virtual bekerja seperti utas di dalam proses Sandbox. Akibatnya, mereka memiliki "hak" yang sama dengan utas lainnya di OS utama Anda. Jika, misalnya, beberapa utas prioritas tinggi berfungsi untuk Anda, maka Sandbox tidak akan membutuhkan banyak waktu untuk menyelesaikan tugasnya, yang memiliki prioritas normal. Ini akan memungkinkan Anda untuk menggunakan Sandbox tanpa memperlambat pengoperasian aplikasi penting dan mempertahankan responsif yang memadai dari UI OS utama, serupa dengan cara kerja Linux KVM .

Tugas utama adalah membuat Sandbox, di satu sisi, hanya aplikasi biasa, dan di sisi lain, untuk menjamin isolasi di tingkat mesin virtual klasik.

Menggunakan Snapshots


Seperti disebutkan di atas, Sandbox menggunakan hypervisor. Kami pada dasarnya menjalankan satu salinan Windows di dalam yang lain. Dan ini berarti perlu waktu untuk memuatnya. Kami dapat menghabiskannya setiap kali Anda memulai Sandbox, atau melakukannya hanya sekali, setelah menyimpan setelah memuat semua keadaan OS virtual (file yang diubah, memori, register prosesor) pada disk. Setelah itu, kita akan dapat meluncurkan Sandbox dari gambar ini, menyimpan pada saat yang sama waktu mulainya.

Virtualisasi Grafik


Virtualisasi grafis berbasis perangkat keras adalah kunci untuk antarmuka pengguna yang halus dan cepat, terutama untuk "berat" dalam hal aplikasi grafis. Namun, mesin virtual klasik pada awalnya terbatas dalam kemampuan mereka untuk secara langsung menggunakan semua sumber daya GPU. Dan di sini peran penting dimainkan oleh alat virtualisasi grafik yang memungkinkan mengatasi masalah ini dan dalam beberapa bentuk menggunakan akselerasi perangkat keras dalam lingkungan virtual. Contoh dari teknologi seperti itu bisa, misalnya, Microsoft RemoteFX .

Selain itu, Microsoft bekerja secara aktif dengan produsen sistem grafis dan driver untuk mengintegrasikan kemampuan virtualisasi grafis langsung ke DirectX dan WDDM (model driver di Windows).

Hasilnya, grafik di Sandbox berfungsi sebagai berikut:

  • Aplikasi di Sandbox menggunakan fungsi grafis dengan cara biasa, tidak tahu siapa dan bagaimana akan melakukannya
  • Subsistem grafis Sandbox, setelah menerima perintah rendering grafik, mentransfernya ke OS utama
  • OS utama, setelah menerima perintah rendering grafik, melihatnya seolah-olah berasal dari aplikasi yang diluncurkan secara lokal dan karenanya mengeksekusi, mengalokasikan dan mengelola sumber daya yang diperlukan.

Proses ini dapat direpresentasikan sebagai berikut:

gambar

Hal ini memungkinkan lingkungan virtual untuk mendapatkan akses penuh ke grafik akselerasi perangkat keras, yang memberikan peningkatan kinerja dan beberapa sumber daya (misalnya, daya baterai untuk laptop), karena fakta bahwa perhitungan berat pada CPU tidak lagi digunakan untuk rendering grafik.

Penggunaan baterai


Kotak pasir memiliki akses ke informasi tentang pengisian daya baterai dan dapat mengoptimalkan fungsinya untuk menghematnya.

Ulasan dan laporan bug


Mungkin ada bug dalam teknologi baru apa pun. Microsoft meminta untuk mengirim pesan tentang mereka dan saran fitur baru melalui Feedback Hub .

Source: https://habr.com/ru/post/id433706/


All Articles