Vad är en sandlåda, och varför ska du spela i en

Vad är en sandlåda, och varför ska du spela i en / Webkultur

Ta en titt på de program du använder mest på din dator. Mer än troligt erbjuder ett bra antal av dem högt bindande funktionalitet, i synnerhet din webbläsare. Dessa högt bindande program kan göra mycket, men de är också en öppen inbjudan för att hackare ska slå till.

För att förhindra att strejker blir framgångsrika, skulle en utvecklare behöva kolla och stänga varje hål i sin kod, vilket helt enkelt inte är möjligt. I stället måste utvecklare ta det faktum och planera sin kod med det i åtanke. Den vanligaste och mest effektiva lösningen: en sandlåda.

Sand i en låda?


Nej, det är inte den lokala parkens sandlåda som jag föredrar, men programvaru sandlådor. Dessa sandlådor har ett nyckel syfte: för att förhindra spridning av en attack. Som jag nämnde ovan vet smarta utvecklare att koden inte är perfekt, och att deras produkt så småningom kommer att hackas in eller på annat sätt penetreras. För att skydda användaren implementerar de en sandlåda som isolerar delar av deras program. I själva verket stannar allt som händer i en sandlåda i den här sandlådan.

Sandboxar i aktion


För att förklara sandlådor i funktion använder jag Google Chrome som det främsta exemplet. Chrome är en av de mest framträdande kända produkterna för att implementera sandboxning, vilket Google stolt använder som en unik säkerhetsfunktion bland webbläsare. Google tog Chrome och splittrade det i huvudsak i tre olika kategorier: den huvudsakliga processen som knyter samman allt, flikprocessen (er) som innehåller sidorna och innehåller renderaren och pluginprocessen. Alla dessa kategorier har olika behörighetsnivåer så att de kan köra, men de behörigheterna är de minsta miniminivåerna, så att alla är ganska trånga. Dessutom kan de olika processerna inte riktigt prata med varandra, utan bara existera. Till exempel, även om Flash-innehåll från Flash-plugin kan vara närvarande på en sida, är processerna fortfarande separata och pratar inte med varandra. Återgivaren lämnar bara ett mellanslag på sidan för att processen ska visas. Denna oförmåga att kommunicera är viktig eftersom om en flik kraschar eller kapas kan den inte påverka de andra flikarna eller själva systemet.

Firefox har det för, sort av


Firefox har också en sandboxningsfunktion, även om den är begränsad, och skiljer den från plugin från tredje part som Flash. Medan webbläsaren och alla dess flikar kombineras till en enda process, finns det en separat process för alla plugins. I Firefox-inställningen lägger det större tillit till sin egen kod än Googles gör med Chrome, och ger skulden för eventuella surfproblem på plugins. Om pluggarna kraschar på något sätt påverkas därför inte webbläsaren och flikarna.

Tänker utanför boxen


Även om det är en bra strategi att ha sandboxtekniker implementerade i ett programs kod själv, finns det många andra program som inte har någon sandboxning alls. I stället vill du köra en virtuell sandlåda där du kan köra program som bara kan utgöra så mycket kaos som de kan inne i sandlådan och lämnar ditt system i takt. Även om detta ofta är avsett för testning av programvara, är det också ett bra val att köra en webbläsare eller verkligen någon annan programvara där om du är ganska paranoid (eller sätt in ditt andra favoritord här). Ett mycket populärt val för detta är Sandboxie Hur man isolerar och testa osäkra applikationer på din dator Hur man isolerar och testa osäkra applikationer på din dator Läs mer, men det finns andra produkter, både gratis och betalda, vilket kan uppnå samma.

Slutsats

Sandboxing är för närvarande ett av de hetaste ämnena när det gäller säkerhet, och det är definitivt ett bra jobb. Givetvis bör utvecklare alltid koncentrera sig på att göra sin kod så bra som möjligt, men det hjälper definitivt inte att ha några handlingsplaner för när ett problem uppstår. Observera att sandlåtar fortfarande inte är perfekta, eftersom Chromes sandlåda besegrades i Pwn2Own 2012 efter några extremt svåra hackar, men de är definitivt ett mycket bättre val än ingen alls.

Vad tycker du om sandboxningsapplikationerna? Vilka förbättringar skulle du vilja se i webbläsare med sandbox, eller vilka applikationer tror du behöver sandlåda? Låt oss veta i kommentarerna!

Bildkrediter: Katie Gregory, Ernst Vikne

Utforska mer om: Apputveckling, programmering, virtualisering.