Sandbox I. Sandboxie. Aislamiento de procesos mediante control de acceso a objetos en kernel.
0. Indice:
- 1. Introducción.
- 2. Diseño de Sandboxie.
- 3. Control de acceso a recursos.
- 3.1. El hookeo en objectos de \ObjectTypes.
- 3.2. Los hookeos en la ssdt y la shadow ssdt.
- 4. Los io controles.
- 5. Seguridad de Sandboxie.
- 5.1. Fuzzing de io controls.
- 5.2. Envío de mensajes a Shell_TrayWnd (ventana excluída por Sandboxie).
- 5.3. Nombres largos.
- 5.4. Parseo de formatos complejos.
- 5.5. Conclusión.
1. Introducción:
En este artículo voy a hablar de Sandboxie, una sandbox que realiza aislamiento de procesos y cuyos pilares son:
-El control de acceso a objetos en kernel mediante hooks directos en las estructuras de los mismos objetos.
-Algunos hookeos en la ssdt y la shadow ssdt para control de mensajes a ventanas de procesos no sandboxeados.
-Algunos callbacks registrados en el sistema para control de creación de procesos, imágenes cargadas, etc…
Hablaré un poco del diseño de la sandbox, las técnicas que usa para “construir la celda”, y lo fiable o no que, bajo mi punto de vista, pueden llegar a ser este tipo de sandbox.