Proteger su privacidad de los usuarios: Android app de seguridad para los desarrolladores

Android app security

Android app security

Si vas a colgar en su audiencia y su reputación como una empresa de confianza desarrollador de Android, entonces usted necesita para tomar la app de Android en serio la seguridad como un desarrollador.

Si su aplicación nunca fugas de datos privados, entonces usted está en riesgo de perder una gran parte de su audiencia. Hoy en día el uso de la tecnología móvil a los usuarios a comprender que la mejor manera de protegerse a sí mismos contra un inseguro aplicación es para eliminarlo de su dispositivo. Graves violaciones de datos son también cada vez más informado por los medios de comunicación, por lo que tomar un descuidado enfoque para la seguridad móvil puede resultar en algo de muy mala publicidad.

Las apuestas son altas, y con las nuevas aplicaciones maliciosas de ser liberado todo el tiempo, hay una creciente posibilidad de que su aplicación puede ser compartir un dispositivo con malware malicioso y código de terceros.

Tomando un descuidado enfoque para la seguridad móvil puede resultar en algo de muy mala publicidad.

Afortunadamente, Android dispone de una amplia gama de características de seguridad integradas que pueden ayudar a mantener los datos de sus usuarios bloqueados apretado. En este artículo, vamos a explorar las principales características de privacidad que se incluyen en la plataforma Android, además de otras herramientas, técnicas y mejores prácticas que puede utilizar para ayudar a asegurar que sus datos de aplicación privada sigue siendo privado.

Mantenga sus dependencias hasta la fecha

No es raro que las modernas aplicaciones móviles para el uso de varias bibliotecas, Sdk, y muchas otras diversas dependencias. Las nuevas versiones de estas dependencias a menudo contienen correcciones de errores, parches y otras funciones de seguridad, así que usted necesita para asegurarse de que está utilizando las últimas versiones durante el desarrollo de tu aplicación.

Make sure your app's dependencies are up to date

Make sure your app's dependencies are up to date

Antes de implementar su aplicación, también es una buena idea realizar una verificación final, sólo para asegurarse de que no hay actualizaciones disponibles.

Si usa la aplicación Google Play Services, entonces usted puede comprobar si el dispositivo del usuario tiene la última versión instalada y, a continuación, realizar una actualización si es necesario.

Para probar si el dispositivo de Google Play Services está actualizada, llame a la ProviderInstaller clase’ installIfNeeded() método. Si una actualización está disponible, a continuación, este método producirá una excepción de autorización, y se pedirá al usuario la actualización de Google Play Services en su dispositivo.

Límite de su solicitud de permiso

Si la aplicación no tiene acceso a un permiso, entonces hay cero posibilidades de que el mal manejo de cualquiera de los datos sensibles o de funcionalidad asociado con el permiso. Restringir el acceso a la sensibilidad de los permisos también pueden hacer que tu aplicación un objetivo menos atractivo para los hackers, por lo que es importante solicitar los permisos como sea posible.

Android app security

Android app security

Antes de realizar cualquier solicitud de permiso, usted debe considerar si hay una manera de conseguir el mismo resultado sin tener acceso a ese permiso. Por ejemplo, si usted necesita para guardar algunos datos, entonces usted puede tener acceso a locales de almacenamiento sin necesidad de pedir ningún permiso, en lugar de tratar de guardar los datos de forma externa, el cual requiere el permiso WRITE_EXTERNAL_STORAGE.

Alternativamente, usted puede ser capaz de utilizar los intentos para pasar de una tarea a una aplicación que ya tiene el permiso necesario(s). Por ejemplo, en lugar de solicitar la READ_CONTACTS y WRITE_CONTACTS permisos, puede delegar una tarea a la aplicación de Contactos:

La intención contactIntent = new Intent(Intent.ACTION_INSERT);
contactIntent.setType(ContactsContract.Los contactos.CONTENT_TYPE); si (contactIntent.resolveActivity(getPackageManager()) != null) {
startActivity(contactIntent);
}

Usted también debe renunciar a los permisos que la aplicación ya no se requiere, lo que puede reducir significativamente la cantidad de datos sensibles y las características que la aplicación tiene acceso en cualquier momento.

Permitir a los usuarios decidir: Visualización de la aplicación selector de

¿Por qué perder tiempo y energía que reinventar la rueda? Implícito intenciones permiten realizar tareas en cooperación con las aplicaciones de terceros, reduciendo la cantidad de código necesario para escribir con el fin de ofrecer a todos los de la aplicación de la funcionalidad deseada. Por el paso de una tarea a otra aplicación, usted también puede ser capaz de reducir el número de permisos que necesita la aplicación.

Implícito intenciones puede ahorrar una tonelada de tiempo, pero también le dan cero control sobre la aplicación que responde a su solicitud. Si un ser inseguro o malintencionado de terceros de la aplicación responde a su intención implícita, entonces hay una posibilidad de que usted puede inadvertidamente exponer los datos personales del usuario a terceros. Si la privacidad del usuario es violado, como resultado de una aplicación de terceros, la aplicación puede ser visto como culpable por asociación.

Cuando se emite una implícita intención, usted debe mostrar de Android de la aplicación selector siempre que sea posible.

App security for Android developers

App security for Android developers

Presentar al usuario con una lista de todas las aplicaciones que pueden responder a esta intención, les está dando la oportunidad de seleccionar una aplicación que personalmente confianza. Aunque no hay ninguna garantía de que cada usuario elija con cuidado, esto puede reducir la posibilidad de que el intercambio de datos con un poco de fiar de la aplicación.

Cuando se emite una intención, usted debe comprobar si el usuario tiene múltiples aplicaciones que puede manejar esta intención. Suponiendo que varias compatible con aplicaciones están disponibles, puede, a continuación, mostrar la aplicación selector llamando createChooser() y pasando a startActivity():

La intención myIntent = new Intent(Intent.ACTION_SEND);
Lista<ResolveInfo> possibleActivitiesList = queryIntentActivities(intención, PackageManager.MATCH_ALL); //Comprobar si más de una aplicación puede manejar esta intención// si (possibleActivitiesList.size() > 1) { //Mostrar la aplicación selector// String title = getResources().getString(R. string.app_chooser_title); La intención selector = Intención.createChooser(intención, de título);
startActivity(selector);
} else if (intención.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
}

Tenga en cuenta que usted nunca debe utilizar una implícita intención de iniciar un Servicio, como vas a tener ningún control sobre el Servicio que responde a su intención implícita.

Evitar el almacenamiento externo

Usted necesita asegurarse de que los datos que se almacena en el dispositivo del usuario no tiene acceso a otras aplicaciones, a menos que usted otorga a esas aplicaciones aprobación explícita.

Los archivos guardados en el almacenamiento externo mundial de los permisos de lectura y escritura, por lo que los datos se guardan en almacenamiento externo potencialmente pueden ser accedidos y modificados por cualquier otra aplicación. Además no hay garantía de que un medio de almacenamiento externo permanecerá conectado a la corriente smartphone o tablet. Si su aplicación escribe para almacenamiento externo, entonces usted podría potencialmente ahorrar sensible de los datos de usuario a una tarjeta SD que posteriormente le será retirado y se inserta en la de alguien más dispositivos!

Android app security external storage

Android app security external storage

A menos que tenga una razón específica para no hacerlo, siempre debe guardar los datos en el almacenamiento interno, donde se aíslan, y sólo serán accesibles para su aplicación de forma predeterminada. Además, si un usuario desinstala la aplicación, luego de su aplicación se eliminarán los archivos de almacenamiento interno automáticamente, así que usted no necesita preocuparse de dejar atrás toda la información sensible.

En el siguiente fragmento, estamos escribiendo datos al almacenamiento interno:

final String NOMBRE_ARCHIVO = "user_data.txt";
Cadena de fileContents = "Este archivo de texto contiene datos confidenciales de los usuarios";
prueba (BufferedWriter escritor = new BufferedWriter(new FileWriter(Archivo nuevo(getFilesDir(), NOMBRE_ARCHIVO)))) {
escritor.escribir(fileContents);
} catch (IOException e) { //Hacer: Manejar la excepción// }

Si los datos es especialmente sensible, entonces usted puede dar algunos Android app de seguridad mediante el cifrado de los archivos con una clave que no es accesible para su aplicación, por ejemplo una clave que se coloca en un Almacén de claves y protegida por una contraseña que no se almacena en el dispositivo.

El uso de Android nuevo ámbito de acceso a directorios

A veces, una aplicación puede requerir el acceso a determinados directorios dentro de un dispositivo de almacenamiento externo, por ejemplo la obtención de acceso a los dispositivos externos de Fotos de directorio.

Mientras que usted podría solicitar la READ_EXTERNAL_STORAGE permiso, esto a menudo proporcionará su aplicación con acceso a más datos de los que necesita. Es imposible que una aplicación para que trate los datos que no tienen acceso, por lo que debe tratar de minimizar la cantidad de información que su aplicación puede tener acceso, siempre que sea posible.

En lugar de solicitar la READ_EXTERNAL_STORAGE permiso, usted puede solicitar el acceso a un directorio específico. Este ámbito de acceso a directorios requiere el uso de la StorageManager de la clase y, a continuación, crear una intención llamando a la StorageVolume.createAccessIntent() método de instancia. Por ejemplo, en el siguiente fragmento estamos acceder a la externa Fotos de directorio:

StorageManager newStorageManager = (StorageManager)getSystemService(Context.STORAGE_SERVICE);
StorageVolume volumen = newStorageManager.getPrimaryStorageVolume();
Intent intent = volumen.createAccessIntent(medio Ambiente.DIRECTORY_PICTURES);
startActivityForResult(intent, request_code);

Si el usuario concede su aplicación el acceso a este directorio externo, Android va a llamar a su onActivityResult() anular con un código de resultado de RESULT_OK, más una intención que contiene el URI para el directorio solicitado.

Nunca caché de datos confidenciales de los usuarios

Cuando la manipulación no sensibles de datos de la aplicación, usted puede ser capaz de mejorar la experiencia del usuario mediante el almacenamiento de estos datos en el dispositivo de memoria caché.

Para caché de más de 1 MB, puede utilizar getExternalCacheDir(), que devolverá la ruta de acceso a una aplicación específica directorio donde usted puede almacenar su contenido en caché.

Si usted decide caché, acaba de ser conscientes de que cualquier aplicación que tenga el permiso WRITE_EXTERNAL_STORAGE potencialmente puede escribir a estos archivos, así que usted debe nunca almacén de información privada o confidencial en la memoria caché si usted se preocupa acerca de la aplicación de Android de la seguridad.

Proteger sus claves contra el uso no autorizado

El Android Almacén de claves del sistema le permite almacenar claves de cifrado dentro de un contenedor, lo que hace más difícil extraer estas teclas del dispositivo.

Android app security

Android app security

El Android Almacén de claves se asegura de que el material de clave nunca entra en el proceso de solicitud, por lo que incluso si la aplicación de los procesos están en peligro y un atacante consigue acceder a sus claves, que van a ser incapaces de extraer la clave de su material.

También puede utilizar el Almacén de claves que restringen cómo y cuándo se pueden utilizar las teclas, por ejemplo podría restringir el uso de la clave a ciertos modos de cifrado, o requerir la autenticación del usuario.

Hacer su ContentProviders privado

ContentProviders son estructurado un mecanismo de almacenamiento que usted puede hacer privada para su aplicación o elegir a la exportación, momento en el que van a ser accesibles a otras aplicaciones.

A menos que explícitamente la necesidad de compartir los datos con una aplicación de terceros, usted debe hacer todos los de su ContentProviders privado, marcándolos como android:exportados=false en la aplicación del Manifiesto. Si la aplicación es compatible con Android 4.1.1 o inferior, entonces es especialmente importante que marca privada ContentProviders como android:exportados=false, como todos los ContentProviders son públicos por defecto.

 <proveedor
android:name="android.apoyo.v4.contenido.FileProvider"
android:autoridades="com.jessicathornsby.sampleApp.proveedor de" //Añadir el siguiente// android:exportados="false">
</proveedor>

Huellas dactilares de los usuarios, con autenticación biométrica

Antes de permitir a un usuario acceder a cualquier aplicación de la información sensible o características, debe verificar su identidad para pedir sus credenciales.

Las credenciales de usuario puede tomar la forma de un PIN o una contraseña, sin embargo, siempre que sea posible, es mucho más seguro para realizar la autenticación biométrica, por ejemplo, mediante la que solicita la huella digital del usuario.

Android security for apps

Android security for apps

Siga todas las redes de las mejores prácticas

A diferencia de menos de dispositivos portátiles, tales como computadoras de escritorio, se conecta frecuentemente nuestros smartphones y tablets para redes inalámbricas no seguras, tales como conexión Wi-Fi gratuita. Para ayudar a preservar la privacidad del usuario, usted debe acercarse a todas las transacciones en la red como inherentemente riesgosa, especialmente cuando se están transmitiendo datos de usuario.

Siempre que sea necesario realizar una transacción de red, es importante que usted siga todas las de Android de la red de mejores prácticas:

  • El uso de HTTPS en lugar de HTTP, siempre que se apoya en el servidor.
  • Nunca confiar en los datos descargados de los protocolos inseguros, incluidas las respuestas emitidas en contra de HTTP.
  • El uso de protocolos adecuados para los datos sensibles, tales como HttpsURLConnection.
  • Donde la autenticación es posible, utilice un Android mecanismo IPC, como un Servicio.
  • El uso de la fuente abierta Nogotofail de seguridad de red de la herramienta para probar la aplicación con TLS/SSL vulnerabilidades y errores de configuración. Nogotofail incluye pruebas de común SSL certificado de verificación de cuestiones, HTTPS y SSL/TLS de la biblioteca de bugs, como texto sin cifrar problemas, y SSL y STARTTLS despojando a los problemas. Para obtener más información, echa un vistazo Nogotofail la página de GitHub.
  • Siempre que sea posible, evite cargar el código de fuera de su APK, ya que esto aumenta las posibilidades de que alguien en la red de modificar su código, mientras que en transmitir.

Uso WebViews con precaución

El componente WebView puede consumir HTML y JavaScript, así que si usted utiliza WebViews incorrectamente su aplicación será vulnerable a la web común de los problemas de seguridad, tales como cross-site scripting.

Si utiliza WebViews incorrectamente su aplicación será vulnerable a la web común de los problemas de seguridad.

Para ayudar a mantener a los usuarios de Android seguro, el componente WebView no ejecutar JavaScript por defecto. Sin embargo, si es necesario, puede activar JavaScript mediante el uso de getSettings() para recuperar WebSettings y, a continuación, ejecuta el setJavaScriptEnabled() método:

WebView myWebView = (WebView) findViewById(R. id.webview);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);</pre@

Incluso si usted no necesita habilitar JavaScript, usted debe evitar el uso de addJavaScriptInterface() siempre que sea posible, ya que este método se inyecta el adaptador de objetos Java en el componente WebView. Si la aplicación está instalada en un dispositivo con Android 4.2 o versiones anteriores, este método podría permitir JavaScript para manipular su aplicación.

Si usted hace uso de WebViews, entonces usted no debe permitir a los usuarios navegar a cualquier sitio web que usted no controla, pero, en particular, usted debe nunca utilizar el addJavascriptInterface() método si el usuario podría navegar a una página web que no son de confianza, ya que esta es una gran aplicación para Android riesgo de seguridad.

Usted nunca debe utilizar la addJavascriptInterface() método si el usuario podría navegar a una página web que no son de confianza.

Si el componente WebView tiene acceso a los datos de carácter personal, entonces es posible que desee eliminar periódicamente los archivos que se almacenan localmente, utilizando la clearCache() método. Alternativamente, usted puede evitar que su aplicación de almacenamiento en caché de contenido sensible, utilizando el servidor de caché del lado del encabezado.

Gestionar la aplicación de la Capa de Sockets Seguros (SSL)

SSL es un componente común de cifrado de las comunicaciones entre clientes y servidores. Si su aplicación utiliza el protocolo SSL de forma incorrecta, a continuación, malintencionado de terceros potencialmente podría interceptar los datos de la aplicación mientras está siendo transmitido a través de una red.

Normalmente, un servidor está configurado con un certificado que contiene una clave pública y una clave privada correspondiente. Como parte de la comunicación entre el cliente SSL y el servidor, el servidor va a firmar su certificado con criptografía de clave pública. Sin embargo, es posible que un tercero para generar su propio certificado y la clave privada, por lo que su cliente también debe tener uno o más certificados en las que confía. Si el certificado no está establecida, entonces su aplicación no debe confiar en el servidor.

Para facilitar este proceso, los servidores son a menudo configurado con los certificados de la conocida Autoridades de certificación (CAs). A partir de la API de nivel 17, Android es compatible con más de 100 CAs que se actualiza con cada versión. Cuando la expedición de un certificado para un servidor, la emisora de firmar el certificado de servidor utilizando su clave privada, y el cliente puede verificar que el certificado es emitido por una CA que es conocida y de confianza para la plataforma Android.

Si la aplicación se comunica con un servidor web que tiene un certificado emitido por una CA de confianza, entonces usted puede hacer su pedido en un par de líneas de código:

URL URL = new URL("https://www.google.com");
HttpsURLConnection urlConnection = (HttpsURLConnection) dirección url.openConnection();
urlConnection.conectar();
InputStream in = urlConnection.getInputStream();

Sin embargo, hay algunos escenarios en los que el código anterior generará una excepción:

  • La CA que emitió el certificado de servidor es desconocido. En este escenario, usted puede enseñar a HttpsURLConnection a confiar en este conjunto de CAs.
  • El servidor certificado auto-firmado, lo que significa que el servidor está actuando como su propia CA. Para los certificados auto-firmados, usted puede crear su propio TrustManager, aunque debe asegurarse de que su auto-firmado el certificado tiene una clave segura.
  • La configuración del servidor es la falta de una CA intermedia. Muchos pública CAs no firmar los certificados de servidor directamente. Android sólo confía en la ca raíz, por lo que el servidor debe enviar una cadena de certificados del servidor de CA a través de cualquier intermedios necesarios para llegar a la raíz. Si no puede configurar el servidor para incluir la CA intermedia en el servidor de la cadena, a continuación, una posible solución es crear tu propio TrustManager.

La creación de una Red de Seguridad del Archivo de configuración: Confiar Personalizado CAs

Si quieres que tu aplicación para utilizar un nuevo personalizadas o de CA, entonces usted debe crear una Red de Seguridad del archivo de Configuración donde puede especificar su configuración de seguridad de red.

Para crear una Red de Seguridad del archivo de Configuración:

  • Si el proyecto no contiene un XML de la carpeta, entonces usted necesita para crear uno. Haga clic en Control del proyecto en la carpeta res y seleccione Nuevo > Android Directorio de Recursos.
  • Crear un nuevo archivo de recursos XML dentro de su directorio XML, que servirá como Red de Seguridad del archivo de Configuración. Estoy de nomenclatura de este archivo network_config.
  • Abra su archivo de configuración de red y especificar que todo el tráfico a los siguientes dominios deben usar HTTPS:
<?xml version="1.0" encoding="utf-8"?>
<de red-seguridad-config> //Desactivar el texto// <domain-config cleartextTrafficPermitted="false"> //Aplicar esta regla para el dominio y todos sus subdominios// <dominio includeSubdomains="true">my.domain.com</domain>
...
...
...
</dominio-config>
</red de seguridad-config>

Ahora puede especificar el conjunto de personalizado CAs que su aplicación debe confiar. Por ejemplo, si desea conectarse a un host que utiliza una auto-firmado CA, a continuación, tendrás que añadir el siguiente a la Red de Seguridad del archivo de Configuración:

<?xml version="1.0" encoding="utf-8"?>
<de red-seguridad-config> <domain-config cleartextTrafficPermitted="false"> <dominio includeSubdomains="true">my.domain.com</domain> //Un conjunto de anclajes de confianza para conexiones seguras// <trust-anclajes> //Un conjunto de certificados de confianza de los anclajes de los elementos, y la fuente de estos certificados// <certificados src="@raw/custom_ca"/>
</confianza-anclajes>
</dominio-config>
</red de seguridad-config>

No olvide declarar la Red de Seguridad del archivo de Configuración en su Manifiesto:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.jessicathornsby.networkConfig"> <aplicación
android:networkSecurityConfig="@xml/network_config"

Finalmente, es necesario agregar la auto-firmado el certificado de CA para su proyecto res/raw/custom_ca directorio, en PEM o DER formato, y su aplicación va a ser capaz de conectar con el host.

Restringir la lista de entidades emisoras de confianza

Alternativamente, usted puede querer aumentar la seguridad de su red por sólo conectando a CAs que usted conoce y confía, en lugar de automáticamente confiar en todos los CA que se conoce a la plataforma Android.

Para restringir su aplicación a un conjunto más pequeño de CAs, añada lo siguiente a su Red de Seguridad del archivo de Configuración:

<trust-anclajes> <certificados src="@raw/trusted_cas"/>
</confianza-anclajes>

A continuación, se necesita agregar la ca de confianza para su proyecto res/raw/trusted_cas, en PEM o formato DER.

La confianza adicional CAs, cuando proceda

Finalmente, usted puede confiar adicionales CAs que no son conocidos para la plataforma Android. Para aumentar el número de CAs que su aplicación fideicomisos, deberá especificar múltiples certificado de fuentes:

<trust-anclajes> <certificados src="@raw/extracas"/> <certificados src="sistema"/>
</confianza-anclajes>

Nunca enviar datos sensibles a través de SMS

Si usted necesita para transmitir los datos de un servidor a su aplicación, entonces usted debe utilizar Google Cloud Messaging (GCM) y la IP de mensajería, y nunca sin cifrar protocolo de SMS.

Android app security don't send data

Android app security don't send data

Lea también: desarrollo de Android: Cómo hacer llamadas, recibir SMS, y recuperar los contactos de los usuarios

Nunca debe realizar sensible a los comandos de uso de los mensajes SMS, como los SMS son de transmisión sexual como la emisión de las intenciones, lo que significa que cualquier aplicación con el READ_SMS permiso será capaz de acceder a su contenido.

Proteger contra las amenazas de seguridad con la Api de SafetyNet

SafetyNet proporciona un conjunto de servicios y Api que puede utilizar para proteger su aplicación contra las amenazas de seguridad tales como el dispositivo de manipulación, URLs maliciosas, y usuarios falsos.

Android soporta las siguientes SafetyNet Api:

  • SafetyNet de la Atestiguación de la API. Este anti-abuso de la API permite el acceso al dispositivo Android donde se ejecuta la aplicación, así que usted puede determinar si los servidores están interactuando con un auténtico dispositivo.
  • SafetyNet API de google Safe Browsing. Usted puede utilizar esta API para determinar si Google ha clasificado a una URL en particular como una amenaza conocida.
  • SafetyNet de la API de reCAPTCHA. Este servicio incluye una API de reCAPTCHA que puede utilizar para proteger su aplicación contra amenazas como el spam y el tráfico malicioso. Si la API sospecha que su aplicación es interactuar con un robot, entonces va a servir un CAPTCHA que el destinatario debe resolver antes de poder continuar utilizando la aplicación.
  • SafetyNet Verificar Aplicaciones de la API. Si la aplicación contiene datos confidenciales de los usuarios, entonces usted puede utilizar esta API para interactuar con el dispositivo de Verificar Aplicaciones de la función, y compruebe si el dispositivo está libre de aplicaciones maliciosas. Si el dispositivo no está seguro, entonces usted puede realizar algunas de limitación de daños mediante la desactivación de todos los de tu aplicación sensible características. Acaba de ser conscientes de que a pesar de SafetyNet se alerta a los usuarios potencialmente dañinos aplicaciones que se descubre, no hay ninguna garantía de que el usuario realmente desinstalar estas aplicaciones. Además, las aplicaciones maliciosas se liberan todo el tiempo, y que los hackers son siempre nuevas e ingeniosas maneras de deslizarse bajo el radar, por lo que incluso si un dispositivo hace pasar el SafetyNet de la prueba no se debe asumir que no hay perjudiciales aplicaciones en el dispositivo.

Para obtener más información acerca de la SafetyNet Api, incluyendo instrucciones sobre cómo utilizarlos en sus aplicaciones, echa un vistazo a la oficial de Android de google docs.

El uso de Android Protegido de Confirmación para operaciones sensibles

Si su aplicación necesita para realizar un sensibles a la transacción, tales como la realización de un pago, entonces usted puede utilizar Android Protegido de Confirmación en dispositivos que ejecutan Android 9 (API de nivel 28) o superior.

Cada vez que el usuario intenta completar una sensible transacción, Android Protegido de Confirmación se mostrará un mensaje preguntando a aceptar una breve declaración. Si el usuario aprueba esta declaración, entonces usted puede firmar el mensaje con una clave de Android Almacén de claves.

Para obtener más información, además de instrucciones sobre cómo implementar Android Protegido de Confirmación, compruebe el oficial de Android de google docs.

Android 10: Ejecutar incrustado DEX código directamente

En dispositivos que ejecutan Android 10 (nivel de API 29) y más alto, es posible ejecutar incrustado DEX código directamente desde el archivo APK de la aplicación, que puede ayudar a prevenir un ataque, incluso si el hacker se las arregla para manipular el dispositivo localmente código compilado.

Lea también: la Exploración de Android Q: la Adición de la burbuja de las notificaciones a la aplicación de la

Para activar esta nueva característica de seguridad, abra el proyecto del Manifiesto y añade el siguiente elemento <application>:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.jessicathornsby.myapplication"> <aplicación //Añadir el siguiente// android:useEmbeddedDex="true"

Después, usted necesitará crear un archivo APK que contiene sin comprimir DEX código que el ARTE puede acceder directamente. Abra su construcción.gradle archivo y agregar la siguiente:

aaptOptions { noCompress 'dex'
}

Acaba de ser conscientes de que el ARTE va a utilizar el compilador JIT cuando la aplicación se inicia, lo que puede afectar el rendimiento de tu aplicación.

El ajuste de

En este artículo, hemos cubierto todas las mejores prácticas, herramientas, APIs y las técnicas que usted puede utilizar para ayudar a mantener tu Android de la aplicación de seguridad.

¿Tienes algún consejo para aumentar la aplicación de la seguridad? Asegúrese de compartir tus consejos en los comentarios de abajo!

Más posts acerca de desarrollo de Android

Ahorrar un 60% en nuestra Introducción al Curso de Desarrollo Android

Android Autoridad ha creado un curso para aprender a desarrollar Aplicaciones para Android! Ninguna Codificación Se Requiere Experiencia. Comience Su Viaje en Convertirse en un Desarrollador de Android hoy en día.

Deja un comentario

A %d blogueros les gusta esto: