Alternativas al modelo de seguridad de "PC abierta"

10

Hoy en día, las PC (computadoras portátiles, computadoras de escritorio, etc.) generalmente funcionan bajo lo que llamaré el modelo de seguridad "PC abierta". Los usuarios tienen acceso completo a nivel de administrador de sistema / desarrollador a su propia máquina. Los usuarios pueden instalar el software arbitrario de su elección en su PC. Ese software puede hacer cualquier cosa, o al menos cualquier cosa que el usuario pueda hacer. Las aplicaciones de software no están en un espacio aislado; pueden acceder libremente a todos los datos del usuario e interactuar o manipular todas las demás aplicaciones (*). Esencialmente, cada usuario es Dios en su propia máquina, y puede conceder ese estado de Dios a cualquier aplicación de software que elijan instalar.

Podría ver el malware como una consecuencia del modelo de seguridad "PC abierta". Si un usuario tiene la capacidad de instalar el software de su elección, y si ese software obtiene acceso completo a su PC, entonces todo lo que un atacante debe hacer es persuadir al usuario para que instale un software malicioso, y el usuario es un brindis. De manera similar, si las aplicaciones no están en un espacio aislado, entonces todo lo que debe hacer un atacante es poner en peligro una de las aplicaciones del usuario, y luego el usuario es tostado (el atacante obtiene acceso a todos los datos del usuario y puede comprometer todas las aplicaciones del usuario) .

Actualmente, el modelo de seguridad de "PC abierta" está profundamente arraigado en la forma en que funcionan las PC y en la forma en que funcionan los sistemas operativos de PC.

¿Qué otras alternativas al modelo de "PC abierta" hay? Si la industria quisiera alejarse del modelo de "PC abierta" durante los próximos 5 a 10 años, ¿cuáles son algunos posibles paradigmas alternativos que vale la pena considerar? ¿Cuáles son sus ventajas y desventajas?

Por ejemplo, un paradigma en competencia es el modelo de seguridad "app". En el modelo de seguridad de "aplicación", los usuarios generalmente no tienen acceso completo a nivel de administrador / administrador a su propia máquina (a menos que tomen algún paso especial, que la mayoría de los usuarios no toman). Los usuarios pueden instalar aplicaciones, pero para la mayoría de los usuarios, la selección de aplicaciones se limita a alguna lista que se cura al menos en un sentido mínimo (puede haber formas de descargar aplicaciones de otras fuentes, pero la mayoría de los usuarios no lo hacen) . Antes de instalar una aplicación, hay alguna manera de tener una idea de qué tan segura o arriesgada es esa elección (por ejemplo, a través de un análisis detallado, los permisos que solicita la aplicación u otra información). Las aplicaciones están en caja de arena. Se evita que cada aplicación interfiera con otras aplicaciones; una aplicación no puede acceder a todos los datos del usuario ni interferir con otras aplicaciones.

Se puede decir que el modelo de la aplicación es más resistente al malware: hace que sea más difícil para un atacante convencer a los usuarios de que instalen software malintencionado, y limita el daño que puede hacer una aplicación maliciosa o comprometida.

Por lo tanto, podríamos pensar en el modelo de seguridad de "aplicación" como una alternativa al modelo de seguridad de "PC abierta". Gran parte del mundo móvil se ha movido a un modelo de seguridad de "aplicación", e incluso hemos empezado a ver algún movimiento en esta dirección en el espacio del escritorio (por ejemplo, Windows 8).

Otra posible alternativa podría ser el modelo de "dispositivo", donde su PC ya no es una computadora de propósito general y los usuarios ya no tienen el poder de Dios sobre su PC. En su lugar, la administración del sistema se subcontrata a otra persona (posiblemente el administrador del sistema de su empleador o alguna otra empresa externa que realice la administración del sistema). Algunas aplicaciones de software básicas pueden venir preinstaladas (por ejemplo, un navegador web, algún software de oficina / productividad), y es posible que no pueda instalar nada más, o puede estar limitado en qué aplicaciones de software puede instalar (por ejemplo, solo puede instalar aplicaciones que están en alguna lista blanca de aplicaciones permitidas). Llamo a esto el modelo de "dispositivo", pero otros nombres razonables pueden ser el modelo de "lista blanca" o "administración de sistemas subcontratados". Es posible que este modelo no sea el adecuado para todos, pero puede imaginar que podría ser adecuado para una fracción de usuarios.

¿Existen otros modelos de seguridad radicalmente diferentes que vale la pena considerar? Si pudiéramos cambiar por completo el paradigma de seguridad subyacente a las computadoras y los sistemas operativos y la arquitectura de la computadora (comenzando desde cero, si es necesario), ¿existen otros paradigmas / modelos de seguridad que puedan permitir beneficios significativos para la seguridad?

(*) Nota al pie: Bien, sé que estoy simplificando un poco mi descripción del modelo de "PC abierta". Me doy cuenta de que los sistemas operativos de escritorio modernos sí hacen una distinción entre la cuenta de usuario y el Administrador / root. Sin embargo, en cierto sentido, este es un detalle. Por ejemplo, la separación usuario / raíz no proporciona ningún aislamiento entre las aplicaciones. La mayoría del software que ejecutamos se ejecuta a nivel de usuario, por lo que en el sistema operativo de escritorio, cualquier aplicación de usuario puede interferir con cualquier otra aplicación de usuario.

    
pregunta D.W. 09.07.2013 - 02:27
fuente

4 respuestas

5

Hasta cierto punto, todo el bombo de la Web / Nube se trata de un nuevo modelo (o, quizás, un modelo antiguo con una nueva capa de pintura). Con "aplicaciones", las aplicaciones están bastante contenidas y aisladas unas de otras. Con el modelo de "aplicaciones" como se emplea en el sistema iOS / Android, se aplica un giro adicional en que solo se pueden instalar aplicaciones "permitidas". El usuario aún puede elegir qué aplicaciones instalar, pero solo dentro de la lista de aplicaciones mantenidas (y firmadas) en la Tienda dedicada.

El modelo de "dispositivo" va un paso más allá: el usuario ya no elige qué aplicaciones están instaladas en su hardware. O tal vez la diferencia entre este modelo y el modelo de "aplicación firmada" es el tamaño de la lista de "aplicaciones permitidas". Los límites entre estos modelos de seguridad son un poco borrosos. En una tienda con más de 100000 aplicaciones, sería demasiado optimista creer que todos de ellos son benignos.

Podría decirse que, con el modelo de "dispositivo", la computadora del usuario ya no es su . Entonces, vamos al final de esta lógica: si esa no es su computadora, ¿por qué debería poder tocarla? Pongámoslo en otro lugar, accesible solo por la red. Lo que queda en la presencia física del usuario es solo un dispositivo de visualización, pero el código real se ejecuta en un servidor remoto. Ese es el modelo de la nube (o, simplemente, el modelo web; la diferencia entre una nube y un sitio web es, en el mejor de los casos, cuantitativa, no cualitativa).

Entonces, se podría argumentar que solo hay un modelo y que las diferencias son solo de naturaleza cuantitativa. Ese sería un punto de vista más bien extremo.

Hace bastante tiempo (unos 20 años), escuchaba con frecuencia los estragos de un estudiante en la misma escuela que yo; en su opinión, el futuro era seguridad comprobable . Las aplicaciones deben describir lo que hacen en un modelo lo suficientemente preciso para capturar propiedades interesantes, pero también para que el sistema operativo pueda "probar" que estas propiedades se cumplirán de manera efectiva. Las encarnaciones parciales de estas ideas se usan en la práctica, por ejemplo, en la lista de "permisos" de las aplicaciones de Android, y también (para lo mismo en un nivel diferente) en el código de bytes de Java (el código de bytes se ejecuta dentro de las restricciones del modelo de tipo Java). , y la VM puede asegurarse de ello con un análisis estadístico y solo con controles de tiempo de ejecución por minuto).

Entonces, lo que necesitamos no sería realmente un "modelo" cualitativamente nuevo (como intenté explicar anteriormente, todos los modelos son en realidad variantes en un solo continuo), sino un marco más rico para describir qué características de seguridad queremos. para hacer cumplir (como es habitual, el punto difícil es definir lo que queremos).

Este marco también debe ser comprensible para quien sea responsable de la administración de la máquina, es decir, el usuario final. Por lo tanto, esto parece una búsqueda del Santo Grial.

    
respondido por el Thomas Pornin 09.07.2013 - 18:30
fuente
3

Los mayores problemas del entorno de PC de escritorio de hoy:

  • permitiendo que las aplicaciones arbitrarias accedan a todos los datos que tiene un usuario;
  • dando a las aplicaciones acceso ilimitado a Internet y hardware sensible (mike, la cámara, el chip GPS, Bluetooth, etc.);
  • proliferación de usuarios idiotas;
  • surgimiento de una cultura empresarial donde el robo y la venta de datos personales de los usuarios es la norma .

Me opongo enérgicamente a los jardines amurallados, ya que su razón de ser es comercial, y no es tan descabellado ver a sus ganancias mi seguridad. Lo mismo ocurre con los servicios en la nube y los dispositivos sellados: compro la potencia informática y me siento libre de comprar, instalar y utilizar lo que elija sin temor a que mis datos sean rescatados, como era de esperar, para los intereses comerciales de otra persona.

Me temo que no hay una solución mágica para eliminar la ineptitud de los usuarios y la codicia de la industria, sino algunos pasos evolutivos para hacer que la seguridad de las aplicaciones sea útil y ejercer presión sobre la industria (un esfuerzo inútil, lo sé ).

Algunas soluciones:

  • virtualización de hardware (VT-x) y sandboxing;
  • establecer conjuntos de permisos detallados que separan varios roles:

    • el sombrero / rol de la administración del sistema (como en el ajuste del sistema operativo) debe estar separado del sombrero que el usuario usa al instalar (y probar) las aplicaciones;
    • mi navegador bancario debe estar separado del navegador que uso para el correo electrónico;
    • por ejemplo Las videoconferencias deben estar aisladas de las aplicaciones de mi oficina (recuerde que hay flujos de trabajo en los que se supone que hay una "integración perfecta": hubo días en que este tipo de interoperabilidad era el punto de venta de muchos proveedores de software);
  • mover tantas funciones de seguridad como sea posible al hardware (sí, el microcódigo se puede actualizar, pero implementar el control de acceso en el software es vulnerable y costoso).

Esto es no reinventar la rueda, todas son recetas probadas que eventualmente se filtrarán en el amplio mundo del sistema operativo / hardware de escritorio del consumidor.

... a menos que la idiotez y la codicia ganen la guerra contra la prudencia y la sabiduría.

    
respondido por el Deer Hunter 09.07.2013 - 21:46
fuente
0

En su PC personal, usted es "dios", pero este no suele ser el caso en una PC corporativa. Su administrador de sistemas puede obligar a que todo su tráfico web pase a través del proxy web corporativo, y usted no tiene la capacidad de anularlo (salvo la piratería). Linux y Windows (y Mac) tienen bastante buena seguridad multiusuario, que han heredado efectivamente de los mainframes multiusuario.

Entonces, creo que el modelo de "dispositivo" que mencionas, que comúnmente se denomina "sistema administrado", ya existe y se usa ampliamente. Pero tal vez podría ser más utilizado. Por ejemplo, mi papá posee su propia PC, pero no es técnico. Actualmente lo usa en modo "dios", pero el "sistema administrado" sería más apropiado para él. La pregunta es: ¿quién sería su administrador de sistemas? No soy voluntario :-)

La gran debilidad de seguridad de las PC es exactamente lo que señala: las aplicaciones pueden hacer todo lo que hace. Y creo que tienes razón, debemos considerar un modelo de seguridad radicalmente diferente, donde las aplicaciones se encuentran en un espacio aislado. Pero este modelo tiene un precedente: es el modelo de "aplicación" que vemos en iOS y Android. Esta es una excelente innovación técnica, y creo que los equipos que lo crearon deberían obtener más crédito.

Por cierto, es importante separar las ideas de aplicaciones que están siendo protegidas y controladas (como esta tienda de aplicaciones iOS). Ambos ayudan con la seguridad, pero el control de las aplicaciones crea todo tipo de problemas sociales. El sandboxing por otro lado no es particularmente controvertido.

Por lo tanto, el siguiente paso es el sandboxing en el escritorio. Estamos viendo pasos de bebé hacia esto, por ejemplo. Chrome se ejecuta en una caja de arena. Sin embargo, es un problema difícil. Las aplicaciones de escritorio necesitan hacer más que las aplicaciones móviles. En el móvil, cada aplicación tiende a tener sus propios datos en un silo. En el escritorio, varias aplicaciones trabajan juntas en un sistema de archivos compartido. Y, por supuesto, en el escritorio, los usuarios avanzados quieren hacer cosas como las secuencias de comandos.

No creo que se necesite un nuevo modelo de seguridad radical, pero el proceso de implementación de sandbox en el escritorio llevará muchos años.

    
respondido por el paj28 10.10.2013 - 14:30
fuente
-1

Esta "pregunta" está sesgada porque puede que no haya una respuesta definitiva. El término "Open PC" es equívoco: no hay un modelo de "Open PC" dentro del área de arquitectura de computadoras / modelos de seguridad.

  

Los usuarios tienen acceso completo, de administrador del sistema / nivel de desarrollador a su propia máquina

Desde la perspectiva de la seguridad de TI y del administrador del sistema, no es aceptable otorgar todos los derechos administrativos a un usuario. Una "mejor práctica" es auditar los diferentes roles dentro de la organización y asignar sus niveles de permisos / acceso en consecuencia. El principio de privilegio mínimo debe aplicarse cuando se trata de permisos de usuario. Dichas políticas deben aplicarse a nivel de sistema y a nivel de red. Roles y permisos vinculados a sistemas y amp; Las solicitudes deben ser revisadas regularmente. Un software y amp; El inventario de hardware debe ser administrado.

El tema es amplio, se pueden discutir diferentes aspectos:

  • Modelo (s) de control de acceso a implementar (MAC, DAC, RBAC, etc.)
  • Tipo de plataforma (PC, terminal tonta, dispositivo, servidor ...)
  • arquitecturas del sistema operativo & limitaciones (gestión de permisos, mecanismos de sandboxing, modelo de confianza para software ...)
  • Distribución de software (interno, SaaS, canal de proveedor clásico, "app-store", repositorios distribuidos ...)
  • Gestión del sistema de información (políticas, controles técnicos, auditoría, supervisión ...)

Para definir lo que debería ser una alternativa al llamado modelo de seguridad "PC abierto", debe definirse el primero: el modelo de seguridad "PC abierto" mencionado parece ser un caso de uso donde la seguridad de la plataforma es completamente sin gestionar. Este caso de uso no se puede definir como un "modelo".

Los tipos de plataforma se dividen en las siguientes categorías:

  • Una computadora personal (PC) está diseñada para ser operada por su usuario final. Estrictamente hablando, PC es una computadora de uso general para uso doméstico.
  • Una estación de trabajo es una computadora en el entorno corporativo / profesional (usuario único o multidesk).
  • Un terminal (generalmente tonto) es un sistema diseñado específicamente para exponer una interfaz de usuario restringida para realizar solo tareas específicas (caja registradora, cajero automático, cliente ligero ...).
  • Un dispositivo es un sistema "llave en mano" hecho de hardware y / o software a medida. No está destinado a usuarios finales. Por lo general, un dispositivo se usa en un entorno de red para fines específicos (seguridad, almacenamiento, ...)
  • Un servidor es un sistema que responde a las solicitudes de los clientes en un entorno de red (el modelo cliente / servidor también se usa como un marco de comunicación entre componentes, aplicaciones y procesos). Los clientes pueden ser PC, estaciones de trabajo, terminales, dispositivos, procesos de aplicación, otros servidores ...

Los modelos de seguridad son modelos abstractos destinados a ayudar a desarrollar políticas de seguridad, sistemas y amp; Software, así como la gestión del flujo de información dentro de una organización. Los modelos de seguridad y control de acceso son principalmente de alto nivel. Están bien definidos dentro de la literatura oficial de infosec.

Tratar de definir un nuevo paradigma de seguridad como alternativa a un caso de uso particular es un callejón sin salida. Sin embargo, es probable que la pregunta sea más sobre el aprovisionamiento de software y la implementación del control de acceso dentro de los sistemas informáticos.

El modelo de aprovisionamiento de software depende de:

  1. Categoría del sistema informático / tipo de plataforma
  2. características del sistema operativo
  3. Entorno (usuario único, multidesk, distribuido, en red ...)
  4. Modelo de negocio del proveedor

La implementación del modelo de control de acceso depende de:

  1. Aceptación de riesgos con respecto a los datos a proteger. Se debe realizar un análisis de costo / beneficio para mantener el equilibrio entre seguridad y amp; costo de la seguridad). Tenga en cuenta que el costo puede ser dinero, tiempo, experiencia ...
  2. Entorno (usuario único, multidesk, distribuido, en red ...)
  3. Características de los sistemas operativos disponibles para hacer cumplir los controles de seguridad
  4. Modelo de gobierno (basado en el usuario, basado en roles, basado en políticas de la organización, subcontratado ...)
respondido por el g0lem 10.10.2013 - 16:42
fuente

Lea otras preguntas en las etiquetas