Anda di halaman 1dari 6

Bastin Vliz Vega 1 Anlisis de las vulnerabilidades en bases de datos Introduccin La seguridad es uno de los aspectos que no podemos

dejar de considerar al relacionarnos con la informtica y computacin. Un ejemplo de esto, son los sistemas computacionales que manejan los datos en archivos de computadora, a los que podran tener fcil acceso un gran nmero de personas y grupos externos. Por ello, esa informacin puede es ms susceptible a destruccin, fraude, error y abuso. Cuando los sistemas computacionales fallan o no funcionan debidamente, las empresas que tienen una dependencia importante de stos pueden experimentar una grave prdida de su capacidad operativa. Las bases de datos poseen un papel fundamental en los sistemas computacionales, ya que es uno de los pilares que permite, entre otras cosas, manejar grandes cantidades de datos para su posterior transformacin en informacin. Esta informacin, si no es bien resguardada, puede ser utilizada con otros fines diferentes a los originales. Entonces, Las bases de datos son seguras por s solas? Cules son las formas de vulnerar un sistema computacional usando la base de datos como objetivo de un ataque? Cmo afectan estas fallas a un sistema computacional? Variados problemas han afectado a diferentes instituciones que han visto vulnerados sus sistemas de seguridad y publicada informacin de gran importancia. Los afectados van desde pginas web comunes y corrientes, bancos y hasta misma pgina de MySQL [2]. Para poder responder a la pregunta anterior debemos ubicarnos en el contexto de un sistema computacional inseguro, que es susceptible a sufrir ciertos ataques. Seleccionaremos, en primer lugar, algunas las vulnerabilidades que poseen las bases de datos de ese sistema, cmo lo afectan y qu se ha hecho para solucionar las problemticas generadas. El ensayo se estructurar en 2 partes: Tipos de Vulnerabilidades y Anlisis de las Vulnerabilidades. Primero, de todas las fallas que existen, centraremos nuestra atencin en tres que afectan principalmente a las bases de datos relacionales, las cuales son: Inyeccin SQL Ataque Distribuido de Denegacin de Servicio Desbordamiento de Buffer

Se har una descripcin de cada una, luego se harn comentarios respecto al origen de la falla y la forma en que se explota la vulnerabilidad.

Bastin Vliz Vega 2 Anlisis de las vulnerabilidades en bases de datos Tipos de Vulnerabilidades Como todo sistema, las bases de datos no son perfectas y poseen ciertos fallos que pueden ser explotados, ya sea con fines de deteccin de vulnerabilidades o derechamente con fines maliciosos. Describiremos a continuacin cada uno de los 3 anteriormente nombrados. Inyeccin SQL(SQLi) Consiste en la insercin de cdigo malicioso a una sentencia SQL en tiempo de ejecucin. Si esto no se controla puede permitir a un usuario externo acceder a gran cantidad de informacin que puede ser usada con fines maliciosos. Una variante de este ataque es el Blind SQL Injection (ataque a ciegas) que utiliza fuerza bruta y/o diccionarios. Hay variados tipos de ataques de inyeccin SQL, de los cuales se ha seleccionado [1]: Tautologas: Insertan al cdigo malicioso una expresin que siempre dejar como verdadera a la consulta. Ejemplo: SELECT * FROM autores WHERE nombre='lalala' OR '1'='1'; Consultas incorrectas: Se aprovecha el mensaje de error que entrega la base de datos al realizar una consulta incorrecta para luego preparar ataques ms elaborados. Esta vulnerabilidad se encuentra principalmente en sitios web que poseen en sus URL parmetros que se le pasan como variable a las bases de datos. Ejemplo: URL Original: http://www.arch.polimi.it/eventi/?id_nav=8864 URL Modificada: http://www.arch.polimi.it/eventi/?id_nav=8864' Mensaje de Error: SELECT nome FROM navigazione_sito_poli.Navigazione WHERE id = 8864\' Consultas sobrecargadas: Se utiliza el delimitador ';' para luego insertar una consulta con cdigo malicioso. Ejemplo: SELECT nombre from articulo where id='57'; DELETE TABLE nombre;

Bastin Vliz Vega 3 Anlisis de las vulnerabilidades en bases de datos Ataque Distribuido de Denegacin de Servicio Un ataque de denegacin de servicio (DoS) es el que est diseando de manera tal que no permite a una computadora proporcionar los servicios que normalmente entrega. Se produce debido a que un usuario bloquea el acceso o recursos a un equipo en red. [3] [4] Un ataque distribuido de denegacin de servicio (DDoS) es un ataque coordinado que aade la dimensin muchos a uno a un ataque DoS. Se compone de cuatro elementos los cuales son: Equipo Maestro: Coordina el ataque. Equipos Demonios: Dirigen el ataque hacia la vctima Atacante real: Maneja el equipo maestro. Vctima que recibe el ataque.

En las bases de datos se utiliza combinndose con la Inyeccin SQL, en donde se agrega un cdigo externo a una orden SQL que hace que el servidor aumente considerablemente su carga y tiempo de respuesta hasta lograr la Denegacin de Servicio. Desbordamiento de Buffer Es un error de software que involucra acceso a memoria que no pertenece al buffer (memoria reservada) del programa. [5] Se producen cuando se intenta almacenar datos en un espacio que no es suficientemente grande. Algunos lenguajes de programacin, como C y C++, no realizan ningn tipo de comprobacin para evitar este hecho. Si por ejemplo intentamos colocar 100 bytes en un arrary que tiene slo reservado 25 bytes, esos 75 bytes extra sobrescribirn otro espacio de memoria. En la bases de datos se explota mediante consultas SQL de extensin muy grande, las cuales pueden producir muchos problemas generalmente en entornos UNIX.

Bastin Vliz Vega 4 Anlisis de las vulnerabilidades en bases de datos Anlisis de la Vulnerabilidades En las fallas descritas anteriormente observamos que la inyeccin SQL toma un papel importante. Los ataques por SQLi son los que tienen de cabeza, por ejemplo, a los desarrolladores web, que generalmente por no tomar las medidas del caso producen estas aberturas que les permite a agentes externos acceder a las bases de datos de sus pginas y as obtener informacin. Por lo mismo, el prevenir ataques SQLi se torna en algo de suma importancia para alguien que administra o posee un sistema computacional. Esto se debe a que se utiliza de una u otra forma para poder perpetrar ataques ms sofisticados. Anteriormente pudimos apreciar que los ataques DDOS y de desbordamiento de buffer estn relacionados de manera muy cercana a los ataques SQLi, de hecho, el mtodo de ejecucin de estos ataques depende de una inyeccin de cdigo malicioso. Es por esto, que el foco tiene que centrarse en aumentar la proteccin para evitar ser vctimas de ataques SQLi, ya que con esto se puede estar previniendo a la vez gran parte de los otros ataques que pueden ser ejecutados en una base de datos. Principalmente, son los desarrolladores del sistema computacional los responsables de mantener los parmetros de seguridad apropiados para que las bases de datos de ste estn protegidas, reduciendo las vulnerabilidades al mnimo. Otro aspecto a explorar, desde el punto de vista empresarial, es el de la inversin en herramientas tales como antivirus, firewalls o implementacin de polticas que vayan en pro de mejorar la seguridad del sistema. Esto a la larga puede generar un retorno en la inversin hecha, ya que se estaran evitando las perdidas que genera un sistema computacional que no esta operativo. Para los casos de Ataques DDOS o de desbordamiento de Buffer es una herramienta adicional que, sumado a la prevencin de ataques SQLi, ayuda a mantener seguro y estable al sistema.

Bastin Vliz Vega 5 Anlisis de las vulnerabilidades en bases de datos Conclusiones

Las bases de datos no son seguras por s solas, necesariamente se requiere un blindaje por parte del desarrollador. Muchas veces, los errores relacionados a stas se producen por una negligencia del programador que no fue capaz de tomar las medidas necesarias o simplemente no pudo prevenir que el sistema estaba vulnerable a este tipo de ataques. Las buenas prcticas, tales como el revisar las consultas antes de ejecutarlas o comprobar que el tipo de dato utilizado en una sentencia sea el correcto, entre otros, puede ser un elemento diferenciador al momento de referirse a seguridad. Como se vio en pginas anteriores las formas de vulnerar un sistema computacional a travs de una base de datos son variadas. Sin embargo, destacamos por sobre las dems a los ataques por Inyeccin SQL, los cuales utilizados de diferentes formas permiten realizar otros ataques ms complejos. Por ejemplo, los DDOS y desbordamiento de buffer en bases de datos dependen en gran medida de un ataque SQLi. . El como afectan estas fallas a un sistema dependen netamente de lo que el atacante quiera y pueda realizar sobre la base de datos. Esto puede ser desde la extraccin de informacin privilegiada, la alteracin de datos dentro de una seccin determinada hasta la prdida total de la informacin o el no poder acceder al sistema. Para sistemas mas complejos que requieren de mayor proteccin, se puede hacer necesaria la inversin en sistemas de seguridad adicionales a la simple prevencin que puede hacer un programador con respecto al desarrollo del sistema.

Bastin Vliz Vega 6 Anlisis de las vulnerabilidades en bases de datos Referencias: [1] Atefeh Tajpour , Maslin Masrom , Mohammad Zaman Heydari , Suhaimi Ibrahim SQL Injection Detection and Prevention Tools Assessment Computer Science and Information Technology (ICCSIT), 2010 3rd IEEE International Conference on 10.1109/ICCSIT.2010.5563777 [2] Simon LR MySQL.com Database Compromised By Blind SQL Injection http://techie-buzz.com/tech-news/mysql-com-database-compromised-sql-injection.html [3]Christos Douligeris, Aikaterini Mitrokotsa DDOS ATTACKS AND DEFENSE MECHANISMS: A CLASSIFICATION Signal Processing and Information Technology, 2003. ISSPIT 2003. Proceedings of the 3rd IEEE International Symposium on 10.1109/ISSPIT.2003.1341092 [4]Felix Lau, Stuart H. Rubin , Michael H. Smith , Ljiljana TrajkoviC Distributed Denial of Service Attacks Systems, Man, and Cybernetics, 2000 IEEE International Conference on 10.1109/ICSMC.2000.886455 [5]MIchal Drozd, Maros Barabas, Matej Gregr, Petr Chmelar Buffer Overflow Attacks Data Acquisition Intelligent Data Acquisition and Advanced Computing Systems (IDAACS), 2011 IEEE 6th International Conference on 10.1109/IDAACS.2011.6072875

Anda mungkin juga menyukai