Las transacciones son operaciones críticas de negocio, como pagos o actividades financieras. Debido a su especial sensibilidad requieren fuertes medidas de seguridad, tales como:
- Autenticación. Uso de contraseñas seguras y MFA para autorizar el acceso a las transacciones.
- Criptografía. Asegurar la confidencialidad de las transacciones.
- Validación. Aseguramiento de la legitimidad de las transacciones, evitando ataques y fraudes.
- Monitorización. Permite detectar y prevenir de ataques y fraudes en tiempo real.
- Copias de seguridad. Permite recuperar la disponibilidad de los datos en caso de ataques, caídas del sistema o pérdidas de datos.
Las transacciones deben cumplir las propiedades ACID: Atomicity, Consistency, Isolation y Durability.
Imagen: linnworks
Posibles riesgos
A continuación se describen algunos de los posibles riesgos relativos a las transacciones:
- Payment Bypass. Vulnerabilidad de configuración que permite a un atacante manipular, en un sistema de pago, los parámetros y la respuesta entre cliente y servidor para eludir el sistema de pago.
- Fraude. El atacante se beneficia de forma ilícita, manipulando las transacciones o usando información falsa.
- Robo de información confidencial. Para ser usada en futuros ataques.
- Interrupción de las transacciones. Con ataques DoS/DDoS.
- Pérdida de datos. Puede afectar a la confidencialidad y a la integridad de la información.
Mejores prácticas
He aquí algunas recomendaciones para elevar la seguridad en las transacciones:
- Evitar un Payment Bypass:
- Toda compra ha de autorizarse y confirmarse en el servidor.
- Validar la autenticidad de las firmas durante la comunicación con la pasarela de pago.
- Verificar el precio correcto en el servidor.
- Asegurar que los pagos no se reutilizan.
- Comprobar la fase actual de la transacción en el servidor de pago.
- Para cada transacción, configurar un tiempo corto de expiración.
- Llevar una trazabilidad fehaciente de las transacciones.
- Utilizar comunicaciones con cifrado asimétrico.
- Registrar el detalle de cada operación, anonimizando los datos sensibles.