Në Habr nuk ka aq shumë artikuj për sistemin operativ Qubes, dhe ata që kam parë pak përshkruajnë përvojën e aplikimit. Nën këtë, shpresoj të korrigjoj këtë me shembuj të përdorimit të Qubes si një mjet mbrojtës të mjedisit Windows dhe, për rrjedhojë, të vlerësoj numrin e përdoruesve të gjuhës ruse të sistemit.

Pse Qubes?
Historia me përfundimin e mbështetjes teknike për Windows 7 dhe rritja e shqetësimit të përdoruesve solli nevojën për të organizuar punën e këtij sistemi operative, duke marrë parasysh kërkesat e mëposhtme:
- të siguroni përdorimin e një Windows 7 të aktivizuar plotësisht me mundësinë për përdoruesin të instaloje përditësime dhe aplikacione të ndryshme (përfshirë përmes Internetit);
- të zbatoni përjashtimin e plotë ose të veçantë të ndërveprimeve rrjet, sipas kushteve (modalitete të punës jashtë linje dhe filtrimi të trafikut);
- të ofroni mundësinë e lidhjes selektive të mediave dhe pajisjeve të lëvizshme.
Ky grup kufizimesh nënkupton një përdorues të përgatitur qartë, pasi lejohet administrimi i pavarur, dhe kufizimet nuk lidhen me bllokimin e veprimeve të tij të mundshme, por me përjashtimin e gabimeve të mundshme ose ndikimeve dëmtuese programore. Tani, nuk ka ndonjë shkelës të brendshëm në model.
Në kërkim të zgjidhjes, ne shpejt heqëm dorë nga ideja për të realizuar kufizimet me mjete të ndërtuara ose shtesë të Windows, pasi është mjaft e vështirë të kufizosh përdoruesin me privilegje administratori, duke i lënë mundësinë për të instaluar aplikacione.
Opcioni tjetër i zgjidhjes ishte izolimi përmes virtualizimit. Mjetet më të njohura për virtualizimin desktop (p.sh. si virtualbox) janë të pamjaftueshme për zgjidhjen e problemeve të sigurisë dhe kufizimet e përmendura duhet të realizohen nga përdoruesi duke kaluar vazhdimisht ose duke konfiguruar parametrat e makinës virtuale (më pas VM), çfarë rrit rrezikun e gabimeve.
Megjithatë, ne kemi eksperiencë në përdorimin e Qubes si një sistem operativ për desktop, por pasiguria në stabilitetin e funksionimit me Windows si mysafir ishte shqetësuese. U vendos të kontrollohej versioni aktual i Qubes, pasi kufizimet e vendosura përputhen shumë mirë me paradigmat e këtij sistemi, veçanërisht realizimi i template-ve të makinave virtuale dhe integrimi vizual. Më pas do të përpiqem të tregoj shkurtimisht idetë dhe mjetet e Qubes duke ilustruar zgjidhjen e shkallës së caktuar.
Llojet e virtualizimit Xen
Qubes bazohet në hipervizorin Xen, i cili minimizon funksionet e menaxhimit të burimeve të procesorit, memories dhe makinave virtuale. Të gjitha punët e tjera me pajisjet përqendrohen në dom0 bazuar në bërthamën Linux (në Qubes për dom0 përdoret distribuim Fedora).

Xen mbështet disa lloje virtualizimi (do të jap shembuj për arkitekturën Intel, megjithëse Xen mbështet edhe të tjera):
- Paravirtualizimi (PV) - një modus virtualizimi pa përdorimin e mbështetjes harduerike, që ngjason me virtualizimin në konteiner, mund të përdoret për sisteme me bërthama të përshtatura (në këtë modus funksionon dom0);
- Virtualizimi i plotë (HVM) - në këtë modus përdoren mbështetje harduerike për burimet e procesorit, ndërsa të gjitha pajisjet e tjera emulohen me anë të QEMU. Ky është mënyra më universale për të nisur sisteme operative të ndryshme;
- Paravirtualizimi i pajisjeve (PVH - Paravirtualized Hardware) - modus virtualizimi me përdorimin e mbështetjes harduerike kur për të punuar me pajisjet, bërthama e sistemit mysafir përdor shoferë të përshtatur me mundësitë e hipervizorit (p.sh., memorie e ndarë), duke eliminuar nevojën për emulimin me QEMU dhe duke rritur performancën e hyrjes-daljes. Bërthama Linux që nga versioni 4.11 mund të funksionojë në këtë modus.

Deri në versionin Qubes 4.0, për arsye sigurie është duke u hequr dorë nga përdorimi i modusit të paravirtualizimit (përfshirë për shkak të dobësive të njohura të arkitekturës Intel, të cilat trajtohen pjesërisht me përdorimin e virtualizimit të plotë), dhe në mënyrë të paracaktuar përdoret modus PVH.
Kur përdorimi i emulacionit (modi HVM), nisja e QEMU bëhet në një VM të izoluar të quajtur stubdomain, duke reduktuar kështu rrezikun e shfrytëzimit të gabimeve të mundshme në implementim (projekti QEMU përmban shumë kod, përfshirë për përputhshmëri).
Ky mod në rastin tonë duhet të përdoret për Windows.
Makinat virtuale të shërbimit
NĂ« arkitekturĂ«n e sigurisĂ« Qubes, njĂ« nga mundĂ«sitĂ« kryesore tĂ« hipervizorit Ă«shtĂ« transmetimi i pajisjeve PCI nĂ« mjedisin e mysafirit. PĂ«rjashtimi i pajisjeve lejon izolimin e pjesĂ«s pritĂ«se tĂ« sistemit nga sulmet e jashtme. Xen mbĂ«shtet kĂ«tĂ« pĂ«r modet PV dhe HVM, nĂ« rastin e dytĂ« kĂ«rkohet mbĂ«shtetje pĂ«r IOMMU (Intel VT-d) â menaxhimi harduerik i memories pĂ«r pajisjet qĂ« virtualizohen.
Kështu krijohen disa makina virtuale sistemore:
- sys-net, së cilës i kalohen pajisjet rrjetësore dhe e cila përdoret si urë për VM të tjera, për shembull, duke realizuar funksione të një firewalli ose klientit të rrjetit VPN;
- sys-usb, së cilës i kalohen USB dhe kontrollues të tjerë të pajisjeve periferi;
- sys-firewall, e cila nuk përdor pajisje, por punon si një firewall për VM të lidhura.
Për punën me pajisjet USB përdoren shërbime proxy, të cilat ofrojnë gjithashtu:
- për klasën e pajisjeve HID (pajisje ndërfaqe njeriu) transmetimin e komandave në dom0;
- për mbajtësit e lëvizshëm ridrejtojnë volumin e pajisjeve në VM të tjera (përveç dom0);
- ridrejton direkt pajisjen USB (përdoren USBIP dhe mjete integrimi).
Në një konfigurim të tillë, një sulm i suksesshëm përmes stekut rrjetësor ose pajisjeve të lidhura mund të çojë në kompromitimin vetëm të VM shërbimit të nisur, e jo të gjithë sistemit në tërësi. Dhe pas rindizjes së VM shërbimit, ajo do të ngarkohet në gjendjen fillestare.
Mjetet e integrimit të VM
Ka janĂ« disa mĂ«nyra pĂ«r tĂ« ndĂ«rvepruar me desktopin e makinĂ«s virtuale â instalimi i aplikacioneve nĂ« sistemin e mysafirĂ«ve ose simulimi i videos pĂ«rmes mjeteve tĂ« virtualizimit. Aplikacionet e mysafirit mund tĂ« pĂ«rbĂ«hen nga mjete tĂ« ndryshme universale pĂ«r akses nĂ« distancĂ« (RDP, VNC, Spice, etj.) ose tĂ« pĂ«rshtatura pĂ«r njĂ« hipervizor tĂ« caktuar (kĂ«shtu qĂ« kĂ«to mjete zakonisht quhen mjete tĂ« mysafirit). Mund tĂ« pĂ«rdoret edhe njĂ« variant miks, kur hipervizori simulon hyrje- dalje pĂ«r sistemin e mysafirit, ndĂ«rsa jashtĂ« ofron mundĂ«sinĂ« pĂ«r tĂ« pĂ«rdorur njĂ« protokoll, kombinuar hyrjen daljen, siç Ă«shtĂ« rasti me Spice. NdĂ«rsa, mjetet e aksesit nĂ« distancĂ« zakonisht optimizojnĂ« imazhin, pasi supozojnĂ« punĂ«n pĂ«rmes rrjetit, qĂ« ndikon negativisht nĂ« cilĂ«sinĂ« e figurĂ«s.
Qubes ofron mjete tĂ« veta pĂ«r integrimin e VM-ve. Kryesisht, kjo Ă«shtĂ« nĂ«nsyshtema grafike â dritaret nga VM tĂ« ndryshme shfaqen nĂ« njĂ« desktop tĂ« vetĂ«m me njĂ« kuadrim ngjyrash tĂ« vetĂ«. NĂ« pĂ«rgjithĂ«si, mjetet e integrimit bazohen nĂ« kapacitetet e hipervizorit â kujtesa e ndarĂ« (Xen grant table), mjetet e njoftimit (Xen event channel), depozita e ndarĂ« xenstore dhe protokolli i komunikimit vchan. Me ndihmĂ«n e tyre realizohen komponentĂ«t bazĂ« qrexec dhe qubes-rpc, si dhe shĂ«rbimet aplikative â ridrejtimi i tingullit apo USB, transferimi i skedarĂ«ve ose pĂ«rmbajtjes sĂ« kopjimit, ekzekutimi i komandave dhe nisja e aplikacioneve. Ekziston mundĂ«sia pĂ«r tĂ« vendosur politika qĂ« lejojnĂ« tĂ« kufizohen shĂ«rbimet e disponueshme nĂ« VM. MĂ« poshtĂ« Ă«shtĂ« njĂ« shembull i procedurĂ«s sĂ« infrastrukturĂ«s pĂ«r ndĂ«rveprimin e dy VM-ve.

Kështu, puna në VM bëhet pa përdorimin e rrjetit, çka lejon përdorimin e plotë të VM-eve autonome për t'u shmangur rrjedhjes së informacionit. Për shembull, kështu realizohet ndarja e operacioneve kriptografike (PGP/SSH), kur çelësat e mbyllur përdoren në VM të izoluar dhe nuk dalin jashtë kufijve të tyre.
Shabllonët, aplikacionet dhe VM-të e një përdorimi
Të gjitha veprimet e përdoruesit në Qubes realizohen në makina virtuale. Sistemi kryesor i hostit përdoret për të menaxhuar funksionimin e tyre dhe vizualizimin. Sistemi operacional instalohet së bashku me një grup bazë makinash virtuale të ndërtuara mbi shabllonë (TemplateVM). Një shabllon përbën një VM Linux të krijuar mbi distribucionet Fedora ose Debian, me mjete të integruara të instaluara dhe të konfiguruara, si dhe ndarje sistemore dhe përdoruese të dedikuara. Instalimi dhe përditësimi i softuerit realizohet nga menaxheri standard i paketave (dnf ose apt) nga depozitë të konfiguruara me një kontroll të detyrueshëm të nënshkrimit digjital (GnuPG). Qëllimi i këtyre VM-ve është të sigurojnë besueshmëri për VM-të aplikative që drejtohen mbi to.
VM-ja aplikative (AppVM) gjatë nisjes përdor një kopje të ndarjes sistemore të shabllonit përkatës të VM-së dhe, pas përfundimit, e fshin këtë kopje pa ruajtur ndryshimet. Të dhënat e nevojshme për përdoruesin ruhen në një ndarje përdoruese unike për çdo VM aplikative, e cila montohet në katalogun e shtëpisë.

NjĂ« zgjidhje e dobishme pĂ«r sa i pĂ«rket sigurisĂ« Ă«shtĂ« pĂ«rdorimi i VM-ve tĂ« pĂ«rkohshme (disposableVM). Kjo VM krijohet mbi bazĂ«n e shabllonit nĂ« momentin e nisjes dhe lançohet me njĂ« qĂ«llim â ekzekutimin e njĂ« aplikacioni, duke pĂ«rfunduar punĂ«n pas mbylljes sĂ« tij. VM-tĂ« e pĂ«rkohshme mund tĂ« pĂ«rdoren pĂ«r tĂ« hapur skedarĂ« tĂ« dyshimtĂ«, pĂ«rmbajtja e tĂ« cilĂ«ve mund tĂ« çojĂ« nĂ« shfrytĂ«zimin e dobĂ«sive tĂ« aplikacioneve pĂ«rkatĂ«se. MundĂ«sia pĂ«r tĂ« drejtuar njĂ« VM tĂ« pĂ«rkohshme Ă«shtĂ« e integruar nĂ« menaxherin e skedarĂ«ve (Nautilus) dhe nĂ« klientin e postĂ«s (Thunderbird).
VM-ja Windows gjithashtu mund tĂ« pĂ«rdoret pĂ«r krijimin e njĂ« shablloni dhe njĂ« VM tĂ« pĂ«rkohshme, pĂ«r kĂ«tĂ«, profili i pĂ«rdoruesit transferohet nĂ« njĂ« ndarje tĂ« veçantĂ«. NĂ« variantin tonĂ«, ky shabllon do tĂ« pĂ«rdoret nga pĂ«rdoruesi pĂ«r detyra administrimi dhe instalimi aplikacionesh. Nga ky shabllon do tĂ« krijohen disa VM aplikative â me qasje tĂ« kufizuar nĂ« rrjet (kapacitetet standarde tĂ« sys-firewall) dhe pa akses nĂ« rrjet fare (nuk krijohet njĂ« pajisje rrjetĂ« virtuale). PĂ«r tĂ« punuar nĂ« kĂ«to VM do tĂ« jenĂ« tĂ« disponueshme tĂ« gjitha ndryshimet dhe aplikacionet e instaluara nĂ« shabllon dhe madje edhe nĂ« rast tĂ« infiltrimve tĂ« programeve kĂ«rcĂ«nuese, nuk do tĂ« kenĂ« akses nĂ« rrjet pĂ«r tĂ« kompromentuar.
Lufta për Windows
Mundësi të përshkruara më sipër përbëjnë bazën e Qubes dhe funksionojnë mjaft stabilisht, duke filluar me Windows. Për integrimin e Windows, është e nevojshme të përdoren mjetet e mysafirëve të Qubes Windows Tools (QWT), të cilat përfshijnë drejtuesit për punën me Xen, drejtuesin qvideo dhe një grup utilitarësh për shkëmbimin e informacionit (pranimi-dërgimi i skedarëve, kopjimi në bufer). Procesi i instalimit dhe konfigurimit është dokumentuar në detaje në faqen e projektit, kështu që do të ndalim përvojën tonë të aplikimit.
Sfidën kryesore përbën në thelb mungesa e mbështetjes së instrumenteve të zhvilluara. Zhvilluesit kryesorë (QWT), duket se nuk janë të aksesueshëm dhe projekti i integrimit me Windows është në pritje të zhvilluesit kryesor. Prandaj, si fillim, ishte e nevojshme të vlerësohej funksionaliteti dhe të krijohej një kuptim rreth mundësisë së mbështetjes së tij në rast nevoje vetë. Drejtuesi grafik është më i komplikuari për zhvillim dhe debug, i cili emulon një adapter video dhe ekran për formimin e imazhit në kujtesën e ndarë, duke lejuar që të shfaqet e gjithë tavolina e punës apo drejtpërdrejt dritarja e aplikacionit në dritaren e sistemit host. Gjatë analizës së punës së drejtuesit, ne kemi adaptuar kodin për ndërtim në mjedisin Linux dhe kemi punuar në skemën e debugging midis dy sistemeve të Windows mysafirë. Në fazën e krosndërtimit, kemi bërë disa ndryshime lehtësuese për ne, kryesisht në pjesën e instalimeve "të qeta" të utilitarëve, si dhe kemi eliminuar degradimin e bezdisshëm të performancës gjatë punës së gjatë në VM. Rezultatet e punës i kemi formuar në një dokument të veçantë. , duke e bërë këtë për një kohë të shkurtër nga zhvilluesi kryesor i Qubes.
Faza më kritike në raport me stabilitetin e sistemit mysafir është lançimi i Windows, këtu mund të shihni ekranin blu të njohur (ose madje të mos e shihni fare). Për shumicën e gabimeve të identifikuara janë gjetur mundësi të ndryshme për të kaluar - heqja e drejtuesve të Xen për pajisjet bllokuese, çaktivizimi i balancimit të memories së VM, ngushtimi i cilësimeve rrjetore dhe minimizimi i numrit të bërthamave. Ndërtimi ynë i mjeteve mysafirë instalohet dhe funksionon në Windows 7 dhe Windows 10 të përditësuara plotësisht (përveç qvideo).
Kur kalon nga ambienti fizik në atë virtual, haset një problem me aktivizimin e Windows në rastin e përdorimit të versioneve OEM të parainstaluara. Këto sisteme përdorin aktivizimin e bazuar në licencat e regjistruara në UEFI të pajisjes. Për funksionimin e saktë të aktivizimit, është e nevojshme të transmetohet në sistemin miqësor një nga ndarjet ACPI të sistemit pritës në tërësi (tabela SLIC) dhe të pak ndryshohen të tjera, duke regjistruar prodhuesin. Xen lejon përshtatjen e përmbajtjes së tabelave ACPI shtesë, por pa modifikimin e atyre kryesore. Zgjidhja u ndihmua nga një patch nga një projekt i ngjashëm OpenXT, i cili u adaptua për Qubes. Këto korrigjime u treguan të dobishme jo vetëm për ne, por u përfshinë në depozitën kryesore të Qubes dhe në bibliotekën Libvirt.
Disavantazhet evidente të mjeteve të integrimit të Windows përfshijnë mungesën e mbështetjes për zërin, pajisjet USB dhe vështirësitë në punën me media, pasi nuk ka mbështetje harduerike për GPU. Por përmëndurat nuk pengojnë përdorimin e VM për punën me dokumente zyrtare dhe nuk i pengojnë startimin e aplikacioneve specifike për korporatat.
KĂ«rkesa pĂ«r kalimin nĂ« modalitetin e punĂ«s pa rrjet ose me rrjet tĂ« kufizuar pas krijimit tĂ« template-it tĂ« Windows VM u zbatua pĂ«rmes krijimit tĂ« konfigurimeve pĂ«rkatĂ«se tĂ« VM-ve aplikative, dhe mundĂ«sia e zgjedhjes sĂ« lidhjes sĂ« mediave tĂ« jashtme gjithashtu u zgjidh me mjete tĂ« sistemit operativ â kur lidhen, ato janĂ« tĂ« disponueshme nĂ« VM-nĂ« sistematike sys-usb, nga ku mund tĂ« 'kalojnĂ«' nĂ« VM-nĂ« e nevojshme. Desktopi i pĂ«rdoruesit duket afĂ«rsisht kĂ«shtu.

Versioni përfundimtar i sistemit është miratuar pozitivisht (sa e lejon një zgjidhje kaq komplekse) nga përdoruesit, dhe mjetet e sistemit e lejuan zgjerimin e aplikimit në vendin e punës të lëvizshëm të përdoruesit me akses nëpërmjet VPN.
Në përfundim
Virtualizimi nĂ« pĂ«rgjithĂ«si lejon uljen e rreziqeve tĂ« pĂ«rdorimit tĂ« sistemeve Windows qĂ« janĂ« lĂ«nĂ« pa mbĂ«shtetje â nuk detyron sigurinĂ« e pajtueshmĂ«risĂ« me pajisje tĂ« reja harduerike, lejon pĂ«rjashtimin ose kontrollin e aksesit nĂ« sistem pĂ«rmes rrjetit ose pajisjeve tĂ« lidhura, dhe lejon realizimin e njĂ« ambienti pĂ«r fillimin njĂ«herĂ«sh.
Sistemi OS Qubes, i bazuar nĂ« idenĂ« e izolimit pĂ«rmes virtualizimit, ndihmon nĂ« pĂ«rdorimin e kĂ«tyre dhe mekanizmave tĂ« tjerĂ« pĂ«r tĂ« siguruar sigurinĂ«. Nga jashtĂ«, shumĂ« e shohin Qubes kryesisht si njĂ« pĂ«rpjekje pĂ«r anonimitet, por kjo Ă«shtĂ« njĂ« sistem i dobishĂ«m si pĂ«r inxhinierĂ«t, tĂ« cilĂ«t shpesh kombinojnĂ« projekte, infrastrukturat dhe sekretet e aksesit nĂ« to, ashtu edhe pĂ«r kĂ«rkuesit e sigurisĂ«. NdĂ«rprerja e aplikacioneve, tĂ« dhĂ«nave dhe formalisht e ndĂ«rveprimit tĂ« tyre janĂ« hapat fillestarĂ« tĂ« analizĂ«s sĂ« kĂ«rcĂ«nimeve dhe projektimit tĂ« sistemit tĂ« mbrojtjes. Ky ndarje ndihmon nĂ« strukturn e informacionit dhe zvogĂ«lon mundĂ«sinĂ« e gabimit pĂ«r shkak tĂ« faktorĂ«ve njerĂ«zorĂ« â nxhitesĂ«s, lodhjes etj.
Aktualisht, fokusi kryesor në zhvillim është zgjerimi i funksionalitetit të mjediseve Linux. Po përgatitet të lansohet versioni 4.1, i cili do të bazohet në Fedora 31 dhe do të përfshijë versionet aktuale të komponenteve kyçe Xen dhe Libvirt. Duhet theksuar se Qubes krijohet nga profesionistë në fushën e sigurisë informative, të cilët gjithmonë lëshojnë përditësime në mënyrë të shpejtë në rast të identifikimit të kërcënimeve të reja ose gabimeve.
Pasthënie
Një nga mundësitë eksperimentale që po zhvillojmë na lejon të krijojmë VM me mbështetje për aksesin e mysafirëve në GPU, bazuar në teknologjinë Intel GVT-g, gjë që lejon përdorimin e mundësive të grafikës dhe zgjerimin ndjeshëm të fushës së aplikimit të sistemit. Në momentin e shkruar të këtij artikulli, ky funksionalitet punon për ndërtimet testuese të Qubes 4.1 dhe është i disponueshëm në .
Burimi: habr.com
