Las aplicaciones móviles ofrecen grandes oportunidades para las empresas en la era digital. Según una investigación de Statista, los ingresos internacionales de las aplicaciones móviles alcanzarán la asombrosa cifra de 935.000 millones de dólares en 2023, frente a los 365.000 millones de dólares de 2018.
Sin embargo, el proceso de creación de aplicaciones móviles es considerablemente diferente del proceso de desarrollo de software empresarial. Para empezar, las aplicaciones móviles suelen ser nativas de la nube, diseñadas para una variedad de sistemas operativos y dispositivos diferentes, y dependen de los microservicios back-end de Android e iOS.
Al mismo tiempo, a menudo se ejerce presión sobre los desarrolladores de software para que creen aplicaciones móviles de forma segura y rápida. Pero, ¿cómo pueden hacer estas cosas teniendo en cuenta los requisitos únicos de las aplicaciones móviles?
Hoy en día, las aplicaciones móviles desempeñan un papel importante en las empresas de todos los sectores. Pero cuando quedan vulnerables a problemas de seguridad y, posteriormente, los ciberdelincuentes las vulneran, las empresas pueden enfrentarse a importantes interrupciones en sus operaciones diarias.
“La aplicación móvil no es menos importante que cualquier otro componente de su negocio, y las infracciones más difíciles de detectar en la seguridad de una aplicación podrían tener un impacto desastroso”, dice Olexandr Leuschenko, director de dispositivos móviles de Ciklum.
“El tema de la seguridad en el desarrollo de aplicaciones móviles a menudo se subestima y los equipos de ingeniería pueden confiar en los niveles estándar de protección proporcionados por Apple y Google. En realidad, sin embargo, es responsabilidad de los desarrolladores proteger las aplicaciones que están creando “.
La opinión de Leuschenko es que los desarrolladores de software deben tomar medidas para proteger las aplicaciones móviles al comienzo de su desarrollo. En particular, recomienda que los desarrolladores integren las evaluaciones de seguridad en el ciclo de vida del desarrollo de software, sigan los principios de seguridad establecidos y utilicen soluciones con eficacia probada.
“Como requisito mínimo, los desarrolladores deben seguir las reglas de seguridad más sencillas: ofuscar el código, deshabilitar JavaScript en las vistas web a menos que se requiera explícitamente, no almacenar información confidencial en texto sin formato y no enviar ninguna información confidencial al VCS [version control system],” él añade.
Olexandr Leuschenko, Ciklum
Esta opinión está respaldada por el especialista en seguridad de ESET, Jake Moore, quien dice que los desarrolladores pueden prolongar la protección si se aseguran de que las funciones de la aplicación sean seguras en las primeras etapas de desarrollo. Pero admite que mejorar la seguridad de las aplicaciones móviles es difícil debido a la gran cantidad de plataformas y sistemas operativos disponibles actualmente.
Además, Moore señala que la seguridad de las aplicaciones móviles puede ser problemática para los desarrolladores porque el hardware del teléfono envejece rápidamente. “La autenticación multifactor, por ejemplo, es una forma sencilla de ayudar a proteger a los titulares de cuentas del acceso fraudulento en todas las plataformas, independientemente del dispositivo”, dice.
Al crear aplicaciones móviles, los desarrolladores también deben implementar salvaguardas para proteger los datos del usuario, dice Moore. “Los datos que maneja la aplicación deben almacenarse de tal manera que solo los usuarios autorizados tengan acceso”, agrega. “El cifrado ayuda a tratar de reducir el acceso no autorizado y puede diseñarse en la aplicación independientemente de la generación. Cualquier dato protegido en la nube requiere una protección sólida, pero no está definido por el desarrollo de la aplicación “.
Moore dice que las pruebas son otra parte vital del proceso de desarrollo de aplicaciones móviles, pero advierte que los desarrolladores pueden tener problemas con esto cuando se trata de varias generaciones de hardware y sistemas operativos. “La seguridad de confianza cero también es un método de seguridad sólido mediante el cual asume que nada en una red es seguro”, dice. “Por lo tanto, solo se otorga la menor cantidad de permisos a un usuario o una máquina, y solo cuando es necesario, lo que ayuda a protegerse”.
Responder a las necesidades cambiantes de los usuarios
Los requisitos de desarrollo de aplicaciones móviles están cambiando drásticamente debido a las diferentes necesidades de los usuarios, según Amit Sharma, ingeniero de seguridad de Synopsys Software Integrity Group. “Para reaccionar ante el ecosistema móvil en constante cambio, incluido el hardware, las plataformas, los sistemas operativos, etc., la comunidad de desarrollo se centra en las bibliotecas nativas que pueden utilizarse para optimizar su trabajo”, dice.
“La automatización es clave para satisfacer las necesidades del mercado. Las tecnologías nativas de la nube desempeñan un papel crucial a la hora de proporcionar viabilidad para lograrlo. Los desarrolladores ahora tienen el lujo de lanzar y probar simultáneamente sus aplicaciones en varias plataformas, lo que proporciona una mayor escalabilidad y confiabilidad. Además, es necesario un rápido desarrollo e implementación de software “.
Si las organizaciones quieren garantizar que la seguridad esté integrada desde el inicio del desarrollo de aplicaciones móviles, Sharma dice que es esencial educar a la comunidad de desarrollo sobre las pautas de codificación segura y alentar a los desarrolladores a realizar pruebas periódicas en todas las fases del proceso de desarrollo.
“Con el uso extensivo de bibliotecas de terceros en el dominio móvil, debe haber controles sobre los riesgos inherentes de una aplicación”, dice. “Los análisis regulares que comprueban los riesgos en las bibliotecas de terceros y las obligaciones de licencia son imprescindibles para estar intactos con los procedimientos de cumplimiento en todas las plataformas, sistemas operativos, etc.”
Las interfaces de programación de aplicaciones (API) desarrolladas para la comunicación de back-end son otro desafío a superar y deben probarse desde una perspectiva de seguridad, dice Sharma. “También se debe considerar el uso de mecanismos criptográficos apropiados para mantener los datos seguros tanto en reposo como en tránsito”, dice. “Revisar los permisos que contribuyen a la idea de confianza cero es una buena manera de avanzar en la dirección del desarrollo de aplicaciones seguras. Ser consciente es estar seguro “.
Reducir las cargas de seguridad del desarrollo de aplicaciones móviles
Soportar múltiples versiones de sistemas operativos y dispositivos es una ardua tarea que enfrentan los desarrolladores de aplicaciones, admite Sean Wright, líder de seguridad de aplicaciones en Immersive Labs. Sin embargo, señala que los marcos de desarrollo de aplicaciones móviles más nuevos, como Cordova, pueden aliviar esta carga.
“El marco termina abstrayendo la mayor parte de esta dificultad”, dice. “Esto permite que los desarrolladores necesiten esencialmente mantener una sola aplicación en términos de código fuente. Sin embargo, garantizar que este marco se mantenga actualizado es vital para garantizar que la aplicación se mantenga segura “.
Wright señala cómo Android e iOS han avanzado mucho para garantizar que los desarrolladores creen aplicaciones seguras para sus respectivas plataformas. “Un buen ejemplo es TLS [transport layer security],” él dice. “Las versiones posteriores de ambos sistemas operativos móviles manejan la mayor parte de la complejidad, como la validación de certificados, lo que ayuda a habilitar aplicaciones más seguras”.
El desarrollo de aplicaciones móviles de forma segura no se desvía significativamente de las aplicaciones basadas en la web, dice Wright. “Aún es necesario seguir las mejores prácticas, como el cifrado en reposo y en tránsito, usar bibliotecas y marcos apropiados cuando sea posible y, lo que es más importante, garantizar que se realicen las pruebas de seguridad adecuadas en las versiones publicadas de las aplicaciones móviles”, dice.
“De hecho, existen muchas similitudes entre las aplicaciones móviles y las aplicaciones web modernas. La aplicación interactúa a través de API para obtener y procesar los datos utilizados por la aplicación “.
Practicar el desarrollo seguro de aplicaciones móviles
Los desarrolladores de 1Password ven la seguridad y la privacidad como partes fundamentales de todo el proceso de desarrollo de la aplicación. “Ellos determinan cómo diseñamos nuestras aplicaciones, qué características implementamos y cómo las implementamos”, dice Michael Verde, líder del equipo de desarrollo de Android en 1Password.
1Password practica el enfoque de seguridad en profundidad, protegiendo la comunicación con su servidor mediante el uso de múltiples capas de cifrado. “Empleamos capas similares de protección en nuestras aplicaciones aprovechando las características de seguridad de las plataformas en las que se implementan: marcos criptográficos, sandboxing, entornos de ejecución confiables y más”, dice. “También creamos nuestras aplicaciones en capas, lo que garantiza que la información más confidencial solo sea manejada por las capas más internas de las aplicaciones”.
Michael Verde, 1Password
Otra forma en que 1Password logra el desarrollo seguro de aplicaciones móviles es mediante el diseño de funciones que son fáciles de entender y difíciles de usar incorrectamente. “Siempre que hay compensaciones entre seguridad y conveniencia, favorecemos la seguridad y damos a nuestros clientes la opción de habilitar las características convenientes que son adecuadas para ellos”, dice Verde.
“Usamos una base de código común como base de nuestras aplicaciones para garantizar que las rutas más sensibles de nuestro código sean sólidas y se implementen de la misma manera en cada aplicación. Centralizar este código nos ayuda a protegernos de los errores más comunes, como el registro de datos confidenciales o información de identificación personal. Y lo que es más importante, facilita que nuestro equipo de seguridad revise cualquier cambio que se realice “.
Además de garantizar que las aplicaciones móviles sean seguras y que los ciberdelincuentes no puedan violarlas, las empresas también necesitan lanzar aplicaciones rápidamente para satisfacer a sus clientes y mantenerse por delante de la competencia. Len Welter, gerente de producto global de la aplicación móvil Bloomberg Professional, dice: “Durante los últimos años, hemos invertido en nuestra infraestructura y plataformas móviles con el objetivo particular de acelerar el desarrollo de nuestra aplicación móvil Bloomberg Professional, todo sin sacrificar el rendimiento. o las experiencias de los usuarios nativos de iOS / Android “.
Bloomberg puede lanzar cambios de aplicaciones rápidamente gracias a su propio kit de desarrollo de software móvil (SDK), dice Welter. “Mobile SDK crea un pequeño conjunto de componentes reutilizables, bien probados y de alto rendimiento que se ejecutan de forma nativa tanto en Android como en iOS”, dice. “Esto permite que la interfaz de usuario, y la lógica empresarial subyacente, permanezcan coherentes, incluso cuando cambian los requisitos empresariales.
“Ahora podemos actualizar rápidamente nuestra aplicación para satisfacer la demanda de los clientes. Nuestro Mobile SDK nos ha permitido enviar funcionalidades relativamente complejas tanto a iOS como a Android en cuestión de días o semanas, en lugar de meses, además de dar cabida a un aumento de casi el 50% en el uso de nuestra aplicación móvil durante la pandemia “.
Las aplicaciones móviles son un gran problema para muchas empresas en la actualidad. Pero lo que está claro es que el desarrollo de aplicaciones móviles es un proceso complejo que comprende muchos factores diferentes que los desarrolladores deben comprender. En particular, deben garantizar que las aplicaciones móviles sean seguras y se implementen lo más rápido posible. Es justo decir que estos son requisitos previos para el desarrollo exitoso de aplicaciones móviles.