Nggunakake QubesOS kanggo nggarap Windows 7

Ora ana akeh artikel babagan Habré sing dikhususake kanggo sistem operasi Qubes, lan sing dakdeleng ora nggambarake akeh pengalaman nggunakake. Ing ngisor potong, aku ngarep-arep bisa mbenerake iki nggunakake conto nggunakake Qubes minangka sarana pangayoman (marang) lingkungan Windows lan, ing wektu sing padha, ngira jumlah pangguna sing nganggo basa Rusia ing sistem kasebut.

Nggunakake QubesOS kanggo nggarap Windows 7

Kenapa Qubes?

Crita pungkasan dhukungan teknis kanggo Windows 7 lan tambah kuatir pangguna nyebabake kabutuhan kanggo ngatur karya OS iki, njupuk syarat ing ngisor iki:

  • mesthekake nggunakake Windows 7 kanthi diaktifake kanthi kemampuan kanggo pangguna nginstal nganyari lan macem-macem aplikasi (kalebu liwat Internet);
  • ngleksanakake pengecualian lengkap utawa selektif saka interaksi jaringan adhedhasar kahanan (operasi otonom lan mode nyaring lalu lintas);
  • nyedhiyakake kemampuan kanggo nyambungake media lan piranti sing bisa dicopot kanthi selektif.

Setel watesan iki presupposes pangguna sing disiapake kanthi cetha, amarga administrasi independen diidini, lan larangan kasebut ora ana hubungane karo pamblokiran tumindak potensial, nanging ora ana kemungkinan kesalahan utawa efek piranti lunak sing ngrusak. Sing. Ora ana pelanggaran internal ing model kasebut.

Ing panelusuran solusi, kita cepet-cepet nilar gagasan kanggo ngleksanakake watesan nggunakake built-in utawa alat Windows tambahan, amarga iku cukup angel kanggo èfèktif matesi pangguna karo hak administrator, supaya wong bisa nginstal aplikasi.

Solusi sabanjure yaiku isolasi nggunakake virtualisasi. Piranti sing kondhang kanggo virtualisasi desktop (umpamane, virtualbox) ora cocog kanggo ngrampungake masalah keamanan lan watesan sing kadhaptar kudu ditindakake pangguna kanthi terus-terusan ngalih utawa nyetel properti mesin virtual tamu (sabanjure diarani minangka VM), sing nambah risiko kesalahan.

Ing wektu sing padha, kita duwe pengalaman nggunakake Qubes minangka sistem desktop pangguna, nanging mamang babagan stabilitas nggarap Windows tamu. Sampeyan iki mutusaké kanggo mriksa versi saiki Qubes, wiwit watesan nyatakake pas banget karo paradigma sistem iki, utamané implementasine saka mesin virtual Cithakan lan integrasi visual. Sabanjure, aku bakal nyoba ngobrol kanthi ringkes babagan ide lan alat Qubes, nggunakake conto ngrampungake masalah kasebut.

Jinis virtualisasi Xen

Qubes adhedhasar hypervisor Xen, kang nyilikake fungsi ngatur sumber daya prosesor, memori lan mesin virtual. Kabeh karya liyane karo piranti dikonsentrasi ing dom0 adhedhasar kernel Linux (Qubes kanggo dom0 nggunakake distribusi Fedora).

Nggunakake QubesOS kanggo nggarap Windows 7

Xen ndhukung sawetara jinis virtualisasi (Aku bakal menehi conto kanggo arsitektur Intel, sanajan Xen ndhukung liyane):

  • paravirtualization (PV) - mode virtualisasi tanpa nggunakake dhukungan hardware, kaya virtualisasi wadhah, bisa digunakake kanggo sistem kanthi kernel sing diadaptasi (dom0 beroperasi ing mode iki);
  • virtualisasi lengkap (HVM) - ing mode iki, support hardware digunakake kanggo sumber daya prosesor, lan kabeh peralatan liyane ditiru nggunakake QEMU. Iki minangka cara paling universal kanggo mbukak macem-macem sistem operasi;
  • paravirtualisasi hardware (PVH - ParaVirtualized Hardware) - mode virtualisasi nggunakake dhukungan hardware nalika, kanggo nggarap hardware, kernel sistem tamu nggunakake driver sing dicocogake karo kemampuan hypervisor (contone, memori sing dienggo bareng), ngilangi kabutuhan emulasi QEMU. lan nambah kinerja I / O. Kernel Linux wiwit 4.11 bisa digunakake ing mode iki.

Nggunakake QubesOS kanggo nggarap Windows 7

Diwiwiti karo Qubes 4.0, kanggo alasan keamanan, panggunaan mode paravirtualisasi ditinggalake (kalebu amarga kerentanan sing dikenal ing arsitektur Intel, sing sebagian dikurangi kanthi nggunakake virtualisasi lengkap); Mode PVH digunakake kanthi standar.

Nalika nggunakake emulasi (mode HVM), QEMU diluncurake ing VM terisolasi sing diarani stubdomain, saéngga nyuda risiko ngeksploitasi kesalahan potensial ing implementasine (proyek QEMU ngemot akeh kode, kalebu kompatibilitas).
Ing kasus kita, mode iki kudu digunakake kanggo Windows.

Layanan mesin virtual

Ing arsitektur keamanan Qubes, salah sawijining kabisan utama hypervisor yaiku transfer piranti PCI menyang lingkungan tamu. Pengecualian hardware ngidini sampeyan ngisolasi bagean host sistem saka serangan eksternal. Xen ndhukung iki kanggo mode PV lan HVM, ing kasus kapindho mbutuhake dhukungan kanggo IOMMU (Intel VT-d) - manajemen memori hardware kanggo piranti virtualisasi.

Iki nggawe sawetara mesin virtual sistem:

  • sys-net, kanggo piranti jaringan sing ditransfer lan digunakake minangka jembatan kanggo VM liyane, contone, sing ngleksanakake fungsi firewall utawa klien VPN;
  • sys-usb, sing ditransfer USB lan pengontrol piranti periferal liyane;
  • sys-firewall, sing ora nggunakake piranti, nanging bisa digunakake minangka firewall kanggo VM sing disambungake.

Kanggo nggarap piranti USB, layanan proxy digunakake, sing nyedhiyakake, ing antarane:

  • kanggo kelas piranti HID (perangkat antarmuka manungsa), ngirim printah menyang dom0;
  • kanggo media sing bisa dicopot, pangalihan volume piranti menyang VM liyane (kajaba dom0);
  • pangalihan langsung menyang piranti USB (nggunakake USBIP lan alat integrasi).

Ing konfigurasi kasebut, serangan sukses liwat tumpukan jaringan utawa piranti sing disambungake bisa nyebabake kompromi mung VM layanan sing mlaku, lan ora kabeh sistem kanthi sakabehe. Lan sawise miwiti maneh layanan VM, bakal dimuat ing negara asli.

alat integrasi VM

Ana sawetara cara kanggo sesambungan karo desktop mesin virtual - nginstal aplikasi ing sistem tamu utawa niru video nggunakake alat virtualisasi. Aplikasi tamu bisa dadi macem-macem alat akses remot universal (RDP, VNC, Spice, lsp.) utawa diadaptasi menyang hypervisor tartamtu (alat kasebut biasane disebut keperluan tamu). Pilihan campuran uga bisa digunakake, nalika hypervisor emulates I / O kanggo sistem tamu, lan externally menehi kemampuan kanggo nggunakake protokol sing nggabungke I / O, contone, kaya Spice. Ing wektu sing padha, alat akses remot biasane ngoptimalake gambar, amarga bisa digunakake liwat jaringan, sing ora duwe pengaruh positif marang kualitas gambar.

Qubes nyedhiyakake alat dhewe kanggo integrasi VM. Kaping pisanan, iki minangka subsistem grafis - windows saka macem-macem VM ditampilake ing desktop siji kanthi pigura warna dhewe. Umumé, alat integrasi adhedhasar kapabilitas hypervisor - memori bareng (tabel hibah Xen), alat kabar (saluran acara Xen), xenstore panyimpenan bareng lan protokol komunikasi vchan. Kanthi bantuan, komponen dhasar qrexec lan qubes-rpc, lan layanan aplikasi dileksanakake - redirection audio utawa USB, nransfer file utawa isi clipboard, nglakokake printah lan mbukak aplikasi. Sampeyan bisa nyetel kabijakan sing ngidini sampeyan mbatesi layanan sing kasedhiya ing VM. Tokoh ing ngisor iki minangka conto prosedur kanggo miwiti interaksi rong VM.

Nggunakake QubesOS kanggo nggarap Windows 7

Mangkono, karya ing VM ditindakake tanpa nggunakake jaringan, sing ngidini panggunaan VM otonom supaya ora bocor informasi. Contone, iki minangka cara pamisahan operasi kriptografi (PGP / SSH) ditindakake, nalika kunci pribadi digunakake ing VM sing terisolasi lan ora ngluwihi.

Cithakan, aplikasi lan VM siji-wektu

Kabeh karya pangguna ing Qubes rampung ing mesin virtual. Sistem host utama digunakake kanggo ngontrol lan nggambarake. OS diinstal bebarengan karo pesawat dhasar saka mesin virtual basis cithakan (TemplateVM). Cithakan iki minangka VM Linux adhedhasar distribusi Fedora utawa Debian, kanthi piranti integrasi sing diinstal lan dikonfigurasi, lan partisi sistem lan pangguna khusus. Instalasi lan nganyari piranti lunak ditindakake dening manajer paket standar (dnf utawa apt) saka repositori sing dikonfigurasi kanthi verifikasi tandha digital wajib (GnuPG). Tujuan VM kasebut yaiku kanggo njamin kapercayan ing aplikasi VM sing diluncurake kanthi basis.

Nalika wiwitan, aplikasi VM (AppVM) nggunakake gambar saka partisi sistem saka cithakan VM sing cocog, lan sawise rampung mbusak gambar asli iki tanpa nyimpen owah-owahan. Data sing dibutuhake pangguna disimpen ing partisi pangguna sing unik kanggo saben VM aplikasi, sing dipasang ing direktori ngarep.

Nggunakake QubesOS kanggo nggarap Windows 7

Nggunakake VMs (disposableVM) bisa migunani saka sudut pandang keamanan. VM kasebut digawe adhedhasar cithakan nalika wiwitan lan diluncurake kanthi tujuan siji - kanggo nglakokake siji aplikasi, ngrampungake karya sawise ditutup. VM sing bisa digunakake bisa digunakake kanggo mbukak file sing curiga sing isine bisa nyebabake eksploitasi kerentanan aplikasi tartamtu. Kemampuan kanggo mbukak VM siji-wektu digabungake menyang manajer file (Nautilus) lan klien email (Thunderbird).

Windows VM uga bisa digunakake kanggo nggawe cithakan lan VM siji-wektu kanthi mindhah profil pangguna menyang bagean sing kapisah. Ing versi kita, cithakan kasebut bakal digunakake dening pangguna kanggo tugas administrasi lan instalasi aplikasi. Adhedhasar cithakan kasebut, sawetara VM aplikasi bakal digawe - kanthi akses winates menyang jaringan (kapabilitas sys-firewall standar) lan tanpa akses menyang jaringan kabeh (piranti jaringan virtual ora digawe). Kabeh owah-owahan lan aplikasi sing diinstal ing cithakan bakal kasedhiya kanggo bisa ing VM iki, lan malah yen program tetenger dikenalaké, padha ora duwe akses jaringan kanggo kompromi.

Perang kanggo Windows

Fitur sing diterangake ing ndhuwur minangka basis Qubes lan bisa digunakake kanthi stabil; kangelan diwiwiti karo Windows. Kanggo nggabungake Windows, sampeyan kudu nggunakake pesawat saka tamu pribadi Qubes Windows Tools (QWT), kang kalebu pembalap kanggo nggarap Xen, driver qvideo lan pesawat saka keperluan kanggo exchange informasi (transfer file, clipboard). Proses instalasi lan konfigurasi didokumentasikake kanthi rinci ing situs web proyek, mula kita bakal nuduhake pengalaman aplikasi.

Kesulitan utama yaiku kekurangan dhukungan kanggo alat sing dikembangake. Key Developers (QWT) katon ora kasedhiya lan proyek integrasi Windows ngenteni pangembang utama. Mulane, pisanan kabeh, iku perlu kanggo netepke kinerja lan mbentuk pangerten saka kamungkinan ndhukung iku independen, yen perlu. Sing paling angel dikembangake lan debug yaiku driver grafis, sing niru adaptor video lan tampilan kanggo ngasilake gambar ing memori sing dienggo bareng, ngidini sampeyan nampilake kabeh desktop utawa jendela aplikasi langsung ing jendela sistem host. Ing Course saka nganalisa operasi driver, kita dicocogake kode kanggo Déwan ing lingkungan Linux lan makarya metu rencana debugging antarane loro sistem tamu Windows. Ing tataran crossbuild, kita nggawe sawetara owah-owahan sing simplified iku kanggo kita, utamané ing syarat-syarat instalasi "bisu" keperluan, lan uga ngilangke degradasi ngganggu kinerja nalika digunakake ing VM kanggo dangu. We presented asil karya kita ing kapisah repositori, saengga ora suwe maringi inspirasi Pangembang Qubes mimpin.

Tahap paling kritis babagan stabilitas sistem tamu yaiku wiwitan Windows, ing kene sampeyan bisa ndeleng layar biru sing akrab (utawa ora bisa ndeleng). Kanggo umume kesalahan sing diidentifikasi, ana macem-macem solusi - ngilangi driver piranti blok Xen, mateni keseimbangan memori VM, ndandani setelan jaringan, lan nyuda jumlah inti. Piranti tamu kita mbangun nginstal lan mlaku kanthi nganyari Windows 7 lan Windows 10 (kajaba qvideo).

Nalika pindhah saka lingkungan nyata menyang lingkungan virtual, ana masalah karo ngaktifake Windows yen versi OEM sing wis diinstal digunakake. Sistem kasebut nggunakake aktivasi adhedhasar lisensi sing ditemtokake ing UEFI piranti. Kanggo ngolah aktivasi kanthi bener, sampeyan kudu nerjemahake salah sawijining bagean ACPI saka sistem host (tabel SLIC) menyang sistem tamu lan rada nyunting liyane, ndhaptar pabrikan. Xen ngidini sampeyan ngatur isi ACPI tabel tambahan, nanging tanpa ngowahi sing utama. Tembelan saka proyek OpenXT sing padha, sing diadaptasi kanggo Qubes, mbantu solusi kasebut. Ndandani katon migunani ora mung kanggo kita lan diterjemahake menyang gudang Qubes utama lan perpustakaan Libvirt.

Kerugian sing jelas saka alat integrasi Windows kalebu kekurangan dhukungan kanggo audio, piranti USB, lan kerumitan nggarap media, amarga ora ana dhukungan hardware kanggo GPU. Nanging ing ndhuwur ora nyegah panggunaan VM kanggo nggarap dokumen kantor, lan uga ora nyegah peluncuran aplikasi perusahaan tartamtu.

Keperluan kanggo ngalih menyang mode operasi tanpa jaringan utawa kanthi jaringan winates sawise nggawe cithakan Windows VM ditindakake kanthi nggawe konfigurasi VM aplikasi sing cocog, lan kamungkinan nyambungake media sing bisa dicopot kanthi selektif uga ditanggulangi kanthi alat OS standar - nalika disambungake. , kasedhiya ing sistem VM sys-usb, saka ngendi bisa "diterusake" menyang VM sing dibutuhake. Desktop pangguna katon kaya iki.

Nggunakake QubesOS kanggo nggarap Windows 7

Versi pungkasan sistem kasebut kanthi positif (sampeyan ngidini solusi sing komprehensif) ditampa dening pangguna, lan alat standar sistem ngidini kanggo nggedhekake aplikasi menyang workstation seluler pangguna kanthi akses liwat VPN.

Tinimbang kesimpulan

Virtualisasi umume ngidini sampeyan nyuda risiko nggunakake sistem Windows tanpa dhukungan - ora meksa kompatibilitas karo hardware anyar, ngidini sampeyan ngilangi utawa ngontrol akses menyang sistem liwat jaringan utawa liwat piranti sing disambungake, lan ngidini sampeyan ngleksanakake lingkungan peluncuran siji-wektu.

Adhedhasar ide pamisahan liwat virtualisasi, Qubes OS mbantu sampeyan nggunakake mekanisme kasebut lan liyane kanggo keamanan. Saka njaba, akeh wong sing ndeleng Qubes utamane minangka kepinginan kanggo anonimitas, nanging minangka sistem sing migunani kanggo para insinyur, sing asring nyulap proyek, infrastruktur, lan rahasia kanggo ngakses, lan kanggo peneliti keamanan. Pemisahan aplikasi, data lan formalisasi interaksi kasebut minangka langkah awal analisis ancaman lan desain sistem keamanan. Pemisahan iki mbantu nyusun informasi lan nyuda kemungkinan kesalahan amarga faktor manungsa - kesusu, kesel, lsp.

Saiki, penekanan utama ing pangembangan yaiku ngembangake fungsionalitas lingkungan Linux. Versi 4.1 lagi disiapake kanggo release, kang bakal adhedhasar Fedora 31 lan kalebu versi saiki saka komponen tombol Xen lan Libvirt. Wigati dicathet yen Qubes digawe dening profesional keamanan informasi sing tansah ngeculake nganyari yen ancaman utawa kesalahan anyar diidentifikasi.

Afterword

Salah sawijining kemampuan eksperimen sing dikembangake ngidini kita nggawe VM kanthi dhukungan kanggo akses tamu menyang GPU adhedhasar teknologi Intel GVT-g, sing ngidini kita nggunakake kemampuan adaptor grafis lan nggedhekake ruang lingkup sistem kasebut. Ing wektu nulis, fungsi iki dianggo kanggo test mbangun Qubes 4.1, lan kasedhiya ing GitHub.

Source: www.habr.com

Add a comment