Aplicaciones seguras, STRIDE y empezando a gatear
Cuando comienzas a estudiar sobre desarrollo seguro te
encuentras con varios conceptos y problemas que te ocupan muchas de las
primeras horas de estudio sobre el tema.
El primer concepto que comienza a estar de moda es el “Modelado
de Amenazas” un mundo que a mí me apasiona, pero plantea muchos problemas al
inicio.
Una de esas problemáticas es:
Vale, ya tengo mi modelo de la aplicación (normalmente
DFDs) ¿y ahora cómo saco las posibles vulnerabilidades? ¿Cuáles hay?
Entonces es cuando cunde el pánico, tú conoces muchas técnicas
para poder amenazar el software (hay que pensar como los malos) pero seguro que
existen muchísimas más que desconoces o no controlas, entonces te das cuenta de
que acabas de empezar y ya tenemos un problema.
En ese momento es cuando Microsoft propone STRIDE.
STRIDE es un acrónimo de las cinco categorías que propone Microsoft
para agrupar las diferentes amenazas de software.
STRIDE significa:
- Spoofing:
-Trampering.
- Repudation.
- Information Disclosure.
- Denial of Service.
-Elevation of Priviledge.
Lo que explicado con mayor detalle sería:
-
S -
Suplantación (Spoofing) Un ataque de suplantación se produce cuando un
atacante se hace pasar por alguien que no es.
- T - Manipulación (Tampering)La manipulación ataques se producen cuando el atacante modifica los datos en tránsito.
- R - Repudio (Repudiation)
Negar la autoría de una acción o evento en los sistemas de información.
- I - Revelación de información (Information Disclosure)
Cuando la aplicación revela información sensible de forma no controlada debido a un error en la programación o un fallo en la configuración del servicio o aplicación.
- D - Denegación de servicio (Denial of Service)
Introducción de información maliciosa que logre la saturación o el bloqueo de la aplicación y de los servicios que esta proporciona generando como consecuencia la caída de la aplicación o el sistema informático.
- E Elevación de privilegios (Elevation of Privilege) Una elevación de privilegios se produce cuando un atacante tiene la capacidad para obtener privilegios que normalmente no tendrían. Esto se logra mediante la alteración o ataque a la aplicación obteniendo unos niveles de acceso mayores de los inicialmente otorgados, saltándose así la política de control de acceso predefinida.
Agrupar en seis categorías todas las tipologías de ataques
es agrupar “mucha maldad” en pocos conceptos, pero como se suele decir “a
grandes males grandes remedios” y Microsoft nos da para las seis grandes categorías
seis grandes remedios:
Ya entraremos en más detalle sobre cómo ir mitigando estos
problemas, por el momento sigamos con STRIDE y nuestros primeros pasos
asegurando nuestro software.
Ya tenemos seis categorías de ataques pero seguramente
sigamos en blanco ante el modelo de nuestra aplicación, pues no hay que
preocuparse porque Microsoft (que son unos cachondos mentales) nos regala un
juego de cartas descargable con el que podrás ir jugando y detectando posibles
amenazas en tu modelo.
Lo tienes disponible aquí: http://www.microsoft.com/security/sdl/adopt/eop.aspx
Puede parecer una coña, pensaras que me tomado un par de
cervecitas pero no, para ir comenzando está muy muy bien. Vas viendo paso a paso como ir descubriendo y
que posible amenazas hay dentro de esos grupos.
Ya tenemos las categorías y algunas subcategorías en forma
de juego, ahora verás que es mucho trabajo. El poder ir revisando absolutamente
todo en todo tipo de aplicaciones supone un esfuerzo considerable.
Para poder minimizar el esfuerzo maximizando los resultados
Microsoft nos expone, a través de su dilatada experiencia, unos consejos para
saber aplicar STRIDE. No todas las vulnerabilidades son aplicables o tienen la
misma importancia en todos los tipos de proyectos, por lo que resume su
experiencia en un breve cuadro:
Esto va a optimizar mucho los tiempos, solo los Procesos
necesitan revisión completa de todas las tipologías de STRIDE pero los demás no
lo necesitan y puedes centrar tus esfuerzos en tipologías más concretas.
Ya entraremos en más detalle sobre modelado de amenazas más
adelante, pero para quienes quieran ir profundizando más en esto os dejo
algunas referencias:
http://www.amazon.es/Threat-Modeling-Designing-Adam-Shostack/dp/1118809998 << De este libro hablaremos con más detalle en
otra ocasión. Aún lo estoy terminando.
PD: No, no me ha pagado Microsoft ni tengo nada que ver con
ellos ;)
No hay comentarios:
Publicar un comentario
Esperando tu comentario...