¿Qué diferencias de seguridad hay entre el paquete click y .deb?

31

Instalar un .deb aleatorio (¿desagradable?) Puede ser peligroso porque otorgará todos los privilegios a las aplicaciones y al demonio instalado porque el .deb tiene algunas configuraciones que solicitan que se aplique si el usuario valida su contraseña en el proceso de instalación.

El paquete Click no necesita una contraseña (hasta ahora lo he probado).

¿El paquete de clic será más seguro para el sistema / datos de usuario o será el mismo? ¿por qué?

Algunos aspectos que serían geniales para ser respondidos:

  • ¿Click and Deb se basan en el mismo sistema (dpkg)?
  • ¿Puede apparmor proporcionar un acceso raíz a aplicaciones sin contraseña o algo así?
  • se le pedirá al usuario que acepte los derechos de acceso de las aplicaciones al instalar (ejemplo similar a Android: estas aplicaciones podrán escanear su / home y acceder a la red) o en la ejecución a la necesidad de un derecho (ejemplo similar al navegador pidiendo el derecho de usar la cámara) ?
  • cerca de esta pregunta: ¿el .apk y el clic tienen la misma palabra (sobre políticas e historia del usuario) ?
  • principalmente: ¿puede una aplicación enviar todos mis datos privados en la red con un clic sin avisarme explícitamente o tendrá al menos el derecho validado por los usuarios para hacerlo o será bloqueado en un sandbox de todos modos?
  • Es cierto decir: el paquete de clic es menos potente (restringe más cosas), pero ¿es más seguro?
cm-t
fuente
Quería agregar la etiqueta "clic" pero no tenía la reputación suficiente para hacerlo. Se suponía que la última oración era cursiva .
cm-t
La etiqueta click-packagesya está disponible.
Pandya
NB: los paquetes de clic están en desarrollo, me gustaría tener una respuesta para el objetivo del próximo paquete de clic estable.
cm-t

Respuestas:

35

Nota: Trabajo en el equipo de seguridad de Ubuntu y ayudé a diseñar la historia de confinamiento de aplicaciones para Ubuntu. Reescribí las preguntas para mayor claridad.

P: "¿Los paquetes de clic serán más seguros con respecto al sistema y los datos del usuario o serán los mismos?"

R: En general, los paquetes de clic son más seguros que debs con respecto a los datos del sistema y del usuario.

Los paquetes de clic no incluyen scripts de mantenedor que se ejecutan como root en la instalación como lo hacen los paquetes deb. Los paquetes de clic simplemente se desempaquetan y luego los ganchos provistos por el sistema se usan si el clic lo declara. Por ejemplo, el clic puede declarar el uso de un enlace de escritorio para generar un archivo de escritorio o un enlace de AppArmor para generar un perfil de AppArmor para la aplicación. Debido a que el empaquetado de Deb tiene el concepto de scripts de mantenimiento diseñados para permitir una amplia personalización del software o del sistema, los paquetes de Deb solo deben instalarse desde una fuente confiable, por ejemplo, un archivo firmado de una distribución como Ubuntu. Los paquetes Click se pueden instalar directamente y puede estar razonablemente seguro de que la instalación del paquete no arruinará su sistema. Sin embargo, eso es solo una parte de la historia: si instala un paquete de clic desde una fuente no confiable,

El verdadero poder del clic es cuando se usa en combinación con un repositorio de software con políticas sólidas. Por ejemplo, la seguridad de un paquete de clic instalado desde la tienda de aplicaciones de Ubuntu suele ser mayor que la de un deb instalado desde un archivo de confianza. Esto se debe a que en la tienda de aplicaciones de Ubuntu, el modelo de confianza es que las aplicaciones se consideran no confiables * y existen políticas y comprobaciones para garantizar que los paquetes de clics en la tienda tengan un manifiesto de seguridad adecuado y, por lo tanto, se ejecuten bajo un estricto confinamiento. Compare eso con los paquetes deb en el archivo de Ubuntu: el modelo de confianza es que el software y el paquete deb se consideran confiables y, en general, el software no se ejecuta bajo confinamiento (aunque hay muchas excepciones donde se envía un perfil de AppArmor con el software para protegerse contra errores de seguridad).

  • Los paquetes de confianza también se pueden entregar a través de la tienda de aplicaciones de Ubuntu. Si bien son poco comunes, Canonical los desarrolla normalmente y pueden ejecutarse o no bajo confinamiento.

Para responder a sus preguntas específicas:

P: ¿El clic se basa en el mismo sistema que deb?

R: El formato de paquete de bajo nivel para clic es deb. Sin embargo, el empaquetado de clics es mucho más simple porque utiliza un manifiesto declarativo y enlaces en lugar de los archivos de empaquetado tradicionales y los scripts de mantenimiento.

P: ¿Puede AppArmor proporcionar acceso privilegiado a aplicaciones sin interacción del usuario?

R: AppArmor es fuerte como root y puede permitir o denegar el acceso a los recursos del sistema (archivos, DBus, redes, etc.) según la política de seguridad definida. No es necesario un paquete de clic por sí solo para enviar un manifiesto de seguridad de AppArmor o para enviar un manifiesto de seguridad de AppArmor que sea 'seguro'. Lo que hace que el sistema sea seguro es la combinación de clics y las políticas de la tienda que ofrece paquetes de clics. Los paquetes Click entregados a través de Ubuntu App Store usarán la política de AppArmor que es muy restrictiva y no permite acciones privilegiadas detrás de escena (por ejemplo, una aplicación que se ejecuta bajo esta política no puede ejecutar programas en el sistema detrás de escena, accede a tu cuenta de Facebook , roba tus claves gpg o ssh, manipula redes, etc.)

P: ¿Se le solicitará al usuario en el momento de la instalación que otorgue derechos de acceso a la aplicación como en Android? (p. ej., "esta aplicación puede escanear su / inicio y acceder a la red")

R: No. Un paquete de clic en sí mismo puede instalarse sin preguntar utilizando herramientas de bajo nivel. En Ubuntu, los paquetes de clic deben instalarse a través de la tienda de aplicaciones de Ubuntu (consulte lo anterior) y debido a las políticas de la tienda de aplicaciones de Ubuntu combinadas con las capacidades de clic y el sistema Ubuntu, no hay necesidad de avisos de instalación de clic sin contexto. Ubuntu puede hacer esto porque las aplicaciones instaladas desde la tienda de aplicaciones de Ubuntu se ejecutan bajo confinamiento restrictivo (es decir, no pueden hacer cosas malas detrás de escena) y cuando una aplicación necesita acceso adicional, lo hace usando API controladas que pueden incluir avisos.

En el caso de las API privilegiadas, tenemos el concepto de ayudantes de confianza, de modo que el usuario tendrá un mensaje contextual para permitir o denegar el acceso (con almacenamiento en caché revocado (opcional) para que no se le pida al usuario cada vez). Por ejemplo, si la aplicación necesita acceder al servicio de ubicación (un ayudante de confianza), se le pedirá al usuario que permita el acceso en el momento en que la aplicación intente usar el servicio de ubicación, lo que proporciona contexto para que el usuario pueda realizar un decisión informada. Lo mismo sucederá con la grabación de video y audio. A menudo, no necesitamos tener un aviso de seguridad en absoluto y podemos permitir el acceso en función de las interacciones impulsadas por el usuario con la aplicación. Por ejemplo, si una aplicación quiere cargar una imagen, habrá un cuadro de diálogo para seleccionar la imagen. Detrás de escena, debido a que la aplicación no puede acceder al directorio ~ / Pictures, utilizará la API de Content-Hub que lanzará el selector de archivos de la galería para que el usuario elija una imagen para cargar. El centro de contenido toma la imagen de la galería y se la da a la aplicación. De esta manera, no hay diálogo de seguridad, solo hay una interacción natural para el usuario, pero detrás de escena, hay una decisión de confianza implícita.

P: Relacionado con esta pregunta: ¿tendrán .apk y click un lenguaje similar con respecto a las políticas y las experiencias de los usuarios?

R: No, no se solicita instalación por los motivos indicados anteriormente. Los permisos de Android y los permisos de seguridad para paquetes de clic definidos para Ubuntu tienen algunas similitudes, pero son diferentes y se implementan de manera diferente.

P: Específicamente, con un clic, ¿puede una aplicación enviar todos mis datos privados a través de la red sin que yo lo sepa o se limitará de alguna manera para evitar esto?

R: Si instala un clic desde una fuente no confiable, sí, puede hacer cualquier cosa. Si instala un clic desde Ubuntu App Store, no, una aplicación no puede enviar todos sus datos a través de la red porque no tiene acceso a ella. Por supuesto, puede parecer que una aplicación hace una cosa y hace otra, por lo que si un usuario otorga acceso al servicio de ubicación o le da acceso a la aplicación a una imagen, la aplicación puede ser mala con esos datos, pero ahí es donde las calificaciones / reviews y las políticas de seguridad de la App Store entran en vigencia. Si se informa una aplicación como esta, se investigará. Si corresponde, la aplicación se eliminará de la tienda, la aplicación se eliminará de cualquier dispositivo donde esté instalada y se revocará el acceso a la tienda de aplicaciones del desarrollador.

P: ¿Se puede decir que los paquetes de clic son más seguros que debs, pero menos potentes porque están más restringidos?

UNA:Como se puede ver en lo anterior, la respuesta no es tan simple. Un solo clic puede enviar software que puede hacer cualquier cosa. El formato de empaquetado de clics es intencionalmente de uso general y se puede usar de muchas maneras y no es en absoluto específico de Ubuntu. Para Ubuntu, la combinación de clic, API de Ubuntu, políticas de AppArmor y App Store proporciona un entorno muy poderoso para que los desarrolladores entreguen aplicaciones a los usuarios de una manera segura y fácil de usar para las personas. La utilidad de las propias aplicaciones depende de las API ofrecidas a las aplicaciones por el sistema subyacente. El conjunto inicial de API que se ofrecerá en los primeros teléfonos de envío de Ubuntu permitirá a los desarrolladores crear todo tipo de aplicaciones divertidas y útiles utilizando una API y un SDK enriquecidos.

jdstrand
fuente
1
"la aplicación se eliminará de cualquier dispositivo donde esté instalada" , eso parece preocupante. ¿Significa esto que Canonical podrá desinstalar de forma remota aplicaciones de los dispositivos de los usuarios sin su permiso?
Ubuntu App Store tendrá esta capacidad. El ejercicio de esta capacidad probablemente solo se realizará cuando haya un código activamente malicioso involucrado. No quiero dictar la política aquí, ya que hay una serie de consideraciones que aún deben tenerse en cuenta, pero la conclusión es que esto no debería ser algo que suceda sin una muy buena razón.
jdstrand
2
Entiendo que esto es para la seguridad de los usuarios (otras tiendas de aplicaciones también lo hacen), pero a algunos usuarios no les gusta este tipo de "interruptores de interrupción", porque esto significa que una empresa puede desinstalar aplicaciones de forma remota (o más), incluso si es por razones de seguridad. Creo que los desarrolladores deberían considerar cuidadosamente cómo implementar esto, para evitar una controversia. Tal vez deshabilite la aplicación en lugar de eliminarla, permitiendo al usuario desinstalarla o volver a habilitarla por sí mismo, y mostrar advertencias muy importantes ... como sugerencia.
Si Click empaqueta sus propias dependencias, ¿qué pasa con las actualizaciones de seguridad de una dependencia? Si bash deb se actualiza, todos los demás paquetes que usan bash naturalmente usan la nueva versión. Sin embargo, si una aplicación Click empaqueta bash, a menos que el desarrollador de la aplicación se encargue de incluir una actualización actualizada, el error sigue ahí, y suponiendo que el desarrollador de la aplicación a menudo actualice el paquete. Tenga en cuenta que en este escenario imagine que bash no es un paquete base.
Hendy Irawan
¡Esto suena genial! ¡Incluso mejor que el sistema Android! Los permisos de Android se han convertido en algo así como el EULA, simplemente haga clic en "sí" sin leer ...
Merlijn Sebrechts
2

Intentaré responder algunas de las preguntas más importantes sobre seguridad y paquetes de clic.

  • ¿Puede una aplicación enviar todos mis datos privados en la red con un solo clic sin avisarme explícitamente?

    • Las aplicaciones de clic se ejecutarán bajo confinamiento. Lo que esto significa es que la aplicación no puede hacer cosas malas: solo puede acceder a su propio directorio privado.
  • ¿Se pueden instalar aplicaciones y luego tener derechos de root? sin contraseña o aviso específico?

    • ...
  • ¿Se le solicitará al usuario que acepte el derecho de las aplicaciones? cuando?

    • Las aplicaciones de clic accederán a las funciones que el usuario permite que la aplicación use (Nota: el mensaje aún no está en la versión actual / diaria de Ubuntu Touch) .
  • ¿Se basa en el mismo sistema para hacer clic y deb?

    • El empaquetado de Debian (.deb) es completamente diferente. Sin embargo, si su aplicación está hecha con el SDK de Ubuntu, no necesita usar el paquete Debian y puede usar el paquete Click, que es mucho más fácil de usar y mucho más seguro para el usuario final.
  • Similar a lo anterior, para comparar: ¿.apk (Android) y haga clic en trabajar de la misma manera?

    • Los paquetes de Android y los paquetes de Ubuntu Click funcionarán de manera similar, ya que cada aplicación tendrá su propio espacio para almacenar datos y que (idealmente) tiene prohibido acceder a los datos de otras aplicaciones directamente. Actualmente, los paquetes de Android también pueden leer datos de la tarjeta SD o del almacenamiento interno, donde no hay restricciones de acceso. Los paquetes de Ubuntu Click también deberán solicitar permisos para funciones específicas.
  • Es cierto decir: los paquetes de clic son menos potentes (restringen más cosas), pero ¿son más seguros?

    • ...

Por estas razones, los paquetes Click son muy seguros y el proceso de revisión para publicarlos es mucho más simple.

Fuentes:

cm-t
fuente
Complete esta respuesta como cree que es la mejor
cm-t