Neutron, nuestro motor de IA, obtuvo un 96.75% en el benchmark CyberGym de UC Berkeley. Más información

Ingeniería

Ingeniería

¡Bibliotecas externas en Android!

Para un desarrollador de Android, se ha vuelto una práctica habitual usar bibliotecas externas para ampliar con facilidad las funcionalidades de la aplicación móvil. Gracias a la sencilla integración de dependencias de Gradle, se pueden añadir con facilidad funcionalidades como frameworks HTTP, ORM de bases de datos, desplazamientos vistosos, carga eficiente de imágenes, almacenamiento en caché, integración con redes sociales y muchas otras.

Para un desarrollador de Android, se ha vuelto una práctica habitual usar bibliotecas externas para ampliar con facilidad las funcionalidades de la aplicación móvil. Gracias a la sencilla integración de dependencias de Gradle, se pueden añadir con facilidad funcionalidades como frameworks HTTP, ORM de bases de datos, desplazamientos vistosos, carga eficiente de imágenes, almacenamiento en caché, integración con redes sociales y muchas otras.

dependencies {
compile 'com.android.support:appcompat-v7:22.0.0'
}

Las bibliotecas externas hacen que el desarrollo sea mucho más sencillo y eficiente, e incluso se considera una buena práctica.

Sin embargo, las bibliotecas externas presentan un riesgo de seguridad, que va desde nuevas vulnerabilidades, funcionalidades ocultas peligrosas o incluso una puerta trasera inquietante.

Al escanear las 150 principales aplicaciones en busca de dependencias externas, identificamos las siguientes como las más utilizadas:

Dependencias externas de las 150 principales aplicaciones
Dependencias de las aplicaciones principales

La mayoría de estas bibliotecas cuentan con el respaldo de empresas como Twitter, Facebook o Square, pero algunas las mantiene un único desarrollador; tomemos como ejemplo ButterKnife: el proyecto enumera 45 colaboradores, el primero con 251 commits, el segundo con 13 commits y la mayoría del resto con un solo commit.

El compromiso de esta biblioteca podría llevar al compromiso de millones de usuarios una vez que la versión con puerta trasera se publique en producción. Otras se distribuyen como una caja negra y ni siquiera se puede comprobar el código fuente, como Flurry, por ejemplo.

La seguridad de las bibliotecas externas no es un tema sencillo, pero estas son algunas recomendaciones que conviene aplicar:

  • Revisar con regularidad los avisos de seguridad de la biblioteca y actualizarla en consecuencia
  • Auditar cada biblioteca externa antes de incluirla en la aplicación.
  • Controlar las interacciones entre las bibliotecas externas y la aplicación
  • Antes de actualizar cualquier biblioteca, comprobar el contenido de los nuevos envíos
  • Los sitios de intercambio de código son objetivo habitual de ataques maliciosos (ataque DDoS a gran escala contra github.com). Consultar su blog y sus tuits para mantenerse informado.

Etiquetas:

android, third party