Você está na página 1de 9

Coverity

Seguridad Informática

Mario Ernesto Cabrera Linares


Víctor José Ramírez Osman
Luis Angel Albanes Albeño
Víctor Alexander Padilla Ramos
Coverity

Introducción
Las tecnologías avanzan a un paso increíble, y se incorporan en el día a día de las personas a un ritmo increíble.
El uso del software cada ves es mayor, su demanda se vuelve indiferente al público, ya que es utilizado por
cualquier persona. Pero debido a que su demanda es mayor, y a su vez su eficiencia; un software que llegará
a una gran cantidad de personas no puede darse el lujo de tener fallos repentinos o problemas sin resolver.
Para una empresa, compañía, desarrollador o trabajador independiente en esta área es un problema de gran
magnitud, ya que el mercado es muy exigente y la competencia está dispuesta a tomar cualquier oportunidad.
Para evitar estos problemas es necesario resolverlos o preverlos en la etapa de desarrollo del software y
muchas veces resulta muy complicado para un equipo de desarrollo encontrarlos todos y solventarlos. Por lo
que hoy en día existen muchas maneras de encontrar dichos problemas de una manera mucho más sencilla
como bien sería utilizando software o herramientas que ayudan a comprender el código fuente en su totalidad
de una manera más resumida y entendible analizando el proyecto de una manera muy completa, de esta
manera los desarrolladores o encargados de QA pueden enfocarse en dichos puntos y lograr un software
mucho más fiable.

2
Coverity

Índice
Synopsys Inc. ........................................................................................................................................................4
Dynamic Application Security Testing (DAST) ..................................................................................................4
Interactive Application Security Testing (IAST) ................................................................................................4
¿Qué es Coverity? .................................................................................................................................................4
Productos..........................................................................................................................................................4
Static Application Security Testing (SAST) ........................................................................................................5
Velocidad y escala de análisis .......................................................................................................................5
Integración del ciclo de vida de desarrollo de software...............................................................................5
Gestión eficiente de problemas y remediación............................................................................................5
Expansión del cumplimiento de las normas y detección de vulnerabilidades .............................................6
Ability to drive adoption and mitigate risk ...................................................................................................6
Coverity Scan ....................................................................................................................................................6

3
Coverity

Synopsys Inc.
Es una compañía estadounidense líder en el desarrollo de software especializado para el diseño de circuitos
integrados complejos, pero que con el paso del tiempo han crecido a un gran paso, haciendo diferentes
adquisiciones de todo tipo de proyectos y fusiones haciéndola una de las empresas lideres en diversas áreas,
una de esas áreas es el Testing de software, proveyendo herramientas y software para proyectos de software
en todo el mundo, teniendo la adquisición de Coverity en 2014 el cual es una de estas herramientas.

Dynamic Application Security Testing (DAST)


El análisis dinámico es la prueba y evaluación de un programa mediante la ejecución de datos en tiempo real.
El objetivo es encontrar errores en un programa mientras se está ejecutando, en lugar de examinar
repetidamente el código fuera de línea, utilizando pruebas de penetración mientras las aplicaciones web se
ejecutan para simular un ataque por parte de un experto y motivado agresor.

Interactive Application Security Testing (IAST)


Debido a que SAST y DAST son tecnologías más antiguas, hay quienes argumentan que carecen de lo que se
necesita para asegurar aplicaciones web y móviles modernas. Por ejemplo, SAST tiene dificultades para tratar
con las bibliotecas y los marcos que se encuentran en las aplicaciones modernas. Eso es por que las
herramientas estáticas solo ven el código que pueden seguir. IAST está diseñado para abordar las deficiencias
de SAST y DAST combinando elementos de ambos enfoques. IAST coloca un agente dentro de una aplicación
en tiempo real y en cualquier lugar del proceso de desarrollo IDE, entorno integrado continuo, control de
calidad o incluso en producción; como el agente está trabajando dentro de la aplicación, puede aplicar su
análisis a la aplicación completa. Debido al acceso a toda la información que posee permite que el motor de
IAST cubra más código y produzca resultados más precisos.

¿Qué es Coverity?
Es una marca de productos de desarrollo de software de Synopsys, que consiste principalmente en análisis de
código estático y herramientas de análisis de código dinámico. Dichos productos (herramientas) permiten a
los ingenieros y equipos de seguridad encontrar defectos y vulnerabilidades de seguridad en código fuente
personalizado escrito en C, C++, Java, C#, JavaScript y más.

Antes de que Coverity fuera parte de Synopsys, fue una organización fundada en el Laboratorio de Sistemas
Computacionales en la Universidad de Stanford en Palo Alto, California y con sede en San Francisco. En junio
de 2008, Coverity adquirió Solidware Technologies. Y en febrero de 2014, Coverity anunció un acuerdo para
ser adquirido por Synopsys, una compañía de automatización de diseño electrónico.

Productos
 Coverity Code Advisor: Es una herramienta de análisis de código estático para C, C++, C#, Java y
JavaScript. Se deriva de Stanford Checker, una herramienta de investigación para encontrar errores a
ravés del análisis estático.
 Coverity Code Advisor on Demand: Era una versión alojada en la nube de Coverity Code Advisor.

4
Coverity

 Coverity Scan: Es un servicio gratuito de análisis estático basado en la nube para la comunidad de
código abierto. La herramienta analiza más de 3900 proyectos de código abierto y está integrada con
GitHub y Travis CI.
 Coverity Test Advisor: Es una serie de productos destinados a identificar debilidades en las pruebas
de software de un proyecto.
 Seeker: Es un producto de prueba de seguridad de aplicaciones interactivas.

Static Application Security Testing (SAST)


Coverity Static Analysis (Análisis Estático de Coverity) ayuda a reducir los riesgos y costos totales de un
proyecto identificando defectos de calidad críticos y vulnerabilidades de seguridad durante el desarrollo. Lo
cual proporciona una guía de remediación confiable y procesable basada en técnicas patentadas, una década
de investigación y desarrollo, y el análisis de billones de líneas de código fuente abierto.

 Coverity se integra ala perfección con cualquier sistema de compilación y genera una representación
del código fuente para una comprensión profunda de su comportamiento.
 Coverity provee una cobertura de ruta completa, asegurando que cada línea de código y cada ruta de
ejecución sea probada.
 Coverity proporciona resultados de análisis muy precisos para que los desarrolladores no pierdan el
tiempo en un gran volumen de falsos positivos. Esto les permite establecer seguridad en el ciclo de
vida del desarrollo a la velocidad de flujo de metodologías agiles CI/CD.

Velocidad y escala de análisis


 El análisis paralelo permite que Coverity se ejecute en hasta 16 núcleos simultáneamente y entrega
una mejora del rendimiento de hasta 10 veces sobre el análisis serial.
 El análisis rápido de escritorio e incremental aceleran el análisis volviendo a analizar el código
cambiado o que fue afectado por algún cambio, en lugar analizar cada vez la totalidad del código base.
 Coverity puede analizar proyectos con más de 100 millones de líneas de código con facilidad.

Integración del ciclo de vida de desarrollo de software


 Coverity se puede integrar rápidamente con herramientas y sistemas críticos que ayudan al proceso
de desarrollo, como el manejo de control de fuente, construcción y continua solución de integración,
seguimiento de errores y gestión del ciclo de vida de la aplicación, como bien de entornos de
desarrollo integrados (IDE).
 La plataforma abierta permite a los desarrolladores importar resultados de análisis de terceros en el
flujo de trabajo para ver y administrar todos los tipos de defectos de la misma manera, con una sola
vista de defectos y riesgos de software.

Gestión eficiente de problemas y remediación


 Con Coverity Connect, la interfaz de gestión de problemas colaborativa de la plataforma, los
desarrolladores obtienen información procesable y orientación precisa de remediación, que les
demuestra la forma correcta de corregir un defecto y el mejor lugar en el código para arreglarlo sin
requerir de una profunda experiencia en el área de seguridad.
 Clientes de Synopsys eLearning pueden ver enlaces a cursos relevantes asociados con CWE’s
específicos encontrados en su código para obtener una mejor comprensión de las vulnerabilidades y
la capacitación de seguridad inmediata cuando lo necesitan.

5
Coverity

 Coverity Connect proporciona navegación con código fuente para resaltar la ruta exacta a un defecto
e identificar automáticamente cada aparición del defecto en el código compartido.
 Los defectos se pueden asignar automáticamente al desarrollador adecuado para su resolución,y los
usuarios pueden ver rápidamente todos los problemas pendientes relacionados con la seguridad,
OWASP top 10, CWE y PCO DSS, así como calidad, MISRA, CERT C/C++ y AUTOSAR.

Expansión del cumplimiento de las normas y detección de vulnerabilidades


Coverity Extend es un kit de desarrollo de software (SDK) fácil de usar que permite a los desarrolladores
detectar ciertos tipos específicos de defectos. El SDK es un marco para escribir el programa, analizadores o
comprobadores para identificar defectos personalizados o específicos del dominio. Coverity CodeXM es un
lenguaje de programación funcional específico de dominio que permite a los desarrolladores crear sus propias
fichas personalizadas fácilmente. Estas admiten el cumplimiento de los requisitos de seguridad corporativa y
las normas o directrices de la industria.

Ability to drive adoption and mitigate risk


Con Coverity Policy Manager, se puede definir y aplicar estándares consistentes para la seguridad del código,
así como la calidad y las pruebas entre los equipos de desarrollo. Eso proporciona visibilidad sobre qué
equipos, proyectos y componentes cumplen con estos estándares y pueden crear compuestas de etapa
mensurables basadas en predefinidos criterios con respecto a defectos y pruebas. Usando vistas
personalizables, pueden seleccionar métricas de desarrollo y umbrales que se alinean con objetivos específicos
para aplicaciones integradas, empresariales y móviles.

Coverity Scan
Coverity Scan empezó como uno de los mayores proyectos de investigación del sector privado, público e
iniciado con el “Departmen of Homeland Security” o DHS de los Estados Unidos con enfoque en la integridad
de OSS. La afiliación con el DHS concluyo en 2009, pero actualmente Coverity Scan continúa proveyendo las
mejores herramientas de análisis estático para proyectos de OSS.

De vuelta en los días de la incepción de Scan, el uso de OSS aun estaba en la periferia del desarrollo comercial
de software. Microsoft aun era el ente dominante en todos los aspectos de la computación, mientas unos
cuantos seguidores creían en el futuro de OSS, fue la creciente popularidad de Linux entre los sistemas de
ambiente Enterprise que hicieron a la gente cuestionar la utilidad de los OSS para aplicaciones comerciales.

En total, Scan tiene identificado sobre 1.1 millones de defectos en proyectos activos de OSS, con más de
600,000 defectos fijos y sobre 4,600 proyectos activos de OSS.

6
Coverity

Anexos

7
Coverity

Conclusión
Hoy en día la seguridad informática se ha convertido en una de las principales preocupaciones de las empresas
desarrolladoras de software debido a que su imagen depende la seguridad que puede brindarle a todos sus
usuarios/clientes. Las pruebas de seguridad tienen una relación distinta con la calidad de software debido a
que si un software cumple con los requisitos de calidad relacionados con la funcionalidad y el rendimiento no
significa necesariamente que el software sea seguro. La forma más efectiva de lograr un software seguro es
que sus procesos se ajusten rigurosamente a los principios y prácticas de desarrollo, implementación y
sostenimiento seguros. Las pruebas de seguridad son un proceso para determinar que un sistema informático
protege los datos y mantiene la funcionalidad según lo previsto.

Gracias al gran avance que tiene la tecnología se puede observar que la seguridad es algo que podemos
implementar sin la necesidad de ser un especialista informático, basta con conocer un poco sobre la seguridad,
ya que se puede encontrar un buen número de productos y herramientas para el soporte de seguridad, testing
de aplicaciones y más. Coverity es un proyecto que se especializa en el análisis estático y aunque sin duda
ofrece una gran cantidad de soporte aun hay más herramientas que debemos tomar en cuenta si se piensa
crear o se está creando un software o SI, así de esta manera aligerar la carga sobre el equipo de desarrolladores
o encargados de seguridad y obteniendo más fiabilidad del producto en producción.

8
Coverity

Bibliografía
 Synopsys (2017), Coverity Scan Report, recuperado de:
https://www.synopsys.com/content/dam/synopsys/sig-assets/reports/SCAN-Report-2017.pdf
 Wikipedia, Coverity, recuperado de:
https://en.wikipedia.org/wiki/Coverity
 Synopsys, Coverity Static Analysis, recuperado de:
file:///C:/Users/mcabr/Downloads/SAST-Coverity-datasheet.pdf
 Acunetix, DAST vs SAST, recuperado de:
https://www.acunetix.com/blog/articles/dast-dynamic-application-security-testing/

Você também pode gostar