ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Revisión de código: análisis estático


Enviado por   •  11 de Junio de 2020  •  Prácticas o problemas  •  1.035 Palabras (5 Páginas)  •  136 Visitas

Página 1 de 5

Conceptos

  Vulnerabilidades

Una vulnerabilidad es un fallo de programación, configuración o diseño que permite, de alguna manera, a los atacantes alterar el comportamiento normal de un programa y realizar algo malicioso como alterar información sensible, interrumpir o destruir una aplicación o tomar su control.

 Patrón de ataques 

Constituyen un mecanismo o medio para capturar y representar la perspectiva y conocimiento del ciberatacante con el suficiente detalle acerca de cómo los ataques se llevan a cabo, los métodos más frecuentes de explotación (exploit) y las técnicas usadas para comprometer el software.

 Árbol de ataques 

Un método sistemático para caracterizar la seguridad de un sistema, basado en la combinación y dependencias de las vulnerabilidades del mismo, que un atacante puede aprovechar para comprometerlo.

 Caja Blanca

Revisión de código: análisis estático

 Caja Negra

Los test de penetración son pruebas de caja negra y son comúnmente las más aplicadas de todas las mejores prácticas de seguridad de software, son parte del proceso de aceptación de final.

Test de penetración

Fuzzing Testing

Análisis de código binario

Inyección de fallos en binario

Escaneo de vulnerabilidades

 SDLC

[pic 1]

 Análisis de código estático

El análisis estático de código fuente se considera la actividad más importante de entre las mejores prácticas de seguridad que se han de realizar en el curso del desarrollo de una aplicación.

 El análisis estático de código fuente es adecuado para identificar problemas de seguridad por ciertas razones:

-Las herramientas de análisis estático comprueban el código a fondo y coherentemente, sin ninguna tendencia.

-A menudo pueden indicar la causa de origen de un problema de seguridad.

-El análisis estático puede encontrar errores tempranamente en el desarrollo, aún antes de que el programa sea ejecutado por primera vez.

-Cuando un investigador de seguridad descubre una nueva variedad de ataque, las herramientas de análisis estático, ayudan a comprobar de nuevo una gran cantidad de código para ver donde el nuevo ataque podría tener éxito.

 Análisis de código dinámico

El análisis dinámico de código se realiza mientras el código se está ejecutando. Es más lento y necesita un proceso completo de testeo. Sin embargo, permite ver muchos errores que quedan ocultos en un análisis estático.

Tipos de pruebas para el análisis dinámico de código

De caja negra: El objetivo de estas pruebas es comprobar que las salidas son correctas. No se presta atención al modo en que dichas salidas se realizan. Se atiende a una independencia modular para una implementación más fácil de cada módulo. Así resulta más sencillo abordar el fallo.

De caja blanca: se centran en los fallos de procedimiento relativos a las entradas. El método suele consistir en realizar todas las entradas posibles para obtener una salida determinada. Este tipo de pruebas debe modificarse cada vez que varía la implementación en el proyecto.

 Pruebas de penetración

Las pruebas de penetración están en algún sentido «probando aspectos negativos», es decir debe probar de forma directa y profunda la seguridad de la aplicación en base a los riesgos de seguridad (conducido por casos de abuso, riesgos arquitectónicos y modelos de ataque), al objeto de determinar cómo el sistema se comporta ante los ataques.

Recomendaciones sobre los test de penetración: Realizar los test más de una vez. Realimentación del resultado de las pruebas de penetración. Utilización de Pruebas de Penetración para Evaluar aplicaciones COTS.

 Escaneo de vulnerabilidades

 Pruebas de Fuzzers

Fuzzing es una técnica de pruebas de software, a menudo automatizado o semiautomatizado, que implica proporcionar datos inválidos, inesperados o aleatorios a las entradas de un programa de ordenador.

 Exploit

 Amenaza

 Riesgo

 Casos de uso

Analiza y especifica los requisitos de seguridad

 Casos de abuso

Un caso de abuso es la inversa de un caso de uso, es decir, una función que el sistema no debe permitir o una secuencia completa de acciones que resulta en una pérdida para la organización

...

Descargar como (para miembros actualizados)  txt (7.1 Kb)   pdf (108.1 Kb)   docx (52.3 Kb)  
Leer 4 páginas más »
Disponible sólo en Clubensayos.com