Model d'Amenaces i Riscos en Entorns Web
Identifiquem com, on i per què una aplicació web pot ser atacada: de la teoria a l'anàlisi pràctica de vulnerabilitats.
Superfícies d'Atac: Client vs. Servidor
En un entorn web hem de protegir dos fronts clarament diferenciats. Cada costat té els seus propis objectius d'atac i vulnerabilitats característiques:
Seguretat en el Client (Frontend)
- Focus: L'usuari final i el seu navegador.
- Objectiu de l'atacant: Robar cookies de sessió, suplantar la identitat o redirigir a l'exterior.
- Atacs clau: Cross-Site Scripting (XSS), Cross-Site Request Forgery (CSRF) i Clickjacking.
Seguretat en el Servidor (Backend)
- Focus: La infraestructura, el servidor d'aplicacions i la base de dades.
- Objectiu de l'atacant: Accedir a dades massives, executar ordres al SO o deixar el servei inoperatiu.
- Atacs clau: Injecció SQL, Buffer Overflow i DoS/DDoS.
Vectors d'Atac Comuns
Els vectors d'atac són els mètodes que fan servir els ciberdelinqüents per explotar les vulnerabilitats d'un sistema:
Enginyeria Social
Manipulació psicològica per obtenir dades sensibles. Un atacant es fa passar per suport tècnic per aconseguir credencials. Inclou tècniques com el pretexting o el baiting.
Phishing
Suplantació d'identitat mitjançant correus o webs falses dissenyades per capturar credencials de l'usuari de forma enganyosa.
Malware i Ransomware
Software maliciós que compromet sistemes o xifra fitxers per demanar un rescat econòmic (extorsió). És un dels atacs més lucratius per als ciberdelinqüents.
Vulnerabilitats de Software
Errors en el codi (com els recollits per OWASP) que permeten l'explotació tècnica directa de l'aplicació o la infraestructura.
OWASP Top 10: Vulnerabilitats Crítiques
L'estàndard d'OWASP classifica els 10 riscos més importants per a les aplicacions web, ordenats per impacte i probabilitat. Aquí els més rellevants per a les pràctiques:
Broken Access Control
No es validen correctament els permisos d'usuari. Un usuari autentat modifica la URL per accedir a dades d'un altre client (IDOR).
Cryptographic Failures
Contrasenyes en text pla o protocols obsolets com HTTP o TLS 1.0 exposen dades sensibles.
Injection
Dades no fiables executades com a ordres. SQL Injection:
' OR '1'='1. XSS: Scripts al navegador de la víctima.
Insecure Design
Manca de controls de seguretat ja en la fase de disseny de l'aplicació, no en la implementació.
Vulnerable Components
Ús de llibreries o frameworks amb fallades conegudes. Cas real: Equifax va ser vulnerat per un Apache Struts sense parchear.
Auth Failures
Problemes en la verificació d'identitat: contrasenyes febles o sense protecció contra atacs de força bruta.
Avaluació de Riscos i Mitigació
Davant de qualsevol amenaça identificada, hem de seguir un procés estructurat de tres fases:
🗂️ Identificació d'Actius
Llistar els elements crítics del sistema: bases de dades, credencials, APIs i qualsevol dada de valor per a l'empresa o els usuaris.
🔍 Anàlisi de Vulnerabilitats
Identificar quins atacs de l'OWASP podrien afectar els actius. Exemple: "La base de dades és vulnerable a SQL Injection (A03)".
🛡️ Plans de Mitigació
Definir accions concretes per reduir el risc: còpies de seguretat xifrades, segmentació de xarxa i validació estricta d'entrades.