Cómo redactar un contrato de pentesting

Síguenos en |     

Érase una vez un ciudadano particular que se acababa de comprar una casa y al que le preocupaba mucho la seguridad.

Le habían dicho que la barriada en la que había comprado la casa era muy tranquila, pero aún así quería saber lo segura que resultaba. Sin embargo, no tenía claro cómo hacerlo. Entonces pensó en algo: le daría las llaves a uno de sus mejores amigos (que era vigilante de seguridad) y le pediría que examinara por dentro y por fuera la casa, para descubrir cómo alguien podría llegar a entrar.

De esa manera, su amigo debía probar las ventanas, las cerraduras o cómo de resistente era la valla. El objetivo era descubrir cualquier posible vía de entrada en la casa para por ejemplo, robar algo. Hecha la prueba, el amigo le dijo que había encontrado una ventana que cerraba mal y una cerradura mal instalada.

Lo que el amigo de nuestra pequeña historia había hecho era lo que en el mundo de la ciberseguridad se llama un escáner de vulnerabilidades. Es decir, el primer paso para conocer las fortalezas, debilidades y necesidades de tu negocio desde el punto de vista de la ciberseguridad.

¿Pero era eso un pen test? No, era solo el primer paso para llegar a uno. Es decir, y siguiendo con la analogía de la casa, ahora que nuestro ciudadano particular ya sabía que la casa tenía algunas vulnerabilidades, lo siguiente que iba a hacer era contratar a un «ladrón». El objetivo ahora era que esa persona entrara en la casa y se hiciera con todo lo posible, para lo que debía aprovecharse de las vulnerabilidades conocidas (o nuevas que encontrara). Por ejemplo, quizá el ladrón pudiera acceder a la casa gracias a la ventana que cerraba mal. Ahora bien, la alarma se disparaba correctamente y eso hacía que lo pudieran acabar deteniendo.

Eso sí sería un pentesting, pen test, penetration test o examen de penetración, o lo que es lo mismo, un ataque a un sistema informático con la intención de encontrar las debilidades de seguridad y todo lo que podría tener acceso a ella, su funcionalidad y datos. De esa forma, una prueba de penetración puede ayudar a determinar si un sistema es vulnerable a los ataques, si las defensas (si las hay) son suficientes y no fueron vencidas.

password-2781614_1920.jpg

Por tanto, y entrando más en detalle, el pentesting o test de intrusión consiste en un ataque pactado y previamente acordado entre el atacante/auditor y el atacado/auditado a un dispositivo, equipo, sistema o red informáticaEl proceso consiste en identificar el o los sistemas del objetivo, la cantidad de información con la que contará el atacante, la metodología, los tiempos de ejecución y la elaboración de un informe técnico con los resultados obtenidos.

De esa forma, el pentesting o la prueba de penetración son valiosas ya que permiten:

1) Determinar la posibilidad de éxito de un ataque (si la ventana que cierra mal puede dar lugar a un ataque);

2) Identificar vulnerabilidades de alto riesgo que resultan de una combinación de vulnerabilidades de menor riesgo explotadas en una secuencia particular (la cerradura mal instalada en combinación con la ventana);

3) Identificar vulnerabilidades que pueden ser difíciles o imposibles de detectar con un escáner de vulnerabilidades (una cámara de videovigilancia con un password poco seguro);

4) Comprobar la capacidad de las defensas de la red o equipo atacado para detectar con éxito y responder al mismo (el sistema de alarma de la casa).

En todo caso, y antes de seguir, una curiosidad: en España desde 2006 está registrada la palabra «Pentest» como marca y nombre comercial, lo que ha sido cuestionado por los profesionales del sector al limitar la comercialización de servicios usando esa denominación. Por ello es más común encontrar esos servicios como prueba o examen de penetración.

Pero volviendo a lo nuestro, visto lo visto parece obvia la utilidad de una herramienta como los test de intrusión, ¿verdad?

Pues bien, ¿qué deberíamos tener en cuenta legalmente antes de hacer un contrato de pentestingComo ya imaginará el lector, una intrusión o ataque a un sistema informático puede entrañar riesgos tanto operativos como a nivel legal. De esta forma, vamos a desglosar qué debemos hacer constar en el contrato de este servicio a fin de evitar problemas futuros. Distinguiendo entre las formalidades habituales, las cuestiones relacionadas con la técnica y las cuestiones estrictamente legales.

InformationSecurity
Uno nunca sabe lo que un pentesting puede encontrar, así que mejor asegurarse :p

1.- Formalidades

Como en todo contrato será esencial que figuren una serie de formalidades contractuales comunes en general a todos los contratos de prestación de servicios y que por tanto aquí no entraremos en profundidad en ellas.

Nos referimos por supuesto a la identificación de las partes, su capacidad, el objeto del contrato (lo más preciso y detallado posible), precio y formas de pago (también con el nivel de  detalle adecuado), las causas de extinción o la jurisdicción y legislación aplicables en caso de conflicto, entre otras. 

2.- Cuestiones relacionadas con la técnica

Sentadas las anteriores formalidades, es imprescindible definir los aspectos más técnicos del servicio, pues como veremos posteriormente serán la base sobre la que construiremos el resto de cláusulas (las que de verdad protegen a una y otra parte).

Cualquier servicio de pentesting, aunque cada empresa lo preste con sus particularidades y adaptado al caso concreto, tiene una serie de fases comunes que deben conocerse y pactarse de antemano entre las partes.

Así, en un primer momento se debe preparar el test, posteriormente se llevará a cabo la intrusión y finalmente se entregará el informe con los resultados.

Esta preparación significa acordar la cantidad de información disponible y el tipo de intrusión o modelo de amenaza pactada.

2.1.- Preparación del test

La preparación significa acordar la cantidad de información disponible para el auditor/atacante y el tipo de intrusión o modelo de amenaza pactado entre las partes.

¿De qué información debe disponer el auditor y por qué es importante? La cuestión es que en función de la cantidad de información que disponga el “atacante”, su posición se acercará más a la de un hacker real, siendo por tanto una prueba mucho más efectiva a fin de medir la exposición a diversas amenazas. Pero por otro lado, la escasez de información puede implicar no averiguar determinadas vulnerabilidades e incluso riesgos legales.

Dentro del sector, y en función de la cantidad de información de la que se dispone, se distinguen diferentes tipos de pentesting:

– El pentesting de caja blanca, donde el prestador del servicio contará con toda la información disponible acerca del sistema, la aplicación o la arquitectura, permitiendo  un análisis integral de la infraestructura.

– El pentesting de caja gris, que implica disponer de cierta información, pero que no será en ningún caso completa.

– El pentesting de caja negra, en el cual no se dispondrá de ningún tipo de información sobre el objetivo.

Según nuestras necesidades o el objetivo pretendido, nos decantaremos por una u otra opción. En todo caso, debe resaltarse la importancia de disponer de una mínima información y que ésta sea veraz, ya que la entidad auditada solo puede permitir la intrusión en aquellos dispositivos, sistemas y ficheros de los cuales es titular.

Por tanto, al auditor/atacante le debería resultar legalmente indispensable que se identificaran claramente los equipos objeto de pentesting y que la entidad auditada pueda demostrar la titularidad de los mismos.

Info-sec-job-application
CVs a prueba de pentesting

2.2.- ¿Qué es el “modelo de amenaza” y por qué es importante conocerlo?

Un pentesting no es un ataque en particular, sino más bien un plan global de ataque. De esta forma, el número de métodos es extenso y variado, debiendo elegir y pactar en cada caso qué acciones se van a llevar a cabo contra los equipos y sistemas de la entidad auditada. Para ello hay que tener en cuenta las necesidades de la empresa auditada y los estándares de seguridad requeridos.

Con el fin de estructurar estas acciones, el sector ha estandarizado una serie de métodos donde se recoge la metodología a seguir. Sirvan como ejemplos los siguientes:

    • ISSAF (Information Systems Security Assessment Framework)
    • PCI DSS (Payment Card Industry Data Security Standard)
    • PTES (Penetration Testing Execution Standard)
    • OSSTMM (Manual de la Metodología Abierta de Testeo de Seguridad)

Desde el punto de vista jurídico, conocer el método elegido es importante a fin de valorar el cumplimiento del servicio y en qué momento u orden pueden verse afectados los equipos de la empresa auditada, debiendo preverse en el contrato de pentesting qué mecanismos de notificación y alerta se establecerán entre las partes.

2.3.- Intrusión

Esta fase del trabajo será eminentemente técnica y consistirá en examinar la seguridad de los distintos módulos que componen el objeto de ataque (procesos, comunicaciones, sistemas inalámbricos o seguridad física, entre otros).

¿Que es importante tener en cuenta a efectos legales? Esta fase debe ejecutarse conforme a la información proporcionada y según el método acordado. Además, debemos tener en cuenta que las vulnerabilidades deben poder probarse.

Esto significa que aunque los métodos de intrusión de los que hablábamos antes suelen incluir la forma en la que se prueba la vulnerabilidad detectada, las partes pueden acordar cualquier mecanismo extra a efectos de probar la vulnerabilidad.

2.4.- Informe

Finalmente se deben recopilar y estructurar los datos obtenidos de tal manera que sean comprensibles a fin de conocer las vulnerabilidades del sistema, la forma en la que han sido encontradas y el riesgo que supone con respecto a la seguridad.

¿Cómo hacerlo legalmente? En el informe deben incluirse todas las vulnerabilidades detectadas, conforme se ha pactado previamente y debiendo tener muy presente que la información contenida es altamente sensible. Por ello debe pactarse quién tendrá acceso al mismo y a quién se entregará, así como las medidas de seguridad que deben aplicarse sobre el mismo.

3.- Cuestiones estrictamente legales

Ahora que ya hemos repasado los aspectos relacionados con la técnica del servicio y su relevancia a efectos legales, es hora de adentrarse en aquellas cuestiones estrictamente legales y que deberemos tener en cuenta en el clausulado de todo contrato de pentesting.

La prueba de penetración, por sus características, implica: a) quebrantar medidas de seguridad y sistemas de acceso a equipos informáticos; b) poner en riesgo el funcionamiento de los sistemas y mecanismos de producción; c) el potencial descubrimiento de secretos empresariales por persona ajena a la entidad; d) el manejo de información confidencial altamente sensible e) o el impacto en el tratamiento de datos personales.

legal-1143114_1920.jpg

3.1.- Acceso a equipos

El quebrantamiento de medidas de seguridad de un sistema y el acceso a equipos informáticos ajenos son conductas delictivas, que se cometen tanto por quién la realiza como por quien facilita o encarga el acceso. Sin embargo, la ley contempla que esto solo será así si se realiza sin la debida autorización.

¿Cómo debe ser esta autorización? A fin de que la conducta no se considere un “ataque real” y por tanto delito, debemos incluir en el contrato de pentesting una autorización clara y explícita por quien sea titular real de los equipos y sistemas de que se consiente el acceso, vulnerando las medidas de seguridad interpuestas a una serie de equipos perfectamente identificados.

3.2.- Riesgo para el funcionamiento

Debemos tener en cuenta que el servicio encargado supondrá un riesgo específico para los sistemas, redes y equipos informáticos identificados como objetivo. Además, durante el tiempo pactado para la prestación del servicio la actividad de los mismos puede verse alterada. En tal sentido, los daños causados a equipos informáticos pueden ser también constitutivos de delito y/o generar una responsabilidad civil con su consecuente indemnización.

Por tanto, al igual que en el anterior caso, para que los posibles daños no sean considerados delito, deberemos contar con una autorización en los mismos términos que para el acceso pero para los posibles daños.

En todo caso, a fin de eludir posibles responsabilidades civiles, tendremos que tener en cuenta que todo daño que causemos o advirtamos deberá ser comunicado tan pronto como sea posible, mediante medios que permitan dejar constancia de ello y a quién sea responsable de arreglarlo.

Es imprescindible por tanto incluir en las cláusulas del contrato de pentesting las previsiones específicas para estas situaciones y su canal y forma de comunicación.

3.3.- Secretos empresariales

Los secretos empresariales pueden ser industriales, científicos, tecnológicos, organizativos o financieros. Por tanto, dado su gran valor comercial, se conservan en secreto y se protegen. En nuestro caso, el servicio de pentesting pone en riesgo su protección y su secreto ya que cuando se produzca el acceso a los equipos, el pentester va a tener a su alcance información que puede haber sido considerada secreto empresarial.

censorship-610101_1920.jpg

¿Cómo hacerlo legalmente? En este caso son varias las cuestiones a tener en cuenta en el contrato, así que vamos a identificarlas de una en una.

    • Disponer de la debida autorización de la empresa auditada
    • No obtener provecho de la información accedida
    • No causar perjuicio con la información descubierta
    • Destruir la que no sea necesaria para la prestación del servicio
    • Conservar de manera segura la que sea necesaria para el servicio
  • No divulgar nada de lo averiguado o accedido

3.4.- Datos personales

Del mismo modo que en el caso anterior, durante la ejecución del servicio van a tratarse y quedar al descubierto datos personales.Es decir, información que también requiere de un tratamiento y cautelas específicas.

¿Cómo debemos tratar los datos personales? Para estos casos debemos distinguir dos tipos de datos personales: Los que se han intercambiado las partes para la correcta ejecución del servicio y aquellos que pueden ser descubiertos con motivo del pentesting (bases de datos de clientes, boletines de noticias, facturas, presupuestos o archivos de videovigilancia, entre muchos otros) .

Para el primer supuesto debemos realizar el tratamiento habitual conforme a la legalidad vigente (donde lo normal será que la empresa auditada sea el responsable del tratamiento).

Los obtenidos o descubiertos con motivo de la intrusión, deberán aplicar las indicaciones comentadas a nivel de secreto empresarial y todas las particularidades que correspondan en relación al atacante/auditor, como encargado del tratamiento que resulta. 

3.5.- Confidencialidad

Observaremos que en muchos contratos existe un apartado dedicado a la confidencialidad de las partes. Esta puede funcionar como cláusula de cierre del contrato de pentesting por si alguna de las anteriores no ha sido de manera clara o deja lugar a ambigüedades.

En todo caso, si hemos tratado de manera precisa los anteriores elementos, puede no ser estrictamente necesaria.

En conclusión, cuando se contrata u ofrece un servicio de pentesting o examen de penetración, hay que tener toda una serie de particularidades en cuenta a la hora de redactar el contrato: 

  • Buscar una empresa que otorgue las suficientes garantías.
  • Realizar un contrato amplio que prevea las peculiaridades de este servicio.
  • No olvidar las formalidades propias de cualquier contrato de servicios.
  • Definir perfectamente las autorizaciones, la información disponible, la técnica utilizada y el tratamiento de la información, secretos y datos obtenidos durante el examen.

Al fin y al cabo, si nos preocupamos de la seguridad de nuestra casa en el mundo real, igual o más debemos hacerlo de la que habita en el mundo digital.