caraconejo
25/06/14, 13:01:02
Un buen articulo, para "descartar" leyendas urbanas y cuentos acerca del SELinux para Android y Samsung KNOX (http://www.all-things-android.com/es/content/selinux-android-y-samsung-knox)
Una APK; SELinux Mode Changer (https://play.google.com/store/apps/details?id=com.mrbimc.selinux) - Android Apps on Google Play
https://play.google.com/store/apps/details?id=com.mrbimc.selinux
En el caso particular del Note 3 (subapartado de este aForo) hay que decir que Android 4.4 KitKat trajo un montón de mejoras (muchos mensajes de quejas y problemas al margen) sobre el anterior OS 4.3... un apunte, que a más de uno se les escapa es que con la versión "4.3" el estado de SELinux con una Apk "SELinux Mode Changer" o desde Wanan Xposed, se podía falsear o conmutar de "forzado a permitido"
# lo se, en los foros hay mucha postura numantina y desafiante, con declaraciones de "a mi ni me importa o me da lo mismo" sin saber bien, cual es la diferencia más allá de "colarle un gol al del SAT en caso de reparación, que es menor de los males...
¿Sabes que hay Apk de banca que con un sistema forzado -con root- no funcionan? de hecho, el sistema puede estar comprometido, es por ello que se usan Apk´s que se desarrollan para este cometido....
SELinux (Security Enhanced Linux) da un paso adelante en Android Jelly Bean 4.3, por activar SELinux en modo "permisivo".
KitKat 4.4 da el siguiente paso, estableciendo el modo de SELinux por defecto a "Hacer cumplir." Mientras que SELinux es una opción estándar del núcleo de Linux, las herramientas necesarias para permitir y gestionar SELinux para Android no empezaron a aparecer hasta que Ice Cream Sandwich. Aunque SELinux está disponible en todas las distribuciones de Linux, las distribuciones de escritorio de Linux normalmente corren con SELinux deshabilitado. Sólo las distribuciones empresariales, como RHEL (Red Hat Enterprise Linux), establezca el modo por defecto a "Hacer cumplir".
De este modo, se convierte en la primera KitKat versión de consumo de Linux para establecer el modo por defecto a "Hacer cumplir."
Samsung KNOX además herramientas de administración adicionales en la parte superior de SELinux para los usuarios de la empresa de dispositivos móviles de Samsung seleccionados
¿Qué es SELinux
Todo es acerca de los permisos. Dado que Android es realmente sólo otra distribución de Linux, Android utiliza permisos de Unix / Linux. Estos permisos se conocen como control de acceso discrecional (DAC), ya que está determinado por las cuentas de usuario. Hay muchas maneras para el malware para subvertir DAC, y ganar acceso root a un dispositivo Android. Esto es especialmente cierto en los dispositivos que proporcionan acceso de root. Como se discutió en "Una mirada más profunda a las aplicaciones Android Permisos", el UID Android (identificador de usuario) es en realidad el Linux GID (Group IDentifier). Todavía hay sólo un Linux UID, y que es la raíz. Jelly Bean 4.3 no cambió esta estructura. Jelly Bean 4.3 hizo modificar las opciones de montaje para particiones para incluir la opción nosuid, que bloquea cualquier aplicación desde el establecimiento del indicador setuid sobre sí mismo, lo que permitiría que se ejecute con la mayor eficacia de la raíz. Con DAC, no hay mucho más que se puede hacer para controlar los permisos de nivel de archivo.
SELinux agrega una nueva dimensión al control de acceso mediante el uso de MAC ( Mandatory Access Control ) . Usando MAC , SELinux provee un conjunto de normas de seguridad que determinan los recursos accesibles por un proceso. Cada archivo , directorio, proceso, y el puerto tiene una etiqueta, que se llama contexto de SELinux. El contexto es un nombre usado por la política de SELinux para determinar si un proceso tiene acceso a un archivo, directorio o el puerto . Por defecto, la política de SELinux no permite ningún tipo de interacción , a menos que exista una norma explícita de conceder el acceso. A diferencia de DAC, un usuario no puede cambiar las reglas. Dado que la root no es más que un usuario con un UID de 0 , incluso de root no puede cambiar las reglas, a menos que se conceda ese papel. La práctica habitual de SELinux no es conceder root el derecho de modificar las reglas. Dado que la root es el único usuario de Linux en Android, la política de SELinux es parte de la fuente para la creación de firmware. Para recibir actualizaciones de políticas, es necesario habilitar la opción "Más -> Actualización automática de seguridad -> Seguridad". Para mayor seguridad, le recomiendo revisar la única opción Wi -Fi, y luego activando la opción "Restringir el fondo .." opción en "Conexiones - > Uso de datos - > menú " . Usted puede controlar que el que hotspots móviles son seguros mediante la opción "Puntos de conexión inalámbrica" en el mismo menú .
Algunas personas están preocupadas de que la NSA SELinux introdujo al kernel de Linux en 2003, y que proporciona NSA una puerta trasera en el teléfono. Para esas personas, me gustaría señalar lo siguiente:
Antes de SELinux, había seguridad mejoradas versiones de Unix, como Solaris. MAC es simplemente una herramienta avanzada de seguridad utilizado por muchas empresas y gobiernos.
Mientras NSA propuso los cambios del kernel originales al kernel Linux, muchas organizaciones, tales como IBM y RedHat, movieron el proyecto adelante.
El kernel de Linux es de código abierto, y cualquiera puede descargar y revisar la fuente, incluso para Android.
Todos los cambios en el kernel de Linux es revisado minuciosamente por la comunidad del kernel de Linux, y muchos cambios en el kernel nunca sobreviven al proceso de revisión.
El "SE para Android" proyecto es el grupo de desarrollo detrás de la implementación de SELinux en Android. Jelly Beand 4.3 y 4.4 KitKat apenas están comenzando. Hay más cambios previstos para futuras versiones de Android.
El uso de SELinux
SELinux funciona en uno de tres modos:
Modos de SELinux
Modo Descripción
Disabled Este modo desactiva completamente SELinux.
Permissive El modo permisivo permite que todas las interacciones, incluso si no hay ninguna regla explícita. Todas las interacciones se niegan simplemente registran. El propósito principal de este modo se encuentra el problema. El modo permisivo es el modo por defecto para los dispositivos Nexus, y para el emulador.
Enforcing El modo obligatorio cumplir las normas, y registra todas las violaciónes.
Para determinar el modo para su Jelly Bean 4.3 o KitKat 4.4 dispositivo, es necesario ejecutar el siguiente comando:
getenforce
Si el comando devuelve Disabled, el dispositivo no ha etiquetado los archivos, directorios y puertos. Este es el modo establecido para la versión de firmware (AP: I9300UBUGMK6) que he instalado en mi Samsung Galaxy S III. Habilitación SELinux implica modificar el archivo init.rc para pasar un parámetro de arranque al kernel. Tales modificaciones están más allá del alcance de este artículo.
El modo Permissive es el modo por defecto para los dispositivos de desarrollo que se ejecutan Jelly Bean 4.3, ya que el propósito principal de esta modalidad es para depurar la política de SELinux. Usted no quiere cambiar a la modalidad de Enforcing, hasta llegar ningún mensaje de error avc. Para una lista de los mensajes de error avc, puede ejecutar el siguiente comando desde adb:
adb shell su 0 dmesg | grep avc
La modalidad de Enforcing es el modo predeterminado para KitKat 4.4. Usted puede utilizar el comando setenforce para cambiar temporalmente modos. Para cambiar el modo de arranque, es necesario utilizar SEAdmin, la aplicación "SELinux Modo Changer", o modificar manualmente el archivo init.rc. La aplicación "SELinux Modo Changer" no funcionará con Samsung KNOX firmware habilitado.
Dado que la root es sólo una cuenta de usuario especial, la política de SELinux no restringe las operaciones que la root puede realizar. Más importante aún, no todo el software de la root es compatible con SELinux y Samsung KNOX. De Chainfire CF-Auto-Root y SuperSU son compatibles con SELinux y Samsung KNOX través KitKat 4.4.
Samsung KNOX
Samsung KNOX extiende SELinux para ofrecer una solución empresarial para proteger y administrar los dispositivos móviles compatibles con Samsung KNOX.
Samsung KNOX ofrece una alternativa segura para traer su propio dispositivo (BYOD). Las características principales del Samsung KNOX son:
Plataforma de seguridad
Arranque seguro personalizable
TrustZone-based Integrity Measurement Architecture (TIMA) para detectar violaciónes a la integridad del núcleo de Linux y el gestor de arranque.
SELinux se ejecuta en modo "Enforcing", incluso en dispositivos que ejecutan Jelly Bean 4.2.2.
Seguridad de aplicaciones
El contenedor Samsung KNOX proporciona un entorno seguro y aislado dentro de un dispositivo móvil. Para un dispositivo BYOD que separa el entorno empresarial del entorno personal.
Encripta automáticamente el almacenamiento interno en un dispositivo.
Una VPN bajo demanda, que se puede configurar en función de cada aplicación.
Samsung Knox utiliza Mobile Device Management (MDM) proveedores de controles de seguridad y de gestión.
Samsung KNOX está disponible actualmente en los siguientes dispositivos de Samsung:
Galaxy S4 (Jelly Bean 4.3)
Galaxy S4 LTE-A (Jelly Bean 4.3)
Galaxy Round (Jelly Bean 4.3)
Galaxy Note 3 (Jelly Bean 4.3)
Galaxy Note 10.1 2014 Edition (Jelly Bean 4.3)
Galaxy Note 2 (Jelly Bean 4.3)
Galaxy S4 Mini (Jelly Bean 4.2.2)
Galaxy Mega 6.3 (Jelly Bean 4.2.2)
Hay desventajas a Samsung KNOX:
Es un producto de la empresa y no un producto de consumo individual, salvo que la empresa permite a los dispositivos móviles BYOD.
Un portador tiene que aprobar el uso de Samsung KNOX en su red. Es una cuestión abierta si cualesquiera vehículos en Costa Rica apoyarán Samsung KNOX.
El MDM cuota mensual medio por aparato es de $ 4 dólares.
Una vez que Samsung KNOX firmware permitido está instalado en su dispositivo móvil, usted no puede parpadear encargo nuevo firmware.
Cuando SELinux tiene por objeto mejorar la seguridad de todos los dispositivos Android, Samsung KNOX tiene como objetivo mejorar la seguridad para los dispositivos móviles utilizados por una empresa. Algunas de las características del Samsung KNOX no más de interfaces con características estándar de Android son. Esto permite una gestión centralizada de una política de seguridad de la empresa para todos los dispositivos gestionados. El gran desafío es hacer que SELinux transparentes para los consumidores, y los desarrolladores de aplicaciones. El objetivo es crear un dispositivo móvil seguro que bloquea el malware de robo de información.
Original;
http://www.all-things-android.com/es/content/selinux-android-y-samsung-knox
Una APK; SELinux Mode Changer (https://play.google.com/store/apps/details?id=com.mrbimc.selinux) - Android Apps on Google Play
https://play.google.com/store/apps/details?id=com.mrbimc.selinux
En el caso particular del Note 3 (subapartado de este aForo) hay que decir que Android 4.4 KitKat trajo un montón de mejoras (muchos mensajes de quejas y problemas al margen) sobre el anterior OS 4.3... un apunte, que a más de uno se les escapa es que con la versión "4.3" el estado de SELinux con una Apk "SELinux Mode Changer" o desde Wanan Xposed, se podía falsear o conmutar de "forzado a permitido"
# lo se, en los foros hay mucha postura numantina y desafiante, con declaraciones de "a mi ni me importa o me da lo mismo" sin saber bien, cual es la diferencia más allá de "colarle un gol al del SAT en caso de reparación, que es menor de los males...
¿Sabes que hay Apk de banca que con un sistema forzado -con root- no funcionan? de hecho, el sistema puede estar comprometido, es por ello que se usan Apk´s que se desarrollan para este cometido....
SELinux (Security Enhanced Linux) da un paso adelante en Android Jelly Bean 4.3, por activar SELinux en modo "permisivo".
KitKat 4.4 da el siguiente paso, estableciendo el modo de SELinux por defecto a "Hacer cumplir." Mientras que SELinux es una opción estándar del núcleo de Linux, las herramientas necesarias para permitir y gestionar SELinux para Android no empezaron a aparecer hasta que Ice Cream Sandwich. Aunque SELinux está disponible en todas las distribuciones de Linux, las distribuciones de escritorio de Linux normalmente corren con SELinux deshabilitado. Sólo las distribuciones empresariales, como RHEL (Red Hat Enterprise Linux), establezca el modo por defecto a "Hacer cumplir".
De este modo, se convierte en la primera KitKat versión de consumo de Linux para establecer el modo por defecto a "Hacer cumplir."
Samsung KNOX además herramientas de administración adicionales en la parte superior de SELinux para los usuarios de la empresa de dispositivos móviles de Samsung seleccionados
¿Qué es SELinux
Todo es acerca de los permisos. Dado que Android es realmente sólo otra distribución de Linux, Android utiliza permisos de Unix / Linux. Estos permisos se conocen como control de acceso discrecional (DAC), ya que está determinado por las cuentas de usuario. Hay muchas maneras para el malware para subvertir DAC, y ganar acceso root a un dispositivo Android. Esto es especialmente cierto en los dispositivos que proporcionan acceso de root. Como se discutió en "Una mirada más profunda a las aplicaciones Android Permisos", el UID Android (identificador de usuario) es en realidad el Linux GID (Group IDentifier). Todavía hay sólo un Linux UID, y que es la raíz. Jelly Bean 4.3 no cambió esta estructura. Jelly Bean 4.3 hizo modificar las opciones de montaje para particiones para incluir la opción nosuid, que bloquea cualquier aplicación desde el establecimiento del indicador setuid sobre sí mismo, lo que permitiría que se ejecute con la mayor eficacia de la raíz. Con DAC, no hay mucho más que se puede hacer para controlar los permisos de nivel de archivo.
SELinux agrega una nueva dimensión al control de acceso mediante el uso de MAC ( Mandatory Access Control ) . Usando MAC , SELinux provee un conjunto de normas de seguridad que determinan los recursos accesibles por un proceso. Cada archivo , directorio, proceso, y el puerto tiene una etiqueta, que se llama contexto de SELinux. El contexto es un nombre usado por la política de SELinux para determinar si un proceso tiene acceso a un archivo, directorio o el puerto . Por defecto, la política de SELinux no permite ningún tipo de interacción , a menos que exista una norma explícita de conceder el acceso. A diferencia de DAC, un usuario no puede cambiar las reglas. Dado que la root no es más que un usuario con un UID de 0 , incluso de root no puede cambiar las reglas, a menos que se conceda ese papel. La práctica habitual de SELinux no es conceder root el derecho de modificar las reglas. Dado que la root es el único usuario de Linux en Android, la política de SELinux es parte de la fuente para la creación de firmware. Para recibir actualizaciones de políticas, es necesario habilitar la opción "Más -> Actualización automática de seguridad -> Seguridad". Para mayor seguridad, le recomiendo revisar la única opción Wi -Fi, y luego activando la opción "Restringir el fondo .." opción en "Conexiones - > Uso de datos - > menú " . Usted puede controlar que el que hotspots móviles son seguros mediante la opción "Puntos de conexión inalámbrica" en el mismo menú .
Algunas personas están preocupadas de que la NSA SELinux introdujo al kernel de Linux en 2003, y que proporciona NSA una puerta trasera en el teléfono. Para esas personas, me gustaría señalar lo siguiente:
Antes de SELinux, había seguridad mejoradas versiones de Unix, como Solaris. MAC es simplemente una herramienta avanzada de seguridad utilizado por muchas empresas y gobiernos.
Mientras NSA propuso los cambios del kernel originales al kernel Linux, muchas organizaciones, tales como IBM y RedHat, movieron el proyecto adelante.
El kernel de Linux es de código abierto, y cualquiera puede descargar y revisar la fuente, incluso para Android.
Todos los cambios en el kernel de Linux es revisado minuciosamente por la comunidad del kernel de Linux, y muchos cambios en el kernel nunca sobreviven al proceso de revisión.
El "SE para Android" proyecto es el grupo de desarrollo detrás de la implementación de SELinux en Android. Jelly Beand 4.3 y 4.4 KitKat apenas están comenzando. Hay más cambios previstos para futuras versiones de Android.
El uso de SELinux
SELinux funciona en uno de tres modos:
Modos de SELinux
Modo Descripción
Disabled Este modo desactiva completamente SELinux.
Permissive El modo permisivo permite que todas las interacciones, incluso si no hay ninguna regla explícita. Todas las interacciones se niegan simplemente registran. El propósito principal de este modo se encuentra el problema. El modo permisivo es el modo por defecto para los dispositivos Nexus, y para el emulador.
Enforcing El modo obligatorio cumplir las normas, y registra todas las violaciónes.
Para determinar el modo para su Jelly Bean 4.3 o KitKat 4.4 dispositivo, es necesario ejecutar el siguiente comando:
getenforce
Si el comando devuelve Disabled, el dispositivo no ha etiquetado los archivos, directorios y puertos. Este es el modo establecido para la versión de firmware (AP: I9300UBUGMK6) que he instalado en mi Samsung Galaxy S III. Habilitación SELinux implica modificar el archivo init.rc para pasar un parámetro de arranque al kernel. Tales modificaciones están más allá del alcance de este artículo.
El modo Permissive es el modo por defecto para los dispositivos de desarrollo que se ejecutan Jelly Bean 4.3, ya que el propósito principal de esta modalidad es para depurar la política de SELinux. Usted no quiere cambiar a la modalidad de Enforcing, hasta llegar ningún mensaje de error avc. Para una lista de los mensajes de error avc, puede ejecutar el siguiente comando desde adb:
adb shell su 0 dmesg | grep avc
La modalidad de Enforcing es el modo predeterminado para KitKat 4.4. Usted puede utilizar el comando setenforce para cambiar temporalmente modos. Para cambiar el modo de arranque, es necesario utilizar SEAdmin, la aplicación "SELinux Modo Changer", o modificar manualmente el archivo init.rc. La aplicación "SELinux Modo Changer" no funcionará con Samsung KNOX firmware habilitado.
Dado que la root es sólo una cuenta de usuario especial, la política de SELinux no restringe las operaciones que la root puede realizar. Más importante aún, no todo el software de la root es compatible con SELinux y Samsung KNOX. De Chainfire CF-Auto-Root y SuperSU son compatibles con SELinux y Samsung KNOX través KitKat 4.4.
Samsung KNOX
Samsung KNOX extiende SELinux para ofrecer una solución empresarial para proteger y administrar los dispositivos móviles compatibles con Samsung KNOX.
Samsung KNOX ofrece una alternativa segura para traer su propio dispositivo (BYOD). Las características principales del Samsung KNOX son:
Plataforma de seguridad
Arranque seguro personalizable
TrustZone-based Integrity Measurement Architecture (TIMA) para detectar violaciónes a la integridad del núcleo de Linux y el gestor de arranque.
SELinux se ejecuta en modo "Enforcing", incluso en dispositivos que ejecutan Jelly Bean 4.2.2.
Seguridad de aplicaciones
El contenedor Samsung KNOX proporciona un entorno seguro y aislado dentro de un dispositivo móvil. Para un dispositivo BYOD que separa el entorno empresarial del entorno personal.
Encripta automáticamente el almacenamiento interno en un dispositivo.
Una VPN bajo demanda, que se puede configurar en función de cada aplicación.
Samsung Knox utiliza Mobile Device Management (MDM) proveedores de controles de seguridad y de gestión.
Samsung KNOX está disponible actualmente en los siguientes dispositivos de Samsung:
Galaxy S4 (Jelly Bean 4.3)
Galaxy S4 LTE-A (Jelly Bean 4.3)
Galaxy Round (Jelly Bean 4.3)
Galaxy Note 3 (Jelly Bean 4.3)
Galaxy Note 10.1 2014 Edition (Jelly Bean 4.3)
Galaxy Note 2 (Jelly Bean 4.3)
Galaxy S4 Mini (Jelly Bean 4.2.2)
Galaxy Mega 6.3 (Jelly Bean 4.2.2)
Hay desventajas a Samsung KNOX:
Es un producto de la empresa y no un producto de consumo individual, salvo que la empresa permite a los dispositivos móviles BYOD.
Un portador tiene que aprobar el uso de Samsung KNOX en su red. Es una cuestión abierta si cualesquiera vehículos en Costa Rica apoyarán Samsung KNOX.
El MDM cuota mensual medio por aparato es de $ 4 dólares.
Una vez que Samsung KNOX firmware permitido está instalado en su dispositivo móvil, usted no puede parpadear encargo nuevo firmware.
Cuando SELinux tiene por objeto mejorar la seguridad de todos los dispositivos Android, Samsung KNOX tiene como objetivo mejorar la seguridad para los dispositivos móviles utilizados por una empresa. Algunas de las características del Samsung KNOX no más de interfaces con características estándar de Android son. Esto permite una gestión centralizada de una política de seguridad de la empresa para todos los dispositivos gestionados. El gran desafío es hacer que SELinux transparentes para los consumidores, y los desarrolladores de aplicaciones. El objetivo es crear un dispositivo móvil seguro que bloquea el malware de robo de información.
Original;
http://www.all-things-android.com/es/content/selinux-android-y-samsung-knox