Cómo crear software seguro tanto en dispositivos móviles como de escritorio
Publicado: 2019-03-06En el mundo moderno, las preocupaciones por la seguridad atraen más atención que nunca. Varios piratas informáticos y estafadores comenzaron a florecer con el auge de las criptomonedas que valen cientos y miles de dólares por moneda. Datos confidenciales de celebridades, credenciales bancarias, información sobre transferencias de dinero o nuevas tecnologías: los delincuentes en línea se benefician de todo porque las personas tienden a ignorar las medidas de protección clave.
Sin embargo, un pescado apesta de la cabeza hacia abajo. Sin las funciones de seguridad adecuadas diseñadas por los desarrolladores de software, es imposible proteger sus datos del lado del cliente. Teniendo en cuenta el hecho de que los dispositivos móviles ganan más popularidad debido a las funcionalidades en constante aumento, mientras que las plataformas de escritorio/web siguen siendo las mejores, queremos descubrir cómo los autores pueden hacer que sus productos sean compatibles y seguros. Encontrará consejos para los usuarios en la última sección.
Seguridad en pocas palabras
En primer lugar, distingamos entre aplicaciones de seguridad y software de seguridad. Estos términos pueden parecer sinónimos, pero están relacionados con diferentes aspectos donde la primera definición representa la seguridad general del producto lanzado y la segunda cubre las etapas posteriores y previas a la implementación.
Básicamente, las aplicaciones de software son herramientas simples que ayudan a los usuarios a interactuar con los datos, ya sea a través de dispositivos móviles o plataformas de escritorio. Por ejemplo, si desea verificar un registro de salud u obtener información sobre sus transacciones recientes, es mucho más conveniente usar un teléfono inteligente o el sitio web de un hospital/banco en lugar de llamar o visitar estos lugares.
El problema es que el software no reconoce los tipos de datos clasificados por su sensibilidad. Sin categorías y accesos programados manualmente, las aplicaciones no pueden distinguir su nombre de los números CVV/CVC de su tarjeta de crédito. Por lo tanto, es importante comenzar a construir un sistema de seguridad adecuado desde las primeras etapas de desarrollo. Aquí hay algunos consejos sobre este proceso:
- Realice una codificación segura.
- Clasificar datos y establecer requisitos de autorización.
- Localiza errores y deshazte de ellos.
- Evaluar la seguridad en cada etapa de desarrollo.
- Verifique la confiabilidad de las cosas de terceros.
- Educar a los desarrolladores sobre las técnicas de estafa.
- Requerir 2FA de los empleados.
- Actualice regularmente el software después de su lanzamiento.
Problemas de seguridad conocidos
Apenas es posible crear una aplicación protegida sólida sin comprender cómo las plataformas móviles y de escritorio son vulnerables a los piratas informáticos. En pocas palabras, existen algunos enfoques tradicionales para acceder a dispositivos con una arquitectura diferente, por lo que proponemos revisarlos ahora mismo. Estos puntos deberían ayudar durante la etapa de diseño cuando planifique las mejores medidas de seguridad para productos móviles y de escritorio.
Teléfonos inteligentes y tabletas
El estilo de vida en movimiento incluye dispositivos móviles obligatorios. Por lo tanto, muchas personas ahora transfieren sus datos centrales de las computadoras a los teléfonos inteligentes o al menos sincronizan información entre dos plataformas. Como resultado, obtenemos otro punto en el que los estafadores pueden acceder a datos valiosos. Técnicamente, hay tres aspectos vulnerables:
- Hardware del dispositivo.
- Software en sí.
- Redes públicas.
Por ejemplo, los ladrones pueden robar fácilmente su teléfono en una multitud, rootearlo y obtener acceso a todo lo que hay dentro del sistema. El hardware también puede manipularse si compra dispositivos de distribuidores no oficiales. Además de este punto débil, se sabe que los piratas informáticos ingresan a teléfonos inteligentes y tabletas a través de redes Wi-Fi públicas desprotegidas. Finalmente, no vale la pena instalar malware a través de un juego normal o una aplicación de medios si se descarga de una tienda no oficial.
Web y escritorio
Tanto los navegadores como el software descargado suelen funcionar de manera similar si requieren una conexión a Internet. Aquí, la aplicación actúa como un lado del cliente que envía solicitudes y obtiene resultados, mientras que la base de datos principal (y las interfaces si usa un navegador para navegar por los sitios web) se encuentra en el servidor conectado. Por lo tanto, los desafíos de seguridad se dividen en tres partes:
- Lado del cliente.
- Lado del servidor.
- Proceso de intercambio de datos.
El problema más peligroso está relacionado con el software heredado, ya que los delincuentes en línea pueden acceder fácilmente a interfaces antiguas que ya no están protegidas por sistemas actualizados. Además, el almacenamiento en caché de páginas, los servicios de encriptación deficientes y las direcciones/información confidencial expuestas por las cookies son posibles vínculos débiles que los piratas informáticos pueden utilizar.

Desarrollo de software seguro
Ahora, la pregunta es: ¿cómo crear un sistema confiable para ambas plataformas si presentan debilidades tan diferentes? En general, hay tres enfoques. Puede elegir el más adecuado, pero asegúrese de considerar los pros y los contras de cada ejemplo.
Móvil Y Escritorio
En este caso, los desarrolladores deberían crear dos productos (para plataformas móviles y para navegadores/equipos de escritorio) por separado. Las aplicaciones no están interconectadas ni sincronizadas, así que prepárate para gastos elevados tanto en dinero como en tiempo porque tu equipo tendrá que invertir el doble de recursos. Como resultado, se lanzarán dos aplicaciones separadas, cada una con su propia protección diseñada específicamente para las plataformas de destino.
Móvil CON Escritorio
Esta opción proporciona el lanzamiento de un sitio web altamente adaptable, por lo que mostrará todos los elementos correctamente para los usuarios web y móviles. Como resultado, obtiene una plataforma única con un solo punto débil basado en las vulnerabilidades web descritas anteriormente. No obstante, el producto final será menos funcional que las plataformas móviles nativas, el contenido se cargará más lentamente y las funciones generales serán limitadas.
Escritorio móvil PLUS
En lugar de crear proyectos separados o diseñar un sitio web con compatibilidad móvil, existe la opción más eficiente y segura. Varios equipos, incluidos los desarrolladores de Diceus.com, utilizan este enfoque. Es necesario crear una única plataforma de back-end pero instalar dos sistemas de front-end diferentes sobre ella.
Por ejemplo, el software básico se puede realizar utilizando la API RESTful que admite una arquitectura escalable tanto para dispositivos móviles como para computadoras de escritorio. Además, React.js es una buena opción para el front-end web, mientras que los marcos Xamarin o Cordova se adaptarán a las necesidades de los desarrolladores móviles multiplataforma.
Pasando a las medidas de seguridad, existen algunos métodos probados con el tiempo para el enfoque de escritorio móvil:
- Ofrezca encriptación de primer nivel. Para las versiones web, es necesario contar con una tecnología de encriptación real que evite los ataques.
- Incluir detecciones. Podrá detectar malware en cualquier momento si los sistemas front-end tienen una fuerte conexión con la plataforma back-end.
- Incluya la autoprotección. Las aplicaciones pueden utilizar funciones de tiempo de ejecución, como el abandono de sesiones inactivas o notificaciones de fallas.
- Pruebe el software regularmente. Use SAST para pruebas de código, DAST para aplicaciones e infraestructuras e IAST para verificaciones de datos.
- Actualización y soporte de productos. Como los pícaros inventan nuevos ataques, es mejor responder rápidamente con nuevas medidas defensivas.
El modelo de desarrollo descrito es el más equilibrado en cuanto a recursos, prestaciones y seguridad. Debe crear y proteger tres puntos (un back-end y dos front-end) en lugar de cuatro elementos de productos separados, pero obtiene casi la misma funcionalidad.
Protección impulsada por el usuario
Al final del día, no se olvide de la seguridad del lado del cliente. Los desarrolladores pueden crear el mejor sistema posible, pero la negligencia de los usuarios arruina todo. Cuando utilice un software específico, independientemente de su tipo, recuerde la higiene de Internet: no confíe en los correos electrónicos sospechosos, verifique dos veces los certificados de encriptación de los sitios web, use antivirus, etc. Habilite siempre 2FA para obtener códigos de verificación adicionales a través de SMS o aplicaciones de autenticación. Utiliza herramientas de identificación biométrica como huellas dactilares o detección de rostros para smartphones y tablets.
En general, no es difícil proteger los datos cuando tanto los desarrolladores como los usuarios saben cómo hacerlo. Los piratas informáticos perderían su trabajo si todos nosotros siguiéramos estrictamente las reglas de seguridad.
¿Tiene alguna idea sobre esto? Háganos saber a continuación en los comentarios o lleve la discusión a nuestro Twitter o Facebook.
Recomendaciones de los editores:
- Entrevista con Stu Grubbs, director ejecutivo de la empresa de software de transmisión Lightstream
- 10 desarrolladores de software que deberías seguir en 2019
- 5 de los proveedores de software de juegos más populares
- Aquí están los proveedores de software de iGaming más grandes y exitosos
- ¿Puede su software antivirus reducir la velocidad de Internet?