Utilizà QubesOS per travaglià cù Windows 7

Ùn ci sò micca assai articuli nantu à Habré dedicatu à u sistema upirativu Qubes, è quelli chì aghju vistu ùn descrizanu micca assai di l'esperienza di l'usu. Sottu u cut, speru di curregà questu utilizendu l'esempiu di utilizà Qubes cum'è un mezzu di prutezzione (contra) l'ambiente Windows è, à u stessu tempu, stima u numeru di l'utilizatori di lingua russa di u sistema.

Utilizà QubesOS per travaglià cù Windows 7

Perchè Qubes?

A storia di a fine di u supportu tecnicu per Windows 7 è l'ansietà crescente di l'utilizatori hà purtatu à a necessità di urganizà u travagliu di questu OS, tenendu in contu i seguenti requisiti:

  • assicurà l'usu di Windows 7 cumplettamente attivatu cù a capacità per l'utilizatore per installà l'aghjurnamenti è diverse applicazioni (cumpresu via Internet);
  • implementà l'esclusione cumpleta o selettiva di l'interazzione di a rete basata nantu à e cundizioni (operazione autonoma è modi di filtrazione di u trafficu);
  • furnisce a capacità di cunnette selettivamente i media è i dispositi amovibili.

Stu settore di restrizioni presuppone un utilizatore chjaramente preparatu, postu chì l'amministrazione indipendente hè permessa, è e restrizioni ùn sò micca ligati à bluccà e so azzioni potenziali, ma à l'esclusione di pussibuli errori o effetti software distruttivi. Quelli. Ùn ci hè micca un offender internu in u mudellu.

In a nostra ricerca di una suluzione, avemu abbandonatu rapidamente l'idea di implementà e restrizioni utilizendu strumenti integrati o supplementari di Windows, postu chì hè abbastanza difficiuli di limità in modu efficace un utilizatore cù diritti di amministratore, lascendulu a capacità di installà applicazioni.

A prossima suluzione era l'isolamentu cù a virtualizazione. Strumenti ben cunnisciuti per a virtualizazione di u desktop (per esempiu, cum'è a virtualbox) sò pocu adattati per risolve i prublemi di sicurezza è e restrizioni elencate duveranu esse fatte da l'utilizatore cambiendu o aghjustendu constantemente e proprietà di a macchina virtuale invitata (in seguitu riferita à cum'è VM), chì aumenta u risicu di errore.

À u listessu tempu, avemu avutu l'esperienze cù Qubes cum'è u sistema di scrittura di l'utilizatori, ma avianu dubbitu nantu à a stabilità di travaglià cù Windows invitati. Hè statu decisu di verificà a versione attuale di Qubes, postu chì e limitazioni dichjarate sò assai bè in u paradigma di stu sistema, in particulare l'implementazione di mudelli di macchina virtuale è l'integrazione visuale. In seguitu, pruvà à parlà brevemente di l'idee è l'arnesi di Qubes, usendu l'esempiu di risolve u prublema.

Tipi di virtualizazione Xen

Qubes hè basatu annantu à l'hypervisor Xen, chì minimizza e funzioni di gestione di risorse di processore, memoria è macchine virtuali. Tutti l'altri travaglii cù i dispositi sò cuncentrati in dom0 basatu annantu à u kernel Linux (Qubes per dom0 usa a distribuzione Fedora).

Utilizà QubesOS per travaglià cù Windows 7

Xen supporta parechji tipi di virtualizazione (daraghju esempi per l'architettura Intel, ancu s'ellu Xen sustene l'altri):

  • paravirtualizazione (PV) - un modu di virtualizazione senza l'usu di supportu hardware, chì ricorda a virtualizazione di u containeru, pò esse usatu per sistemi cù un kernel adattatu (dom0 opera in questu modu);
  • virtualizazione completa (HVM) - in questu modu, u supportu di hardware hè utilizatu per e risorse di processore, è tutti l'altri equipaghji sò emulati cù QEMU. Questu hè u modu più universale per eseguisce diversi sistemi operativi;
  • paravirtualizazione di hardware (PVH - ParaVirtualized Hardware) - un modu di virtualizazione cù supportu hardware quandu, per travaglià cù hardware, u kernel di u sistema invitatu usa driver adattati à e capacità di l'hypervisor (per esempiu, memoria sparta), eliminendu a necessità di emulazione QEMU. è aumentà e prestazioni I/O. U kernel Linux partendu da 4.11 pò travaglià in questu modu.

Utilizà QubesOS per travaglià cù Windows 7

Partendu da Qubes 4.0, per ragioni di sicurezza, l'usu di u modu di paravirtualizazione hè abbandunatu (cumpresu per via di vulnerabili cunnisciuti in l'architettura Intel, chì sò parzialmente mitigati da l'usu di a virtualizazione completa); u modu PVH hè utilizatu per difettu.

Quandu si usa l'emulazione (modu HVM), QEMU hè lanciatu in una VM isolata chjamata stubdomain, riducendu cusì i risichi di sfruttà l'errori potenziali in l'implementazione (u prughjettu QEMU cuntene assai codice, ancu per a cumpatibilità).
In u nostru casu, stu modu deve esse usatu per Windows.

Service machines virtuale

In l'architettura di sicurità di Qubes, una di e capacità chjave di l'ipervisore hè u trasferimentu di i dispositi PCI à l'ambienti invitati. L'exclusione di hardware permette di isolà a parte di l'ospiti di u sistema da attacchi esterni. Xen supporta questu per i modi PV è HVM, in u sicondu casu hè bisognu di supportu per IOMMU (Intel VT-d) - gestione di memoria hardware per i dispositi virtualizzati.

Questu crea parechje macchine virtuali di u sistema:

  • sys-net, à quale i dispositi di rete sò trasferiti è chì hè utilizatu com'è ponte per altri VM, per esempiu, quelli chì implementanu e funzioni di un firewall o un cliente VPN;
  • sys-usb, à quale sò trasferiti USB è altri cuntrolli di u dispositivu perifericu;
  • sys-firewall, chì ùn usa micca i dispositi, ma funziona cum'è un firewall per i VM cunnessi.

Per travaglià cù i dispositi USB, i servizii proxy sò usati, chì furnisce, frà altre cose:

  • per a classa di dispositi HID (dispositivu di interfaccia umana), mandendu cumandamenti à dom0;
  • per i media removable, redirezzione di volumi di u dispositivu à altre VMs (eccettu per dom0);
  • redirecting direttamente à un dispositivu USB (usendu USBIP è strumenti di integrazione).

In una tale cunfigurazione, un attaccu successu à traversu a pila di rete o i dispositi cunnessi pò purtà à u cumprumissu di solu u serviziu VM in esecuzione, è micca u sistema sanu in tuttu. È dopu avè riavviatu u serviziu VM, serà carricu in u so statu originale.

Strumenti di integrazione di VM

Ci hè parechje manere di interagisce cù l'escriptori di una macchina virtuale - installendu applicazioni in u sistema d'ospiti o emulà video cù strumenti di virtualizazione. L'applicazioni d'ospiti ponu esse diverse strumenti universali d'accessu remoto (RDP, VNC, Spice, etc.) o adattati à un hypervisor specificu (tali strumenti sò generalmente chjamati utilità d'ospiti). Una opzione mista pò ancu esse aduprata, quandu l'ipervisore emula l'I / O per u sistema invitatu, è furnisce esternamente a capacità di utilizà un protokollu chì combina I / O, per esempiu, cum'è Spice. À u listessu tempu, i strumenti di accessu remoti sò generalmente ottimisate l'imaghjini, postu chì implicanu u travagliu via una reta, chì ùn hà micca un effettu pusitivu nantu à a qualità di l'imaghjini.

Qubes furnisce i so propiu strumenti per l'integrazione di VM. Prima di tuttu, questu hè un sottosistema graficu - Windows da diverse VMs sò visualizati nantu à un unicu desktop cù u so propiu quadru di culore. In generale, l'arnesi d'integrazione sò basati nantu à e capacità di l'ipervisore - memoria sparta (Xen grant table), strumenti di notificazione (canale Xen event), xenstore d'almacenamiento spartutu è u protocolu di cumunicazione vchan. Cù u so aiutu, i cumpunenti basi qrexec è qubes-rpc, è i servizii di l'applicazione sò implementati - redirezzione audio o USB, trasferimentu di fugliali o cuntenutu di clipboard, eseguisce cumandamenti è lanciate applicazioni. Hè pussibule stabilisce e pulitiche chì permettenu di limità i servizii dispunibili nantu à una VM. A figura sottu hè un esempiu di a prucedura per l'inizializazione di l'interazzione di dui VM.

Utilizà QubesOS per travaglià cù Windows 7

Cusì, u travagliu in a VM hè realizatu senza l'usu di una reta, chì permette l'usu pienu di VM autonomi per evità a fuga d'infurmazioni. Per esempiu, questu hè cumu a separazione di l'operazioni criptografiche (PGP / SSH) hè implementata, quandu i chjavi privati ​​​​sò utilizati in VMs isolati è ùn vanu micca fora di elli.

Modelli, applicazioni è VMs una volta

Tuttu u travagliu di l'utilizatori in Qubes hè fattu in macchine virtuali. U sistema principale di l'ospite hè adupratu per cuntrullà è visualizà. U SO hè stallatu cù un set di basi di macchine virtuali basate in mudelli (TemplateVM). Stu mudellu hè una VM Linux basata nantu à a distribuzione Fedora o Debian, cù strumenti d'integrazione installati è cunfigurati, è sistema dedicatu è partizioni d'utilizatori. L'installazione è l'aghjurnamentu di u software hè realizatu da un gestore di pacchetti standard (dnf o apt) da i repositori cunfigurati cù verificazione di firma digitale obligatoria (GnuPG). U scopu di tali VM hè di assicurà a fiducia in e VM di l'applicazione lanciate nantu à a so basa.

À l'iniziu, una VM di l'applicazione (AppVM) usa una snapshot di a partizione di u sistema di u mudellu VM currispundente, è dopu a fine elimina questa snapshot senza salvà i cambiamenti. I dati necessarii da l'utilizatore sò almacenati in una partizione d'utilizatore unica per ogni VM di l'applicazione, chì hè muntata in u cartulare di casa.

Utilizà QubesOS per travaglià cù Windows 7

Utilizà VM dispunibuli (disposableVM) pò esse utile da un puntu di vista di sicurità. Un tali VM hè creatu basatu annantu à un mudellu à u mumentu di l'iniziu è hè lanciatu per un scopu - per eseguisce una applicazione, compie u travagliu dopu chì hè chjusu. I VM dispunibuli ponu esse aduprati per apre i fugliali sospetti chì u so cuntenutu puderia purtà à sfruttamentu di vulnerabili di l'applicazioni specifiche. A capacità di eseguisce una VM una volta hè integrata in u gestore di file (Nautilus) è u cliente di email (Thunderbird).

A VM Windows pò ancu esse usata per creà un mudellu è una VM una volta movendu u prufilu d'utilizatore in una sezione separata. In a nostra versione, un tali mudellu serà utilizatu da l'utilizatori per i travaglii di amministrazione è l'installazione di l'applicazioni. Basatu nantu à u mudellu, parechji VM di l'applicazioni seranu creati - cù accessu limitatu à a reta (capacità standard sys-firewall) è senza accessu à a reta in tuttu (un dispositivu di rete virtuale ùn hè micca creatu). Tutti i cambiamenti è l'applicazioni installati in u mudellu seranu dispunibuli per travaglià in questi VM, è ancu s'ellu sò introdutti i prugrammi di marcatura, ùn anu micca accessu à a rete per cumprumissu.

Lotta per Windows

E caratteristiche descritte sopra sò a basa di Qubes è travaglianu abbastanza stabile; e difficultà cumincianu cù Windows. Per integrà Windows, duvete aduprà un set di strumenti d'ospiti Qubes Windows Tools (QWT), chì include i drivers per travaglià cù Xen, un driver qvideo è un set di utilità per u scambiu d'infurmazioni (trasferimentu di file, clipboard). U prucessu di stallazione è cunfigurazione hè documentatu in dettagliu nantu à u situ web di u prughjettu, cusì sparteremu a nostra sperienza di l'applicazione.

A difficultà principale hè essenzialmente a mancanza di supportu per i strumenti sviluppati. I Sviluppatori Chiavi (QWT) pare micca dispunibili è u prughjettu di integrazione di Windows aspetta un sviluppatore principale. Dunque, prima di tuttu, era necessariu di valutà a so prestazione è formate una cunniscenza di a pussibilità di sustene in modu indipindenti, se ne necessariu. U più difficiuli di sviluppà è di debug hè u driver gràficu, chì emula l'adattatore video è a visualizazione per generà una maghjina in memoria cumuna, chì vi permette di vede tuttu u desktop o a finestra di l'applicazione direttamente in a finestra di u sistema host. Durante l'analisi di u funziunamentu di u driver, avemu adattatu u codice per l'assemblea in un ambiente Linux è hà travagliatu un schema di debugging trà dui sistemi invitati Windows. In u stadiu crossbuild, avemu fattu parechji cambiamenti chì simplificà e cose per noi, principarmenti in termini di installazione "silenziosa" di utilità, è ancu eliminatu a degradazione fastidiosa di u rendiment quandu travaglia in una VM per un bellu pezzu. Avemu prisentatu i risultati di u travagliu in un separatu repository, dunque micca per longu inspirante Sviluppatore principale Qubes.

U stadiu più criticu in quantu à a stabilità di u sistema di l'ospiti hè l'iniziu di Windows, quì pudete vede a pantalla blu familiar (o mancu vede). Per a maiò parte di l'errori identificati, ci sò state diverse soluzioni - eliminazione di i driver di u dispositivu di bloccu Xen, disattivà l'equilibriu di memoria VM, riparà i paràmetri di a rete, è minimizzà u numeru di core. I nostri strumenti d'ospiti creanu installazioni è funziona nantu à Windows 7 è Windows 10 cumplettamente aghjurnati (eccettu qvideo).

Quandu si passa da un ambiente reale à un ambiente virtuale, si sviluppa un prublema cù l'attivazione di Windows se sò aduprate versioni OEM preinstallate. Tali sistemi utilizanu attivazione basata nantu à licenze specificate in UEFI di u dispusitivu. Per processà currettamente l'attivazione, hè necessariu di traduzzione una di e rùbbriche ACPI intere di u sistema d'ospiti (tavula SLIC) à u sistema d'ospiti è edità ligeramente l'altri, registrendu u fabricatore. Xen permette di persunalizà u cuntenutu ACPI di tavule supplementari, ma senza mudificà i principali. Un patch da un prughjettu simile OpenXT, chì hè statu adattatu per Qubes, hà aiutatu cù a suluzione. E correzioni parevanu utili micca solu per noi è sò state tradutte in u repositoriu principale di Qubes è a biblioteca Libvirt.

I svantaghji evidenti di l'arnesi d'integrazione di Windows includenu a mancanza di supportu per l'audio, i dispositi USB, è a cumplessità di travaglià cù i media, postu chì ùn ci hè micca supportu hardware per a GPU. Ma quì sopra ùn impedisce micca l'usu di a VM per travaglià cù documenti di l'uffiziu, nè impedisce u lanciamentu di applicazioni corporative specifiche.

L'esigenza di cambià à u modu operativu senza una rete o cù una rete limitata dopu a creazione di un mudellu di VM Windows hè stata cumprita da a creazione di e cunfigurazioni appropritate di l'applicazioni VM, è a pussibilità di cunnetta selettivamente i media removable hè stata risolta ancu da l'arnesi OS standard - quandu sò cunnessi. , sò dispunibuli in u sistema VM sys-usb, da induve ponu esse "inviati" à a VM necessaria. U desktop di l'utilizatori pare qualcosa cusì.

Utilizà QubesOS per travaglià cù Windows 7

A versione finale di u sistema hè stata pusitiva (in quantu una suluzione cumpreta permette) accettata da l'utilizatori, è l'arnesi standard di u sistema hà permessu di espansione l'applicazione à a stazione di travagliu mobile di l'utilizatori cù accessu via VPN.

Inveci di 'na cunchiusioni

A virtualizazione in generale permette di riduce i risichi di l'usu di i sistemi Windows lasciati senza supportu - ùn forza micca a cumpatibilità cù u novu hardware, permette di escludiri o cuntrullà l'accessu à u sistema nantu à a reta o attraversu i dispositi cunnessi, è vi permette di implementà un ambiente di lanciu una volta.

Basatu annantu à l'idea di isolamentu attraversu a virtualizazione, Qubes OS vi aiuta à sfruttà questi è altri meccanismi per a sicurità. Da l'esternu, assai persone vede Qubes principarmenti cum'è un desideriu di l'anonimatu, ma hè un sistema utile sia per l'ingegneri, chì spessu juggle prughjetti, infrastrutture è sicreti per accede à elli, è per i circadori di sicurezza. A separazione di l'applicazioni, i dati è a formalizazione di a so interazzione sò i passi iniziali di l'analisi di minaccia è u disignu di u sistema di sicurezza. Sta separazione aiuta à strutturare l'infurmazioni è riduce a probabilità di errore per via di u fattore umanu - fretta, fatigue, etc.

Attualmente, l'enfasi principale in u sviluppu hè di espansione a funziunalità di l'ambienti Linux. A versione 4.1 hè stata preparata per a liberazione, chì serà basatu annantu à Fedora 31 è include e versioni attuali di i cumpunenti chjave Xen è Libvirt. Vale a pena nutà chì Qubes hè creatu da i prufessiunali di a sicurità di l'infurmazioni chì sempre liberanu immediatamente l'aghjurnamenti si sò identificati novi minacce o errori.

Afterword

Una di e capacità sperimentali chì sviluppemu ci permette di creà VMs cù supportu per l'accessu d'ospiti à a GPU basatu nantu à a tecnulugia Intel GVT-g, chì ci permette di utilizà e capacità di l'adattatore gràficu è espansione significativamente u scopu di u sistema. À u mumentu di a scrittura, sta funziunalità funziona per e versioni di prova di Qubes 4.1, è hè dispunibule annantu github.

Source: www.habr.com

Add a comment