APIs Seguridad Testing

El pentesting, es un conjunto de ataques que van dirigidos a un sistema informático con un propósito: encontrar posibles debilidades o vulnerabilidades, para subsanarlas.

Para ello se empieza recogiendo información sobre la empresa, como los empleados, usuarios, sistemas, equipamientos… Posteriormente, se hace un análisis de vulnerabilidades, recurriendo a ingeniería social si es necesario, para atacar los sistemas. Por último, se genera un informe para ver si se ha tenido éxito en el ataque y por qué, para detectar la información/acceso comprometido.

Esto nos permite:

  • Comprobar si el sistema es vulnerable.

  • Validar que nuestras defensas son eficaces, mejorables, y el grado de riesgo que supone lo que podrían conseguir.

Para hacer pentesting tenemos que empezar realizando un plan especificando los ataques que vamos a realizar, en función de la tecnología utilizada en la empresa, así como sus necesidades. Para hacerlo, los auditores cuentan con metodologías que les ayudan a realizarlas de manera sistemática. Se deben elegir las pruebas a realizar, así como su alcance.

Las pruebas de penetración se pueden categorizar en tres tipos:

  • De caja blanca. Si la persona que realiza la acción tiene toda la información sobre los sistemas, aplicaciones y estructuras, pudiendo simular un ataque de alguien que conoce la empresa.
  • De caja gris. Si solamente se dispone de información parcial
  • De caja negra. Si no hay conocimiento sobre el sistema, y simula la acción de un ciberataque ajeno.

Cuando hacemos un servicio de pentesting, además de acordar la finalidad del servicio, el objeto del análisis y qué tipo de prueba queremos que realicen, debemos tener en cuenta que:

  • Siempre se incluirá una autorización —por parte del titular de los equipos y sistemas—, clara e inequívoca, que autorizará la vulneración de las medidas de seguridad de la organización en ciertos equipos perfectamente identificados, seleccionados para la ocasión. Por tanto, no podremos autorizar que se realice ninguna auditoría sobre equipos o sistemas de los que no seamos titulares.
  • Notificar que durante el tiempo estimado para realizar el ataque, los equipos podrían ver alterada su actividad. Para evitar que los posibles daños que pudieran ser causados no sean constitutivos de delito, el auditor o la empresa que realice las pruebas de penetración, debe contar con la pertinente autorización en los mismos términos.
  • Toda la información a la que se pudiera tener acceso, debe permanecer bajo riguroso secreto mediante un contrato de confidencialidad, y en el caso de información personal se debe redactar con el auditor un acuerdo específico.

Conceptos clave

  • CVE (Common Vulnerabilities and Exposures) proporciona una lista de identificadores comunes para las vulnerabilidades de ciberseguridad conocidas públicamente.

  • CWE (Common Weakness Enumeration) es una lista desarrollada por la comunidad de puntos débiles comunes de seguridad de software y hardware que sirve como lenguaje común, como vara de medir para las herramientas de seguridad y como base para la identificación de puntos débiles, la mitigación y los esfuerzos de prevención. Se diferencia de los CVE porque un CVE es una manifestación o ejecución de un CWE, el CWE es general, un tipo de vulnerabilidad común, el CWE 89 es un SQL injection; pero un CVE no tiene por qué tener o explotar un único CWE.

  • CAPEC (Common Attack Pattern Enumeration and Classification) es un diccionario completo que nos sirve para clasificar los ataques conocidos que pueden utilizar para avanzar en la comprensión de la comunidad y mejorar las defensas.

  • CVSS (Common Vulnerability Scoring System), que es un sistema de puntuación numérica que se asigna a una vulnerabilidad, donde 10 es lo más crítico, que se suele clasificar en vulnerabilidades de tipo informativa, baja, media, alta o crítica.

  • Mitre es una organización estadounidense sin ánimo de lucro especializada en ciberseguridad. Catalogan y analizan las Amenazas Persistentes Avanzadas y sus ataques relacionados.

  • OWASP (Open Web Application Security Project) es una organización open source sin ánimo de lucro que se utiliza como referencia en el mundo de la ciberseguridad. Tiene una serie de proyectos, pero nos vamos a centrar en OWASP TOP TEN. Este proyecto analiza problemas de seguridad más comunes en las aplicaciones web y ordenados de más a menos críticos. Además, da una descripción del tipo de ataque y las medidas a implementar para prevenir posibles escenarios.

Este mundo está en constante evolución, por lo que tenemos que estar al día del descubrimiento de nuevas vulnerabilidades, porque si es un caso no documentado hasta ahora, es posible que no tengamos las medidas necesarias para protegernos, con lo que conlleva.

Como en todo tipo de pruebas, nos interesa definir cuál va a ser el alcance de nuestro proceso, y ver los casos que podemos cubrir. Esto en ningún caso garantiza que seamos totalmente seguros, ya que siempre puede existir un nuevo tipo de ataque no contemplado porque, como en todo proceso de pruebas, hay un nº infinito de posibilidades, y los casos de prueba son finitos.

Author

Sergio Pérez

Leave a comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *