Explotar
Un exploit ( inglés para explotar exploit) se encuentra en el procesamiento electrónico de datos para explotar de manera sistemática, vulnerabilidades en el desarrollo de un programa . Con la ayuda de códigos de programa , se explotan las lagunas de seguridad y el mal funcionamiento de programas (o sistemas completos), principalmente para obtener acceso a recursos o para penetrar o dañar sistemas informáticos . Un exploit de día cero es la explotación de un agujero de seguridad para el que el fabricante del componente aún no dispone de un parche.
General
A menudo, un exploit solo se desarrolla y documenta para revelar una brecha de seguridad. El objetivo es permitir que los fabricantes de software reconozcan y cierren una brecha de seguridad más rápidamente. La mera descripción de un exploit a menudo se denomina exploit.
Por ejemplo, las vulnerabilidades aprovechan el hecho de que las computadoras con arquitectura Von Neumann, casi todas las computadoras del hogar y de la oficina , no distinguen entre el código del programa y los datos del usuario. Por ejemplo, en el caso de un desbordamiento del búfer, el código del atacante se escribe en un área de memoria que no está destinada a este fin, que puede manipular la ejecución de la aplicación. Otra posibilidad son los ataques de cadena de formato , en los que la entrada del usuario sin filtrar se pasa a funciones de formato como printf(). Un atacante a menudo puede ejecutar su propio código que, por ejemplo, le proporciona un shell con los privilegios de la aplicación explotada.
clasificación
Los exploits generalmente se denominan de la siguiente manera:
- Hazañas locales
- Explotaciones remotas
- DoS explota
- Explotaciones de ejecución de comandos
- Inyección SQL explota
- Exploits de día cero
Tipo de aspecto de ataque
Hazañas locales
Los exploits locales se pueden activar cuando se abren archivos aparentemente completamente inofensivos (por ejemplo , documentos de Office ) si la aplicación asignada al tipo de archivo tiene un agujero de seguridad debido a un procesamiento incorrecto o inadecuado del archivo. La mayoría de las veces, un exploit (por ejemplo, en un documento PDF o como una macro en un archivo de Word o Excel) primero intenta explotar los agujeros de seguridad en el programa que se utilizó para leer el archivo para lograr un mayor nivel de privilegio. y así convertir el código malicioso en cargar y ejecutar el sistema operativo. La acción real que realiza el exploit se conoce como carga útil . Con muchos marcos de exploits (como Metasploit ), la carga útil se puede configurar por separado. Sin embargo, también se puede anclar firmemente en el exploit.
Explotaciones remotas
Una forma activa de exploits son los ataques desde Internet que utilizan paquetes de datos manipulados o flujos de datos especiales en puntos débiles del software de red. A veces, estos exploits se denominan exploits remotos.
Explotaciones de denegación de servicio
Por lo general, los primeros exploits publicados para un agujero de seguridad conocido son los denominados exploits DoS , que sobrecargan la aplicación en cuestión , pero no incluyen la ejecución de código de programa de terceros ni escalada de privilegios .
Explotaciones de ejecución de comandos
Los exploits de ejecución de comandos caracterizan la característica de la ejecución de código de programa en el sistema de destino que puede ser controlado por el atacante. Para poder ejecutar con éxito un exploit de este tipo, el programador debe conocer varias peculiaridades de la asignación de la memoria de la aplicación de destino. Obtiene este conocimiento a través de fuentes abiertas del código del programa o mediante meras pruebas. Tiene que colocar inteligentemente su código para poder ejecutarlo. Las vulnerabilidades de ejecución de comandos suelen ser muy peligrosas, ya que las aplicaciones en cuestión suelen tener considerables derechos sobre el sistema y el código del atacante se inicia precisamente con estos derechos.
Explotaciones de inyección SQL
Inyección SQL -Exploits son un tipo especial de hazañas y sobre todo encontrar uso en aplicaciones Web que un SQL - base de datos de uso, ya que son muy fácilmente disponibles en Internet, pero es posible, en principio, para cualquier aplicación que accede a una base de datos SQL, siendo peligroso. En este caso, las solicitudes se realizan en una arquitectura de capa de tal manera que la capa de presentación que funciona de manera incorrecta o inadecuada devuelve o escribe datos que no debería poner a disposición para el acceso de lectura o escritura. Por ejemplo, las entradas en un formulario de inicio de sesión se pueden diseñar de tal manera que la aplicación en cuestión aún inicie sesión con éxito en un usuario no válido o los campos de datos se puedan generar específicamente desde la base de datos para, p. Ej. B. para generar las contraseñas o direcciones de correo electrónico de todos los usuarios registrados. Si las entradas del usuario en las interfaces del programa no se comprueban adecuadamente para verificar su validez (por ejemplo, que no contienen comandos SQL o partes de ellos) y se filtran, puede surgir una brecha de inyección SQL.
Ejemplos de
- En octubre de 2014, se pudo acceder a la red de Sony Playstation a través de una brecha de inyección SQL para leer los datos de los clientes.
- El popular sistema de blogs y sistema de gestión de contenido WordPress se vio afectado por una vulnerabilidad de inyección de SQL en el complemento de análisis de Slimstat, como descubrió el experto en seguridad Marc-Alexandre Montpas en febrero de 2015. Esto puso a más de un millón de sitios web en riesgo de ser pirateados .
Intervalo de tiempo de aspecto
Explotación de día cero
Un exploit de día cero es un exploit que se utiliza antes de que un parche esté disponible como contramedida. Por lo tanto, los desarrolladores no tienen tiempo ("0 días", día cero en inglés ) para mejorar el software, por lo que el exploit es ineficaz para proteger a los usuarios. Si una persona descubre una brecha de seguridad y no lo informa al fabricante del software, pero desarrolla un exploit para explotarlo, la vulnerabilidad del software a menudo solo se conoce mucho después del primer ataque. De los piratas informáticos , los exploits de día cero se mantienen en secreto con mucho gusto para explotarlos durante mucho tiempo. Fuera del público, los exploits de día cero se comercializan entre piratas informáticos o los fabricantes se ofrecen por grandes sumas de dinero. Los precios se han multiplicado por un factor de alrededor de 10 desde 2012. Desde que los organismos gubernamentales han estado preparando escenarios ofensivos de ciberguerra , el gobierno legal y las organizaciones del sector privado han estado tratando de identificar vulnerabilidades para proteger los sistemas mediante la publicación de parches , o para poder dañar sistemas hostiles.
Como medida preventiva, los expertos intentan rastrear las brechas de seguridad con anticipación e identificar a los fabricantes de software. Esto a veces se critica en los círculos profesionales porque los probadores a veces violan las leyes o las pautas del fabricante.
Ejemplos de
- Los exploits de día cero se están volviendo más comunes debido a la creciente complejidad del software y al aumento de los precios. En agosto de 2012, se lanzó un exploit que apagó fácilmente el administrador de seguridad de Java . Esto permitió que se iniciaran los programas.
- Casi todas las versiones de Windows se vieron afectadas por una vulnerabilidad de día cero en los documentos de Microsoft Office en octubre de 2014 .
- En noviembre de 2014, hubo indicios de que el BND estaba comprando exploits de día cero para interceptar el cifrado SSL . Los exploits funcionales de día cero para programas ampliamente utilizados como Internet Explorer , Flash , Android o iOS cuestan hasta $ 100,000. Se cree que se pusieron a disposición hasta 4,5 millones de euros para la compra (bajo el nombre en clave “Swop”) en 2015.
- El grupo de trabajo del Presidium “Protección de datos y seguridad informática” de Gesellschaft für Informatik criticó el hecho de que la BSI debería recopilar exploits de día cero, pero no es necesario que los publique. Si no se publicara, las empresas alemanas y los particulares estarían expuestos a ataques informáticos sin protección, y las empresas se verían amenazadas con pérdidas por valor de miles de millones de euros.
- Google publicó documentación de todos los exploits de día cero conocidos por el público desde 2014.
Contramedidas
La protección de la memoria se menciona a menudo como una contramedida. Sin embargo, esto no es correcto, porque las memorias congeladas se pueden leer con varios programas. Asimismo, un ataque basado en funcionalidades existentes puede ser detectado mediante sistemas de detección de intrusos o también prevenido mediante sistemas de prevención de intrusos ; Sin embargo, dicho sistema tampoco protege contra la explotación de un error sistemático y desconocido en el software. El problema básico es a menudo una programación incorrecta (por ejemplo, debido al uso de punteros colgantes ) o, incluso más difícil de descubrir, un error sistemático, generalmente muy complejo, en la arquitectura del programa o de un sistema completo. La única solución a tales problemas sería evitar las brechas de seguridad causadas por errores de procesamiento durante el desarrollo, lo cual es prácticamente imposible con los sistemas actuales. El código administrado ofrece cierta protección; esto previene de forma eficaz , por ejemplo, los desbordamientos del búfer . Pero esta es solo una solución parcial al problema general. Los sistemas complejos que son elaborados por diferentes fabricantes y subproveedores constan de muchas capas de hardware y software, lo que hace que sea extremadamente difícil encontrar puntos débiles durante el desarrollo. Es por eso que la búsqueda de puntos débiles generalmente se continúa durante la operación, mucho después de la fase beta. Esta búsqueda es existencialmente importante en sistemas extremadamente críticos donde están en juego vidas humanas, p. Ej. B. en automóviles, trenes, aviones y barcos, todos los cuales contienen software (principalmente en forma de firmware ), que en principio puede ser atacado.
Ejemplos de
- En la Blackhat Conference 2014, se examinó la capacidad de pirateo de 21 vehículos actuales. El resultado: transmisores Bluetooth , señales de radio del sistema de cierre centralizado , sistemas de alarma , sistemas de control de la presión de los neumáticos , conexiones a Internet e infoentretenimiento : las aplicaciones están particularmente en riesgo como acceso; Existe el riesgo de que los piratas informáticos controlen el coche de forma remota.
- El hackeo de un Jeep Cherokee demostró que las investigaciones de la Conferencia Blackhat sobre la capacidad de hackear coches no eran solo teóricas . Los expertos en seguridad Charlie Miller y Chris Valasek lograron tomar el control de tal jeep a través de un punto débil en el sistema de infoentretenimiento a través de Internet. Los frenos, la aceleración, el bloqueo de las puertas, el aire acondicionado y los limpiaparabrisas se pueden controlar de forma remota. A la inversa, incluso era posible controlar el volante de forma remota. También debería ser posible determinar la ubicación exacta del vehículo pirateado sin el consentimiento del propietario del vehículo . Este punto débil se ha solucionado ahora con una actualización , que, sin embargo , debe ser instalada por el propietario del vehículo mediante una memoria USB o en un taller.
Ver también
- Cracker (seguridad informática)
- Hackers (seguridad informática)
- Desbordamiento de búfer
- Shellcode
- Metasploit
- Blackhole
Evidencia individual
- ↑ Tatort Internet - PDF con bomba de tiempo - Heise Security . Consultado el 15 de febrero de 2013.
- ↑ Explotación de PDF para Adobe Reader . Anónimo. Archivado desde el original el 6 de enero de 2014. Información: El enlace del archivo se insertó automáticamente y aún no se ha verificado. Verifique el enlace original y de archivo de acuerdo con las instrucciones y luego elimine este aviso. Consultado el 16 de febrero de 2013.
- ↑ Análisis total de virus del exploit . Consultado el 16 de febrero de 2013.
- ^ Inyección SQL . PHP.net. Consultado el 19 de agosto de 2011.
- ^ "Aumento significativo de los ataques de inyección SQL". En: "Heise Security". Consultado el 14 de enero de 2015 .
- ^ "Inyección letal". En: "Heise Security". Consultado el 14 de enero de 2015 .
- ^ "La vulnerabilidad permite el acceso a los datos de los clientes de Sony". En: "Golem.de". Consultado el 14 de enero de 2015 .
- ↑ Björn Greif: "Más de un millón de sitios de WordPress amenazados por vulnerabilidades de inyección de SQL". En: "ZDNet". 25 de febrero de 2015, consultado el 18 de noviembre de 2015 .
- ↑ Explotación de día cero. (Ya no está disponible en línea). En: "Viruslist.com". Archivado desde el original el 2 de febrero de 2012 ; Consultado el 18 de noviembre de 2011 . Información: el enlace del archivo se insertó automáticamente y aún no se ha verificado. Verifique el enlace original y de archivo de acuerdo con las instrucciones y luego elimine este aviso.
- ↑ El mercado de vulnerabilidades legítimas (PDF; 289 kB) Evaluadores de seguridad independientes, Charles Miller. Archivado desde el original el 24 de marzo de 2012. Información: El enlace del archivo se insertó automáticamente y aún no se ha verificado. Verifique el enlace original y de archivo de acuerdo con las instrucciones y luego elimine este aviso. Consultado el 18 de noviembre de 2011.
- ↑ Patrick Beuth: El truco perfecto para iPhone cuesta dos millones de dólares , SPIEGEL online desde el 10 de febrero de 2018
- ↑ Tom Simonite: Bienvenido al complejo industrial de malware , MIT Technology Review, 13 de febrero de 2013
- ↑ Metasploit ofrece recompensas por exploits . Caliente. Consultado el 18 de noviembre de 2011.
- ↑ enlace del archivo ( recuerdo de la original, del 17 de febrero de 2013 el Archivo de Internet ) Información: El archivo de enlace se inserta de forma automática y sin embargo no ha sido comprobado. Verifique el enlace original y de archivo de acuerdo con las instrucciones y luego elimine este aviso.
- ^ "Erupción volcánica en Java - exploit Java 0 Day bajo el microscopio". En: "Heise Security". Consultado el 14 de enero de 2015 .
- ^ "Análisis de Java 0day (CVE-2012 a 4681)". En: "Productos de inmunidad". Consultado el 7 de febrero de 2013 .
- ^ "Brecha de día cero en Windows". En: "Heise Security". Consultado el 24 de octubre de 2014 .
- ^ "Escuchando SSL: críticas a los planes de BND para exploits de día cero". En: "Heise Security". Consultado el 11 de noviembre de 2014 .
- ^ "Ley de seguridad de TI crea incertidumbre". En: "Sociedad de Ciencias de la Computación". Consultado el 19 de noviembre de 2014 .
- ↑ "0day In the Wild". En: Google Project Zero. Consultado el 15 de mayo de 2019 .
- ^ "Black Hat: ataques a aviones, trenes y coches". En: "Kaspersky lab daily". Consultado el 25 de noviembre de 2014 .
- ^ "Ataques de piratas informáticos a automóviles - control remoto a través de una computadora portátil: estos modelos de automóviles son fáciles de manipular". En: "Focus". Consultado el 4 de diciembre de 2014 .
- ↑ Ronald Eikenberg: "Los piratas informáticos controlan el Jeep Cherokee de forma remota". En: "Heise Security". 22 de julio de 2015, consultado el 16 de noviembre de 2015 .
- ^ "Andy Greenberg": "Los piratas informáticos matan de forma remota un jeep en la carretera, conmigo en él". En: "Wired.com". 21 de julio de 2015, consultado el 16 de noviembre de 2015 .