reklama
Podívejte se na aplikace, které v počítači používáte nejvíce. Více než pravděpodobné, mnoho z nich nabízí vysoce propojitelné funkce, zejména webový prohlížeč. Tyto vysoce konektivní programy dokážou hodně, ale jsou také otevřenou pozvánkou pro špatné hackery.
Aby se zabránilo úspěšnosti stávek, vývojář by musel najít a zavřít každou jednotlivou díru v kódu, což jednoduše není možné. Místo toho musí vývojáři tuto skutečnost vzít v úvahu a naplánovat na to svůj kód. Nejběžnější a nejefektivnější řešení: karanténa.
Písek v krabici?
Ne, nejedná se o karanténu místního parku, ale o softwarové karantény. Tyto karantény mají jeden klíčový účel: zabránit šíření útoku. Jak jsem již zmínil výše, inteligentní vývojáři vědí, že kód není dokonalý a že jejich produkt bude nakonec napaden nebo jinak proniknut. Za účelem ochrany uživatele implementují karanténu, která izoluje části jejich programu. V podstatě vše, co se děje v karanténě, zůstává v karanténě.
Pískoviště v akci
Abych vysvětlil karantény v akci, použiju jako první příklad Google Chrome. Chrome je jedním z nejznámějších produktů pro implementaci karantény, kterou Google hrdě nabízí jako jedinečnou bezpečnostní funkci mezi prohlížeči. Google vzal Chrome a v podstatě jej rozdělil do tří různých kategorií: hlavní proces, který souvisí vše společně, proces karty, který drží stránky a obsahuje vykreslovací modul a proces pluginu (es). Všechny tyto kategorie mají různé úrovně oprávnění, aby se mohly spouštět, ale tato oprávnění jsou holá minima, takže všechny jsou docela omezené. Různé procesy navíc nemohou spolu mluvit, ale pouze koexistovat. Například, i když obsah Flash z pluginu Flash může být na stránce přítomen, procesy jsou stále oddělené a nemluví spolu navzájem. Vykreslovač ponechá na stránce pouze mezeru, aby se tento proces mohl zobrazit. Tato neschopnost komunikovat je důležitá, protože pokud karta spadne nebo je unesena, nemůže to ovlivnit ostatní karty ani samotný systém.
Firefox má to taky, druh
Firefox má také funkci karantény, i když je omezenou, oddělující ji od pluginů třetích stran, jako je Flash. Prohlížeč i všechny jeho karty jsou sloučeny do jednoho procesu, ale pro všechny pluginy existuje samostatný proces. V přístupu Firefoxu klade větší důvěru ve svůj vlastní kód než v Googlu s prohlížečem Chrome a vinu za případné problémy s prohlížením pluginy. Pokud tedy dojde k selhání pluginů jakýmkoli způsobem, nebude tím ovlivněn prohlížeč ani karty.
Myšlení mimo krabici
I když je dobrou strategií implementovat techniky karantény do samotného kódu programu, existuje spousta dalších programů, které vůbec žádné karantény nemají. Namísto toho budete chtít spustit virtuální karanténu, kde můžete spouštět programy, které mohou v karanténě vyvolat tolik zmatků, jaké mohou, a ponechat váš systém v kontaktu. I když je to často určeno pro testování softwaru, je také dobrou volbou spustit webový prohlížeč nebo opravdu jakýkoli jiný software, pokud jste spíše paranoidní (nebo sem vložte další oblíbené slovo). Velmi populární volbou je Sandboxie Jak izolovat a testovat nebezpečné aplikace v počítači Přečtěte si více , ale existují i jiné produkty, bezplatné i placené, kterých lze dosáhnout stejného.
Závěr
Sandboxing je v současné době jedním z nejžhavějších témat, pokud jde o zabezpečení, a rozhodně to dělá dobře. Vývojáři by se samozřejmě měli vždy soustředit na to, aby jejich kód byl co nejkvalitnější, ale rozhodně to nepomůže mít nějaké akční plány pro případ, kdy nastane problém. Upozorňujeme, že karantény stále nejsou dokonalé, protože karanténa Chrome byla v Pwn2Own 2012 poražena po několika extrémně náročných hackech, ale rozhodně jsou mnohem lepší volbou než vůbec.
Jaký je váš názor na karantény? Jaká vylepšení byste chtěli vidět ve webových prohlížečích karantény nebo jaké aplikace si myslíte, že je třeba karantény? Dejte nám vědět v komentářích!
Obrazové kredity: Katie Gregory, Ernst Vikne
Danny je senior na University of North Texas, který má všechny aspekty softwaru s otevřeným zdrojovým kódem a Linuxu.