Buenas prácticas sobre vulnerabilidades y dependencias

En Serquo siempre utilizamos buenas prácticas, y una de las que recomendamos y que alejan al código de posibles ataques, es mantener actualizadas las dependencias. Estas librerías con las que trabajamos para ayudarnos en la construcción, representan de media un 90% del código total de un proyecto.

Os proponemos dos acciones para intentar paliar esta problemática:

1. Revisión manual para incluir una nueva dependencia.

Al incluir una nueva dependencia, la recomendación es intentar usar la ultima versión estable de la misma. Revisando en el repositorio central de maven podemos chequear si ésta tiene vulnerabilidades directas o asociadas.

https://mvnrepository.com/

 

Si por compatibilidades con otras dependencias o para resolver algo de manera temporal hemos de consumir esa versión vulnerable, siempre podemos revisar la severidad de la misma y qué puede pasar en el caso de ser explotada usando el código de vulnerabilidad CVE y visitando las paginas de las asociaciones que se encargan de clasificar y analizar estos casos:

Por ejemplo:

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15250

https://nvd.nist.gov/vuln/detail/CVE-2020-15250

2. Revisión general de dependencias con vulnerabilidades usando un plugin de Maven

Si lo que deseas es revisar tu proyecto completo, existe un plugin de Maven que se encarga de revisar dependencia a dependencia.

https://github.com/jeremylong/DependencyCheck

Para usarlo, es tan sencillo como incluir un profile en el pom de tu proyecto:

 

    

<profiles>
    <profile>
        <id>owasp-dependency-check</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.owasp</groupId>
                    <artifactId>dependency-check-maven</artifactId>
                    <version>7.0.0</version>
                    <executions>
                      <execution>
                        <goals>
                            <goal>check</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    </profile>
</profiles>

 

y lanzar desde terminal o tu IDE de confianza:

mvn

Esa es toda la magia que necesitas para que te muestre por pantalla y en un reporte en html todas las dependencias que ponen en riesgo la seguridad de tu proyecto

Por pantalla

 

dependencias

En html

Esta acción debería ser llevada a cabo de manera periódica, siendo lo ideal integrarla en el proceso de CI/CD del proyecto.

Esperamos que esto os ayude a mantener vuestros proyectos seguros.

Para cualquier pregunta sobre seguridad, no dudes en escribirnos a info@serquo.com

 

 

 

Serquo
Resumen de privacidad

El sitio web de Serquo utiliza cookies propias y de terceros con el fin de gestionar sus preferencias (recordar información cuando acceda al sitio web con determinadas características que puedan diferenciar su experiencia de la otros usuarios), con fines estadísticos (analizar como interactúa con el sitio web) y para mostrarle publicidad personalizada en base a un perfil elaborado a partir de sus hábitos de navegación (por ejemplo, páginas visitadas).

Para obtener más información sobre las cookies puede consultar la Política de cookies del sitio web.