Seguridad del software sin ralentizar su desarrollo

Educacion ejecutiva
Typography

El factor humano, incluyendo la inteligencia y el conocimiento acumulado, deben estar presentes dentro del ciclo de vida de desarrollo de un software.

La presión de las organizaciones por ir cada vez más rápido en sus procesos, aumentar sus niveles de productividad y crecer en sus mercados objetivos, puede llevar a que sus productos se vean seriamente comprometidos. Ante esto, Fluid Attacks, compañía dedicada a realizar pruebas de seguridad al software de empresas, explica la fórmula para acelerar el desarrollo de tecnología, sin comprometer la seguridad en el proceso.

Para Vladimir Villa, CEO de Fluid Attacks, “Las preguntas que debemos hacernos cuando construimos tecnología son: si avanzamos en la dirección correcta, si la velocidad la estamos aplicando en los lugares indicados, y qué tipo de riesgos corremos. En este sentido, la seguridad debe ser parte de todo el ciclo de desarrollo, para así tener un enfoque preventivo y proactivo. Debemos identificar muy bien cómo podemos acelerar el trabajo sin dejar brechas de seguridad abiertas”.

“Hoy en día sabemos que hay que ir a la velocidad que demande cada negocio, pero sin olvidar la precisión en términos de seguridad. Esto sólo se consigue con una combinación de automatización efectiva e inteligencia humana, que resulta fundamental para detectar todas las vulnerabilidades en los sistemas evaluados y reducir el número de falsos positivos y negativos. Así pues, siempre es recomendable que el factor humano esté presente dentro de cada ciclo de vida de desarrollo de un software”, explica el CEO de la compañía.

A continuación, 5 claves de cómo agilizar los procesos de desarrollo sin dejar de lado la seguridad a través de pruebas integrales a los repositorios y ambientes pares de los sistemas:

Ataque determinístico: Se trata de una fase donde de forma automática se buscan solamente las vulnerabilidades sobre las cuales no existe duda alguna de que efectivamente son vulnerabilidades.

‘Triage’ al código: En este punto se trabaja para acrecentar la velocidad del factor humano mediante una herramienta basada en Machine Learning que permite a hackers éticos priorizar su búsqueda dentro del código y determinar las partes donde hay mayores probabilidades de que existan vulnerabilidades.

Equipo de ataque: En esta etapa ingresa el equipo de hackers expertos que tienen el conocimiento para atacar el software de manera dinámica y estática. Ellos toman lo reportado por la herramienta de Machine Learning y recorren todo el código en base a la priorización (triage). Es aquí donde logran combinarse la tecnología y el talento humano.

Equipo de fugas: Ya en este punto se realiza un ataque transversal por parte de un equipo independiente al que encontró las vulnerabilidades en los pasos anteriores. Con esto se pretende validar que no haya falsos negativos y reducir al máximo esa falsa sensación de seguridad que tienen las empresas.

Equipo de Re-ataque: Finalmente, se llevan a cabo re-ataques sobre la tecnología, para verificar el cierre de las vulnerabilidades encontradas; y es que el objetivo no es sólo hallar las vulnerabilidades, sino que además logren ser cerradas. Todo esto antes de que el ciclo llegue a producción, para que así el software verdaderamente sea seguro.

La automatización es una de las maneras de acelerar los procesos de construcción de software, pero en términos de seguridad, las herramientas de búsqueda automática de vulnerabilidades tienen dos grandes retos: (1) los falsos positivos, que son aquellos reportes que cuando se revisan no corresponden a verdaderas vulnerabilidades (alrededor del 50% de las detectadas por las herramientas no son reales), y (2) los falsos negativos, que son básicamente las que se fugan o se omiten en los procesos de detección (representan para las herramientas cerca del 80% de las vulnerabilidades). Estas últimas son las más complejas y las que realmente pueden afectar al negocio, ya que no se conocen y, por ende, no se puede actuar para mitigar el riesgo que suponen.