Skelbimas
Pažvelkite į programas, kurias dažniausiai naudojate savo kompiuteryje. Daugiau nei tikėtina, kad nemaža dalis jų siūlo labai jungiamąsias funkcijas, ypač jūsų interneto naršyklę. Šios labai jungiamosios programos gali daug nuveikti, tačiau jos taip pat yra atviras kvietimas blogams įsilaužėliams streikuoti.
Kad streikai nebūtų sėkmingi, kūrėjas turės pastebėti ir uždaryti kiekvieną skylę savo kode, o tai tiesiog neįmanoma. Vietoj to, kūrėjai turi atsižvelgti į tai ir planuoti savo kodą atsižvelgdami į tai. Labiausiai paplitęs ir efektyvus sprendimas: smėlio dėžė.
Smėlis dėžutėje?
Ne, man labiau patinka ne vietinio parko smėlio dėžė, o programinės įrangos smėlio dėžės. Šios smėlio dėžės turi vieną svarbiausią tikslą: užkirsti kelią išpuolio plitimui. Kaip jau minėjau aukščiau, išmanieji kūrėjai žino, kad kodas nėra tobulas ir kad jų produktas ilgainiui bus nulaužtas ar kitaip įsiskverbęs. Siekdami apsaugoti vartotoją, jie įdiegia smėlio dėžę, izoliuojančią jų programos dalis. Iš esmės viskas, kas vyksta smėlio dėžėje, lieka toje smėlio dėžėje.
Smėlio dėžės veikia
Siekdamas paaiškinti smėlio dėžių veikimą, kaip pagrindinį pavyzdį naudosiu „Google Chrome“. „Chrome“ yra vienas iš žinomiausių produktų, skirtų naudoti smėlio dėžės įrengimą, kurį „Google“ išdidžiai nurodo kaip unikalią naršyklių saugos funkciją. „Google“ paėmė „Chrome“ ir iš esmės ją suskaidė į tris skirtingas kategorijas: pagrindinį procesą, kuris susieja viskas kartu, skirtukų procesas (-ai), kurie (-iai) saugo puslapius (-ius) ir pateikia teikėją, ir papildinių procesas (-ai). Visos šios kategorijos turi skirtingus leidimų lygius, kad galėtų paleisti, tačiau šie leidimai yra tik minimalūs dalykai, kad visos jos būtų gana suvaržytos. Be to, skirtingi procesai iš tikrųjų negali kalbėtis tarpusavyje, o tiesiog egzistuoti kartu. Pvz., Nors puslapyje gali būti „Flash“ papildinio „Flash“ turinio, procesai vis dar yra atskiri ir tarpusavyje nebendraujama. Pateikėjas puslapyje palieka tik vietą, kad būtų galima parodyti šį procesą. Šis nesugebėjimas susisiekti yra svarbus, nes jei skirtukas užstringa ar yra užgrobtas, jis negali paveikti kitų skirtukų ir pačios sistemos.
„Firefox“ taip pat yra, tarsi
„Firefox“ taip pat turi smėlio dėžės funkciją, nors ir ribotą, atskiriančią ją nuo trečiųjų šalių įskiepių, tokių kaip „Flash“. Nors naršyklė ir visi jos skirtukai yra sujungti į vieną procesą, visiems papildiniams yra atskiras procesas. Taikant „Firefox“, jis labiau pasitiki savo kodu nei „Google“ pasitiki „Chrome“ ir prisiima kaltę dėl bet kokių papildinių naršymo problemų. Taigi, jei papildiniai sugenda bet kokiu būdu, naršyklė ir skirtukai nepaveikiami.
Galvojimas už ribų
Nors „smėlio dėžės“ technikos įgyvendinimas pačiame programos kode yra gera strategija, yra daugybė kitų programų, kurios visiškai neturi „smėlio dėžės“. Vietoj to, jūs norite paleisti virtualią smėlio dėžę, kurioje galite paleisti programas, kurios gali tik sunaikinti tiek, kiek jos gali smėlio dėžės viduje, palikdami jūsų sistemą taktiškai. Nors tai dažnai skirta programinės įrangos testavimui, tai yra geras pasirinkimas paleisti interneto naršyklę ar iš tikrųjų bet kurią kitą programinę įrangą, jei esate paranojiškas (arba įterpkite čia savo kitą mėgstamą žodį). Labai populiarus pasirinkimas yra Smėlio dėžė Kaip atskirti ir išbandyti nesaugias programas kompiuteryje Skaityti daugiau , tačiau yra ir kitų, tiek nemokamų, tiek mokamų, produktų, kuriais galima pasiekti tą patį.
Išvada
Sandboxing šiuo metu yra viena iš karščiausių temų, kalbant apie saugumą, ir ji tikrai gerai atlieka šį darbą. Be abejo, kūrėjai visada turėtų stengtis, kad jų kodas būtų kuo geresnis, tačiau tai tikrai nepadeda turėti tam tikrų veiksmų planų, iškilus problemoms. Atminkite, kad smėlio dėžės vis dar nėra tobulos, nes „Chrome“ smėlio dėžės buvo nugalėtos „Pwn2Own 2012“ po keleto ypač sunkių nulaužimų, tačiau jos tikrai yra daug geresnis pasirinkimas nei nė vienos.
Kokia jūsų nuomonė apie smėlio dėžės programas? Kokius patobulinimus norėtumėte pamatyti smėlio dėžės internetinėse naršyklėse arba kokias programas, jūsų manymu, reikia naudoti smėlio dėžės dėžutėse? Praneškite mums komentaruose!
Vaizdo kreditai: Katie Gregory, Ernstas Vikne'as
Danny yra Šiaurės Teksaso universiteto vyresnysis, kuris naudojasi visais atvirojo kodo programinės įrangos ir „Linux“ aspektais.