Reklaam
Vaadake rakendusi, mida oma arvutis enim kasutate. Enam kui tõenäoline, et paljud neist pakuvad väga ühendavaid funktsioone, eriti teie veebibrauser. Need hästi ühendatavad programmid saavad palju ära teha, kuid need on ka avatud kutse häkkeritele streikida.
Streiki edukuse vältimiseks peaks arendaja märkama ja sulgema kõik oma koodiaugud, mis lihtsalt pole võimalik. Selle asemel peavad arendajad seda fakti arvestama ja oma koodi seda silmas pidades kavandama. Kõige tavalisem ja tõhusam lahendus: liivakast.
Liiva karbis?
Ei, ma ei eelista seda kohaliku pargi liivakasti, vaid tarkvara liivakaste. Nendel liivakastidel on üks põhieesmärk: rünnaku leviku tõkestamine. Nagu ma juba eelpool mainisin, teavad nutikad arendajad, et kood pole täiuslik ja nende toodet hävitatakse või tungitakse muul viisil. Kasutaja kaitsmiseks rakendavad nad liivakasti, mis isoleerib nende programmi osad. Sisuliselt jääb kõik, mis liivakastis toimub, sinna liivakasti.
Liivakastid tegevuses
Liivakastide selgitamiseks toimin esmase näitena Google Chrome. Chrome on üks silmapaistvamaid tooteid, mis rakendavad liivakasti, mida Google uhkusega pakub brauserite ainulaadse turvafunktsioonina. Google võttis Chrome'i ja jagas selle põhimõtteliselt kolmeks erinevaks kategooriaks: peamine protsess, mis seob kõik koos, vahekaardiprotsess (id), mis hoiavad lehti ja sisaldavad renderdajat, ja pistikprogrammiprotsess (es). Kõigil neil kategooriatel on erinev lubade tase, nii et neid oleks võimalik kasutada, kuid need õigused on minimaalsed miinused, nii et need kõik on üsna kitsad. Lisaks ei saa erinevad protsessid tegelikult omavahel rääkida, vaid lihtsalt koos eksisteerida. Näiteks kui lehel võib olla Flash-pistikprogrammi Flash-sisu, on protsessid ikkagi eraldi ja ei räägi omavahel. Renderdaja jätab lehel selle protsessi kuvamiseks ainult ruumi. See suutmatus suhelda on oluline, sest kui vahekaart jookseb kokku või kaaperdatakse, ei saa see mõjutada teisi vahelehti ega süsteemi ennast.
Firefoxil on seda ka, omamoodi
Firefoxil on ka liivakasti funktsioon, ehkki piiratud, eraldades selle muude tootjate pluginatest nagu Flash. Kuigi nii brauser kui ka kõik selle vahekaardid on ühendatud üheks protsessiks, on kõigi pistikprogrammide jaoks eraldi protsess. Firefoxi lähenemisviisi kohaselt usaldab see rohkem omaenda koodi kui Googles teeb seda Chrome'iga ja paneb pistikprogrammide sirvimisprobleemid süüdi. Seega, kui pistikprogrammid mingil viisil kokku kukuvad, ei mõjuta see brauserit ega vahelehti.
Mõtlesin väljaspool kasti
Ehkki liivakastivõtete integreerimine programmi enda koodi on hea strateegia, on palju muid programme, millel pole ühtegi liivakasti kasutamist. Selle asemel soovite käivitada virtuaalse liivakasti, kus saate käivitada programme, mis võivad ainult nii palju hävitada, kui suudavad liivakasti sees, jättes teie süsteemi taktitundele. Ehkki see on sageli mõeldud tarkvara testimiseks, on see hea valik ka veebibrauseri või tegelikult mõne muu tarkvara käitamiseks, kui olete pigem paranoiline (või lisate siia oma muu lemmiksõna). Selle jaoks on väga populaarne valik Liivakast Ohtlike rakenduste isoleerimine ja testimine arvutis Loe rohkem , kuid on ka teisi, nii tasuta kui ka tasulisi tooteid, mis võivad sama saavutada.
Järeldus
Liivakast on turvalisuse osas praegu üks kuumimaid teemasid ja kindlasti teeb see tööd päris hästi. Muidugi peaksid arendajad alati keskenduma oma koodi võimalikult heale muutmisele, kuid kindlasti ei aita see, kui teil on mõni probleem, kui see ilmneb. Pange tähele, et liivakastid pole endiselt täiuslikud, kuna Chrome'i liivakast võideti Pwn2Own 2012 pärast mõnda eriti keerulist häkkimist, kuid need on kindlasti palju parem valik kui ükski.
Mis on teie arvamus liivakastirakendustest? Milliseid parandusi sooviksite liivakasti veebibrauserites näha või millised rakendused teie arvates liivakasti vajavad? Andke meile kommentaarides teada!
Pildikrediidid: Katie Gregory, Ernst Vikne
Danny on Põhja-Texase ülikooli vanem, kes naudib kõiki avatud lähtekoodiga tarkvara ja Linuxi aspekte.