Anuncio
Eche un vistazo a las aplicaciones que más usa en su computadora. Lo más probable es que una buena cantidad de ellos ofrezcan una funcionalidad altamente conectiva, especialmente su navegador web. Estos programas altamente conectivos pueden hacer mucho, pero también son una invitación abierta para atacar a los piratas informáticos malos.
Para evitar que las huelgas tengan éxito, un desarrollador tendría que detectar y cerrar cada agujero en su código, lo que simplemente no es posible. En cambio, los desarrolladores tienen que tomar ese hecho y planificar su código con eso en mente. La solución más común y efectiva: una caja de arena.
Arena en una caja?
No, no es el entorno limitado del parque local lo que prefiero, sino los entornos limitados de software. Estas cajas de arena tienen un propósito clave: evitar la propagación de un ataque. Como mencioné anteriormente, los desarrolladores inteligentes saben que el código no es perfecto y que su producto eventualmente será pirateado o penetrado. Para proteger al usuario, implementan un sandbox que aísla partes de su programa. En esencia, todo lo que sucede en un sandbox se queda en ese sandbox.
Sandboxes en acción
Para explicar los sandboxes en acción, usaré Google Chrome como ejemplo principal. Chrome es uno de los productos más conocidos para implementar sandboxing, que Google orgullosamente promociona como una característica de seguridad única entre los navegadores. Google tomó Chrome y esencialmente lo dividió en tres categorías diferentes: el proceso principal que vincula todo junto, los procesos de pestañas que contienen las páginas e incluyen el renderizador y el proceso del complemento (es) Todas estas categorías tienen diferentes niveles de permisos para que puedan ejecutarse, pero esos permisos son los mínimos necesarios para que todos estén bastante restringidos. Además, los diferentes procesos no pueden comunicarse entre sí, sino que coexisten. Por ejemplo, aunque el contenido Flash del complemento Flash puede estar presente en una página, los procesos aún están separados y no se comunican entre sí. El renderizador solo deja un espacio en la página para que se muestre ese proceso. Esta incapacidad para comunicarse es importante porque si una pestaña se bloquea o es secuestrada, no puede afectar a las otras pestañas ni al sistema en sí.
Firefox también lo tiene, más o menos
Firefox también tiene una función de sandboxing, aunque limitada, que lo separa de los complementos de terceros como Flash. Si bien el navegador y todas sus pestañas se combinan en un solo proceso, hay un proceso separado para todos los complementos. En el enfoque de Firefox, confía más en su propio código que Googles con Chrome, y culpa a los complementos por cualquier problema de navegación. Por lo tanto, si los complementos se bloquean de cualquier manera, el navegador y las pestañas no se verán afectados.
Pensar más allá
Si bien es una buena estrategia implementar técnicas de sandboxing en el código de un programa en sí, hay muchos otros programas que no tienen ningún sandboxing. En cambio, querrás ejecutar un sandbox virtual donde puedes ejecutar programas que solo pueden causar tantos estragos como puedan dentro del sandbox, dejando tu sistema intacto. Si bien esto a menudo está destinado a probar software, también es una buena opción ejecutar un navegador web o realmente cualquier otro software allí si eres bastante paranoico (o inserta tu otra palabra favorita aquí). Una opción muy popular para esto es Sandboxie Cómo aislar y probar aplicaciones inseguras en tu PC Lee mas , pero hay otros productos, tanto gratuitos como de pago, que pueden lograr lo mismo.
Conclusión
El sandboxing es actualmente uno de los temas más candentes en materia de seguridad, y definitivamente está haciendo el trabajo bastante bien. Por supuesto, los desarrolladores siempre deben concentrarse en hacer que su código sea lo mejor posible, pero definitivamente no ayuda tener algunos planes de acción para cuando ocurra un problema. Tenga en cuenta que los sandboxes aún no son perfectos, ya que el sandbox de Chrome fue derrotado en Pwn2Own 2012 después de algunos hacks extremadamente difíciles, pero definitivamente son una opción mucho mejor que ninguna.
¿Qué opina de las aplicaciones de sandboxing? ¿Qué mejoras le gustaría ver en los navegadores web de sandboxing, o qué aplicaciones cree que necesitan sandboxing? ¡Háganos saber en los comentarios!
Créditos de imagen: Katie Gregory, Ernst Vikne
Danny es un estudiante de último año en la Universidad del Norte de Texas que disfruta de todos los aspectos del software de código abierto y Linux.