QubesOS izmantoŔana darbam ar Windows 7

Nav daudz rakstu par HabrĆ©, kas veltÄ«ti Qubes operētājsistēmai, un tajos, kurus esmu redzējis, nav daudz aprakstÄ«ta tās lietoÅ”anas pieredze. Zem griezuma es ceru to labot, izmantojot piemēru par Qubes izmantoÅ”anu kā aizsardzÄ«bas lÄ«dzekli (pret) Windows vidi un tajā paŔā laikā novērtējot sistēmas krievvalodÄ«go lietotāju skaitu.

QubesOS izmantoŔana darbam ar Windows 7

Kāpēc Qubes?

Stāsts par Windows 7 tehniskā atbalsta beigām un pieaugoÅ”o lietotāju satraukumu izraisÄ«ja nepiecieÅ”amÄ«bu organizēt Ŕīs OS darbu, ņemot vērā Ŕādas prasÄ«bas:

  • nodroÅ”ināt pilnÄ«bā aktivizētas Windows 7 lietoÅ”anu ar iespēju lietotājam instalēt atjauninājumus un dažādas lietojumprogrammas (arÄ« izmantojot internetu);
  • ieviest pilnÄ«gu vai selektÄ«vu tÄ«kla mijiedarbÄ«bas izslēgÅ”anu, pamatojoties uz nosacÄ«jumiem (autonomā darbÄ«ba un trafika filtrÄ“Å”anas režīmi);
  • nodroÅ”ina iespēju selektÄ«vi savienot noņemamos datu nesējus un ierÄ«ces.

Å is ierobežojumu kopums paredz skaidri sagatavotu lietotāju, jo ir atļauta neatkarÄ«ga administrÄ“Å”ana, un ierobežojumi nav saistÄ«ti ar viņa iespējamo darbÄ«bu bloÄ·Ä“Å”anu, bet gan ar iespējamu kļūdu vai destruktÄ«vu programmatÅ«ras efektu izslēgÅ”anu. Tie. ModelÄ« nav iekŔēja likumpārkāpēja.

Meklējot risinājumu, mēs ātri atteicāmies no idejas ieviest ierobežojumus, izmantojot iebūvētos vai papildu Windows rīkus, jo ir diezgan grūti efektīvi ierobežot lietotāju ar administratora tiesībām, atstājot viņam iespēju instalēt lietojumprogrammas.

Nākamais risinājums bija izolācija, izmantojot virtualizāciju. Labi zināmie darbvirsmas virtualizācijas rÄ«ki (piemēram, virtualbox) ir vāji piemēroti droŔības problēmu risināŔanai un uzskaitÄ«tie ierobežojumi bÅ«s jāveic lietotājam, pastāvÄ«gi pārslēdzot vai pielāgojot viesu virtuālās maŔīnas (turpmāk tekstā) rekvizÄ«tus. kā VM), kas palielina kļūdu risku.

Tajā paŔā laikā mums bija pieredze, izmantojot Qubes kā lietotāja darbvirsmas sistēmu, taču Å”aubÄ«jāmies par stabilitāti darbā ar viesu Windows. Tika nolemts pārbaudÄ«t paÅ”reizējo Qubes versiju, jo norādÄ«tie ierobežojumi ļoti labi iekļaujas Ŕīs sistēmas paradigmā, Ä«paÅ”i virtuālās maŔīnas veidņu ievieÅ”anā un vizuālajā integrācijā. Tālāk es mēģināŔu Ä«si pastāstÄ«t par Qubes idejām un instrumentiem, izmantojot problēmas risināŔanas piemēru.

Xen virtualizācijas veidi

Qubes pamatā ir Xen hipervizors, kas samazina procesora resursu, atmiņas un virtuālo maŔīnu pārvaldÄ«bas funkcijas. Viss pārējais darbs ar ierÄ«cēm ir koncentrēts dom0, pamatojoties uz Linux kodolu (Qubes for dom0 izmanto Fedora izplatÄ«Å”anu).

QubesOS izmantoŔana darbam ar Windows 7

Xen atbalsta vairākus virtualizācijas veidus (es sniegÅ”u piemērus Intel arhitektÅ«rai, lai gan Xen atbalsta citus):

  • paravirtualizācija (PV) - virtualizācijas režīms bez aparatÅ«ras atbalsta izmantoÅ”anas, kas atgādina konteineru virtualizāciju, var tikt izmantots sistēmām ar pielāgotu kodolu (Å”ajā režīmā darbojas dom0);
  • pilna virtualizācija (HVM) - Å”ajā režīmā procesora resursiem tiek izmantots aparatÅ«ras atbalsts, un visas pārējās iekārtas tiek emulētas, izmantojot QEMU. Å is ir universālākais veids, kā palaist dažādas operētājsistēmas;
  • aparatÅ«ras paravirtualizācija (PVH - ParaVirtualized Hardware) - virtualizācijas režīms, kurā tiek izmantots aparatÅ«ras atbalsts, kad, lai strādātu ar aparatÅ«ru, viesu sistēmas kodols izmanto draiverus, kas pielāgoti hipervizora iespējām (piemēram, koplietojamā atmiņa), novērÅ”ot nepiecieÅ”amÄ«bu pēc QEMU emulācijas. un palielināt I/O veiktspēju. Å ajā režīmā var darboties Linux kodols, sākot no 4.11.

QubesOS izmantoŔana darbam ar Windows 7

Sākot ar Qubes 4.0, droŔības apsvērumu dēļ paravirtualizācijas režīma izmantoÅ”ana ir atmesta (tostarp zināmo Intel arhitektÅ«ras ievainojamÄ«bu dēļ, kuras daļēji mazina pilnas virtualizācijas izmantoÅ”ana); PVH režīms tiek izmantots pēc noklusējuma.

Izmantojot emulāciju (HVM režīmu), QEMU tiek palaists izolētā virtuālajā maŔīnā, ko sauc par stubdomain, tādējādi samazinot iespējamo kļūdu izmantoÅ”anas risku ievieÅ”anā (QEMU projektā ir daudz koda, tostarp saderÄ«bas nodroÅ”ināŔanai).
MÅ«su gadÄ«jumā Å”is režīms ir jāizmanto operētājsistēmai Windows.

Apkalpo virtuālās maŔīnas

Qubes droŔības arhitektÅ«rā viena no galvenajām hipervizora iespējām ir PCI ierīču pārsÅ«tÄ«Å”ana uz viesu vidi. AparatÅ«ras izslēgÅ”ana ļauj izolēt sistēmas resursdatora daļu no ārējiem uzbrukumiem. Xen to atbalsta PV un HVM režīmiem, otrajā gadÄ«jumā nepiecieÅ”ams atbalsts IOMMU (Intel VT-d) - aparatÅ«ras atmiņas pārvaldÄ«bai virtualizētām ierÄ«cēm.

Tādējādi tiek izveidotas vairākas sistēmas virtuālās maŔīnas:

  • sys-net, uz kuru tiek pārsÅ«tÄ«tas tÄ«kla ierÄ«ces un kas tiek izmantots kā tilts citām virtuālajām maŔīnām, piemēram, tām, kas realizē ugunsmÅ«ra vai VPN klienta funkcijas;
  • sys-usb, uz kuru tiek pārsÅ«tÄ«ti USB un citu perifērijas ierīču kontrolleri;
  • sys-firewall, kas neizmanto ierÄ«ces, bet darbojas kā ugunsmÅ«ris savienotajām virtuālajām maŔīnām.

Lai strādātu ar USB ierÄ«cēm, tiek izmantoti starpniekservera pakalpojumi, kas cita starpā nodroÅ”ina:

  • HID (cilvēka interfeisa ierÄ«ces) ierīču klasei komandu nosÅ«tÄ«Å”ana uz dom0;
  • noņemamiem datu nesējiem ā€“ ierīču apjomu novirzÄ«Å”ana uz citām virtuālajām maŔīnām (izņemot dom0);
  • novirzÄ«Å”ana tieÅ”i uz USB ierÄ«ci (izmantojot USBIP un integrācijas rÄ«kus).

Šādā konfigurācijā veiksmÄ«gs uzbrukums, izmantojot tÄ«kla steku vai pievienotās ierÄ«ces, var apdraudēt tikai darbojoÅ”os pakalpojuma VM, nevis visu sistēmu kopumā. Un pēc pakalpojuma VM restartÄ“Å”anas tas tiks ielādēts sākotnējā stāvoklÄ«.

VM integrācijas rīki

Ir vairāki veidi, kā mijiedarboties ar virtuālās maŔīnas darbvirsmu ā€“ lietojumprogrammu instalÄ“Å”ana viesu sistēmā vai video emulÄ“Å”ana, izmantojot virtualizācijas rÄ«kus. Viesu lietojumprogrammas var bÅ«t dažādi universālie attālās piekļuves rÄ«ki (RDP, VNC, Spice u.c.) vai pielāgoti konkrētam hipervizoram (Ŕādus rÄ«kus parasti sauc par viesu utilÄ«tiem). Var izmantot arÄ« jauktu opciju, kad hipervizors emulē I/O viesu sistēmai un ārēji nodroÅ”ina iespēju izmantot protokolu, kas apvieno I/O, piemēram, piemēram, Spice. Tajā paŔā laikā attālās piekļuves rÄ«ki parasti optimizē attēlu, jo tie ietver darbu, izmantojot tÄ«klu, kas neietekmē attēla kvalitāti.

Qubes nodroÅ”ina savus rÄ«kus VM integrācijai. Pirmkārt, Ŕī ir grafikas apakÅ”sistēma - logi no dažādām virtuālajām maŔīnām tiek parādÄ«ti vienā darbvirsmā ar savu krāsu rāmi. Kopumā integrācijas rÄ«ki ir balstÄ«ti uz hipervizora iespējām - koplietojamo atmiņu (Xen pieŔķirÅ”anas tabula), paziņojumu rÄ«kiem (Xen notikumu kanāls), koplietojamo krātuves xenstore un vchan sakaru protokolu. Ar to palÄ«dzÄ«bu tiek ieviesti pamata komponenti qrexec un qubes-rpc un lietojumprogrammu pakalpojumi - audio vai USB novirzÄ«Å”ana, failu vai starpliktuves satura pārsÅ«tÄ«Å”ana, komandu izpilde un lietojumprogrammu palaiÅ”ana. Ir iespējams iestatÄ«t politikas, kas ļauj ierobežot virtuālajā maŔīnā pieejamos pakalpojumus. Tālāk redzamajā attēlā ir parādÄ«ts divu virtuālo maŔīnu mijiedarbÄ«bas inicializācijas procedÅ«ras piemērs.

QubesOS izmantoŔana darbam ar Windows 7

Tādējādi darbs VM tiek veikts, neizmantojot tÄ«klu, kas ļauj pilnÄ«bā izmantot autonomās VM, lai izvairÄ«tos no informācijas noplÅ«des. Piemēram, Ŕādi tiek realizēta kriptogrāfisko operāciju (PGP/SSH) atdalÄ«Å”ana, kad privātās atslēgas tiek izmantotas izolētās virtuālajās maŔīnās un nepārsniedz tās.

Veidnes, lietojumprogrammas un vienreizējās virtuālās maŔīnas

Viss lietotāju darbs Qubes tiek veikts virtuālajās maŔīnās. Galvenā resursdatora sistēma tiek izmantota, lai tos kontrolētu un vizualizētu. OS ir instalēta kopā ar pamata komplektu uz veidnēm balstÄ«tu virtuālo maŔīnu (TemplateVM). Å Ä« veidne ir Linux virtuālā maŔīna, kuras pamatā ir Fedora vai Debian izplatÄ«Å”ana, ar instalētiem un konfigurētiem integrācijas rÄ«kiem un Ä«paÅ”iem sistēmas un lietotāju nodalÄ«jumiem. ProgrammatÅ«ras instalÄ“Å”anu un atjaunināŔanu veic standarta pakotņu pārvaldnieks (dnf vai apt) no konfigurētām krātuvēm ar obligāto digitālā paraksta pārbaudi (GnuPG). Šādu virtuālo maŔīnu mērÄ·is ir nodroÅ”ināt uzticÄ«bu lietojumprogrammu virtuālajām maŔīnām, kas palaists uz to pamata.

StartÄ“Å”anas laikā lietojumprogrammas VM (AppVM) izmanto attiecÄ«gās VM veidnes sistēmas nodalÄ«juma momentuzņēmumu un pēc pabeigÅ”anas izdzÄ“Å” Å”o momentuzņēmumu, nesaglabājot izmaiņas. Lietotājam nepiecieÅ”amie dati tiek glabāti lietotāja nodalÄ«jumā, kas ir unikāls katrai lietojumprogrammas VM, kas ir uzstādÄ«ts mājas direktorijā.

QubesOS izmantoŔana darbam ar Windows 7

Vienreizējās lietoÅ”anas virtuālo maŔīnu (disposableVM) izmantoÅ”ana var bÅ«t noderÄ«ga no droŔības viedokļa. Šāda VM tiek izveidota, pamatojoties uz veidni palaiÅ”anas brÄ«dÄ«, un tiek palaista vienam mērÄ·im - vienas lietojumprogrammas izpildei, pabeidzot darbu pēc tās aizvērÅ”anas. Vienreizējās lietoÅ”anas virtuālās maŔīnas var izmantot, lai atvērtu aizdomÄ«gus failus, kuru saturs var izraisÄ«t noteiktu lietojumprogrammu ievainojamÄ«bu izmantoÅ”anu. Iespēja palaist vienreizēju virtuālo maŔīnu ir integrēta failu pārvaldniekā (Nautilus) un e-pasta klientā (Thunderbird).

Windows VM var izmantot arÄ«, lai izveidotu veidni un vienreizēju virtuālo maŔīnu, pārvietojot lietotāja profilu uz atseviŔķu sadaļu. MÅ«su versijā Ŕādu veidni lietotājs izmantos administrÄ“Å”anas uzdevumiem un lietojumprogrammu instalÄ“Å”anai. Pamatojoties uz veidni, tiks izveidotas vairākas lietojumprogrammu VM - ar ierobežotu piekļuvi tÄ«klam (standarta sys-firewall iespējas) un bez piekļuves tÄ«klam vispār (virtuālā tÄ«kla ierÄ«ce netiek izveidota). Visas veidnē instalētās izmaiņas un lietojumprogrammas bÅ«s pieejamas darbam Å”ajās virtuālajās maŔīnās, un pat tad, ja tiks ieviestas grāmatzÄ«mju programmas, tām nebÅ«s piekļuves tÄ«klam kompromisa dēļ.

Cīņa par Windows

IepriekÅ” aprakstÄ«tās funkcijas ir Qubes pamatā un darbojas diezgan stabili; grÅ«tÄ«bas sākas ar Windows. Lai integrētu sistēmu Windows, jums jāizmanto viesu rÄ«ku komplekts Qubes Windows Tools (QWT), kas ietver draiverus darbam ar Xen, qvideo draiveri un utilÄ«tu komplektu informācijas apmaiņai (failu pārsÅ«tÄ«Å”anai, starpliktuvei). InstalÄ“Å”anas un konfigurÄ“Å”anas process ir detalizēti dokumentēts projekta mājaslapā, tāpēc dalÄ«simies ar savu pielietoÅ”anas pieredzi.

Galvenās grÅ«tÄ«bas bÅ«tÄ«bā ir atbalsta trÅ«kums izstrādātajiem rÄ«kiem. Å Ä·iet, ka Key Developers (QWT) nav pieejams, un Windows integrācijas projekts gaida galveno izstrādātāju. Tāpēc, pirmkārt, bija jānovērtē tā darbÄ«ba un jāveido izpratne par iespēju nepiecieÅ”amÄ«bas gadÄ«jumā to patstāvÄ«gi atbalstÄ«t. VisgrÅ«tāk izstrādāt un atkļūdot ir grafikas draiveris, kas emulē video adapteri un displeju, lai Ä£enerētu attēlu koplietotajā atmiņā, ļaujot parādÄ«t visu darbvirsmu vai lietojumprogrammas logu tieÅ”i resursdatora sistēmas logā. Draivera darbÄ«bas analÄ«zes laikā mēs pielāgojām kodu montāžai Linux vidē un izstrādājām atkļūdoÅ”anas shēmu starp divām Windows viesu sistēmām. Crossbuild posmā mēs veicām vairākas izmaiņas, kas mums vienkārÅ”oja lietas, galvenokārt attiecÄ«bā uz komunālo pakalpojumu ā€œklusuā€ instalÄ“Å”anu, kā arÄ« novērsām kaitinoÅ”o veiktspējas pasliktināŔanos, ilgstoÅ”i strādājot virtuālajā maŔīnā. Darba rezultātus prezentējām atseviŔķā krātuves, tātad ne uz ilgu laiku iedvesmojoÅ”s VadoÅ”ais Qubes izstrādātājs.

Viskritiskākais posms viesu sistēmas stabilitātes ziņā ir Windows startÄ“Å”ana, Å”eit jÅ«s varat redzēt pazÄ«stamo zilo ekrānu (vai pat to neredzēt). Lielākajai daļai konstatēto kļūdu bija dažādi risinājumi - Xen bloka ierīču draiveru likvidÄ“Å”ana, VM atmiņas balansÄ“Å”anas atspējoÅ”ana, tÄ«kla iestatÄ«jumu laboÅ”ana un kodolu skaita samazināŔana. MÅ«su viesu rÄ«ki veido instalācijas un darbojas pilnÄ«bā atjauninātajās operētājsistēmās Windows 7 un Windows 10 (izņemot qvideo).

Pārejot no reālās vides uz virtuālo, rodas problēma ar Windows aktivizÄ“Å”anu, ja tiek izmantotas iepriekÅ” instalētas OEM versijas. Šādas sistēmas izmanto aktivizāciju, pamatojoties uz licencēm, kas norādÄ«tas ierÄ«ces UEFI. Lai pareizi apstrādātu aktivizāciju, ir jāpārtulko viena no visām resursdatora sistēmas ACPI sadaļām (SLIC tabula) viesu sistēmā un nedaudz jārediģē pārējās, reÄ£istrējot ražotāju. Xen ļauj pielāgot papildu tabulu ACPI saturu, taču nemainot galvenās. Risinājumam palÄ«dzēja ielāps no lÄ«dzÄ«ga OpenXT projekta, kas tika pielāgots Qubes. Labojumi Ŕķita noderÄ«gi ne tikai mums, un tie tika tulkoti galvenajā Qubes repozitorijā un Libvirt bibliotēkā.

AcÄ«mredzamie Windows integrācijas rÄ«ku trÅ«kumi ir audio, USB ierīču atbalsta trÅ«kums un sarežģītÄ«ba darbā ar multividi, jo nav aparatÅ«ras atbalsta GPU. Taču iepriekÅ” minētais neliedz izmantot VM darbam ar biroja dokumentiem, kā arÄ« neliedz palaist konkrētas korporatÄ«vās lietojumprogrammas.

PrasÄ«ba pēc Windows VM veidnes izveidoÅ”anas pārslēgties uz darbÄ«bas režīmu bez tÄ«kla vai ar ierobežotu tÄ«klu tika izpildÄ«ta, izveidojot atbilstoÅ”as ā€‹ā€‹lietojumprogrammu VM konfigurācijas, un iespēja selektÄ«vi pieslēgt noņemamo datu nesēju tika atrisināta arÄ« ar standarta OS rÄ«kiem - kad ir pieslēgts. , tie ir pieejami sistēmā VM sys-usb, no kurienes var "pārsÅ«tÄ«t" uz vajadzÄ«go VM. Lietotāja darbvirsma izskatās apmēram Ŕādi.

QubesOS izmantoŔana darbam ar Windows 7

Sistēmas galÄ«go versiju pozitÄ«vi (ciktāl Ŕāds visaptveroÅ”s risinājums atļauj) akceptēja lietotāji, un sistēmas standarta rÄ«ki ļāva paplaÅ”ināt aplikāciju uz lietotāja mobilo darbstaciju ar piekļuvi caur VPN.

Tā vietā, lai noslēgtu

Virtualizācija kopumā ļauj samazināt bez atbalsta atstātu Windows sistēmu lietoÅ”anas risku - tā neuzspiež saderÄ«bu ar jaunu aparatÅ«ru, ļauj izslēgt vai kontrolēt piekļuvi sistēmai tÄ«klā vai caur pievienotajām ierÄ«cēm, kā arÄ« ļauj ieviest vienreizēju palaiÅ”anas vidi.

Pamatojoties uz ideju par izolāciju, izmantojot virtualizāciju, Qubes OS palÄ«dz jums izmantot Å”os un citus droŔības mehānismus. No malas daudzi cilvēki Qubes uztver galvenokārt kā vēlmi pēc anonimitātes, taču tā ir noderÄ«ga sistēma gan inženieriem, kuri bieži žonglē projektiem, infrastruktÅ«rām un noslēpumiem, lai tiem piekļūtu, gan droŔības pētniekiem. Lietojumprogrammu, datu atdalÄ«Å”ana un to mijiedarbÄ«bas formalizÄ“Å”ana ir draudu analÄ«zes un droŔības sistēmu projektÄ“Å”anas sākuma soļi. Šāda nodalÄ«Å”ana palÄ«dz strukturēt informāciju un samazināt kļūdu iespējamÄ«bu cilvēciskā faktora ā€“ steigas, noguruma u.c.

Å obrÄ«d galvenais uzsvars izstrādē tiek likts uz Linux vidi funkcionalitātes paplaÅ”ināŔanu. IzlaiÅ”anai tiek gatavota versija 4.1, kas balstÄ«sies uz Fedora 31 un ietvers galveno komponentu Xen un Libvirt paÅ”reizējās versijas. Ir vērts atzÄ«mēt, ka Qubes veido informācijas droŔības profesionāļi, kuri vienmēr nekavējoties izlaiž atjauninājumus, ja tiek atklāti jauni draudi vai kļūdas.

Pēcvārds

Viena no mÅ«su izstrādātajām eksperimentālajām iespējām ļauj mums izveidot virtuālās maŔīnas ar atbalstu viesa piekļuvei GPU, pamatojoties uz Intel GVT-g tehnoloÄ£iju, kas ļauj izmantot grafiskā adaptera iespējas un bÅ«tiski paplaÅ”ināt sistēmas darbÄ«bas jomu. RakstÄ«Å”anas laikā Ŕī funkcionalitāte darbojas Qubes 4.1 testa versijās un ir pieejama vietnē GitHub.

Avots: www.habr.com

Pievieno komentāru