Você está na página 1de 4

Ataque de denegación de servicios DDoS

SQL INYECCION
Un ataque de denegación de servicios, también llamado ataque DDoS (de las siglas en inglés
Denial of Service), es un ataque a un sistema de computadores o red que causa que un servicio o
recurso sea inaccesible a los usuarios legítimos. Normalmente provoca la pérdida de la
conectividad de la red por el consumo de la transferencia de información (ancho de banda) de la
red de la víctima.

Se genera mediante la saturación de los puertos con flujo de información, haciendo que el o los
servidores se sobrecarguen y no puedan seguir prestando servicios, por eso se le denomina
“denegación”, pues hace que el servidor no dé abasto a la cantidad de solicitudes. Esta técnica es
usada por los llamados hackers para dejar fuera de servicio a servidores objetivo.

Cualquier organización es una posible víctima y la mayoría de nosotros somos vulnerables a los
ataques DDoS. Tanto si se trata de una empresa global, una agencia gubernamental o una pyme,
todas ellas están dentro de la lista de objetivos de los ciberdelincuentes actuales. Incluso las
empresas más seguras, con una gran inversión de recursos y expertos en seguridad han sido
víctimas de estas amenazas.

Los criminales utilizan DDoS ya que es barato, difícil de detectar, y altamente efectivo. Los ataques
por DDoS son baratos ya que pueden proporcionar redes distribuidas de cientos de ordenadores
zombies infectados con gusanos u otro tipo de métodos automáticos. Por ejemplo, los ataques
DDoS de MyDoom utilizaron un gusano para distribuir el lanzamiento de un ataque por flujos.

Los ataques DDoS son difíciles de detectar ya que a menudo utilizan conexiones normales e imitan
el tráfico autorizado normal. Como resultado es altamente efectivo ya que normalmente los
servidores objetivos confían por error en el tráfico y, por tanto, facilitan los ataques ejecutando la
solicitud que en última instancia los inunda.

¿Cómo le daría solución a estas amenazas?

Se debe revisar la configuración de Routers y Firewalls para


detener IPs inválidas así como también el filtrado de protocolos que
no sean necesarios. Algunos firewalls y routers proveen la opción de
prevenir inundaciones (floods) en los protocolos TCP/UDP.
Además es aconsejable habilitar la opción de logging (logs) para
llevar un control adecuado de las conexiones que existen con dichos
routers.
Otras de las alternativas que se deben tener en cuenta es la solicitud
ayuda al Proveedor de Servicios de Internet (ISP). Esto puede
ayudar a bloquear el tráfico más cercano a su origen sin necesidad
de que alcance a la organización.

¿Qué controles implementaría para disminuir los riesgos ocasionados por las posibles amenazas?

 Limitar la tasa de tráfico proveniente de un único host.


 Limitar el número de conexiones concurrentes al servidor.

 Restringir el uso del ancho de banda por aquellos hosts que


cometan violaciones.

 Realizar un monitoreo de las conexiones TCP/UDP que se llevan a


cabo en el servidor (permite identificar patrones de ataque).

¿QUÉ ES UNA INYECCIÓN SQL?

Un ataque de inyección de SQL es un ataque que va dirigido a subvertir la intención original de la


solicitud mediante la presentación suministrada por el atacante sentencias SQL directamente en la
base de datos. Dependiendo de la aplicación web, y cómo procesa los datos suministrados por el
atacante antes de la construcción de una sentencia SQL, un exitoso ataque de inyección SQL puede
tener implicaciones de largo alcance, que van de derivación de autenticación para la divulgación de
información para facilitar la distribución de código malicioso a los usuarios de la aplicación.

TIPOS DE INYECCION SQL

Hay una serie de tipos de inyección SQL clasificadas en base a las vulnerabilidades que aprovechan,
estas son:

 Cadenas mal filtradas


 Incorrecta manipulación de tipo
 Evasion de Firma
 Blind SQL Injection

CADENAS MAL FITRADAS

Inyecciones de SQL se basan en cadenas mal filtrados son causados por la entrada del usuario que
no se filtra para caracteres de escape. Esto significa que un usuario puede introducir una variable
que se puede pasar como en una instrucción SQL, lo que resulta en la manipulación de entrada de
base de datos por el usuario final.

INCORRECTA VERIFICACION DE TIPO

Una incorrecta verificación de tipo ocurre cuando una entrada no está marcada por limitaciones de
tipo. Un ejemplo de esto sería un campo de ID que es numérico, pero que no hay filtrado en su
lugar para comprobar que la entrada del usuario es numérico. is_numeric () siempre se debe
utilizar cuando el tipo de campo que se supone explícitamente a ser un número.

EVASION DE FIRMA

Muchas de las inyecciones SQL serán bloqueados por los sistemas de detección y prevención de
intrusiones de intrusos utilizando las reglas de detección de firmas. Programas comunes que
detectan las inyecciones SQL son mod_security para Apache y Snort. Estos programas no son a
toda prueba y por lo tanto, las firmas pueden ser evadidas.
BLIND SQL INJECION

Estas inyecciones se conocen como inyecciones SQL a ciegas. Entre ellas se clasifican entre
Inyecciones parcialmente ciegas y totalmente ciegas. Las Inyecciones parcialmente ciegas se
pueden ver pequeños cambios en la página de resultados, por ejemplo, una inyección deficiente
puede redirigir el atacante a la página principal, donde si tiene éxito devolverá una página en
blanco.

¿Cómo le daría solución a estas amenazas?

Se pueden mencionar dos formas de defenderse contra los ataques de inyección SQL, como son:

 Los enfoques primarios incluyen la validación de los datos suministrados por el usuario, en
forma de lista blanca o lista negra
 La construcción de sentencias SQL de forma que los datos proporcionados por el usuario
no pueden influir en la lógica de la declaración.

¿Qué controles implementaría para disminuir los riesgos ocasionados por las posibles amenazas?

Cuando la aplicación con que se cuenta esta programada en java, para un ataque sqli, se debe
tener en cuenta lo siguiente:

 Todas las consultas deben ser parametrizadas


 Todo dato dinámico debe ser vinculado explícitamente a las consultas parametrizadas
 La concatenación de cadenas (variables alfanuméricas) nunca debe usarse para generar sql
dinámico
 Cuando se deba generar sql dinámico valide todas las entradas que conformaran la parte
de la sentencia sql de manera que no se puedan inyectar subconsultas o modificaciones a
la consulta original

BIBLIOGRAFIA:

https://www.internetya.co/ataques-de-denegacion-de-servicio-ddos-un-riesgo-real/

https://fluidattacks.com/web/es/defends/java/prevenir-sqli/

Você também pode gostar