Los investigadores suelen descubrir vulnerabilidades sobre diferentes tipos de software comerciales y no comerciales que reportan a los fabricantes o desarrolladores correspondientes (vendors). Por su parte, la compañías detrás de esos productos en muchos casos ofrecen recompensas, así que si deseas incursionar en esta actividad, te contamos cómo reportar una vulnerabilidad.

En muchos casos, esta tarea suele ser difícil ya que la intencionalidad juega un rol fundamental en esta etapa y define como se llevará a cabo las actividades de mitigación de aquellas vulnerabilidades descubiertas.

Las vulnerabilidades deben ser reportadas a la entidad responsable para que la misma pueda ser tratada y mitigada en el menor tiempo posible. Generalmente, el ideal en esta situación es que el investigador reporte la vulnerabilidad directamente al vendor o responsable de la aplicación vulnerable mediante un canal privado. Esto se debe a que si la vulnerabilidad toma un estado público, esta podría ser aprovechada por ciberdelincuentes y explotarse con fines no legítimos.

El riesgo asumido por los investigadores es que la entidad responsable no contemple el aviso como un acto de buena fe y pueda tomar acciones contra los mismos. Sin embargo, la seguridad se hace con los aportes de todos, y es necesario reportar las vulnerabilidades antes de que alguien con malas intenciones pueda tomar provecho de ellas. De esta forma, recomendamos a aquellos investigadores que el contacto se realice mediante un mensaje amistoso e indicando los detalles, siempre dando fe de las buenas intenciones.

Una de las opciones para el investigador es mantener el anonimato en caso de no querer exponerse. De todas formas, esta es una decisión propia así como también de qué forma realizará el contacto con el vendor.

¿Qué se debe incluir en el mensaje de aviso?

Es necesario incluir información relativa a la vulnerabilidad, cómo por ejemplo, versiones vulnerables, fecha de descubrimiento, información técnica, entre otros datos de valor. Open Security Foundation publicó un documento que explica detalladamente de qué forma elaborar el contacto con la información correspondiente a la vulnerabilidad.

Asimismo, existe otra alternativa de contacto más allá del propio vendor. Muchos investigadores buscan programas de recompensa por las vulnerabilidades descubiertas. De esta manera, algunas de las empresas desarrolladoras no poseen este tipo de sistema. De todas formas, existen otros organismos u empresas de terceros, que proveen este tipo de premio y se encargan de contactar al vendor oficial con todos los detalles de la misma.

¿A quién se debe contactar?

Aquellos vendors que poseen una política de notificación, suelen publicar información sobre como reportar vulnerabilidades en sus productos. Estos datos generalmente se encuentran disponibles en el propio sitio web.

Otra de las alternativas de contacto es a través de alguno de los canales de soporte utilizados normalmente por los propios clientes. Sin embargo, puede darse el caso que mediante este canal no se tenga en consideración la información reportada.

Finalmente y una de las opciones más utilizadas, es recurrir al recurso whois para obtener la información de contacto. En esta instancia, es posible contactar al responsable para alertarlo sobre la vulnerabilidad descubierta.

Whois ESET-LA

El proceso de descubrimiento y reporte de vulnerabilidades juega un papel muy importante dentro de la seguridad. Es importante que los investigadores consideren este proceso y, en la medida de lo posible, reporten aquellas vulnerabilidades a quien corresponda. Asimismo, la publicación de vulnerabilidades en Internet sin que hayan sido mitigadas debe ser una medida extrema en el caso de que se hayan agotado todas las posibilidades de comunicación con el vendor.

Es importante recordar que una vez publicada la vulnerabilidad, posibles atacantes tendrán acceso a esta información y podrían utilizarla para obtener beneficios no legítimos. Este es el caso de muchos 0-day, donde alguno de ellos han sido utilizados masivamente como el caso de Java.