QubesOS brûke om te wurkjen mei Windows 7

D'r binne net in protte artikels oer Habré wijd oan it Qubes-bestjoeringssysteem, en dejingen dy't ik haw sjoen beskriuwe net folle fan 'e ûnderfining fan it brûken dêrfan. Under de besuniging hoopje ik dit te korrigearjen mei it foarbyld fan Qubes te brûken as beskermingsmiddel (tsjin) de Windows-omjouwing en tagelyk it oantal Russysktalige brûkers fan it systeem skatte.

QubesOS brûke om te wurkjen mei Windows 7

Wêrom Qubes?

It ferhaal fan it ein fan technyske stipe foar Windows 7 en de tanimmende eangst fan brûkers liede ta de needsaak om it wurk fan dit OS te organisearjen, rekken hâldend mei de folgjende easken:

  • soargje foar it brûken fan folslein aktivearre Windows 7 mei de mooglikheid foar de brûker om updates en ferskate applikaasjes te ynstallearjen (ynklusyf fia it ynternet);
  • ymplemintearje folsleine of selektive útsluting fan netwurk ynteraksjes basearre op betingsten (autonome operaasje en ferkearsfiltermodi);
  • jouwe de mooglikheid om selektyf te ferbinen útnimbere media en apparaten.

Dizze set fan beheiningen ferûnderstelt in dúdlik taret brûker, sûnt ûnôfhinklike administraasje is tastien, en de beheiningen binne net yn ferbân mei it blokkearjen fan syn potinsjele aksjes, mar mei it útsluten fan mooglike flaters of destruktive software effekten. Dy. D'r is gjin ynterne offender yn it model.

Yn ús sykjen nei in oplossing ferlieten wy fluch it idee fan it ymplementearjen fan beheiningen mei ynboude of ekstra Windows-ark, om't it frij lestich is om in brûker mei behearderrjochten effektyf te beheinen, wêrtroch't him de mooglikheid hat om applikaasjes te ynstallearjen.

De folgjende oplossing wie isolaasje mei virtualisaasje. Bekende ark foar buroblêdvirtualisaasje (bygelyks, lykas virtualbox) binne min geskikt foar it oplossen fan befeiligingsproblemen en de neamde beheiningen sille moatte wurde dien troch de brûker troch konstant de eigenskippen fan 'e gast firtuele masine te wikseljen of oan te passen (hjirnei ferwiisd nei as VM), wat it risiko op flaters fergruttet.

Tagelyk hienen wy ûnderfining mei it brûken fan Qubes as buroblêdsysteem fan in brûker, mar hienen twifels oer de stabiliteit fan wurkjen mei gast Windows. It waard besletten om de aktuele ferzje fan Qubes te kontrolearjen, om't de neamde beheiningen tige goed passe yn it paradigma fan dit systeem, benammen de ymplemintaasje fan firtuele masinesjabloanen en fisuele yntegraasje. Dêrnei sil ik besykje koart te praten oer de ideeën en ark fan Qubes, mei it foarbyld fan it oplossen fan it probleem.

Soarten Xen-virtualisaasje

Qubes is basearre op de Xen-hypervisor, dy't de funksjes fan it behearen fan prosessorboarnen, ûnthâld en firtuele masines minimalisearret. Alle oare wurk mei apparaten is konsintrearre yn dom0 basearre op de Linux-kernel (Qubes foar dom0 brûkt de Fedora-distribúsje).

QubesOS brûke om te wurkjen mei Windows 7

Xen stipet ferskate soarten virtualisaasje (ik sil foarbylden jaan foar Intel-arsjitektuer, hoewol Xen oaren stipet):

  • paravirtualisaasje (PV) - in virtualisaasjemodus sûnder it brûken fan hardware-stipe, dy't tinkt oan container-virtualisaasje, kin brûkt wurde foar systemen mei in oanpaste kearn (dom0 wurket yn dizze modus);
  • folsleine virtualisaasje (HVM) - yn dizze modus wurdt hardwarestipe brûkt foar prosessorboarnen, en alle oare apparatuer wurdt emulearre mei QEMU. Dit is de meast universele manier om ferskate bestjoeringssystemen út te fieren;
  • paravirtualisaasje fan hardware (PVH - ParaVirtualized Hardware) - in virtualisaasjemodus dy't hardwarestipe brûkt as, om mei hardware te wurkjen, de gastsysteemkearn brûkt sjauffeurs oanpast oan de mooglikheden fan 'e hypervisor (bygelyks dielde ûnthâld), en elimineert de needsaak foar QEMU-emulaasje en tanimmende I / O prestaasjes. De Linux-kernel fanôf 4.11 kin yn dizze modus wurkje.

QubesOS brûke om te wurkjen mei Windows 7

Begjin mei Qubes 4.0, om feiligens redenen, wurdt it gebrûk fan paravirtualisaasjemodus ferlitten (ynklusyf fanwege bekende kwetsberens yn Intel-arsjitektuer, dy't foar in part fermindere wurde troch it brûken fan folsleine virtualisaasje); PVH-modus wurdt standert brûkt.

By it brûken fan emulaasje (HVM-modus), wurdt QEMU lansearre yn in isolearre VM neamd stubdomain, wêrtroch't de risiko's fan it eksploitearjen fan potinsjele flaters yn 'e ymplemintaasje (it QEMU-projekt befettet in protte koade, ynklusyf foar kompatibiliteit).
Yn ús gefal moat dizze modus brûkt wurde foar Windows.

Service firtuele masines

Yn 'e Qubes-befeiligingsarsjitektuer is ien fan' e wichtichste mooglikheden fan 'e hypervisor de oerdracht fan PCI-apparaten nei de gastomjouwing. Hardware útsluting lit jo it hostdiel fan it systeem isolearje fan eksterne oanfallen. Xen stipet dit foar PV- en HVM-modi, yn it twadde gefal fereasket it stipe foar IOMMU (Intel VT-d) - hardware-ûnthâldbehear foar virtualisearre apparaten.

Dit makket ferskate systeem firtuele masines:

  • sys-net, wêrnei't netwurkapparaten wurde oerdroegen en dat wurdt brûkt as brêge foar oare VM's, bygelyks dyjingen dy't de funksjes fan in firewall of in VPN-kliïnt útfiere;
  • sys-usb, dêr't USB en oare perifeare apparaat controllers wurde oerdroegen;
  • sys-firewall, dy't gjin apparaten brûkt, mar wurket as firewall foar ferbûne VM's.

Om te wurkjen mei USB-apparaten wurde proxy-tsjinsten brûkt, dy't ûnder oaren leverje:

  • foar de HID (minsklike ynterface apparaat) apparaat klasse, stjoeren kommando nei dom0;
  • foar útnimbere media, trochferwizing fan apparaatvolumes nei oare VM's (útsein dom0);
  • direkt trochferwizing nei in USB-apparaat (mei USBIP en yntegraasje-ark).

Yn sa'n konfiguraasje kin in suksesfolle oanfal troch de netwurkstapel of ferbûne apparaten liede ta it kompromis fan allinich de rinnende tsjinst VM, en net it hiele systeem as gehiel. En nei it opnij starte fan de tsjinst VM, sil it yn syn oarspronklike steat laden wurde.

VM yntegraasje ark

D'r binne ferskate manieren om te ynteraksje mei it buroblêd fan in firtuele masine - applikaasjes ynstallearje yn it gastsysteem of fideo emulearje mei virtualisaasje-ark. Gastapplikaasjes kinne ferskate universele ark foar tagong op ôfstân wêze (RDP, VNC, Spice, ensfh.) Of oanpast oan in spesifike hypervisor (soksoarte ark wurde meastentiids gastutilities neamd). In mingde opsje kin ek brûkt wurde, doe't de hypervisor emulates I / O foar de gast systeem, en ekstern jout de mooglikheid om te brûken in protokol dat kombinearret I / O, bygelyks, as Spice. Tagelyk optimalisearje ark foar tagong op ôfstân de ôfbylding meastentiids, om't se wurkje fia in netwurk, wat gjin posityf effekt hat op 'e kwaliteit fan' e ôfbylding.

Qubes leveret har eigen ark foar VM-yntegraasje. Alderearst is dit in grafysk subsysteem - finsters fan ferskate VM's wurde werjûn op ien buroblêd mei in eigen kleurframe. Yn it algemien binne yntegraasje-ark basearre op 'e mooglikheden fan' e hypervisor - dielde ûnthâld (Xen-subsydzjetabel), notifikaasje-ark (Xen-evenemintkanaal), dielde opslach xenstore en it vchan-kommunikaasjeprotokol. Mei har help wurde de basiskomponinten qrexec en qubes-rpc, en applikaasjetsjinsten ymplementearre - audio- as USB-omlieding, it oerdragen fan bestannen as klamboerdynhâld, it útfieren fan kommando's en it starten fan applikaasjes. It is mooglik om belied yn te stellen wêrmei jo de beskikbere tsjinsten op in VM kinne beheine. De figuer hjirûnder is in foarbyld fan 'e proseduere foar it inisjalisearjen fan de ynteraksje fan twa VM's.

QubesOS brûke om te wurkjen mei Windows 7

Sa wurdt wurk yn 'e VM útfierd sûnder in netwurk te brûken, wêrtroch folslein gebrûk fan autonome VM's mooglik makket om ynformaasjelekkage te foarkommen. Bygelyks, dit is hoe't skieding fan kryptografyske operaasjes (PGP / SSH) wurdt ymplementearre, as privee kaaien wurde brûkt yn isolearre VM's en net fierder gean.

Sjabloanen, applikaasje en ienmalige VM's

Alle wurk fan brûkers yn Qubes wurdt dien yn firtuele masines. It haadhostsysteem wurdt brûkt om se te kontrolearjen en te visualisearjen. It OS wurdt ynstalleare tegearre mei in basisset fan sjabloan-basearre firtuele masines (TemplateVM). Dit sjabloan is in Linux VM basearre op de Fedora- as Debian-distribúsje, mei yntegraasje-ark ynstalleare en konfigureare, en tawijde systeem- en brûkerspartysjes. Ynstallaasje en bywurkjen fan software wurdt útfierd troch in standert pakketbehearder (dnf of apt) fan konfigureare repositories mei ferplichte ferifikaasje fan digitale hantekening (GnuPG). It doel fan sokke VM's is om fertrouwen te garandearjen yn applikaasje VM's lansearre op har basis.

By it opstarten brûkt in applikaasje VM (AppVM) in momintopname fan 'e systeempartition fan' e oerienkommende VM-sjabloan, en nei it foltôgjen wisket dizze momintopname sûnder wizigingen op te slaan. De gegevens dy't nedich binne troch de brûker wurde opslein yn in brûkerspartition unyk foar elke applikaasje VM, dy't yn 'e thúsmap is monteard.

QubesOS brûke om te wurkjen mei Windows 7

It brûken fan disposable VM's (disposableVM) kin nuttich wêze út in feiligenspunt. Sa'n VM wurdt makke op basis fan in sjabloan op it momint fan opstarten en wurdt lansearre foar ien doel - om ien applikaasje út te fieren, wurk te foltôgjen nei't it is sluten. Wegwerp VM's kinne brûkt wurde om fertochte bestannen te iepenjen wêrfan de ynhâld kin liede ta eksploitaasje fan spesifike kwetsberens fan applikaasjes. De mooglikheid om in ienmalige VM út te fieren is yntegrearre yn de triembehearder (Nautilus) en e-postkliïnt (Thunderbird).

Windows VM kin ek brûkt wurde om in sjabloan en in ienmalige VM te meitsjen troch it brûkersprofyl nei in aparte seksje te ferpleatsen. Yn ús ferzje sil sa'n sjabloan brûkt wurde troch de brûker foar administraasjetaken en applikaasjeynstallaasje. Op grûn fan it sjabloan sille ferskate applikaasje-VM's makke wurde - mei beheinde tagong ta it netwurk (standert sys-firewall-mooglikheden) en hielendal sûnder tagong ta it netwurk (in firtuele netwurkapparaat is net oanmakke). Alle wizigingen en applikaasjes ynstalleare yn it sjabloan sille beskikber wêze om te wurkjen yn dizze VM's, en sels as blêdwizerprogramma's wurde yntrodusearre, sille se gjin netwurk tagong hawwe foar kompromis.

Fjochtsje foar Windows

De funksjes hjirboppe beskreaun binne de basis fan Qubes en wurkje frij stabyl; de swierrichheden begjinne mei Windows. Om Windows te yntegrearjen, moatte jo in set gastark brûke Qubes Windows Tools (QWT), dy't sjauffeurs omfettet foar it wurkjen mei Xen, in qvideo-bestjoerder en in set nutsbedriuwen foar ynformaasje-útwikseling (bestânferfier, klamboerd). It ynstallaasje- en konfiguraasjeproses is yn detail dokumintearre op 'e projektwebside, dus wy sille ús applikaasjeûnderfining diele.

De wichtichste muoite is yn wêzen it gebrek oan stipe foar de ûntwikkele ark. Key Developers (QWT) liket net beskikber te wêzen en it Windows-yntegraasjeprojekt wachtet op in leadûntwikkelder. Dêrom, earst fan alle, wie it nedich om te beoardieljen syn prestaasjes en foarmje in begryp fan de mooglikheid om te stypjen it selsstannich, as nedich. It dreechste om te ûntwikkeljen en te debuggen is de grafyske stjoerprogramma, dy't de fideoadapter en werjefte emulearret om in ôfbylding te generearjen yn dielde ûnthâld, wêrtroch jo it heule buroblêd as it applikaasjefinster direkt yn it hostsysteemfinster kinne werjaan. Tidens de analyze fan 'e operaasje fan' e bestjoerder hawwe wy de koade oanpast foar montage yn in Linux-omjouwing en in debuggen-skema útwurke tusken twa Windows-gastsystemen. Op it poadium fan crossbuild hawwe wy ferskate wizigingen makke dy't dingen foar ús ferienfâldige, benammen yn termen fan "stille" ynstallaasje fan nutsbedriuwen, en ek elimineare de ferfelende degradaasje fan prestaasjes by it wurkjen yn in VM foar in lange tiid. Wy hawwe de resultaten fan it wurk yn in apart presintearre repositories, dus net lang ynspirearjend Lead Qubes Developer.

De meast krityske poadium yn termen fan gastsysteemstabiliteit is it opstarten fan Windows, hjir kinne jo it bekende blauwe skerm sjen (of net iens sjen). Foar de measte fan 'e identifisearre flaters wiene d'r ferskate oplossingen - it eliminearjen fan Xen-blok-apparaatbestjoerders, it útskeakeljen fan VM-ûnthâldbalâns, it reparearjen fan netwurkynstellingen en it minimalisearjen fan it oantal kearnen. Us gastark bouwe ynstallaasjes en rint op folslein bywurke Windows 7 en Windows 10 (útsein qvideo).

By it ferpleatsen fan in echte omjouwing nei in firtuele, ûntstiet in probleem mei it aktivearjen fan Windows as foarôf ynstalleare OEM-ferzjes wurde brûkt. Sokke systemen brûke aktivearring basearre op lisinsjes spesifisearre yn 'e UEFI fan it apparaat. Om de aktivearring korrekt te ferwurkjen, is it nedich om ien fan 'e folsleine ACPI-seksjes fan it hostsysteem (SLIC-tabel) oer te setten nei it gastsysteem en de oaren in bytsje te bewurkjen, registrearje de fabrikant. Xen lit jo de ACPI-ynhâld fan ekstra tabellen oanpasse, mar sûnder de wichtichste te feroarjen. In patch fan in ferlykber OpenXT-projekt, dat waard oanpast foar Qubes, holp mei de oplossing. De reparaasjes like nuttich net allinich foar ús en waarden oerset yn it haad Qubes-repository en de Libvirt-bibleteek.

De foar de hân lizzende neidielen fan Windows-yntegraasje-ark omfetsje it gebrek oan stipe foar audio, USB-apparaten, en de kompleksiteit fan wurkjen mei media, om't d'r gjin hardware-stipe is foar de GPU. Mar it boppesteande foarkomt net it gebrûk fan 'e VM foar it wurkjen mei kantoardokuminten, noch foarkomt it de lansearring fan spesifike bedriuwsapplikaasjes.

De eask om te wikseljen nei bestjoeringsmodus sûnder in netwurk of mei in beheind netwurk nei it meitsjen fan in Windows VM-sjabloan waard foldien troch it meitsjen fan de passende konfiguraasjes fan applikaasje-VM's, en de mooglikheid om selektyf te ferbinen útnimbere media waard ek oplost troch standert OS-ark - as ferbûn , se binne beskikber yn it systeem VM sys-usb, wêrfan se kinne wurde "trochstjoerd" nei de fereaske VM. It buroblêd fan de brûker sjocht der sa út.

QubesOS brûke om te wurkjen mei Windows 7

De definitive ferzje fan it systeem waard posityf (sa fier sa't sa'n wiidweidige oplossing makket it mooglik) akseptearre troch brûkers, en de standert ark fan it systeem makke it mooglik om te wreidzjen de applikaasje nei de brûker syn mobile wurkstasjonStencils mei tagong fia VPN.

Yn stee fan in konklúzje

Virtualisearring yn 't algemien lit jo de risiko's ferminderje fan it brûken fan Windows-systemen sûnder stipe - it twingt gjin kompatibiliteit mei nije hardware, it lit jo tagong ta it systeem útslute of kontrolearje fia it netwurk of fia ferbûne apparaten, en it makket it mooglik om ymplemintearje in ienmalige startomjouwing.

Op grûn fan it idee fan isolemint troch virtualisaasje, Qubes OS helpt jo dizze en oare meganismen foar feiligens te benutten. Fan bûten sjogge in protte minsken Qubes yn 't foarste plak as in winsk foar anonimiteit, mar it is in nuttich systeem sawol foar yngenieurs, dy't faak jonglerje mei projekten, ynfrastruktuer en geheimen om tagong te krijen, en foar feiligensûndersikers. Skieding fan applikaasjes, gegevens en formalisaasje fan har ynteraksje binne de earste stappen fan bedrigingsanalyse en feiligenssysteemûntwerp. Dizze skieding helpt om ynformaasje te strukturearjen en de kâns op flaters te ferminderjen troch de minsklike faktor - hast, wurgens, ensfh.

Op it stuit is de wichtichste klam yn ûntwikkeling op it útwreidzjen fan de funksjonaliteit fan Linux-omjouwings. Ferzje 4.1 wurdt taret foar frijlitting, dy't basearre sil wêze op Fedora 31 en aktuele ferzjes omfetsje fan 'e kaaikomponinten Xen en Libvirt. It is de muoite wurdich op te merken dat Qubes is makke troch professionals foar ynformaasjefeiligens dy't altyd fernijings frijlitte as nije bedrigingen of flaters wurde identifisearre.

Nei wurd

Ien fan 'e eksperimintele mooglikheden dy't wy ûntwikkelje kinne ús meitsje VM's mei stipe foar gast tagong ta de GPU basearre op Intel GVT-g technology, wêrtroch't wy de mooglikheden fan' e grafyske adapter brûke kinne en de omfang fan it systeem signifikant útwreidzje. Op it stuit fan skriuwen wurket dizze funksjonaliteit foar testbuildingen fan Qubes 4.1, en is beskikber op GitHub.

Boarne: www.habr.com

Add a comment