SkillGridAprende informática practicando

Modelado de amenazas: ¿qué estás protegiendo?

La seguridad empieza con una lista, no con una herramienta: tus activos, quién los quiere y qué puede salir mal.

13 min · 40 XP

Ya sabes cómo un paquete encuentra su camino por el planeta y cómo el sistema operativo mantiene un proceso fuera de la memoria de otro. La seguridad es lo que pasa cuando ese conocimiento se usa contra ti. Un escaneo de puertos es solo un intento de conexión TCP que falla con educación. Un fallo de permisos es solo un modo de archivo que nadie miró nunca. Esta lección trata de la pregunta que se hace antes de todo lo demás: ¿qué protejo y de quién?

Empieza por los activos, por lo que de verdad dolería perder. No "el servidor", sino: la base de clientes, la cuenta de administrador, la copia de seguridad, la reputación de la tienda, la capacidad misma de aceptar pedidos. Después pregúntate quién quiere cada uno. Un adolescente aburrido y un delincuente pagado quieren cosas distintas de la misma web, y contra cada uno se defiende de forma distinta. Luego pregúntate cómo se filtra: no en teoría, sino recorriendo el camino que hacen los datos paso a paso.

ASSET            WHO WANTS IT          HOW IT LEAKS
---------------  --------------------  ------------------------------
admin account    anyone, really        password reused on a leaked site
customer emails  spammers, scammers     export endpoint with no auth
server CPU       crypto miners         upload form that runs a script
database backup  competitors           backup file left in a public folderUn activo solo merece defensa cuando has nombrado quién lo quiere y cómo lo conseguiría.

Una lista de comprobación sencilla evita que te quedes mirando una hoja en blanco. Haz seis preguntas sobre cada parte del sistema. ¿Puede alguien hacerse pasar por otro usuario (spoofing)? ¿Puede cambiar datos que solo debería leer (tampering)? ¿Puede negar después que hizo algo, sin registro que consultar (repudiation)? ¿Puede leer datos que no debería ver (information disclosure)? ¿Puede dejar el servicio inutilizable (denial of service)? ¿Puede un usuario normal conseguir permisos que nunca se le dieron (elevation of privilege)? Seis preguntas, seis tipos de fallo.

UserWeb serverDatabase1. connect to shop.example2. read the order3. order and customer4. page with the ordera threat is any way steps 1-4 go wrongsend my order to another accountno check that the order is minesomeone else sees the order

Práctica

  1. Relaciona cada cosa que posee la tienda con quien iría más probablemente a por ella.

    Pistas
    • Primero decide qué podría ser robado o roto, y luego pregúntate a quién le interesaría.
    • Elige lo primero que probaría un atacante, no lo más exótico.

    14 XP

  2. Tu equipo publica una página nueva que lista todos los pedidos. Funciona, las pruebas pasan y se puede abrir sin iniciar sesión. ¿Cuál es el problema real?

    Pistas
    • Enumera lo que proteges y pregúntate cuánto vale cada cosa.
    • Una función que funciona perfectamente sigue siendo un problema si cualquiera puede usarla.

    13 XP

  3. Ordena los pasos del modelado de amenazas en el orden que de verdad lleva a una solución.

    Pistas
    • Empieza por lo que proteges, no por los trucos del atacante.
    • Se corrige después de decidir qué riesgo importa lo suficiente.

    15 XP