Oglas
Pogledajte programe koje najčešće koristite na računalu. Više nego vjerovatno, dobar broj njih nudi visoko povezivanje funkcionalnost, ponajviše vaš web preglednik. Ovi vrlo povezani programi mogu učiniti puno, ali su i otvoreni poziv lošim hakerima da napadnu.
Da spriječe da štrajkovi postanu uspješni, programer bi morao uočiti i zatvoriti svaku rupu u kodu, što jednostavno nije moguće. Umjesto toga, programeri moraju uzeti u obzir tu činjenicu i planirati svoj kod. Najčešće i najučinkovitije rješenje: sandbox.
Pijesak u kutiji?
Ne, to više ne volim lokalni sandbox, nego softverski sandbox. Te kutije za pijesak imaju jednu ključnu svrhu: spriječiti širenje napada. Kao što sam gore spomenuo, pametni programeri znaju da kôd nije savršen i da će njihov proizvod s vremenom probiti ili na drugi način prodrijeti. Da bi zaštitili korisnika, implementiraju kutiju s pijeskom koja izolira dijelove njihovog programa. U biti, sve što se dogodi u kutiji s pijeskom, ostaje u tom sandžaku.
Sandboxes u akciji
Da bih objasnio kutije s pijeskom na djelu, koristit ću Google Chrome kao primarni primjer. Chrome je jedan od najpoznatijih proizvoda za implementaciju sandboxinga, koji Google s ponosom oglašava kao jedinstvenu sigurnosnu značajku među preglednicima. Google je uzeo Chrome i u osnovi ga podijelio u tri različite kategorije: glavni proces koji se povezuje sve zajedno, proces (i) na karticama koji sadrže stranice i uključuju render i proces dodataka (e). Sve ove kategorije imaju različite razine dozvola tako da se mogu pokrenuti, ali ta su dopuštenja minimalna, tako da su sve prikraćene. Uz to, različiti procesi ne mogu međusobno stvarno razgovarati, već samo postoje. Na primjer, iako je Flash sadržaj Flash dodatka možda prisutan na stranici, procesi su i dalje odvojeni i ne razgovaraju jedni s drugima. Prikazivač ostavlja samo prostor na stranici za prikaz tog procesa. Ova nesposobnost komuniciranja važna je jer ako se kartica sruši ili otme, ne može utjecati na ostale kartice niti na sam sustav.
Firefox ima previše, na neki način
Firefox također ima značajku sandboxa, iako je ograničena, što ga razdvaja od dodataka treće strane poput Flash-a. Iako su preglednik i sve njegove kartice kombinirane u jedan proces, postoji poseban postupak za sve dodatke. U pristupu Firefoxa povjerava više u vlastiti kôd nego Googles sa Chromeom, a za bilo kakve probleme pregledavanja dodaje krivicu. Stoga, ako se dodaci na bilo koji način sruše, na to ne utječu preglednik i kartice.
Razmišljanje izvan okvira
Iako je dobra strategija da se tehnika pijeska provede u sam kod programa, postoji mnoštvo drugih programa koji nemaju nijedan sandboxing. Umjesto toga, htjet ćete pokrenuti virtualnu kutiju s pijeskom u koju možete izvoditi programe koji u punoj sandučiću mogu izazvati samo onoliko štetnosti, ostavljajući vaš sustav u taktu. Iako se to često misli na testiranje softvera, također je dobar izbor za pokretanje web preglednika ili stvarno bilo kojeg drugog softvera ako ste prilično paranoični (ili ovdje ubacite svoju drugu omiljenu riječ). Vrlo popularan izbor za to je Sandboxie Kako izolirati i testirati nesigurne aplikacije na računalu Čitaj više , ali postoje i drugi proizvodi, besplatni i plaćeni koji mogu postići isto.
Zaključak
Sandboxing je trenutno jedna od najtoplijih tema kada je u pitanju sigurnost, a posao definitivno dobro radi. Naravno, programeri bi se uvijek trebali koncentrirati na to da svoj kôd učine što boljim, ali definitivno ne pomaže kad trebate imati neke planove za djelovanje kada se problem pojavi. Imajte na umu da sandbox-ovi i dalje nisu savršeni, jer je Chromeov sandbox u poraženom u Pwn2Own 2012 nakon nekoliko izuzetno teških hakiranja, ali definitivno je puno bolji izbor nego nijedan.
Kakvo je vaše mišljenje o programima za put na pijesak? Koja biste poboljšanja željeli vidjeti u internetskim preglednicima s sandboxingom ili za koje programe mislite da bi vam trebali sandboxing? Javite nam u komentarima!
Slikovni krediti: Katie Gregory, Ernst Vikne
Danny je stariji profesor na Sveučilištu Sjeverni Teksas koji uživa u svim aspektima softvera otvorenog koda i Linuxa.