Está en la página 1de 3

Problemas asociados a la agrupación de datos

Datos, la base de todo análisis que se quiere realizar, sin ellos no podríamos predecir

patrones para hacer las cosas mejor en el futuro y es aquí, cuando queremos encontrar

patrones para que puedan predecir variables que nos podrían traer beneficios donde

interviene la implementación de SQL para el análisis contenido en una base de datos. La

mayoría de las páginas web que se desarrollan en la actualidad hacen uso de una base de

datos para ofrecer páginas dinámicas y almacenar información tanto de los usuarios

como de la propia herramienta, datos a los que se accede por medio del lenguaje SQL,

un lenguaje para interaccionar con bases de datos relacionales.

El uso de SQL ha traído consigo la aparición de una de las vulnerabilidades más

peligrosas a la que nos podemos enfrentar. Nos estamos refiriendo al ataque por

inyección de código SQL, una vulnerabilidad que no sólo pone en riesgo la integridad

de la aplicación, sino de todos los datos almacenados de los usuarios que la utilicen, y

que se produce cuando no se filtra de forma correcta la información enviada por los

usuarios. Según Hostalia (2013)"Un ataque por inyección de SQL Consiste en la

inserción de código SQL por medio de los datos de entrada desde la parte del cliente

hacia la aplicación o página web". Es decir, por medio de la inserción de este código el

atacante puede modificar las consultar originales que debe realizar la aplicación o

página web y ejecutar otras totalmente distintas con la intención de acceder a la

herramienta, obtener información de alguna de las tablas o borrar los datos

almacenados, entre otras muchas cosas. La vista conceptual está basada en el esquema

conceptual y su construcción se hace en la primera fase del diseño de una base de datos.

Los usuarios, incluyendo a los programadores de aplicaciones, observan los datos a

través de un esquema externo definido a nivel externo. La vista externa proporciona una
ventana a la vista conceptual lo cual permite a los usuarios observar únicamente los

datos de interés y los aísla de otros datos en la base de datos.

Como consecuencias de estos ataques y dependiendo de los privilegios que tenga el

usuario de la base de datos bajo el que se ejecutan las consultas, se podría acceder no

sólo a las tablas relacionadas con la aplicación o página web, sino también a otras tablas

pertenecientes a otras bases de datos alojadas en ese mismo servidor. Arquitecturas nada

compartido. Consiste de diversos procesadores cada uno con su propia memoria y su

propia unidad de almacenamiento. Aquí se tienen los clusters de estaciones de trabajo,

las computadoras Intel Paragon, NCR 3600 y 3700 e IBM SP2. Puede existir cualquier

número de vistas externas y ellos pueden ser completamente independientes o

traslaparse entre sí. El esquema conceptual se mapea a un esquema interno a nivel

interno, el cual es el nivel de descripción más bajo de los datos en una base de datos.

Este proporciona una interfaz al sistema de archivos del sistema operativo el cual es el

responsable del acceso a la base de datos. El nivel interno tiene que ver con la

especificación de qué elementos serán indexados, qué técnica de organización de

archivos utilizar y como los datos se agrupan en el disco mediante "clusters" para

mejorar su acceso. Desafortunadamente, no existe un equivalente de una arquitectura

estándar para sistemas de manejo de bases de datos distribuidas. La tecnología y

prototipos de SMBDD se han desarrollado más o menos en forma independiente uno de

otro y cada sistema ha adoptado su propia arquitectura. Prevenir este tipo de ataques se

crean herramientas, pero es muy complicado crear una herramienta totalmente segura.

La falta de tiempo y que se necesita la presencia de varios programadores para su

desarrollo, son factores que juegan en contra de la seguridad que se está buscando. A

pesar de estos inconvenientes, siempre se pueden tomar medidas de seguridad que nos

ayuden a desarrollar aplicaciones o páginas web más fuertes, ajenas a este tipo de
problemas. Una de las soluciones que propongo es la de delimitar los valores de las

consultas, según Hostalia (2013) " Aunque el valor de la consulta sea un entero, es

aconsejable delimitarlo siempre entre comillas simples. Una instrucción SQL del tipo:

SELECT nombre FROM usuarios WHERE id_user = $id Será mucho más fácilmente

inyectable que: SELECT nombre FROM usuarios WHERE id_user = ‘$id’".

Para finalizar es importante mencionar que SQL es un lenguaje de uso popular que

contribuye a los análisis de datos significativamente y si estamos al tanto de sus

beneficios y también de sus carencias y posibles vulnerabilidades, podremos sacarle el

mayor provecho posible cuando tomemos la decisión de utilizarlo.

Conteo total de palabras: 782 palabras

Bibliografía

Arquitectura de nada compartido (SSAS). (2021, 13 septiembre). Microsoft.

Recuperado 29 de junio de 2022, de

https://docs.microsoft.com/es-es/analysis-services/data-mining/data-mining-ssas?

view=asallproducts-allversions#:~:text=SQL%20Server%20En%20la%20miner

%C3%ADa,y%20clasificadores%20de%20Bayes%20naive.

Bases de datos compartidas. (2013, 26 diciembre).Mis 515. Recuperado 29 de junio de

2022, de https://cursos.aiu.edu/Base%20de%20Datos%20Distribuidas/pdf/Tema

%201.pdf

También podría gustarte