tarea 1

Universidad Nacional Abierta y a Distancia Especialización en Seguridad Informática Seguridad en Bases de Datos Desarrol

Views 99 Downloads 6 File size 837KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Universidad Nacional Abierta y a Distancia Especialización en Seguridad Informática Seguridad en Bases de Datos Desarrollo Fase 2

Carlos Arturo Rodriguez Ortiz 80108533

Universidad Nacional Abierta y a Distancia. Seguridad en Bases de Datos

Gacheta-septiembre del 2019

TABLA DE CONTENIDO

INTRODUCCION ..............................................................................................................................................3 1.

ATAQUES A BASES DE DATOS.....................................................................................................4

1.1

Ataques a Bases de Datos Relacionales ....................................................................................4

1.2

Bases de Datos No Relacionales ..................................................................................................9

2. NORMATIVIDAD, ESTÁNDARES, O BUENAS PRÁCTICAS PARA ASEGURAMIENTO DE BASES DE DATOS ........................................................................................ 14 3.

ELECCION DE LA ESTRATEGIA A IMPLEMENTAR ......................................................... 16

............................................................................................................................................................................... 16 CONCLUSIONES ........................................................................................................................................... 17 Referencias ............................................................................................................................................................ 18

INTRODUCCION

A partir de este documento se investiga todo o relacionado con las vulnerabilidades en las bases de datos relacionales y no relacionales muy importantes para cualquier organización sin importar el volumen de datos que maneje, así como todo lo relacionado con ataques a las mismas y cómo prevenirlos. Conociendo de cerca políticas de buen manejo de información y mostrar posibles vulnerabilidades más conocidas por atacantes SQL y demás. Nos ayudara con la interpretación y despejar las incógnitas existentes sobre ingresos a sistemas operativos teniendo en cuenta la seguridad en los datos empresariales y personales. En el caso estudio podemos ir visualizando un norte de trabajo y luego profundizar en la mejor solución.

1. ATAQUES A BASES DE DATOS

1.1

Ataques a Bases de Datos Relacionales

Descripción del ataque

Son ataques de inyección SQL detectan errores de diseño habituales en las aplicaciones web y es la forma más fácil y efectiva de ataque cibernético. La amenaza de las inyecciones SQL son evaluadas como problema de seguridad correspondiente a las bases de datos para cualquier organización, en la actualidad es el margen más grande de ataque para poner sobre peligro a sitios web realizados por delincuentes informáticos. peligros de un ataque de inyección SQL son capaces de ataques a bases de datos o sitios web externos e internos son generalmente usados por los delincuentes informáticos para manejar a su manera o robar información o desaparecerla. Valiéndose de las vulnerabilidades de las web o aplicaciones haciendo consultas SQL dañinas a la entrada de un sitio web engañándola para que use sus comandos no intencionados y luego ingresar a los datos y obteniendo el control total. Ataque por inyección SQL:

(https://www.akamai.com) Sistemas afectados

Se encuentran los sistemas que pueden ser vulnerados son aquellos que por poseer los puertos de la conexión directamente con sus bases de datos Windows server, Linux, Ubuntu

(www.onasystems.net( Impacto

Uno de los impactos más importante son las tablas y todo lo comprendido en la información de las mismas como los administradores de bases de datos para desestabilizar el buen funcionamiento de la página web y aplicaciones. Esencialmente, el ataque es llevado a cabo mediante la colocación de un meta carácter en los datos de entrada para colocar comandos SQL en el plano de control, el cual antes no existía. Este error depende del hecho de que SQL no hace real distinción entre los planos de datos y los de control.

(www.owasp.org) Ejemplo de ataque

El atacante detecta la vulnerabilidad de la base de datos y lo realiza puede también controlar editar u email de cuenta de usuarios. Y'; UPDATE table SET email = '[email protected]' WHERE email = '[email protected]';

Después de la Y hay una comilla y un punto y coma, lo que permite al atacante cerrar la sentencia y ejecutar otra. Lo anterior resultaría en el siguiente código: SELECT data FROM table WHERE Emailinput = 'Y'; UPDATE table SET email = '[email protected]' WHERE email = '[email protected]'; Es necesario para el atacante conocer la estructura y table a afectar. 1=1, que es siempre true SELECT * FROM users WHERE id = 10 or 1=1 Esto devolvería toda la tabla de usuarios, ya que WHERE 1=1 es true.

[diego.com.es] (www.owasp.org) 2 URL de ejemplo: http://newspaper.com/items.php?id=2 envía la siguiente consulta a la base de datos SELECT title, description, body FROM items WHERE ID = 2 el atacante puede entonces intentar que devuelva ‘falso’: http://newspaper.com/items.php?id=2 and 1=2 ahora la consulta SQL quedaría tal que así: SELECT title, description, body FROM items WHERE ID = 2 and 1=2 Si la aplicación web es vulnerable a SQL Injection, entonces es proble que no devuelva nada. Para asegurarse, el atacante injectará una consulta que devuelva ‘verdadero’: http://newspaper.com/items.php?id=2 and 1=1 (www.owasp.org) Prevención

Una forma segura de prevenir es realizar consultas preparadas así lograr la ejecución de consultas muchas veces siendo una forma eficaz. A través de ellas logramos evitar diferentes valores '?' esto informara a PHP en que parte de la

sentencia van los valores luego php evaluara y guardara los resultados sin realizar la consulta, también reemplazando caracteres especiales de HTML

(www.onasystems.net)

Descripción del ataque

Para la programación y seguridad informática el desbordamiento de buffer se reconoce como error de software producido al copiar una cantidad de datos sobre áreas que no son bastante grandes para almacenarlos, logrando sobrescribir otras zonas de la memoria. Entre los más recordados está el de 1998 el gusano Morris en la red El llamado pisado de pila es un desbordamiento de buffer es utilizado por virus o programas maliciosos tomando el control de alguna aplicación y lograr su terminación.

(seguridadpcs.wordpress.com) Sistemas afectados

Bases de datos (consultas) Las memorias de los programas que presentan vulnerabilidad (es.ccm.net) Impacto

El ataque lo realiza un delincuente informático por medio de un código malicioso para obtener un tipo de escalada de privilegios pues el sistema yo lo encontró vulnerable insertando cadenas bastante robustas en las bases de datos logrando el desbordamiento de buffer y lograr la implantación del código.

(www.ecured.cu) Ejemplo de ataque

En un sistema big-endian que use ASCII, el carácter 'o' seguido del byte nulo equivale al número 28416. Un pirata informático con un sólido conocimiento técnico puede asegurarse de que la dirección de memoria sobrescrita corresponda a una real, por ejemplo, una que esté ubicada en el mismo búfer. Como tal, al ingresar las instrucciones en el buffer, es fácil para él ejecutar este procedimiento. Por lo tanto, es posible incluir instrucciones en el búfer que permitan abrir un intérprete de comandos permitiendo que el pirata tome control del sistema.

(www.ecured.cu)

Img 01

CVE-1999-0042 CVE-2000-0389-CVE-2000-0392 CVE-2002-0842, CVE-2003-0095, CAN-2003-0096 CAN-2003-0352

(www.dragonjar.org) Prevención

Para Php utilizando la función strlen () restringe el número de caracteres y así no se logren ingresar los que permiten la función Para C no utilizar las funciones tales como sprintf () y vsprintf () strcpy (), strcat (), e implementación de herramientas de compilación para recibir alertas del código cuando sea vulnerable a ataque. (es.kioskea.net/contents/19-ataques-por-desbordamiento-de-bufer) Descripción del ataque

Un ataque de denegación de servicio, tiene como objetivo inhabilitar el uso de un sistema, una aplicación o una máquina, con el fin de bloquear el servicio para el que está destinado. La diferencia entre ambos es el número de ordenadores o IP´s que realizan el ataque. Un ataque DDoS es más difícil de detectar, ya que el número de peticiones proviene desde diferentes IP´s y el administrador no puede bloquear la IP que está realizando las peticiones, como sí ocurre en el ataque DOS.

(www.osi.es/es) Sistemas afectados

Reuters Páginas web Servidores Las consultas de las bases de datos (www.ionos.es) Impacto

Es uno de los ataques más dañinos e irreparables ya que está en capacidad por ejemplo a unas bases de datos el servicio se sobrecarga y por consiguiente lo vuelve muy lento y caerse el sistema por completo.

(blog.sucuri.net) Ejemplo de ataque

en base de datos MYSQL Realizando sobrecarga

benchmark (count, expr): Realiza la expr tantas veces de lo que se indique en el count. SHA1 (str)/SHA (str): Realiza el cálculo del valor que se indique en str. Caída de la base de datos. BENCHMARK (999999, SHA1 (BENCHMARK (999999, SHA1(…, SHA1(SHA1(0x65)))))). La base de datos quedara almacenada en bucles y su función terminara. Algunos casos concretos informados en la red. En febrero de 2000 algunas compañías incluyendo Yahoo, Amazon y Ebay sufrieron una serie de ataques DdoS que les dejaron sin servicio. En Julio de 2001 una serie de ataques DdoS tuvieron efecto sobre la web de la Casa Blanca. En octubre de 2002 se realizó un ataque DdoS contra los servidores DNS raíz quelograron afectar a 9 de 13 de los servidores DNS que controlan Internet. En mayo de 2007 Estonia sufrió un ataque DdoS masivo que afectó a multitud de servidores incluyendo la presidencia, el parlamento, varios ministerios, bancos, telecomunicaciones.

(www.owasp.org) UDP Flood (Saturación UDP). Este ataque DDoS aprovecha el protocolo UDP (User Datagram Protocol), un protocolo de red que no necesita una sesión iniciada en el equipo remoto. Este tipo de ataque inunda puertos aleatorios dicho host remoto con numerosos paquetes UDP, causando que el equipo víctima compruebe ante cada petición a cada puerto, si hay alguna aplicación escuchando en destino; y en caso de no haberla responde con un paquete ICMP (Internet Control Message Protocol) de error de destino. Al ser el número de paquetes enviado enormemente exagerado, este proceso agota los recursos del servidor o equipo, y en última instancia puede conducir a la inaccesibilidad.

(https://openwebinars.net) Prevención

SE encuentran 3 procesos de mitigación del ataque.   

El Métodos de detección: es necesario saber que el ataque se está efectuando y empezar a buscar el origen para mitigar el impacto El Métodos de mitigación: posee 2 modelos modificar los parámetros de configuración y verificación de tráfico que sea vulnerable a l ataque DOS EL Planificación de la contingencia: ES evaluar por si los 2 anteriores fallan y no es posible detener el ataque.

(www.muyseguridad.net)

1.2

Bases de Datos No Relacionales

Descripción del ataque

1 Ransomware: El malware de rescate, es un tipo de malware que impide a los usuarios acceder a su sistema o a sus archivos personales y que exige el pago de un rescate para poder acceder de nuevo a ellos. El Ransomware puede infectar su ordenador de varias formas. Uno de los métodos más habituales actualmente es a través de spam malicioso, o mal spam, que son mensajes no solicitados que se utilizan para enviar malware por correo electrónico. El mensaje de correo electrónico puede incluir archivos adjuntos trampa, como PDF o documentos de Word. También puede contener enlaces a sitios web maliciosos.

(www.malwarebytes.com) Sistemas afectados

Bases de datos Archivos de pc Servidores Navegación de la red o recursos

(www.avast.com) Impacto

Dicho ataque es capaz de secuestrar la información de organizaciones por medio del correo electrónico o por uso de sitios web no reconocidos o remotamente ingresando directamente al pc de la información vulnerada y luego realizan la extorción para que la empresa o afecto recupere sus datos es un delito castigable y muy dañino a quien lo pueda sufrir.

(www.eset-la.com) Ejemplo de ataque

Cerber. Cerber es uno de los más poderosos dentro de los ransomware Locky Badrabbit NotPetya Wannacry. El ataque Equifax hace un año se llevó a cabo gracias a una vulnerabilidad en las aplicaciones web de la compañía que fue explotada por los criminales con ransomware, abriendo las puertas a la información confidencial de más de 147 millones de clientes en Estados Unidos, incluyendo sus números de Seguridad Social, fechas de nacimiento, domicilios, y en algunos casos sus carnets de conducir y tarjetas de crédito. [www.pandasecurity.com] Ransomware de MBR Este tipo de ransomware no es tan complejo eliminarlo pero si es una de las que más da miedo a los usuarios. Este malware modifica el Master Boot Record (MBR)

esto interrumpe el proceso de arranque, lo que origina que el usuario o pueda iniciar el sistema y por ende no puede eliminar la infección. (https://www.realnet.com) Prevención

Realizar backups constantes para evitar la pérdida de datos, y mantenernos al día con las actualizaciones y patches de los sistemas. Entrenar a nuestros empleados, fomentar la concienciación y transmitirles la importancia de detectar los posibles ataques dirigidos a ellos, como el phishing. Realizar auditorías de seguridad y pruebas de vulnerabilidad para conocer las puertas de entrada a nuestros sistemas.

(www.pandasecurity.com)

Descripción del ataque

NoSQL Injection resulta ser una de las vulnerabilidades de la seguridad informática que hace que un atacante logre tomar el control de las consultas de las bases de datos porque algún usuario realizo la entrada de forma insegura y hacer. -Exponer información no autorizada-Modificar datos-Escalar privilegios-Retira toda tu solicitud (www.petecorey.com) Sistemas afectados Páginas web. Consultas Base de datos NoSQL. Lenguajes de aplicación. (hackinglethani.com) Impacto

Las llamadas a bases de datos NoSQL se pueden escribir con su propio lenguaje de aplicación o formatearse por medio de XML, JSON, LINQ, JAVASCRIPT es más rápido la injección por el uso de caracteres especiales, se realizan en la capa de aplicación o en las bases de datos. (security.stackexchange.com) Ejemplo de ataque

Autenticar un usuario con sus datos. db.accounts.find({nombreusuario: nombreusuario, clave: clave}); entrada JSON. { " nombreusuario": "administrador", "clave": {$gt: ""}

}

(www.owasp.org) Prevención

Es necesario la validación de entradas evitando los códigos maliciosos retirando privilegios de administrador o a los sistemas operativos que tiene a cargo la base de datos. (https://www.owasp.org) Redis Página oficial: https://redis.io/ Redis es un motor de base de datos que almacena los mismos en estructuras clave-valor. Para guardar un dato en la base de datos, debemos darle una clave y un valor como mostramos a continuación: redis.set("alguna_clave", "algun_valor"); Ahora, imaginemos que la aplicación toma la clave por parámetro ya que el valor está seteado por defecto redis.set( parametro_clave, "valor_por_defecto" ) En un escenario normal, parametro_clave será un string y el set de datos se guardará correctamente como una estructura clave valor. Pero ¿qué pasaría si parametro_clave no es un string y es por ejemplo un array? parametro_clave = ["clave_maligna", "valor_maligno"] La sentencia quedaría redis.set( ["clave_maligna", "valor_maligno"], "valor_por_defecto" ) Cuando el motor de base de datos Redis proceso esto, entiende que clave_maligna es la clave y valor_maligno es el valor por lo que guarda estos y descarta valor_por_defecto. De esta manera podemos insertar y actualizar datos dentro de la base de datos. (labsys.frc.utn.edu.ar) Descripción del ataque

MongoDB Injection: Es muy similar SQL injeccion solo que ella realiza afectaciones a la colección alterándola justo donde se realiza las consultas y devolviendo el contenido de la base de datos MongoDB.

(blogthinkbig.com) Sistemas afectados

Todas las consultas en bases de datos MongoDB.

(blogthinkbig.com) Impacto

Dicho ataque se encuentra en capacidad de los registros de las bases de datos de MongoDB buscando la forma de vulnerabilidad específicamente donde pueda alterar los registros pues puede actualizar objetos y claves anidadas vulnerando por completo la base de una organización.

(blogthinkbig.com) Ejemplo de ataque

en PHP es posible realizar una inyección muy similar a la clásica inyección SQL, alterando la consulta de manera que devuelva todo el contenido de una colección. Imaginemos la típica consulta de credenciales que hay tras un login. En SQL, sería algo como lo que sigue: SELECT * FROM tUsers WHERE username = ‘username’ AND password = ‘password’

La consulta equivalente en MongoDB sería: $collection -> find(array( “username” => $_GET[‘username’], “password” => $_GET[‘password’] )); El problema es que PHP permite pasarle objetos al driver de MongoDB, sin que tengan que ser necesariamente strings. Explotando esta vulnerabilidad, podemos pasar un objeto que fuerce una condición “true” y provoque el volcado de la colección. Por ejemplo, enviando una petición como esta: login.php?username=administrador&password[$ne]=1 Obtendríamos una consulta interna de esta forma: $collection -> find(array( “username” => “administrador” “password” => array(“$ne” => 1) ));

Esta consulta devuelve las credenciales de todos los usuarios cuyo nombre de usuario y contraseña sea distinto (“not equal”, $ne) de 1, condición que probablemente cumpla cualquier contraseña. (https://empresas.blogthinkbig.com) Prevención

En enero del 2017, MongoDB había publicado una serie de lineamientos para sus usuarios, asegurándoles que estarían a salvo si usaban las medidas de seguridad integradas en su servicio. Utilizar criptografía en sus bases de datos Desinfección de las entradas de los equipos

(www.welivesecurity.com)

2. NORMATIVIDAD, ESTÁNDARES, O BUENAS PRÁCTICAS PARA ASEGURAMIENTO DE BASES DE DATOS

Norma, estándar o buena practica

Controles de seguridad críticos de CIS Sitio de consulta www.sans.org/critical-security-controls Descripción

Los controles de seguridad críticos de CIS son un conjunto de acciones recomendadas para la defensa cibernética que proporcionan formas específicas y procesables para detener los ataques más penetrantes y peligrosos de la actualidad. UU., Organizaciones de aplicación de la ley y algunas de las principales organizaciones forenses y organizaciones de respuesta a incidentes de la nación, para responder a la pregunta tenemos que hacer para detener los ataques conocidos. La clave del valor continuo es que los controles se actualizan en función de los nuevos ataques identificados y analizados por grupos de Verizon a Symantec para que los controles puedan detener o mitigar esos ataques. Los controles toman los mejores datos de amenazas de su clase y los transforman en una guía práctica para mejorar la seguridad individual y colectiva en el ciberespacio. Efectividad

Los controles tienen como característica principal su enfoque hacia la priorización de las funciones de seguridad, que han mostrado efectividad para la mitigación de riesgos, lo que indica qué debería realizarse primero, dentro de una lista relativamente pequeña de acciones. Para llevar un control se presenta una descripción de su importancia en cuanto a la forma de identificar o bloquear la presencia de ataque, así como la forma en la que un atacante podría aprovechar la ausencia de este control. El CSC también considera procedimientos y herramientas que permiten su implementación y automatización, así como métricas y pruebas que permiten evaluar el estado de la implementación y su efectividad.

(www.welivesecurity.com) Norma, estándar o buena practica

PTES (Estándar de ejecución de pruebas de penetración). Sitio de consulta

http://www.pentest-standard.org/index.php/Main_Page Descripción

Estos cubren todo lo relacionado con una prueba de penetración, desde la comunicación inicial y el razonamiento detrás de un pentest, hasta las fases de recopilación de inteligencia y modelado de amenazas donde los evaluadores trabajan detrás de escena para obtener una mejor comprensión de la organización

probada, a través de la investigación de vulnerabilidades, explotación y post explotación, donde la experiencia técnica en seguridad de los evaluadores juega y se combina con la comprensión comercial del compromiso, y finalmente con la presentación de informes, que captura todo el proceso, de una manera que tiene sentido para el cliente y proporciona más valor para ello. Efectividad

Está en proceso de implementación y según los directivos la idea es crear un estándar real para que las empresas puedan tener una línea base de lo que se necesita cuando obtienen un pentest, así como una comprensión de qué tipo de pruebas requieren o aportarían valor a su negocio. Norma, estándar o buena practica ISO 27001 Sitio de consulta

https://www.normas-iso.com/iso-27001/ Descripción

ISO 27001 es una norma internacional emitida por la Organización Internacional de Normalización y describe cómo gestionar la seguridad de la información en una empresa. La primera revisión se publicó en 2005 y fue desarrollada en base a la norma británica BS 7799-2. Está redactada por los mejores especialistas del mundo en el tema y proporciona una metodología para implementar la gestión de la seguridad de la información en una organización. Efectividad

Está enmarcada en la evaluación y riesgos de una organización, es necesario aclarar que para ataques en las bases de datos no es tan efectiva o no está diseñada para que en caso de sufrir vulnerabilidad tome dediciones como si sucede con las otras consultadas peo es necesario implementarla ya que como norma es fundamental cuando vamos a implementar u sistema SGCI.

3. ELECCION DE LA ESTRATEGIA A IMPLEMENTAR

. Motor de base de datos seleccionado en la etapa 1, para dar solución al caso problema

MYSQL Normas, estándares o buenas prácticas a implementar en la solución al caso practico

Controles de seguridad críticos de CIS Componentes o dominios a implementar

Inventario de Dispositivos autorizados y no autorizados Uso controlado de privilegios administrativos Configuración segura para hardware y software en dispositivos móviles, computadoras portátiles, estaciones de trabajo y servidores Gestión continua de vulnerabilidades Uso controlado de privilegios administrativos Justificación

Se ha seleccionado este estándar desde la unidad 1 por tener más conocimiento sobre él y en la aplicación del problema, Es importante ya que se encuentra buena información relacionada con el desarrollo e implementación de bases de datos relacionales y por ser de código abierto, además cuenta con accesos remotos necesarios para la fusión de la compañía y ver sus transacciones en línea para dicho escenario es necesario tener en cuenta los CIS con sus protocolos básicos de buenas prácticas y protección de la información dando garantía pues son controles que cada día se van actualizando y verificando los nuevos tipos de ataques cibernéticos.

CONCLUSIONES

Apartar de la investigación sobre los ataques en bases de datos relacionales y no y relacionales se logra establecer que debido a su configuración las primeras ofrecen una mayor seguridad a la hora de que se realicen ataques, las segundas poseen una mayor capacidad de almacenamiento por sus formas elásticas y horizontes. Es necesario a la hora de la configuración de las bases e datos establecer las políticas actualizadas, Normas y estándares para obtener una buena seguridad en la información y seguridad en los sistemas establecidos. La interpretación de los ataques en las diferentes formas hace que como profesionales logremos un concepto claro de cómo enfrentarnos a ellos y tener las herramientas para contrarrestarlos sea en la vida laboral como en al personal.

Referencias .onasystems.net. (25 de junio de 2019). vulnerabilidades importantes que afectan la seguridad de bases de datos en las empresas. Recuperado el 26 de septiembre de 2019, de .onasystems.net cert-py. (2019). Guía de Controles Críticos de Ciberseguridad. Paraguay: Nacional de las tecnoligias. Recuperado el 23 de septiembre de 2019, de https://www.cert.gov.py ecured.com. (2019). Ataque informático. Recuperado el 21 de septiembre de 2019, de https://www.ecured.cu/ muyseguridad. (2019). ransomware Cerber ha empezado a atacar bases de datos. Recuperado el 26 de septiembre de 2019, de https://www.muyseguridad.net owasp. (2019). https://www.owasp.org. Recuperado el 20 de septiembre de 2019, de https://www.owasp.org Ruiz, G. (2019). Los 10 Principales Riesgos de Seguridad según OWASP – Parte I. Seguri blog. Recuperado el 24 de septiembre de 2019, de https://blog.sucuri.net/ seguridadpcs.wordpress. (2019). Defensas contra el ataque man-in-the-middle. Recuperado el 24 de septiembre de 2019, de https://seguridadpcs.wordpress.com www.akamai.com. (16 de febrero de 2019). ataques de injecion sql. Recuperado el 21 de septiembre de 2019, de www.akamai.com www.avast. (2019). Ransomware. Recuperado el 25 de septiembre de 2019, de https://www.avast.com