Što je to sandboxing i kako to sandbox programa

Sandbox-i postoje zato što je s pijeskom zabavno igrati, ali ne želimo da ga pratimo po cijelom školskom dvorištu i kući. Ako ste ikad proveli neko vrijeme na plaži, znate koliko je proširiv pijesak i koliko se teško može riješiti. Prije nego što to znate, u hodnicima je pijesak, pijesak u rublje i pijesak pod tušem.

U računalnom svijetu, isti je problem s programima. Programi koji se izvode na vašem računalu dijele resurse tog računala. Svi vaši programi koriste istu statičku pohranu kao što su diskovi, ista memorija i ista središnja procesorska jedinica (CPU). Kada se zajednički resursi poput ove podijele, možete završiti s problemom pijeska. Program završava na cijelom vašem računalu jer piše podatke u sve dijelove vašeg diska, pristupa memoriji iz svih područja vaše memorije i šalje zahtjeve u CPU zajedno sa svim ostalim programima. Mi pijesak držimo u kutiji s pijeskom iz istog razloga zašto i računalni programi: oni sadrže pijesak – ili program – u upravljivom opsegu.

Osnovni računalni dizajn olakšava dijeljenje resursa. Omogućujući programima da dijele resurse, računalo može naizgled imati više zadataka i čini se da radi puno stvari odjednom. To je upravo vrsta ponašanja koju tijekom godina postavljamo od svojih računala, telefona, tableta i satova, ali te mogućnosti mogu uzrokovati neželjene nuspojave. Programi se mogu ponašati loše i rušiti se ili uzrokovati rušenje drugih programa; mogu se osloniti na neku drugu aplikaciju na računalu koja je u sukobu s potrebama drugih programa; a sve češće programi su zlonamerni i pokušavaju pristupiti područjima izvan granica radi loših stvari.

Sandboxing pretraživača

Svjetski web (www) nastao je 1989. godine, a prvi stvarno popularni preglednik Mosaic pokrenuo je internet u popularnu kulturu. Web je bio osmišljen za dijeljenje dokumenata; nikad nije bio osmišljen da podrži ono što sada imamo: internetski sustav isporuke u kojem softver radi u oblaku. Ovaj jaz između dizajna i stvarne upotrebe stvorio je bezbroj prilika za negativce da koriste web preglednike kao mehanizam za isporuku svog zlonamjernog softvera.

Linija gdje se fizičko stolno računalo završava i počinje Internet vrlo je zamagljena. Većina programa koje danas pokrećemo djelomično ili u potpunosti ovisi o aktivnoj internetskoj vezi. S ovom konstantnom internetskom povezanošću kako viri u pozadini, postaje očito da su vrlo atraktivan vektor napada programi koje koristimo za pristup internetu. Na vrhu popisa nalazi se časni web preglednik. Zapravo, u 2016. internetska zaštitarska tvrtka Sucuri zabilježila je preko pola milijarde (što je milijarda s B) zlonamjernih zahtjeva usmjerenih na web stranice i preglednike u jednom razdoblju od 30 dana.

Budući da su preglednici tako plodni i uvijek uključeni, vrijedni su posebne pozornosti. Mnogi današnji preglednici dizajnirani su tako da se automatski pokreću u svojim sandučićima bez ikakvog postavljanja od strane korisnika.

Google Chrome je od početka na pesku.
Mozilla Firefoxu je trebalo više vremena da implementira sandboxing, ali sada je gotovo 100%.
Internet Explorer je 2006. godine predstavio određenu razinu sandbox-a s IE 7, a Microsoft Edge sandboxes sve procese sada.
Appleov Safari preglednik pokreće i web stranice u zasebnim procesima.

Ako imate egzotični preglednik ili želite još veće razdvajanje između vašeg OS-a i preglednika, možda biste mogli pogledati upute za ručno pokretanje peska, navedene u sljedećem odjeljku.

Ručni sandboxing

Iako su preglednici vrlo važna slabost u bilo kojem operativnom sustavu, nikako nisu jedina slabost. Svaka aplikacija može biti zlonamjerna, pa je sigurnosnim položajem bilo kojeg računala moguće ojačati upotrebom sandbox-a. Ručno postavljanje na pijesak proces je namjernog konfiguriranja vašeg sustava na uređaju za prijenos na pijesku koji bi u suprotnom mogao imati puni pristup vašem sustavu.

Virtualni strojevi

Virtualizacija radne površine dosta je napredna posljednjih godina i sada je prilično jednostavno instalirati i koristiti virtualne strojeve. Virtualni stroj je kako zvuči: “stroj” koji nije stvaran. To je u stvari samo dio softvera. Najčešća upotreba virtualnog stroja je instalirati kopiju vašeg operativnog sustava u njega i pokrenuti taj virtualni stroj na radnoj površini kao da je to drugi fizički stroj. Ova vrsta razdvajanja pruža veliku sigurnost jer programi mogu pristupiti samo resursima unutar virtualnog stroja. Ako se dio zlonamjernog softvera uhvati i zarazi vaš sustav, to bi moglo zaraziti samo virtualni stroj, što ograničava količinu štete koju može napraviti. Moguće je čak i pokretanje alternativnih operativnih sustava unutar virtualnog računala, poput pokretanja Linux distribucije u virtualnom stroju na Windows računalu.

Postoji mnogo aplikacija za virtualizaciju, a svaka je usmjerena na određenu vrstu uporabe. Najpopularnije i najzrelije aplikacije za virtualizaciju radne površine s kojima uobičajeni korisnici obično mogu raditi su VirtualBox i Parallels.

Pozadina: Virtuelizacija se sastoji od dva glavna dijela. Uvjet domaćin odnosi se na stvarno fizičko računalo koje pokreće softver za virtualizaciju. Uvjet gost odnosi se na operativni sustav koji radi unutar aplikacije za virtualizaciju.

VirtualBox

VirtualBox je u vlasništvu Oraclea i ima klijente za svaki glavni operativni sustav. Nakon što instalirate VirtualBox, možete stvoriti virtualni stroj pomoću gumba Novo. Morat ćete navesti instalacijski medij operacijskog sustava jer VirtualBox ne dolazi s tim. Linux distribucije lako se mogu naći na internetu – dobar je popis distribucija web stranica i za vlasničke operativne sustave poput Windows-a morat ćete imati pri ruci instalacijski CD..

paralele

Parallels je vrlo sličan VirtualBoxu, s izuzetkom da postoji samo na macOS-u i posebno je izgrađen za pokretanje Windows-a u virtualnom stroju. Ako tražite tu kombinaciju – pokretanje Windows-a na radnoj površini macOS-a – tada su paralele možda najbolje rješenje za vas. Parallels nije besplatan, no postoji 30-dnevno besplatno probno razdoblje.

Sandboxie

Sandboxiejev moto je Trust No Program. Radi samo na Windows-u i tvrdi da razdvaja pokrenute programe od osnovnog operativnog sustava. Upravljačka ploča Sandboxie služi za imenovanje određenih programa koji će se izvoditi u radnom okruženju. Najčešći programi koji predstavljaju najveće prijetnje, poput preglednika i programa e-pošte, navedeni su kao konfiguracijske opcije prema zadanim postavkama, a prema potrebi se mogu dodati i drugi programi..

Podaci unutar Sandboxie-a uništavaju se kada je sandbox zatvoren, ali moguće je konfigurirati Sandboxie da važne podatke ostave nepromijenjene. Mape koje sadrže e-poštu i oznake web-preglednika su primjeri podataka koji mogu preživjeti brisanje iz vreće s pijeskom.

Sandboxie je dizajniran za kućne korisnike i to se odražava na njegove jeftine cijene.

Qubes OS

QubesOS (izgovara „Kocke“) zaslužuje poseban spomen za virtualizaciju. Qubes koristi Xen hipervizor umjesto VirtualBoxa. Pokreće nekoliko gostujućih operativnih sustava i svaki je zaseban od drugog. To omogućuje postavljanje pojedinačnih aplikacija u svaki okvir, svaka unutar svog virtualnog stroja, a ne samo postavljanje cijelog gostujućeg operativnog sustava. Razlika između QubesOS-a je u tome što je Xen vlastiti operativni sustav; niti jedan operativni sustav “domaćin” ne radi ispod njega. Ovdje sam pisao više o Qubesu i drugim distribucijama Linuxa usmjerenim na anonimnost.

Uzimajući vrijeme u vreći s pijeskom, vaš sustav može pružiti solidnu obranu od mnogih vrsta zlonamjernog softvera i pomoći u razvoju softvera. Ne možete zamijeniti zdravu dozu paranoje pri korištenju interneta, ali izoliranje vaših ranjivijih aplikacija može vam pomoći.

Vrste problema koji mogu izazvati programi bez pijeska

Programi se međusobno sudaraju

U ranim danima računarstva, CPU je dijelio resurse na način “prvi dođi”. To je dobro uspjelo kada naša računala nisu radila puno, ali danas se koriste mnogo složenije metode raspodjele resursa. CPU-i žestoko brane granice dodijeljenih resursa i, ako program pokuša pristupiti resoru koji mu nije posebno određen, program ili drugi programi mogu se srušiti.

Trčanje programa u pješčaniku omogućuje sustavu da prethodno dodijeli resurse poput memorije i prostora na disku prije nego što program zatraži bilo što. To osigurava da su ti resursi spremni za program kad god mu zatreba, a također osigurava da ih niti jedan drugi program ne može koristiti.

Programi s različitim ovisnostima

Svaki program ima brojne verzije sebe. Vrlo malo programa je savršeni na sve načine od svog početnog pokretanja, zbog čega smo stalno podvrgavani neprekidnom ciklusu nadogradnji. Naši uređaji zauvijek nam govore da je potrebno primijeniti nadogradnje ili su dostupne nove verzije naših programa. Važno je dopustiti da se ta ažuriranja izvrše što je prije moguće, jer su mnoga ta ažuriranja povezana sa problemima sigurnosti ili performansi. Ako odložite nadogradnje, vaš se uređaj čini manje sigurnim i radi u stanju manje od idealnog.

Ispod glavnih aplikacija koje koristimo i kojima svakodnevno komuniciramo nalazi se niz pomoćnih programa. Ovi programi postoje kako bi pomogli da se glavna aplikacija pravilno pokrene. Mi ljudi rijetko smo svjesni tih programa, ali glavni program ne bi mogao funkcionirati bez njih. Pozvani su ti pomagački programi ovisnosti u govoru za programere. Kao i svaki drugi program, ove se ovisnosti neprestano nadograđuju i mijenjaju, a tu stvari mogu postati prekomjerne.

Ako se u glavnom programu koristi određena funkcija koju ovisnost opskrbljuje, ali je ovisnost nadograđena i odjednom više nema tu funkciju, tada će se glavna aplikacija srušiti. Glavna aplikacija ne očekuje očekivane rezultate iz te ovisnosti. U mnogim je slučajevima pogreška ovisnosti toliko neočekivana da će se glavna aplikacija samo neslavno srušiti. Glavni programer programa vjerojatno nije upozoren unaprijed o promjenama ovisnosti, tako da može biti teško objasniti takvu situaciju i rješavati je s tim graciozno..

Većina programera daje sve od sebe kako bi se to osiguralo unatrag kompatibilnost, što znači da čak i ako novija verzija njihove aplikacije nema funkciju koju je imala u prošlosti, ona će i dalje graciozno postupati sa zahtjevima za tu funkciju, tako da se ostale aplikacije ovisno o njoj neće srušiti. Međutim, neke vrlo zapažene iznimke kao što su Java i Python poznate su po tome što su tijekom nadogradnje vrlo teško raditi. U svijetu Linuxa, poznata fraza “pakao ovisnosti” odnosi se na probleme povezane s velikim ažuriranjima sustava. U nekim slučajevima, programi ovisnosti imaju vlastite ovisnosti i nije čudo da dođu u situaciju nadogradnje u kojoj nije moguće udovoljiti svim ovisnostima. Na primjer, ako moj program Puppy Vet Tracker treba verziju 2.0 nekog ovisnog programa, ali moj program Daily Star Wars Quote treba verziju 1.0 istog ovisnog programa, tada nije moguće udovoljiti tom zahtjevu za oba programa.

Programeri se često susreću s takvom vrstom problema, a sandboxing je jedan od načina da se riješe. Stvaranje kutije s pijeskom i instaliranje mog Puppy Vet Tracker-a omogućilo bi nadogradnju ovisnog programa na verziju 2.0. Glavni računalni sustav ostao bi uz verziju 1 ovisnog programa, i stoga još uvijek mogu dobiti svoju dnevnu ponudu Star Wars. Win-win.

Zlonamjerni programi

Razmislite o situaciji u kojoj aplikacija dijeli vaše računalo sa svim ostalim pokretanim programima. Neki programi koji se izvode na vašem računalu mogu sadržavati osjetljive podatke. Možda su otvoreni pravni dokumenti, proračunske proračunske tablice ili upravitelj lozinki, a ti programi pohranjuju neke podatke u memoriju. Postoje zlonamjerni programi koji pretražuju područja računala dodijeljena drugim programima da biste vidjeli što mogu pronaći. Posljednjih godina dodjela resursa postala je bolja, pa je programu teže pristupiti podacima koji nisu na posebno određenim područjima, ali tehnike hakiranja poput pokušaja čitanja izvan memorije koja mu je dodijeljena mogu djelovati.

Trik za uspješnu eksfiltraciju podataka (uklanjanje podataka iz vašeg sustava) uvijek se oslanjao na zavaravanje korisnika računala na instaliranje zlonamjernog softvera. To se obično radi pomoću društvenog inženjeringa ili taktiranja krađe identiteta i može rezultirati veleprodajnim kompromisom sustava u kojem se svaka datoteka može ukrasti.

Pješčani programi mogu pružiti vrlo jaku obranu od zlonamjernih programa. Kada se program ispravno napuni, on može pristupiti samo memoriji i diskovnom prostoru koji mu je dodijeljen. Stoga će otvaranje osjetljivih dokumenata u kutiji s pijeskom obično spriječiti mogućnost zlonamjernog programa da im pristupi jer dokument nije u istom memorijskom prostoru kao i zlonamjerni program. Nakon što je to rekao, hakeri su vrlo složeno nastojali da prodru u pješčanike i izađu iz njih. Ovo se zove bježeći od virtualnog okruženja i smatra se tako ozbiljnom vrstom napada da je Microsoft nedavno isplatio ulog od 105.000 dolara hakerskom timu s bijelim šeširima koji je pokazao da je to moguće pomoću Edge Browser-a.

About the author

Comments

  1. rebom sandboxinga. Sandbox-i su važni jer pomažu u zaštiti računala od zlonamjernih programa koji mogu uzrokovati probleme i oštetiti vaše podatke. Kao što je spomenuto u tekstu, programi koji se izvode na vašem računalu dijele resurse tog računala, što može dovesti do problema pijeska. Sandboxing omogućuje programima da dijele resurse u upravljivom opsegu, što smanjuje rizik od neželjenih nuspojava. Preglednici su posebno važni za sandboxing jer su često meta zlonamjernih napada. Mnogi preglednici već imaju sandboxing ugrađen, ali ako želite dodatnu sigurnost, možete razmotriti ručni sandboxing. U svakom slučaju, sandboxing je važan alat za zaštitu vašeg računala od zlonamjernih programa i trebao bi biti dio vaše sigurnosne strategije.

  2. ačunala važno osigurati da se programi izvode u sigurnom okruženju. Ručni sandboxing je proces stvaranja virtualnog okruženja u kojem se program izvodi, odvojen od ostatka računala. Ovo se može postići korištenjem virtualnih strojeva ili kontejnera. Virtualni strojevi su virtualni računalni sustavi koji se izvode unutar fizičkog računala, dok su kontejneri virtualni okviri koji dijele operativni sustav s drugim kontejnerima. Oba pristupa omogućuju izolaciju programa od ostatka računala, što smanjuje rizik od širenja zlonamjernog softvera. Vrste problema koji mogu izazvati programi bez pijeska uključuju sudare programa, probleme s ovisnostima i zlonamjerne programe. Sudari programa mogu se dogoditi kada dva programa pokušaju pristupiti istom resursu u isto vrijeme. Problemi s ovisnostima mogu se pojaviti kada program ovisi o drugom programu koji nije dostupan ili nije kompatibilan s drugim programima na računalu. Zlonamjerni programi mogu pokušati pristupiti osjetljivim podacima ili oštetiti računalo. Sandboxing je važan alat za zaštitu računala od ovih problema i osiguravanje sigurnog izvođenja programa.

  3. Sandboxova postoje kako bi se spriječilo širenje pijeska po cijelom školskom dvorištu i kući, ali isto tako i kako bi se spriječilo širenje programa po cijelom računalu. Kada se programi dijele resurse, mogu se pojaviti problemi poput sudaranja programa ili zlonamjernih programa koji pokušavaju pristupiti područjima izvan granica. Sandboxing pretraživača je vrlo važan jer su preglednici često korišteni kao mehanizam za isporuku zlonamjernog softvera. Mnogi preglednici su dizajnirani da se automatski pokreću u svojim sandučićima bez ikakvog postavljanja od strane korisnika, ali ako želite još veće razdvajanje između vašeg operativnog sustava i preglednika, možete pogledati upute za ručno pokretanje peska.

Comments are closed.