Una prueba de penetración , conocida coloquialmente como prueba de penetración , pentest o hackeo ético , es un ciberataque simulado autorizado en un sistema informático, realizado para evaluar la seguridad del sistema; [1] [2] esto no debe confundirse con una evaluación de vulnerabilidad . [3] La prueba se realiza para identificar debilidades (también conocidas como vulnerabilidades), incluida la posibilidad de que partes no autorizadas obtengan acceso a las características y datos del sistema, [4] [5] así como las fortalezas, [6] permitiendo un evaluación de riesgos completa a completar.
El proceso generalmente identifica los sistemas objetivo y un objetivo en particular, luego revisa la información disponible y emprende varios medios para alcanzar ese objetivo. Un objetivo de la prueba de penetración puede ser una caja blanca (sobre la cual se proporcionan antecedentes y la información del sistema por adelantado al evaluador) o una caja negra (sobre la cual solo se proporciona información básica, si la hay, además del nombre de la empresa). Una prueba de penetración de caja gris es una combinación de las dos (donde el conocimiento limitado del objetivo se comparte con el auditor). [7] Una prueba de penetración puede ayudar a identificar las vulnerabilidades de un sistema para atacar y estimar qué tan vulnerable es. [8] [6]
Los problemas de seguridad que descubra la prueba de penetración deben informarse al propietario del sistema. [9] Los informes de las pruebas de penetración también pueden evaluar los impactos potenciales para la organización y sugerir contramedidas para reducir el riesgo. [9]
El Centro Nacional de Seguridad Cibernética del Reino Unido describe las pruebas de penetración como: "Un método para obtener seguridad en la seguridad de un sistema de TI al intentar violar parte o toda la seguridad de ese sistema, utilizando las mismas herramientas y técnicas que un adversario". [10]
Los objetivos de una prueba de penetración varían según el tipo de actividad aprobada para cualquier compromiso dado, con el objetivo principal centrado en encontrar vulnerabilidades que podrían ser explotadas por un actor nefasto e informar al cliente de esas vulnerabilidades junto con las estrategias de mitigación recomendadas. [11]
Las pruebas de penetración son un componente de una auditoría de seguridad completa . Por ejemplo, el Estándar de seguridad de datos de la industria de tarjetas de pago requiere pruebas de penetración en un horario regular y después de cambios en el sistema. [12]
Existen varios marcos y metodologías estándar para realizar pruebas de penetración. Estos incluyen el Manual de metodología de pruebas de seguridad de código abierto (OSSTMM), el Estándar de ejecución de pruebas de penetración (PTES), la Publicación especial NIST 800-115, el Marco de evaluación de seguridad del sistema de información (ISSAF) y la Guía de pruebas OWASP .
La metodología de hipótesis de fallas es una técnica de análisis de sistemas y predicción de penetración en la que se compila una lista de fallas hipotéticas en un sistema de software a través del análisis de las especificaciones y la documentación del sistema. La lista de fallas hipotéticas se prioriza luego sobre la base de la probabilidad estimada de que realmente exista una falla y de la facilidad para explotarla hasta el punto de control o compromiso. La lista de prioridades se utiliza para dirigir las pruebas reales del sistema.
Historia
A mediados de la década de 1960, la creciente popularidad de los sistemas informáticos de tiempo compartido que hacían accesibles los recursos a través de las líneas de comunicación creó nuevos problemas de seguridad. Como explican los eruditos Deborah Russell y GT Gangemi Sr., "La década de 1960 marcó el verdadero comienzo de la era de la seguridad informática". [13] : 27
En junio de 1965, por ejemplo, varios de los principales expertos en seguridad informática de EE. UU. Celebraron una de las primeras conferencias importantes sobre seguridad de sistemas, organizada por el contratista del gobierno, System Development Corporation (SDC). Durante la conferencia, alguien señaló que un empleado de SDC había podido socavar fácilmente varias salvaguardas del sistema agregadas al sistema informático de tiempo compartido AN / FSQ-32 de SDC . Con la esperanza de que fuera útil realizar más estudios sobre la seguridad del sistema, los asistentes solicitaron "... que se lleven a cabo estudios en áreas tales como romper la protección de seguridad en el sistema de tiempo compartido". En otras palabras, los participantes de la conferencia iniciaron una de las primeras solicitudes formales para utilizar la penetración de la computadora como una herramienta para estudiar la seguridad del sistema. [14] : 7–8
En la Conferencia Conjunta de Computación de la primavera de 1967, muchos de los principales especialistas en computación se reunieron nuevamente para discutir los problemas de seguridad del sistema. Durante esta conferencia, los expertos en seguridad informática Willis Ware , Harold Petersen y Rein Turn, todos de RAND Corporation , y Bernard Peters de la Agencia de Seguridad Nacional (NSA), utilizaron la frase "penetración" para describir un ataque contra una computadora. sistema. En un documento, Ware se refirió a los sistemas de tiempo compartido accesibles de forma remota de los militares, advirtiendo que "deben anticiparse los intentos deliberados de penetrar tales sistemas informáticos". Sus colegas Petersen y Turn compartieron las mismas preocupaciones y observaron que los sistemas de comunicación en línea "... son vulnerables a las amenazas a la privacidad", incluida la "penetración deliberada". Bernard Peters de la NSA hizo el mismo punto, insistiendo en que la entrada y salida de la computadora "... podría proporcionar grandes cantidades de información a un programa penetrante". Durante la conferencia, la penetración de las computadoras se identificaría formalmente como una de las principales amenazas para los sistemas informáticos en línea. [14] : 8
La amenaza que representaba la penetración informática se describió a continuación en un importante informe organizado por el Departamento de Defensa de los Estados Unidos (DoD) a fines de 1967. Esencialmente, los funcionarios del Departamento de Defensa recurrieron a Willis Ware para dirigir un grupo de trabajo de expertos de la NSA, la CIA , el Departamento de Defensa, la academia y la industria para evaluar formalmente la seguridad de los sistemas informáticos de tiempo compartido. Basándose en muchos artículos presentados durante la Conferencia Conjunta de Computación de la primavera de 1967, el grupo de trabajo confirmó en gran medida la amenaza a la seguridad del sistema que representaba la penetración de las computadoras. El informe de Ware fue inicialmente clasificado, pero muchos de los principales expertos en informática del país identificaron rápidamente el estudio como el documento definitivo sobre seguridad informática. [14] Jeffrey R. Yost del Charles Babbage Institute ha descrito más recientemente el informe Ware como "... con mucho el estudio más importante y completo sobre cuestiones técnicas y operativas relacionadas con los sistemas informáticos seguros de su período de tiempo". [15] En efecto, el informe de Ware reafirmó la principal amenaza que representa la penetración de las computadoras en los nuevos sistemas informáticos de tiempo compartido en línea.
Para comprender mejor las debilidades del sistema, el gobierno federal y sus contratistas pronto comenzaron a organizar equipos de penetradores, conocidos como equipos de tigre , para usar la penetración de computadoras para probar la seguridad del sistema. Deborah Russell y GT Gangemi Sr. declararon que durante la década de 1970 "... los 'equipos tigre' aparecieron por primera vez en la escena informática. Los equipos tigre eran equipos de crackers patrocinados por el gobierno y la industria que intentaban derribar las defensas de los sistemas informáticos en un esfuerzo por descubrir, y eventualmente parchear, los agujeros de seguridad ". [13] : 29
Un destacado estudioso de la historia de la seguridad informática, Donald MacKenzie, señala de manera similar que "RAND había realizado algunos estudios de penetración (experimentos para eludir los controles de seguridad informática) de los primeros sistemas de tiempo compartido en nombre del gobierno". [16] [17] Jeffrey R. Yost del Charles Babbage Institute, en su propio trabajo sobre la historia de la seguridad informática, también reconoce que tanto la Corporación RAND como la SDC se habían "involucrado en algunas de las primeras llamadas" penetraciones estudios 'para intentar infiltrarse en los sistemas de tiempo compartido con el fin de probar su vulnerabilidad ". [15] En prácticamente todos estos primeros estudios, los equipos de tigres penetraron con éxito en todos los sistemas informáticos específicos, ya que los sistemas de tiempo compartido del país tenían malas defensas.
De las primeras acciones del equipo tigre, los esfuerzos de RAND Corporation demostraron la utilidad de la penetración como herramienta para evaluar la seguridad del sistema. En ese momento, un analista de RAND señaló que las pruebas habían "... demostrado la practicidad de la penetración del sistema como una herramienta para evaluar la efectividad y adecuación de las salvaguardas de seguridad de datos implementadas". Además, varios analistas de RAND insistieron en que todos los ejercicios de prueba de penetración ofrecían varios beneficios que justificaban su uso continuado. Como señalaron en un artículo, "Un penetrador parece desarrollar un estado de ánimo diabólico en su búsqueda de las debilidades y la incompletitud del sistema operativo, que es difícil de emular". Por estas y otras razones, muchos analistas de RAND recomendaron el estudio continuo de las técnicas de penetración por su utilidad en la evaluación de la seguridad del sistema. [14] : 9
Presumiblemente, el principal experto en penetración informática durante estos años de formación fue James P. Anderson, que había trabajado con la NSA, RAND y otras agencias gubernamentales para estudiar la seguridad del sistema. A principios de 1971, la Fuerza Aérea de los Estados Unidos contrató a la compañía privada de Anderson para estudiar la seguridad de su sistema de tiempo compartido en el Pentágono. En su estudio, Anderson describió una serie de factores importantes que intervienen en la penetración de las computadoras. Anderson describió una secuencia de ataque general en pasos:
- Encuentra una vulnerabilidad explotable.
- Diseña un ataque a su alrededor.
- Prueba el ataque.
- Aprovecha una línea en uso.
- Entra en el ataque.
- Aproveche la entrada para recuperar información.
Con el tiempo, la descripción de Anderson de los pasos generales de penetración de computadoras ayudó a guiar a muchos otros expertos en seguridad, quienes se basaron en esta técnica para evaluar la seguridad del sistema informático de tiempo compartido. [14] : 9
En los años siguientes, la penetración de las computadoras como herramienta para la evaluación de la seguridad se volvió más refinada y sofisticada. A principios de la década de 1980, el periodista William Broad resumió brevemente los esfuerzos en curso de los equipos tigre para evaluar la seguridad del sistema. Como informó Broad, el informe patrocinado por el Departamento de Defensa de Willis Ware "... mostró cómo los espías podían penetrar activamente en las computadoras, robar o copiar archivos electrónicos y subvertir los dispositivos que normalmente protegen la información ultrasecreta". El estudio inició más de una década de actividad silenciosa por parte de grupos de élite de científicos informáticos que trabajan para el gobierno que intentaron ingresar a computadoras sensibles. Lo lograron en todos los intentos ". [18]
Si bien estos diversos estudios pueden haber sugerido que la seguridad informática en los EE. UU. Seguía siendo un problema importante, el académico Edward Hunt ha hecho más recientemente un punto más amplio sobre el estudio extenso de la penetración de la computadora como herramienta de seguridad. Hunt sugiere en un artículo reciente sobre la historia de las pruebas de penetración que, en última instancia, el establecimiento de defensa "... creó muchas de las herramientas utilizadas en la guerra cibernética moderna", ya que definió e investigó cuidadosamente las muchas formas en que los intrusos informáticos podían piratear sistemas específicos. . [14] : 5
Herramientas
Se encuentra disponible una amplia variedad de herramientas de evaluación de seguridad para ayudar con las pruebas de penetración, que incluyen software gratuito , gratuito y software comercial .
Distribuciones de SO especializadas
Varias distribuciones de sistemas operativos están orientadas a las pruebas de penetración. [19] Tales distribuciones normalmente contienen un conjunto de herramientas preempaquetadas y preconfiguradas. El probador de penetración no tiene que buscar cada herramienta individual, lo que podría aumentar las complicaciones de riesgo, como errores de compilación, problemas de dependencia y errores de configuración. Además, la adquisición de herramientas adicionales puede no ser práctica en el contexto del evaluador.
Entre los ejemplos notables de SO de pruebas de penetración se incluyen:
- BlackArch basado en Arch Linux
- BackBox basado en Ubuntu
- Kali Linux (reemplazado por BackTrack en diciembre de 2012) basado en Debian
- Sistema operativo Parrot Security basado en Debian
- Pentoo basado en Gentoo
- WHAX basado en Slackware
Muchos otros sistemas operativos especializados facilitan las pruebas de penetración, cada uno más o menos dedicado a un campo específico de pruebas de penetración.
Varias distribuciones de Linux incluyen vulnerabilidades conocidas de aplicaciones y sistemas operativos, y se pueden implementar como objetivos para practicar. Estos sistemas ayudan a los nuevos profesionales de la seguridad a probar las últimas herramientas de seguridad en un entorno de laboratorio. Los ejemplos incluyen Damn Vulnerable Linux (DVL), OWASP Web Testing Environment (WTW) y Metasploitable.
Marcos de software
- BackBox
- Hping
- Proyecto Metasploit
- Nessus
- Nmap
- OWASP ZAP
- SANTO
- w3af
Fases de prueba de penetración
El proceso de prueba de penetración se puede simplificar en las siguientes cinco fases:
- Reconocimiento: El acto de recopilar información importante en un sistema objetivo. Esta información se puede utilizar para atacar mejor al objetivo. Por ejemplo, los motores de búsqueda de código abierto se pueden usar para encontrar datos que se pueden usar en un ataque de ingeniería social .
- Escaneo: utiliza herramientas técnicas para mejorar el conocimiento del sistema por parte del atacante. Por ejemplo, Nmap se puede utilizar para buscar puertos abiertos.
- Obtener acceso: utilizando los datos recopilados en las fases de reconocimiento y escaneo, el atacante puede usar una carga útil para explotar el sistema objetivo. Por ejemplo, Metasploit se puede utilizar para automatizar ataques a vulnerabilidades conocidas.
- Mantener el acceso: Mantener el acceso requiere tomar los pasos necesarios para poder estar de manera persistente dentro del entorno de destino a fin de recopilar la mayor cantidad de datos posible.
- Cubrir pistas: el atacante debe borrar cualquier rastro de comprometer el sistema de la víctima, cualquier tipo de datos recopilados, registrar eventos, para permanecer en el anonimato. [20]
Una vez que un atacante ha aprovechado una vulnerabilidad, puede obtener acceso a otras máquinas, por lo que el proceso se repite, es decir, buscan nuevas vulnerabilidades e intentan aprovecharlas. Este proceso se denomina pivotar.
Vulnerabilidades
Las operaciones legales que permiten al evaluador ejecutar una operación ilegal incluyen comandos SQL sin escape, contraseñas hash sin cambios en proyectos de fuente visible, relaciones humanas y funciones antiguas de hash o criptográficas. Es posible que una sola falla no sea suficiente para permitir un exploit críticamente serio. Casi siempre se requiere aprovechar múltiples fallas conocidas y dar forma a la carga útil de una manera que parezca una operación válida. Metasploit proporciona una biblioteca ruby para tareas comunes y mantiene una base de datos de exploits conocidos.
Cuando se trabaja con limitaciones de tiempo y presupuesto, el fuzzing es una técnica común que descubre vulnerabilidades. Su objetivo es obtener un error no controlado a través de una entrada aleatoria. El probador utiliza una entrada aleatoria para acceder a las rutas de código que se utilizan con menos frecuencia. Las rutas de código más transitadas suelen estar libres de errores. Los errores son útiles porque exponen más información, como fallas del servidor HTTP con rastreo completo de información, o se pueden usar directamente, como desbordamientos de búfer .
Imagina que un sitio web tiene 100 cuadros de entrada de texto. Algunos son vulnerables a las inyecciones de SQL en determinadas cadenas. Es de esperar que el envío de cadenas aleatorias a esos cuadros por un tiempo llegue a la ruta del código con errores. El error se muestra como una página HTML rota a la mitad debido a un error de SQL. En este caso, solo los cuadros de texto se tratan como flujos de entrada. Sin embargo, los sistemas de software tienen muchos flujos de entrada posibles, como cookies y datos de sesión, el flujo de archivos cargados, canales RPC o memoria. Pueden ocurrir errores en cualquiera de estos flujos de entrada. El objetivo de la prueba es primero obtener un error no manejado y luego comprender la falla en función del caso de prueba fallido. Los evaluadores escriben una herramienta automatizada para probar su comprensión del defecto hasta que sea correcto. Después de eso, puede resultar obvio cómo empaquetar la carga útil para que el sistema de destino active su ejecución. Si esto no es viable, se puede esperar que otro error producido por el fuzzer dé más frutos. El uso de un fuzzer ahorra tiempo al no verificar las rutas de código adecuadas donde las vulnerabilidades son poco probables.
Carga útil
La operación ilegal, o carga útil en la terminología de Metasploit, puede incluir funciones para registrar pulsaciones de teclas, tomar capturas de pantalla, instalar software publicitario , robar credenciales, crear puertas traseras usando shellcode o alterar datos. Algunas empresas mantienen grandes bases de datos de exploits conocidos y proporcionan productos que prueban automáticamente los sistemas de destino en busca de vulnerabilidades:
- Metasploit
- Nessus
- Nmap
- OpenVAS
- W3af
Servicios de pruebas de penetración gubernamentales estandarizados
La Administración de Servicios Generales (GSA) ha estandarizado el servicio de "prueba de penetración" como un servicio de soporte previamente examinado, para abordar rápidamente vulnerabilidades potenciales y detener a los adversarios antes de que afecten a los gobiernos locales, estatales y federales de EE. UU. Estos servicios se conocen comúnmente como servicios de ciberseguridad altamente adaptables (HACS) y se enumeran en el sitio web de US GSA Advantage. [21]
Este esfuerzo ha identificado proveedores de servicios clave que han sido revisados y examinados técnicamente para proporcionar estos servicios de penetración avanzados. Este servicio de GSA tiene como objetivo mejorar el pedido y la implementación rápidos de estos servicios, reducir la duplicación de contratos con el gobierno de EE. UU. Y proteger y respaldar la infraestructura de EE. UU. De una manera más oportuna y eficiente.
132-45A Prueba de penetración [22] es una prueba de seguridad en la que los asesores de servicios imitan los ataques del mundo real para identificar métodos para eludir las características de seguridad de una aplicación, sistema o red. Los servicios de pruebas de penetración de HACS suelen probar estratégicamente la eficacia de las medidas de seguridad preventivas y de detección de la organización empleadas para proteger los activos y los datos. Como parte de este servicio, los piratas informáticos éticos certificados suelen realizar un ataque simulado a un sistema, sistemas, aplicaciones u otro objetivo en el entorno, en busca de debilidades de seguridad. Después de las pruebas, normalmente documentarán las vulnerabilidades y describirán qué defensas son efectivas y cuáles pueden ser derrotadas o explotadas.
En el Reino Unido, los servicios de pruebas de penetración están estandarizados a través de organismos profesionales que trabajan en colaboración con el Centro Nacional de Seguridad Cibernética.
Los resultados de las pruebas de penetración varían según los estándares y las metodologías utilizadas. Hay cinco estándares de pruebas de penetración: Manual de metodología de pruebas de seguridad de código abierto (OSSTMM), Proyecto de seguridad de aplicaciones web abiertas (OWASP), Instituto Nacional de Estándares y Tecnología (NIST00), Marco de evaluación de seguridad de sistemas de información (ISSAF) y Metodologías de pruebas de penetración y Estándares (PTES).
Ver también
- Riesgo de TI
- ITHC
- Equipo de tigre
- Sombrero blanco (seguridad informática)
Referencias generales
- Largo, Johnny (2011). Hacking de Google para probadores de penetración , Elsevier [23]
- La guía definitiva para las pruebas de penetración [24]
Referencias
- ^ "¿Qué es la prueba de penetración?" . Consultado el 18 de diciembre de 2018 .
- ^ "Resumen de las pruebas de penetración" . Consultado el 25 de enero de 2019 .
- ^ "¿Cuál es la diferencia entre una evaluación de vulnerabilidad y una prueba de penetración?" . Consultado el 21 de mayo de 2020 .
- ^ La guía de preparación de CISSP® y CAPCM: Edición Platinum . John Wiley e hijos. 2006-11-06. ISBN 978-0-470-00792-1.
Una prueba de penetración puede determinar cómo reacciona un sistema a un ataque, si se pueden o no violar las defensas de un sistema y qué información se puede adquirir del sistema.
- ^ Kevin M. Henry (2012). Pruebas de penetración: protección de redes y sistemas . IT Governance Ltd. ISBN 978-1-849-28371-7.
Las pruebas de penetración son la simulación de un ataque a un sistema, red, equipo u otra instalación, con el objetivo de demostrar cuán vulnerable sería ese sistema o "objetivo" a un ataque real.
- ^ a b Cris Thomas (pícaro espacial), Dan Patterson (2017). El descifrado de contraseñas es fácil con Space Rogue (video) de IBM . CBS Interactive . El evento ocurre a las 4: 30-5: 30 . Consultado el 1 de diciembre de 2017 .
- ^ "Tipos de pruebas de penetración explicados" . 2017-06-09 . Consultado el 23 de octubre de 2018 .
- ^ "Prueba de penetración: evaluación de su seguridad general antes de que lo hagan los atacantes" . Instituto SANS . Consultado el 16 de enero de 2014 .
- ^ a b "Redacción de un informe de pruebas de penetración" . Instituto SANS . Consultado el 12 de enero de 2015 .
- ^ "Ensayos de penetración" . NCSC . Agosto de 2017 . Consultado el 30 de octubre de 2018 .
- ^ Patrick Engebretson, Los conceptos básicos de piratería y pruebas de penetración Archivado el 4 de enero de 2017 en Wayback Machine , Elsevier, 2013
- ^ Alan Calder y Geraint Williams (2014). PCI DSS: una guía de bolsillo, tercera edición . ISBN 978-1-84928-554-4.
Análisis de vulnerabilidades de la red al menos trimestralmente y después de cualquier cambio significativo en la red.
- ^ a b Russell, Deborah; Gangemi, GT (1991). Conceptos básicos de seguridad informática . O'Reilly Media Inc. ISBN 9780937175712.
- ^ a b c d e f Hunt, Edward (2012). "Programas de penetración informática del gobierno de Estados Unidos y las implicaciones para la guerra cibernética". IEEE Annals of the History of Computing . 34 (3): 4-21. doi : 10.1109 / MAHC.2011.82 . S2CID 16367311 .
- ^ a b Yost, Jeffrey R. (2007). de Leeuw, Karl; Bergstra, Jan (eds.).Una historia de los estándares de seguridad informática , en La historia de la seguridad de la información: un manual completo . Elsevier. págs. 601–602.
- ^ Mackenzie, Donald; Pottinger, Garrel (1997). "Matemáticas, tecnología y confianza: verificación formal, seguridad informática y el ejército de Estados Unidos" . IEEE Annals of the History of Computing . 19 (3): 41–59. doi : 10.1109 / 85.601735 .
- ^ Mackenzie, Donald A. (2004). Mecanizar la prueba: informática, riesgo y confianza . Instituto de Tecnología de Massachusetts . pag. 156. ISBN 978-0-262-13393-7.
- ^ Broad, William J. (25 de septiembre de 1983). "La seguridad informática preocupa a los expertos militares", The New York Times
- ^ Faircloth, Jeremy (2011). "Capítulo 1: Herramientas del oficio" (PDF) . Kit de herramientas de código abierto de Penetration Tester (tercera edición). Elsevier . ISBN 978-1597496278. Consultado el 4 de enero de 2018 .[ necesita cotización para verificar ]
- ^ "Resumiendo las cinco fases de las pruebas de penetración - Cybrary" . Cybrary . 2015-05-06 . Consultado el 25 de junio de 2018 .
- ^ "Servicios GSA HACS SIN 132-45" . 1 de marzo de 2018.
- ^ "Servicios de prueba de penetración" . 1 de marzo de 2018.
- ^ Largo, Johnny (2011). Hacking de Google para probadores de penetración . Ciencia de Elsevier. ISBN 978-0-08-048426-6.
- ^ "Guía definitiva para las pruebas de penetración | Core Sentinel" . Centinela central . Consultado el 23 de octubre de 2018 .