PSD2: Creación de un entorno de ejecución seguro para aplicaciones de banca móvil

Frederik Mennes, 3 de Julio de 2018

La Directiva de servicios de pago revisada, también conocida como PSD2, presta mucha atención a la seguridad de las aplicaciones de banca móvil, aplicaciones de pago móvil, billeteras móviles y otras aplicaciones que ofrecen funcionalidad de pago.

Los requisitos más importantes relacionados con seguridad de aplicaciones móviles están presentes en el Artículo 9 de las Normas Técnicas Regulatorias (RTS) finales sobre Autenticación de Cliente Fuerte (SCA) y Comunicación Común y Segura (CSC), un anexo a PSD2. Este artículo requiere que las instituciones financieras (FI), que usan dispositivos móviles para autenticar al pagador o las transacciones financieras, "mitiguen los riesgos que resultan del compromiso del dispositivo móvil". El artículo enumera una serie de medidas atenuantes que las IF deben adoptar, incluido el "uso de entornos de ejecución segura separados" en el dispositivo móvil, así como mecanismos para detectar y defenderse contra las alteraciones del dispositivo móvil.

Estas medidas atenuantes en el RTS final son bastante vagas. Sin embargo, se aplican a aplicaciones de banca móvil y otras aplicaciones con funcionalidad de pago, ya que el mecanismo de autenticación de dichas aplicaciones depende del dispositivo móvil. Como consecuencia, las aplicaciones de banca móvil deben ejecutarse dentro de entornos de ejecución seguros y estar protegidas contra la alteración de su funcionalidad.

En este artículo exploramos los requisitos de seguridad de la aplicación móvil de PSD2 con más detalle, y discutimos cómo los bancos pueden asegurarse de que sus aplicaciones móviles cumplan con estos requisitos.

Guía

Seguridad de canal bancario móvil invisible

Descarga esto guía y aprenda a usar técnicas de protección en capas, identificar y bloquear ataques de malware en tiempo real, integrar la autenticación biométrica, fortalecer la cadena de autenticación desde la aplicación a través del dispositivo y asegurar la aplicación móvil con seguridad invisible.

Descargar ahora

¿Qué es un entorno de ejecución seguro?

El RTS final establece que las instituciones financieras deben usar entornos de ejecución seguros para proteger las aplicaciones móviles. Sin embargo, el RTS final no define qué un entorno de ejecución seguro en realidad es, o cómo Se podría implementar. El RTS no proporciona este nivel de detalle para ser a prueba de futuro e independiente de la tecnología, que son razones que tienen sentido. Sin embargo, también deja a las IF, que necesitan implementar un entorno de ejecución seguro en la práctica, sin saber cómo debería ser ese entorno de ejecución. Del mismo modo, proporciona una guía limitada a las autoridades nacionales competentes, que deben decidir si el enfoque de una determinada institución financiera hacia la seguridad de las aplicaciones móviles realmente cumple con los requisitos del RTS final.

Por lo tanto, primero tratemos de llegar a una definición útil de "entorno de ejecución segura" (VER). En el mundo de la informática confiable, un SEE generalmente se define como un entorno de procesamiento protegido por integridad, que consiste en capacidades de procesamiento, memoria y almacenamiento. Como tal, el SEE está aislado del entorno de procesamiento "normal" del dispositivo móvil, y garantiza que las aplicaciones móviles se puedan ejecutar sin interferencia de otros procesos o aplicaciones móviles (por ejemplo, malware) que residen en el mismo dispositivo.

Tales SEE se pueden realizar utilizando arquitecturas de hardware como ARM TrustZone o aquellas basadas en la especificación del Entorno de ejecución confiable (TEE) de GlobalPlatform. Sin embargo, a partir de hoy la adopción de tales arquitecturas de seguridad basadas en hardware es baja.

La buena noticia es que la definición de SEE en el RTS claramente permite a los SEE que no dependen de mecanismos de seguridad de hardware. Una versión preliminar del RTS declaró que el "entorno de ejecución segura" podría construirse utilizando mecanismos de seguridad solo de software, y que no tiene que depender de mecanismos de seguridad basados en hardware. Las versiones anteriores del RTS usaban la frase "entorno de ejecución confiable" en lugar de "entorno de ejecución seguro", pero esto se cambió para enfatizar que los mecanismos que no son de hardware también son suficientes.

Por lo tanto, una definición más pragmática de SEE podría ser la siguiente: un SEE es un entorno de ejecución que proporciona protección contra ataques conocidos contra aplicaciones móviles. Este enfoque analiza los ataques que enfrentan los bancos en el campo hoy en día, y considera que un entorno de ejecución es seguro si proporciona una protección razonable contra estos ataques. Como tal, la definición de entorno de ejecución segura evoluciona con el tiempo a medida que evoluciona el panorama de amenazas para las aplicaciones de banca móvil.

Actualmente, lo más importante seguridad de banca móvil Las amenazas que observamos son:

  • Ataques superpuestos: El malware en el dispositivo móvil muestra una ventana en la parte superior de la aplicación bancaria genuina que se parece mucho a la aplicación bancaria. El malware tiene como objetivo capturar las credenciales bancarias del usuario (por ejemplo, nombre de usuario, PIN). Las familias comunes de malware de Android como Marcher y BankBot son conocidas por tales ataques.
  • Código de inyección o enganche: El malware intenta alterar la funcionalidad de una aplicación de banca móvil. Por ejemplo, la aplicación podría modificarse para registrar el código PIN del usuario o para manipular al beneficiario de una transacción financiera. Los marcos de enganche como Frida y Xposed están disponibles gratuitamente para los estafadores para esto.
  • Registro de teclas: El malware en el dispositivo móvil intercepta las pulsaciones de teclas o los gestos para robar datos confidenciales, como los PIN.
  • Intercepción de mensajes SMS: Los mensajes SMS se interceptan con códigos de autenticación que utilizan malware en el teléfono del usuario. Esta es una característica popular de muchas familias de malware móvil Android en la actualidad.

Cómo crear un entorno de ejecución seguro

Para crear un entorno de ejecución seguro para aplicaciones de banca móvil, recomendamos protegerlas mediante la tecnología de protección de aplicaciones, también conocida como Autoprotección de aplicaciones en tiempo de ejecución o seguridad RASP. Esta tecnología protege una aplicación móvil contra varios tipos de amenazas en tiempo de ejecución. Como tal, crea un entorno virtual de ejecución segura para la aplicación, lo que permite que se ejecute incluso en dispositivos móviles no confiables.

Aplicación de blindaje protege las aplicaciones móviles mediante una combinación de enfoques preventivos, detectivescos y reactivos. Evita las amenazas en tiempo de ejecución, por ejemplo, al ofuscar el código para dificultar la ingeniería inversa. Detecta ataques en tiempo de ejecución, como intentos de alterar la aplicación o ejecutar la aplicación dentro de un emulador. Finalmente, puede reaccionar a los ataques en tiempo de ejecución de diferentes maneras, como alertar a los motores de riesgo del lado del servidor del banco o incluso cerrar la aplicación.

Obtenga más información sobre cómo identificar y bloquear ataques de malware en tiempo real con este documento técnico:
https://www.onespan.com/solutions/invisible-mobile-banking-channel-security

Este artículo, escrito por Frederik Mennes, Gerente Senior de Estrategia de Mercado y Seguridad en el Centro de Competencia de Seguridad OneSpan, apareció por primera vez el 06/2018 en alemán el IT Finanzmagazin .

Frederik dirige el Centro de Competencia de Seguridad de OneSpan, donde es responsable de los aspectos de seguridad de los productos y la infraestructura de OneSpan. Tiene un profundo conocimiento de las tecnologías de autenticación, gestión de identidades, normativa y seguridad para aplicaciones en la nube y móviles.