Gebruik QubesOS om met Windows 7 te werk

Daar is nie baie artikels oor Habré wat aan die Qubes-bedryfstelsel gewy is nie, en dié wat ek gesien het, beskryf nie veel van die ervaring van die gebruik daarvan nie. Onder die snit hoop ek om dit reg te stel deur die voorbeeld van die gebruik van Qubes as 'n manier van beskerming (teen) die Windows-omgewing te gebruik en terselfdertyd die aantal Russiessprekende gebruikers van die stelsel te skat.

Gebruik QubesOS om met Windows 7 te werk

Hoekom Qubes?

Die verhaal van die einde van tegniese ondersteuning vir Windows 7 en die toenemende angs van gebruikers het gelei tot die behoefte om die werk van hierdie bedryfstelsel te organiseer, met inagneming van die volgende vereistes:

  • verseker die gebruik van ten volle geaktiveerde Windows 7 met die vermoë vir die gebruiker om opdaterings en verskeie toepassings te installeer (insluitend via die internet);
  • implementeer volledige of selektiewe uitsluiting van netwerkinteraksies gebaseer op toestande (outonome werking en verkeersfiltreermodusse);
  • bied die vermoë om verwyderbare media en toestelle selektief te koppel.

Hierdie stel beperkings veronderstel 'n duidelik voorbereide gebruiker, aangesien onafhanklike administrasie toegelaat word, en die beperkings hou nie verband met die blokkering van sy potensiële optrede nie, maar met die uitsluiting van moontlike foute of vernietigende sagteware-effekte. Dié. Daar is geen interne oortreder in die model nie.

In ons soeke na 'n oplossing, het ons vinnig die idee laat vaar om beperkings te implementeer met behulp van ingeboude of bykomende Windows-instrumente, aangesien dit redelik moeilik is om 'n gebruiker met administrateurregte effektief te beperk, wat hom die vermoë laat om toepassings te installeer.

Die volgende oplossing was isolasie met behulp van virtualisering. Bekende gereedskap vir lessenaarvirtualisering (byvoorbeeld, soos virtualbox) is swak geskik om sekuriteitsprobleme op te los en die gelyste beperkings sal deur die gebruiker gedoen moet word deur voortdurend die eienskappe van die gas virtuele masjien te verander of aan te pas (hierna verwys na as VM), wat die risiko van foute verhoog.

Terselfdertyd het ons ondervinding gehad met die gebruik van Qubes as 'n gebruiker se lessenaarstelsel, maar het twyfel gehad oor die stabiliteit van werk met gas Windows. Daar is besluit om die huidige weergawe van Qubes na te gaan, aangesien die genoemde beperkings baie goed inpas by die paradigma van hierdie stelsel, veral die implementering van virtuele masjiensjablone en visuele integrasie. Vervolgens sal ek probeer om kortliks oor die idees en gereedskap van Qubes te praat, deur die voorbeeld van die oplossing van die probleem te gebruik.

Tipes Xen-virtualisering

Qubes is gebaseer op die Xen-hypervisor, wat die funksies van die bestuur van verwerkerhulpbronne, geheue en virtuele masjiene minimaliseer. Alle ander werk met toestelle is gekonsentreer in dom0 gebaseer op die Linux-kern (Qubes vir dom0 gebruik die Fedora-verspreiding).

Gebruik QubesOS om met Windows 7 te werk

Xen ondersteun verskeie soorte virtualisering (ek sal voorbeelde vir Intel-argitektuur gee, hoewel Xen ander ondersteun):

  • paravirtualisering (PV) - 'n virtualiseringsmodus sonder die gebruik van hardeware-ondersteuning, wat herinner aan houervirtualisering, kan gebruik word vir stelsels met 'n aangepaste kern (dom0 werk in hierdie modus);
  • volle virtualisasie (HVM) - in hierdie modus word hardeware-ondersteuning vir verwerkerhulpbronne gebruik, en alle ander toerusting word nageboots met QEMU. Dit is die mees universele manier om verskeie bedryfstelsels te laat loop;
  • paravirtualisering van hardeware (PVH - ParaVirtualized Hardware) - 'n virtualiseringsmodus wat hardeware-ondersteuning gebruik wanneer, om met hardeware te werk, die gasstelselkern drywers gebruik wat aangepas is vir die vermoëns van die hipervisor (byvoorbeeld gedeelde geheue), wat die behoefte aan QEMU-emulasie uitskakel en die verhoging van I/O werkverrigting. Die Linux-kern vanaf 4.11 kan in hierdie modus werk.

Gebruik QubesOS om met Windows 7 te werk

Begin met Qubes 4.0, vir sekuriteitsredes, word die gebruik van paravirtualiseringsmodus laat vaar (insluitend weens bekende kwesbaarhede in Intel-argitektuur, wat gedeeltelik versag word deur die gebruik van volle virtualisasie); PVH-modus word by verstek gebruik.

Wanneer emulasie (HVM-modus) gebruik word, word QEMU geloods in 'n geïsoleerde VM genaamd stubdomain, waardeur die risiko's van die ontginning van potensiële foute in die implementering verminder word (die QEMU-projek bevat baie kode, insluitend vir verenigbaarheid).
In ons geval moet hierdie modus vir Windows gebruik word.

Diens virtuele masjiene

In die Qubes-sekuriteitsargitektuur is een van die sleutelvermoëns van die hipervisor die oordrag van PCI-toestelle na die gasomgewing. Hardeware-uitsluiting laat jou toe om die gasheerdeel van die stelsel te isoleer van eksterne aanvalle. Xen ondersteun dit vir PV- en HVM-modusse, in die tweede geval vereis dit ondersteuning vir IOMMU (Intel VT-d) - hardeware geheuebestuur vir gevirtualiseerde toestelle.

Dit skep verskeie virtuele stelselmasjiene:

  • sys-net, waarheen netwerktoestelle oorgedra word en wat as 'n brug vir ander VM's gebruik word, byvoorbeeld dié wat die funksies van 'n firewall of 'n VPN-kliënt implementeer;
  • sys-usb, waarna USB- en ander randtoestelbeheerders oorgedra word;
  • sys-firewall, wat nie toestelle gebruik nie, maar werk as 'n firewall vir gekoppelde VM's.

Om met USB-toestelle te werk, word instaanbedienerdienste gebruik, wat onder andere voorsien:

  • vir die HID (menslike koppelvlak toestel) toestelklas, stuur opdragte na dom0;
  • vir verwyderbare media, herleiding van toestelvolumes na ander VM's (behalwe vir dom0);
  • herlei direk na 'n USB-toestel (met behulp van USBIP en integrasie gereedskap).

In so 'n konfigurasie kan 'n suksesvolle aanval deur die netwerkstapel of gekoppelde toestelle lei tot die kompromie van slegs die lopende diens VM, en nie die hele stelsel as 'n geheel nie. En nadat die diens-VM herbegin is, sal dit in sy oorspronklike toestand gelaai word.

VM integrasie gereedskap

Daar is verskeie maniere om met die lessenaar van 'n virtuele masjien te kommunikeer - die installering van toepassings in die gasstelsel of die nabootsing van video met behulp van virtualiseringsnutsgoed. Gastoepassings kan verskeie universele afgeleë toegangshulpmiddels wees (RDP, VNC, Spice, ens.) Of aangepas by 'n spesifieke hipervisor (sulke hulpmiddels word gewoonlik gashulpmiddels genoem). 'n Gemengde opsie kan ook gebruik word, wanneer die hipervisor I/O vir die gasstelsel naboots, en ekstern die vermoë bied om 'n protokol te gebruik wat I/O kombineer, byvoorbeeld, soos Spice. Terselfdertyd optimaliseer afstandtoegangsinstrumente gewoonlik die beeld, aangesien dit werk via 'n netwerk behels, wat nie 'n positiewe uitwerking op die kwaliteit van die beeld het nie.

Qubes bied sy eie gereedskap vir VM-integrasie. Eerstens is dit 'n grafiese substelsel - vensters van verskillende VM's word op 'n enkele lessenaar met hul eie kleurraam vertoon. Oor die algemeen is integrasienutsgoed gebaseer op die vermoëns van die hipervisor - gedeelde geheue (Xen-toekenningstabel), kennisgewingnutsgoed (Xen-gebeurteniskanaal), gedeelde berging xenstore en die vchan-kommunikasieprotokol. Met hul hulp word die basiese komponente qrexec en qubes-rpc, en toepassingsdienste geïmplementeer - klank- of USB-herleiding, die oordrag van lêers of knipbordinhoud, die uitvoering van opdragte en die begin van toepassings. Dit is moontlik om beleide in te stel wat jou toelaat om die dienste wat op 'n VM beskikbaar is, te beperk. Die figuur hieronder is 'n voorbeeld van die prosedure vir die inisiasie van die interaksie van twee VM's.

Gebruik QubesOS om met Windows 7 te werk

Werk in die VM word dus uitgevoer sonder om 'n netwerk te gebruik, wat die volle gebruik van outonome VM's toelaat om inligtinglek te vermy. Dit is byvoorbeeld hoe skeiding van kriptografiese bewerkings (PGP/SSH) geïmplementeer word, wanneer private sleutels in geïsoleerde VM's gebruik word en nie verder gaan as dit nie.

Sjablone, toepassings en eenmalige VM'e

Alle gebruikerswerk in Qubes word in virtuele masjiene gedoen. Die hoofgasheerstelsel word gebruik om hulle te beheer en te visualiseer. Die bedryfstelsel is geïnstalleer saam met 'n basiese stel sjabloon-gebaseerde virtuele masjiene (TemplateVM). Hierdie sjabloon is 'n Linux VM gebaseer op die Fedora of Debian verspreiding, met integrasie gereedskap geïnstalleer en gekonfigureer, en toegewyde stelsel en gebruiker partisies. Installasie en opdatering van sagteware word uitgevoer deur 'n standaard pakketbestuurder (dnf of apt) vanaf gekonfigureerde bewaarplekke met verpligte digitale handtekeningverifikasie (GnuPG). Die doel van sulke VM'e is om vertroue te verseker in toepassing VM'e wat op hul basis geloods word.

By opstart gebruik 'n toepassing VM (AppVM) 'n momentopname van die stelselpartisie van die ooreenstemmende VM-sjabloon, en na voltooiing vee hierdie momentopname uit sonder om veranderinge te stoor. Die data wat deur die gebruiker benodig word, word gestoor in 'n gebruikerspartisie wat uniek is vir elke toepassing VM, wat in die tuisgids gemonteer is.

Gebruik QubesOS om met Windows 7 te werk

Die gebruik van weggooibare VM's (weggooibare VM's) kan nuttig wees vanuit 'n sekuriteitsoogpunt. So 'n VM word geskep op grond van 'n sjabloon ten tyde van opstart en word vir een doel geloods - om een ​​toepassing uit te voer, en voltooi werk nadat dit gesluit is. Weggooibare VM's kan gebruik word om verdagte lêers oop te maak waarvan die inhoud kan lei tot die uitbuiting van spesifieke toepassingkwesbaarhede. Die vermoë om 'n eenmalige VM te laat loop, is geïntegreer in die lêerbestuurder (Nautilus) en e-poskliënt (Thunderbird).

Windows VM kan ook gebruik word om 'n sjabloon en 'n eenmalige VM te skep deur die gebruikersprofiel na 'n aparte afdeling te skuif. In ons weergawe sal so 'n sjabloon deur die gebruiker gebruik word vir administrasietake en toepassingsinstallasie. Op grond van die sjabloon sal verskeie toepassing-VM's geskep word - met beperkte toegang tot die netwerk (standaard sys-brandmuur-vermoëns) en glad nie toegang tot die netwerk nie ('n virtuele netwerktoestel word nie geskep nie). Alle veranderinge en toepassings wat in die sjabloon geïnstalleer is, sal beskikbaar wees om in hierdie VM's te werk, en selfs al word boekmerkprogramme bekendgestel, sal hulle nie netwerktoegang hê vir kompromie nie.

Veg vir Windows

Die kenmerke hierbo beskryf is die basis van Qubes en werk redelik stabiel; die probleme begin met Windows. Om Windows te integreer, moet jy 'n stel gasnutsmiddels Qubes Windows Tools (QWT) gebruik, wat drywers insluit om met Xen te werk, 'n qvideo-bestuurder en 'n stel nutsprogramme vir inligtinguitruiling (lêeroordrag, knipbord). Die installasie- en konfigurasieproses word in detail op die projekwebwerf gedokumenteer, so ons sal ons toepassingservaring deel.

Die grootste probleem is in wese die gebrek aan ondersteuning vir die ontwikkelde gereedskap. Sleutelontwikkelaars (QWT) blyk nie beskikbaar te wees nie en die Windows-integrasieprojek wag op 'n hoofontwikkelaar. Daarom was dit eerstens nodig om die prestasie daarvan te assesseer en 'n begrip te vorm van die moontlikheid om dit onafhanklik te ondersteun, indien nodig. Die moeilikste om te ontwikkel en te ontfout is die grafiese drywer, wat die video-adapter en vertoon naboots om 'n beeld in gedeelde geheue te genereer, sodat jy die hele lessenaar of die toepassingsvenster direk in die gasheerstelselvenster kan vertoon. Tydens die ontleding van die drywer se werking het ons die kode aangepas vir samestelling in 'n Linux-omgewing en 'n ontfoutingskema tussen twee Windows-gasstelsels uitgewerk. Op die kruisbou-stadium het ons verskeie veranderinge aangebring wat dinge vir ons vereenvoudig het, hoofsaaklik in terme van "stille" installasie van nutsprogramme, en ook die irriterende agteruitgang van werkverrigting uitgeskakel wanneer jy vir 'n lang tyd in 'n VM werk. Ons het die resultate van die werk in 'n aparte aangebied bewaarplekke, dus nie lank nie inspirerend Lei Qubes-ontwikkelaar.

Die mees kritieke stadium in terme van gastestelselstabiliteit is die opstart van Windows, hier kan jy die bekende blou skerm sien (of nie eers sien nie). Vir die meeste van die geïdentifiseerde foute was daar verskeie oplossings – die uitskakeling van Xen-blok-toestelbestuurders, die deaktivering van VM-geheuebalansering, regstelling van netwerkinstellings en die vermindering van die aantal kerns. Ons gasnutsgoedbou-installasies en loop op volledig opgedateerde Windows 7 en Windows 10 (behalwe qvideo).

Wanneer van 'n werklike omgewing na 'n virtuele een beweeg word, ontstaan ​​'n probleem met die aktivering van Windows as vooraf geïnstalleerde OEM-weergawes gebruik word. Sulke stelsels gebruik aktivering gebaseer op lisensies gespesifiseer in die toestel se UEFI. Om die aktivering korrek te verwerk, is dit nodig om een ​​van die hele ACPI-afdelings van die gasheerstelsel (SLIC-tabel) na die gasstelsel te vertaal en die ander effens te wysig, en die vervaardiger te registreer. Xen laat jou toe om die ACPI-inhoud van bykomende tabelle aan te pas, maar sonder om die belangrikstes te verander. 'n Pleister van 'n soortgelyke OpenXT-projek, wat vir Qubes aangepas is, het met die oplossing gehelp. Die regstellings het nie net vir ons nuttig gelyk nie en is in die hoof Qubes-bewaarplek en die Libvirt-biblioteek vertaal.

Die ooglopende nadele van Windows-integrasie-instrumente sluit in die gebrek aan ondersteuning vir oudio, USB-toestelle en die kompleksiteit om met media te werk, aangesien daar geen hardeware-ondersteuning vir die GPU is nie. Maar bogenoemde verhoed nie die gebruik van die VM om met kantoordokumente te werk nie, en verhoed ook nie die bekendstelling van spesifieke korporatiewe toepassings nie.

Die vereiste om oor te skakel na bedryfsmodus sonder 'n netwerk of met 'n beperkte netwerk nadat 'n Windows VM-sjabloon geskep is, is vervul deur die toepaslike konfigurasies van toepassing-VM's te skep, en die moontlikheid om verwyderbare media selektief te koppel, is ook opgelos deur standaard OS-nutsgoed - wanneer dit gekoppel is , hulle is beskikbaar in die stelsel VM sys-usb, vanwaar hulle "aangestuur" kan word na die vereiste VM. Die gebruiker se lessenaar lyk iets soos hierdie.

Gebruik QubesOS om met Windows 7 te werk

Die finale weergawe van die stelsel is positief (sover so 'n omvattende oplossing dit toelaat) deur gebruikers aanvaar, en die standaard gereedskap van die stelsel het dit moontlik gemaak om die toepassing uit te brei na die gebruiker se mobiele werkstasie met toegang via VPN.

In plaas daarvan om 'n gevolgtrekking

Virtualisering in die algemeen laat jou toe om die risiko's van die gebruik van Windows-stelsels wat sonder ondersteuning gelaat word te verminder - dit dwing nie versoenbaarheid met nuwe hardeware af nie, dit laat jou toe om toegang tot die stelsel oor die netwerk of deur gekoppelde toestelle uit te sluit of te beheer, en dit laat jou toe om 'n eenmalige bekendstellingsomgewing te implementeer.

Gebaseer op die idee van isolasie deur virtualisering, help Qubes OS jou om hierdie en ander meganismes vir sekuriteit te benut. Van buite sien baie mense Qubes hoofsaaklik as 'n begeerte na anonimiteit, maar dit is 'n nuttige stelsel vir beide ingenieurs, wat dikwels met projekte, infrastruktuur en geheime jonglere om toegang daartoe te verkry, en vir sekuriteitsnavorsers. Skeiding van toepassings, data en formalisering van hul interaksie is die aanvanklike stappe van bedreigingsanalise en sekuriteitstelselontwerp. Hierdie skeiding help om inligting te struktureer en verminder die waarskynlikheid van foute as gevolg van die menslike faktor - haas, moegheid, ens.

Tans is die hoofklem in ontwikkeling op die uitbreiding van die funksionaliteit van Linux-omgewings. Weergawe 4.1 word voorberei vir vrystelling, wat op Fedora 31 gebaseer sal wees en huidige weergawes van die sleutelkomponente Xen en Libvirt insluit. Dit is opmerklik dat Qubes geskep word deur inligtingsekuriteitskundiges wat altyd opdaterings dadelik vrystel as nuwe bedreigings of foute geïdentifiseer word.

nawoord

Een van die eksperimentele vermoëns wat ons ontwikkel stel ons in staat om VM's te skep met ondersteuning vir gastetoegang tot die GPU gebaseer op Intel GVT-g tegnologie, wat ons in staat stel om die vermoëns van die grafiese adapter te gebruik en die omvang van die stelsel aansienlik uit te brei. Ten tyde van die skryf hiervan werk hierdie funksionaliteit vir toetsbou van Qubes 4.1, en is beskikbaar op Github.

Bron: will.com

Voeg 'n opmerking